From aa0bc81d06736cc1a1bd210dde61f57736585d43 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期五, 07 六月 2024 10:37:05 +0800 Subject: [PATCH] 很多更新 --- src/views/components/NormalModal.vue | 34 ++++++++++++++++++++++++++++++---- 1 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/views/components/NormalModal.vue b/src/views/components/NormalModal.vue index 863d1c0..ed304a2 100644 --- a/src/views/components/NormalModal.vue +++ b/src/views/components/NormalModal.vue @@ -11,7 +11,7 @@ <BasicForm @register="registerForm" :model="model" /> </div> --> <div> - <BasicTable @register="registerTable"> + <BasicTable @register="registerTable" @row-dbClick="rowDbClick"> <!-- <template #toolbar> <a-button type="primary" @click="handleCreate"> 鏂板鐩樼偣 </a-button> </template> --> @@ -31,6 +31,7 @@ const title = ref(''); const tableName = ref(''); const rowKey = ref(''); + const returnFieldName = ref(''); const schemas = ref([] as FormSchema[]); //鍒楄〃 @@ -38,6 +39,7 @@ const emit = defineEmits(['success', 'register']); const checkedKeys = ref<Array<string | number>>([]); + const checkedIds = ref<Array<string | number>>([]); const [registerTable, { reload, getForm }] = useTable({ title: '鍒楄〃淇℃伅', api: getListByPage, @@ -92,6 +94,7 @@ ItemColumns.value = data?.ItemColumns; tableName.value = data?.tableName; rowKey.value = data?.rowKey; + returnFieldName.value = data?.returnFieldName; checkedKeys.value = []; getForm().resetFields(); reload(); @@ -101,17 +104,33 @@ // v && props.userData && nextTick(() => onDataReceive(props.userData)); // } + function rowDbClick(record, index, event) { + try { + closeModal(); + emit('success', { + isUpdate: unref(false), + values: { val: record[rowKey.value], id: record['ID'] }, + returnFieldName: returnFieldName.value, + }); + } finally { + setModalProps({ confirmLoading: false }); + } + } + async function handleSubmit() { try { var values = ''; + var ids = ''; // checkedKeys.value.forEach(element => { // values+=element; // }); values = checkedKeys.value.join(','); + ids = checkedIds.value.join(','); closeModal(); emit('success', { isUpdate: unref(false), - values: { values, id: 0 }, + values: { val: values, id: ids }, + returnFieldName: returnFieldName.value, }); } finally { setModalProps({ confirmLoading: false }); @@ -120,16 +139,23 @@ function onSelect(record, selected) { if (selected) { checkedKeys.value = [...checkedKeys.value, record[rowKey.value]]; + checkedIds.value = [...checkedIds.value, record['ID']]; } else { checkedKeys.value = checkedKeys.value.filter((code) => code !== record[rowKey.value]); + checkedIds.value = checkedIds.value.filter((code) => code !== record['ID']); } } function onSelectAll(selected, selectedRows, changeRows) { - const changeIds = changeRows.map((item) => item[rowKey.value]); + const changeVals = changeRows.map((item) => item[rowKey.value]); + const changeIds = changeRows.map((item) => item['ID']); if (selected) { - checkedKeys.value = [...checkedKeys.value, ...changeIds]; + checkedKeys.value = [...checkedKeys.value, ...changeVals]; + checkedIds.value = [...checkedIds.value, ...changeIds]; } else { checkedKeys.value = checkedKeys.value.filter((code) => { + return !changeVals.includes(code); + }); + checkedIds.value = checkedIds.value.filter((code) => { return !changeIds.includes(code); }); } -- Gitblit v1.9.3