<template> <div class="table-container"> <el-row class="second-title">规则说明</el-row> <div> <el-row class="content">处置单位得分 = 100 - 超时分 - 返工分 - 超时未处理分 + 工作量调节</el-row> <el-row class="content">超时分数 = 时限内所有超时案卷数/时限内应处置案卷数 *100 * 超时因子</el-row> <el-row class="content">返工分数 = 时限内所有返工案卷数/时限内应处置案卷数 * 100 * 返工因子</el-row> <el-row class="content">超时未处置分数 = 时限内所有超时未处置案卷数/时限内应处置案卷数 * 100 * 超时未处置因子</el-row> <el-row class="content">工作量调节 = 该单位接收派遣数 / 系统总派遣数 * 100 * 调节因子</el-row> </div> <el-row style="padding:20px"/> <el-row class="second-title">考核因子</el-row> <div> <el-row> <el-col :span="6" class="cell">工作量调节因子</el-col> <el-col :span="6" class="cell">超时因子</el-col> <el-col :span="6" class="cell">返工因子</el-col> <el-col :span="6" class="cell">超时未处置因子</el-col> </el-row> <el-row> <el-col :span="6" class="cell">派遣数/系统总派遣数</el-col> <el-col :span="6" class="cell">超时处置和超时未处置</el-col> <el-col :span="6" class="cell">返工数量</el-col> <el-col :span="6" class="cell">超时未处置</el-col> </el-row> <el-row> <el-col :span="6" class="cell"> <el-input v-model="ruleForm.workrate" size="small" style="width:25%"/> <el-button type="text" class="submit-button" @click="updateAccessFactor()">修改</el-button> </el-col> <el-col :span="6" class="cell"> <el-input v-model="ruleForm.delayrate" size="small" style="width:25%"/> <el-button type="text" class="submit-button" @click="updateAccessFactor()">修改</el-button> </el-col> <el-col :span="6" class="cell"> <el-input v-model="ruleForm.reworkrate" size="small" style="width:25%"/>% <el-button type="text" class="submit-button" @click="updateAccessFactor()">修改</el-button> </el-col> <el-col :span="6" class="cell"> <el-input v-model="ruleForm.delaynorate" size="small" style="width:25%"/>% <el-button type="text" class="submit-button" @click="updateAccessFactor()">修改</el-button> </el-col> </el-row> </div> </div> </template> <script> import { getRuleList, updateRule } from '@/api/assess/assessDept' import { validateIntPlus } from '@/utils/validate' export default { name: 'AccessRule', data() { return { ruleForm: { id: '', workrate: '', delayrate: '', reworkrate: '', delaynorate: '' } } }, mounted() { this.fetchData() }, methods: { fetchData() { getRuleList().then(res => { const data = res.data[0] this.ruleForm = { id: data.id, workrate: data.workrate, delayrate: data.delayrate, reworkrate: data.reworkrate, delaynorate: data.delaynorate } }) }, // 更新考核规则 updateAccessFactor() { if (this.validateData()) { updateRule(this.ruleForm).then(response => { if (response.code === 200) { this.$message.success('修改成功') } }) } }, validateData() { if (!validateIntPlus('' + this.ruleForm.workrate, 0, 100)) { this.$message.error('工作量调节因子的允许填写范围为0到100') return false } if (!validateIntPlus('' + this.ruleForm.delayrate, 0, 100)) { this.$message.error('超时因子的允许填写范围为0到100') return false } if (!validateIntPlus('' + this.ruleForm.reworkrate, 0, 100)) { this.$message.error('返工因子的允许填写范围为0到100') return false } if (!validateIntPlus('' + this.ruleForm.delaynorate, 0, 100)) { this.$message.error('超时未处置因子的允许填写范围为0到100') return false } return true } } } </script> <style lang="scss" scoped> .second-title{ border: 1px solid #eee; background-color: #eee; border-top: 0; font-size: 1.5em; padding: 10px; text-align: center; } .content{ border: 1px solid #eee; border-top: 0; font-size: 1.2em; padding: 5px; text-align: center; } .cell{ border: 1px solid #eee; font-size: 1.2em; border-top: 0; padding: 5px; text-align: center; position: relative; } .submit-button{ position: absolute; top: 0; left: 175px; } /deep/ input.el-input__inner { color: red; font-size: 1.2em; } </style>