From 47f3611b20b8ee9379e93c82b7b2f46edae56eb1 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期二, 21 一月 2025 14:13:56 +0800 Subject: [PATCH] taocan --- src/views/system/package/index.vue | 380 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 197 insertions(+), 183 deletions(-) diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index b6a2b1a..06436ff 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -315,7 +315,7 @@ <el-dialog :title="title" :visible.sync="open" - width="1500px" + width="1400px" append-to-body :close-on-click-modal="false" > @@ -550,16 +550,20 @@ </el-table-column> </el-table> --> - <el-row :gutter="11"> - <el-col :span="11"> + <el-row style="display: flex; width: 1300px"> + <el-col> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > 椤圭洰鍒楄〃 </div> - <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> - </el-input> - <div class="tab3"> + <el-input + placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" + @input="handleFilterInput" + v-model="queryParams1.nr" + clearable + /> + <div class="tab3" style="height: 365px"> <el-tree class="filter-tree" v-loading="loading" @@ -574,6 +578,14 @@ :render-content="renderContent" > </el-tree> + <pagination + small + v-show="total1 > 0" + :total="total1" + :page.sync="queryParams1.page" + :limit.sync="queryParams1.pageSize" + @pagination="getDataList" + /> </div> </el-col> <!-- <el-col :span="6"> @@ -599,14 +611,14 @@ </el-tree> </div> </el-col> --> - <el-col :span="11"> + <el-col> <div class="grid-content bg-purple"> <div style=" text-align: center; margin-bottom: 10px; margin-top: 10px; - margin-left: 16%; + margin-left: 8%; " > 宸查�夐」鐩垪琛� @@ -614,16 +626,21 @@ <el-table :data="DataList" border - style="width: 80%; margin-left: 18%" + style="width: 90%; margin-left: 20px" height="400" :span-method="objectSpanMethod" > <el-table-column prop="proName" label="妫�鏌ラ」鐩�"> </el-table-column> - <el-table-column prop="proPrice" label="鍘熶环" align="center"> + <el-table-column + prop="priceOrd" + label="鍘熶环" + align="center" + width="80px" + > </el-table-column> - <el-table-column label="鎶樻墸"> + <el-table-column label="鎶樻墸" width="100px"> <template slot-scope="scope"> <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 --> <el-input @@ -639,7 +656,24 @@ </el-input> </template> </el-table-column> - <el-table-column prop="priceNow" label="浼樻儬浠�" align="center"> + <el-table-column + prop="priceNow" + label="浼樻儬浠�" + width="80px" + align="center" + > + </el-table-column> + <el-table-column label="鎿嶄綔" align="center" width="80px"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete1(scope.row)" + title="鍒犻櫎" + > + </el-button> + </template> </el-table-column> <!-- <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> </el-table-column> --> @@ -697,7 +731,12 @@ import Packages from "@/components/Packages"; import { listCategory } from "@/api/mall/category"; import { listKeyword } from "@/api/mall/keyword"; -import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian"; +// import { getProParentIdDxList, getProSonDxList } from "@/api/system/tijian"; +import { + getProParentIdDxList, + search, + getProSonDxList, +} from "@/api/system/package"; import { getPacList, getPacInFo, @@ -768,8 +807,6 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, - // 鎬绘潯鏁� - total: 0, // 浣撴濂楅琛ㄦ牸鏁版嵁 packageList: [], // 濂楅閫変腑鐨勭埗椤� @@ -787,12 +824,20 @@ open: false, Seachopen: false, pacId: "", + // 鎬绘潯鏁� + total: 0, + total1: 0, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, pacName: null, pacRemark: null, + }, + queryParams1: { + page: 1, + pageSize: 30, + nr: "", }, // 琛ㄥ崟鍙傛暟 form: { @@ -832,11 +877,11 @@ }, }; }, - watch: { - filterText(val) { - this.$refs.tree.filter(val); - }, - }, + // watch: { + // filterText(val) { + // this.$refs.tree.filter(val); + // }, + // }, created() { this.getList(); @@ -880,6 +925,7 @@ this.loading = false; }); }, + /** 鏌ヨ鍏抽敭瀛楀垪琛� */ getKeyword() { this.loading = true; @@ -1023,13 +1069,23 @@ this.form = response.data; this.form.keywords = this.form.keywords.slice(0, -1); this.form.keywords = this.form.keywords.split(","); - this.DataList = []; + // this.DataList = []; + // this.pics = 0; + this.DataList = []; this.checkedkey = []; this.checkedListkey = []; + this.DataList = response.data.packageProjects; + this.DataList.forEach((item) => { + this.checkedkey.push(item.proId); + this.checkedListkey.push(item.proId); + }); + + // 鑾峰彇鏂扮殑鏁版嵁鍒楄〃锛堝鏋滈渶瑕侊級 this.getDataList(); }); }, + /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.title = "浣撴濂楅淇℃伅缁存姢"; @@ -1041,6 +1097,13 @@ this.DataList = []; this.checkedkey = []; this.checkedListkey = []; + this.DataList = response.data.packageProjects; + this.DataList.forEach((item) => { + this.checkedkey.push(item.proId); + this.checkedListkey.push(item.proId); + }); + + // 鑾峰彇鏂扮殑鏁版嵁鍒楄〃锛堝鏋滈渶瑕侊級 this.getDataList(); }); }, @@ -1084,6 +1147,16 @@ }); } else { this.form.tjProjectList.splice(index, 1); + } + }, + + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete1(row) { + this.DataList = this.DataList.filter((item) => item.proId !== row.proId); + const tree = this.$refs.tree; + const node = tree.getNode(row.proId); // 鏍规嵁鑺傜偣鐨勫敮涓�鏍囪瘑鑾峰彇鑺傜偣瀵硅薄 + if (node) { + node.setChecked(false); // 鍙栨秷閫変腑鐘舵�� } }, @@ -1132,13 +1205,9 @@ }) .then(() => { this.youhui = currentValue; - /* if (this.youhui < 10) { - this.youhui = 10; - // this.$modal.msgError(`璇ヤ汉鍛樻渶楂樹紭鎯犳潈闄愪负${this.getInfodis}鎶榒); - } */ this.DataList.forEach((item) => { item.limits = this.youhui; - const proPrice = new Big(item.proPrice); + const proPrice = new Big(item.priceOrd); const limits = new Big(item.limits); const result = proPrice.times(limits.div(10)); item.priceNow = result.toNumber(); @@ -1153,7 +1222,7 @@ }, updateProPrice(row) { - const proPrice = new Big(row.proPrice); + const proPrice = new Big(row.priceOrd); const limits = new Big(row.limits); const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) row.priceNow = result.toNumber(); @@ -1162,6 +1231,7 @@ }, new Big(0)).toNumber(); this.youhui = (Math.floor((this.form.xianprice / this.pics) * 100) / 100) * 10; + // console.log(this.youhui, 1212); }, calculateDiscount(row) { if (row.limits > 10) { @@ -1201,181 +1271,126 @@ }, getDataList() { this.loading = true; - getProParentIdDxList().then((response) => { - this.Treedata = response.data.list; - if (this.form.tjProjectList) { - this.form.tjProjectList.forEach((item) => { - this.Treedata.forEach((item1) => { - if (item.proId == item1.proId) { - this.checkedkey.push(item1.proId); + search(this.queryParams1).then((response) => { + this.Treedata = response.data.list; // 鏇存柊鏍戝舰鏁版嵁 + this.total1 = response.data.total; // 鏇存柊鎬绘潯鏁� - this.DataList.push(item1); - this.DataList.forEach((item1) => { - item1.limits = 10; - if (item1.limits > 10) { - item1.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у�� - } else if (item1.limits < 0) { - item1.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓�� - } - this.updateProPrice(item1); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫 - }); + const selectedIds = this.DataList.map((item) => item.proId); + // 鏇存柊 checkedkey 浣垮緱閫変腑鐨勯」鐩繚鎸侀�変腑鐘舵�� + this.checkedkey = selectedIds.filter((id) => + this.Treedata.some((item) => item.proId === id) + ); - /* let proId = item1.proId; - getProSonDxList(proId).then((res) => { - this.TreedataList = res.data.list; - this.TreedataList.forEach((item2) => { - item2.disabled = true; - this.checkedListkey.push(item2.proId); - this.DataList.push(item2); - if (this.DataList.length != 0) { - this.DataList.forEach((item) => { - if (item.proParentId == item1.proId) { - item.propinName = item1.proName; - item.propinPrice = item1.proPrice; - } - }); - this.pics = 0; - this.DataList.forEach((item) => { - this.pics += item.proPrice; - }); - } - }); - }); */ - } - }); - }); - } else { - this.checkedkey.push(this.Treedata[0].proId); - let proId = this.Treedata[0].proId; - this.TreedataList = this.Treedata.filter( - (item) => item.proId == proId - ); - - // 灏嗙涓�涓」鐩坊鍔犲埌 DataList - this.TreedataList.forEach((item) => { - this.checkedListkey.push(item.proId); - this.DataList.push(item); - }); - /* getProSonDxList(proId).then((res) => { - this.TreedataList = res.data.list; - this.TreedataList.forEach((item) => { - item.disabled = true; - this.checkedListkey.push(item.proId); - this.DataList.push(item); - this.DataList.forEach((item) => { - item.propinName = this.Treedata[0].proName; - item.propinPrice = this.Treedata[0].proPrice; - }); - this.pics = 0; - this.DataList.forEach((item) => { - this.pics += item.proPrice; - }); - }); - }); */ - } this.pics = this.DataList.reduce( - (total, item) => total + item.proPrice, + (total, item) => total + item.priceOrd, 0 ); - this.loading = false; }); + this.loading = false; + }, + // getDataList() { + // this.loading = true; + + // getProParentIdDxList(this.queryParams).then((response) => { + // this.Treedata = response.data.list; + // /* if (this.form.tjProjectList) { + // this.form.tjProjectList.forEach((item) => { + // this.Treedata.forEach((item1) => { + // if (item.proId == item1.proId) { + // this.checkedkey.push(item1.proId); + + // this.DataList.push(item1); + + // this.DataList.forEach((item1) => { + // item1.limits = 10; + // if (item1.limits > 10) { + // item1.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у�� + // } else if (item1.limits < 0) { + // item1.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓�� + // } + // this.updateProPrice(item1); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫 + // }); + + // } + // }); + // }); + // } */ /* else { + // this.checkedkey.push(this.Treedata[0].proId); + // let proId = this.Treedata[0].proId; + // this.TreedataList = this.Treedata.filter( + // (item) => item.proId == proId + // ); */ + + // // 灏嗙涓�涓」鐩坊鍔犲埌 DataList + // // this.TreedataList.forEach((item) => { + // // this.checkedListkey.push(item.proId); + // // this.DataList.push(item); + // // }); + // /* getProSonDxList(proId).then((res) => { + // this.TreedataList = res.data.list; + // this.TreedataList.forEach((item) => { + // item.disabled = true; + // this.checkedListkey.push(item.proId); + // this.DataList.push(item); + // this.DataList.forEach((item) => { + // item.propinName = this.Treedata[0].proName; + // item.propinPrice = this.Treedata[0].proPrice; + // }); + // this.pics = 0; + // this.DataList.forEach((item) => { + // this.pics += item.proPrice; + // }); + // }); + // }); */ + // // } + // this.pics = this.DataList.reduce( + // (total, item) => total + item.priceOrd, + // 0 + // ); + // this.loading = false; + // }); + // }, + handleFilterInput() { + this.queryParams.page = 1; // 鎼滅储鏃堕噸缃负绗竴椤� + this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁 + }, + + // 鍒嗛〉浜嬩欢 + handlePageChange({ page, pageSize }) { + this.queryParams.page = page; // 鏇存柊褰撳墠椤� + this.queryParams.pageSize = pageSize; // 鏇存柊姣忛〉鏉℃暟 + this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁 }, handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data; this.checkedObj = checked; - if (checked == true) { - // 灏嗛�変腑鐨勯」鐩坊鍔犲埌 DataList - this.checkedListkey.push(data.proId); + if (checked) { + // 妫�鏌ユ槸鍚﹀凡瀛樺湪浜� DataL this.DataList.push({ proId: data.proId, proName: data.proName, - proPrice: data.proPrice, // 鍘熶环 - limits: 10, // 榛樿鎶樻墸锛�100%锛� - priceNow: data.proPrice, // 榛樿浼樻儬浠蜂笌鍘熶环鐩稿悓 + priceOrd: data.proPrice, // 鍘熶环锛岀‘淇濊祴鍊兼纭� + limits: 10, + priceNow: data.proPrice, }); - - // 閲嶆柊璁$畻鎬讳环 - this.pics = 0; - this.TotalPrice1 = 0; - this.DataList.forEach((item) => { - this.pics += item.proPrice; - this.form.counterPrice += item.proPrice; - this.TotalPrice1 += item.proPrice; // 鍙互鏍规嵁闇�瑕佹敼鎴愪紭鎯犱环 `priceNow` - }); - } else if (checked == false) { - // 浠� DataList 涓Щ闄ゅ彇娑堥�変腑鐨勯」鐩� + } else { let index = this.DataList.findIndex( (item) => item.proId === data.proId ); if (index !== -1) { this.DataList.splice(index, 1); } - - // 閲嶆柊璁$畻鎬讳环 - this.pics = 0; - this.TotalPrice1 = 0; - this.DataList.forEach((item) => { - this.pics += item.proPrice; - this.form.counterPrice += item.proPrice; - this.TotalPrice1 += item.proPrice; // 鍙互鏍规嵁闇�瑕佹敼鎴愪紭鎯犱环 `priceNow` - }); } + this.pics = 0; + this.TotalPrice1 = 0; + this.DataList.forEach((item) => { + this.pics += item.priceOrd; + this.form.counterPrice += item.priceOrd; + this.TotalPrice1 += item.priceOrd; // 鍙互鏍规嵁闇�瑕佹敼鎴愪紭鎯犱环 `priceNow` + }); }, - - /* handleCurrentChecked(data, checked, checkedNodes) { - this.dataObj = data; - this.checkedObj = checked; - if (checked == true) { - // this.$refs.tree.setCheckedKeys([data.proId]); - let proId = data.proId; - getProSonDxList(proId).then((res) => { - this.TreedataList = res.data.list; - this.TreedataList.forEach((item) => { - item.disabled = true; - this.checkedListkey.push(item.proId); - this.DataList.push(item); - this.spliceData(); - this.pics = 0; - this.DataList.forEach((item1) => { - this.pics += item1.proPrice; - if (item1.proParentId == data.proId) { - item1.propinName = data.proName; - item1.propinPrice = this.dataObj.proPrice; - } - }); - }); - this.TotalPrice1 = 0; - this.pics = 0; - if (this.DataList.length != 0) { - this.list1 = false; - this.DataList.forEach((item) => { - this.TotalPrice1 = item.proPrice + this.TotalPrice1; - this.pics += item.proPrice; - }); - } - }); - } else if (checked == false) { - let proId = data.proId; - getProSonDxList(proId).then((res) => { - this.TreedataList = res.data.list; - this.TreedataList.forEach((item) => { - item.disabled = true; - }); - this.checkedListkey = []; - this.DataList.forEach((item, index) => { - if (item.proParentId == this.dataObj.proId) { - this.DataList.splice(index, this.TreedataList.length); - } - }); - this.pics = 0; - this.DataList.forEach((item, index) => { - this.pics += item.proPrice; - }); - }); - } - }, */ spliceData() { for (var i = 0; i < this.DataList.length; i++) { @@ -1399,7 +1414,7 @@ this.TotalPrice1 = 0; this.pics = 0; this.DataList.forEach((item1) => { - this.pics += item1.proPrice; + this.pics += item1.priceOrd; // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; }); } @@ -1408,7 +1423,7 @@ this.DataList.push(data); this.pics = 0; this.DataList.forEach((item1) => { - this.pics += item1.proPrice; + this.pics += item1.priceOrd; if (item1.proParentId == this.dataObj.proId) { item1.propinName = this.dataObj.proName; item1.propinPrice = this.dataObj.proPrice; @@ -1419,7 +1434,7 @@ this.pics = 0; this.DataList.forEach((item1) => { // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; - this.pics += item1.proPrice; + this.pics += item1.priceOrd; }); } }, @@ -1441,7 +1456,6 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { - console.log(this.form, 999); this.form.limits = this.youhui; this.form.price = this.pics; this.form.priceNow = this.queryParams.xianprice; @@ -1460,7 +1474,7 @@ proId: item.proId, priceNow: item.priceNow, limits: item.limits, - priceOrd: item.proPrice, + priceOrd: item.priceOrd, }); }); let data = { -- Gitblit v1.8.0