mirror of
https://gitee.com/maimengcloud/xm-ui-web.git
synced 2025-12-30 10:12:26 +00:00
风险管理代码
This commit is contained in:
37
src/api/xm/pro/xmRiskHandle.js
Normal file
37
src/api/xm/pro/xmRiskHandle.js
Normal 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); };
|
||||
@@ -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:''
|
||||
|
||||
@@ -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/>
|
||||
|
||||
140
src/views/xm/pro/xmRiskHandle/Form.vue
Normal file
140
src/views/xm/pro/xmRiskHandle/Form.vue
Normal 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>
|
||||
209
src/views/xm/pro/xmRiskHandle/Index.vue
Normal file
209
src/views/xm/pro/xmRiskHandle/Index.vue
Normal 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) }} {{ 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>
|
||||
Reference in New Issue
Block a user