From d10c7c728234b5a9098b7bd5bb7a914a14e33c20 Mon Sep 17 00:00:00 2001 From: su1124 <1583764726@qq.com> Date: 星期五, 29 十二月 2023 18:37:28 +0800 Subject: [PATCH] su --- src/views/system/package/index.vue | 183 +++++++++++++++++++++++++++++++-------------- 1 files changed, 124 insertions(+), 59 deletions(-) diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index 6e8c394..d6f3f0f 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -26,19 +26,19 @@ </el-form-item> <el-form-item label="濂楅鍒嗙被" prop="categoryId"> <el-select - v-model="queryParams.categoryId" - placeholder="璇烽�夋嫨鐘舵��" - style="width: 200px" - filterable - clearable - > - <el-option - v-for="dict in categoryList" - :key="dict.id" - :label="dict.name" - :value="dict.id" - ></el-option> - </el-select> + v-model="queryParams.categoryId" + placeholder="璇烽�夋嫨鐘舵��" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in categoryList" + :key="dict.id" + :label="dict.name" + :value="dict.id" + ></el-option> + </el-select> </el-form-item> <el-form-item> <el-button @@ -130,6 +130,13 @@ fixed /> <!-- <el-table-column label="缂栧彿" align="center" prop="pacId" /> --> + <el-table-column + label="濂楅鍒嗙被" + width="100px" + align="center" + prop="categoryNames" + fixed + ></el-table-column> <el-table-column label="濂楅鍚嶇О" align="center" @@ -137,6 +144,8 @@ width="150px" fixed /> + <el-table-column label="浠锋牸" width="80px" align="center" prop="price" fixed> + </el-table-column> <el-table-column label="鍗曢」鍒楄〃" align="center" @@ -172,15 +181,9 @@ <image-preview :src="scope.row.pacPhone" :width="50" :height="50" /> </template> </el-table-column> --> - <el-table-column label="浠锋牸" width="80px" align="center" prop="price"> - </el-table-column> - - <el-table-column - label="濂楅鍒嗙被" - width="100px" - align="center" - prop="categoryNames" - ></el-table-column> + + + <el-table-column label="鍏抽敭瀛�" width="110px" @@ -193,8 +196,11 @@ align="center" prop="isOnSale" > - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale"/> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_yes_no" + :value="scope.row.isOnSale" + /> </template> </el-table-column> <!-- <el-table-column @@ -304,6 +310,13 @@ <!-- <div class="dialo"> <div class="dialo1"> --> <el-form-item label="濂楅鍚嶇О" prop="pacName"> + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="handlePackage" + > + 濂楅鍚嶇О + </span> <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" @@ -331,7 +344,7 @@ </el-select> </el-form-item> - <el-form-item label="鍟嗗搧绫荤洰" prop="categoryId"> + <el-form-item label="濂楅绫荤洰" prop="categoryId"> <!-- <el-input v-model="form.createId" placeholder="璇疯緭鍏ュ晢鍝佺被鐩�" @@ -339,7 +352,7 @@ /> --> <el-select v-model="form.categoryId" - placeholder="璇烽�夋嫨鍟嗗搧绫荤洰" + placeholder="璇烽�夋嫨濂楅绫荤洰" style="width: 200px" @change="shangpin" filterable @@ -353,7 +366,6 @@ ></el-option> </el-select> </el-form-item> - <el-form-item label="鍏抽敭瀛�" prop="keywords"> <el-select @@ -393,7 +405,7 @@ ></el-option> </el-select> </el-form-item> - + <el-form-item label="鎺掑簭" prop="sort"> <el-input v-model="form.sort" @@ -558,10 +570,12 @@ </div> </template> </el-dialog> --> + <Packages ref="aaa" @add="handleChanges" /> </div> </template> <script> +import Packages from "@/components/Packages"; import { listCategory } from "@/api/mall/category"; import { listKeyword } from "@/api/mall/keyword"; import { @@ -579,11 +593,24 @@ export default { name: "Package", dicts: ["sys_normal_disable", "sys_yes_no"], + components: { Packages }, data() { + let checkPhoneNum = (rule, value, callback) => { + console.log(value); + let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); + if (value == "" && value == undefined && !value) { + return callback(""); + } else if (value != undefined && value != "") { + return callback(); + } else if (!patter.test(value)) { + return callback(""); + } + }; return { - categoryList:[], - keys:"", + categoryList: [], + keys: "", keywordList: [], + dataListAll: [], // 澶氶�夋 priceNow: "", checkAll: false, @@ -629,31 +656,29 @@ // 琛ㄥ崟鏍¢獙 rules: { deleted: [ - { required: true, message: "", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], pacName: [ - { required: true, message: "", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], pacStatus: [ - { required: true, message: "", trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], - categoryId: [ - { required: true, message: "", trigger: "change" }, - ], + // categoryId: [ + // { required: true, validator: checkPhoneNum, trigger: "change" }, + // ], keywords: [ - { required: true, message: "", trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], isOnSale: [ - { required: true, message: "", trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], - sort: [ - { required: true, message: "", trigger: "blur" }, - ], + sort: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], retailPrice: [ - { required: true, message: "", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], counterPrice: [ - { required: true, message: "", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], }, }; @@ -687,10 +712,10 @@ }); }, sel(val) { - let id = val + let id = val; this.keys = ""; id.forEach((item) => { - this.keys += item + "," + this.keys += item + ","; }); }, /** 鏌ヨ绫荤洰鍒楄〃 */ @@ -700,7 +725,7 @@ this.categoryList = response.rows; }); }, - shangpin(vals){ + shangpin(vals) { console.log(vals); }, // 鍙栨秷鎸夐挳 @@ -733,6 +758,20 @@ this.queryParams.pageNum = 1; this.getList(); }, + + handlePackage() { + this.$refs.aaa.open = true; + this.$refs.aaa.getList(); + this.$refs.aaa.title = "濂楅瀛楀吀"; + }, + handleChanges(param1) { + this.form.pacName = param1[0].pacName; + this.form.hisPacId = param1[0].pacId; + if (param1[0].price) { + this.form.counterPrice = param1[0].price; + this.form.retailPrice = param1[0].price; + } + }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.resetForm("queryForm"); @@ -753,15 +792,15 @@ this.reset(); this.open = true; this.title = "浣撴濂楅淇℃伅缁存姢"; - getAllList().then((response) => { - this.allList = response.data; - if (this.allList.proStatus === 0) { - this.allList.proStatus = "鍚敤"; - } else { - this.allList.proStatus = "鍋滅敤"; - } - this.loading = false; - }); + // getAllList().then((response) => { + // this.allList = response.data; + // if (this.allList.proStatus === 0) { + // this.allList.proStatus = "鍚敤"; + // } else { + // this.allList.proStatus = "鍋滅敤"; + // } + // this.loading = false; + // }); // if (!this.form.tjProjectList) { // this.form.tjProjectList = [] // this.form.tjProjectList.push({ @@ -778,11 +817,10 @@ // 鏄惁鍚敤 handleStatusChange(row) { - let data = { - pacId:row.pacId, - pacStatus:row.pacStatus, - } + pacId: row.pacId, + pacStatus: row.pacStatus, + }; let text = row.pacStatus === "0" ? "鍚敤" : "鍋滅敤"; this.$confirm("纭瑕�" + text + row.pacName + "濂楅鍚楋紵") .then(function () { @@ -824,6 +862,16 @@ // 鏂板琛� addmembers() { if (this.form.pacName) { + this.loading = true; + getAllList().then((response) => { + this.allList = response.data; + if (this.allList.proStatus === 0) { + this.allList.proStatus = "鍚敤"; + } else { + this.allList.proStatus = "鍋滅敤"; + } + this.loading = false; + }); if (!this.form.tjProjectList) { this.form.tjProjectList = []; this.form.tjProjectList.push({ @@ -883,6 +931,20 @@ }); } }); + + for (let i = 0; i < this.form.tjProjectList.length; i++) { + for (let j = i + 1; j < this.form.tjProjectList.length; j++) { + if ( + this.form.tjProjectList[i].proId == this.form.tjProjectList[j].proId + ) { + this.form.tjProjectList.splice(j, 1); + j--; + this.$modal.msgError("姝ら」鐩凡褰曞叆锛屼笉鍙噸澶嶅綍鍏�"); + } + } + } + + return this.form.tjProjectList; }, /** 鎻愪氦鎸夐挳 */ submitForm() { @@ -1028,14 +1090,17 @@ display: flex; justify-content: center; } + .pag1 { width: 30%; } + .dialog-footer { position: absolute; left: 40%; bottom: 2%; } + /* .dialo{ display: flex; flex-direction: row; -- Gitblit v1.8.0