From 94f254f49de030ccc3411105baabb9e6047d1d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com> Date: Fri, 1 Nov 2024 20:52:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8C=BA=E5=9F=9F=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/setup.js | 37 +++++ src/api/model/system.js | 58 +++++++- src/assets/icons/Customer.vue | 13 ++ src/assets/icons/Region.vue | 13 ++ src/assets/icons/index.js | 2 + src/components/scExport/index.vue | 10 +- src/components/scImport/index.vue | 2 +- src/views/setting/advanced/index.vue | 9 +- src/views/setting/advanced/setup/region.vue | 132 ++++++++++++++++++ src/views/setting/log/components/command.vue | 17 ++- .../setting/partsMag/components/info.vue | 67 ++++++++- .../setting/partsMag/components/library.vue | 69 ++++++++- src/views/setting/user/index.vue | 1 + 13 files changed, 412 insertions(+), 18 deletions(-) create mode 100644 src/assets/icons/Customer.vue create mode 100644 src/assets/icons/Region.vue create mode 100644 src/views/setting/advanced/setup/region.vue diff --git a/src/api/model/setup.js b/src/api/model/setup.js index 0e8fc8d..4587425 100644 --- a/src/api/model/setup.js +++ b/src/api/model/setup.js @@ -198,6 +198,43 @@ export default { }, } }, + regional:{ + list:{ + url: `${config.API_URL}/regional.address.list`, + name: "区域信息列表", + get: async function (data) { + return await http.post(this.url, data); + }, + }, + add:{ + url: `${config.API_URL}/regional.address.add`, + name: "区域新增", + post: async function (data) { + return await http.post(this.url, data); + }, + }, + delete:{ + url: `${config.API_URL}/regional.address.delete`, + name: "区域删除", + post: async function (data) { + return await http.post(this.url, data); + }, + }, + sourceList:{ + url: `${config.API_URL}/data.source.list`, + name: "区域信息数据来源常量列表", + post: async function (data) { + return await http.post(this.url, data); + }, + }, + regionalList:{ + url: `${config.API_URL}/regional.info.list`, + name: "区域信息常量列表", + post: async function (data) { + return await http.post(this.url, data); + }, + } + }, bom:{ list:{ url: `${config.API_URL}/bom.list`, diff --git a/src/api/model/system.js b/src/api/model/system.js index e3834a9..94f29cb 100644 --- a/src/api/model/system.js +++ b/src/api/model/system.js @@ -500,13 +500,27 @@ export default { return await http.post(this.url, params); }, }, + field:{ + url: `${config.API_URL}/sys.log.operation.field.list`, + name: "操作日志选择列表", + post: async function (params) { + return await http.post(this.url, params); + }, + }, export:{ url: `${config.API_URL}/sys.log.export`, name: "操作日志导出", post: async function (params) { return await http.post(this.url,params); } - } + }, + commandExport:{ + url: `${config.API_URL}/sys.log.command.export`, + name: "操作日志命令导出", + post: async function (params) { + return await http.post(this.url,params); + } + }, }, table: { list: { @@ -585,6 +599,27 @@ export default { return await http.post(this.url, params); }, }, + export:{ + url: `${config.API_URL}/spare.parts.export`, + name: "备件导出", + post: async function (params) { + return await http.post(this.url, params); + } + }, + template:{ + url: `${config.API_URL}/spare.parts.import.template`, + name: "备件导入模版", + post: async function (params) { + return await http.get(this.url,params,{responseType: 'arraybuffer'}); + } + }, + import:{ + url: `${config.API_URL}/spare.parts.import`, + name: "备件导入", + post: async function (params) { + return await http.post(this.url,params,{'Content-Type': 'multipart/form-data'}); + } + }, }, spareInfo:{ list: { @@ -622,5 +657,26 @@ export default { return await http.post(this.url, params); }, }, + export:{ + url: `${config.API_URL}/spare.parts.info.export`, + name: "备件信息导出", + post: async function (params) { + return await http.post(this.url, params); + } + }, + template:{ + url: `${config.API_URL}/spare.parts.info.import.template`, + name: "备件信息导入模版", + post: async function (params) { + return await http.get(this.url,params,{responseType: 'arraybuffer'}); + } + }, + import:{ + url: `${config.API_URL}/spare.parts.info.import`, + name: "备件信息导入", + post: async function (params) { + return await http.post(this.url,params,{'Content-Type': 'multipart/form-data'}); + } + }, } }; diff --git a/src/assets/icons/Customer.vue b/src/assets/icons/Customer.vue new file mode 100644 index 0000000..7a06a08 --- /dev/null +++ b/src/assets/icons/Customer.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/Region.vue b/src/assets/icons/Region.vue new file mode 100644 index 0000000..454d061 --- /dev/null +++ b/src/assets/icons/Region.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js index 44c6141..aed9b86 100644 --- a/src/assets/icons/index.js +++ b/src/assets/icons/index.js @@ -45,6 +45,8 @@ export { default as MsgSetup } from './MsgSetup.vue' export { default as MsgReview } from './MsgReview.vue' export { default as SmallBell } from './SmallBell.vue' export { default as Right } from './Right.vue' +export { default as Customer } from './Customer.vue' +export { default as Region } from './Region.vue' export { default as File7z } from './file/7z.vue' export { default as FileBmp } from './file/Bmp.vue' diff --git a/src/components/scExport/index.vue b/src/components/scExport/index.vue index bebc7a0..5096399 100644 --- a/src/components/scExport/index.vue +++ b/src/components/scExport/index.vue @@ -41,7 +41,7 @@ export default { }, data(){ return{ - list:[{},{},{},{},{},{}], + list:[{},{},{},{},{},{},{},{}], } }, setup(){ @@ -56,7 +56,7 @@ export default { }, methods:{ getWsResult(res){ - if(res.data && (res.data.type == 6 || res.data.type == 7 || res.data.type == 8 || res.data.type == 11 || res.data.type == 19 || res.data.type == 20)){ + if(res.data && (res.data.type == 6 || res.data.type == 7 || res.data.type == 8 || res.data.type == 11 || res.data.type == 19 || res.data.type == 20 || res.data.type == 29 || res.data.type == 30)){ let item = { type:res.data.type, type_desc:res.data.type_desc, @@ -82,6 +82,12 @@ export default { if(res.data.type == 20){ this.list[5] = item; } + if(res.data.type == 29){ + this.list[6] = item; + } + if(res.data.type == 30){ + this.list[7] = item; + } this.$emit('updateShow', item); if(res.data.status==1){ diff --git a/src/components/scImport/index.vue b/src/components/scImport/index.vue index 3dd4e4a..2978af9 100644 --- a/src/components/scImport/index.vue +++ b/src/components/scImport/index.vue @@ -108,7 +108,7 @@ export default { }, methods:{ getWsResult(res){ - if(res.data && (res.data.type == 4 || res.data.type == 5 || res.data.type == 10 || res.data.type == 17 || res.data.type == 18)){ + if(res.data && (res.data.type == 4 || res.data.type == 5 || res.data.type == 10 || res.data.type == 17 || res.data.type == 18 || res.data.type == 28 || res.data.type == 31)){ this.importInfo = res.data; this.progressShow = true; if(res.data.status == 0){ diff --git a/src/views/setting/advanced/index.vue b/src/views/setting/advanced/index.vue index f75cdc8..91661e3 100644 --- a/src/views/setting/advanced/index.vue +++ b/src/views/setting/advanced/index.vue @@ -49,6 +49,7 @@ export default { cost: defineAsyncComponent(() => import('./setup/cost')), material: defineAsyncComponent(() => import('./setup/material')), company: defineAsyncComponent(() => import('./setup/company')), + region: defineAsyncComponent(() => import('./setup/region')), }, data() { return { @@ -88,11 +89,17 @@ export default { actions:'crontabAdd' }, { - icon: "sc-icon-RegularTime", + icon: "sc-icon-Customer", title: "客户资料维护", component: "company", actions:'crontabAdd' }, + { + icon: "sc-icon-Region", + title: "区域地址配置", + component: "region", + actions:'crontabAdd' + }, ] }, { diff --git a/src/views/setting/advanced/setup/region.vue b/src/views/setting/advanced/setup/region.vue new file mode 100644 index 0000000..22975c3 --- /dev/null +++ b/src/views/setting/advanced/setup/region.vue @@ -0,0 +1,132 @@ + + + + + diff --git a/src/views/setting/log/components/command.vue b/src/views/setting/log/components/command.vue index feacc36..3664607 100644 --- a/src/views/setting/log/components/command.vue +++ b/src/views/setting/log/components/command.vue @@ -7,6 +7,9 @@
查询 重置 + + 下载 +
@@ -32,7 +35,6 @@ export default { setMap:{ name:[] }, - infoDrawer: false, date: [], list:{ @@ -52,6 +54,19 @@ export default { let {params} = item; this.params = params; }, + // 下载导出 + exportChangeShow(params){ + if(params.type == 8){ + this.exportShow = params.status==0?true:false + } + }, + async exportData() { + if(this.exportShow) return + const res = await this.$API.system.log.commandExport.post(this.params); + if(res.code == 200){ + this.$message.success('开始导出'); + } + }, upSearch(){ this.$refs.table.upData(this.params); }, diff --git a/src/views/setting/partsMag/components/info.vue b/src/views/setting/partsMag/components/info.vue index 9a7c87a..0779388 100644 --- a/src/views/setting/partsMag/components/info.vue +++ b/src/views/setting/partsMag/components/info.vue @@ -2,12 +2,21 @@
- 新增备件信息 - 批量导入 - 删除 + 新增备件信息 + 删除 + + + +
- + + 下载 +
@@ -30,8 +39,12 @@ @@ -76,6 +89,7 @@ export default { {name:'关键字',type:'text',code:['remark','name'],keyword:true,show:true}, ], searchShow:false, + exportShow:false, params: {} } }, @@ -125,6 +139,34 @@ export default { this.$refs.saveDialog.open('add'); }) }, + // 批量导入 + importFile(){ + this.$nextTick(()=>{ + this.$refs.scImport.importFile(); + }) + }, + async importTemplate() { + const res = await this.$API.system.spareInfo.template.post(); + const blob = new Blob([res]); + const text = new Date().getTime(); + const eLink = document.createElement('a'); + eLink.download = "备件信息导入模版_"+text+'.xlsx'; + eLink.style.display = 'none'; + eLink.href = URL.createObjectURL(blob); + document.body.appendChild(eLink); + eLink.click(); + URL.revokeObjectURL(eLink.href); + document.body.removeChild(eLink); + }, + async importUpload(params) { + const res = await this.$API.system.spareInfo.import.post(params); + if(res.code == 200){ + this.$message.success('上传成功,开始导入数据'); + } + }, + importSuccess(){ + this.$refs.table.refresh() + }, //编辑 table_edit(row){ this.dialog.save = true @@ -178,6 +220,19 @@ export default { selectionChange(selection){ this.selection = selection; }, + // 下载导出 + exportChangeShow(params){ + if(params.type == 30){ + this.exportShow = params.status==0?true:false + } + }, + async exportData() { + if(this.exportShow) return + const res = await this.$API.system.spareInfo.export.post(this.params); + if(res.code == 200){ + this.$message.success('开始导出'); + } + }, //搜索 upSearch(){ this.$refs.table.upData(this.params); diff --git a/src/views/setting/partsMag/components/library.vue b/src/views/setting/partsMag/components/library.vue index 3d66f31..a6c1630 100644 --- a/src/views/setting/partsMag/components/library.vue +++ b/src/views/setting/partsMag/components/library.vue @@ -2,12 +2,21 @@
- 新增备件 - 批量导入 - 删除 + 新增备件 + 删除 + + + +
- + + 下载 +
@@ -30,8 +39,12 @@ @@ -78,6 +91,7 @@ export default { {name:'关键字',type:'text',code:['remark','erp_pn'],keyword:true,show:true}, ], searchShow:false, + exportShow:false, params: {} } }, @@ -127,6 +141,35 @@ export default { this.$refs.saveDialog.open('add'); }) }, + // 批量导入 + importFile(){ + this.$nextTick(()=>{ + this.$refs.scImport.importFile(); + }) + }, + async importTemplate() { + const res = await this.$API.system.spare.template.post(); + const blob = new Blob([res]); + const text = new Date().getTime(); + const eLink = document.createElement('a'); + eLink.download = "备件导入模版_"+text+'.xlsx'; + eLink.style.display = 'none'; + eLink.href = URL.createObjectURL(blob); + document.body.appendChild(eLink); + eLink.click(); + URL.revokeObjectURL(eLink.href); + document.body.removeChild(eLink); + }, + async importUpload(params) { + const res = await this.$API.system.spare.import.post(params); + if(res.code == 200){ + this.$message.success('上传成功,开始导入数据'); + } + }, + importSuccess(){ + this.$refs.table.refresh() + }, + //编辑 table_edit(row){ this.dialog.save = true @@ -173,6 +216,20 @@ export default { selectionChange(selection){ this.selection = selection; }, + + // 下载导出 + exportChangeShow(params){ + if(params.type == 29){ + this.exportShow = params.status==0?true:false + } + }, + async exportData() { + if(this.exportShow) return + const res = await this.$API.system.spare.export.post(this.params); + if(res.code == 200){ + this.$message.success('开始导出'); + } + }, //搜索 upSearch(){ this.$refs.table.upData(this.params); diff --git a/src/views/setting/user/index.vue b/src/views/setting/user/index.vue index b36dc15..fff872a 100644 --- a/src/views/setting/user/index.vue +++ b/src/views/setting/user/index.vue @@ -457,6 +457,7 @@ .userTree{ position: relative; width: 100%; + font-size: var(--el-font-size-small); .btnBox{ position: absolute;right: 10px;top: 2px; .btn{margin: 0 3px;}