From ef815963da1ebaebcb4de8985f178e3add8c54a3 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期六, 23 三月 2024 15:17:35 +0800 Subject: [PATCH] 发货列表、 发货准备列表、保存发货信息、全部发货完成等接口联调 --- src/views/orderManageModule/orderManage/components/DeliveryDialog.vue | 102 +++++++++++++------ vue.config.js | 4 src/components/layout/components/appHeader/index.vue | 6 src/views/orderManageModule/orderManage/index.vue | 115 +++++++++++++++++++--- src/api/orderManageModule/orderManage.js | 46 ++++++--- 5 files changed, 202 insertions(+), 71 deletions(-) diff --git a/src/api/orderManageModule/orderManage.js b/src/api/orderManageModule/orderManage.js index 4f09a82..e055f30 100644 --- a/src/api/orderManageModule/orderManage.js +++ b/src/api/orderManageModule/orderManage.js @@ -4,7 +4,7 @@ // 濮斿璁㈠崟鍒楄〃 export const outsourceOrderList = (data) => { return request({ - url: "/api-s/v1/outsourcing/order/list", + url: "/api-outsourcing/v1/order/list", method: "get", params: data }) @@ -13,7 +13,7 @@ // 濮斿璁㈠崟缁熻 export const outsourceOrderOverview = () => { return request({ - url: "/api-s/v1/outsourcing/order/overview", + url: "/api-outsourcing/v1/order/overview", method: "get" }) } @@ -21,7 +21,7 @@ // 濮斿璁㈠崟浜у搧鍒楄〃 export const outsourceOrderProductList = (data) => { return request({ - url: "/api-s/v1/outsourcing/order/productList", + url: "/api-outsourcing/v1/order/productList", method: "get", params: data }) @@ -30,25 +30,41 @@ // 濮斿浼佷笟渚涜揣鍘嗗彶 export const outsourcenterpriseProductList = (data) => { return request({ - url: "/api-s/v1/outsourcing/enterprise/productList", + url: "/api-outsourcing/v1/enterprise/productList", method: "get", params: data }) } -// // 濮斿渚涘簲鍟� -// export const orderAssign = (data) => { -// return request({ -// url: "/api-s/v1/outsourcing/order/assign", -// method: "post", -// data -// }) -// } +// 鑾峰彇鍙戣揣鍒楄〃 +export const getDeliveryList = (data) => { + return request({ + url: "/api-outsourcing/v1/order/deliveryList", + method: "post", + data + }) +} +// 鍙戣揣寮圭獥鍙戣揣鍑嗗鍒楄〃 +export const getDeliveryPrepare = (data) => { + return request({ + url: "/api-outsourcing/v1/order/deliveryPrepare?outsourcingOrderID=" + data.outsourcingOrderID, + method: "get", + data + }) +} +// 淇濆瓨鍙戣揣淇℃伅 +export const saveDelivery = (data) => { + return request({ + url: "/api-outsourcing/v1/order/saveDelivery", + method: "post", + data + }) +} // 淇濆瓨鐗╂枡鐢宠鍗� export const saveMaterialApply = (data) => { return request({ - url: "/api-s/v1/outsourcing/order/saveMaterialApply", + url: "/api-outsourcing/v1/order/saveMaterialApply", method: "post", data }) @@ -57,7 +73,7 @@ // 鑾峰彇鐗╂枡鐢宠鍗� export const getMaterialApplyList = (data) => { return request({ - url: "/api-s/v1/outsourcing/order/getMaterialApplyList", + url: "/api-outsourcing/v1/order/getMaterialApplyList", method: "post", data }) @@ -66,7 +82,7 @@ // 淇敼鐘舵�� export const changeOutsourceOrderStatus = (data) => { return request({ - url: "/api-s/v1/outsourcing/order/changeStatus", + url: "/api-outsourcing/v1/order/changeStatus", method: "post", data }) diff --git a/src/components/layout/components/appHeader/index.vue b/src/components/layout/components/appHeader/index.vue index d1c5c8a..955df69 100644 --- a/src/components/layout/components/appHeader/index.vue +++ b/src/components/layout/components/appHeader/index.vue @@ -37,12 +37,12 @@ } }, created() { - console.log(localStorage, "dddd") + // console.log(localStorage, "dddd") }, mounted() { // this.username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1") - console.log(localStorage, "mounted") - console.log(localStorage) + // console.log(localStorage, "mounted") + // console.log(localStorage) this.editConfig.userId = localStorage.getItem("uuid") this.username = localStorage.getItem("username") }, diff --git a/src/views/orderManageModule/orderManage/components/DeliveryDialog.vue b/src/views/orderManageModule/orderManage/components/DeliveryDialog.vue index 2b417fc..0420997 100644 --- a/src/views/orderManageModule/orderManage/components/DeliveryDialog.vue +++ b/src/views/orderManageModule/orderManage/components/DeliveryDialog.vue @@ -39,7 +39,6 @@ style="width: 100%" height="500" border - @selection-change="getSelectArray" :header-cell-style="{ background: '#f1f3f8', color: '#000009', @@ -50,12 +49,12 @@ > <!-- <el-table-column type="selection" width="55"> </el-table-column> --> <el-table-column type="index" label="搴忓彿" width="50" align="center"></el-table-column> - <el-table-column prop="name" label="浜у搧鍚嶇О" show-overflow-tooltip></el-table-column> - <el-table-column prop="number" label="浜у搧缂栧彿" show-overflow-tooltip> </el-table-column> - <el-table-column prop="orderAmount" label="璁㈠崟鏁伴噺"> </el-table-column> - <el-table-column prop="amount" label="宸插彂璐ф暟閲�"> </el-table-column> - <el-table-column prop="specifications" label="浜у搧瑙勬牸"> </el-table-column> - <el-table-column prop="modelNumber" label="浜у搧鍨嬪彿"> </el-table-column> + <el-table-column prop="productName" label="浜у搧鍚嶇О" show-overflow-tooltip></el-table-column> + <el-table-column prop="productId" label="浜у搧缂栧彿" show-overflow-tooltip> </el-table-column> + <el-table-column prop="amount" label="璁㈠崟鏁伴噺"> </el-table-column> + <el-table-column prop="sendAmount" label="宸插彂璐ф暟閲�"> </el-table-column> + <el-table-column prop="specs" label="浜у搧瑙勬牸"> </el-table-column> + <el-table-column prop="type" label="浜у搧鍨嬪彿"> </el-table-column> <el-table-column prop="unit" label="鍗曚綅"> </el-table-column> <el-table-column prop="deliveryAmount" label="鍙戣揣鏁伴噺"> <template slot-scope="scope"> @@ -82,7 +81,7 @@ <el-button @click="editRow.visible = false">鍏抽棴</el-button> </template> <template v-else> - <el-button type="primary" :loading="isAddloading" @click="saveClick('form')">鍏ㄩ儴鍙戣揣瀹屾垚</el-button> + <!-- <el-button type="primary" :loading="isAddloading" @click="deliveryCompleteClick()">鍏ㄩ儴鍙戣揣瀹屾垚</el-button> --> <el-button @click="editRow.visible = false">鍙栨秷</el-button> <el-button type="primary" :loading="isAddloading" @click="saveClick('form')">纭鍙戣揣</el-button> </template> @@ -92,6 +91,7 @@ </template> <script> +import { getDeliveryPrepare, saveDelivery, changeOutsourceOrderStatus } from "@/api/orderManageModule/orderManage" export default { name: "DeliveryDialog", props: { @@ -118,12 +118,7 @@ infomation: {} }, isAddloading: false, - tableData: [ - { - name: "椤堕《椤堕《", - deliveryAmount: 2 - } - ], + tableData: [], ruleForm: { number: "", carrier: "", @@ -136,6 +131,7 @@ }, created() { // this.setTableForm() + this.getDeliveryPrepare() }, watch: { "editCommonConfig.visible"(val) { @@ -148,27 +144,26 @@ handleClose() { this.editRow.visible = false }, + // 鑾峰彇鍙戣揣浜у搧鍒楄〃 + getDeliveryPrepare() { + getDeliveryPrepare({ + outsourcingOrderID: this.editRow.infomation.id + }).then((res) => { + console.log(res) + if (res.code == 200) { + let list = res.data.map((item) => { + return { + ...item, + deliveryAmount: 0 + } + }) + this.tableData = list + } + }) + }, // 澶氶�夊洖璋� getSelectArray(arr) { console.log(arr) - // let isPush = true - // if (arr.length > 0) { - // for (let i in arr) { - // let item = { - // outsourcingOrderNumber: this.editRow.infomation.outsourcingOrderNumber, - // materialNumber: arr[i].id, - // materialName: arr[i].name, - // amount: 1, - // unit: arr[i].unit ? arr[i].unit : 1, - // type: arr[i].type ? arr[i].type : "", - // specs: arr[i].specs ? arr[i].specs : "" - // } - // console.log(arr, "8989") - // isPush = this.getIsPush(this.productTableList.tableInfomation, arr[i].id) - // if (isPush) { - // this.productTableList.tableInfomation.splice(this.productTableList.tableInfomation.length, 0, item) - // } - // } }, // 鏁伴噺杈撳叆鍥炶皟 inputContent(val, scope) { @@ -177,9 +172,50 @@ saveClick(formName) { this.$refs[formName].validate((valid) => { if (valid) { - console.log("淇濆瓨鍐呭澶勭悊") + console.log(this.ruleForm, "淇濆瓨鍐呭澶勭悊", this.tableData) + let deliveryList = this.tableData.map((item) => { + return { + outsourcingOrderProductID: item.id, + sendAmount: item.deliveryAmount + } + }) + let params = { + carrier: this.ruleForm.carrier, + deliveryList: deliveryList, + number: this.ruleForm.number, + outsourcingOrderID: this.editRow.infomation.id, + waybillNumber: this.ruleForm.waybillNumber + } + saveDelivery(params).then((res) => { + if (res.code == 200) { + this.handleClose() + this.$message.success("鍙戣揣鎴愬姛") + this.$emit("reRreshData") + } + }) } }) + }, + // 鍏ㄩ儴鍙戣揣瀹屾垚 + deliveryCompleteClick() { + this.$confirm("鏄惁纭鍏ㄩ儴鍙戣揣瀹屾垚?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + changeOutsourceOrderStatus({ + outsourcingOrderNumber: this.editRow.infomation.number, + status: 7 + }) + .then((reply) => { + if (reply.code == 200) { + this.handleClose() + this.$message.success("鍏ㄩ儴鍙戣揣瀹屾垚鎴愬姛") + this.$emit("reRreshData") + } + }) + .catch(() => {}) + }) } } } diff --git a/src/views/orderManageModule/orderManage/index.vue b/src/views/orderManageModule/orderManage/index.vue index 95eb7d0..2997211 100644 --- a/src/views/orderManageModule/orderManage/index.vue +++ b/src/views/orderManageModule/orderManage/index.vue @@ -10,7 +10,7 @@ :otherOptions="otherOptions" :show-action-btn="false" :placeholder="'璇疯緭鍏ヨ鍗曠紪鍙�'" - @searchClick="onFilterSearch" + @searchClick="searchClick" /> </div> </div> @@ -30,8 +30,12 @@ <el-table-column label="鎿嶄綔" width="160" fixed="right"> <template slot-scope="scope"> <template v-if="scope.row.status == 1"> - <el-button type="text" size="small">纭</el-button> - <el-button type="text" size="small">鍙栨秷</el-button> + <el-button type="text" size="small" @click.stop="changeStatusClick(scope.row, '纭')" + >纭</el-button + > + <el-button type="text" size="small" @click.stop="changeStatusClick(scope.row, '鍙栨秷')" + >鍙栨秷</el-button + > </template> <el-button v-else-if="scope.row.status == 2 || scope.row.status == 4" @@ -41,12 +45,16 @@ >鐢宠鐗╂枡</el-button > <template v-else-if="scope.row.status == 5"> - <el-button type="text" size="small">鐢熶骇瀹屾垚</el-button> + <el-button type="text" size="small" @click.stop="changeStatusClick(scope.row, '鐢熶骇瀹屾垚')" + >鐢熶骇瀹屾垚</el-button + > <el-button type="text" size="small" @click.stop="deliveryClick(scope.row)">鍙戣揣</el-button> </template> <template v-else-if="scope.row.status == 6"> <el-button type="text" size="small" @click.stop="deliveryClick(scope.row)">鍙戣揣</el-button> - <el-button type="text" size="small">鍏抽棴</el-button> + <el-button type="text" size="small" @click.stop="changeStatusClick(scope.row, '鍙戣揣瀹屾垚')" + >鍙戣揣瀹屾垚</el-button + > </template> <span v-else>--</span> </template> @@ -132,8 +140,9 @@ outsourceOrderList, outsourceOrderOverview, outsourceOrderProductList, - getMaterialApplyList - // changeOutsourceOrderStatus + getMaterialApplyList, + getDeliveryList, + changeOutsourceOrderStatus } from "@/api/orderManageModule/orderManage" import pageMixin from "@/components/makepager/pager/mixin/pageMixin" import ApplyMaterialsDialog from "@/views/orderManageModule/orderManage/components/ApplyMaterialsDialog" @@ -200,13 +209,13 @@ { label: "浜у搧鍚嶇О", prop: "productName", default: true }, { label: "浜у搧缂栧彿", prop: "productId" }, { label: "璁㈠崟鏁伴噺", prop: "amount" }, - { label: "鍙戣揣鏁伴噺", prop: "validity_date" }, + { label: "鍙戣揣鏁伴噺", prop: "sendAmount" }, { label: "浜у搧瑙勬牸", prop: "specs" }, - { label: "浜у搧鍨嬪彿", prop: "model" }, + { label: "浜у搧鍨嬪彿", prop: "type" }, { label: "鍗曚綅", prop: "unit" }, - { label: "杩愬崟鍙�", prop: "validity_date" }, - { label: "鎵胯繍鍟�", prop: "validity_date" }, - { label: "鍒涘缓鏃堕棿", prop: "client_name", min: 100 } + { label: "杩愬崟鍙�", prop: "waybillNumber" }, + { label: "鎵胯繍鍟�", prop: "carrier" }, + { label: "鍒涘缓鏃堕棿", prop: "createdAt", min: 100 } ], showDeliveryRquestCol: [ "鍙戣揣鍗曞彿", @@ -274,10 +283,33 @@ }, // 鑾峰彇鐗╂枡鐢宠鍗� getMaterialApplyList(number) { - getMaterialApplyList({ number: number, page: 1, pageSize: 15 }).then((res) => { + getMaterialApplyList({ number: number }).then((res) => { console.log(res) if (res.code == 200) { this.bottomTwoTableList2.tableInfomation = res.data + } + }) + }, + // 鑾峰彇鍙戣揣鍒楄〃 + getDeliveryList(id) { + getDeliveryList({ outsourcingOrderID: id }).then((res) => { + console.log(res) + if (res.code == 200) { + let list = res.data.map((item) => { + return { + number: item.outsourcingOrderDelivery.number, + productName: item.outsourcingOrderProduct.productName, + productId: item.outsourcingOrderProduct.productId, + amount: item.outsourcingOrderProduct.amount, + sendAmount: item.sendAmount, + type: item.outsourcingOrderProduct.type, + unit: item.outsourcingOrderProduct.unit, + waybillNumber: item.outsourcingOrderDelivery.waybillNumber, + carrier: item.outsourcingOrderDelivery.carrier, + createdAt: item.createdAt + } + }) + this.bottomTwoTableList3.tableInfomation = list } }) }, @@ -296,15 +328,20 @@ addCommonClick() { alert("闇茶タ666") }, - searchClick() {}, - onFilterSearch() {}, + searchClick(val) { + this.searchParam.keyword = val + this.pagerOptions.currPage = 1 + this.getData() + }, tableRowClick(row, column, event) { console.log(row, column, event) this.selectRow = row if (this.activeNameBottom == 1) { this.getProductListMethod(this.selectRow.id) - } else { + } else if (this.activeNameBottom == 2) { this.getMaterialApplyList(this.selectRow.number) + } else { + this.getDeliveryList(this.selectRow.id) } }, tableRowClassName({ row }) { @@ -313,6 +350,43 @@ } }, getSelectArray() {}, + // 鐘舵�佷慨鏀� + changeStatusClick(row, val) { + if (val == "纭") { + this.changeOutsourceOrderStatus(row.number, 2, "纭鎴愬姛") + } else if (val == "鍙栨秷") { + this.changeOutsourceOrderStatus(row.number, 0, "鍙栨秷鎴愬姛") + } else if (val == "鐢熶骇瀹屾垚") { + this.$confirm("鏄惁纭鐢熶骇瀹屾垚?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + this.changeOutsourceOrderStatus(row.number, 6, "鐢熶骇瀹屾垚鎴愬姛") + }) + } else if (val == "鍙戣揣瀹屾垚") { + this.$confirm("鏄惁纭鍏ㄩ儴鍙戣揣瀹屾垚?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + this.changeOutsourceOrderStatus(row.number, 7, "鍏ㄩ儴鍙戣揣瀹屾垚鎴愬姛") + }) + } + }, + changeOutsourceOrderStatus(number, status, str) { + changeOutsourceOrderStatus({ + outsourcingOrderNumber: number, + status: status + }) + .then((reply) => { + if (reply.code == 200) { + this.getData() + this.$message.success(str) + } + }) + .catch(() => {}) + }, // 鐢宠鐗╂枡 applyClick(row) { this.editApplyConfig.visible = true @@ -328,15 +402,18 @@ this.deliveryConfig.visible = true this.deliveryConfig.title = "鍙戣揣" this.deliveryConfig.infomation = { - outsourcingOrderNumber: row.number + id: row.id, + number: row.number } }, tabClickBottom(activeNameBottom) { this.activeNameBottom = activeNameBottom if (activeNameBottom == 1) { this.getProductListMethod(this.selectRow.id) - } else { + } else if (activeNameBottom == 2) { this.getMaterialApplyList(this.selectRow.number) + } else { + this.getDeliveryList(this.selectRow.id) } }, setTable() { @@ -437,6 +514,8 @@ ? "鐢熶骇涓�" : val === 6 ? "鐢熶骇瀹屾垚" + : val === 7 + ? "鍙戣揣瀹屾垚" : "--" } } diff --git a/vue.config.js b/vue.config.js index edefb27..5e19cbe 100644 --- a/vue.config.js +++ b/vue.config.js @@ -20,8 +20,8 @@ // ws: true, // changeOrigin: true // }, - "/api-s": { - target: "http://192.168.20.119:9081", + "/api-outsourcing": { + target: "http://192.168.20.120:8008", ws: true, changeOrigin: true }, -- Gitblit v1.8.0