From 30d577e65b39490732b67f1e0dd50df6adaa0dca Mon Sep 17 00:00:00 2001 From: lb Date: Tue, 11 Apr 2023 10:36:14 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=B7=BB=E5=8A=A0=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=9B=20add=20=E6=B7=BB=E5=8A=A0=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=A8=A1=E6=9D=BF=E5=92=8C=E4=B8=8A=E4=BC=A0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/importTemplates/bomImport.xlsx | Bin 0 -> 10706 bytes public/importTemplates/orderImport.xlsx | Bin 0 -> 10053 bytes .../pms/order/components/DialogUpload.vue | 70 +++++++-- .../order/components/ListSectionWithHead.vue | 141 +++++------------- 4 files changed, 93 insertions(+), 118 deletions(-) create mode 100644 public/importTemplates/bomImport.xlsx create mode 100644 public/importTemplates/orderImport.xlsx diff --git a/public/importTemplates/bomImport.xlsx b/public/importTemplates/bomImport.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..59cc8b321f3a6f605eac3fa5968435f2e19d3cac GIT binary patch literal 10706 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 literal 0 HcmV?d00001 diff --git a/src/views/modules/pms/order/components/DialogUpload.vue b/src/views/modules/pms/order/components/DialogUpload.vue index f3e456e..36ca3cc 100644 --- a/src/views/modules/pms/order/components/DialogUpload.vue +++ b/src/views/modules/pms/order/components/DialogUpload.vue @@ -7,15 +7,24 @@ title="导入订单" :destroy-on-close="false" :close-on-click-modal="configs.clickModalToClose ?? true"> - +
- 将文件拖到此处,或点击上传 + 将文件拖到此处,或 + 点击上传
只能上传 Excel 文件
+ 下载模板 取消
@@ -56,18 +65,38 @@ export default { this.visible = true; }, - /** handlers */ - handleSelectChange(col, eventValue) { - // console.log("[dialog] select change: ", col, eventValue); - this.$forceUpdate(); + fileTypeCheck() { + // 上传前检查文件类型: Boolean }, - handleComponentModelUpdate(propName, { subject, payload: { data } }) { - this.dataForm[propName] = JSON.stringify(data); - // console.log("[DialogJustForm] handleComponentModelUpdate", this.dataForm[propName]); + fileSizeCheck() { + // 上传前检查文件大小: Boolean }, - handleUpload() {}, + handleSuccess(response, file, fileList) { + // console.log("success response", response); + let message = ""; + let isError = false; + + if (typeof response === "object" && "msg" in response) message = response.msg; + if (typeof response === "object" && "data" in response) message = response.data.toString(); + if (typeof response === "string") { + message = response; + isError = true; + } + + this.handleClose(); + + this.$message({ + message, + type: isError ? "error" : "info", + duration: 2000, + }); + }, + + handleError(err, file, fileList) { + console.log("err", err); + }, handleBtnClick(payload) { if ("name" in payload) { @@ -75,10 +104,29 @@ export default { case "cancel": this.handleClose(); break; + case "download-template": + this.handleDownloadTemplate(); + break; } } }, + handleDownloadTemplate(filename) { + this.$notify({ + title: "提示", + message: "开始下载", + type: "success", + }); + + // 下载模板 + let a = document.createElement("a"); + a.href = "/importTemplates/orderImport.xlsx"; + a.download = filename ?? "orderTemplate.xlsx"; + document.body.appendChild(a); + a.click(); + document.body.removeChild(a); + }, + handleUploadChange(file, fileList) { // console.log("[Upload] handleUploadChange...", file, fileList); }, @@ -122,6 +170,4 @@ export default { .dialog-just-form >>> .dialog-demo { text-align: center; } - - diff --git a/src/views/modules/pms/order/components/ListSectionWithHead.vue b/src/views/modules/pms/order/components/ListSectionWithHead.vue index e66350d..37514fc 100644 --- a/src/views/modules/pms/order/components/ListSectionWithHead.vue +++ b/src/views/modules/pms/order/components/ListSectionWithHead.vue @@ -10,8 +10,7 @@ :id="$attrs.id" :head-title="headConfig.title" :head-config="{ fields: headConfig.form }" - @btn-click="handleBtnClick" - /> + @btn-click="handleBtnClick" /> + :refresh-layout-key="refreshLayoutKey" /> + layout="total, sizes, prev, pager, next, jumper"> + @destroy-dialog="renderDialog = false" /> + @destroy-dialog="renderMenuDialog = false" /> + @refresh-list="handleRefreshList" /> @@ -111,14 +106,7 @@ export default { watch: { refreshKey(newVal) { // 外部触发更新列表 - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); }, }, data() { @@ -139,14 +127,19 @@ export default { }; }, mounted() { - this.getAList( - Object.assign({}, this.listQuery, this.extraSearchConditions) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions)); }, activated() { this.refreshLayoutKey = this.layoutTable(); }, methods: { + handleRefreshList() { + setTimeout(() => { + this.uploadDialogVisible = false; + }, 300); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions)); + }, + getAList(payload) { if (this.pageUrl != "#") { this.tableLoading = true; @@ -208,14 +201,7 @@ export default { type: "success", duration: 2000, onClose: () => { - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); this.$emit("refresh-tables", ["ongoing"]); }, }); @@ -237,15 +223,11 @@ export default { case "destroy-order": // 结束订单 case "end-order": { - this.$confirm( - `确定${type === "end-order" ? "结束订单" : "废除订单"}?`, - "提示", - { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - } - ) + this.$confirm(`确定${type === "end-order" ? "结束订单" : "废除订单"}?`, "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) .then(() => { return this.$http.post("/pms/order/end", data, { headers: { @@ -261,14 +243,7 @@ export default { type: "success", duration: 2000, onClose: () => { - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); this.$emit("refresh-tables", ["finished"]); }, }); @@ -308,14 +283,7 @@ export default { .then(({ data: res }) => { if (res.code === 0) { // success - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); } else { // failed throw new Error(res.msg); @@ -331,15 +299,11 @@ export default { } case "delete": { // 确认是否删除 - return this.$confirm( - `确定要删除 "${data.code ?? data.id}" 吗?`, - "提示", - { - confirmButtonText: "确认", - cancelButtonText: "我再想想", - type: "warning", - } - ) + return this.$confirm(`确定要删除 "${data.code ?? data.id}" 吗?`, "提示", { + confirmButtonText: "确认", + cancelButtonText: "我再想想", + type: "warning", + }) .then(() => { // this.$http.delete(this.urls.base + `/${data}`).then((res) => { this.$http({ @@ -350,14 +314,7 @@ export default { if (res.code === 0) { this.$message.success("删除成功!"); // 获取数据 - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); } }); }) @@ -395,24 +352,13 @@ export default { // 处理时间段 if (!!payload.timerange) { const [startTime, endTime] = payload["timerange"]; - this.params.startTime = moment(startTime).format( - "YYYY-MM-DDTHH:mm:ss" - ); - this.params.endTime = moment(endTime).format( - "YYYY-MM-DDTHH:mm:ss" - ); + this.params.startTime = moment(startTime).format("YYYY-MM-DDTHH:mm:ss"); + this.params.endTime = moment(endTime).format("YYYY-MM-DDTHH:mm:ss"); } delete this.params.timerange; } // 发起请求 - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); break; } case "新增": @@ -436,25 +382,11 @@ export default { handleSizeChange(newSize) { this.listQuery.page = 1; this.listQuery.limit = newSize; - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); }, handlePageChange(newPage) { - this.getAList( - Object.assign( - {}, - this.listQuery, - this.extraSearchConditions, - this.params - ) - ); + this.getAList(Object.assign({}, this.listQuery, this.extraSearchConditions, this.params)); }, /** 打开对话框 */ @@ -463,10 +395,7 @@ export default { this.$nextTick(() => { // console.log("init dialog", row_id, detail_mode); - this.$refs["order-dialog"].init( - /** some args... */ row_id, - detail_mode - ); + this.$refs["order-dialog"].init(/** some args... */ row_id, detail_mode); }); },