From ac6766c11f8a2b8de903b58c13a8f206fa01dccd Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期五, 15 三月 2024 17:56:32 +0800 Subject: [PATCH] qxtj --- src/views/system/package/index.vue | 177 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 106 insertions(+), 71 deletions(-) diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index b1d75ca..651a6e9 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -48,7 +48,10 @@ <el-table-column fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" /> <el-table-column label="搴忓彿" align="center" width="50" prop="newID" 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" prop="pacName" width="150px" fixed /> + <el-table-column label="浠锋牸" width="80px" align="center" prop="price" fixed> + </el-table-column> <el-table-column label="鍗曢」鍒楄〃" align="center" prop="allProName" width="1200px"> </el-table-column> <!-- <el-table-column @@ -74,10 +77,7 @@ <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" align="center" prop="keyNames"></el-table-column> <el-table-column label="鏄惁涓婃灦" width="94px" align="center" prop="isOnSale"> <template slot-scope="scope"> @@ -122,22 +122,22 @@ </template> <!-- 淇敼浣撴濂楅瀵硅瘽妗� --> - <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> + <el-dialog :title="title" :visible.sync="open" width="1100px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> <!-- <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 slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handlePackage"> 濂楅鍚嶇О </span> - <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" style="width: 200px" /> + <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" style="width: 150px" /> </el-form-item> <el-form-item label="濂楅鐘舵��" prop="pacStatus"> <!-- <el-radio-group v-model="form.pacStatus"> <el-radio :label="0">鍚敤</el-radio> <el-radio :label="1">鍋滅敤</el-radio> </el-radio-group> --> - <el-select v-model="form.pacStatus" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable> + <el-select v-model="form.pacStatus" placeholder="璇烽�夋嫨鐘舵��" style="width: 150px" filterable clearable> <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> @@ -149,15 +149,14 @@ placeholder="璇疯緭鍏ュ晢鍝佺被鐩�" style="width: 200px" /> --> - <el-select v-model="form.categoryId" placeholder="璇烽�夋嫨濂楅绫荤洰" style="width: 200px" @change="shangpin" filterable + <el-select v-model="form.categoryId" placeholder="璇烽�夋嫨濂楅绫荤洰" style="width: 150px" @change="shangpin" filterable clearable> <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item> - <el-form-item label="鍏抽敭瀛�" prop="keywords"> - <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 200px" @change="sel" filterable + <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 150px" @change="sel" filterable clearable> <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option> </el-select> @@ -167,43 +166,50 @@ <el-radio :label="0">鍚敤</el-radio> <el-radio :label="1">鍋滅敤</el-radio> </el-radio-group> --> - <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" style="width: 200px" filterable clearable> + <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" style="width: 150px" filterable clearable> <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> </el-select> </el-form-item> <el-form-item label="鎺掑簭" prop="sort"> - <el-input v-model="form.sort" placeholder="璇疯緭鍏ユ帓搴�" style="width: 200px" /> + <el-input v-model="form.sort" placeholder="璇疯緭鍏ユ帓搴�" style="width: 150px" /> </el-form-item> <el-form-item label="灏忕▼搴忎环鏍�" prop="retailPrice"> - <el-input v-model="form.retailPrice" placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸" style="width: 200px" /> + <el-input v-model="form.retailPrice" placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸" style="width: 150px" /> </el-form-item> <el-form-item label="鍘熶环" prop="counterPrice"> - <el-input v-model="form.counterPrice" placeholder="璇疯緭鍏ュ師浠�" style="width: 200px" /> + <el-input v-model="form.counterPrice" placeholder="璇疯緭鍏ュ師浠�" style="width: 150px" /> </el-form-item> - <el-form-item label="濂楅鎻忚堪" prop="pacRemark"> - <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 820px" - rows="2"></el-input> - </el-form-item> - <el-form-item label="璇︾粏浠嬬粛" prop="detail"> - <!-- <el-input + + <div v-if="!isCollapsed" style="display:flex"> + <div> + <el-form-item label="濂楅鎻忚堪" prop="pacRemark"> + <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 670px" + rows="2"></el-input> + </el-form-item> + <el-form-item label="璇︾粏浠嬬粛" prop="detail"> + <!-- <el-input v-model="form.detail" placeholder="璇疯緭鍏ヨ缁嗕粙缁�" style="width: 200px" /> --> - <editor v-model="form.detail" :min-height="192" /> - </el-form-item> - <!-- </div> --> - <div class="dialo2"> - <el-form-item label="鍥剧墖"> - <image-upload v-model="form.pacPhone" /> - </el-form-item> + <editor v-model="form.detail" :min-height="192" style="width: 670px" /> + </el-form-item> + </div> + <!-- </div> --> + <div class="dialo2"> + <el-form-item label="鍥剧墖"> + <image-upload v-model="form.pacPhone" /> + </el-form-item> + </div> + <!-- </div> --> </div> - <!-- </div> --> </el-form> - - <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">鏂板</el-button> + <el-button type="primary" plain size="mini" @click="toggleCollapse">{{ + isCollapsed ? "灞曞紑" : "鏀惰捣" + }}</el-button> + <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">鏂板鍗曢」</el-button> <el-table v-loading="loading" :data="form.tjProjectList" @selection-change="handleSelectionChange" border max-height="275" style="margin: 10px 0"> <el-table-column label="搴忓彿" align="center" type="index" /> @@ -264,6 +270,8 @@ import { listCategory } from "@/api/mall/category"; import { listKeyword } from "@/api/mall/keyword"; import { + getPacList, + getPacInFo, listPackage, getPackage, delPackage, @@ -273,6 +281,7 @@ updateStatus, getAllList, updateProject, + getPacTjProjectList } from "@/api/system/package"; import { Message } from "element-ui"; export default { @@ -281,20 +290,22 @@ components: { Packages }, data() { let checkPhoneNum = (rule, value, callback) => { - console.log(value) + console.log(value); let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); if (value == "" && value == undefined && !value) { - return callback(''); + return callback(""); } else if (value != undefined && value != "") { return callback(); } else if (!patter.test(value)) { - return callback(''); + return callback(""); } }; return { + isCollapsed: true, // 榛樿涓烘姌鍙犵姸鎬� categoryList: [], keys: "", keywordList: [], + dataListAll: [], // 澶氶�夋 priceNow: "", checkAll: false, @@ -357,9 +368,7 @@ isOnSale: [ { required: true, validator: checkPhoneNum, trigger: "change" }, ], - sort: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, - ], + sort: [{ required: true, validator: checkPhoneNum, trigger: "blur" }], retailPrice: [ { required: true, validator: checkPhoneNum, trigger: "blur" }, ], @@ -375,10 +384,22 @@ this.getCategory(); }, methods: { + toggleCollapse() { + this.isCollapsed = !this.isCollapsed; // 鐐瑰嚮鎸夐挳鏃跺垏鎹sCollapsed鐨勫�� + }, /** 鏌ヨ浣撴濂楅鍒楄〃 */ getList() { this.loading = true; - listPackage(this.queryParams).then((response) => { + getPacTjProjectList().then((response) => { + this.allList = response.data; + if (this.allList.proStatus === 0) { + this.allList.proStatus = "鍚敤"; + } else { + this.allList.proStatus = "鍋滅敤"; + } + this.loading = false; + }); + getPacList(this.queryParams).then((response) => { response.rows.forEach((item, index) => { item.newID = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + @@ -398,10 +419,10 @@ }); }, sel(val) { - let id = val + let id = val; this.keys = ""; id.forEach((item) => { - this.keys += item + "," + this.keys += item + ","; }); }, /** 鏌ヨ绫荤洰鍒楄〃 */ @@ -445,20 +466,18 @@ this.getList(); }, - handlePackage() { this.$refs.aaa.open = true; this.$refs.aaa.getList(); - this.$refs.aaa.title = "濂楅鍚嶇О"; + this.$refs.aaa.title = "濂楅瀛楀吀"; }, handleChanges(param1) { - this.form.pacName = param1[0].pacName - this.form.hisPacId = param1[0].pacId + 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 + this.form.counterPrice = param1[0].price; + this.form.retailPrice = param1[0].price; } - }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { @@ -480,15 +499,16 @@ 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({ @@ -505,11 +525,10 @@ // 鏄惁鍚敤 handleStatusChange(row) { - let data = { pacId: row.pacId, pacStatus: row.pacStatus, - } + }; let text = row.pacStatus === "0" ? "鍚敤" : "鍋滅敤"; this.$confirm("纭瑕�" + text + row.pacName + "濂楅鍚楋紵") .then(function () { @@ -526,15 +545,15 @@ handleUp() { this.title = "浣撴濂楅淇℃伅缁存姢"; this.open = true; - getAllList().then((response) => { + getPacTjProjectList().then((response) => { this.allList = response.data; this.loading = false; }); }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { - this.form = row; - this.form.keywords = this.form.keyIds; + // this.form = row; + // this.form.keywords = this.form.keyIds; // if (this.form.pacStatus === 0) { // this.form.pacStatus = "鍚敤"; // } else { @@ -542,15 +561,16 @@ // } this.title = "浣撴濂楅淇℃伅缁存姢"; this.open = true; - // getAllList().then((response) => { - // this.allList = response.data; - // this.loading = false; - // }); + getPacInFo(row.pacId).then((response) => { + this.form = response.data; + this.form.keywords = this.form.keyIds; + }); }, // 鏂板琛� addmembers() { if (this.form.pacName) { + if (!this.form.tjProjectList) { this.form.tjProjectList = []; this.form.tjProjectList.push({ @@ -599,17 +619,32 @@ formitem.proId = item.proId; formitem.proPrice = item.proPrice; formitem.priceNow = item.proPrice; - item.tjProjectList.forEach((item1) => { - this.$nextTick(() => { - formitem.allSonProName = - formitem.allSonProName + "," + item1.proName; - }); - // this.form.tjProjectList.allSonProName = this.form.tjProjectList.allSonProName+','+item1.proName - }); + formitem.allSonProName =item.allSonProName; + // item.tjProjectList.forEach((item1) => { + // this.$nextTick(() => { + // formitem.allSonProName = + // formitem.allSonProName + "," + item1.proName; + // }); + // // this.form.tjProjectList.allSonProName = this.form.tjProjectList.allSonProName+','+item1.proName + // }); } }); } }); + + 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() { -- Gitblit v1.8.0