From d441a339549da0e1280879333f0b22823a603443 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 02 十二月 2024 16:59:11 +0800 Subject: [PATCH] 合同积分的提示、地图样式调整 --- src/views/system/contract/score/index.vue | 118 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 68 insertions(+), 50 deletions(-) diff --git a/src/views/system/contract/score/index.vue b/src/views/system/contract/score/index.vue index 2ef8338..2f2e193 100644 --- a/src/views/system/contract/score/index.vue +++ b/src/views/system/contract/score/index.vue @@ -8,13 +8,13 @@ </el-select> </el-form-item> <el-form-item label="瀹℃牳鏃堕棿"> - <el-date-picker v-model="daterangeAuditingTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" - type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></el-date-picker> + <el-date-picker v-model="daterangeAuditingTime" style="width: 240px" value-format="yyyy-MM-dd" + type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="handleQuery"></el-date-picker> </el-form-item> <el-form-item label="鍒涘缓鏃堕棿"> - <el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" - type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></el-date-picker> + <el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd" + type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="handleQuery"></el-date-picker> </el-form-item> <el-form-item> <el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery">鎼滅储</el-button> @@ -25,15 +25,15 @@ <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" - v-hasPermi="['platform:score:add']">鏂板</el-button> + v-hasPermi="['contract:score:add']">鏂板</el-button> </el-col> <el-col :span="1.5"> <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" - v-hasPermi="['platform:score:remove']">鍒犻櫎</el-button> + v-hasPermi="['contract:score:remove']">鍒犻櫎</el-button> </el-col> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['platform:score:export']">瀵煎嚭</el-button> + v-hasPermi="['contract:score:export']">瀵煎嚭</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> @@ -44,7 +44,7 @@ <el-table-column label="鑰冩牳鍚堝悓" align="center" prop="contractName"/> <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleName" :show-overflow-tooltip="true" /> <el-table-column label="鎵e噺鏂瑰紡" align="center" prop="deductCategory"/> - <el-table-column label="鑰冩牳鎸囨爣" align="center" prop="num"/> + <el-table-column label="瓒呮湡閲忓��" align="center" prop="num"/> <el-table-column label="鑰冩牳鎵e垎" align="center" prop="score"/> <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180px"/> <el-table-column label="瀹℃牳鐘舵��" align="center" prop="auditingStatus"> @@ -59,10 +59,10 @@ <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">璇︽儏</el-button> <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleAuditing(scope.row)" - v-hasPermi="['default:audit']" v-if="scope.row.auditingStatus === '寰呭鏍�'">瀹℃牳</el-button> + v-hasPermi="['contract:score:audit']" v-if="scope.row.auditingStatus === '寰呭鏍�'">瀹℃牳</el-button> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-if="scope.row.auditingStatus === '寰呭鏍�'" v-hasPermi="['system:auditing:edit']">淇敼</el-button> - <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">鍒犻櫎</el-button> + v-hasPermi="['contract:score:edit']">淇敼</el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['contract:score:remove']">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -80,7 +80,7 @@ <el-form-item label="杩愮淮鑰冩牳瑙勫垯"> <el-input v-model="auditingForm.ruleName" type="textarea" autosize disabled /> </el-form-item> - <el-form-item label="杩愮淮鑰冩牳鎸囨爣"> + <el-form-item label="杩愮淮瓒呮湡閲忓��"> <el-input v-model="auditingForm.num" disabled /> </el-form-item> <el-form-item label="杩愮淮鑰冩牳鎵e垎"> @@ -101,7 +101,7 @@ </el-dialog> <!-- 鏂板鎴栦慨鏀� --> - <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body> + <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form-item label="杩愮淮鑰冩牳鍗曚綅" prop="unitId"> <el-select v-model="form.unitId" placeholder="杩愮淮鑰冩牳鍗曚綅" @change="handleChangeUnit"> @@ -115,18 +115,16 @@ <div class="row-left"> <div class="block"> <span class="demonstration"></span> - <el-cascader ref="cascader" v-model="form.ruleIdsArray" :options="options" @change="handleChange"> + <el-cascader + ref="cascader" + v-model="form.ruleIdsArray" + :options="options" + @change="handleChange" + :props="{ expandTrigger: 'hover'}" + > <template slot-scope="{ data }"> - <el-tooltip class="item" :disabled="data.label.length < 16 && !data.deductCategory" effect="dark" - :content=" - data.label.length < 16 ? - data.deductCategory ? - data.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + data.calcFraction + '鍒�*鏁伴噺 ' : data.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂' : '鎵�' + data.calcFraction + '鍒�' : - '' : - (data.deductCategory ? - data.label + ' ' + (data.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + data.calcFraction + '鍒�*鏁伴噺 ' : data.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂' : '鎵�' + data.calcFraction + '鍒�') : - data.label)" - placement="left"> + <el-tooltip class="item" :disabled="calculateTooltipDisabled(data)" effect="dark" + :content="calculateTooltipContent(data)" placement="left"> <span>{{ data.label }}</span> </el-tooltip> </template> @@ -134,15 +132,19 @@ </div> </div> <div class="row-right" v-if="needNum"> - <div>鎸囨爣</div> + <div>娆℃暟/鏁伴噺/灏忔椂</div> <div class="margin-5"> <el-input placeholder="璇疯緭鍏�" v-model="form.num" @input="handleChangeNum" /> </div> </div> </div> </div> + <div> + {{ ruleDescription}} + </div> + </el-form-item> - <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 51%" prop="score"> + <el-form-item label="杩愮淮鑰冩牳鎵e垎" style="width: 30%" prop="score"> <el-input v-model="form.score"></el-input> </el-form-item> </el-form> @@ -160,7 +162,7 @@ <el-form-item label="鑰冩牳鍗曚綅锛�">{{ view.unitName }}</el-form-item> <el-form-item label="鑰冩牳鍚堝悓锛�">{{ view.contractName }} </el-form-item> <el-form-item label="鑰冩牳瑙勫垯锛�">{{ view.ruleName }} </el-form-item> - <el-form-item label="鑰冩牳鎸囨爣锛�">{{ view.num }} </el-form-item> + <el-form-item label="瓒呮湡閲忓�硷細">{{ view.num }} </el-form-item> <el-form-item label="鑰冩牳鎵e垎锛�">{{ view.score }} </el-form-item> <el-form-item label="鍒涘缓浜猴細">{{ view.createUser }} </el-form-item> <el-form-item label="鍒涘缓鏃堕棿锛�">{{ view.createTime }} </el-form-item> @@ -195,6 +197,7 @@ auditingOpen: false, auditingForm: {}, unitList: [], + ruleDescription: '', // 娣诲姞瑙勫垯鎻忚堪瀛楁 // 鑰冩牳妯℃澘 examineList: [ { id: 1, value: "杞﹁締鑰冩牳" }, @@ -287,6 +290,7 @@ this.form.contractId = item.contractId; this.form.ruleName = item.ruleName + " / " + item.label; this.form.deductCategory = item.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + item.calcFraction + '鍒�*鏁伴噺 ' : item.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + item.calcFraction + '鍒�/' + item.calcUnit + '灏忔椂' : '鎵�' + item.calcFraction + '鍒�'; + this.ruleDescription = this.calculateTooltipContent(item); if (item.deductCategory == "鎵f寚瀹氬垎鏁�") { this.needNum = false; this.form.score = item.calcFraction; @@ -312,24 +316,6 @@ handleChangeUnit(value) { getRuleListByUnitId(value).then((res) => { this.options = this.getTreeData(res.data); - // 鎵嬪姩鏍戝舰缁撴瀯 - if (this.options) { - let groupedList = {}; - this.options.forEach(item => { - if (!groupedList[item.ruleName]) { - groupedList[item.ruleName] = { - value: 0, - children: [], - label: item.ruleName, - ruleName: item.ruleName, - contractId: item.contractId - }; - } - groupedList[item.ruleName].children.push(item); - }); - let result = Object.values(groupedList); - this.options = result; - } }) }, getTreeData(data) { @@ -447,10 +433,6 @@ handleUpdate(row) { this.reset(); const id = row.id || this.ids - if (row.auditingStatus != '寰呭鏍�') { - this.$message.warning("璇ヨ褰曞凡瀹℃牳锛屼笉鑳戒慨鏀�"); - return; - } getAuditing(id).then(response => { this.form = { ...response.data }; this.open = true; @@ -500,8 +482,44 @@ this.download('/contract/score/export', { ...this.queryParams }, `鍚堝悓鑰冩牳绉垎_${new Date().getTime()}.xlsx`) + }, + calculateTooltipDisabled(data) { + return data.label.length < 16 && !data.deductCategory; + }, + calculateTooltipContent(data) { + let content = ''; + if (data.label.length < 16) { + if (data.deductCategory) { + switch (data.deductCategory) { + case '鍒嗘暟涔樹互鏁伴噺': + content = '鎵�' + data.calcFraction + '鍒�*鏁伴噺 '; + break; + case '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�': + content = '鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂'; + break; + default: + content = '鎵�' + data.calcFraction + '鍒�'; + } + } + } else { + if (data.deductCategory) { + switch (data.deductCategory) { + case '鍒嗘暟涔樹互鏁伴噺': + content = data.label + ' 鎵�' + data.calcFraction + '鍒�*鏁伴噺 '; + break; + case '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�': + content = data.label + ' 鎵�' + data.calcFraction + '鍒�/' + data.calcUnit + '灏忔椂'; + break; + default: + content = data.label + ' 鎵�' + data.calcFraction + '鍒�'; + } + } else { + content = data.label; + } + } + return content; } - } + }, }; </script> <style scoped> -- Gitblit v1.8.0