From e2035d4c9ef8d6f701860957318dd7ba7b27c5dc Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期二, 07 一月 2025 15:23:23 +0800 Subject: [PATCH] 1 --- src/views/system/comp/index.vue | 173 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 95 insertions(+), 78 deletions(-) diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue index 9c97373..bb54498 100644 --- a/src/views/system/comp/index.vue +++ b/src/views/system/comp/index.vue @@ -1,6 +1,7 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" + @submit.native.prevent> <el-form-item label="鍗曚綅鍚嶇О" prop="cnName"> <el-input ref="inputName" v-model="queryParams.cnName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" clearable @keyup.enter.native="handleQuery" /> @@ -120,7 +121,7 @@ <el-row :gutter="20"> <el-col :span="7" :xs="24"> <div style="padding: 0 20px"> - <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true"> + <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true" @submit.native.prevent> <el-form-item label="濂楅鍚嶇О" prop="dwDeptName"> <el-input v-model="form.dwDeptName" placeholder="璇疯緭鍏ュ椁愬悕绉�" /> </el-form-item> @@ -146,7 +147,7 @@ </div> </el-col> <el-col :span="17" :xs="24"> - <el-form ref="form" :model="forms" :rules="rules" label-width="78px" :inline="true"> + <el-form ref="form" :model="forms" :rules="rules" label-width="78px" :inline="true" @submit.native.prevent> <el-form-item label="鍒嗙粍鍚嶇О" prop="groupingName"> <el-input v-model="forms.groupingName" placeholder="璇疯緭鍏ュ垎缁勫悕绉�" style="width: 130px" @focus="changegroupingName" /> @@ -238,10 +239,12 @@ <!-- 濂楅 --> <div> - <el-dialog :title="title" :visible.sync="openss" width="1400px" append-to-body :close-on-click-modal="false"> + <el-dialog :title="title" :visible.sync="openss" width="1400px" custom-class="custom-dialog" append-to-body + :close-on-click-modal="false"> <el-row :gutter="24"> <el-col :span="8" :xs="24"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px" + @submit.native.prevent> <el-form-item label="濂楅鍚嶇О" prop="pacName"> <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handleSearch" style="width: 140px" /> @@ -264,7 +267,7 @@ </el-col> <el-col :span="6" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px" - style="height: 35px"> + style="height: 35px" @submit.native.prevent> <el-form-item label="鍚堣" prop="price"> <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" /> </el-form-item> @@ -277,9 +280,9 @@ </div> --> <!-- @row-dblclick="dbclick" --> <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478"> - <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName"> + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName"> <template slot-scope="scope"> - {{ scope.row.proName + "/" + scope.row.proPrice }} + {{ scope.row.proName }} </template> </el-table-column> @@ -298,7 +301,7 @@ </el-col> <el-col :span="8" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" - label-width="68px"> + label-width="68px" @submit.native.prevent> <el-form-item label="椤圭洰鍚嶇О" prop="proName"> <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable @keyup.enter.native="handleSearchFor" style="width: 140px" /> @@ -326,9 +329,9 @@ <el-dialog :title="title" :visible.sync="openOne" width="1400px" append-to-body :close-on-click-modal="false"> <el-row :gutter="24" v-if="!isTableVisible"> - <el-col :span="11" :xs="24"> + <el-col :span="15" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px" - style="height: 35px"> + style="height: 35px" @submit.native.prevent> <el-form-item label="鍘熶环"> <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" /> </el-form-item> @@ -345,14 +348,14 @@ </el-form-item> </el-form> <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478"> - <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName"> + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="528"> <template slot-scope="scope"> - {{ scope.row.proName + "/" + scope.row.proPrice }} + {{ scope.row.proName }} </template> </el-table-column> - <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column> - <el-table-column label="鎶樻墸"> + <el-table-column label="鍘熶环" align="center" prop="proPrice" width="74"></el-table-column> + <el-table-column label="鎶樻墸" width="81"> <template slot-scope="scope"> <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 --> <el-input v-model.number="scope.row.limits" @input="validateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸" @@ -360,8 +363,8 @@ </el-input> </template> </el-table-column> - <el-table-column label="鐜颁环" align="center" prop="ysPrice"></el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="68"> + <el-table-column label="鐜颁环" align="center" prop="ysPrice" width="74"></el-table-column> + <el-table-column label="鎿嶄綔" align="center" width="70"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-delete" @click="handledbelete(scope.row)">鍒犻櫎</el-button> @@ -376,9 +379,9 @@ 璁�</el-button> </div> </el-col> - <el-col :span="11" :xs="24"> + <el-col :span="7" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" - label-width="68px"> + label-width="68px" @submit.native.prevent> <el-form-item label="椤圭洰鍚嶇О" prop="proName"> <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable @keyup.enter.native="handleSearchFor" style="width: 140px" /> @@ -388,7 +391,7 @@ </el-form-item> </el-form> <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" - height="478" style="width: 70%"> + height="478" style="width: 100%"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" /> <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" /> @@ -397,8 +400,9 @@ </el-row> <!-- -=----------------------------------------------------- --> <el-row :gutter="24" v-else> - <el-col :span="8" :xs="24"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> + <el-col :span="6" :xs="24"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px" + @submit.native.prevent> <el-form-item label="濂楅鍚嶇О" prop="pacName"> <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handleSearch" style="width: 140px" /> @@ -408,10 +412,8 @@ <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> --> </el-form-item> </el-form> - <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne" - height="478"> - <el-table-column type="selection" width="40px" align="center" /> - <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" /> + <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne" height="478"> + <el-table-column label="搴忓彿" align="center" prop="newId" width="50px" /> <el-table-column label="濂楅鍚嶇О/浠锋牸/鍏�" align="center" prop="pacName"> <template slot-scope="scope"> {{ scope.row.pacName + "/" + scope.row.price }} @@ -419,9 +421,9 @@ </el-table-column> </el-table> </el-col> - <el-col :span="6" :xs="24"> + <el-col :span="8" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px" - style="height: 35px"> + style="height: 35px" @submit.native.prevent> <el-form-item label="鍚堣" prop="price"> <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" /> </el-form-item> @@ -430,10 +432,10 @@ </el-form-item> </el-form> <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478"> - <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName"> + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="170"> <template slot-scope="scope"> - {{ scope.row.proName + "/" + scope.row.proPrice }} + {{ scope.row.proName }} </template> </el-table-column> <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column> @@ -454,7 +456,7 @@ </el-col> <el-col :span="8" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" - label-width="68px"> + label-width="68px" @submit.native.prevent> <el-form-item label="椤圭洰鍚嶇О" prop="proName"> <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable @keyup.enter.native="handleSearchFor" style="width: 140px" /> @@ -463,10 +465,9 @@ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button> </el-form-item> </el-form> - <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" - height="478" style="width: 70%"> + <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" height="478"> <el-table-column type="selection" width="40px" align="center" /> - <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="130" /> + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="288" /> <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" width="100" /> </el-table> </el-col> @@ -481,7 +482,7 @@ <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� --> <div class="dia"> <el-dialog :title="title" :visible.sync="open" width="1340px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true"> + <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true" @submit.native.prevent> <el-form-item label="鍗曚綅鍚嶇О" prop="cnName"> <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" style="width: 520px" /> </el-form-item> @@ -592,6 +593,7 @@ :key="dict.value" :label="dict.label" :value="dict.value" + ></el-option> </el-select> </el-form-item> --> @@ -1041,10 +1043,13 @@ } getProjectList().then((response) => { this.Treedata = response.data; - }); }, - + getpro() { + getProjectList().then((response) => { + this.Treedata = response.data; + }); + }, handleSearch() { if (this.queryParams.pacName) { getPackageList(this.queryParams.pacName).then((response) => { @@ -1077,13 +1082,14 @@ }, handleSearchFor() { getProjectList(this.queryParams.proName).then((response) => { - this.Treedata = response.data; + response.data.forEach((item, index) => { item.newID = (this.queryParams.pageNum - 1) * this.queryParams.pageSize + index + 1; }); + this.Treedata = response.data; }); }, // 鍗曢」鏁版嵁鑾峰彇 @@ -1093,53 +1099,53 @@ } }, resetright() { - if (this.dataList.length == 0) { - return; // 濡傛灉鏁版嵁鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥� - } else { - this.queryParams.price = 0; // 鍒濆鍖栨�讳环 - this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠� - this.youhui = 0; // 鍒濆鍖栦紭鎯� + if (this.dataList.length == 0) { + return; // 濡傛灉鏁版嵁鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥� + } else { + this.queryParams.price = 0; // 鍒濆鍖栨�讳环 + this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠� + this.youhui = 0; // 鍒濆鍖栦紭鎯� - const newItemsToAdd = []; // 鐢ㄤ簬瀛樺偍鏂伴渶瑕佹坊鍔犵殑椤圭洰 + const newItemsToAdd = []; // 鐢ㄤ簬瀛樺偍鏂伴渶瑕佹坊鍔犵殑椤圭洰 - this.dataList.forEach((item) => { - this.$refs.tre.toggleRowSelection(item, false); // 鍙栨秷閫変腑鐘舵�� - // 浣跨敤 $set 纭繚鍝嶅簲鎬� - this.$set(item, 'limits', 10); // 璁剧疆闄愬埗鏁伴噺 - this.$set(item, 'ysPrice', item.proPrice); // 璁剧疆鐜颁环涓哄師浠� + this.dataList.forEach((item) => { + this.$refs.tre.toggleRowSelection(item, false); // 鍙栨秷閫変腑鐘舵�� + // 浣跨敤 $set 纭繚鍝嶅簲鎬� + this.$set(item, 'limits', 10); // 璁剧疆闄愬埗鏁伴噺 + this.$set(item, 'ysPrice', item.proPrice); // 璁剧疆鐜颁环涓哄師浠� - // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑椤圭洰 - const existingItem = this.OnenewpacName.find(existing => existing.proId === item.proId); - if (!existingItem) { - newItemsToAdd.push(item); // 濡傛灉涓嶅瓨鍦ㄧ浉鍚岄」鐩紝鍒欐坊鍔犲埌鏂版暟缁� - this.updateProPrice(item); // 鏇存柊鍗曚釜椤圭洰鐨勪环鏍� - } - }); + // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑椤圭洰 + const existingItem = this.OnenewpacName.find(existing => existing.proId === item.proId); + if (!existingItem) { + newItemsToAdd.push(item); // 濡傛灉涓嶅瓨鍦ㄧ浉鍚岄」鐩紝鍒欐坊鍔犲埌鏂版暟缁� + this.updateProPrice(item); // 鏇存柊鍗曚釜椤圭洰鐨勪环鏍� + } + }); - // 娣诲姞鏂伴」鐩埌 OnenewpacName - this.OnenewpacName.push(...newItemsToAdd); + // 娣诲姞鏂伴」鐩埌 OnenewpacName + this.OnenewpacName.push(...newItemsToAdd); - // 鍒犻櫎閲嶅椤圭洰锛岃繖閲屾垜浠彧闇�澶勭悊鏂版坊鍔犵殑椤圭洰鍜屽師鏈夐」鐩箣闂寸殑閲嶅 - for (let i = this.OnenewpacName.length - newItemsToAdd.length; i < this.OnenewpacName.length - 1; i++) { - for (let j = i + 1; j < this.OnenewpacName.length; j++) { - if (this.OnenewpacName[i].proId === this.OnenewpacName[j].proId) { - this.OnenewpacName.splice(j, 1); // 鍒犻櫎閲嶅鐨勯」鐩� - j--; // 鍥犱负鍒犻櫎浜嗕竴涓厓绱狅紝褰撳墠鐨刯瑕佸噺1 + // 鍒犻櫎閲嶅椤圭洰锛岃繖閲屾垜浠彧闇�澶勭悊鏂版坊鍔犵殑椤圭洰鍜屽師鏈夐」鐩箣闂寸殑閲嶅 + for (let i = this.OnenewpacName.length - newItemsToAdd.length; i < this.OnenewpacName.length - 1; i++) { + for (let j = i + 1; j < this.OnenewpacName.length; j++) { + if (this.OnenewpacName[i].proId === this.OnenewpacName[j].proId) { + this.OnenewpacName.splice(j, 1); // 鍒犻櫎閲嶅鐨勯」鐩� + j--; // 鍥犱负鍒犻櫎浜嗕竴涓厓绱狅紝褰撳墠鐨刯瑕佸噺1 + } + } } - } - } - this.queryParams.price = 0 - this.queryParams.xianprice = 0 - // 閲嶆柊璁$畻鎬讳环鍜岀幇浠� - this.OnenewpacName.forEach((item) => { - this.queryParams.price += item.proPrice; // 绱姞鍘熶环 - this.queryParams.xianprice += item.ysPrice || 0; // 绱姞鐜颁环锛屽鏋測sPrice涓簎ndefined鍒欑疮鍔�0 - }); + this.queryParams.price = 0 + this.queryParams.xianprice = 0 + // 閲嶆柊璁$畻鎬讳环鍜岀幇浠� + this.OnenewpacName.forEach((item) => { + this.queryParams.price += item.proPrice; // 绱姞鍘熶环 + this.queryParams.xianprice += item.ysPrice || 0; // 绱姞鐜颁环锛屽鏋測sPrice涓簎ndefined鍒欑疮鍔�0 + }); - // 璁$畻浼樻儬锛岃繖閲屽亣璁句紭鎯犳槸鐜颁环涓庡師浠风殑宸鐧惧垎姣� - this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10; - } -}, + // 璁$畻浼樻儬锛岃繖閲屽亣璁句紭鎯犳槸鐜颁环涓庡師浠风殑宸鐧惧垎姣� + this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10; + } + }, handledbelete(row) { this.queryParams.price = 0; this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠� @@ -1569,4 +1575,15 @@ width: 50px; height: 100px; } + +::v-deep .el-dialog__body { + padding: 5px 30px; +} + +.custom-dialog ::v-deep .el-dialog__wrapper { + height: 1400px; + /* 璁剧疆寮瑰嚭妗嗙殑楂樺害 */ + overflow-y: auto; + /* 瓒呰繃鏈�澶ч珮搴︽椂鍑虹幇婊氬姩鏉� */ +} </style> -- Gitblit v1.8.0