Sfoglia il codice sorgente

[Feat 0000] 首页配置页面去除冗余功能,修复表单相关的问题

houzekong 8 mesi fa
parent
commit
b1daf8a4ae

+ 3 - 0
src/views/vent/deviceManager/configurationTable/adapters.ts

@@ -21,6 +21,9 @@ export function parseModuleData(listData: { moduleData: ModuleData; showStyle: S
   _.forEach(listData.moduleData, (v, k) => {
     listData[`moduleData.${k}`] = JSON.stringify(v);
   });
+  _.forEach(listData.showStyle, (v, k) => {
+    listData[`showStyle.${k}`] = v;
+  });
 
   return listData;
 }

+ 10 - 10
src/views/vent/deviceManager/configurationTable/configuration.api.ts

@@ -1,6 +1,7 @@
-import { parseFormDataToParams } from './adapters';
+import { parseFormDataToParams, parseModuleData } from './adapters';
 import { Config } from './types';
 import { defHttp } from '/@/utils/http/axios';
+import _ from 'lodash-es';
 
 enum Api {
   list = '/safety/configurationData/getConfigurationDataList',
@@ -13,16 +14,15 @@ enum Api {
  * 列表接口
  * @param params
  */
-export function list(params: unknown): Promise<{ records: Config[] }> {
-  return defHttp.post({ url: Api.list, data: params }, { joinParamsToUrl: true });
-}
-// defHttp.post({ url: Api.list, params }).then((result) => {
-//   result.records.forEach((item) => {
-//     parseModuleData(item);
-//   });
+export function list(params: any): Promise<{ records: Config[] }> {
+  return defHttp.post({ url: Api.list, params: _.omitBy(params, _.isNil) }).then((result) => {
+    result.records.forEach((item) => {
+      parseModuleData(item);
+    });
 
-//   return result;
-// });
+    return result;
+  });
+}
 
 /**
  * 删除配置项

+ 15 - 24
src/views/vent/deviceManager/configurationTable/index.vue

@@ -1,7 +1,17 @@
 <!-- eslint-disable vue/multi-word-component-names -->
 <template>
   <div class="device-manager-box">
-    <BasicTable @register="register">
+    <NormalTable
+      :columns="columns"
+      :searchFormSchema="searchFormSchema"
+      :formSchema="formSchema"
+      :list="list"
+      :deleteById="deleteById"
+      :saveOrUpdate="saveOrUpdate"
+      title="配置列表"
+      :showTab="false"
+      :deviceType="deviceType"
+    >
       <template #filterCell="{ column, record }">
         <template v-if="column.key === 'moduleData.main'">
           <div v-for="(val, key) in record.moduleData.main" :key="key">
@@ -9,12 +19,6 @@
             <span>名称:{{ val }};</span>
           </div>
         </template>
-        <template v-if="column.key === 'moduleData.header'">
-          <div v-for="(val, key) in record.moduleData.header" :key="key">
-            <span>点位:{{ key }};</span>
-            <span>名称:{{ val }};</span>
-          </div>
-        </template>
         <template v-if="column.key === 'moduleData.chart'">
           <div v-for="(val, key) in record.moduleData.chart" :key="key">
             <span>点位:{{ key }};</span>
@@ -34,33 +38,20 @@
           {{ get(ModuleChartTypeMap, record.showStyle?.charttype) }}
         </template>
       </template>
-    </BasicTable>
+    </NormalTable>
   </div>
 </template>
 
 <script lang="ts" name="system-user" setup>
   // 相关文档请参阅 vent/home/configurable/README.md
-  // import NormalTable from '../comment/NormalTable.vue';
+  import { ref } from 'vue';
+  import NormalTable from '../comment/NormalTable.vue';
   import { list, deleteById, saveOrUpdate } from './configuration.api';
   import { ModuleVersionMap, ModuleChartTypeMap, ModulePositionMap, ModuleSizeMap } from './options';
   import { searchFormSchema, columns, formSchema } from './configuration.data';
   import { get } from '../../home/billboard/utils';
-  import BasicTable from '/@/components/Table/src/BasicTable.vue';
-  import { useListPage } from '/@/hooks/system/useListPage';
-
-  const { tableContext } = useListPage({
-    tableProps: {
-      api: list,
-      columns: columns, //表格列
-      useSearchForm: true,
-      formConfig: {
-        schemas: searchFormSchema,
-      },
-    },
-  });
 
-  //BasicTable绑定注册,methods包含的方法参考下方Methods的api
-  const [register, methods] = tableContext;
+  const deviceType = ref('');
 </script>
 
 <style scoped></style>