风险管理代码

This commit is contained in:
陈裕财
2025-04-10 02:04:58 +08:00
parent e89c458e49
commit 19d12ef778
5 changed files with 446 additions and 20 deletions

View File

@@ -0,0 +1,37 @@
import axios from '@/config/maxios'
import config from '@/api/mdp_pub/mdp_config'
let base = config.getXmCtx();
/**
* 风险处理进展情况
* 1 默认只开放普通查询,所有查询,只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录【数如果是0后台会自动计算总记录数非0不会自动计算】},后台都会自动按分页查询 其它 api用到再打开没用到的api请注释掉
* 2 查询、新增、修改的参数格式 params={id:'主键 主键',handlerUserid:'处理人编号',handlerUsername:'处理人',handleSolution:'解决方案:',receiptMessage:'回执信息',receiptTime:'回执时间',handleStatus:'=bugStatus',riskId:'问题编号',lastUpdateTime:'最后更新日期',createTime:'创建时间',urls:'链接地址列表逗号分隔',targetUserid:'指派给谁',targetUsername:'指派给谁',operUserid:'操作人编号',operUsername:'操作人姓名',oldStatus:'原状态',notifyUserids:'通知谁看,逗号分隔多个',notifyUsernames:'通知谁看的名称,逗号分隔多个'}
* @author maimeng-mdp code-gen
* @since 2025-4-10
**/
//普通查询 条件之间and关系
export const listXmRiskHandle = params => { return axios.get(`${base}/xm/core/xmRiskHandle/list`, { params: params }); };
//普通查询 条件之间and关系
export const queryXmRiskHandleById = params => { return axios.get(`${base}/xm/core/xmRiskHandle/queryById`, { params: params }); };
//删除一条风险处理进展情况 params={id:'主键 主键'}
export const delXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/del`,params); };
//批量删除风险处理进展情况 params=[{id:'主键 主键'}]
export const batchAddXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/batchAdd`, params); };
//批量删除风险处理进展情况 params=[{id:'主键 主键'}]
export const batchDelXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/batchDel`, params); };
//修改一条风险处理进展情况记录
export const editXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/edit`, params); };
//新增一条风险处理进展情况
export const addXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/add`, params); };
//批量修改某些字段
export const editSomeFieldsXmRiskHandle = params => { return axios.post(`${base}/xm/core/xmRiskHandle/editSomeFields`, params); };

View File

@@ -7,32 +7,33 @@
<el-input v-model="editForm.name" placeholder="风险名称" :maxlength="255" @change="editSomeFields(editForm,'name',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="风险类型" prop="rtype">
<el-input v-model="editForm.rtype" placeholder="风险类型" :maxlength="10" @change="editSomeFields(editForm,'rtype',$event)" :disabled="disField"/>
</el-form-item>
<mdp-select itemCode="risk_type" v-model="editForm.rtype" width="100%" @change="editSomeFields(editForm,'rtype',$event)"/>
</el-form-item>
<el-form-item label="发生概率" prop="odds">
<el-input v-model="editForm.odds" placeholder="发生概率" :maxlength="10" @change="editSomeFields(editForm,'odds',$event)" :disabled="disField"/>
<mdp-select itemCode="odds" v-model="editForm.odds" width="100%" @change="editSomeFields(editForm,'odds',$event)"/>
</el-form-item>
<el-form-item label="影响程度" prop="impact">
<el-input v-model="editForm.impact" placeholder="影响程度" :maxlength="10" @change="editSomeFields(editForm,'impact',$event)" :disabled="disField"/>
<mdp-select itemCode="impact" v-model="editForm.impact" width="100%" @change="editSomeFields(editForm,'impact',$event)"/>
</el-form-item>
<el-form-item label="责任人" prop="ruserid">
<xm-user-select width="100%" v-model="editForm.ruserid" :init-name="editForm.rusername" placeholder="责任人编号" :maxlength="50" @change="editSomeFields(editForm,'ruserid',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="风险状态" prop="rstatus">
<el-input v-model="editForm.rstatus" placeholder="风险状态" :maxlength="10" @change="editSomeFields(editForm,'rstatus',$event)" :disabled="disField"/>
<mdp-select itemCode="rstatus" v-model="editForm.rstatus" width="100%" @change="editSomeFields(editForm,'rstatus',$event)"/>
</el-form-item>
<el-form-item label="风险等级" prop="rlvl">
<el-input v-model="editForm.rlvl" placeholder="风险等级" :maxlength="10" @change="editSomeFields(editForm,'rlvl',$event)" :disabled="disField"/>
<mdp-select itemCode="rlvl" v-model="editForm.rlvl" width="100%" @change="editSomeFields(editForm,'rlvl',$event)"/>
</el-form-item>
<el-form-item label="风险描述" prop="remark">
<el-input v-model="editForm.remark" placeholder="风险描述" :maxlength="255" @change="editSomeFields(editForm,'remark',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="应对策略" prop="rsgy">
<el-input v-model="editForm.rsgy" placeholder="应对策略" :maxlength="10" @change="editSomeFields(editForm,'rsgy',$event)" :disabled="disField"/>
<mdp-select itemCode="rsgy" v-model="editForm.rsgy" width="100%" @change="editSomeFields(editForm,'rsgy',$event)"/>
</el-form-item>
<el-form-item label="应对措施" prop="rway">
<el-input v-model="editForm.rway" placeholder="应对措施" :maxlength="255" @change="editSomeFields(editForm,'rway',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="责任人编号" prop="ruserid">
<el-input v-model="editForm.ruserid" placeholder="责任人编号" :maxlength="50" @change="editSomeFields(editForm,'ruserid',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="责任人姓名" prop="rusername">
<el-input v-model="editForm.rusername" placeholder="责任人姓名" :maxlength="255" @change="editSomeFields(editForm,'rusername',$event)" :disabled="disField"/>
</el-form-item>
@@ -92,7 +93,19 @@ export default {
id:[
//{ required: true, message: '此项必填', trigger: 'change' },
//{ min: 1,max: 200, message: '长度在1到200之间', trigger: 'change'}
]
],
name:[
{ required: true, message: '此项必填', trigger: 'change' },
],
rtype:[
{ required: true, message: '此项必填', trigger: 'change' },
],
odds:[
{ required: true, message: '此项必填', trigger: 'change' },
],
impact:[
{ required: true, message: '此项必填', trigger: 'change' },
],
},
editForm: {
id:'',name:'',rtype:'',odds:'',impact:'',rstatus:'',rlvl:'',remark:'',rsgy:'',rway:'',ruserid:'',rusername:'',ctime:'',closeTime:'',deptid:'',branchId:'',projectId:'',cuserid:'',cusername:''

View File

@@ -24,7 +24,7 @@
<!--列表 XmRisk 项目风险管理-->
<el-table ref="table" v-adaptive :data="tableDatas" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55" fixed="left" v-if="currOpType=='mng' || this.multiple==true"/>
<el-table-column sortable prop="name" width="300" fixed="left" label="名称">
<el-table-column sortable prop="name" width="300" fixed="left" label="风险名称">
<template #default="scope">
<el-popover placement="right-start" :width="200" show-after="200">
<template #reference>
@@ -47,16 +47,43 @@
</template>
</el-table-column>
-->
<el-table-column prop="name" label="风险名称" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('name')" sortable/>
<el-table-column prop="rtype" label="风险类型" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rtype')" sortable/>
<el-table-column prop="odds" label="发生概率" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('odds')" sortable/>
<el-table-column prop="impact" label="影响程度" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('impact')" sortable/>
<el-table-column prop="rstatus" label="风险状态" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rstatus')" sortable/>
<el-table-column prop="rlvl" label="风险等级" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rlvl')" sortable/>
<el-table-column prop="rtype" label="风险类型" min-width="120" show-overflow-tooltip col-type="String" itemCode="risk_type" v-if="showCol('rtype')" sortable>
<template #default="scope">
<mdp-select itemCode="risk_type" show-style="tag" v-model="scope.row.rtype" :maxlength="50" @change="editSomeFields(scope.row,'rtype',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="odds" label="发生概率" min-width="120" show-overflow-tooltip col-type="String" itemCode="odds" v-if="showCol('odds')" sortable>
<template #default="scope">
<mdp-select itemCode="odds" show-style="tag" v-model="scope.row.odds" :maxlength="50" @change="editSomeFields(scope.row,'odds',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="impact" label="影响程度" min-width="120" show-overflow-tooltip col-type="String" itemCode="impact" v-if="showCol('impact')" sortable>
<template #default="scope">
<mdp-select itemCode="impact" show-style="tag" v-model="scope.row.impact" :maxlength="50" @change="editSomeFields(scope.row,'impact',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="rstatus" label="风险状态" min-width="120" show-overflow-tooltip col-type="String" itemCode="rstatus" v-if="showCol('rstatus')" sortable>
<template #default="scope">
<mdp-select itemCode="objType" show-style="tag" v-model="scope.row.rstatus" :maxlength="50" @change="editSomeFields(scope.row,'rstatus',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="rlvl" label="风险等级" min-width="120" show-overflow-tooltip col-type="String" itemCode="rlvl" v-if="showCol('rlvl')" sortable>
<template #default="scope">
<mdp-select itemCode="rlvl" show-style="tag" v-model="scope.row.rlvl" :maxlength="50" @change="editSomeFields(scope.row,'rlvl',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="remark" label="风险描述" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('remark')" sortable/>
<el-table-column prop="rsgy" label="应对策略" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rsgy')" sortable/>
<el-table-column prop="rsgy" label="应对策略" min-width="120" show-overflow-tooltip col-type="String" itemCode="rsgy" v-if="showCol('rsgy')" sortable>
<template #default="scope">
<mdp-select itemCode="rsgy" show-style="tag" v-model="scope.row.rsgy" :maxlength="50" @change="editSomeFields(scope.row,'rsgy',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="rway" label="应对措施" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rway')" sortable/>
<el-table-column prop="ruserid" label="责任人编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('ruserid')" sortable/>
<el-table-column prop="ruserid" label="责任人编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('ruserid')" sortable>
<template #default="scope">
<xm-user-select show-style="tag" v-model="scope.row.ruserid" :init-name="scope.row.rusername" :maxlength="50" @change="editSomeFields(scope.row,'ruserid',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
<el-table-column prop="rusername" label="责任人姓名" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('rusername')" sortable/>
<el-table-column prop="ctime" label="建立时间" min-width="120" show-overflow-tooltip col-type="Date" v-if="showCol('ctime')" sortable/>
<el-table-column prop="closeTime" label="解除时间" min-width="120" show-overflow-tooltip col-type="Date" v-if="showCol('closeTime')" sortable/>

View File

@@ -0,0 +1,140 @@
<template>
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form-item label="主键" prop="id">
<el-input v-model="editForm.id" placeholder="主键" :maxlength="50" @change="editSomeFields(editForm,'id',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="处理人编号" prop="handlerUserid">
<el-input v-model="editForm.handlerUserid" placeholder="处理人编号" :maxlength="50" @change="editSomeFields(editForm,'handlerUserid',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="处理人" prop="handlerUsername">
<el-input v-model="editForm.handlerUsername" placeholder="处理人" :maxlength="50" @change="editSomeFields(editForm,'handlerUsername',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="解决方案" prop="handleSolution">
<el-input v-model="editForm.handleSolution" placeholder="解决方案" :maxlength="50" @change="editSomeFields(editForm,'handleSolution',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="回执信息" prop="receiptMessage">
<el-input v-model="editForm.receiptMessage" placeholder="回执信息" :maxlength="1000" @change="editSomeFields(editForm,'receiptMessage',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="回执时间" prop="receiptTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.receiptTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD" @change="editSomeFields(editForm,'receiptTime',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="=bugStatus" prop="handleStatus">
<el-input v-model="editForm.handleStatus" placeholder="=bugStatus" :maxlength="50" @change="editSomeFields(editForm,'handleStatus',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="问题编号" prop="riskId">
<el-input v-model="editForm.riskId" placeholder="问题编号" :maxlength="50" @change="editSomeFields(editForm,'riskId',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="最后更新日期" prop="lastUpdateTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.lastUpdateTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD" @change="editSomeFields(editForm,'lastUpdateTime',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.createTime" value-format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD" @change="editSomeFields(editForm,'createTime',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="链接地址列表逗号分隔" prop="urls">
<el-input v-model="editForm.urls" placeholder="链接地址列表逗号分隔" :maxlength="255" @change="editSomeFields(editForm,'urls',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="指派给谁" prop="targetUserid">
<el-input v-model="editForm.targetUserid" placeholder="指派给谁" :maxlength="50" @change="editSomeFields(editForm,'targetUserid',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="指派给谁" prop="targetUsername">
<el-input v-model="editForm.targetUsername" placeholder="指派给谁" :maxlength="255" @change="editSomeFields(editForm,'targetUsername',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="操作人编号" prop="operUserid">
<el-input v-model="editForm.operUserid" placeholder="操作人编号" :maxlength="50" @change="editSomeFields(editForm,'operUserid',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="操作人姓名" prop="operUsername">
<el-input v-model="editForm.operUsername" placeholder="操作人姓名" :maxlength="255" @change="editSomeFields(editForm,'operUsername',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="原状态" prop="oldStatus">
<el-input v-model="editForm.oldStatus" placeholder="原状态" :maxlength="50" @change="editSomeFields(editForm,'oldStatus',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="通知谁看" prop="notifyUserids">
<el-input v-model="editForm.notifyUserids" placeholder="通知谁看" :maxlength="255" @change="editSomeFields(editForm,'notifyUserids',$event)" :disabled="disField"/>
</el-form-item>
<el-form-item label="通知谁看的名称" prop="notifyUsernames">
<el-input v-model="editForm.notifyUsernames" placeholder="通知谁看的名称" :maxlength="255" @change="editSomeFields(editForm,'notifyUsernames',$event)" :disabled="disField"/>
</el-form-item>
</el-form>
<div class="footer">
<el-button @click="close" icon="close">关闭</el-button>
<el-button icon="success-filled" v-if="currOpType=='add'|| (currOpType=='edit' && someOpen==false)" v-loading="load.edit" type="primary" @click="saveSubmit" :disabled="disBtn('addBtn') || !checkBtnQx('addBtn',menuDefId) || load.edit">提交</el-button>
</div>
</template>
<script>
import * as XmRiskHandleApi from '@/api/xm/pro/xmRiskHandle';
import { MdpFormMixin } from '@/components/mdp-ui/mixin/MdpFormMixin.js';
import { mapState } from 'pinia'
import { useUserStore } from '@/store/modules/user'
export default {
name:'XmRiskHandleForm',
mixins:[MdpFormMixin],
computed: {
...mapState(useUserStore,['userInfo'])
},
props:{
// 是否开启editSomeField模式
someOpen:{
type: Boolean,
default: true,
},
},
data() {
return {
menuDefId:'',//menu_def.id 菜单表菜单编号,用于按钮权限判断
pkNames:["id"],//表格主键的java属性名称驼峰命名默认为id,支持多主键
currOpType:'add',//表单 add、edit所有按钮可动、detail-只看不能操作
editFormRules: {
id:[
//{ required: true, message: '此项必填', trigger: 'change' },
//{ min: 1,max: 200, message: '长度在1到200之间', trigger: 'change'}
]
},
editForm: {
id:'',handlerUserid:'',handlerUsername:'',handleSolution:'',receiptMessage:'',receiptTime:'',handleStatus:'',riskId:'',lastUpdateTime:'',createTime:'',urls:'',targetUserid:'',targetUsername:'',operUserid:'',operUsername:'',oldStatus:'',notifyUserids:'',notifyUsernames:''
},
//增删改查(含批量)接口
apis:{
queryById: XmRiskHandleApi.queryXmRiskHandleById,
add: XmRiskHandleApi.addXmRiskHandle,
edit: XmRiskHandleApi.editXmRiskHandle,
editSomeFields: XmRiskHandleApi.editSomeFieldsXmRiskHandle
},
}
},
methods: {
//由组件扩展添加其它的初始页面的逻辑(mounted+onOpen都会调用此函数建议只添加公共逻辑)
initCurrData(){
},
/**
* 检查参数是否满足调用后台接口的条件
* @returns true / false
*/
preParamCheck(params){
return true;
},
/**
* 对修改的字段进行判断返回false ,将取消更新数据库,由组件扩展
* @param {*} row 当前选中的行
* @param {*} fieldName 修改的字段名
* @param {*} $event 修改后的值
* @param {*} params 将要提交服务器的参数
* @returns true/false 返回false ,将取消更新数据库
*/
editSomeFieldsCheck(row,fieldName,$event,params){
params[fieldName]=$event
return true;
},
},
mounted() {
}
}
</script>
<style scoped>
</style>

View File

@@ -0,0 +1,209 @@
<template>
<ContentWrap>
<template #header>
<el-space wrap>
<mdp-hi-query :column-configs="columnConfigs" v-model="hiQueryParams" @change="onHiQueryParamsChange" title="高级查询,定制任意复杂的查询条件"/>
<el-button icon="zoom-out" @click="searchReset()" title="重置查询条件并查询"/>
<el-button icon="download" @click="export2Excel()" title="导出查询结果到excel"/>
<mdp-table-configs :column-configs="columnConfigs" v-model="checkedColumns"/>
<el-button type="success" ref="kanbanBtn" plain @click="openKanban('kanbanDlg')" title="看板"></el-button>
<span v-if="currOpType=='mng'">
<el-button :disabled="disBtn('addBtn') || !checkBtnQx('addBtn',menuDefId) " type="primary" @click="showAdd()" icon="plus" plain />
<el-button :disabled="disBtn('delBtn') || !checkBtnQx('delBtn',menuDefId) || this.sels.length===0 || load.del==true" type="danger" v-loading="load.del" @click="batchDel" icon="delete" plain />
</span>
<span v-else-if="currOpType=='select' && this.multiple==true">
<el-button :disabled="disBtn('selectBtn') || this.sels.length===0" type="primary" @click="selectListConfirm" icon="check" plain />
</span>
</el-space>
</template>
<el-space wrap>
<el-input v-model="filters.id" placeholder="主键" clearable title="支持>、<、 >=、<=、!=、*字符*、$IS NULL、$IN 1,2,3、$between 1,5等操作符"/>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchTableDatas()" icon="search" type="primary" plain />
</el-space>
</ContentWrap>
<!--列表 XmRiskHandle 风险处理进展情况-->
<el-table ref="table" v-adaptive :data="tableDatas" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55" fixed="left" v-if="currOpType=='mng' || this.multiple==true"/>
<el-table-column sortable prop="name" width="300" fixed="left" label="名称">
<template #default="scope">
<el-popover placement="right-start" :width="200" show-after="200">
<template #reference>
<el-link @click="currOpType=='mng'?showEdit(scope.row):showDetail(scope.row)" type="primary">
{{ (scope.$index + 1) }}&nbsp; {{ scope.row.name }}
</el-link>
</template>
<template #default>
<el-button v-if="currOpType=='mng'" @click="copy2(scope.row, scope.$index)" icon="document-copy" type="warning"
title="复制一行除了主键不一样,其它都一样的数据">复制</el-button>
<el-button v-if="currOpType=='mng'" @click="showEdit(scope.row)" icon="edit" type="primary">编辑</el-button>
</template>
</el-popover>
</template>
</el-table-column>
<!-- 可编辑字段格式
<el-table-column prop="objType" label="对象类型" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('objType')">
<template #default="scope">
<mdp-select itemCode="objType" show-style="tag" v-model="scope.row.objType" :maxlength="50" @change="editSomeFields(scope.row,'objType',$event)" :disabled="!someOpen||disField"/>
</template>
</el-table-column>
-->
<el-table-column prop="handlerUserid" label="处理人编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('handlerUserid')" sortable/>
<el-table-column prop="handlerUsername" label="处理人" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('handlerUsername')" sortable/>
<el-table-column prop="handleSolution" label="解决方案" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('handleSolution')" sortable/>
<el-table-column prop="receiptMessage" label="回执信息" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('receiptMessage')" sortable/>
<el-table-column prop="receiptTime" label="回执时间" min-width="120" show-overflow-tooltip col-type="Date" v-if="showCol('receiptTime')" sortable/>
<el-table-column prop="handleStatus" label="=bugStatus" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('handleStatus')" sortable/>
<el-table-column prop="riskId" label="问题编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('riskId')" sortable/>
<el-table-column prop="lastUpdateTime" label="最后更新日期" min-width="120" show-overflow-tooltip col-type="Date" v-if="showCol('lastUpdateTime')" sortable/>
<el-table-column prop="createTime" label="创建时间" min-width="120" show-overflow-tooltip col-type="Date" v-if="showCol('createTime')" sortable/>
<el-table-column prop="urls" label="链接地址列表逗号分隔" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('urls')" sortable/>
<el-table-column prop="targetUserid" label="指派给谁" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('targetUserid')" sortable/>
<el-table-column prop="targetUsername" label="指派给谁" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('targetUsername')" sortable/>
<el-table-column prop="operUserid" label="操作人编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('operUserid')" sortable/>
<el-table-column prop="operUsername" label="操作人姓名" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('operUsername')" sortable/>
<el-table-column prop="oldStatus" label="原状态" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('oldStatus')" sortable/>
<el-table-column prop="notifyUserids" label="通知谁看" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('notifyUserids')" sortable/>
<el-table-column prop="notifyUsernames" label="通知谁看的名称" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('notifyUsernames')" sortable/>
<el-table-column prop="id" label="主键" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('id')" sortable/>
<el-table-column label="操作" width="100" fixed="right" v-if="currOpType=='select' && this.multiple!=true" >
<template #default="scope">
<el-button type="primary" @click="selectConfirm(scope.row)" icon="check"/>
</template>
</el-table-column>
</el-table>
<el-pagination
layout="slot,total, sizes, prev, next,pager,jumper"
@current-change="handleCurrentChange"
@size-change="handleSizeChange"
:page-sizes="[10,20, 50, 100, 500]"
:current-page="pageInfo.pageNum"
:page-size="pageInfo.pageSize"
:total="pageInfo.total"
style="float:right;"
/>
<!--新增修改明细 XmRiskHandle 风险处理进展情况界面-->
<mdp-dialog ref="formDlg" :title="menuDefName" width="80%">
<template v-slot="{visible,data}">
<XmRiskHandleForm ref="XmRiskHandleForm" :someOpen="true" :visible="visible" :parentOpType="currOpType" :subOpType="data.subOpType" :formData="data.formData" @close="onFormClose" @submit="afterFormSubmit" @edit-fields="afterEditFields"/>
</template>
</mdp-dialog>
<MdpDialog ref="kanbanDlg" fullscreen :title="menuDefName">
<MdpTableKanban
:hiddenCfg="{delBtn:false,addBtn:false}"
@del="(d,cb)=>handleDel(d)"
@plus="(cb)=>showAdd()"
@edit="(d,cb)=>showEdit(d)"
v-model="tableDatas"
:columnConfigs="columnConfigs"
:itemKey="pkNames[0]"
:contentFun="(item)=>item[pkNames[0]]"
/>
<!--
<template #toolbar="{element}">
<MdpSelect showStyle="tag" itemCode="xmProductPstatus" disabled v-model="element.pstatus"/>
</template>
</MdpTableKanban>
-->
</MdpDialog>
</template>
<script>
import { MdpTableMixin } from '@/components/mdp-ui/mixin/MdpTableMixin.js';
import * as XmRiskHandleApi from '@/api/xm/pro/xmRiskHandle';
import XmRiskHandleForm from'./Form.vue';//新增修改明细界面
import { mapState } from 'pinia'
import { useUserStore } from '@/store/modules/user'
export default {
name:'XmRiskHandleMng',
mixins:[MdpTableMixin],
components: {
XmRiskHandleForm
},
computed: {
...mapState(useUserStore,['userInfo'])
},
props:{
// 是否开启editSomeField模式
someOpen:{
type: Boolean,
default: true,
},
},
data() {
return {
menuDefId:'',//menu_def.id 菜单表菜单编号,用于按钮权限判断
menuDefName:'风险处理进展情况',//menu_def.name 功能名称用于导出excel等文件名
pkNames:["id"],//表格主键的java属性名称驼峰命名默认为id,支持多主键
currOpType:'mng',//表格 mng-综合管理具有最大权限所有按钮可动、detail-只看不能操作
filters:{//查询参数
},
defaultFilters:{//默认查询参数,第一次打开界面的时候用到,恢复默认值的时候用到
},
pageInfo:{//分页数据
total:0,//服务器端收到0时会自动计算总记录数如果上传>0的不自动计算。
pageSize: this.pageable?10:1500,//每页数据
count:false,//是否需要重新计算总记录数
pageNum:1,//当前页码、从1开始计算
orderFields:[],//排序列 如 ['sex','student_id'],必须为数据库字段
orderDirs:[]//升序 asc,降序desc 如 性别 升序、学生编号降序 ['asc','desc']
},
//增删改查(含批量)接口
apis:{
list: XmRiskHandleApi.listXmRiskHandle,
add: XmRiskHandleApi.addXmRiskHandle,
del: XmRiskHandleApi.delXmRiskHandle,
edit: XmRiskHandleApi.editXmRiskHandle,
editSomeFields: XmRiskHandleApi.editSomeFieldsXmRiskHandle,
batchAdd: XmRiskHandleApi.batchAddXmRiskHandle,
batchDel: XmRiskHandleApi.batchDelXmRiskHandle,
batchEdit: XmRiskHandleApi.batchEditXmRiskHandle,
}
}
},
methods: {
//页面初始化需要配置的特殊逻辑写这里
initCurrData(){
this.searchTableDatas();
},
/**
* 检查参数是否满足调用后台接口的条件
*
* @param params 提交给后台的参数池,map类型
* @returns true / false
*/
preQueryParamCheck(params){
return true;
},
//页面数据加载完后需要对数据进行加工处理的
afterList(tableDatas,isOk,apiName){
},
/**
* 对修改的字段进行判断返回false ,将取消更新数据库
* @param {*} row 当前选中的行
* @param {*} fieldName 修改的字段名
* @param {*} $event 修改后的值
* @param {*} params 将要提交服务器的参数
* @returns true/false 返回false ,将取消更新数据库
*/
editSomeFieldsCheck(row,fieldName,$event,params){
params[fieldName]=$event
return true;
},
},
mounted() {
}
}
</script>
<style scoped>
</style>