Commit f292db4eec3fc27c3801874d120481e11b581e2e

Authored by fengtao
1 parent b26d9310

fix:放开之前写好的导入导出,待联调后端导入导出接口

... ... @@ -3,6 +3,8 @@ import { BasicPageParams } from '/@/api/model/baseModel';
3 3 export type TDeviceConfigPageQueryParam = BasicPageParams & TDeviceConfigParams;
4 4
5 5 export type TDeviceConfigParams = {
  6 + page?: any;
  7 + pageSize?: any;
6 8 name?: string;
7 9 transportType?: string;
8 10 orderFiled?: string;
... ...
... ... @@ -15,7 +15,7 @@
15 15 </template>
16 16 <script lang="ts">
17 17 import type { ExportModalResult } from './typing';
18   - import { defineComponent } from 'vue';
  18 + import { defineComponent, nextTick } from 'vue';
19 19 import { BasicModal, useModalInner } from '/@/components/Modal';
20 20 import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
21 21
... ... @@ -66,7 +66,7 @@
66 66 components: { BasicModal, BasicForm },
67 67 emits: ['success', 'register'],
68 68 setup(_, { emit }) {
69   - const [registerForm, { validateFields }] = useForm();
  69 + const [registerForm, { validateFields, resetFields }] = useForm();
70 70 const [registerModal, { closeModal }] = useModalInner();
71 71
72 72 async function handleOk() {
... ... @@ -79,12 +79,15 @@
79 79 closeModal();
80 80 }
81 81
  82 + const clearFieldFunc = () => nextTick(() => resetFields());
  83 +
82 84 return {
83 85 schemas,
84 86 handleOk,
85 87 registerForm,
86 88 registerModal,
87 89 t,
  90 + clearFieldFunc,
88 91 };
89 92 },
90 93 });
... ...
... ... @@ -8,12 +8,12 @@
8 8 />
9 9 <BasicTable @register="registerTable" class="w-5/6 xl:w-4/5">
10 10 <template #toolbar>
11   - <Authority value="api:yt:admin:addDeviceList">
  11 + <Authority value="api:yt:device:post">
12 12 <a-button type="primary" @click="handleCreate" v-if="authBtn(role)">
13 13 新增设备
14 14 </a-button>
15 15 </Authority>
16   - <Authority value="api:yt:admin:deleteDeviceList">
  16 + <Authority value="api:yt:device:delete">
17 17 <a-button
18 18 color="error"
19 19 v-if="authBtn(role)"
... ...
... ... @@ -12,7 +12,7 @@
12 12 <a-button type="primary" @click="handleCreate"> 新增设备配置 </a-button>
13 13 </Authority>
14 14 <ImpExcel @success="loadDataSuccess" dateFormat="YYYY-MM-DD">
15   - <a-button disabled @click="handleImport"> 导入设备配置 </a-button>
  15 + <a-button @click="handleImport"> 导入设备配置 </a-button>
16 16 </ImpExcel>
17 17 <Authority value="api:yt:admin:deleteDeviceConfig">
18 18 <a-button
... ... @@ -83,7 +83,11 @@
83 83 </template>
84 84 </BasicTable>
85 85 <DeviceProfileModal @register="registerModal" @success="handleSuccess" />
86   - <!-- <ExpExcelModal @register="register1" @success="defaultHeader" /> -->
  86 + <ExpExcelModal
  87 + ref="expExcelModalRef"
  88 + @register="registerExportModal"
  89 + @success="defaultHeader"
  90 + />
87 91 </div>
88 92 </template>
89 93 <script lang="ts">
... ... @@ -99,14 +103,24 @@
99 103 import { useModal } from '/@/components/Modal';
100 104 import DeviceProfileModal from '/@/views/device/profiles/DeviceProfileModal.vue';
101 105 import { ImpExcel, ExcelData } from '/@/components/Excel';
102   - // import { jsonToSheetXlsx, ExportModalResult } from '/@/components/Excel';
  106 + import { jsonToSheetXlsx, ExpExcelModal, ExportModalResult } from '/@/components/Excel';
103 107 import { Authority } from '/@/components/Authority';
104 108 import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
105 109
106 110 export default defineComponent({
107 111 name: 'DeviceProfileManagement',
108   - components: { BasicTable, DeviceProfileModal, TableAction, ImpExcel, TableImg, Authority },
  112 + components: {
  113 + BasicTable,
  114 + DeviceProfileModal,
  115 + TableAction,
  116 + ImpExcel,
  117 + TableImg,
  118 + Authority,
  119 + ExpExcelModal,
  120 + },
109 121 setup() {
  122 + const exportData: any = ref([]);
  123 + const expExcelModalRef = ref(null);
110 124 let selectedRowKeys: any = [];
111 125 const deviceDetailRef = ref(null);
112 126 const getPathUrl = ref('');
... ... @@ -114,10 +128,9 @@
114 128 const disabled = ref(true);
115 129 const onCloseVal = ref(0);
116 130 const immediateStatus = ref(false);
117   -
118 131 const { createMessage } = useMessage();
119 132 const [registerModal, { openModal }] = useModal();
120   - const [registerModalDetail] = useModal();
  133 + const [registerExportModal, { openModal: openModalExcel }] = useModal();
121 134 const [
122 135 registerTable,
123 136 { setProps, reload, getSelectRows, setTableData, getForm, getSelectRowKeys },
... ... @@ -144,8 +157,11 @@
144 157 fixed: 'right',
145 158 },
146 159 });
147   - const { hasBatchDelete, handleDeleteOrBatchDelete, selectionOptions, resetSelectedRowKeys } =
148   - useBatchDelete(deviceConfigDelete, handleSuccess, setProps);
  160 + const { hasBatchDelete, handleDeleteOrBatchDelete, selectionOptions } = useBatchDelete(
  161 + deviceConfigDelete,
  162 + handleSuccess,
  163 + setProps
  164 + );
149 165 selectionOptions.rowSelection.getCheckboxProps = (record: Recordable) => {
150 166 // Demo:status为1的选择框禁用
151 167 if (record.default === true) {
... ... @@ -271,26 +287,6 @@
271 287 disabled.value = true;
272 288 }
273 289 };
274   - // const handleTableDel = () => {
275   - // disabled.value = true;
276   - // deviceConfigDelete(selectedRowKeys)
277   - // .then(() => {
278   - // createMessage.success('删除设备配置成功');
279   - // handleSuccess();
280   - // setTimeout(() => {
281   - // disabled.value = false;
282   - // }, 3000);
283   - // selectedRowKeys.length = 0;
284   - // })
285   - // .catch((e) => {
286   - // selectedRowKeys.length = 0;
287   - // setTimeout(() => {
288   - // disabled.value = false;
289   - // }, 3000);
290   - // createMessage.error(e);
291   - // });
292   - // selectedRowKeys.length = 0;
293   - // };
294 290
295 291 function handleDelete(record: Recordable) {
296 292 let ids = [record.id];
... ... @@ -300,24 +296,31 @@
300 296 });
301 297 }
302 298
303   - // function defaultHeader({ filename, bookType }: ExportModalResult) {
304   - // // 默认Object.keys(data[0])作为header
305   - // jsonToSheetXlsx({
306   - // data,
307   - // filename,
308   - // write2excelOpts: {
309   - // bookType,
310   - // },
311   - // });
312   - // }
313   -
314   - // const [register1, { openModal: openModalExcel }] = useModal();
  299 + function defaultHeader({ filename, bookType }: ExportModalResult) {
  300 + // 默认Object.keys(data[0])作为header
  301 + const data = exportData.value;
  302 + jsonToSheetXlsx({
  303 + data,
  304 + filename,
  305 + write2excelOpts: {
  306 + bookType,
  307 + },
  308 + });
  309 + }
  310 + //导出
315 311 const handleExport = (record: Recordable) => {
316   - console.log(record);
317   - // setTimeout(() => {
318   - // openModalExcel();
319   - // }, 50);
  312 + exportData.value = [];
  313 + exportData.value.push({
  314 + createTime: record.createTime,
  315 + description: record.description,
  316 + name: record.name,
  317 + });
  318 + nextTick(() => {
  319 + openModalExcel();
  320 + expExcelModalRef.value?.clearFieldFunc();
  321 + });
320 322 };
  323 + //导入
321 324 function handleImport() {
322 325 console.log('record');
323 326 }
... ... @@ -354,11 +357,9 @@
354 357 handleSetDefault,
355 358 disabled,
356 359 deviceDetailRef,
357   - registerModalDetail,
358   - // register1,
359   - // defaultHeader,
  360 + registerExportModal,
  361 + defaultHeader,
360 362 useSelectionChange,
361   - // handleTableDel,
362 363 tableListRef,
363 364 loadDataSuccess,
364 365 handleImport,
... ... @@ -372,6 +373,7 @@
372 373 registerModal,
373 374 hasBatchDelete,
374 375 handleDeleteOrBatchDelete,
  376 + expExcelModalRef,
375 377 };
376 378 },
377 379 });
... ...