YangYuGang
2025-03-08 8cae1dcd8d2bde01880ac4b70bdda4e61df3c7ef
src/views/components/EntityModal.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> -->
@@ -65,6 +65,7 @@
  ];
  const emit = defineEmits(['success', 'register']);
  const checkedKeys = ref<Array<string | number>>([]);
  const checkedNames = ref<Array<string | number>>([]);
  const [registerTable, { reload, getForm }] = useTable({
    title: '实体列表',
    api: getEntityNameList,
@@ -112,6 +113,7 @@
    console.log('Data Received', data);
    getForm().resetFields();
    checkedKeys.value = [];
    checkedNames.value = [];
    reload();
    // 方式1;
    // setFieldsValue({
@@ -120,17 +122,31 @@
    // });
  }
  function rowDbClick(record, index, event) {
    try {
      closeModal();
      emit('success', {
        isUpdate: unref(false),
        values: { val: record['Name'], name: record['DisplayName'] },
      });
    } finally {
      setModalProps({ confirmLoading: false });
    }
  }
  async function handleSubmit() {
    try {
      var values = '';
      var names = '';
      // checkedKeys.value.forEach(element => {
      //   values+=element;
      // });
      values = checkedKeys.value.join(',');
      names = checkedNames.value.join(',');
      closeModal();
      emit('success', {
        isUpdate: unref(false),
        values: { values, id: 0 },
        values: { val: values, name: names },
      });
    } finally {
      setModalProps({ confirmLoading: false });
@@ -139,18 +155,27 @@
  function onSelect(record, selected) {
    if (selected) {
      checkedKeys.value = [...checkedKeys.value, record.Name];
      checkedNames.value = [...checkedNames.value, record.DisplayName];
    } else {
      checkedKeys.value = checkedKeys.value.filter((Name) => Name !== record.Name);
      checkedNames.value = checkedNames.value.filter(
        (DisplayName) => DisplayName !== record.DisplayName,
      );
    }
  }
  function onSelectAll(selected, selectedRows, changeRows) {
    const changeIds = changeRows.map((item) => item.Name);
    const changeNames = changeRows.map((item) => item.DisplayName);
    if (selected) {
      checkedKeys.value = [...checkedKeys.value, ...changeIds];
      checkedNames.value = [...checkedNames.value, ...changeNames];
    } else {
      checkedKeys.value = checkedKeys.value.filter((Name) => {
        return !changeIds.includes(Name);
      });
      checkedNames.value = checkedNames.value.filter((Name) => {
        return !checkedNames.value.includes(Name);
      });
    }
  }
</script>