From bd1002aee62e2fe65beb920b55d54e1143eb9ab3 Mon Sep 17 00:00:00 2001 From: zuozhengqing <a13193816592@163.com> Date: 星期五, 20 十月 2023 12:13:03 +0800 Subject: [PATCH] "库存调整修改参数,bug修改" --- src/views/operate/scrap/AddScrapDialog.vue | 288 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 227 insertions(+), 61 deletions(-) diff --git a/src/views/operate/scrap/AddScrapDialog.vue b/src/views/operate/scrap/AddScrapDialog.vue index ceff99b..8e2b8c3 100644 --- a/src/views/operate/scrap/AddScrapDialog.vue +++ b/src/views/operate/scrap/AddScrapDialog.vue @@ -18,7 +18,14 @@ <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" + plain + size="mini" + style="margin-left: 15px" + @click="editClick" + >缂栬緫</el-button + > </div> </div> <!-- 鍐呭 --> @@ -29,74 +36,100 @@ label-position="right" label-width="120px" size="mini" - style="height: 60vh; overflow-x: hidden" > <div> <!-- <div>aaa</div> --> - <StatusCommonView :list="list" /> + <StatusCommonView + :list="list" + :showButton="showButton" + :showOther="false" + :isValidateClick="isValidateClick" + @validateClick="validateClick" + /> </div> <div class="basic-info"> <div class="basic-info-view"> <el-row> <el-col :span="12"> - <el-form-item label="浜у搧" prop="client_name"> + <el-form-item label="浜у搧" prop="productName"> <el-select - v-model="editConfig.infomation.memberId" + v-model="editConfig.infomation.productName" placeholder="璇烽�夋嫨" size="mini" style="width: 90%" :disabled="!showFooter" + @change="selProductChange" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option + v-for="item in productOptions" + :key="item.id" + :label="item.name" + :value="{ + value: item.id, + label: item.name, + unit: item.unit, + }" + > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="婧愪綅缃�" prop="client_name"> + <el-form-item label="婧愪綅缃�" prop="fromLocationId"> <el-select - v-model="editConfig.infomation.memberId" + v-model="editConfig.infomation.fromLocationId" placeholder="璇烽�夋嫨" size="mini" style="width: 90%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option + v-for="item in toLocationOptions" + :key="item.id" + :label="item.name" + :value="item.id" + > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏁伴噺" prop="client_name"> + <el-form-item label="鏁伴噺" prop="amount"> <el-input-number - v-model="editConfig.infomation.number" + v-model="editConfig.infomation.amount" placeholder="" :min="0" :precision="2" :controls="false" - style="width: 90%" + style="width: 85%" :disabled="!showFooter" ></el-input-number> + <span>{{ " " + unit }}</span> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鎶ュ簾浣嶇疆" prop="client_name"> + <el-form-item label="鎶ュ簾浣嶇疆" prop="toLocationId"> <el-select - v-model="editConfig.infomation.memberId" + v-model="editConfig.infomation.toLocationId" placeholder="璇烽�夋嫨" size="mini" style="width: 90%" :disabled="!showFooter" > - <el-option v-for="item in memberOptions" :key="item.id" :label="item.username" :value="item.id"> + <el-option + v-for="item in toLocationOptions" + :key="item.id" + :label="item.name" + :value="item.id" + > </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="鏉ユ簮鍗曟嵁" prop="memberId"> + <el-form-item label="鏉ユ簮鍗曟嵁" prop="sourceNumber"> <el-input - v-model="editConfig.infomation.memberId" + v-model="editConfig.infomation.sourceNumber" placeholder="渚嬪:PO0032" style="width: 90%" :disabled="!showFooter" @@ -108,15 +141,26 @@ </div> </el-form> <!-- 灏� --> - <div v-if="showFooter" slot="footer" class="dialog-footer"> - <el-button size="small" @click="editConfig.visible = false">鍙栨秷</el-button> - <el-button type="primary" size="small" @click="saveClick('form')">淇濆瓨</el-button> + <div slot="footer" class="dialog-footer"> + <el-button + type="primary" + size="small" + @click="saveClick('form')" + :disabled="!showFooter" + >淇濆瓨</el-button + > + <el-button size="small" @click="editConfig.visible = false" + >鍙栨秷</el-button + > </div> </el-dialog> </div> </template> <script> +import { getProductList } from "@/api/product/product"; +import { getLocationList } from "@/api/overview/overview"; +import { addDisuse, finishDisuse, updateScrap } from "@/api/operate/scrap"; export default { name: "AddScrapDialog", props: { @@ -126,10 +170,10 @@ return { visible: false, title: "鏂板缓", - infomation: {} - } - } - } + infomation: {}, + }; + }, + }, }, components: {}, computed: {}, @@ -138,64 +182,183 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - client_name: [{ required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" }], - number: [{ required: true, message: "璇疯緭鍏ラ��娆惧崟缂栧彿", trigger: "blur" }], - refundDate: [{ required: true, message: "璇烽�夋嫨閫�娆炬棩鏈�", trigger: "change" }], - memberId: [{ required: true, message: "璇烽�夋嫨閿�鍞礋璐d汉", trigger: "change" }], - sale_return_nunber: [{ required: true, message: "璇烽�夋嫨閿�鍞��璐у崟", trigger: "change" }] + // 浜у搧锛屾暟閲忓繀濉� + productName: [ + { required: true, message: "璇烽�夋嫨浜у搧", trigger: "change" }, + ], + amount: [{ required: true, message: "璇疯緭鍏ユ暟閲�", trigger: "blur" }], + fromLocationId: [ + { required: true, message: "璇烽�夋嫨婧愪綅缃�", trigger: "change" }, + ], + toLocationId: [ + { required: true, message: "璇烽�夋嫨鎶ュ簾浣嶇疆", trigger: "change" }, + ], + sourceNumber: [ + { required: true, message: "璇疯緭鍏ユ潵婧愬崟鎹�", trigger: "blur" }, + ], }, memberOptions: [], - paymentTypeListOptions: [], + productOptions: [], + toLocationOptions: [], list: [ - { label: "鑽夌", status: "todo" }, - { label: "瀹屾垚", status: "todo" } + { label: "鑽夌", status: "todo", value: 1 }, + { label: "灏辩华", status: "todo", value: 3 }, + { label: "瀹屾垚", status: "todo", value: 4 }, ], showEdit: false, // 鏄惁鏄剧ず缂栬緫鎸夐挳 showFooter: false, // 鏄惁鏄剧ず鍙栨秷淇濆瓨 - currentState: "todo" // 褰撳墠鐘舵�� - } + currentState: "todo", // 褰撳墠鐘舵�� + unit: "", + showButton: true, + isValidateClick: false, // 楠岃瘉鏄惁鏄剧ず + }; }, created() { - this.setBottonView() + this.setBottonView(); + this.getProductList(); + this.getLocationList(); + this.unit = this.editConfig.infomation.unit || ""; }, methods: { + // 浜у搧 + async getProductList() { + await getProductList({ + page: 1, + pageSize: 100, + }).then((res) => { + // console.log(res.data) + if (res.code === 200) { + if (res.data && res.data.length > 0) { + this.productOptions = res.data; + } + } + }); + }, + // 鑾峰彇浠撳簱浣嶇疆鍒楄〃 + async getLocationList() { + await getLocationList({ + keyWord: "", + page: 0, + pageSize: 0, + }).then((res) => { + console.log(res); + if (res.code === 200) { + this.toLocationOptions = res.data; + } + }); + }, // 璁剧疆鍒犻櫎/鎵撳嵃/缂栬緫鏄惁鏄剧ず setBottonView() { - if (this.editConfig.title === "鏂板缓") { - this.showEdit = false - this.showFooter = true - } else if (this.editConfig.infomation.status === "瀹屾垚") { - this.showEdit = false - this.showFooter = false + if ( + this.editConfig.title === "鏂板缓" || + this.editConfig.title === "缂栬緫" + ) { + this.showButton = false; + this.showEdit = false; + this.showFooter = true; + this.isValidateClick = false; + } else if (this.editConfig.infomation.status === 4) { + this.showButton = false; + this.showEdit = false; + this.showFooter = false; + this.isValidateClick = false; } else { - this.showEdit = true - this.showFooter = false + this.showButton = true; + this.showEdit = false; + this.showFooter = false; + this.isValidateClick = true; } if (this.editConfig.title === "鏂板缓") { - this.list[0].status = "active" + this.list[0].status = "active"; } else { this.list.map((item) => { - if (item.label === this.editConfig.infomation.status) { - item.status = "active" + if (item.value === this.editConfig.infomation.status) { + item.status = "active"; } else { - item.status = "todo" + item.status = "todo"; } - }) + }); } }, // 鍏抽棴 handleClose() { - this.editConfig.visible = false + this.editConfig.visible = false; }, // 缂栬緫 editClick() { - this.showEdit = false - this.showFooter = true + this.showEdit = false; + this.showFooter = true; }, // 淇濆瓨 - saveClick() {} - } -} + saveClick(formName) { + if (this.editCommonConfig.title === "鏂板缓") { + this.$refs[formName].validate((valid) => { + if (valid) { + this.editConfig.infomation.productId = this.productId; + this.editConfig.infomation.productName = this.productName; + this.editConfig.infomation.unit = this.unit; + addDisuse({ + ...this.editConfig.infomation, + }).then((res) => { + console.log(res); + this.editConfig.visible = false; + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛"); + this.$parent.getData(); + } + }); + } + }); + } else if (this.editCommonConfig.title === "缂栬緫") { + this.$refs[formName].validate((valid) => { + if (valid) { + this.editConfig.infomation.productId = this.productId; + this.editConfig.infomation.productName = this.productName; + this.editConfig.infomation.unit = this.unit; + updateScrap({ + amount:this.editConfig.infomation.amount, //鏁伴噺 + baseOperationType: 1, + fromLocationId: this.editConfig.infomation.fromLocationId, + id: this.editConfig.infomation.id, + number: this.editConfig.infomation.number, + operationDate:this.editConfig.infomation.operationDate, + productId: this.editConfig.infomation.productId, + sourceNumber: this.editConfig.infomation.sourceNumber, + status: this.editConfig.infomation.status, + toLocationId: this.editConfig.infomation.toLocationId, + }).then((res) => { + console.log(res); + this.editConfig.visible = false; + if (res.code === 200) { + this.$message.success("淇敼鎴愬姛"); + this.$parent.getData(); + } + }); + } + console.log(this.editConfig.infomation, "鐪嬬湅鏄暐"); + }); + } + }, + // 閫夋嫨浜у搧 + selProductChange(val) { + this.unit = val.unit; + this.productName = val.label; + this.productId = val.value; + }, + // 楠岃瘉 + async validateClick() { + console.log(this.editConfig.infomation.id, "xxx"); + await finishDisuse(this.editConfig.infomation.id).then((res) => { + console.log(res); + this.editConfig.visible = false; + if (res.code === 200) { + this.$message.success("楠岃瘉鎴愬姛"); + this.$parent.getData(); + } + }); + }, + }, +}; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> @@ -220,13 +383,13 @@ height: calc(100% - 80px); overflow: auto; margin: 20px; - border: 1px solid #dcdfe6; - box-shadow: inset 0 0 2px #dee2e6; - -moz-box-shadow: inset 0 0 2px #dee2e6; - -webkit-box-shadow: inset 0 0 2px #dee2e6; - .basic-info-view { - margin-top: 20px; - } + // border: 1px solid #dcdfe6; + // box-shadow: inset 0 0 2px #dee2e6; + // -moz-box-shadow: inset 0 0 2px #dee2e6; + // -webkit-box-shadow: inset 0 0 2px #dee2e6; + // .basic-info-view { + // margin-top: 20px; + // } } .purchase-view { display: flex; @@ -261,5 +424,8 @@ line-height: 30px; font-size: 13px; } + .el-input__inner { + text-align: left; + } } </style> -- Gitblit v1.8.0