Browse Source

搜索条件和列字段解耦

刘洋 1 year ago
parent
commit
ba420d624e

+ 17 - 2
src/views/sop/sop-manage/office-sop/index.vue

@@ -43,7 +43,7 @@
         缩小</t-button
       >
       <select-filter
-        :metadata="formWidgetMetadataViewList"
+        :metadata="allFormWidgetMetadataViewList"
         @confirm="filterConfirm"
         type="OFFICE_SOP_FLOW"
         contentType="SEARCH"
@@ -102,7 +102,7 @@
           #[field.fieldId]="{ col, row }"
         >
           <more-content
-            v-if="col.colKey === 'sopNo'"
+            v-if="col?.colKey === 'sopNo'"
             :content="row[col.colKey]"
             @action="editSopFlowHandle(row, 'view')"
           ></more-content>
@@ -247,6 +247,21 @@ import { dictToOptionList } from '@/utils/tool';
 import DeviceManageNew from '@/components/common/device-manage-new';
 import { omit } from 'lodash-es';
 import bus from '@/utils/bus';
+import { metadataListApi } from '@/api/sop';
+
+const allFormWidgetMetadataViewList = ref([]);
+const getMergeMetaList = async () => {
+  const res = await metadataListApi({ type: 'OFFICE_SOP_FLOW' }).catch(
+    () => {}
+  );
+  if (!res) return;
+  const noneedCodes = ['FILE', 'TABLE', 'DEVICE_OUT_TABLE', 'DEVICE_IN_TABLE'];
+  allFormWidgetMetadataViewList.value = [
+    ...defaultTableColumns,
+    ...res.filter((item) => !noneedCodes.includes(item.code)),
+  ];
+};
+getMergeMetaList();
 const { perm } = usePermission();
 
 const appStore = useAppStore();

+ 17 - 2
src/views/sop/sop-manage/student-sop/index.vue

@@ -43,7 +43,7 @@
         缩小</t-button
       >
       <select-filter
-        :metadata="formWidgetMetadataViewList"
+        :metadata="allFormWidgetMetadataViewList"
         @confirm="filterConfirm"
         type="CLOUD_MARK_SOP_FLOW"
         contentType="SEARCH"
@@ -102,7 +102,7 @@
           #[field.fieldId]="{ col, row }"
         >
           <more-content
-            v-if="col.colKey === 'sopNo'"
+            v-if="col?.colKey === 'sopNo'"
             :content="row[col.colKey]"
             @action="editSopFlowHandle(row, 'view')"
           ></more-content>
@@ -243,6 +243,21 @@ import { dictToOptionList } from '@/utils/tool';
 import DeviceManageNew from '@/components/common/device-manage-new';
 import { omit } from 'lodash-es';
 import bus from '@/utils/bus';
+import { metadataListApi } from '@/api/sop';
+
+const allFormWidgetMetadataViewList = ref([]);
+const getMergeMetaList = async () => {
+  const res = await metadataListApi({ type: 'CLOUD_MARK_SOP_FLOW' }).catch(
+    () => {}
+  );
+  if (!res) return;
+  const noneedCodes = ['FILE', 'TABLE', 'DEVICE_OUT_TABLE', 'DEVICE_IN_TABLE'];
+  allFormWidgetMetadataViewList.value = [
+    ...defaultTableColumns,
+    ...res.filter((item) => !noneedCodes.includes(item.code)),
+  ];
+};
+getMergeMetaList();
 const { perm } = usePermission();
 
 const appStore = useAppStore();