From 6302914c8e172caded459676482016a9e6cffb8b Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 29 四月 2024 11:10:01 +0800
Subject: [PATCH] 点位完善
---
src/views/system/score/default/index.vue | 233 +++++++++++++++++++++++++---------------------------------
1 files changed, 101 insertions(+), 132 deletions(-)
diff --git a/src/views/system/score/default/index.vue b/src/views/system/score/default/index.vue
index 2a2670e..bb3d5be 100644
--- a/src/views/system/score/default/index.vue
+++ b/src/views/system/score/default/index.vue
@@ -3,36 +3,18 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="杩愮淮鑰冩牳鍗曚綅" prop="belongUnit">
<el-select v-model="queryParams.unitId" @change="handleQuery" clearable placeholder="杩愮淮鑰冩牳鍗曚綅">
- <el-option
- v-for="item in unitList"
- :key="item.id"
- :label="item.value"
- :value="item.id">
+ <el-option v-for="item in unitList" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</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 HH:mm:ss"
+ type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></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 HH:mm:ss"
+ type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
@@ -42,123 +24,77 @@
<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>
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+ v-hasPermi="['platform:score:add']">鏂板</el-button>
</el-col>
<el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['platform:score:edit']"
- >淇敼</el-button>
+ <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+ v-hasPermi="['platform:score:edit']">淇敼</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>
+ <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+ v-hasPermi="['platform: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>
+ <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+ v-hasPermi="['platform:score:export']">瀵煎嚭</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="auditingList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="鑰冩牳鍗曚綅" align="center" prop="unitName" width="180"/>
+ <el-table-column label="鑰冩牳鍗曚綅" align="center" prop="unitName" width="180" />
<el-table-column label="鑰冩牳鍚堝悓" align="center" prop="contractName" width="180" />
- <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleName" width="120" :show-overflow-tooltip="true"/>
+ <el-table-column label="鑰冩牳瑙勫垯" align="center" prop="ruleName" width="120" :show-overflow-tooltip="true" />
<el-table-column label="鑰冩牳鎸囨爣" align="center" prop="num" width="120" />
<el-table-column label="鑰冩牳鎵e垎" align="center" prop="score" width="120" />
- <el-table-column label="鍒涘缓浜�" align="center" prop="createUser" />
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" />
<el-table-column label="瀹℃牳鐘舵��" align="center" prop="auditingStatus">
<template slot-scope="scope">
- <el-tag
- :type="scope.row.auditingStatus === '閫氳繃' ? 'success' : scope.row.auditingStatus === '鏈�氳繃' ? 'danger' : 'primary'"
- disable-transitions>{{scope.row.auditingStatus}}</el-tag>
- </template>
+ <el-tag
+ :type="scope.row.auditingStatus === '閫氳繃' ? 'success' : scope.row.auditingStatus === '鏈�氳繃' ? 'danger' : 'primary'"
+ disable-transitions>{{ scope.row.auditingStatus }}</el-tag>
+ </template>
</el-table-column>
<el-table-column label="瀹℃牳浜�" align="center" prop="auditingUser" />
<el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <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>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['system:auditing:edit']"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-delete"
- @click="handleDelete(scope.row)"
- >鍒犻櫎</el-button>
+ <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>
+ <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>
</template>
</el-table-column>
</el-table>
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+ @pagination="getList" />
<!-- 瀹℃牳 -->
<el-dialog title="杩愮淮鑰冩牳瀹℃牳" :visible.sync="auditingOpen" width="500px" append-to-body>
<el-form ref="auditingForm" :model="auditingForm" :rules="auditingRules" label-width="120px">
<el-form-item label="杩愮淮鑰冩牳鍗曚綅">
- <el-input v-model="auditingForm.unitName" disabled/>
+ <el-input v-model="auditingForm.unitName" disabled />
</el-form-item>
<el-form-item label="杩愮淮鑰冩牳瑙勫垯">
- <el-input v-model="auditingForm.ruleName" type="textarea" autosize disabled/>
+ <el-input v-model="auditingForm.ruleName" type="textarea" autosize disabled />
</el-form-item>
<el-form-item label="杩愮淮鑰冩牳鎸囨爣">
- <el-input v-model="auditingForm.num" disabled/>
+ <el-input v-model="auditingForm.num" disabled />
</el-form-item>
<el-form-item label="杩愮淮鑰冩牳鎵e垎">
- <el-input v-model="auditingForm.score" disabled/>
+ <el-input v-model="auditingForm.score" disabled />
</el-form-item>
<el-form-item label="瀹℃牳缁撴灉" prop="auditingStatus">
<el-radio v-model="auditingForm.auditingStatus" label="閫氳繃">閫氳繃</el-radio>
<el-radio v-model="auditingForm.auditingStatus" label="鏈�氳繃">椹冲洖</el-radio>
</el-form-item>
<el-form-item label="瀹℃牳璇存槑" prop="remark">
- <el-input v-model="auditingForm.remark" type="textarea" show-word-limit maxlength="100"/>
+ <el-input v-model="auditingForm.remark" type="textarea" show-word-limit maxlength="100" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -172,12 +108,8 @@
<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">
- <el-option
- v-for="item in unitList"
- :key="item.id"
- :label="item.value"
- :value="item.id">
- </el-option>
+ <el-option v-for="item in unitList" :key="item.id" :label="item.value" :value="item.id">
+ </el-option>
</el-select>
</el-form-item>
<el-form-item label="杩愮淮鑰冩牳瑙勫垯" prop="ruleIdsArray">
@@ -186,19 +118,11 @@
<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">
<template slot-scope="{ data }">
- <el-tooltip
- class="item"
- :disabled="data.label.length < 16 && !data.deductCategory"
- effect="dark"
+ <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.calcUnit ? '/' + data.calcUnit : '') : '' : (data.deductCategory ? data.label + ' ' + data.deductCategory + ' ' + data.calcFraction + (data.calcUnit ? '/' + data.calcUnit : '') : data.label)"
- placement="left"
- >
+ placement="left">
<span>{{ data.label }}</span>
</el-tooltip>
</template>
@@ -208,7 +132,7 @@
<div class="row-right" v-if="needNum">
<div>鎸囨爣</div>
<div class="margin-5">
- <el-input placeholder="璇疯緭鍏�" v-model="form.num" @input="handleChangeNum"/>
+ <el-input placeholder="璇疯緭鍏�" v-model="form.num" @input="handleChangeNum" />
</div>
</div>
</div>
@@ -223,6 +147,31 @@
<el-button @click="cancel">鍙� 娑�</el-button>
</div>
</el-dialog>
+
+ <!-- 璇︽儏 -->
+ <el-dialog title="杩愮淮鑰冩牳璇︽儏" :visible.sync="openView" width="800px" append-to-body>
+ <el-form ref="form" :model="view" label-width="150px" size="mini">
+ <el-row>
+ <el-col>
+ <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="鑰冩牳鎵e垎锛�">{{ view.score }} </el-form-item>
+ <el-form-item label="鍒涘缓浜猴細">{{ view.createUser }} </el-form-item>
+ <el-form-item label="鍒涘缓鏃堕棿锛�">{{ view.createTime }} </el-form-item>
+ <el-form-item label="瀹℃牳鐘舵�侊細">{{ view.auditingStatus }} </el-form-item>
+ <el-form-item label="瀹℃牳澶囨敞锛�">{{ view.remark }} </el-form-item>
+ <el-form-item label="瀹℃牳浜猴細">{{ view.auditingUser }} </el-form-item>
+ <el-form-item label="瀹℃牳鏃堕棿锛�">{{ view.auditingTime }} </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="openView = false">鍏� 闂�</el-button>
+ </div>
+ </el-dialog>
+
</div>
</template>
@@ -235,6 +184,8 @@
name: "Auditing",
data() {
return {
+ view: {},
+ openView: false,
needNum: false,
options: [],
auditingOpen: false,
@@ -242,8 +193,8 @@
unitList: [],
// 鑰冩牳妯℃澘
examineList: [
- {id:1 , value:"杞﹁締鑰冩牳"},
- {id:2 , value:"瑙嗛鑰冩牳"}
+ { id: 1, value: "杞﹁締鑰冩牳" },
+ { id: 2, value: "瑙嗛鑰冩牳" }
],
// 閬僵灞�
loading: true,
@@ -279,12 +230,15 @@
createTime: null,
},
// 琛ㄥ崟鍙傛暟
- form: {},
+ form: {
+ score: '',
+ temp: ''
+ },
// 琛ㄥ崟鏍¢獙
auditingRules: {
auditingStatus: [
- { required: true, message: "璇峰厛瀹屾垚瀹℃牳缁撴灉", trigger: "blur", },
- {
+ { required: true, message: "璇峰厛瀹屾垚瀹℃牳缁撴灉", trigger: "blur", },
+ {
validator: (rule, value, callback) => {
if (value === '寰呭鏍�') {
callback(new Error("璇峰厛瀹屾垚瀹℃牳缁撴灉"));
@@ -315,6 +269,11 @@
this.getUnitSelect();
},
methods: {
+ /** 璇︾粏鎸夐挳鎿嶄綔 */
+ handleView(row) {
+ this.openView = true;
+ this.view = row;
+ },
/**
* 閫夋嫨瑙勫垯
*/
@@ -327,7 +286,7 @@
this.form.score = item.calcFraction;
} else {
this.needNum = true;
- this.form.score = null;
+ this.form.score = '';
}
if (this.form.num != null && this.needNum) {
this.handleChangeNum();
@@ -343,17 +302,18 @@
this.form.score = Math.floor(Math.ceil(this.form.num / this.calcObj.calcUnit) * this.calcObj.calcFraction * 100) / 100;
}
},
+
handleChangeUnit(value) {
getRuleListByUnitId(value).then((res) => {
this.options = this.getTreeData(res.data);
})
},
- getTreeData(data){
- for(var i=0;i<data.length;i++){
- if(data[i].children.length<1){
+ getTreeData(data) {
+ for (var i = 0; i < data.length; i++) {
+ if (data[i].children.length < 1) {
// children鑻ヤ负绌烘暟缁勶紝鍒欏皢children璁句负undefined
- data[i].children=undefined;
- }else {
+ data[i].children = undefined;
+ } else {
// children鑻ヤ笉涓虹┖鏁扮粍锛屽垯缁х画 閫掑綊璋冪敤 鏈柟娉�
this.getTreeData(data[i].children);
}
@@ -379,7 +339,7 @@
// 鎵撳紑瀹℃牳
handleAuditing(row) {
this.auditingOpen = true;
- this.auditingForm = {...row};
+ this.auditingForm = { ...row };
},
// 鍏抽棴瀹℃牳
closeAuditing() {
@@ -425,7 +385,8 @@
auditingStatus: null,
remark: null,
auditingTime: null,
- auditingUser: null
+ auditingUser: null,
+ score: ''
};
this.resetForm("form");
},
@@ -443,7 +404,7 @@
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
- this.single = selection.length!==1
+ this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 鏂板鎸夐挳鎿嶄綔 */
@@ -456,8 +417,12 @@
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.form = { ...response.data };
this.open = true;
this.title = "淇敼杩愮淮鑰冩牳绉垎";
this.handleChangeUnit(this.form.unitId);
@@ -493,12 +458,12 @@
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
const ids = row.id || this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎杩愮淮鑰冩牳瀹℃牳缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function() {
+ this.$modal.confirm('鏄惁纭鍒犻櫎杩愮淮鑰冩牳瀹℃牳缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�').then(function () {
return delAuditing(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ }).catch(() => { });
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
handleExport() {
@@ -513,10 +478,12 @@
.margin-5 {
margin-left: 5px;
}
+
.row-warp {
display: flex;
flex-direction: column;
}
+
.row {
display: flex;
flex-direction: row;
@@ -524,11 +491,13 @@
justify-content: center;
margin: 5px 0;
}
+
.row-left {
flex: 1;
display: flex;
flex-direction: row;
}
+
.row-right {
flex: 1;
display: flex;
--
Gitblit v1.8.0