【修改】修改表格数据

This commit is contained in:
zhoulingpo
2023-04-25 18:04:35 +08:00
parent fc43422f22
commit d34c375f20
12 changed files with 306 additions and 249 deletions
+1 -7
View File
@@ -5,10 +5,4 @@ export const PERMISSION = new Esenum([
{ label: '预览', value: "1" }, { label: '预览', value: "1" },
{ label: '预览+下载', value: "2" } { label: '预览+下载', value: "2" }
]) ])
// 流程状态
export const PROCESSSTATE = new Esenum(
{
COMPLETED: {name: '已完成', index: 1},
INCOMPLETED: {name: '未完成', index: 0}
}
)
-1
View File
@@ -28,7 +28,6 @@ export function formatDate (value, fmt) {
} }
return fmt return fmt
} else { } else {
console.log(typeof value)
value = value.trim() value = value.trim()
value = value.replace('T', ' ') value = value.replace('T', ' ')
return value.substr(0, fmt.length) return value.substr(0, fmt.length)
@@ -122,7 +122,7 @@ export default {
} }
}) })
this.checkList = this.checkList.filter(item => { this.checkList = this.checkList.filter(item => {
return ids.indexOf(item.id) === -1 return ids.indexOf(item.reportId) === -1
}) })
if (name.length > 0) { if (name.length > 0) {
this.$alert(`报告${name.toString()}已经存在`, '提示', { this.$alert(`报告${name.toString()}已经存在`, '提示', {
+29 -24
View File
@@ -153,20 +153,20 @@ export default {
if(this.$route.query.type=='yiban'){ if(this.$route.query.type=='yiban'){
this.disabled=true this.disabled=true
} }
this.getProcessDetail(params).then(res=>{ this.getProcessDetail(params).then(res=>{
this.tableData = JSON.parse(this.processOld.dataJson) this.tableData = JSON.parse(this.processOld.dataJson)
this.applicationForm.power = this.tableData[0].power this.applicationForm.power = this.tableData[0].power
this.applicationForm.applyReason = this.tableData[0].applyReason this.applicationForm.applyReason = this.tableData[0].applyReason
this.processForm.prcName = this.prcName this.processForm.prcName = this.prcName
this.disabled=false this.disabled=false
this.formControl= true this.formControl= true
if(this.$route.query.type=='yiban'){ if(this.$route.query.type=='yiban'){
this.disabled=true this.disabled=true
this.submitjson=JSON.parse(this.processOld.submitJson) this.submitjson=JSON.parse(this.processOld.submitJson)
}else{ }else{
} }
}) })
}, },
@@ -187,16 +187,21 @@ export default {
// assignee: treeNode[0].userId, // 转办人 // assignee: treeNode[0].userId, // 转办人
// userId: this.$store.getters.userInfo.userId, // dangqian人 // userId: this.$store.getters.userInfo.userId, // dangqian人
// pId: this.$store.getters.getHandleInfo.prcId // 流程实例 // pId: this.$store.getters.getHandleInfo.prcId // 流程实例
this.$api.process.changeAssignee({ if( treeNode[0].USID == this.$store.getters.userInfo.usid){
taskId: this.processOld.taskId, this.$message.warning("您不能转办给自己")
assignee: treeNode[0].USID, }else{
userId: this.$store.getters.userInfo.usid, this.$api.process.changeAssignee({
pId: this.processOld.pId taskId: this.taskId,
}).then(() => { assignee: treeNode[0].USID,
this.$message.success('转办成功') userId: this.$store.getters.userInfo.usid,
this.$router.push({path: '/processCenter', query: {id: this.$route.query.id}}) pId: this.prcId
this.visibleTree = false }).then(() => {
}) this.$message.success('转办成功')
this.$router.push({path: '/userCenter/processCenter', query: {id: this.$route.query.id}})
this.visibleTree = false
})
}
}, },
handleSubmit() { handleSubmit() {
// if (this.$refs.operationRef.submit()) { // if (this.$refs.operationRef.submit()) {
@@ -204,7 +209,7 @@ export default {
let submit = JSON.parse(this.processOld.submitJson) let submit = JSON.parse(this.processOld.submitJson)
let dataJson = this.processOld.dataJson let dataJson = this.processOld.dataJson
let submitJson = JSON.stringify({...submit, ...this.$refs.operationRef.examineForm}) let submitJson = JSON.stringify({...submit, ...this.$refs.operationRef.examineForm})
this.completeProcess({ this.completeProcess({
dataJson, dataJson,
submitJson, submitJson,
taskId: this.taskId, taskId: this.taskId,
+134 -113
View File
@@ -1,24 +1,24 @@
<template> <template>
<div class="process"> <div class="process">
<div class="process_box"> <div class="process_box">
<process-header v-if="initShow" :title="'发起流程'"></process-header> <process-header v-if="initShow" :title="'发起人修改'" :proceesNum="prcNum"></process-header>
<process-header v-else :title="'发起人修改'" :proceesNum="prcNum"></process-header> <process-header v-else :title="'发起流程'"></process-header>
<div class="procedure"> <div class="procedure">
<div class="process_content"> <div class="process_content">
<span class="base_title">基础信息</span> <span class="base_title">基础信息</span>
<el-form ref="processFormRef" :model="processForm" label-width="150px" <el-form ref="processFormRef" :model="processForm" label-width="150px"
:rules="processFormRule" class="label-input-form" size="medium"> :rules="processFormRule" class="label-input-form" size="medium">
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="流程名称:" prop="prcName"> <el-form-item label="流程名称:" prop="prcName">
<el-input :disabled="formControl || formControlname" v-model="processForm.prcName" <el-input :disabled="formControl || formControlname" v-model="processForm.prcName"
placeholder="请输入流程名称"></el-input> placeholder="请输入流程名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-row> <el-row>
<report-table v-model="tableData" @updateTable="(newValue)=>{tableData=newValue}"></report-table> <report-table v-model="tableData" @updateTable="(newValue)=>{tableData=newValue}" :disabled="showTableD"></report-table>
</el-row> </el-row>
<el-row> <el-row>
<el-form ref="applicationFormRef" :model="applicationForm" label-width="150px" <el-form ref="applicationFormRef" :model="applicationForm" label-width="150px"
@@ -27,7 +27,8 @@
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="申请原因:" prop="applyReason"> <el-form-item label="申请原因:" prop="applyReason">
<el-input :disabled="formControl" type="textarea" v-model="applicationForm.applyReason" placeholder="请输入申请原因"></el-input> <el-input :disabled="formControl" type="textarea" v-model="applicationForm.applyReason"
placeholder="请输入申请原因"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9" :offset="6"> <el-col :span="9" :offset="6">
@@ -53,73 +54,63 @@
<div class="process_content"> <div class="process_content">
<span class="base_title">指派信息</span> <span class="base_title">指派信息</span>
<el-form ref="assignFormRef" :model="assignForm" label-width="150px" <el-form ref="assignFormRef" :model="assignForm" label-width="150px"
:rules="assignFormRules" class="label-input-form" size="medium"> :rules="assignFormRules" class="label-input-form" size="medium">
<el-row> <el-row>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="选择一级审批人员:" prop="oneApprove"> <el-form-item label="选择一级审批人员:" prop="oneApprove">
<el-input readonly :disabled="formControl" v-model="assignForm.oneApproveName" @click.native="handleCheck('spr1')" <el-input readonly :disabled="formControl" v-model="assignForm.oneApproveName"
placeholder="请选择一级审批人员"></el-input> @click.native="handleCheck('spr1')"
placeholder="请选择一级审批人员"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="9" > <el-col :span="9">
<el-form-item label="选择二级审批人员:" prop="twoApprove"> <el-form-item label="选择二级审批人员:" prop="twoApprove">
<el-input readonly :disabled="formControl" v-model="assignForm.twoApproveName" @click.native="handleCheck('spr2')" <el-input readonly :disabled="formControl" v-model="assignForm.twoApproveName"
@click.native="handleCheck('spr2')"
placeholder="请选择二级审批人员"></el-input> placeholder="请选择二级审批人员"></el-input>
<!-- <el-input v-model="assignForm.twoApprove" placeholder="请选择二级审批人员"></el-input>-->
<!-- <el-select v-model="assignForm.twoApprove"-->
<!-- class="icon-auth"-->
<!-- multiple-->
<!-- collapse-tags-->
<!-- @change="changeSelect"-->
<!-- @visible-change="changeSelect"-->
<!-- placeholder="请选择">-->
<!-- <el-checkbox class="check-all" v-model="checked" @change="selectAll">全选</el-checkbox>-->
<!-- <template v-for="item in userList">-->
<!-- <el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option>-->
<!-- </template>-->
<!-- </el-select>-->
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24" > <el-col :span="24">
<el-form-item label="说明:"> <el-form-item label="说明:">
<el-input type="textarea" v-model="assignForm.remark" placeholder="请输入说明"></el-input> <el-input type="textarea" :disabled="formControl" v-model="assignForm.remark" placeholder="请输入说明"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
</div> </div>
<process-footer <process-footer
v-if="!formControl" v-if="!formControl"
showCancel showCancel
:show-reset="isShowReset" :show-reset="isShowReset"
:show-submit="isShowSubmit" :show-submit="isShowSubmit"
:submitLoading="isSubmit" :submitLoading="isSubmit"
:resetLoading="resetLoading" :resetLoading="resetLoading"
@reset="handleReset" @reset="handleReset"
@submit="handleSubmit" @submit="handleSubmit"
></process-footer> ></process-footer>
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{ <orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
value: orgTableVal, value: orgTableVal,
valueName: orgTableValName valueName: orgTableValName
}" :workNumFlag="true" :maxSelected="1" @confirm="isTreeOk"></orgTable> }" :workNumFlag="true" :maxSelected="1" @confirm="isTreeOk"></orgTable>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import processHeader from '@/components/ProcessHeader' import processHeader from '@/components/ProcessHeader'
import processFooter from '@/components/ProcessFooter' import processFooter from '@/components/ProcessFooter'
import processApprovalHistory from '@/components/ProcessApprovalHistory' import processApprovalHistory from '@/components/ProcessApprovalHistory'
import reportTable from './components/reportTable' import reportTable from './components/reportTable'
import { PERMISSION } from '@/utils/Enum/enum' import {PERMISSION} from '@/utils/Enum/enum'
import orgTable from '../../components/OrgTable' import orgTable from '../../components/OrgTable'
import processMixin from "../../components/ProcessMixin"; import processMixin from "../../components/ProcessMixin";
export default { export default {
name: 'launch', name: 'launch',
components: { components: {
@@ -130,8 +121,9 @@ export default {
orgTable orgTable
}, },
mixins: [processMixin], mixins: [processMixin],
data () { data() {
return { return {
showTableD: false,
initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true initShow: false, // 控制审批历史是否显示 只有在不是第一次的时候才是true
treeType: '', treeType: '',
orgTableVal: '', orgTableVal: '',
@@ -146,13 +138,14 @@ export default {
assignForm: { assignForm: {
oneApprove: '', oneApprove: '',
twoApprove: '', twoApprove: '',
twoApproveName:'', twoApproveName: '',
oneApproveName:'' oneApproveName: '',
remark:''
}, },
tableData: [], tableData: [],
applicationForm: { applicationForm: {
applyReason:'', applyReason: '',
power:'' power: ''
}, },
q: { q: {
pageSize: 10000, pageSize: 10000,
@@ -160,14 +153,14 @@ export default {
}, },
PERMISSION, PERMISSION,
processForm: { processForm: {
prcName:'' prcName: ''
}, },
processFormRule: { processFormRule: {
prcName: [{ prcName: [{
required: true, required: true,
message: '请输入流程名称', message: '请输入流程名称',
trigger: 'change' trigger: 'change'
},{ }, {
max: 100, max: 100,
message: '申请原因最多填写100字符', message: '申请原因最多填写100字符',
trigger: 'change' trigger: 'change'
@@ -197,68 +190,77 @@ export default {
max: 1000, message: '说明最多填写1000字符' max: 1000, message: '说明最多填写1000字符'
}] }]
}, },
prcType:1 prcType: 1,
prcName:''
} }
}, },
created () { created() {
// 第一次进入此页面 需要清楚校验 // 第一次进入此页面 需要清楚校验
if (this.$route.query.ids) { if (this.$route.query.ids) {
if(this.$route.query.ids.split(',').length>0){ if (this.$route.query.ids.split(',').length > 0) {
this.reportList(this.$route.query.ids) this.reportList(this.$route.query.ids)
} }
this.handleReset() this.handleReset()
} }
if(this.$route.query.taskDefinitionKey == 'aid4'){ if (this.$route.query.taskDefinitionKey == 'aid4') {
this.taskId=this.$route.query.taskId this.taskId = this.$route.query.taskId
this.prcNum = this.$route.query.prcNum this.prcNum = this.$route.query.prcNum
this.prcId = this.$route.query.prcId this.prcId = this.$route.query.prcId
this.prcName = this.$route.query.prcName
this.initShow = true this.initShow = true
this.formControlname=true this.formControlname = true
this.getProcessDetail().then(res =>{
this.getProcessDetail().then(res => {
//基础信息 //基础信息
this.applicationForm.applyReason = JSON.parse(this.processOld.dataJson).applyReason
this.applicationForm.power = JSON.parse(this.processOld.dataJson).power
this.tableData = JSON.parse(this.processOld.dataJson) this.tableData = JSON.parse(this.processOld.dataJson)
this.processForm.prcName = JSON.parse(this.processOld.dataJson).prcName this.applicationForm.power = this.tableData[0].power
this.applicationForm.applyReason = this.tableData[0].applyReason
this.processForm.prcName = this.prcName
debugger
//指派信息 //指派信息
this.assignForm=JSON.parse(this.processOld.submitJson) ({oneApprove:this.assignForm.oneApprove,oneApproveName:this.assignForm.oneApproveName,twoApprove:this.assignForm.twoApprove,twoApproveName:this.assignForm.twoApproveName,remark:this.assignForm.remark}= JSON.parse(this.processOld.submitJson))
}) })
} }
if(this.$route.query.type=='yiban'){ if (this.$route.query.type == 'yiban') {
this.taskId=this.$route.query.taskId this.taskId = this.$route.query.taskId
this.prcNum = this.$route.query.prcNum this.prcNum = this.$route.query.prcNum
this.prcId = this.$route.query.prcId this.prcId = this.$route.query.prcId
this.formControl = true this.prcName = this.$route.query.prcName
this.getProcessDetail().then(()=>{ this.formControl = true
this.applicationForm.applyReason = JSON.parse(this.processOld.dataJson).applyReason this.initShow = true
this.applicationForm.power = JSON.parse(this.processOld.dataJson).power this.showTableD = true
this.tableData = JSON.parse(this.processOld.dataJson).dataMsg this.getProcessDetail().then(() => {
this.processForm.prcName = JSON.parse(this.processOld.dataJson).prcName this.tableData = JSON.parse(this.processOld.dataJson)
//指派信息 this.applicationForm.power = this.tableData[0].power
this.assignForm=JSON.parse(this.processOld.submitJson) this.applicationForm.applyReason = this.tableData[0].applyReason
}) this.processForm.prcName = this.prcName
//指派信息
// ({ name: a.name, age: a.age } = b)
this.assignForm = JSON.parse(this.processOld.submitJson)
})
} }
console.log(this.PERMISSION, 'ddd') console.log(this.PERMISSION, 'ddd')
}, },
methods: { methods: {
handleCheck (name) { handleCheck(name) {
if(this.initShow){ if (this.initShow) {
return false return false
} }
this.treeType = name this.treeType = name
this.orgTableVal = '' this.orgTableVal = ''
this.orgTableValName = '' this.orgTableValName = ''
if (name === 'spr1') { if (name === 'spr1') {
this.orgTableVal = this.assignForm.oneApprove ?this.assignForm.oneApprove:'' this.orgTableVal = this.assignForm.oneApprove ? this.assignForm.oneApprove : ''
this.orgTableValName = this.assignForm.oneApproveName ?this.assignForm.oneApproveName:'' this.orgTableValName = this.assignForm.oneApproveName ? this.assignForm.oneApproveName : ''
} else { } else {
this.orgTableVal = this.assignForm.twoApprove?this.assignForm.twoApprove:'' this.orgTableVal = this.assignForm.twoApprove ? this.assignForm.twoApprove : ''
this.orgTableValName = this.assignForm.twoApproveName?this.assignForm.twoApproveName:'' this.orgTableValName = this.assignForm.twoApproveName ? this.assignForm.twoApproveName : ''
} }
this.visibleOrgTable = true this.visibleOrgTable = true
}, },
// 树点击 // 树点击
isTreeOk (checkedList) { isTreeOk(checkedList) {
// console.log(checkedList) // console.log(checkedList)
const parts = [] const parts = []
const partsName = [] const partsName = []
@@ -278,26 +280,34 @@ export default {
// console.log(this.assignForm.name1Id, this.assignForm.name2Id) // console.log(this.assignForm.name1Id, this.assignForm.name2Id)
}, },
// 获取表格列表 吧查询到的值传给子组件 // 获取表格列表 吧查询到的值传给子组件
reportList (ids) { reportList(ids) {
this.$api.report.reportList({ ids: ids.split(',') }).then(({ data }) => { this.$api.permissionProcess.getReportLisy({
this.tableData = data.records.map(item=>{ pageSize:1000,
item.reportId=item['id'] pageNo:1,
ids: ids.split(',')
}).then(({data}) => {
this.tableData = data.records.map(item => {
item.reportId = item['id']
delete item['id'] delete item['id']
return item return item
}) })
}) })
}, },
handleReset () { handleReset() {
this.applicationForm = { this.processForm.prcName = ''
applyReason:'', if(this.$route.query.taskDefinitionKey == 'aid4'){
power:'' this.processForm.prcName = this.prcName
} }
this.processForm.prcName='' this.applicationForm = {
applyReason: '',
power: ''
}
this.assignForm = { this.assignForm = {
oneApprove: '', oneApprove: '',
twoApprove: '' twoApprove: ''
} }
this.$nextTick(()=>{ this.$nextTick(() => {
this.$refs.applicationFormRef.clearValidate() this.$refs.applicationFormRef.clearValidate()
this.$refs.assignFormRef.clearValidate() this.$refs.assignFormRef.clearValidate()
}) })
@@ -306,17 +316,17 @@ export default {
// 整理数据 // 整理数据
organizeData() { organizeData() {
let userId = this.$store.getters.userInfo.usid let userId = this.$store.getters.userInfo.usid
this.tableData=this.tableData.map(item=>{ this.tableData = this.tableData.map(item => {
item = {...item, ... this.applicationForm,userId:userId} item = {...item, ...this.applicationForm, userId: userId}
return item return item
}) })
}, },
// 提交 // 提交
handleSubmit () { handleSubmit() {
console.log( this.$store.getters.userInfo.usid," this.$store.getters.userInfo.USID") console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
this.$refs.assignFormRef.validate(v => { this.$refs.assignFormRef.validate(v => {
this.$refs.applicationFormRef.validate(m => { this.$refs.applicationFormRef.validate(m => {
this.$refs.processFormRef.validate(z =>{ this.$refs.processFormRef.validate(z => {
if (v && m && z) { if (v && m && z) {
// 过了校验 需要把数据都整合 this.tableData this.applicationForm this.assignForm // 过了校验 需要把数据都整合 this.tableData this.applicationForm this.assignForm
// 表格数据没有不能提交 需要提示 // 表格数据没有不能提交 需要提示
@@ -328,12 +338,18 @@ export default {
// 处理表格数据 // 处理表格数据
this.organizeData() this.organizeData()
//如果不是第一次 //如果不是第一次
if(this.initShow){ if (this.initShow) {
let dataJson=JSON.stringify({...this.applicationForm,...this.processForm,dataMsg:this.tableData}) let dataJson = JSON.stringify(this.tableData)
let submitJson=JSON.stringify(this.assignForm) let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
this.completeProcess({dataJson,submitJson,taskId:this.taskId,userId:this.$store.getters.userInfo.usid,prcType:this.prcType}) this.completeProcess({
}else{ dataJson,
this.startProcess() submitJson,
taskId: this.taskId,
userId: this.$store.getters.userInfo.usid,
prcType: this.prcType
})
} else {
this.startProcess()
} }
} }
} else { } else {
@@ -344,23 +360,28 @@ export default {
}) })
}, },
//修改参数 //修改参数
changeParam(){ changeParam() {
}, },
startProcess() { startProcess() {
//把表单都整合到form中 //把表单都整合到form中
// dataJson与submitJson需要发到completeProcess // dataJson与submitJson需要发到completeProcess
let form = {} let form = {}
form={approveData:{...this.applicationForm,...this.processForm,...this.assignForm,userId:this.$store.getters.userInfo.usid},dataMsg:this.tableData} form = {
approveData: {
...this.applicationForm, ...this.processForm, ...this.assignForm,
userId: this.$store.getters.userInfo.usid
}, dataMsg: this.tableData
}
form.prcType= this.prcType form.prcType = this.prcType
form.prcName= this.processForm.prcName form.prcName = this.processForm.prcName
form.userId= this.$store.getters.userInfo.usid form.userId = this.$store.getters.userInfo.usid
//...this.applicationForm,...this.processForm, //...this.applicationForm,...this.processForm,
let dataJson=JSON.stringify(this.tableData) let dataJson = JSON.stringify(this.tableData)
let submitJson=JSON.stringify({...this.assignForm,userId:this.$store.getters.userInfo.usid}) let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid})
this.$api.process.startProcess(form).then( ({data}) =>{ this.$api.process.startProcess(form).then(({data}) => {
this.completeProcess({dataJson,submitJson,taskId:data.result,userId:form.userId,prcType: this.prcType}) this.completeProcess({dataJson, submitJson, taskId: data.result, userId: form.userId, prcType: this.prcType})
}) })
}, },
//获取流程详细信息 //获取流程详细信息
@@ -30,9 +30,14 @@
<vxe-column show-overflow show-header-overflow field="taskBackAssignee" <vxe-column show-overflow show-header-overflow field="taskBackAssignee"
title="上一处理人"></vxe-column> title="上一处理人"></vxe-column>
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column> <vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="overTime" <vxe-column show-overflow show-header-overflow field="endTime"
title="完成时间"></vxe-column> title="完成时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="status" title="状态"></vxe-column> <vxe-column show-overflow show-header-overflow field="status" title="状态">
<template #default="{ row }">
<span v-if="row.isEnd === '0'">未完成</span>
<span v-if="row.isEnd === '1'">已完成</span>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right"> <vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click.native.prevent="view(row)" type="text" size="small"> <el-button @click.native.prevent="view(row)" type="text" size="small">
@@ -113,7 +118,7 @@ export default {
taskDefinitionKey: row.taskDefinitionKey, taskDefinitionKey: row.taskDefinitionKey,
prcNum: row.prcNum, prcNum: row.prcNum,
prcId: row.prcId, prcId: row.prcId,
prcName: row.prcName prcName: row.prcName,
} }
}) })
}else{ }else{
@@ -106,7 +106,8 @@ export default {
taskId:row.taskId, taskId:row.taskId,
prcNum: row.prcNum, prcNum: row.prcNum,
prcId: row.prcId, prcId: row.prcId,
prcName: row.prcName prcName: row.prcName,
taskDefinitionKey: row.taskDefinitionKey
} }
}) })
}else{ }else{
@@ -117,7 +118,8 @@ export default {
taskId:row.taskId, taskId:row.taskId,
prcNum: row.prcNum, prcNum: row.prcNum,
prcId: row.prcId, prcId: row.prcId,
prcName: row.prcName prcName: row.prcName,
taskDefinitionKey: row.taskDefinitionKey
} }
}) })
} }
@@ -30,9 +30,14 @@
<vxe-column show-overflow show-header-overflow field="taskBackAssignee" <vxe-column show-overflow show-header-overflow field="taskBackAssignee"
title="上一处理人"></vxe-column> title="上一处理人"></vxe-column>
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column> <vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="overTime" <vxe-column show-overflow show-header-overflow field="endTime"
title="完成时间"></vxe-column> title="完成时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="status" title="状态"></vxe-column> <vxe-column show-overflow show-header-overflow field="status" title="状态">
<template #default="{ row }">
<span v-if="row.isEnd === '0'">未完成</span>
<span v-if="row.isEnd === '1'">已完成</span>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right"> <vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row }"> <template #default="{ row }">
<el-button @click.native.prevent="view(row)" type="text" size="small"> <el-button @click.native.prevent="view(row)" type="text" size="small">
@@ -107,6 +112,7 @@ export default {
id: this.$route.query.id, id: this.$route.query.id,
prcNum: row.prcNum, prcNum: row.prcNum,
prcType: row.prcType, prcType: row.prcType,
prcId: row.prcId,
tabsName: 'MonitorProcess' tabsName: 'MonitorProcess'
} }
}) })
@@ -64,7 +64,12 @@
<vxe-column show-overflow show-header-overflow field="approvalOpinion" <vxe-column show-overflow show-header-overflow field="approvalOpinion"
title="审批意见"></vxe-column> title="审批意见"></vxe-column>
<vxe-column show-overflow show-header-overflow field="status" <vxe-column show-overflow show-header-overflow field="status"
title="状态"></vxe-column> title="状态">
<template #default="{ row }">
<span v-if="row.endTime">已完成</span>
<span v-else>未完成</span>
</template>
</vxe-column>
</vxe-table> </vxe-table>
</div> </div>
<monitorModal ref="monitorModal" :prcId="prcId"></monitorModal> <monitorModal ref="monitorModal" :prcId="prcId"></monitorModal>
@@ -72,18 +77,15 @@
</template> </template>
<script> <script>
import {PROCESSSTATE} from '@/utils/Enum/enum'
import monitorModal from './monitorModal.vue' import monitorModal from './monitorModal.vue'
import ProcessMixin from "@/components/ProcessMixin"; import ProcessMixin from "@/components/ProcessMixin";
import { formatDate } from '@/utils/date' import { formatDate } from '@/utils/date'
export default { export default {
name: 'processDetail', name: 'processDetail',
mixins: [ProcessMixin], mixins: [ProcessMixin],
data () { data () {
return { return {
formatDate, formatDate,
PROCESSSTATE,
assigneeNewLoading: false, // 调整处理人确定loading assigneeNewLoading: false, // 调整处理人确定loading
loginPeople: '', loginPeople: '',
// 调整处理人抽屉状态 // 调整处理人抽屉状态
@@ -113,7 +115,8 @@ export default {
checkIds: [], checkIds: [],
checkList: [], checkList: [],
tabsName:'', tabsName:'',
prcNum:'' prcNum:'',
prcId:''
} }
}, },
methods: { methods: {
@@ -214,19 +217,23 @@ export default {
}, },
showDialog() { showDialog() {
if(this.checkList.length < 1){ if(this.checkList.length < 1){
this.$message.warning("至少选择一条数据") this.$message.warning("选择一条数据")
return return
}else{ }else{
if(this.checkList.length > 2){
this.$message.warning("请选择一条数据")
return
}
let check=[] let check=[]
check = this.checkList.filter(item=>{ check = this.checkList.filter(item=>{
if(+item.state == this.PROCESSSTATE['COMPLETED'].index){ if(item.endTime ){
return item return item
} }
}) })
if(check.length > 0){ if(check.length > 0){
this.$message.warning("请选择状态为未完成的数据") this.$message.warning("请选择状态为未完成的数据")
}else{ }else{
this.$refs.monitorModal.open(this.checkIds,this.checkList[0].id) this.$refs.monitorModal.open(this.checkIds,this.checkList[0].taskId,this.checkList[0].assigneeId)
} }
} }
}, },
@@ -276,6 +283,7 @@ export default {
this.tabsName=this.$route.query.tabsName this.tabsName=this.$route.query.tabsName
this.prcType=this.$route.query.prcType this.prcType=this.$route.query.prcType
this.prcNum=this.$route.query.prcNum this.prcNum=this.$route.query.prcNum
this.prcId=this.$route.query.prcId
this.processNum() this.processNum()
this.processTable() this.processTable()
} }
@@ -1,99 +1,104 @@
<template> <template>
<div> <div>
<el-dialog title="调整处理人" :visible.sync="dialogVisible" width="500px"> <el-dialog title="调整处理人" :visible.sync="dialogVisible" width="500px">
<div class="label-input-form addModel"> <div class="label-input-form addModel">
<el-form ref="form" :model="form" label-width="120px" :rules="rules" class="formData"> <el-form ref="form" :model="form" label-width="120px" :rules="rules" class="formData">
<el-form-item label="选择人员" prop="assignee" class="el-form-item"> <el-form-item label="选择人员" prop="assignee" class="el-form-item">
<el-select v-model="form.assignee" class="icon-auth" collapse-tags <el-select v-model="form.assignee" class="icon-auth" collapse-tags
placeholder="请选择"> placeholder="请选择">
<template v-for="item in userList"> <template v-for="item in userList">
<el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option> <el-option :label="item.USNAME" :value="item.USID" :key="item.USID"></el-option>
</template> </template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false" class="btn"> </el-button> <el-button @click="dialogVisible = false" class="btn"> </el-button>
<el-button type="primary" @click="submit" class="btn"> </el-button> <el-button type="primary" @click="submit" class="btn"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: 'modal', name: 'modal',
data() { data() {
return { return {
userList: [], userList: [],
dialogVisible: false, dialogVisible: false,
form: { form: {
assignee:'' assignee: ''
}, },
rules: { rules: {
assignee: [ assignee: [
{ {
required: 'true', required: 'true',
trigger: 'change', trigger: 'change',
message: '请选择调整处理人' message: '请选择调整处理人'
} }
] ]
}, },
taskId:'', taskId: '',
pId:'' pId: ''
}; };
}, },
mounted() { mounted() {
this.sysUserList() this.sysUserList()
},
methods: {
changeSelect(val) {
this.checked = (val.length || this.reportF.reportUserIdList.length) === this.userList.length;
// this.$emit('update:updateMultipleSelect',this.reportF.reportUserIdList);
}, },
methods: { // 获取所有用户
changeSelect(val) { sysUserList() {
this.checked = (val.length || this.reportF.reportUserIdList.length) === this.userList.length; this.$api.user.sysUserList({pageNo: 1, pageSize: 999999}).then(({data}) => {
// this.$emit('update:updateMultipleSelect',this.reportF.reportUserIdList); this.userList = data.records;
}, })
// 获取所有用户 },
sysUserList() { open(taskId, pId,assigneeId) {
this.$api.user.sysUserList({ pageNo: 1, pageSize: 999999 }).then(({ data }) => { this.taskId = taskId
this.userList = data.records; this.pId = pId
}) this.form.name = {
}, assignee: ''
open(taskId,pId) {
this.taskId=taskId
this.pId=pId
this.form.name={
assignee:''
}
this.dialogVisible = true
},
submit() {
this.$refs.form.validate((valid) => {
if (valid) {
let userId=this.form.assignee
let assignee=this.$store.getters.userInfo.usid
this.$api.process.changeAssignee({
taskId:this.taskId.join(','),
assignee:assignee,
userId: userId,
pId:this.pId
})
.then(res=>{
//转办完应该跳到哪个页面?
//转办完这个人还能看到这个监控流程吗
this.dialogVisible = false
})
}
})
} }
this.assigneeId=assigneeId
this.dialogVisible = true
},
submit() {
this.$refs.form.validate((valid) => {
if (valid) {
let userId = this.form.assignee
let assignee = this.assigneeId
if (userId == assignee) {
this.$message.warning("当前任务受理人就是您选择的")
} else {
this.$api.process.changeAssignee({
taskId: this.taskId.join(','),
assignee: assignee,
userId: userId,
pId: this.pId
})
.then(res => {
//转办完应该跳到哪个页面?
//转办完这个人还能看到这个监控流程吗
this.dialogVisible = false
})
}
}
})
} }
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.dialog-footer{ .dialog-footer {
margin: 20px 20px ; margin: 20px 20px;
.el-button { .el-button {
width: 80px; width: 80px;
height: 36px; height: 36px;
@@ -101,14 +106,17 @@ export default {
font-size: 14px; font-size: 14px;
} }
} }
::v-deep .el-dialog__footer{
::v-deep .el-dialog__footer {
padding-bottom: 20px; padding-bottom: 20px;
} }
.addModel{
.addModel {
padding: 20px; padding: 20px;
} }
.el-form-item{
::v-deep .el-select{ .el-form-item {
::v-deep .el-select {
width: 300px; width: 300px;
vertical-align: center; vertical-align: center;
} }
@@ -32,9 +32,14 @@
<vxe-column show-overflow show-header-overflow field="taskBackAssignee" <vxe-column show-overflow show-header-overflow field="taskBackAssignee"
title="上一处理人"></vxe-column> title="上一处理人"></vxe-column>
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column> <vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="overTime" <vxe-column show-overflow show-header-overflow field="endTime"
title="完成时间"></vxe-column> title="完成时间"></vxe-column>
<vxe-column show-overflow show-header-overflow field="status" title="状态"></vxe-column> <vxe-column show-overflow show-header-overflow field="status" title="状态">
<template #default="{ row }">
<span v-if="row.isEnd === '0'">未完成</span>
<span v-if="row.isEnd === '1'">已完成</span>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right"> <vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row,index }"> <template #default="{ row,index }">
<el-button type="text" size="small" @click="view(row)"> <el-button type="text" size="small" @click="view(row)">
+6 -2
View File
@@ -65,6 +65,10 @@ export default {
} }
</script> </script>
<style lang="sass" scoped> <style lang="scss" scoped>
::v-deep .el-tabs__header {
padding: 0;
position: relative;
margin: 0 14px 15px;
}
</style> </style>