Browse Source

feat: 补充头部下拉

main
xuziqiang 4 months ago
parent
commit
576f313b2f
  1. 17
      hx-ai-intelligent/src/config/app.config.ts
  2. 12
      lib/saas/view/system/layout/header.vue
  3. 2
      lib/saas/view/system/layout/tags.vue
  4. 6
      lib/use/use-action.ts

17
hx-ai-intelligent/src/config/app.config.ts

@ -1,6 +1,8 @@
/** @format */
import { dateUtil } from '/nerv-lib/util/date-util';
import mockResource from './resource.json';
import { ref } from 'vue';
const value = ref('1');
export const appConfig = {
projectType: 'web',
@ -16,6 +18,21 @@ export const appConfig = {
// },
// customUpdatePwd: () => import('/@/view/updatePassword/updatePassword.vue'),
headerSlotConfig: {
component: 'NsSelect',
componentProps: {
style: { width: '200px' },
placeholder: '请选择',
value,
onChange: (cur) => {
value.value = cur;
},
options: [
{ label: '济阳', value: '1' },
{ label: '临沂', value: '2' },
],
},
},
timeout: 60 * 1000,
userLoginApi: () => {
return {

12
lib/saas/view/system/layout/header.vue

@ -9,6 +9,9 @@
style="width: 192px; height: 48px; object-fit: contain" />
<ns-icon v-else name="headerLogin" class="headerLogin" style="width: auto; height: 48px" />
</div>
<div>
<component :is="headerSlot.component" v-bind="headerSlot.componentProps" />
</div>
<div class="header-menu">
<a-menu style="width: 100%" mode="horizontal" :selectedKeys="initHeaderKey">
<a-menu-item v-for="item in menuList" :key="item.name">
@ -157,6 +160,7 @@
import { SettingOutlined, CheckOutlined } from '@ant-design/icons-vue';
import { messagecount } from '/nerv-lib/saas/store/modules/messagecount';
import { storeToRefs } from 'pinia';
// import { appConfig } from '/@/config/app.config.ts';
export default defineComponent({
name: 'NsHeader',
components: {
@ -170,7 +174,12 @@
},
setup: (props: any) => {
const configStore = appConfigStore();
const { getThemeConfig: themeConfig } = storeToRefs(configStore);
console.log(configStore.headerSlotConfig);
const headerSlot = computed(() => {
return configStore.headerSlotConfig;
});
const { getHeaderBellInfo: headerBellInfo } = storeToRefs(configStore);
const messagecountStore = messagecount();
const bellInfo = ref();
@ -377,6 +386,7 @@
dropOut,
getOPMenu,
configStore,
headerSlot,
};
},
beforeUnmount() {
@ -437,7 +447,7 @@
padding: 0;
position: fixed;
top: 0;
z-index: 505;
z-index: 5;
width: 100%;
background-image: url(/asset/image/header.png);
background-size: 100% 100%;

2
lib/saas/view/system/layout/tags.vue

@ -285,7 +285,7 @@
align-items: center;
position: fixed;
top: 48px;
z-index: 505;
z-index: 2;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.nav-shutters-collapsed {

6
lib/use/use-action.ts

@ -324,7 +324,11 @@ export function useAction(actionParams: actionParams = {}) {
if (handleList.route) return handleList.route();
if (handleList.api) await handleList.api();
// handleList.api && showSuccess !== false && NsMessage.success(`${label}成功`);
if (handleList.handle) await handleList.handle(data, name, { ...extraData });
try {
if (handleList.handle) await handleList.handle(data, name, { ...extraData });
} catch (error) {
console.log(error);
}
if (isReload) {
isFunction(reload) && reload();
}

Loading…
Cancel
Save