From 58ac82fceff96784dd9e16872d1e2316fa2cfdec Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期五, 24 十一月 2023 14:36:12 +0800 Subject: [PATCH] 入库明细报表修改状态进度展示 --- src/views/overview/AddOverviewDialog.vue | 272 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 237 insertions(+), 35 deletions(-) diff --git a/src/views/overview/AddOverviewDialog.vue b/src/views/overview/AddOverviewDialog.vue index 4b8465d..e09c059 100644 --- a/src/views/overview/AddOverviewDialog.vue +++ b/src/views/overview/AddOverviewDialog.vue @@ -10,7 +10,7 @@ <div slot="title" class="dialog-header"> <span>{{ editCommonConfig.title === "鏌ョ湅" ? editCommonConfig.title : editCommonConfig.title + addName }}</span> <div class="header_btns"> - <span class="btn"> + <span class="btn" @click="btnPrint"> <i class="el-icon-printer"></i> <span>鎵撳嵃</span> </span> @@ -18,7 +18,7 @@ <i class="el-icon-s-tools"></i> <span>鍔ㄤ綔</span> </span> - <el-button v-if="showEdit" plain size="mini" style="margin-left: 15px" @click="editClick">缂栬緫</el-button> + <el-button v-if="showEdit" :disabled="this.editConfig.infomation.status===5" plain size="mini" style="margin-left: 15px" @click="editClick">缂栬緫</el-button> </div> </div> <!-- 鍐呭 --> @@ -36,9 +36,12 @@ :showButton="showButton" :isValidateClick="isValidateClick" :isDelClick="isDelClick" + :isCancel="isCancel" :list="list" + :showCancel="showCancel" @delClick="delClick" @validateClick="validateClick" + @btnCancel="btnCancel" /> </div> <div class="basic-info"> @@ -46,8 +49,10 @@ <el-row> <el-col :span="12"> <el-form-item prop="companyName"> - <span slot="label">{{ workType === 1 ? "瀹㈡埛" : workType === 2 ? "閫佽揣鍦板潃" : "鑱旂郴浜�" }}</span> + <span slot="label">{{ workType === 1 ? "渚涘簲鍟�" : workType === 2 ? "瀹㈡埛" : "鑱旂郴浜�" }}</span> + <el-select + v-if="workType === 1" v-model="editConfig.infomation.companyName" placeholder="璇烽�夋嫨" size="mini" @@ -56,6 +61,40 @@ @change="companyChange" > <el-option + v-for="item in supplierOptions" + :key="item.SupplierId" + :label="item.SupplierName" + :value="{ value: item.SupplierId, label: item.SupplierName }" + > + </el-option> + </el-select> + <el-select + v-else-if="workType === 2" + v-model="editConfig.infomation.companyName" + placeholder="璇烽�夋嫨" + size="mini" + style="width: 90%" + :disabled="!showFooter" + @change="companyChange" + > + <el-option + v-for="item in clientOptions" + :key="item.ClientId" + :label="item.ClientName" + :value="{ value: item.ClientId, label: item.ClientName }" + > + </el-option> + </el-select> + <el-select + v-else + v-model="editConfig.infomation.companyName" + placeholder="璇烽�夋嫨" + size="mini" + style="width: 90%" + :disabled="!showFooter" + @change="companyChange" + > + <el-option v-for="item in companyOptions" :key="item.id" :label="item.name" @@ -63,6 +102,7 @@ > </el-option> </el-select> + </el-form-item> </el-col> <!-- <el-col :span="12"> @@ -144,7 +184,12 @@ style="width: 90%" :disabled="!showFooter" > - <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.name" :value="item.id"> + <el-option + v-for="item in toLocationOptions" + :key="item.id" + :label="item.jointName" + :value="item.id" + > </el-option> </el-select> </el-form-item> @@ -158,7 +203,12 @@ style="width: 90%" :disabled="!showFooter" > - <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.name" :value="item.id"> + <el-option + v-for="item in toLocationOptions" + :key="item.id" + :label="item.jointName" + :value="item.id" + > </el-option> </el-select> </el-form-item> @@ -215,6 +265,7 @@ <el-tabs v-model="activeName" type="card"> <!-- <el-tab-pane v-if="workType !== 1" label="璇︽儏" name="detail"> </el-tab-pane> --> <el-tab-pane label="浜у搧" name="first"> </el-tab-pane> + <el-tab-pane label="鍙戣揣淇℃伅" name="two"></el-tab-pane> </el-tabs> <!-- 鎿嶄綔 --> <div v-if="activeName === 'first'"> @@ -234,6 +285,30 @@ </el-table-column> </template> </CommonFormTableView> + </div> + <!-- 鍙戣揣淇℃伅 --> + <div v-if="activeName==='two'"> + <el-form label-position="left" label-width="80px" :model="shipmentsInfo"> + <el-form-item label="鎵胯繍鍟�" style="width: 50%;"> + <el-select :disabled="!showFooter" v-model="editConfig.infomation.logisticCompanyId" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option + v-for="item in shipmentsInfo.carrier" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="杩愬崟鍙�" style="width: 50%;"> + <el-input :disabled="!showFooter" v-model="editConfig.infomation.waybillNumber"></el-input> + </el-form-item> + <el-form-item label="閲嶉噺" style="width: 50%;"> + <el-input :disabled="!showFooter" v-model="editConfig.infomation.weight"></el-input> + </el-form-item> + <el-form-item label="鐗╂祦閲嶉噺" style="width: 50%;"> + <el-input :disabled="!showFooter" v-model="editConfig.infomation.logisticWeight"></el-input> + </el-form-item> + </el-form> </div> <!-- 璇︽儏 --> <!-- <div v-if="activeName === 'detail'"> @@ -274,10 +349,13 @@ addOperation, updateOperation, updateStatus, + stateCancel, deleteOperation, - getOperationType + getListTransfer, + getLogisticCompanyList, + printReceipts } from "@/api/overview/overview" -import { getCompanyList } from "@/api/common/other" +import { getSupplierList,getCompanyList,getClientList } from "@/api/common/other" export default { name: "AddOverviewDialog", props: { @@ -319,14 +397,10 @@ operationTypeId: [{ required: true, message: "璇烽�夋嫨鍏ュ簱绫诲瀷", trigger: "change" }] }, companyOptions: [], // 鍏徃 + supplierOptions:[],//渚涘簲鍟� + clientOptions:[],//瀹㈡埛 memberOptions: [{ id: 1, name: "绠$悊鍛�" }], toLocationOptions: [], // 婧愪綅缃� 浠撳簱浣嶇疆 - list: [ - { label: "鑽夌", status: "todo", value: 1 }, - { label: "姝e湪绛夊緟", status: "todo", value: 2 }, - { label: "灏辩华", status: "todo", value: 3 }, - { label: "瀹屾垚", status: "todo", value: 4 } - ], showButton: true, activeName: "first", productTableList: {}, @@ -335,6 +409,7 @@ isNoProduct: true, // 娣诲姞鏄庣粏琛屾椂鏄惁鏈変骇鍝佹湭閫夋嫨 showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳 isDelClick: false, // 鍒犻櫎鎸夐挳鏄惁鍙偣鍑� + isCancel:false, //楠岃瘉鎸夐挳鏄惁鍙偣鍑� showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨 currentState: "todo", // 褰撳墠鐘舵�� detailTableList: {}, @@ -346,34 +421,80 @@ companyObj: {}, contacterObj: {}, isValidateClick: false, // 楠岃瘉鏄惁鏄剧ず - operationTypeOptions: [] // 鍏ュ簱绫诲瀷鍒楄〃 + operationTypeOptions: [], // 鍏ュ簱绫诲瀷鍒楄〃 + shipmentsInfo: { + carrier:[], + waybillNumber:'', + weight:0, + logisticWeight:0, + }, + showCancel:false, // 鍙栨秷鏄惁鍙互鏄剧ず + list:[], } }, created() { + this.getCompanyList() + this.setStatusList() this.setTableForm() this.setBottonView() this.setDetailTableForm() - this.getCompanyList() this.getLocationList() this.receiptType = this.editConfig.title === "鏌ョ湅" ? this.editConfig.infomation.operationTypeName : this.addName if (this.showOperationType) { - this.getOperationType() + this.getListTransfer() } + this.getLogisticCompanyList() }, methods: { + setStatusList(){ + console.log(this.editConfig.infomation,"edit") + if(this.editConfig.infomation.status===5){ + this.list=[ + { label: "鑽夌", status: "todo", value: 1 }, + { label: "姝e湪绛夊緟", status: "todo", value: 2 }, + { label: "灏辩华", status: "todo", value: 3 }, + { label: "瀹屾垚", status: "todo", value: 4 }, + { label: "宸插彇娑�", status: "todo", value: 5 } + ] + }else{ + this.list=[ + { label: "鑽夌", status: "todo", value: 1 }, + { label: "姝e湪绛夊緟", status: "todo", value: 2 }, + { label: "灏辩华", status: "todo", value: 3 }, + { label: "瀹屾垚", status: "todo", value: 4 } + ] + } + }, // 鑾峰彇鍏徃鍒楄〃 async getCompanyList() { - await getCompanyList().then((res) => { - console.log(res) - if (res.data.code === 200) { - this.companyOptions = res.data.data - } - }) + if(this.workType === 1){ + await getSupplierList().then((res) => { + console.log(res) + if (res.code === 200) { + this.supplierOptions = res.data + } + }) + }else if(this.workType === 2){ + await getClientList().then((res) => { + console.log(res) + if (res.code === 200) { + this.clientOptions = res.data + } + }) + }else{ + await getCompanyList().then((res) => { + console.log(res) + if (res.code === 200) { + this.companyOptions = res.data + } + }) + } }, // 鑾峰彇浠撳簱浣嶇疆鍒楄〃 async getLocationList() { await getLocationList({ keyWord: "", + jointName: this.editConfig.code, page: 0, pageSize: 0 }).then((res) => { @@ -384,15 +505,15 @@ }) }, // 鑾峰彇浠撳簱绫诲瀷 - async getOperationType() { - await getOperationType({ + async getListTransfer() { + await getListTransfer({ keyword: "", page: 0, pageSize: 0 }).then((res) => { - console.log(res.data.data) - if (res.data.code === 200) { - const list = res.data.data.map((item) => { + console.log(res.data) + if (res.code === 200) { + const list = res.data.map((item) => { return { name: item.name, id: item.id @@ -410,14 +531,25 @@ this.showEdit = false this.showFooter = true this.isValidateClick = false - } else if (this.editConfig.title === "鏌ョ湅" && this.editConfig.infomation.status !== 4) { + } else if (this.editConfig.title === "缂栬緫") { this.showButton = true this.showEdit = false + this.isDelClick = true + this.showFooter = true + } else if (this.editConfig.title === "鏌ョ湅" && this.editConfig.infomation.status !== 4) { + this.showButton = true + this.showEdit = true this.isDelClick = true this.showFooter = false if (this.editConfig.infomation.status === "瀹屾垚") { this.isValidateClick = false - } else { + }else if(this.editConfig.infomation.status === 3){ + this.isValidateClick = true + this.showCancel=true + }else if(this.editConfig.infomation.status===5){ + this.isCancel=true + this.isValidateClick=true + }else{ this.isValidateClick = true } } else if (this.editConfig.infomation.status === 4 || this.editConfig.infomation.status === "瀹屾垚") { @@ -427,6 +559,7 @@ this.showFooter = false this.isValidateClick = false } else if (this.editConfig.infomation.status === 5) { + this.isCancel=true this.showButton = true this.showEdit = false this.showFooter = false @@ -437,6 +570,7 @@ this.showEdit = true this.showFooter = false this.isValidateClick = true + this.showCancel=true } if (this.editConfig.title === "鏂板缓") { this.list[0].status = "active" @@ -461,6 +595,13 @@ this.showButton = false this.showFooter = true this.setTableForm() + }, + async getLogisticCompanyList(){ + await getLogisticCompanyList().then((res) => { + if(res.code===200){ + this.shipmentsInfo.carrier=res.data + } + }) }, // 淇濆瓨 saveClick(formName) { @@ -511,6 +652,7 @@ contacterName = Object.keys(this.contacterObj).length === 0 ? data.contacterName : this.contacterObj.label } let params = { + baseOperationType: data.baseOperationType, comment: data.comment || "", companyID: companyID, companyName: companyName, @@ -525,7 +667,11 @@ operationTypeName: this.receiptType, sourceNumber: data.sourceNumber || "", status: 3, - toLocationId: data.toLocationId || 0 + toLocationId: data.toLocationId || 0, + waybillNumber:data.waybillNumber||'', + weight:data.weight||0, + logisticWeight:data.logisticWeight||0, + logisticCompanyId:data.logisticCompanyId, } return params }, @@ -566,7 +712,7 @@ // { label: "璇存槑", prop: "number", input: true }, // { label: "鏃ユ湡", prop: "amount", date: true, isRequird: true }, // { label: "鎴鏃ユ湡", prop: "price", date: true }, - { label: "瀹屾垚", prop: "amount", inputFloat: true }, + { label: "鏁伴噺", prop: "amount", inputFloat: true }, { label: "璁¢噺鍗曚綅", prop: "unit" } ] } @@ -582,6 +728,7 @@ }, // 鏂板 addProductClick(value) { + console.log(value) if (value === "鎿嶄綔") { console.log(this.tableData) for (let i = 0; i < this.tableData.length; i++) { @@ -690,6 +837,45 @@ this.$parent.getData() } }) + }, + + // 鍙栨秷 + btnCancel(){ + this.$confirm('纭畾鍙栨秷鍚楋紵', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + stateCancel(this.editConfig.infomation.id).then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("鍙栨秷璋冩嫧") + this.$parent.getData() + } + }) + this.list.map((item) => { + if (item.label==="宸插彇娑�") { + item.status = "active" + } else { + item.status = "todo" + } + }) + }).catch(() => { + }); + }, + //鎵撳嵃 + async btnPrint(){ + await printReceipts(this.editCommonConfig.infomation.id).then((res) => { + console.log(res) + if (res.code === 200) { + this.$message.success("鎵撳嵃鎴愬姛") + const link = document.createElement('a'); + link.href = res.data; + link.download = '鍑哄簱鍗�.xlsx'; + link.click(); + } + }) } } } @@ -706,6 +892,9 @@ margin-left: auto; margin-right: 60px; .btn { + cursor: pointer; + } + .btn:nth-of-type(2){ cursor: no-drop; } } @@ -753,10 +942,10 @@ .el-tabs--card > .el-tabs__header { border-bottom: none; } - .el-tabs__item.is-active { - color: #333; - background: #f1f3f8; - } + // .el-tabs__item.is-active { + // color: #333; + // background: #f1f3f8; + // } .el-tabs__item { height: 30px; line-height: 30px; @@ -766,5 +955,18 @@ .el-tabs__header { margin: 0 0 1px; } + .bottom{ + .el-form{ + // border-top: 1px solid #EBEEF5; + } + .el-form-item{ + height: 28px; + .el-input { + input{ + height: 28px; + } + } + } + } } </style> -- Gitblit v1.8.0