From cb1f69717eed3b6a61b6c61a8934bac752782b2d Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期三, 05 三月 2025 17:00:38 +0800 Subject: [PATCH] 1 --- src/views/system/package/index.vue | 626 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 451 insertions(+), 175 deletions(-) diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index 3821c97..839dfd1 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -24,19 +24,19 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="濂楅鍒嗙被" prop="categoryId"> + <el-form-item label="浣撴绫诲埆" prop="tjCategory"> <el-select - v-model="queryParams.categoryId" + v-model="queryParams.tjCategory" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable > <el-option - v-for="dict in categoryList" + v-for="dict in dict.type.dict_tjtype" :key="dict.id" - :label="dict.name" - :value="dict.id" + :label="dict.label" + :value="dict.value" ></el-option> </el-select> </el-form-item> @@ -131,12 +131,19 @@ /> <!-- <el-table-column label="缂栧彿" align="center" prop="pacId" /> --> <el-table-column - label="濂楅鍒嗙被" + label="浣撴绫诲埆" width="100px" align="center" prop="categoryNames" fixed - ></el-table-column> + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.dict_tjtype" + :value="scope.row.tjCategory" + /> + </template> + </el-table-column> <el-table-column label="濂楅鍚嶇О" align="center" @@ -145,10 +152,24 @@ fixed /> <el-table-column - label="浠锋牸" + label="鍘熶环" width="80px" align="center" prop="price" + fixed + ></el-table-column> + <el-table-column + label="鎶樻墸" + width="80px" + align="center" + prop="limits" + fixed + ></el-table-column> + <el-table-column + label="浼樻儬浠�" + width="80px" + align="center" + prop="newPrice" fixed > </el-table-column> @@ -226,12 +247,12 @@ align="center" prop="retailPrice" ></el-table-column> - <el-table-column + <!-- <el-table-column label="鍘熶环" width="90px" align="center" prop="counterPrice" - ></el-table-column> + ></el-table-column> --> <el-table-column label="宸插敭鏁伴噺" width="90px" @@ -301,7 +322,7 @@ <el-dialog :title="title" :visible.sync="open" - width="1500px" + width="1400px" append-to-body :close-on-click-modal="false" > @@ -349,12 +370,7 @@ </el-select> </el-form-item> - <el-form-item label="濂楅绫荤洰" prop="categoryId"> - <!-- <el-input - v-model="form.createId" - placeholder="璇疯緭鍏ュ晢鍝佺被鐩�" - style="width: 200px" - /> --> + <!-- <el-form-item label="濂楅绫荤洰" prop="categoryId"> <el-select v-model="form.categoryId" placeholder="璇烽�夋嫨濂楅绫荤洰" @@ -370,26 +386,24 @@ :value="item.id" ></el-option> </el-select> - </el-form-item> - - <el-form-item label="鍏抽敭瀛�" prop="keywords"> + </el-form-item> --> + <el-form-item label="浣撴绫诲埆" prop="tjCategory"> <el-select - multiple - v-model="form.keywords" - placeholder="璇烽�夋嫨鍏抽敭瀛�" + v-model="form.tjCategory" + placeholder="璇烽�夋嫨浣撴绫诲埆" style="width: 150px" - @change="sel" filterable clearable > <el-option - v-for="item in keywordList" - :key="item.id" - :label="item.keyword" - :value="item.id" + v-for="dict in dict.type.dict_tjtype" + :key="dict.value" + :label="dict.label" + :value="dict.value" ></el-option> </el-select> </el-form-item> + <el-form-item label="鏄惁涓婃灦" prop="isOnSale"> <!-- <el-radio-group v-model="form.pacStatus"> <el-radio :label="0">鍚敤</el-radio> @@ -398,7 +412,7 @@ <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" - style="width: 150px" + style="width: 140px" filterable clearable > @@ -425,26 +439,49 @@ style="width: 150px" /> </el-form-item> - <el-form-item label="鍘熶环" prop="counterPrice"> + <el-form-item label="鍘熶环" prop="pics"> <el-input - v-model="form.counterPrice" + v-model="pics" placeholder="璇疯緭鍏ュ師浠�" style="width: 150px" /> </el-form-item> - <el-form-item label="浣撴绫诲埆" prop="tjCategory"> - <el-select - v-model="form.tjCategory" - placeholder="璇烽�夋嫨鏄惁涓婃灦" + <el-form-item label="鎶樻墸"> + <el-input-number + ref="inputNumber" style="width: 150px" + v-model="youhui" + :precision="2" + :step="0.1" + :max="10" + :min="1" + @change="numberChange" + ></el-input-number> + </el-form-item> + <el-form-item label="浼樻儬浠�"> + <el-input + ref="inputName" + v-model="form.xianprice" + placeholder="浼樻儬浠�" + clearable + style="width: 140px" + /> + </el-form-item> + <el-form-item label="鍏抽敭瀛�" prop="keywords"> + <el-select + multiple + v-model="form.keywords" + placeholder="璇烽�夋嫨鍏抽敭瀛�" + style="width: 160px" + @change="sel" filterable clearable > <el-option - v-for="dict in dict.type.dict_tjtype" - :key="dict.value" - :label="dict.label" - :value="dict.value" + v-for="item in keywordList" + :key="item.id" + :label="item.keyword" + :value="item.id" ></el-option> </el-select> </el-form-item> @@ -515,16 +552,20 @@ </el-table-column> </el-table> --> - <el-row :gutter="20"> - <el-col :span="7"> + <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" @@ -539,9 +580,17 @@ :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"> + <!-- <el-col :span="6"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px" > @@ -563,27 +612,73 @@ > </el-tree> </div> - </el-col> - <el-col :span="11"> + </el-col> --> + <el-col> <div class="grid-content bg-purple"> <div - style="text-align: center; margin-bottom: 10px; margin-top: 10px" + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + margin-left: 8%; + " > 宸查�夐」鐩垪琛� </div> <el-table :data="DataList" border - style="width: 100%" + style="width: 90%; margin-left: 20px" height="400" :span-method="objectSpanMethod" > - <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + <el-table-column prop="proName" label="妫�鏌ラ」鐩�"> </el-table-column> - <el-table-column prop="proPrice" label="鍘熶环" width="56px"> + + <el-table-column + prop="priceOrd" + label="鍘熶环" + align="center" + width="80px" + > </el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> + <el-table-column label="鎶樻墸" width="100px"> + <template slot-scope="scope"> + <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 --> + <el-input + v-model.number="scope.row.limits" + @input="calculateDiscount(scope.row)" + placeholder="杈撳叆鎶樻墸" + size="small" + type="number" + min="0" + step="0.1" + max="10" + > + </el-input> + </template> </el-table-column> + <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> --> <!-- <el-table-column label="鎿嶄綔" @@ -603,7 +698,7 @@ </template> </el-table-column>--> </el-table> - <h3 style="font-weight: 600">鍚堣锛歿{ pics }}鍏�</h3> + <!-- <h3 style="font-weight: 600">鍚堣锛歿{ pics }}鍏�</h3> --> </div> </el-col> </el-row> @@ -638,7 +733,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, @@ -652,8 +752,10 @@ getAllList, updateProject, getPacTjProjectList, + saveOreditTjPacNew, } from "@/api/system/package"; import { Message } from "element-ui"; +import Big from "big.js"; export default { name: "Package", dicts: ["sys_normal_disable", "sys_yes_no", "dict_tjtype"], @@ -675,6 +777,7 @@ DataList: [], list1: true, activeName: "1", + num: 1, checkedObj: {}, dataObj: {}, Treedata: [], @@ -706,8 +809,6 @@ multiple: true, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, - // 鎬绘潯鏁� - total: 0, // 浣撴濂楅琛ㄦ牸鏁版嵁 packageList: [], // 濂楅閫変腑鐨勭埗椤� @@ -724,7 +825,11 @@ // 鏄惁鏄剧ず寮瑰嚭灞� open: false, Seachopen: false, + checkedNodes: [], pacId: "", + // 鎬绘潯鏁� + total: 0, + total1: 0, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -732,9 +837,19 @@ pacName: null, pacRemark: null, }, + queryParams1: { + page: 1, + pageSize: 30, + nr: "", + }, // 琛ㄥ崟鍙傛暟 - form: {}, + form: { + xianprice: null, // 浼樻儬浠� + counterPrice: null, //鍘熶环 + limits: 10, + }, forms: {}, + youhui: 10, // 琛ㄥ崟鏍¢獙 rules: { deleted: [ @@ -749,9 +864,9 @@ // categoryId: [ // { required: true, validator: checkPhoneNum, trigger: "change" }, // ], - keywords: [ + /* keywords: [ { required: true, validator: checkPhoneNum, trigger: "change" }, - ], + ], */ isOnSale: [ { required: true, validator: checkPhoneNum, trigger: "change" }, ], @@ -762,14 +877,18 @@ counterPrice: [ { required: true, validator: checkPhoneNum, trigger: "blur" }, ], + tjCategory: [ + { required: true, validator: checkPhoneNum, trigger: "blur" }, + ], }, }; }, - watch: { - filterText(val) { - this.$refs.tree.filter(val); - }, - }, + // watch: { + // filterText(val) { + // this.$refs.tree.filter(val); + // }, + // }, + created() { this.getList(); this.getKeyword(); @@ -782,9 +901,9 @@ filterNode(value, data) { if (!value) return true; // return data.proName.indexOf(value) !== -1; - if(data.proName.indexOf(value) !== -1){ + if (data.proName.indexOf(value) !== -1) { return data.proName.indexOf(value) !== -1; - }else{ + } else { return data.proEngName.indexOf(value) !== -1; } }, @@ -812,6 +931,7 @@ this.loading = false; }); }, + /** 鏌ヨ鍏抽敭瀛楀垪琛� */ getKeyword() { this.loading = true; @@ -831,6 +951,7 @@ this.loading = true; listCategory(this.queryParams).then((response) => { this.categoryList = response.rows; + console.log(this.categoryList, 9988); }); }, shangpin(vals) {}, @@ -953,26 +1074,47 @@ // }); getPacInFo(this.forms.pacId).then((response) => { this.form = response.data; + console.log(this.form, 2233); + 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 = "浣撴濂楅淇℃伅缁存姢"; this.open = true; getPacInFo(row.pacId).then((response) => { this.form = response.data; + console.log(this.form, 445); + this.form.keywords = this.form.keywords.slice(0, -1); this.form.keywords = this.form.keywords.split(","); 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(); }); }, @@ -1019,6 +1161,21 @@ } }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete1(row) { + this.DataList = this.DataList.filter((item) => item.proId !== row.proId); + // 浠� checkedNodes 涓Щ闄� + const index = this.checkedNodes.indexOf(row.proId); + if (index > -1) { + this.checkedNodes.splice(index, 1); + } + const tree = this.$refs.tree; + const node = tree.getNode(row.proId); + if (node) { + node.setChecked(false); + } + this.updateTotalPrice(); + }, getSelectValue(val) { this.form.tjProjectList.forEach((formitem) => { if (formitem.proName == val) { @@ -1055,7 +1212,52 @@ return this.form.tjProjectList; }, - // // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } + + numberChange(currentValue, oldValue) { + this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.youhui = currentValue; + this.DataList.forEach((item) => { + item.limits = this.youhui; + const proPrice = new Big(item.priceOrd); + const limits = new Big(item.limits); + const result = proPrice.times(limits.div(10)); + item.priceNow = result.toNumber(); + this.form.xianprice = this.DataList.reduce((sum, item) => { + return sum.plus(new Big(item.priceNow || "0")); + }, new Big(0)); + }); + }) + .catch(() => { + this.youhui = oldValue; + }); + }, + + updateProPrice(row) { + 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(); + this.form.xianprice = this.DataList.reduce((sum, item) => { + return sum.plus(new Big(item.priceNow || "0")); + }, 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) { + row.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у�� + } else if (row.limits < 0) { + row.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓�� + } + this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫 + }, + // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } objectSpanMethod({ row, column, rowIndex, columnIndex }) { let fields = ["propinName"]; let cellValue = row[column.property]; @@ -1085,113 +1287,142 @@ }, 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); - 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; - 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.loading = false; + search(this.queryParams1).then((response) => { + this.Treedata = response.data.list; // 鏇存柊鏍戝舰鏁版嵁 + this.total1 = response.data.total; // 鏇存柊鎬绘潯鏁� + this.pics = this.DataList.reduce( + (total, item) => total + item.priceOrd, + 0 + ); + + // 纭繚鍦ㄦ暟鎹姞杞藉悗淇濇寔閫変腑鐘舵�� + this.$nextTick(() => { + this.$refs.tree.setCheckedKeys(this.checkedNodes); + }); + }); + 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.queryParams1.page = 1; // 鎼滅储鏃堕噸缃负绗竴椤� + this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁 + // 鍦ㄨ繃婊ゅ悗锛岄噸鏂拌缃�変腑鐘舵�� + this.$nextTick(() => { + this.$refs.tree.setCheckedKeys(this.checkedNodes); }); }, - 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; - }); - }); - } + + // 鍒嗛〉浜嬩欢 + handlePageChange({ page, pageSize }) { + this.queryParams.page = page; // 鏇存柊褰撳墠椤� + this.queryParams.pageSize = pageSize; // 鏇存柊姣忛〉鏉℃暟 + this.getDataList(); // 璋冪敤鎺ュ彛鑾峰彇鏁版嵁 }, + handleCurrentChecked(data, checked, indeterminate) { + if (checked) { + // 濡傛灉宸查�夊垪琛ㄤ腑涓嶅瓨鍦ㄦ椤圭洰锛屽垯娣诲姞 + if (!this.DataList.some((item) => item.proId === data.proId)) { + this.DataList.push({ + proId: data.proId, + proName: data.proName, + priceOrd: data.proPrice, + limits: 10, + priceNow: data.proPrice, + }); + } + // 娣诲姞鍒� checkedNodes 鏁扮粍 + if (!this.checkedNodes.includes(data.proId)) { + this.checkedNodes.push(data.proId); + } + } else { + // 鍙栨秷閫変腑鏃讹紝浠嶥ataList涓Щ闄� + this.DataList = this.DataList.filter( + (item) => item.proId !== data.proId + ); + // 浠� checkedNodes 涓Щ闄� + const index = this.checkedNodes.indexOf(data.proId); + if (index > -1) { + this.checkedNodes.splice(index, 1); + } + } + + // 鏇存柊浼樻儬浠峰拰鎬讳环 + this.updateTotalPrice(); + }, + updateTotalPrice() { + // 璁$畻鎵�鏈夐」鐩殑鎬讳紭鎯犱环 + this.form.xianprice = this.DataList.reduce((sum, item) => { + return sum.plus(new Big(item.priceNow || "0")); + }, new Big(0)).toNumber(); + + // 璁$畻鍘熶环鎬诲拰 + this.pics = this.DataList.reduce( + (total, item) => total + item.priceOrd, + 0 + ); + }, spliceData() { for (var i = 0; i < this.DataList.length; i++) { for (var j = i + 1; j < this.DataList.length; j++) { @@ -1214,7 +1445,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; }); } @@ -1223,7 +1454,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; @@ -1234,7 +1465,7 @@ this.pics = 0; this.DataList.forEach((item1) => { // this.TotalPrice1 = item1.proPrice + this.TotalPrice1; - this.pics += item1.proPrice; + this.pics += item1.priceOrd; }); } }, @@ -1256,6 +1487,51 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { + this.form.limits = this.youhui; + this.form.price = this.pics; + this.form.priceNow = this.queryParams.xianprice; + + if (this.keys) { + this.form.keywords = this.keys; // 濡傛灉鏈� this.keys锛屽垯鐩存帴璧嬪�� + } else { + // this.form.keywords = this.form.keywords; // 濡傛灉娌℃湁锛屽垯灏� this.form.keywords 杞垚瀛楃涓� + } + + let packageProjects = []; // 瀹氫箟涓�涓┖鏁扮粍 + + this.DataList.forEach((item) => { + packageProjects.push({ + proName: item.proName, + proId: item.proId, + priceNow: item.priceNow, + limits: item.limits, + priceOrd: item.priceOrd, + }); + }); + let data = { + pacName: this.form.pacName, + limits: this.form.limits, + pacStatus: this.form.pacStatus, + packageProjects: packageProjects, + newPrice: this.form.xianprice, + price: this.pics, + pacId: this.form.pacId || null, + isOnSale: this.form.isOnSale, + // keywords: this.form.keywords, + sort: this.form.sort, + retailPrice: this.form.retailPrice, + tjCategory: this.form.tjCategory, + pacRemark: this.form.pacRemark, + detail: this.form.detail, + }; + + saveOreditTjPacNew(data).then((res) => { + console.log(res, 555); + this.open = false; + this.getList(); + }); + }, + /* submitForm() { if (this.form.pacName) { this.form.tjProjectList = []; if (this.DataList.length != 0) { @@ -1319,7 +1595,7 @@ } else { Message.warning("璇峰厛濉啓濂楅鍚嶇О"); } - }, + }, */ /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { const pacIds = row.pacId || this.ids; -- Gitblit v1.8.0