|
@@ -12,7 +12,7 @@ |
|
@@ -12,7 +12,7 @@ |
12
|
<a-button type="primary" @click="handleCreate"> 新增设备配置 </a-button>
|
12
|
<a-button type="primary" @click="handleCreate"> 新增设备配置 </a-button>
|
13
|
</Authority>
|
13
|
</Authority>
|
14
|
<ImpExcel @success="loadDataSuccess" dateFormat="YYYY-MM-DD">
|
14
|
<ImpExcel @success="loadDataSuccess" dateFormat="YYYY-MM-DD">
|
15
|
- <a-button disabled @click="handleImport"> 导入设备配置 </a-button>
|
15
|
+ <a-button @click="handleImport"> 导入设备配置 </a-button>
|
16
|
</ImpExcel>
|
16
|
</ImpExcel>
|
17
|
<Authority value="api:yt:admin:deleteDeviceConfig">
|
17
|
<Authority value="api:yt:admin:deleteDeviceConfig">
|
18
|
<a-button
|
18
|
<a-button
|
|
@@ -83,7 +83,11 @@ |
|
@@ -83,7 +83,11 @@ |
83
|
</template>
|
83
|
</template>
|
84
|
</BasicTable>
|
84
|
</BasicTable>
|
85
|
<DeviceProfileModal @register="registerModal" @success="handleSuccess" />
|
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
|
</div>
|
91
|
</div>
|
88
|
</template>
|
92
|
</template>
|
89
|
<script lang="ts">
|
93
|
<script lang="ts">
|
|
@@ -99,14 +103,24 @@ |
|
@@ -99,14 +103,24 @@ |
99
|
import { useModal } from '/@/components/Modal';
|
103
|
import { useModal } from '/@/components/Modal';
|
100
|
import DeviceProfileModal from '/@/views/device/profiles/DeviceProfileModal.vue';
|
104
|
import DeviceProfileModal from '/@/views/device/profiles/DeviceProfileModal.vue';
|
101
|
import { ImpExcel, ExcelData } from '/@/components/Excel';
|
105
|
import { ImpExcel, ExcelData } from '/@/components/Excel';
|
102
|
- // import { jsonToSheetXlsx, ExportModalResult } from '/@/components/Excel';
|
106
|
+ import { jsonToSheetXlsx, ExpExcelModal, ExportModalResult } from '/@/components/Excel';
|
103
|
import { Authority } from '/@/components/Authority';
|
107
|
import { Authority } from '/@/components/Authority';
|
104
|
import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
|
108
|
import { useBatchDelete } from '/@/hooks/web/useBatchDelete';
|
105
|
|
109
|
|
106
|
export default defineComponent({
|
110
|
export default defineComponent({
|
107
|
name: 'DeviceProfileManagement',
|
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
|
setup() {
|
121
|
setup() {
|
|
|
122
|
+ const exportData: any = ref([]);
|
|
|
123
|
+ const expExcelModalRef = ref(null);
|
110
|
let selectedRowKeys: any = [];
|
124
|
let selectedRowKeys: any = [];
|
111
|
const deviceDetailRef = ref(null);
|
125
|
const deviceDetailRef = ref(null);
|
112
|
const getPathUrl = ref('');
|
126
|
const getPathUrl = ref('');
|
|
@@ -114,10 +128,9 @@ |
|
@@ -114,10 +128,9 @@ |
114
|
const disabled = ref(true);
|
128
|
const disabled = ref(true);
|
115
|
const onCloseVal = ref(0);
|
129
|
const onCloseVal = ref(0);
|
116
|
const immediateStatus = ref(false);
|
130
|
const immediateStatus = ref(false);
|
117
|
-
|
|
|
118
|
const { createMessage } = useMessage();
|
131
|
const { createMessage } = useMessage();
|
119
|
const [registerModal, { openModal }] = useModal();
|
132
|
const [registerModal, { openModal }] = useModal();
|
120
|
- const [registerModalDetail] = useModal();
|
133
|
+ const [registerExportModal, { openModal: openModalExcel }] = useModal();
|
121
|
const [
|
134
|
const [
|
122
|
registerTable,
|
135
|
registerTable,
|
123
|
{ setProps, reload, getSelectRows, setTableData, getForm, getSelectRowKeys },
|
136
|
{ setProps, reload, getSelectRows, setTableData, getForm, getSelectRowKeys },
|
|
@@ -144,8 +157,11 @@ |
|
@@ -144,8 +157,11 @@ |
144
|
fixed: 'right',
|
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
|
selectionOptions.rowSelection.getCheckboxProps = (record: Recordable) => {
|
165
|
selectionOptions.rowSelection.getCheckboxProps = (record: Recordable) => {
|
150
|
// Demo:status为1的选择框禁用
|
166
|
// Demo:status为1的选择框禁用
|
151
|
if (record.default === true) {
|
167
|
if (record.default === true) {
|
|
@@ -271,26 +287,6 @@ |
|
@@ -271,26 +287,6 @@ |
271
|
disabled.value = true;
|
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
|
function handleDelete(record: Recordable) {
|
291
|
function handleDelete(record: Recordable) {
|
296
|
let ids = [record.id];
|
292
|
let ids = [record.id];
|
|
@@ -300,24 +296,31 @@ |
|
@@ -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
|
const handleExport = (record: Recordable) => {
|
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
|
function handleImport() {
|
324
|
function handleImport() {
|
322
|
console.log('record');
|
325
|
console.log('record');
|
323
|
}
|
326
|
}
|
|
@@ -354,11 +357,9 @@ |
|
@@ -354,11 +357,9 @@ |
354
|
handleSetDefault,
|
357
|
handleSetDefault,
|
355
|
disabled,
|
358
|
disabled,
|
356
|
deviceDetailRef,
|
359
|
deviceDetailRef,
|
357
|
- registerModalDetail,
|
|
|
358
|
- // register1,
|
|
|
359
|
- // defaultHeader,
|
360
|
+ registerExportModal,
|
|
|
361
|
+ defaultHeader,
|
360
|
useSelectionChange,
|
362
|
useSelectionChange,
|
361
|
- // handleTableDel,
|
|
|
362
|
tableListRef,
|
363
|
tableListRef,
|
363
|
loadDataSuccess,
|
364
|
loadDataSuccess,
|
364
|
handleImport,
|
365
|
handleImport,
|
|
@@ -372,6 +373,7 @@ |
|
@@ -372,6 +373,7 @@ |
372
|
registerModal,
|
373
|
registerModal,
|
373
|
hasBatchDelete,
|
374
|
hasBatchDelete,
|
374
|
handleDeleteOrBatchDelete,
|
375
|
handleDeleteOrBatchDelete,
|
|
|
376
|
+ expExcelModalRef,
|
375
|
};
|
377
|
};
|
376
|
},
|
378
|
},
|
377
|
});
|
379
|
});
|