| | |
| | | <el-container> |
| | | <el-main> |
| | | <h2>考核规则</h2> |
| | | <el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange"> |
| | | <el-table v-loading="loading" :data="checkRuleList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="规则名称" align="center" prop="ruleName" /> |
| | | <el-table-column label="规则权重" align="center" prop="ruleWeight" /> |
| | | <el-table-column label="规则名称" align="center" prop="checkRuleName" /> |
| | | <el-table-column label="规则权重" align="center" prop="weight" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | </el-col> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getRuleList"></right-toolbar> |
| | | </el-row> |
| | | <el-table v-loading="loading" :data="checkResultList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="考核日期" align="center" prop="date" width="120px" fixed/> |
| | | <el-table-column label="考核对象" align="center" prop="target" width="120px"/> |
| | | <el-table-column label="平台在线率(权重:0.5)" align="center" prop="platformOnline" width="120px"/> |
| | | <el-table-column label="一机一档合格率(权重:0.5)" align="center" prop="monitorQualification" width="120px"/> |
| | | <el-table-column label="一机一档注册率(权重:0.5)" align="center" prop="monitorRegistration" width="120px"/> |
| | | <el-table-column label="档案考核比(权重:0.5)" align="center" prop="archivesRate" width="120px"/> |
| | | <el-table-column label="点位在线率(权重:1)" align="center" prop="siteOnline" width="120px"/> |
| | | <el-table-column label="录像可用率(权重:1)" align="center" prop="videoAvailable" width="120px"/> |
| | | <el-table-column label="标注正确率(权重:0.5)" align="center" prop="annotationAccuracy" width="120px"/> |
| | | <el-table-column label="校时正确率(权重:0.5)" align="center" prop="timingAccuracy" width="120px"/> |
| | | <el-table-column label="重点点位在线率(权重:0.5)" align="center" prop="keySiteOnline" width="120px"/> |
| | | <el-table-column label="重点点位录像可用率(权重:0.5)" align="center" prop="keyVideoAvailable" width="120px"/> |
| | | <el-table-column label="重点点位标注正确率(权重:0.5)" align="center" prop="keyAnnotationAccuracy" width="120px"/> |
| | | <el-table-column label="重点点位按时正确率(权重:0.5)" align="center" prop="keyTimingAccuracy" width="120px"/> |
| | | <el-table-column label="重点指挥图像公安部巡检结果(权重:0.2)" align="center" prop="keyCommandImageInspection" width="120px"/> |
| | | <el-table-column label="重点指挥图像目录树(权重:0.8)" align="center" prop="keyCommandImageDirectoryTree" width="120px"/> |
| | | <el-table-column label="在线检查平台部署及运行率(权重:0.075)" align="center" prop="onlineInspectionPlatform" width="120px"/> |
| | | <el-table-column label="视频传输网资产准确率(权重:0.075)" align="center" prop="videoTransmissionAssetsAccuracy" width="120px"/> |
| | | <el-table-column label="视频传输网资产弱口令得分比例(权重:0.075)" align="center" prop="videoTransmissionAssetsWeakPasswordScore" width="120px"/> |
| | | <el-table-column label="视频传输网危险资产得分比重(权重:0.075)" align="center" prop="videoTransmissionDangerousAssetsScore" width="120px"/> |
| | | <el-table-column label="视频传输网边界完整性检测扣分项(权重:0.2)" align="center" prop="videoTransmissionBoundaryIntegrityDetection" width="120px"/> |
| | | <el-table-column label="月运行率" align="center" prop="operatingRate"/> |
| | | |
| | | <el-table v-loading="loading" :data="dataMap" @selection-change="handleSelectionChange"> |
| | | <el-table-column label="考核日期" align="center" prop="create_time" width="120px" fixed> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.create_time.split('T')[0] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="考核对象" align="center" prop="dept_id" width="120px" fixed> |
| | | <template slot-scope="scope"> |
| | | <span>{{ translateDeptId(scope.row.dept_id) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <template v-for="item in tableData"> |
| | | <el-table-column |
| | | :key="item.ruleName" |
| | | :label="item.ruleName" |
| | | align="center" |
| | | width = "120px" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row[item.ruleIndex] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row,scope.index)" |
| | | @click="handleIndexUpdate(scope.row,scope.index)" |
| | | >修改</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </el-main> |
| | | </el-container> |
| | | |
| | | <!-- 添加或修改考核规则对话框 --> |
| | | <!-- 修改考核权重对话框 --> |
| | | <el-dialog :title="title" :visible.sync="ruleOpen" width="600px" append-to-body> |
| | | <el-form ref="form" :model="ruleForm" :rules="rules" label-width="80px"> |
| | | <el-form-item label="规则名称" prop="ruleName"> |
| | | <el-input v-model="ruleForm.ruleName" placeholder="请输入规则名称" /> |
| | | <el-form-item label="规则名称" prop="checkRuleName"> |
| | | <el-input v-model="ruleForm.checkRuleName" placeholder="请输入规则名称" disabled/> |
| | | </el-form-item> |
| | | <el-form-item label="规则类型" prop="category"> |
| | | <el-select v-model="ruleForm.category" placeholder="规则类型"> |
| | | <el-option |
| | | v-for="item in categoryList" |
| | | :key="item.id" |
| | | :label="item.value" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="规则描述" prop="ruleDetail"> |
| | | <el-input v-model="ruleForm.ruleDetail" type="textarea" show-word-limit maxlength="150" placeholder="请输入规则描述"/> |
| | | </el-form-item> |
| | | <el-form-item label="参数配置" prop="ruleDetail"> |
| | | <div class="row-warp"> |
| | | <div class="row"> |
| | | <div class="row-left">参数名</div> |
| | | <div class="row-right">条件</div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="row-left">天网视频点位数</div> |
| | | <div class="row-right"> |
| | | <div>不少于</div> |
| | | <div> |
| | | <el-input class="input-w" type="number" v-model="ruleForm.videoPointNum"/>{{" %"}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="row-left">车辆卡口点位数</div> |
| | | <div class="row-right"> |
| | | <div>不少于</div> |
| | | <div><el-input class="input-w" type="number" v-model="ruleForm.vehicleCheckpointNum"/></div>{{" %"}} |
| | | </div> |
| | | </div> |
| | | <div class="row"> |
| | | <div class="row-left">人脸卡口点位数</div> |
| | | <div class="row-right"> |
| | | <div>不少于</div> |
| | | <div> |
| | | <el-input class="input-w" type="number" v-model="ruleForm.faceChceckpointNum" /></div>{{" %"}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-form-item label="规则权重" prop="weight"> |
| | | <el-input-number v-model="ruleForm.weight" :precision="1" placeholder="请输入规则权重" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <!-- 规则详情 --> |
| | | <el-dialog title="规则详情" :visible.sync="ruleDetailOpen" width="50%" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="规则名称" prop="ruleName"> |
| | | <el-input class="input" disabled v-model="form.ruleName" placeholder="请输入规则名称" /> |
| | | </el-form-item> |
| | | <el-form-item label="运维公司" prop="companyName"> |
| | | <el-input class="input" disabled :value ="companyName" placeholder="请输入运维公司名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="规则描述" prop="ruleDesc"> |
| | | <el-input class="input" disabled v-model="form.ruleDesc" placeholder="请输入规则描述" /> |
| | | </el-form-item> |
| | | <el-form-item label="规则设置"> |
| | | <div > |
| | | <div class="line"> |
| | | <div class="line-left">时钟同步(超过±3秒为不合格)24小时内未修复的:扣除相关镜头数量*</div> |
| | | <div class="line-right"><el-input disabled v-model="jsonRule.overTime" type="text"/></div>分 |
| | | </div> |
| | | <div class="line"> |
| | | <div class="line-left">OSD标识不满足《GAT 751-2008 视频图像文字标注规范》,24小时内未修复的:标扣除相关镜头数量*</div> |
| | | <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="text"/></div>分 |
| | | </div> |
| | | <div class="line"> |
| | | <div class="line-left">用户抽检,一机一档数据项不合格(提供虚假数据或错误数据为不合格),24小时内未修复的:扣除相关镜头数量*</div> |
| | | <div class="line-right"><el-input disabled v-model="jsonRule.failNum" type="text"/></div>分 |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="cancel">关闭</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 修改考核指标对话框 --> |
| | | <el-dialog :title="title" :visible.sync="indexOpen" width="600px" append-to-body> |
| | | <el-form ref="form" :model="indexForm" :rules="rules" label-width="150px"> |
| | | <el-form-item label="考核日期" prop="create_time"> |
| | | <el-input v-model="ruleForm.create_time" placeholder="请输入规则名称" disabled> |
| | | |
| | | <!-- 添加或修改考核计分对话框 --> |
| | | <el-dialog :title="title" :visible.sync="scoreOpen" width="500px" append-to-body> |
| | | <el-form ref="form" :model="scoreForm" :rules="rules" label-width="80px"> |
| | | <el-form-item label="分值" prop="score"> |
| | | <el-input v-model="scoreForm.score" placeholder="请输入分值" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="考核名" prop="examineId"> |
| | | <el-select v-model="scoreForm.examineId" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in examineList" |
| | | :key="item.id" |
| | | :label="item.value" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="考核对象" prop="unitId"> |
| | | <el-select v-model="scoreForm.unitId" placeholder="请选择"> |
| | | <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="ruleCategory"> |
| | | <el-select v-model="scoreForm.ruleCategory" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in ruleCategoryList" |
| | | :key="item.id" |
| | | :label="item.value" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="考核对象" prop="checkRuleName">--> |
| | | <!-- <el-input v-model="ruleForm.checkRuleName" placeholder="请输入规则名称" disabled/>--> |
| | | <!-- </el-form-item>--> |
| | | <div v-for="item in tableData" :key="item.ruleIndex"> |
| | | <el-form-item :label="item.ruleName" :prop="item.ruleIndex"> |
| | | <el-input-number v-model="indexForm[item.ruleIndex]" :precision="4" placeholder="请输入指标"></el-input-number> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | |
| | | |
| | | <script> |
| | | import { listCheckResult, getCheckResult, delCheckResult, addCheckResult, updateCheckResult,manualScore, publishCheckResult } from "@/api/platform/check-result"; |
| | | import { listCheckRule, getCheckRule, delCheckRule, addCheckRule, updateCheckRule } from "@/api/platform/check-rule"; |
| | | import { listScore, getScore, delScore, addScore, updateScore } from "@/api/platform/check-score"; |
| | | import {unitSelect} from "@/api/platform/unit"; |
| | | import {publishSelect} from "@/api/platform/check-publish"; |
| | | import { listScore, getScoreIndex, delScore, addScore, updateScore } from "@/api/platform/check-score"; |
| | | import { areaSelect } from '@/api/system/dept' |
| | | |
| | | export default { |
| | | name: "CheckResult", |
| | | dicts: ['platform_audit_state'], |
| | | data() { |
| | | return { |
| | | activeIndex: '1', |
| | | activeIndex2: '1', |
| | | activeNames: ['1'], |
| | | companyName: "成都x运维公司", |
| | | detailTitle: '', |
| | | detailOpen: false, |
| | | detail:{ |
| | | }, |
| | | examineList: [], |
| | | unitList: [ |
| | | {id:2,value: '成都x运维'}, |
| | | {id:3,value: '自流井区'}, |
| | | ], |
| | | ruleCategoryList: [ |
| | | { id: 1, value: '视频在线率' }, |
| | | { id: 2, value: '存储故障' }, |
| | | { id: 3, value: '视图库对接稳定性' }, |
| | | { id: 4, value: '一机一档24小时未修复' }, |
| | | { id: 5, value: '时钟不同步24小时未修复' }, |
| | | ], |
| | | tableData: [{ |
| | | name: '视频平均在线率', |
| | | content: '97%', |
| | | score: '-5' |
| | | }, { |
| | | name: '一机一档24小时未修复', |
| | | content: '5个', |
| | | score: '-0.5' |
| | | }, { |
| | | name: '存储故障', |
| | | content: '5小时', |
| | | score: '-0.3' |
| | | }, { |
| | | name: '时钟不同步24小时未修复', |
| | | content: '3个', |
| | | score: '-0.5' |
| | | }], |
| | | // 运维类型 |
| | | categoryList: [ |
| | | { id: 1, value: '视频监控' }, |
| | | { id: 2, value: '车辆识别' }, |
| | | { id: 3, value: '人脸识别' }, |
| | | ], |
| | | id: null, |
| | | examineTag: null, |
| | | deptId: null, |
| | | areaList:[], |
| | | tableData: [], |
| | | dataMap: [], |
| | | manualScoreOpen: false, |
| | | manualScoreForm: {}, |
| | | manualScoreTitle: '', |
| | |
| | | // 总条数 |
| | | total: 0, |
| | | // 考核结果表格数据 |
| | | checkResultList: [ |
| | | { |
| | | date: '2024-04-02', |
| | | target: '自流井区', |
| | | platformOnline: '97%', |
| | | monitorQualification: '97%', |
| | | monitorRegistration: '97%', |
| | | archivesRate: '97%', |
| | | siteOnline: '97%', |
| | | videoAvailable: '97%', |
| | | annotationAccuracy: '97%', |
| | | timingAccuracy: '97%', |
| | | keySiteOnline: '97%', |
| | | keyVideoAvailable: '97%', |
| | | keyAnnotationAccuracy: '97%', |
| | | keyTimingAccuracy: '97%', |
| | | keyCommandImageInspection: '97%', |
| | | keyCommandImageDirectoryTree: '97%', |
| | | onlineInspectionPlatform: '97%', |
| | | videoTransmissionAssetsAccuracy: '97%', |
| | | videoTransmissionAssetsWeakPasswordScore: '97%', |
| | | videoTransmissionDangerousAssetsScore: '97%', |
| | | videoTransmissionBoundaryIntegrityDetection: '97%', |
| | | operatingRate: '97%', |
| | | }, |
| | | { |
| | | date: '2024-04-03', |
| | | target: '自流井区', |
| | | platformOnline: '97%', |
| | | monitorQualification: '97%', |
| | | monitorRegistration: '97%', |
| | | archivesRate: '97%', |
| | | siteOnline: '97%', |
| | | videoAvailable: '97%', |
| | | annotationAccuracy: '97%', |
| | | timingAccuracy: '97%', |
| | | keySiteOnline: '97%', |
| | | keyVideoAvailable: '97%', |
| | | keyAnnotationAccuracy: '97%', |
| | | keyTimingAccuracy: '97%', |
| | | keyCommandImageInspection: '97%', |
| | | keyCommandImageDirectoryTree: '97%', |
| | | onlineInspectionPlatform: '97%', |
| | | videoTransmissionAssetsAccuracy: '97%', |
| | | videoTransmissionAssetsWeakPasswordScore: '97%', |
| | | videoTransmissionDangerousAssetsScore: '97%', |
| | | videoTransmissionBoundaryIntegrityDetection: '97%', |
| | | operatingRate: '97%', |
| | | } |
| | | |
| | | ], |
| | | checkRuleList: [], |
| | | scoreTotal: 3, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | scoreOpen: false, |
| | | ruleOpen: false, |
| | | ruleDetailOpen: false, |
| | | indexOpen: false, |
| | | // 逻辑删除时间范围 |
| | | daterangeCheckTime: [], |
| | | |
| | | // 表单参数 |
| | | form: {}, |
| | | scoreForm: {}, |
| | | indexForm: {}, |
| | | ruleForm: {}, |
| | | jsonRule: {}, |
| | | // 考核规则列表 |
| | | ruleList: [ |
| | | {ruleName: '平台在线率',ruleWeight: 0.5}, |
| | | {ruleName: '一机一档合格率',ruleWeight: 0.5}, |
| | | {ruleName: '一机一档在线率',ruleWeight: 0.5}, |
| | | ], |
| | | // 考核计分表格数据 |
| | | scoreList: [], |
| | | //违约规则请求参数 |
| | | //请求参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | ruleName: null, |
| | | ruleStatus: null, |
| | | createTime: null, |
| | | id: null, |
| | | }, |
| | | //考核分数请求参数 |
| | | scoreQueryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | examineCategory: 2, |
| | | }, |
| | | pickerOptions: { |
| | | disabledDate(time) { |
| | | return time.getTime() > Date.now(); |
| | | }, |
| | | shortcuts: [{ |
| | | text: '今天', |
| | | onClick(picker) { |
| | | picker.$emit('pick', new Date()); |
| | | } |
| | | }, { |
| | | text: '昨天', |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24); |
| | | picker.$emit('pick', date); |
| | | } |
| | | }, { |
| | | text: '一周前', |
| | | onClick(picker) { |
| | | const date = new Date(); |
| | | date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); |
| | | picker.$emit('pick', date); |
| | | } |
| | | }] |
| | | }, |
| | | value1: '', |
| | | value2: '', |
| | | // 表单校验 |
| | | rules: { |
| | | } |
| | | rules: {} |
| | | }; |
| | | }, |
| | | created() { |
| | | //考核成绩详情跳转参数接收 |
| | | if(this.$route.query.detail){ |
| | | this.detail = this.$route.query.detail |
| | | console.log(this.$route.query.detail,"detail------------") |
| | | if(this.$route.query.id){ |
| | | this.id = this.$route.query.id |
| | | } |
| | | // 考核规则列表 |
| | | // this.getRuleList(); |
| | | // 考核积分列表 |
| | | this.getScoreList(); |
| | | // this.selectUnit(); |
| | | this.selectExamine(); |
| | | this.getList(); |
| | | this.areaSelect(); |
| | | }, |
| | | methods: { |
| | | handleChange(val) { |
| | | console.log(val); |
| | | }, |
| | | // 运维公司下拉数据 |
| | | // selectUnit() { |
| | | // unitSelect().then(res => { |
| | | // this.unitList = res.data; |
| | | // }) |
| | | // }, |
| | | // 考核下拉数据 |
| | | selectExamine() { |
| | | publishSelect().then(res => { |
| | | this.examineList = res.data; |
| | | }) |
| | | }, |
| | | /** 查询考核计分列表 */ |
| | | getScoreList() { |
| | | getList() { |
| | | this.loading = true; |
| | | listScore(this.scoreQueryParams).then(response => { |
| | | this.scoreList = response.rows; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | /** 查询违约规则列表 */ |
| | | getRuleList() { |
| | | this.loading = true; |
| | | if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) { |
| | | this.queryParams["start"] = this.daterangeCreateTime[0]; |
| | | this.queryParams["end"] = this.daterangeCreateTime[1]; |
| | | } |
| | | listCheckRule(this.queryParams).then(response => { |
| | | this.ruleList = response.data; |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | frequencyFormatter(row) { |
| | | if (row.frequency === "1") { |
| | | return "月度考核" |
| | | } |
| | | if (row.frequency === "2") { |
| | | return "季度考核" |
| | | } |
| | | }, |
| | | examineRangeFormatter(row) { |
| | | if (row.examineRange === "1") { |
| | | return "分局考核" |
| | | } |
| | | if (row.examineRange === "2") { |
| | | return "市局考核" |
| | | } |
| | | }, |
| | | /** 查询考核结果列表 */ |
| | | getCheckResult() { |
| | | this.loading = true; |
| | | getCheckResult(id).then(response => { |
| | | this.detail = response.data; |
| | | getScoreIndex(this.id).then(response => { |
| | | this.checkRuleList = response.data.checkRuleList; |
| | | this.dataMap = response.data.scoreMap.dataMap; |
| | | this.tableData = response.data.scoreMap.tableData |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.scoreOpen = false; |
| | | this.ruleOpen = false; |
| | | this.ruleDetailOpen = false; |
| | | this.ruleDetailOpen = false; |
| | | this.reset(); |
| | | this.indexOpen = false; |
| | | this.reset("ruleForm"); |
| | | this.reset("indexForm"); |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | this.form = { |
| | | id: null, |
| | | checkUnitId: null, |
| | | checkPublishId: null, |
| | | checkScore: null, |
| | | systemScore: null, |
| | | manualScore: null, |
| | | checkTime: null, |
| | | createTime: null, |
| | | updateTime: null, |
| | | deleted: null |
| | | reset(formName) { |
| | | this.ruleForm = { |
| | | checkRuleName: null, |
| | | weight: null, |
| | | }; |
| | | this.resetForm("form"); |
| | | this.indexForm = { |
| | | }; |
| | | this.resetForm(formName); |
| | | }, |
| | | translateDeptId(deptId) { |
| | | const department = this.areaList.find(dept => dept.id == deptId); |
| | | return department ? department.value : '未知'; |
| | | }, |
| | | // 区域下拉数据 |
| | | areaSelect() { |
| | | areaSelect().then(res => { |
| | | this.areaList = res.data; |
| | | }) |
| | | }, |
| | | cancelManualScore() { |
| | | this.manualScoreForm = {}; |
| | |
| | | this.manualScoreOpen = true; |
| | | }, |
| | | |
| | | handlePublish(row) { |
| | | let text = row.publish == 1 ? '取消发布' : '发布'; |
| | | const ids = row.id || this.ids; |
| | | this.$modal.confirm('是否确认' + text + '考核结果编号为"' + ids + '"的数据项?').then(function() { |
| | | return publishCheckResult(ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess(text + "成功"); |
| | | }).catch(() => {}); |
| | | |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | |
| | | this.open = true; |
| | | this.title = "添加考核结果"; |
| | | }, |
| | | /** 修改积分按钮操作 */ |
| | | handleScoreUpdate(row) { |
| | | this.reset(); |
| | | const id = row.id || this.ids |
| | | getScore(id).then(response => { |
| | | this.scoreForm = response.data; |
| | | this.scoreOpen = true; |
| | | this.title = "修改考核计分"; |
| | | }); |
| | | /** 修改指标按钮操作 */ |
| | | handleIndexUpdate(row) { |
| | | this.reset("indexForm"); |
| | | this.indexForm = row; |
| | | this.indexOpen = true; |
| | | this.title = "修改考核指标"; |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleRuleUpdate(row) { |
| | | this.reset(); |
| | | const id = row.id || this.ids |
| | | getCheckRule(id).then(response => { |
| | | this.ruleForm = response.data; |
| | | this.ruleOpen = true; |
| | | this.title = "修改考核规则"; |
| | | |
| | | }); |
| | | }, |
| | | // 详情按钮 |
| | | handleRuleDetail(row) { |
| | | this.ruleDetailOpen = true; |
| | | this.form = row; |
| | | this.jsonRule = JSON.parse(this.form.ruleDetail); |
| | | this.reset("ruleForm"); |
| | | this.ruleForm = row; |
| | | this.ruleOpen = true; |
| | | this.title = "修改考核规则"; |
| | | }, |
| | | /** 提交按钮 */ |
| | | submitForm() { |