From 983c6c7c026f6089fb4317dbff3a164e7c05aa8c Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 28 二月 2024 14:10:12 +0800 Subject: [PATCH] 产品管理添加、编辑、删除相关组件数据处理 --- src/views/sales/masterOrder/AddMasterOrderDialog.vue | 127 +++++++++++++++++++++++++++--------------- 1 files changed, 82 insertions(+), 45 deletions(-) diff --git a/src/views/sales/masterOrder/AddMasterOrderDialog.vue b/src/views/sales/masterOrder/AddMasterOrderDialog.vue index a4b6c1f..86d34d6 100644 --- a/src/views/sales/masterOrder/AddMasterOrderDialog.vue +++ b/src/views/sales/masterOrder/AddMasterOrderDialog.vue @@ -23,29 +23,38 @@ <div v-if="isUnflod" class="basic-info-title">鍩烘湰淇℃伅</div> <div class="basic-info-view"> <el-row> -<!-- <el-col v-if="isUnflod" :span="12">--> -<!-- <el-form-item label="鍗曟嵁缂栧彿" prop="number">--> -<!-- <el-input v-model="editConfig.infomation.number"></el-input>--> -<!-- </el-form-item>--> -<!-- </el-col>--> + <!-- <el-col v-if="isUnflod" :span="12">--> + <!-- <el-form-item label="鍗曟嵁缂栧彿" prop="number">--> + <!-- <el-input v-model="editConfig.infomation.number"></el-input>--> + <!-- </el-form-item>--> + <!-- </el-col>--> <el-col v-if="isUnflod" :span="12"> <el-form-item label="鍗曟嵁缂栧彿" prop="number"> - <WordInput - v-if="codenumer && (explain != '' || isIdDisabled)&&method == 0" - :codenumer="codenumer" - :sum="sum" - :disabled="editConfig.infomation.id || isIdDisabled" - :inputValue="inputValue" - @codeList="codeList" + <el-input + v-if=" + editConfig.title == '缂栬緫' || + (editConfig.title == '鏂板缓' && codenumer && (explain != '' || isIdDisabled)) + " + :disabled="editConfig.title == '缂栬緫'" + v-model="editConfig.infomation.number" + placeholder="璇疯緭鍏ョ紪鐮�" + > + </el-input> + <span v-else-if="editConfig.title == '鏂板缓'" style="color: #f56c6c" + >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span + > + <!-- <WordInput + v-if="codenumer && (explain != '' || isIdDisabled) && method == 0" + :codenumer="codenumer" + :sum="sum" + :disabled="editConfig.title !== '鏂板缓' || isIdDisabled" + :inputValue="inputValue" + @codeList="codeList" /> <span v-else-if="method == 0" style="color: #f56c6c" - >璇蜂紭鍏堥厤缃紪鐮佽鑼� - <el-button type="text" @click="numberClick"> - 閰嶇疆瑙勮寖 - </el-button - ></span + >璇蜂紭鍏堥厤缃紪鐮佽鑼� <el-button type="text" @click="numberClick"> 閰嶇疆瑙勮寖 </el-button></span > - <span v-else>{{editConfig.title==='鏂板缓'? '鑷姩鐢熸垚': editConfig.infomation.number}}</span> + <span v-else>{{ editConfig.title === "鏂板缓" ? "鑷姩鐢熸垚" : editConfig.infomation.number }}</span> --> </el-form-item> </el-col> <el-col :span="12"> @@ -92,7 +101,9 @@ <el-date-picker v-model="editConfig.infomation.start_time" value-format="yyyy-MM-dd HH:mm:ss" + :picker-options="pickerOptions" style="width: 100%" + @change="checkDate(editConfig.infomation.start_time,editConfig.infomation.end_time)" type="datetime" placeholder="閫夋嫨鏃ユ湡" > @@ -104,7 +115,9 @@ <el-date-picker v-model="editConfig.infomation.end_time" value-format="yyyy-MM-dd HH:mm:ss" + :picker-options="pickerOptions" type="datetime" + @change="checkDate(editConfig.infomation.start_time,editConfig.infomation.end_time)" style="width: 100%" placeholder="閫夋嫨鏃ユ湡" > @@ -178,11 +191,12 @@ import { getAllData } from "@/api/client/client" import { getAddMasterOrder, getUpdateMasterOrder } from "@/api/sales/masterOrder" import SelectClientDialog from "@/views/other/commonDialog/SelectClientDialog" -import WordInput from "@/components/wordInput.vue"; -import codeMixin from "@/views/client/followupRecords/mixin/codeMixin"; +import codeMixin from "@/components/makepager/mixin/codeMixin" +import NewDate from "@/api/date"; +const { compareTime } = NewDate; export default { name: "QuotationDialog", - mixins:[codeMixin], + mixins: [codeMixin], props: { editCommonConfig: { type: Object, @@ -195,7 +209,7 @@ } } }, - components: {WordInput, SelectClientDialog }, + components: { SelectClientDialog }, computed: { clientList() { return this.$store.state.getClientName.clientList @@ -207,9 +221,9 @@ dialogWidth: "50%", editConfig: this.editCommonConfig, rules: { - number: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], + number: [{ required: true, validator: this.validateCheckCode, trigger: ["blur", "change"] }], client_name: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }], - member_id: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }] + member_id: [{ required: true, validator: this.validateMemberId, trigger: "change" }] }, memberOptions: [], unflodCollapseStr: "鏀惰捣", @@ -220,7 +234,12 @@ infomation: {} }, clientId: this.editCommonConfig.infomation.client_id, - objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞�诲崟缂栫爜",codeStandID:'' }, + objCode: { name: "", page: 0, pageSize: 0, type: "閿�鍞�诲崟缂栫爜", codeStandID: "" }, + pickerOptions: { + disabledDate(time) { + return time.getTime() < new Date().getTime() - 86400000; + }, + }, } }, created() { @@ -228,28 +247,40 @@ this.getCommonData() this.formInfo() }, - watch:{ - 'editCommonConfig.visible'(val){ - if(val){ + watch: { + "editCommonConfig.visible"(val) { + if (val) { this.formInfo() } - }, - 'editCommonConfig.infomation.codeStandID'(val){ - this.formInfo() } }, methods: { - formInfo(){ - this.objCode.codeStandID = '' - if(this.editConfig.infomation.codeStandID){ - this.objCode.codeStandID = this.editConfig.infomation.codeStandID; + checkDate(start,end){ + if(start&&end){ + if (compareTime(start, end) > 0) { + this.$message.error('鏈嶅姟鎴鏃堕棿瑕佹櫄浜庢湇鍔″紑濮嬫椂闂达紒') + } } - this.getRCodeStandardList(); + }, + formInfo() { + this.objCode.codeStandID = "" + if (this.editConfig.infomation.codeStandID) { + this.objCode.codeStandID = this.editConfig.infomation.codeStandID + } + this.getRCodeStandardList() }, getCommonData() { getAllData() .then((res) => { this.memberOptions = res.data.member + if (this.editConfig.title === "鏂板缓") { + let username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1") + this.memberOptions.map((item) => { + if (item.username == username) { + this.$set(this.editConfig.infomation, "member_id", item.id) + } + }) + } }) .catch((err) => { console.log(err) @@ -259,9 +290,7 @@ saveClick(formName) { this.$refs[formName].validate((valid) => { if (valid) { - console.log(this.editConfig.infomation) const params = this.saveParams() - console.log(params) if (this.editConfig.title === "鏂板缓") { getAddMasterOrder(params).then((res) => { console.log(res) @@ -291,10 +320,10 @@ * 寮哄埗鍒锋柊form缁勪欢 * 澶栭儴鏇存敼琛ㄥ崟鍊间笉浼氳Е鍙戣〃鍗曟牎楠�,瀵艰嚧鍗充娇鏈夊�煎琚〃鍗曟牎楠岄樆濉炰綇 */ - refresh(){ - this.refreshFlag=false - requestAnimationFrame(()=>{ - this.refreshFlag=true + refresh() { + this.refreshFlag = false + requestAnimationFrame(() => { + this.refreshFlag = true }) }, saveParams() { @@ -307,8 +336,7 @@ money: data.money || 0, number: data.number || "", start_time: data.start_time || "", - codeStandID:data.ID, - codeRule:this.codeRule, + codeStandID: data.ID } return params }, @@ -370,6 +398,14 @@ this.unflodCollapseStr = "鏀惰捣" this.isUnflod = true } + }, + // 璐熻矗浜鸿嚜瀹氫箟鏍¢獙瑙勫垯 + validateMemberId(rule, value, callback) { + if (this.editConfig.infomation?.member_id > 0) { + callback() + } else { + callback(new Error("璇烽�夋嫨璐熻矗浜�")) + } } } } @@ -380,6 +416,7 @@ ::v-deep { .iframe-dialog .el-dialog__body { .basic-info { + min-height: 250px; .basic-info-title { background-color: #f4f8fe; padding-left: 10px; @@ -399,7 +436,7 @@ font-size: 18px; cursor: pointer; } - .el-autocomplete{ + .el-autocomplete { flex: 1; } } -- Gitblit v1.8.0