173 lines
4.6 KiB
TypeScript
173 lines
4.6 KiB
TypeScript
import { useMessage } from '@/hooks/web/useMessage';
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
|
// utils.ts
|
|
let c_formModalVisible: Boolean = false;
|
|
let c_isUpdate = true;
|
|
let c_isDetail = true;
|
|
let c_getTitle = '';
|
|
let c_primaryQuery = '';
|
|
let c_addQuery: any = [];
|
|
let c_formColumns: any = [];
|
|
let c_tabsColumns: any = [];
|
|
let c_flowCode = '';
|
|
let c_formData = {};
|
|
let c_subTableId = null;
|
|
let c_subTableColumns: any = [];
|
|
let c_subTableData: any = [];
|
|
let c_subTableList: any = [];
|
|
let c_scrollValue = '';
|
|
let c_cardLayout: any = [];
|
|
let c_createOrModifyList: any = [];
|
|
let c_buttonLayout: any = [];
|
|
|
|
const { createMessage } = useMessage();
|
|
const userStore = useUserStore();
|
|
const userInfo: any = userStore.getUserInfo;
|
|
|
|
// 通过field获取组件
|
|
function getComponentByFiled(data: string): any {
|
|
return c_formColumns.find(item => item.field === data);
|
|
};
|
|
|
|
export const utils = {
|
|
setCallModalData: function setCallModalData(data: any) {
|
|
c_formModalVisible = data.formModalVisible.value;
|
|
c_isUpdate = data.isUpdate.value;
|
|
c_isDetail = data.isDetail.value;
|
|
c_getTitle = data.getTitle.value;
|
|
c_primaryQuery = data.primaryQuery.value;
|
|
c_addQuery = data.addQuery.value;
|
|
c_formColumns = data.formColumns.value;
|
|
c_tabsColumns = data.tabsColumns.value;
|
|
c_flowCode = data.flowCode.value;
|
|
c_formData = data.formData;
|
|
c_subTableId = data.subTableId.value;
|
|
c_subTableColumns = data.subTableColumns.value;
|
|
c_subTableData = data.subTableData.value;
|
|
c_subTableList = data.subTableList.value;
|
|
c_scrollValue = data.scrollValue.value;
|
|
c_cardLayout = data.cardLayout.value;
|
|
c_createOrModifyList = data.createOrModifyList.value;
|
|
c_buttonLayout = data.buttonLayout.value;
|
|
},
|
|
formModalVisible: (): Boolean => {
|
|
return c_formModalVisible;
|
|
},
|
|
isUpdate: (): Boolean => {
|
|
return c_isUpdate;
|
|
},
|
|
isDetail: (): Boolean => {
|
|
return c_isDetail;
|
|
},
|
|
getTitle: (): string => {
|
|
return c_getTitle;
|
|
},
|
|
primaryQuery: (): string => {
|
|
return c_primaryQuery;
|
|
},
|
|
addQuery: (): any => {
|
|
return c_addQuery;
|
|
},
|
|
formColumns: (): any => {
|
|
return c_formColumns;
|
|
},
|
|
tabsColumns: (): any => {
|
|
return c_tabsColumns;
|
|
},
|
|
flowCode: (): string => {
|
|
return c_flowCode;
|
|
},
|
|
formData: (): {} => {
|
|
return c_formData;
|
|
},
|
|
subTableId: (): any => {
|
|
return c_subTableId;
|
|
},
|
|
subTableColumns: (): any => {
|
|
return c_subTableColumns;
|
|
},
|
|
subTableData: (): any => {
|
|
return c_subTableData;
|
|
},
|
|
subTableList: (): any => {
|
|
return c_subTableList;
|
|
},
|
|
scrollValue: (): string => {
|
|
return c_scrollValue;
|
|
},
|
|
cardLayout: (): any => {
|
|
return c_cardLayout;
|
|
},
|
|
createOrModifyList: (): any => {
|
|
return c_createOrModifyList;
|
|
},
|
|
buttonLayout: (): any => {
|
|
return c_buttonLayout;
|
|
},
|
|
// 数据-----------------------------
|
|
// 获取数据
|
|
|
|
// 组件-----------------------------
|
|
// 获取组件
|
|
getComponent: (field: any): any => {
|
|
return getComponentByFiled(field);
|
|
},
|
|
// 隐藏与否
|
|
setHide: (field: any, hideStatus: Boolean): any => {
|
|
const componet: any = getComponentByFiled(field);
|
|
if (componet) {
|
|
componet.ifShow = hideStatus;
|
|
c_formColumns.forEach((item, index) => {
|
|
if (item.filed == field) {
|
|
c_formColumns[index] = componet;
|
|
}
|
|
});
|
|
}
|
|
return c_formColumns;
|
|
},
|
|
// 禁用与否
|
|
setDisabled: (field: any, disabledStatus: Boolean): any => {
|
|
const componet: any = getComponentByFiled(field);
|
|
if (componet) {
|
|
componet.dynamicDisabled = disabledStatus;
|
|
c_formColumns.forEach((item, index) => {
|
|
if (item.filed == field) {
|
|
c_formColumns[index] = componet;
|
|
}
|
|
});
|
|
}
|
|
return c_formColumns;
|
|
},
|
|
// 必填与否
|
|
setRequired: (field: any, requiredStatus: Boolean): any => {
|
|
const componet: any = getComponentByFiled(field);
|
|
if (componet) {
|
|
componet.required = requiredStatus;
|
|
c_formColumns.forEach((item, index) => {
|
|
if (item.filed == field) {
|
|
c_formColumns[index] = componet;
|
|
}
|
|
});
|
|
}
|
|
return c_formColumns;
|
|
},
|
|
// 功能-----------------------------
|
|
// 提示消息
|
|
message: (message: string, type: string = 'info') => {
|
|
if (type == 'success') {
|
|
createMessage.success(message);
|
|
} else if (type == 'error') {
|
|
createMessage.error(message);
|
|
} else if (type == 'warn') {
|
|
createMessage.warn(message);
|
|
} else {
|
|
createMessage.info(message);
|
|
}
|
|
},
|
|
// 获取登录者信息
|
|
loginUser: () => {
|
|
return { account: userInfo.account, name: userInfo.name };
|
|
},
|
|
};
|