From cc8043754bd50e28298e0b238e3fdf0b47d2f830 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 25 十月 2024 16:54:33 +0800 Subject: [PATCH] 1. 数据产品功能(暂存) --- package-lock.json | 11 +++++++++++ src/api/index.js | 2 +- package.json | 1 + src/components.d.ts | 3 +++ src/views/fysp/data-product/components/BaseDataProduct.vue | 16 ++++++++++------ 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c46b4e..9c38877 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,7 @@ "dayjs": "^1.11.13", "element-plus": "^2.8.3", "exceljs": "^4.4.0", + "file-saver": "^2.0.5", "js-base64": "^3.7.5", "md5": "^2.3.0", "pinia": "^2.0.26", @@ -4691,6 +4692,11 @@ "engines": { "node": "^10.12.0 || >=12.0.0" } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" }, "node_modules/fill-range": { "version": "7.0.1", @@ -11406,6 +11412,11 @@ "flat-cache": "^3.0.4" } }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, "fill-range": { "version": "7.0.1", "dev": true, diff --git a/package.json b/package.json index 7308c77..99f30e6 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "dayjs": "^1.11.13", "element-plus": "^2.8.3", "exceljs": "^4.4.0", + "file-saver": "^2.0.5", "js-base64": "^3.7.5", "md5": "^2.3.0", "pinia": "^2.0.26", diff --git a/src/api/index.js b/src/api/index.js index 243b99c..231eaba 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -11,7 +11,7 @@ let ip2_file = 'https://fyami.com.cn/'; if (debug) { - ip1 = 'http://192.168.0.138:8080/'; + ip1 = 'http://192.168.0.138:9001/'; // ip1_file = 'http://192.168.0.138:8080/'; // ip2 = 'http://192.168.0.138:8080/'; // ip2_file = 'https://fyami.com.cn/'; diff --git a/src/components.d.ts b/src/components.d.ts index 37e7435..13c1bdc 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -47,7 +47,10 @@ ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup'] ElOption: typeof import('element-plus/es')['ElOption'] + ElPagination: typeof import('element-plus/es')['ElPagination'] ElPopover: typeof import('element-plus/es')['ElPopover'] + ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSegmented: typeof import('element-plus/es')['ElSegmented'] diff --git a/src/views/fysp/data-product/components/BaseDataProduct.vue b/src/views/fysp/data-product/components/BaseDataProduct.vue index b53953e..7054740 100644 --- a/src/views/fysp/data-product/components/BaseDataProduct.vue +++ b/src/views/fysp/data-product/components/BaseDataProduct.vue @@ -68,16 +68,16 @@ :prop="item1.name" :label="item1.name" > - <template v-if="item1.children" #default="{ row1 }"> - <span v-html="row1[item1.name]"></span> + <template v-if="item1.children" #default="scope1"> + <span v-html="scope1.row[item1.name]"></span> <el-table-column v-for="(item2, index2) in item1.children" :key="index2" :prop="item2.name" :label="item2.name" > - <template v-if="item2.children" #default="{ row2 }"> - <span v-html="row2[item2.name]"></span> + <template v-if="item2.children" #default="scope2"> + <span v-html="scope2.row[item2.name]"></span> </template> </el-table-column> </template> @@ -218,14 +218,18 @@ if (matchTxt) { matchTxt.forEach((txt) => { - let newTxt = txt.replace(new RegExp(/\n/, 'g'), '<br />'); + // let newTxt = txt.replace(new RegExp(/\n/, 'g'), '</span><br/><span>'); + // newTxt = newTxt.replace(new RegExp(/"/, 'g'), ''); + // tableData = tableData.replace(txt, `<span>${newTxt}</span>`); + let newTxt = txt.replace(new RegExp(/\n/, 'g'), ''); newTxt = newTxt.replace(new RegExp(/"/, 'g'), ''); tableData = tableData.replace(txt, newTxt); }); - // console.log(tableData); } + // console.log(tableData); const t = strToTableObj(tableData); + console.log(t); // console.log(head); // console.log(data); excelDatas.value.set(sheetName, t); -- Gitblit v1.9.3