|
@@ -211,7 +211,12 @@
|
|
<el-button :type="$dictUtils.getDictLabel('payment_status_info', scope.row.paymentStatus, '')" effect="dark" >{{$dictUtils.getDictLabel("payment_status", scope.row.paymentStatus, '未付款')}} </el-button>
|
|
<el-button :type="$dictUtils.getDictLabel('payment_status_info', scope.row.paymentStatus, '')" effect="dark" >{{$dictUtils.getDictLabel("payment_status", scope.row.paymentStatus, '未付款')}} </el-button>
|
|
</template>
|
|
</template>
|
|
</vxe-column>
|
|
</vxe-column>
|
|
- <vxe-column title="操作" width="130px" fixed="right" align="center">
|
|
|
|
|
|
+ <vxe-column min-width="100" title="文件补充状态" fixed="right" align="center" field="fileStatus">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-button @click="detailFile(scope.row)" :type="$dictUtils.getDictLabel('status_info', scope.row.fileStatus, '')" effect="dark" >{{$dictUtils.getDictLabel("status", scope.row.fileStatus, '未开始')}} </el-button>
|
|
|
|
+ </template>
|
|
|
|
+ </vxe-column>
|
|
|
|
+ <vxe-column title="操作" width="200px" fixed="right" align="center">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<!-- 管理员修改-->
|
|
<!-- 管理员修改-->
|
|
<el-button v-if=" (isAdmin)" text type="primary" @click="editForm(scope.row)">修改</el-button>
|
|
<el-button v-if=" (isAdmin)" text type="primary" @click="editForm(scope.row)">修改</el-button>
|
|
@@ -224,6 +229,12 @@
|
|
<!-- 付款-->
|
|
<!-- 付款-->
|
|
<el-button v-if="hasPermission('consultancy:user:payment') && scope.row.paymentStatus !== '1'" text type="primary" @click="payment(scope.row)">付款</el-button>
|
|
<el-button v-if="hasPermission('consultancy:user:payment') && scope.row.paymentStatus !== '1'" text type="primary" @click="payment(scope.row)">付款</el-button>
|
|
<el-button v-if="hasPermission('consultancy:user:payment') && scope.row.paymentStatus === '1'" text type="primary" @click="rePayment(scope.row)">撤回付款</el-button>
|
|
<el-button v-if="hasPermission('consultancy:user:payment') && scope.row.paymentStatus === '1'" text type="primary" @click="rePayment(scope.row)">撤回付款</el-button>
|
|
|
|
+ <!-- 文件补充-->
|
|
|
|
+ <el-button v-if="hasPermission('file:supplement')&& (scope.row.fileStatus === '0' || scope.row.fileStatus === '5'|| scope.row.fileStatus === ''|| scope.row.fileStatus === null|| scope.row.fileStatus === undefined)" text type="primary" @click="addFile(scope.row)">文件补充</el-button>
|
|
|
|
+ <el-button v-if="hasPermission('file:supplement') && (scope.row.fileStatus === '3')" text type="primary" @click="editFile(scope.row)">文件补充</el-button>
|
|
|
|
+ <el-button v-if="hasPermission('file:supplement') && (scope.row.fileStatus === '2')" text type="primary" @click="rebackFile(scope.row)">撤回文件补充</el-button>
|
|
|
|
+ <el-button v-if="hasPermission('file:supplement') && scope.row.fileStatus === '4'" text type="primary" @click="adjustFile(scope.row)">文件补充驳回调整</el-button>
|
|
|
|
+ <el-button v-if="scope.row.fileStatus==='2' && checkIsAuditFile(scope.row)" text type="primary" @click="examineFile(scope.row)">审核</el-button>
|
|
|
|
|
|
</template>
|
|
</template>
|
|
</vxe-column>
|
|
</vxe-column>
|
|
@@ -674,6 +685,13 @@
|
|
this.procDefKeyZjb = data.key
|
|
this.procDefKeyZjb = data.key
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
+ processService.getByName('咨询-报销文件补充').then((data) => {
|
|
|
|
+ console.log('file',data)
|
|
|
|
+ if (!this.commonJS.isEmpty(data.id)) {
|
|
|
|
+ this.processDefinitionIdFile = data.id
|
|
|
|
+ this.procDefKeyFile = data.key
|
|
|
|
+ }
|
|
|
|
+ })
|
|
},
|
|
},
|
|
// 删除
|
|
// 删除
|
|
del (id) {
|
|
del (id) {
|
|
@@ -893,6 +911,151 @@
|
|
})
|
|
})
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ //文件补充
|
|
|
|
+ addFile(row){
|
|
|
|
+ // 读取流程表单
|
|
|
|
+ let tabTitle = `发起流程【咨询-报销文件补充】`
|
|
|
|
+ let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [咨询-报销文件补充]`
|
|
|
|
+ taskService.getTaskDef({ procDefId: this.processDefinitionIdFile,
|
|
|
|
+ status: 'startAndClose'}).then((data) => {
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path: '/flowable/task/TaskForm',
|
|
|
|
+ query: {
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
|
|
|
|
+ procDefId: this.processDefinitionIdFile,
|
|
|
|
+ procDefKey: this.procDefKeyFile,
|
|
|
|
+ status: 'startAndClose',
|
|
|
|
+ title: tabTitle,
|
|
|
|
+ formType: data.formType,
|
|
|
|
+ formUrl: data.formUrl,
|
|
|
|
+ formTitle: processTitle,
|
|
|
|
+ businessId: row.id,
|
|
|
|
+ isShow: false,
|
|
|
|
+ routePath: '/consultancy/reimbursement/info/InfoList'
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //查询文件补充审核人
|
|
|
|
+ checkIsAuditFile(row){
|
|
|
|
+ let loginUserId = this.$store.state.user.id // 获取当前登录用户id
|
|
|
|
+ if (this.commonJS.isNotEmpty(row.auditFileUserIds)) {
|
|
|
|
+ for (const userId of row.auditFileUserIds) {
|
|
|
|
+ if (userId === loginUserId) { // 当数据的审核人中包含当前登录人id时,返回true
|
|
|
|
+ return true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return false
|
|
|
|
+ },
|
|
|
|
+ //文件补充 重新调整
|
|
|
|
+ todoFile(row){
|
|
|
|
+ let cUser = false
|
|
|
|
+ taskService.getTaskDefInfo({
|
|
|
|
+ taskId: row.taskIdFile
|
|
|
|
+ }).then((data) => {
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path: '/flowable/task/TaskForm',
|
|
|
|
+ query: {
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title', 'businessId'),
|
|
|
|
+ isShow: false,
|
|
|
|
+ formReadOnly: true,
|
|
|
|
+ formTitle: `${data.taskName}`,
|
|
|
|
+ cUser: cUser,
|
|
|
|
+ title: `审批【${data.taskName || ''}】`,
|
|
|
|
+ routePath: '/consultancy/reimbursement/info/InfoList' // 数据处理后需要跳转的页面路径
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //文件补充 审核
|
|
|
|
+ examineFile (row) {
|
|
|
|
+ this.reimbursementService.findFileById(row.fileSuppleId).then((data) => {
|
|
|
|
+ if (data.fileStatus !== '2') { // status的值不等于“审核中”,就弹出提示
|
|
|
|
+ this.$message.error('数据已发生改变或不存在,请刷新数据')
|
|
|
|
+ this.refreshList()
|
|
|
|
+ } else {
|
|
|
|
+ this.todoFile(row)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //文件补充 驳回调整
|
|
|
|
+ adjustFile(row){
|
|
|
|
+ this.reimbursementService.findFileById(row.fileSuppleId).then((data) => {
|
|
|
|
+ console.log('data', data)
|
|
|
|
+ if (data.fileStatus !== '4') { // status的值不等于“驳回”,就弹出提示
|
|
|
|
+ this.$message.error('数据已发生改变或不存在,请刷新数据')
|
|
|
|
+ this.refreshList()
|
|
|
|
+ } else {
|
|
|
|
+ this.todoFile(row)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //文件补充流程详情
|
|
|
|
+ detailFile(row){
|
|
|
|
+ taskService.getTaskDef({
|
|
|
|
+ procInsId: row.procInsIdFile,
|
|
|
|
+ procDefId: this.processDefinitionIdFile
|
|
|
|
+ }).then((data) => {
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path: '/flowable/task/TaskFormDetail',
|
|
|
|
+ query: {
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
|
|
|
|
+ isShow: 'false',
|
|
|
|
+ readOnly: true,
|
|
|
|
+ title: '流程详情',
|
|
|
|
+ formTitle: '流程详情',
|
|
|
|
+ businessId: row.fileSuppleId,
|
|
|
|
+ status: 'reback'
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //文件补充撤回
|
|
|
|
+ rebackFile(row){
|
|
|
|
+ this.$confirm(`确定撤回流程吗?`, '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ processService.revokeProcIns(row.procInsIdFile).then((data) => {
|
|
|
|
+ let param = {fileStatus: '3', fileSuppleId: row.fileSuppleId}
|
|
|
|
+ this.reimbursementService.updateFileStatusById(param)
|
|
|
|
+ this.$message.success('回退成功')
|
|
|
|
+ this.refreshList()
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //文件补充 修改
|
|
|
|
+ editFile(row){
|
|
|
|
+ status = 'startAndClose'
|
|
|
|
+ let tabTitle = `发起流程【咨询-报销文件补充】`
|
|
|
|
+ let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [咨询-报销文件补充]`
|
|
|
|
+
|
|
|
|
+ taskService.getTaskDef({ procDefId: this.processDefinitionIdFile,
|
|
|
|
+ businessId: row.fileSuppleId,
|
|
|
|
+ businessTable: 'consultancy_reimbursement_file_supplement',
|
|
|
|
+ status: status
|
|
|
|
+ }).then((data) => {
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path: '/flowable/task/TaskForm',
|
|
|
|
+ query: {
|
|
|
|
+ ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
|
|
|
|
+ procDefId: this.processDefinitionIdFile,
|
|
|
|
+ procDefKey: this.procDefKeyFile,
|
|
|
|
+ status: status,
|
|
|
|
+ title: tabTitle,
|
|
|
|
+ formType: data.formType,
|
|
|
|
+ formUrl: data.formUrl,
|
|
|
|
+ formTitle: processTitle,
|
|
|
|
+ businessTable: 'consultancy_reimbursement_file_supplement',
|
|
|
|
+ businessId: row.fileSuppleId,
|
|
|
|
+ isShow: false,
|
|
|
|
+ routePath: '/consultancy/reimbursement/info/InfoList'
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|