From 2e9c878dab8b83a5acbfb2caf934a66394b60d98 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 30 十二月 2024 20:44:20 +0800 Subject: [PATCH] 一些优化 --- src/views/components/GeneralCrudModal.vue | 84 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 80 insertions(+), 4 deletions(-) diff --git a/src/views/components/GeneralCrudModal.vue b/src/views/components/GeneralCrudModal.vue index cd60d7c..7eac77c 100644 --- a/src/views/components/GeneralCrudModal.vue +++ b/src/views/components/GeneralCrudModal.vue @@ -8,6 +8,13 @@ @ok="handleSubmit" > <div> + <a-alert + v-if="showAlert" + :message="message" + :description="description" + type="info" + show-icon + /> <BasicTable @register="registerTable" @edit-change="onEditChange"> <template #toolbar> <a-button @click="openImg" type="primary"> 棰勮 </a-button> @@ -35,13 +42,15 @@ } from '/@/components/Table'; import { useI18n } from '/@/hooks/web/useI18n'; import { createImgPreview } from '/@/components/Preview'; - import { getListByPage, SaveEntity } from '/@/api/tigerapi/system'; + import { DeleteEntity, getListByPage, SaveEntity } from '/@/api/tigerapi/system'; import { useMessage } from '/@/hooks/web/useMessage'; import { cloneDeep, isFunction } from 'lodash-es'; - import { isNullOrUnDef } from '/@/utils/is'; + import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { CustModalParams } from '/@/api/tigerapi/model/systemModel'; import { EntityCustFunctionType } from '/@/api/tigerapi/model/basModel'; + import { Alert } from 'ant-design-vue'; + const AAlert = Alert; const { t } = useI18n(); const title = ref(''); const tableName = ref(''); @@ -53,6 +62,9 @@ const entityName = ref(''); const ctype = ref(''); const others = ref({}); + const showAlert = ref(false); + const message = ref(''); + const description = ref(''); //鍒楄〃 const ItemColumns = ref([] as BasicColumn[]); @@ -80,7 +92,7 @@ title: '鎿嶄綔', dataIndex: 'action', fixed: 'right', - }, //鑷畾涔夋搷浣滃垪 + }, }); const { createMessage: msg } = useMessage(); const currentEditKeyRef = ref(''); @@ -110,7 +122,26 @@ console.log(`绗�${index + 1}寮犲浘鐗囧凡鍔犺浇锛孶RL涓猴細${url}`, dom); }; // 鍙互浣跨敤createImgPreview杩斿洖鐨� PreviewActions 鏉ユ帶鍒堕瑙堥�昏緫锛屽疄鐜扮被浼煎够鐏墖銆佽嚜鍔ㄦ棆杞箣绫荤殑楠氭搷浣� - createImgPreview({ imageList: [dataSource[0].LABEL_VIEW_PATH], defaultWidth: 700, rememberState: true, onImgLoad }); + const Keys = Object.getOwnPropertyNames(others.value); + let path = ''; + dataSource.map((item) => { + for (const k in Keys) { + if (item[Keys[k]] == others.value[Keys[k]] && !isNullOrEmpty(others.value[Keys[k]])) { + path = item['LABEL_VIEW_PATH']; + return; + } + } + }); + if (isNullOrEmpty(path)) { + path = dataSource.filter((q) => isNullOrEmpty(q.WORK_ORDER) || isNullOrEmpty(q.PROD_CODE))[0] + .LABEL_VIEW_PATH; + } + createImgPreview({ + imageList: [path], + defaultWidth: 700, + rememberState: true, + onImgLoad, + }); } async function onDataReceive(data) { @@ -133,6 +164,9 @@ entityName.value = data?.entityName; ctype.value = data?.ctype; others.value = data?.others; + showAlert.value = data?.alertConfig.showAlert; + message.value = data?.alertConfig.message; + description.value = data?.alertConfig.description; // getForm().resetFields(); /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */ try { @@ -151,6 +185,41 @@ function handleEdit(record: EditRecordRow) { currentEditKeyRef.value = record.key; record.onEdit?.(true); + } + + /** + * @description: 鍒犻櫎琛� + * @param {*} record + * @return {*} + */ + function handleDel(record: EditRecordRow) { + if (!isNullOrEmpty(record.WORK_ORDER) || !isNullOrEmpty(record.PROD_CODE)) { + //鍒犻櫎 + DeleteEntity(record, ctype.value).then((action) => { + if (action.IsSuccessed) { + try { + const data = cloneDeep(record.editValueRefs); + console.log(data); + + const [{ CustFunc }] = isNullOrUnDef(custImport.value['default']) + ? EntityCustFunction.value + : custImport.value['default'](); + if (CustFunc && isFunction(CustFunc)) { + CustFunc({ + others: others.value, + ctype: 'delete', + values: record, + }); + } + } catch (error) { + msg.error({ content: t('鍒犻櫎澶辫触'), key: 'saving' }); + } + reload(); + } + }); + } else { + msg.error({ content: t('娌℃湁闇�瑕佸垹闄ょ殑鍙橀噺'), key: 'saving' }); + } } /** @@ -177,6 +246,13 @@ onClick: handleEdit.bind(null, record), name: '', }, + { + label: '鍒犻櫎', + color: 'error', + disabled: currentEditKeyRef.value ? currentEditKeyRef.value !== record.key : false, + onClick: handleDel.bind(null, record), + name: '', + }, ]; } return [ -- Gitblit v1.9.3