From 3cf1399adf3e3020b8609020aaa698852fc9a4dc Mon Sep 17 00:00:00 2001 From: 44673626 <44673626@qq.com> Date: Thu, 30 Dec 2021 17:50:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E4=BB=A3=E7=A0=81=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vue/src/components/ImportExcel-base/index.vue | 8 +- .../InvoiceSettledDetailDiff/index.vue | 364 +++++++++++------- .../billManage/InvoiceSettledDiff/index.vue | 6 +- .../ux/billManage/IssuedUnsettled/index.vue | 18 +- .../UnInvoiceSettledDetailDiff/index.vue | 12 +- .../billManage/UnSettleDiffExport/index.vue | 15 +- .../ux/billManage/UnSettledDiff/index.vue | 4 +- .../ux/billManage/kanBanWithCode/index.vue | 328 ++++++++++------ .../ux/billManage/kanbanOutOrder/detail.vue | 223 +++++++---- .../ux/billManage/kanbanOutOrder/index.vue | 33 +- .../views/ux/billManage/sparePart/index.vue | 294 +++++++++----- .../views/ux/billManage/vwOutOrder/index.vue | 26 +- 12 files changed, 844 insertions(+), 487 deletions(-) diff --git a/vue/src/components/ImportExcel-base/index.vue b/vue/src/components/ImportExcel-base/index.vue index f8468ed3..02bb517b 100644 --- a/vue/src/components/ImportExcel-base/index.vue +++ b/vue/src/components/ImportExcel-base/index.vue @@ -301,8 +301,10 @@ export default { vWKanBan: "大众看板结算明细", scrapClaims: "CP7报废和索赔", sparePart: "大众备件结算明细", - hqHPlatform: "红旗H平台导入", - hqMPlatform: "红旗M平台导入", + hqHPlatform: "红旗H平台", + hqMPlatform: "红旗M平台", + vwoutorder: "准时化出库单", + kanbanoutorder: "大众看板出库单", bomdatabase: "产品结构BOM", prebatch: "预批量", secondaryPriceRatio: "二配结算价格比例", @@ -330,6 +332,8 @@ export default { sparePart: "/api/settleaccount/SparePart/ExcelImport", //大众备件结算明细导入 hqHPlatform: "/api/settleaccount/HQHPlatform/ExcelImport", //红旗H平台导入 hqMPlatform: "/api/settleaccount/HQMPlatform/ExcelImport", //红旗M平台导入 + vwoutorder: "/api/settleaccount/wmsjitoutput/ExcelImport", //准时化出库单导入 + kanbanoutorder: "/api/settleaccount/wmskanbanoutput/ExcelImport", //大众看板出库单导入 bomdatabase: "/api/settleaccount/bom/ExcelImport", prebatch: "/api/settleaccount/Prebatch/ExcelImport", secondaryPriceRatio: diff --git a/vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue b/vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue index 0541e6fd..4a910c23 100644 --- a/vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue +++ b/vue/src/views/ux/billManage/InvoiceSettledDetailDiff/index.vue @@ -32,16 +32,17 @@ type="success" icon="el-icon-check" size="mini" - @click="handleCreateBills()" - >生成出库单(支持批量)已确认(支持批量) 已确认生成出库单(支持批量) @@ -63,7 +64,7 @@ 说明:每间隔30秒进行自动刷新!说明:每间隔3分钟进行自动刷新! @@ -106,7 +107,7 @@ - - + --> { clearInterval(timer); @@ -895,15 +896,15 @@ export default { prop: "taskId", width: 120, }); - tempsTabs.push({ - label: "模块名称", - prop: "name", - width: 170, - }); + // tempsTabs.push({ + // label: "模块名称", + // prop: "name", + // width: 180, + // }); tempsTabs.push({ label: "创建人", prop: "email", - width: 110, + width: 150, }); tempsTabs.push({ label: "创建时间", @@ -913,12 +914,12 @@ export default { tempsTabs.push({ label: "说明", prop: "remark", - width: 220, + width: 350, }); tempsTabs.push({ label: "审批状态", prop: "fileName", - width: 150, + width: 350, }); return tempsTabs; }, @@ -934,7 +935,7 @@ export default { console.log(this.listQuery.Sorting); this.handleFilter(); }, - /** 筛选操作 */ + /** 筛选操作 */ handleFilter() { this.page = 1; this.getList(); @@ -952,163 +953,234 @@ export default { this.getList(); }, handleSelectionChange(val) { + this.isEdit = false; + this.multipleSelection = []; this.multipleSelection = val; }, + //已确认 handleConfirm(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否确认" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/wmsjitoutput/WmsJitOutPutAudit", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "操作成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再确认!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否确认" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts( + "/api/settleaccount/wmsjitoutput/WmsJitOutPutAudit", + params + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "操作成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, //出库单 handleCreateBills(row) { - // if (this.multipleSelection.length == 0) { - // this.$message({ - // message: "至少选择一行!", - // type: "warning", - // }); - // return; - // } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; + this.isEdit = false; + if (this.multipleSelection.length == 0) { + this.$message({ + message: "至少选择一行!", + type: "warning", + }); + return; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.listBillQuery.guids = params; - this.listBillQuery.version = this.JobversionValue; - console.log("出库单条件:" + JSON.stringify(this.listBillQuery)); - this.$confirm("是否确认出库" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts( - "/api/settleaccount/wmsjitoutput/WmsJitOutPut", - this.listBillQuery - ) - .then((response) => { - console.log( - "检查柱护板-hostCheckQuery" + JSON.stringify(response) - ); - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, - }); + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再重新生成!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.listBillQuery.guids = params; + this.listBillQuery.version = this.JobversionValue; + console.log("出库单条件:" + JSON.stringify(this.listBillQuery)); + this.$confirm("是否确认出库" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.formLoading = true; + this.$axios + .posts( + "/api/settleaccount/wmsjitoutput/WmsJitOutPut", + this.listBillQuery + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "生成成功", + type: "success", + duration: 2000, + }); - this.getList(); + this.getList(); + this.formLoading = false; + }) + .catch(() => { + this.formLoading = false; + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, //批量删除 handleDelete(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能执行删除操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否删除" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/Job/delete", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "删除成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能删除!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否删除" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts("/api/settleaccount/Job/delete", params) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, //版本下拉列表选择项 JobVersionValue(params) { @@ -1279,7 +1351,7 @@ export default { project: "物料组", maxResultCount: 1000, skipCount: 0, - sorting:"value ascending" + sorting: "value ascending", }) .then((response) => { this.materialGroupList = []; @@ -1323,10 +1395,10 @@ export default { this.listExportQuery.end = this.cp5endTime ? this.cp5endTime : undefined; - this.listExportQuery.cp7begin = this.startTime + this.listExportQuery.cp7Begin = this.startTime ? this.startTime : undefined; - this.listExportQuery.cp7end = this.endTime ? this.endTime : undefined; + this.listExportQuery.cp7End = this.endTime ? this.endTime : undefined; if (this.formCount.chassisNumber != "") { this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //底盘号 } @@ -1343,7 +1415,7 @@ export default { JSON.stringify(this.listExportQuery) ); this.$axios - .gets( + .posts( "/api/settleaccount/ReportMakeService/InvoiceSettledDetailDiff-Make", this.listExportQuery ) @@ -1530,13 +1602,11 @@ export default { /** 通过回调控制style */ cellStyle({ row, column, rowIndex, columnIndex }) { var item = this.list[rowIndex]; - if (column.property === "stateName") { - if (item.stateName === "Succeeded") { - return { color: "#71d87f", cursor: "pointer" }; - } else if (item.stateName === "Processing") { - return { color: "#d87171", cursor: "pointer" }; - } else if (item.stateName === "Failed") { - return { color: "#ff5640", cursor: "pointer" }; + if (column.property === "fileName") { + if (item.fileName === "已确认") { + return { color: "#13CE66", cursor: "pointer", fontWeight: 700 }; + } else { + return { color: "#FFBA00", cursor: "pointer", fontWeight: 800 }; } } return { textAlign: "left" }; diff --git a/vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue b/vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue index 53b6a364..4444b4a4 100644 --- a/vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue +++ b/vue/src/views/ux/billManage/InvoiceSettledDiff/index.vue @@ -47,7 +47,7 @@ 说明:每间隔15秒进行自动刷新!说明:每间隔3分钟进行自动刷新! @@ -595,7 +595,7 @@ export default { this.listQuery.taskId = ""; this.listQuery.stateName = ""; setTimeout(this.getList, 0); - }, 1000 * 15); //15秒刷新一次页面 + }, 1000 * 180); //180秒刷新一次页面 // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。 this.$once("hook:beforeDestroy", () => { clearInterval(timer); @@ -989,7 +989,7 @@ export default { getList() { this.listLoading = true; //导入界面中超链接过来的参数 - this.listQuery.name = "发票与结算核对汇总"; + this.listQuery.name = "发票与结算核对汇总表"; this.listQuery.type = this.JobversionValue; this.$axios .posts("/api/settleaccount/Job/list", this.listQuery) diff --git a/vue/src/views/ux/billManage/IssuedUnsettled/index.vue b/vue/src/views/ux/billManage/IssuedUnsettled/index.vue index 6e6ac6a8..f8831cac 100644 --- a/vue/src/views/ux/billManage/IssuedUnsettled/index.vue +++ b/vue/src/views/ux/billManage/IssuedUnsettled/index.vue @@ -47,7 +47,7 @@ 说明:每间隔15秒进行自动刷新!说明:每间隔3分钟进行自动刷新! @@ -699,7 +699,7 @@ export default { this.listQuery.taskId = ""; this.listQuery.stateName = ""; setTimeout(this.getList, 0); - }, 1000 * 15); //15秒刷新一次页面 + }, 1000 * 180); //15秒刷新一次页面 // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。 this.$once("hook:beforeDestroy", () => { clearInterval(timer); @@ -732,11 +732,11 @@ export default { prop: "taskId", width: 130, }); - tempsTabs.push({ - label: "模块名称", - prop: "name", - width: 170, - }); + // tempsTabs.push({ + // label: "模块名称", + // prop: "name", + // width: 170, + // }); tempsTabs.push({ label: "创建人", prop: "email", @@ -969,7 +969,7 @@ export default { JSON.stringify(this.listExportQuery) ); this.$axios - .gets( + .posts( "/api/settleaccount/ReportMakeService/UnsettledDetailReportService-Make", this.listExportQuery ) @@ -1119,7 +1119,7 @@ export default { getList() { this.listLoading = true; //导入界面中超链接过来的参数 - this.listQuery.name = "大众准时化未结明细表"; + this.listQuery.name = "准时化未结明细表"; this.listQuery.type = this.JobversionValue; this.$axios .posts("/api/settleaccount/Job/list", this.listQuery) diff --git a/vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue b/vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue index 068ea053..3d45d141 100644 --- a/vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue +++ b/vue/src/views/ux/billManage/UnInvoiceSettledDetailDiff/index.vue @@ -708,8 +708,8 @@ export default { listExportQuery: { version: "", materialCode: undefined, - cp7begin: undefined, - cp7end: undefined, + cp7Begin: undefined, + cp7End: undefined, kenncode: undefined, chassisNumber: undefined, materialGroup: undefined, @@ -1014,10 +1014,10 @@ export default { this.listExportQuery.end = this.cp5endTime ? this.cp5endTime : undefined; - this.listExportQuery.cp7begin = this.startTime + this.listExportQuery.cp7Begin = this.startTime ? this.startTime : undefined; - this.listExportQuery.cp7end = this.endTime ? this.endTime : undefined; + this.listExportQuery.cp7End = this.endTime ? this.endTime : undefined; if (this.formCount.chassisNumber != "") { this.listExportQuery.chassisNumber = this.formCount.chassisNumber; //底盘号 } @@ -1029,7 +1029,7 @@ export default { JSON.stringify(this.listExportQuery) ); this.$axios - .gets( + .posts( "/api/settleaccount/ReportMakeService/UnInvoiceSettledDetailDiff-Make", this.listExportQuery ) @@ -1181,7 +1181,7 @@ export default { getList() { this.listLoading = true; //导入界面中超链接过来的参数 - this.listQuery.name = "准时化量差输出"; + this.listQuery.name = "准时化结算数量差异比对输出"; this.listQuery.type = this.JobversionValue; this.$axios .posts("/api/settleaccount/Job/list", this.listQuery) diff --git a/vue/src/views/ux/billManage/UnSettleDiffExport/index.vue b/vue/src/views/ux/billManage/UnSettleDiffExport/index.vue index bfd56ab4..3d4474cd 100644 --- a/vue/src/views/ux/billManage/UnSettleDiffExport/index.vue +++ b/vue/src/views/ux/billManage/UnSettleDiffExport/index.vue @@ -17,7 +17,7 @@ size="mini" type="primary" icon="el-icon-plus" - @click="handleCreate" + @click="handleCreate()" >统计 { + if (this.$refs["formCount"] !== undefined) { this.$refs["formCount"].resetFields(); - }); + } + // this.$nextTick(() => { + // this.$refs["formCount"].resetFields(); + // }); this.formTitle = "报表统计"; this.isEdit = false; this.form = {}; diff --git a/vue/src/views/ux/billManage/UnSettledDiff/index.vue b/vue/src/views/ux/billManage/UnSettledDiff/index.vue index c3602e58..5f64fd79 100644 --- a/vue/src/views/ux/billManage/UnSettledDiff/index.vue +++ b/vue/src/views/ux/billManage/UnSettledDiff/index.vue @@ -966,7 +966,7 @@ export default { JSON.stringify(this.listExportQuery) ); this.$axios - .gets( + .posts( "/api/settleaccount/ReportMakeService/UnSettledDiff-Make", this.listExportQuery ) @@ -1116,7 +1116,7 @@ export default { getList() { this.listLoading = true; //导入界面中超链接过来的参数 - this.listQuery.name = "未结算对比"; + this.listQuery.name = "准时化未结明细表"; this.listQuery.type = this.JobversionValue; this.$axios .posts("/api/settleaccount/Job/list", this.listQuery) diff --git a/vue/src/views/ux/billManage/kanBanWithCode/index.vue b/vue/src/views/ux/billManage/kanBanWithCode/index.vue index 8c051717..69976ba6 100644 --- a/vue/src/views/ux/billManage/kanBanWithCode/index.vue +++ b/vue/src/views/ux/billManage/kanBanWithCode/index.vue @@ -32,16 +32,17 @@ type="success" icon="el-icon-check" size="mini" - @click="handleCreateBills()" - >生成出库单(支持批量)已确认(支持批量) 已确认生成出库单(支持批量) @@ -63,7 +64,7 @@ 说明:每间隔30秒进行自动刷新!说明:每间隔3分钟进行自动刷新! @@ -105,7 +106,7 @@ - - + --> { clearInterval(timer); @@ -740,11 +741,11 @@ export default { prop: "taskId", width: 120, }); - tempsTabs.push({ - label: "模块名称", - prop: "name", - width: 170, - }); + // tempsTabs.push({ + // label: "模块名称", + // prop: "name", + // width: 170, + // }); tempsTabs.push({ label: "创建人", prop: "email", @@ -755,7 +756,7 @@ export default { prop: "createdAt", width: 150, }); - tempsTabs.push({ + tempsTabs.push({ label: "说明", prop: "remark", width: 220, @@ -763,7 +764,7 @@ export default { tempsTabs.push({ label: "审批状态", prop: "fileName", - width: 150, + width: 350, }); return tempsTabs; }, @@ -774,149 +775,228 @@ export default { }, //批量删除 handleDelete(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能执行删除操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否删除" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/Job/delete", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "删除成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能删除!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否删除" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts("/api/settleaccount/Job/delete", params) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, + //已确认 handleConfirm(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否确认" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/wms/WmsJitOutPut", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再确认!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否确认" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts( + "/api/settleaccount/wmskanbanoutput/WmsKanbanOutPutAudit", + params + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "操作成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, //出库单 handleCreateBills(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否确认出库" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/wms/WmsJitOutPut", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再重新生成!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.listBillQuery.guids = params; + this.listBillQuery.version = this.JobversionValue; + console.log("出库单条件:" + JSON.stringify(this.listBillQuery)); + this.$confirm("是否确认出库" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.formLoading = true; + this.$axios + .posts( + "/api/settleaccount/wmskanbanoutput/WmsKanbanOutPut", + this.listBillQuery + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "生成成功", + type: "success", + duration: 2000, + }); + + this.getList(); + this.formLoading = false; + }) + .catch(() => { + this.formLoading = false; }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, valueChange(data) { this.getmaterialGroupValue = ""; @@ -1060,7 +1140,7 @@ export default { JSON.stringify(this.listExportQuery) ); this.$axios - .gets( + .posts( "/api/settleaccount/ReportMakeService/SettleKanBan-WithCode", this.listExportQuery ) @@ -1229,16 +1309,14 @@ export default { // }); // }, resetQuery() {}, - /** 通过回调控制style */ + /** 通过回调控制style */ cellStyle({ row, column, rowIndex, columnIndex }) { var item = this.list[rowIndex]; - if (column.property === "stateName") { - if (item.stateName === "Succeeded") { - return { color: "#71d87f", cursor: "pointer" }; - } else if (item.stateName === "Processing") { - return { color: "#d87171", cursor: "pointer" }; - } else if (item.stateName === "Failed") { - return { color: "#ff5640", cursor: "pointer" }; + if (column.property === "fileName") { + if (item.fileName === "已确认") { + return { color: "#13CE66", cursor: "pointer", fontWeight: 700 }; + } else { + return { color: "#FFBA00", cursor: "pointer", fontWeight: 800 }; } } return { textAlign: "left" }; diff --git a/vue/src/views/ux/billManage/kanbanOutOrder/detail.vue b/vue/src/views/ux/billManage/kanbanOutOrder/detail.vue index c7fdcb9a..65fbdc2d 100644 --- a/vue/src/views/ux/billManage/kanbanOutOrder/detail.vue +++ b/vue/src/views/ux/billManage/kanbanOutOrder/detail.vue @@ -10,6 +10,12 @@ @click="handleDownload()" >导出全部 --> + 取消出库(支持批量) @@ -106,10 +112,11 @@ import Pagination from "@/components/Pagination"; // secondary package based on import permission from "@/directive/permission/index.js"; import CRMTableHead from "../../components/CRMTableHead"; import { downloadFile } from "@/utils/crmindex.js"; +import JobSelectVerson from "@/components/CreateCom/Job-Select.vue"; export default { name: "sendUnsettledDiffReport", - components: { Pagination, CRMTableHead, CRMTableHead }, + components: { Pagination, CRMTableHead, CRMTableHead, JobSelectVerson }, directives: { permission }, props: { customerInfos: { @@ -131,6 +138,7 @@ export default { searchContent: "", // 输入内容 customerInfo: { parentId: "", + version: "", }, form: { dicDetailID: "", @@ -141,6 +149,13 @@ export default { totalCount: 0, listLoading: true, formLoading: false, + JobVersionList: [ + { value: "0", label: "未处理" }, + { value: "1", label: "申请出库" }, + { value: "2", label: "确认出库" }, + { value: "3", label: "不能出库" }, + { value: "4", label: "取消出库" }, + ], // 高级搜索 filterObj: { type: Object, @@ -152,27 +167,29 @@ export default { Filters: [ { logic: 0, - column: "", + column: "Enabled", action: 0, - value: "", + value: "true", }, //默认查询可用的 ], - //OrgID:"", SkipCount: 0, MaxResultCount: 15, - ParentId: "", + billNum: "", }, listOutPutQuery: { version: "", - ids: "", + guids: "", + billNum: "", }, page: 1, + JobversionValue: "", + JobversionValueVerson: "", dialogFormVisible: false, multipleSelection: [], formTitle: "", drawer: false, showExcelImport: false, - tableHeight: document.documentElement.clientHeight - 260, + tableHeight: document.documentElement.clientHeight - 230, isEdit: false, }; }, @@ -194,6 +211,7 @@ export default { } else { newVal.forEach((element) => { this.customerInfo.parentId = element.ParentId; + this.customerInfo.version = element.Version; }); if (this.customerInfo.parentId != "") { this.getList(); @@ -210,20 +228,38 @@ export default { tempsTabs.push({ label: "版本", prop: "version", - width: 150, + width: 110, }); tempsTabs.push({ label: "零件号", prop: "materialCode", width: 150, }); + tempsTabs.push({ label: "KEEN号", prop: "kennCode", width: 170 }); + tempsTabs.push({ label: "底盘号", prop: "chassisNumber", width: 190 }); tempsTabs.push({ label: "零件描述", prop: "materialDesc", width: 250 }); tempsTabs.push({ label: "物料组", prop: "materialGroup", width: 220 }); - tempsTabs.push({ label: "数量", prop: "wmsBillNum", width: 100 }); + tempsTabs.push({ label: "交货单号", prop: "wmsBillNum", width: 100 }); + tempsTabs.push({ label: "数量", prop: "qty", width: 100 }); + tempsTabs.push({ label: "状态", prop: "state", width: 100 }); return tempsTabs; }, }, methods: { + //版本下拉列表选择项 + JobVersionValue(params) { + //版本下拉选择 + this.listQuery.Filters = []; + var column = "state"; + let filter = { + logic: 0, + column: column, + action: 0, + value: params.value, + }; + this.listQuery.Filters.push(filter); + this.getList(); + }, //取消出库单 handleCancelBills(row) { if (this.multipleSelection.length == 0) { @@ -233,8 +269,7 @@ export default { }); return; } - //var params = []; - var params = ""; + var params = []; let myalert = ""; //声明变量,其变量必须在此声明后使用 if (row) { //单行 @@ -244,13 +279,14 @@ export default { //多选 this.multipleSelection.forEach((element) => { let id = element.id; - //params.push(id); - params += id + ","; + params.push(id); }); myalert = "选中项"; } - this.listOutPutQuery.version = row.version; - this.listOutPutQuery.ids = params.substr(0, params.length - 1); + this.listOutPutQuery.version = this.customerInfo.version; + this.listOutPutQuery.guids = params; + this.listOutPutQuery.billNum = this.customerInfo.parentId; + console.log("取消出库条件:" + JSON.stringify(this.listOutPutQuery)); this.$confirm("是否确认取消出库" + myalert + "?", "提示", { confirmButtonText: "确定", @@ -260,7 +296,7 @@ export default { .then(() => { this.$axios .posts( - "/api/settleaccount/wmsjitoutput/WmsJitOutPut-Cancel", + "/api/settleaccount/wmskanbanoutput/WmsKanbanOutPut-Cancel", this.listOutPutQuery ) .then((response) => { @@ -284,59 +320,96 @@ export default { //出库单 handleCreateBills(row) { if (this.multipleSelection.length == 0) { - this.$message({ - message: "至少选择一行!", + this.listLoading = true; + this.listOutPutQuery.guids = []; + this.listOutPutQuery.version = this.customerInfo.version; + this.listOutPutQuery.billNum = this.customerInfo.parentId; + console.log( + "未选择时全部确认出库条件:" + JSON.stringify(this.listOutPutQuery) + ); + this.$confirm("是否全部确认出库?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", type: "warning", - }); - return; - } - //var params = []; - var params = ""; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; - } else { - //多选 - this.multipleSelection.forEach((element) => { - let id = element.id; - //params.push(id); - params += id + ","; - }); - myalert = "选中项"; - } - this.listOutPutQuery.version = row.version; - this.listOutPutQuery.ids = params.substr(0, params.length - 1); - - this.$confirm("是否确认出库" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts( - "/api/settleaccount/wmsjitoutput/WmsJitOutPut-Pass", - this.listOutPutQuery - ) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, + }) + .then(() => { + this.$axios + .posts( + "/api/settleaccount/wmskanbanoutput/WmsKanbanOutPut-Pass", + this.listOutPutQuery + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "生成成功", + type: "success", + duration: 2000, + }); + this.getList(); + this.listLoading = false; }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); + this.listLoading = false; + }); + } else { + this.listLoading = true; + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.listOutPutQuery.version = this.customerInfo.version; + this.listOutPutQuery.guids = params; + this.listOutPutQuery.billNum = this.customerInfo.parentId; + console.log( + "部分选择时确认出库条件:" + JSON.stringify(this.listOutPutQuery) + ); + this.$confirm("是否确认将选中的出库" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", + .then(() => { + this.$axios + .posts( + "/api/settleaccount/wmskanbanoutput/WmsKanbanOutPut-Pass", + this.listOutPutQuery + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "生成成功", + type: "success", + duration: 2000, + }); + this.getList(); + this.listLoading = false; + }); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", + }); + this.listLoading = false; }); - }); + } }, /** 刷新列表 */ handleHandle(data) { @@ -346,6 +419,15 @@ export default { }, /** 格式化字段 */ fieldFormatter(row, column) { + if (column.property == "state") { + return { + 0: "未处理", + 1: "申请出库", + 2: "确认出库", + 3: "不能出库", + 4: "取消出库", + }[row[column.property]]; + } return row[column.property] || "--"; }, importExcelData() { @@ -402,18 +484,11 @@ export default { } else { this.listQuery.SkipCount = (this.page - 1) * 15; } - let filter = { - logic: 0, - column: "wmsBillNum", - action: 6, - value: this.customerInfo.parentId, - }; - this.listQuery.Filters.push(filter); - //this.listQuery.ParentId = this.customerInfo.parentId; + this.listQuery.billNum = this.customerInfo.parentId; console.log("查询条件:" + JSON.stringify(this.listQuery)); this.$axios .posts( - "/api/settleaccount/wmsjitoutput/WmsJitDetailList", + "/api/settleaccount/wmskanbanoutput/WmsKanbanDetailList", this.listQuery ) .then((response) => { diff --git a/vue/src/views/ux/billManage/kanbanOutOrder/index.vue b/vue/src/views/ux/billManage/kanbanOutOrder/index.vue index cd7f23ba..6d4b1156 100644 --- a/vue/src/views/ux/billManage/kanbanOutOrder/index.vue +++ b/vue/src/views/ux/billManage/kanbanOutOrder/index.vue @@ -18,6 +18,14 @@ @click="handleFilter" >搜索 + 导入文件(Excel) + + + { this.list = response.items; //alert(JSON.stringify(response.Items)) diff --git a/vue/src/views/ux/billManage/sparePart/index.vue b/vue/src/views/ux/billManage/sparePart/index.vue index 567066e5..3f9ae004 100644 --- a/vue/src/views/ux/billManage/sparePart/index.vue +++ b/vue/src/views/ux/billManage/sparePart/index.vue @@ -32,16 +32,17 @@ type="success" icon="el-icon-check" size="mini" - @click="handleCreateBills()" - >生成出库单(支持批量)已确认(支持批量) 已确认生成出库单(支持批量) @@ -63,7 +64,7 @@ 说明:每间隔30秒进行自动刷新!说明:每间隔3分钟进行自动刷新! @@ -756,7 +757,7 @@ export default { this.listQuery.taskId = ""; this.listQuery.stateName = ""; setTimeout(this.getList, 0); - }, 1000 * 30); //30秒刷新一次页面 + }, 1000 * 180); //30秒刷新一次页面 // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。 this.$once("hook:beforeDestroy", () => { clearInterval(timer); @@ -832,149 +833,228 @@ export default { }, //批量删除 handleDelete(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能执行删除操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否删除" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/Job/delete", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "删除成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能删除!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否删除" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts("/api/settleaccount/Job/delete", params) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "删除成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, + //已确认 handleConfirm(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否确认" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccounWmsJitOutPutt/wms/", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再确认!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.$confirm("是否确认" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$axios + .posts( + "/api/settleaccount/wmsSharePartoutput/WmsSharePartOutPutAudit", + params + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "操作成功", + type: "success", + duration: 2000, + }); + this.getList(); }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, //出库单 handleCreateBills(row) { + this.isEdit = false; if (this.multipleSelection.length == 0) { this.$message({ message: "至少选择一行!", type: "warning", }); return; - } - var params = []; - let myalert = ""; //声明变量,其变量必须在此声明后使用 - if (row) { - //单行 - params.push(row.id); - myalert = row.name; } else { - //多选 + var getbillNum = ""; + //判断已经生成出库单的不能再生成出库操作 this.multipleSelection.forEach((element) => { - let id = element.id; - params.push(id); + let state = element.fileName; + if (state != "" && state != "已确认") { + this.isEdit = true; + getbillNum += state + ","; + } }); - myalert = "选中项"; } - this.$confirm("是否确认出库" + myalert + "?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }) - .then(() => { - this.$axios - .posts("/api/settleaccount/wms/WmsJitOutPut", params) - .then((response) => { - const index = this.list.indexOf(row); - this.$notify({ - title: "成功", - message: "生成成功", - type: "success", - duration: 2000, + if (this.isEdit == true) { + this.$message({ + message: + "已经生成出库单的不能再重新生成!单号:" + + getbillNum.substr(0, getbillNum.length - 1), + type: "warning", + }); + return; + } else { + var params = []; + let myalert = ""; //声明变量,其变量必须在此声明后使用 + if (row) { + //单行 + params.push(row.id); + myalert = row.name; + } else { + //多选 + this.multipleSelection.forEach((element) => { + let id = element.id; + params.push(id); + }); + myalert = "选中项"; + } + this.listBillQuery.guids = params; + this.listBillQuery.version = this.JobversionValue; + console.log("出库单条件:" + JSON.stringify(this.listBillQuery)); + this.$confirm("是否确认出库" + myalert + "?", "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.formLoading = true; + this.$axios + .posts( + "/api/settleaccount/wmsSharePartoutput/WmsSharePartOutPut", + this.listBillQuery + ) + .then((response) => { + const index = this.list.indexOf(row); + this.$notify({ + title: "成功", + message: "生成成功", + type: "success", + duration: 2000, + }); + + this.getList(); + this.formLoading = false; + }) + .catch(() => { + this.formLoading = false; }); - this.getList(); + }) + .catch(() => { + this.$message({ + type: "info", + message: "已取消操作", }); - }) - .catch(() => { - this.$message({ - type: "info", - message: "已取消操作", }); - }); + } }, valueChange(data) { this.getmaterialGroupValue = ""; diff --git a/vue/src/views/ux/billManage/vwOutOrder/index.vue b/vue/src/views/ux/billManage/vwOutOrder/index.vue index 90727815..f4dd59ba 100644 --- a/vue/src/views/ux/billManage/vwOutOrder/index.vue +++ b/vue/src/views/ux/billManage/vwOutOrder/index.vue @@ -18,6 +18,14 @@ @click="handleFilter" >搜索 + 导入文件(Excel) + + +