提案整改
This commit is contained in:
@@ -21,10 +21,10 @@ const PROPOSAL_INFO = {
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="提案类别">
|
||||
{{viewData.typeName}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions-item><!--
|
||||
<el-descriptions-item label="建议承办单位">
|
||||
{{viewData.suggestUnits}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions-item>-->
|
||||
<el-descriptions-item label="立案结果" :span="2">
|
||||
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
||||
:value="viewData.caseFilingResult"></dict-tag>
|
||||
@@ -144,7 +144,7 @@ const PROPOSAL_INFO = {
|
||||
|
||||
<!--提案委员会立案-->
|
||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id"
|
||||
v-else-if="task.taskName === 'committee'">
|
||||
v-else-if="task.taskName === 'committee'||task.taskName === 'committeeFilingUnit'">
|
||||
<el-descriptions-item label="办理用户">{{ task.taskFormData.userName
|
||||
}}({{task.taskFormData.loginName}})
|
||||
</el-descriptions-item>
|
||||
@@ -162,10 +162,16 @@ const PROPOSAL_INFO = {
|
||||
</template>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="主办单位" :span="3">{{task.ext.tf_masterUnitName}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协办单位" :span="3">{{task?.ext?.tf_slaveUnitNameStr}}
|
||||
</el-descriptions-item>
|
||||
<template v-if="['CONFIRM_FILING','SUGGESTION'].includes(task.ext.tf_caseFilingResult)">
|
||||
<el-descriptions-item v-if="task.ext.tf_caseFilingResult === 'SUGGESTION'" label="承办单位" :span="3">{{task?.ext?.tf_masterUnitNameStr || task?.ext?.tf_slaveUnitNameStr}}
|
||||
</el-descriptions-item>
|
||||
<template v-else>
|
||||
<el-descriptions-item label="主办单位" :span="3">{{task?.ext?.tf_masterUnitNameStr}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="协办单位" :span="3">{{task?.ext?.tf_slaveUnitNameStr}}
|
||||
</el-descriptions-item>
|
||||
</template>
|
||||
</template>
|
||||
<el-descriptions-item label="办理意见" :span="3">
|
||||
<div v-html="task.taskFormData.tf_opinion"></div>
|
||||
</el-descriptions-item>
|
||||
@@ -173,7 +179,7 @@ const PROPOSAL_INFO = {
|
||||
|
||||
<el-descriptions border class="flow-task-form" :column="3" :key="task.id" v-else>
|
||||
<el-descriptions-item label="承办单位"
|
||||
v-if="['master_reply','slave_reply'].includes(task.taskName)" :span="3">
|
||||
v-if="['opinion_unit_reply','unit_reply','two_unit_reply','master_reply','slave_reply'].includes(task.taskName)" :span="3">
|
||||
{{task.ext.underTakeName}}
|
||||
</el-descriptions-item>
|
||||
|
||||
@@ -244,6 +250,8 @@ const PROPOSAL_INFO = {
|
||||
this.$axios.post("/flow/common/doneTasks", {bizId: this.row.id}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.doneTasks = res.data
|
||||
// 通知外层页面已办节点数据已加载完成,便于当前环节做表单回显。
|
||||
this.$emit("done-tasks", res.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
+32
-2
@@ -156,6 +156,9 @@ layout("/layouts/platform.html"){
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'undertakeUnits'" scope="{row}">
|
||||
{{ getUndertakeDisplay(row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" min-width="200px">
|
||||
<template scope="{row}">
|
||||
@@ -211,14 +214,41 @@ layout("/layouts/platform.html"){
|
||||
{label: "是否并案", prop: "merge"},
|
||||
{label: "案由", prop: "brief", visible: false},
|
||||
{label: "建议措施", prop: "measures", visible: false},
|
||||
{label: "主办单位", prop: "masterUnitName"},
|
||||
{label: "协办单位", prop: "slaveUnitNames"},
|
||||
{label: "承办单位", prop: "undertakeUnits", width: "260px"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 导出列表页沿用查询口径,确保“作为建议”展示为承办单位,
|
||||
* “确定立案”则保留主办/协办信息。
|
||||
*/
|
||||
getUndertakeDisplay(row) {
|
||||
var masterUnitNames = this.formatUnitNames(row.masterUnitName)
|
||||
var slaveUnitNames = this.formatUnitNames(row.slaveUnitNames)
|
||||
if (row.caseFilingResult === "SUGGESTION") {
|
||||
return masterUnitNames || slaveUnitNames
|
||||
}
|
||||
if (row.caseFilingResult === "CONFIRM_FILING") {
|
||||
return [masterUnitNames ? "主办:" + masterUnitNames : "", slaveUnitNames ? "协办:" + slaveUnitNames : ""].filter(function(item) {
|
||||
return item
|
||||
}).join(";")
|
||||
}
|
||||
return ""
|
||||
},
|
||||
formatUnitNames(unitNames) {
|
||||
if (!unitNames) {
|
||||
return ""
|
||||
}
|
||||
if (Array.isArray(unitNames)) {
|
||||
return unitNames.filter(function(item) {
|
||||
return item
|
||||
}).join(",")
|
||||
}
|
||||
return unitNames
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
|
||||
+32
-2
@@ -222,6 +222,9 @@ layout("/layouts/platform.html"){
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'undertakeUnits'" scope="{row}">
|
||||
{{ getUndertakeDisplay(row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="200px">
|
||||
<template scope="{row}">
|
||||
@@ -260,8 +263,7 @@ layout("/layouts/platform.html"){
|
||||
{label: "立案结果", prop: "caseFilingResult"},
|
||||
{label: "立案类型", prop: "caseFilingType"},
|
||||
{label: "是否并案", prop: "merge"},
|
||||
{label: "主办单位", prop: "masterUnitName"},
|
||||
{label: "协办单位", prop: "slaveUnitNames"},
|
||||
{label: "承办单位", prop: "undertakeUnits", width: "260px"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
],
|
||||
@@ -301,6 +303,34 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 查询列表按立案结果切换承办单位展示口径:
|
||||
* 立案显示“主办/协办”,作为建议只显示“承办单位”。
|
||||
*/
|
||||
getUndertakeDisplay(row) {
|
||||
var masterUnitNames = this.formatUnitNames(row.masterUnitName)
|
||||
var slaveUnitNames = this.formatUnitNames(row.slaveUnitNames)
|
||||
if (row.caseFilingResult === "SUGGESTION") {
|
||||
return masterUnitNames || slaveUnitNames
|
||||
}
|
||||
if (row.caseFilingResult === "CONFIRM_FILING") {
|
||||
return [masterUnitNames ? "主办:" + masterUnitNames : "", slaveUnitNames ? "协办:" + slaveUnitNames : ""].filter(function(item) {
|
||||
return item
|
||||
}).join(";")
|
||||
}
|
||||
return ""
|
||||
},
|
||||
formatUnitNames(unitNames) {
|
||||
if (!unitNames) {
|
||||
return ""
|
||||
}
|
||||
if (Array.isArray(unitNames)) {
|
||||
return unitNames.filter(function(item) {
|
||||
return item
|
||||
}).join(",")
|
||||
}
|
||||
return unitNames
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
|
||||
+33
-2
@@ -116,8 +116,11 @@ layout("/layouts/platform.html"){
|
||||
<el-tag v-else type="warning" size="small">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="主办单位" prop="masterUnitName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="协办单位" prop="slaveUnitNames" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="承办单位" prop="undertakeUnits" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
{{ getUndertakeDisplay(row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="curTaskName" label="当前节点"></el-table-column>
|
||||
<el-table-column prop="instanceState" label="流程状态">
|
||||
<template slot-scope="{row}">
|
||||
@@ -169,6 +172,34 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 历史查询里统一把承办单位合并成一列展示,
|
||||
* 便于“确定立案”和“作为建议”两种口径同时查看。
|
||||
*/
|
||||
getUndertakeDisplay(row) {
|
||||
var masterUnitNames = this.formatUnitNames(row.masterUnitName)
|
||||
var slaveUnitNames = this.formatUnitNames(row.slaveUnitNames)
|
||||
if (row.caseFilingResult === "SUGGESTION") {
|
||||
return masterUnitNames || slaveUnitNames
|
||||
}
|
||||
if (row.caseFilingResult === "CONFIRM_FILING") {
|
||||
return [masterUnitNames ? "主办:" + masterUnitNames : "", slaveUnitNames ? "协办:" + slaveUnitNames : ""].filter(function(item) {
|
||||
return item
|
||||
}).join(";")
|
||||
}
|
||||
return ""
|
||||
},
|
||||
formatUnitNames(unitNames) {
|
||||
if (!unitNames) {
|
||||
return ""
|
||||
}
|
||||
if (Array.isArray(unitNames)) {
|
||||
return unitNames.filter(function(item) {
|
||||
return item
|
||||
}).join(",")
|
||||
}
|
||||
return unitNames
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
|
||||
+33
-2
@@ -112,8 +112,11 @@ layout("/layouts/platform.html"){
|
||||
<el-tag size="mini" v-else type="danger">否</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="主办单位" prop="masterUnitName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="协办单位" prop="slaveUnitNames" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="承办单位" prop="undertakeUnits" show-overflow-tooltip>
|
||||
<template slot-scope="{row}">
|
||||
{{ getUndertakeDisplay(row) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="curTaskName" label="当前节点"></el-table-column>
|
||||
<el-table-column prop="instanceState" label="流程状态">
|
||||
<template slot-scope="{row}">
|
||||
@@ -163,6 +166,34 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 年报查询列表里,把主办/协办与建议承办统一折叠成一个展示口径,
|
||||
* 避免“作为建议”场景下仍显示主办/协办文案。
|
||||
*/
|
||||
getUndertakeDisplay(row) {
|
||||
var masterUnitNames = this.formatUnitNames(row.masterUnitName)
|
||||
var slaveUnitNames = this.formatUnitNames(row.slaveUnitNames)
|
||||
if (row.caseFilingResult === "SUGGESTION") {
|
||||
return masterUnitNames || slaveUnitNames
|
||||
}
|
||||
if (row.caseFilingResult === "CONFIRM_FILING") {
|
||||
return [masterUnitNames ? "主办:" + masterUnitNames : "", slaveUnitNames ? "协办:" + slaveUnitNames : ""].filter(function(item) {
|
||||
return item
|
||||
}).join(";")
|
||||
}
|
||||
return ""
|
||||
},
|
||||
formatUnitNames(unitNames) {
|
||||
if (!unitNames) {
|
||||
return ""
|
||||
}
|
||||
if (Array.isArray(unitNames)) {
|
||||
return unitNames.filter(function(item) {
|
||||
return item
|
||||
}).join(",")
|
||||
}
|
||||
return unitNames
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.view(() => {
|
||||
this.$refs.infoRef.onOpen(row)
|
||||
|
||||
+110
-98
@@ -2,106 +2,118 @@
|
||||
layout("/layouts/platform.html"){
|
||||
#-->
|
||||
<div id="app" v-cloak>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="教代会">
|
||||
<el-select @change="meetingChange" clearable filterable placeholder="所属教代会"
|
||||
v-model="pageForm.sessionId">
|
||||
<el-option :key="item.id" :label="item.fullName" :value="item.id"
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="提案名称">
|
||||
<el-input v-model="pageForm.name" placeholder="提案名称" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
<el-input placeholder="请输入姓名或工号" clearable v-model="pageForm.createUserKeyword"></el-input>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns">
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod" fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:key="column.key"
|
||||
:min-width="column.width"
|
||||
:fixed="column.fixed"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
v-if="column.visible !== false"
|
||||
>
|
||||
<template v-if="column.prop === 'instanceState'" scope="{row}">
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="300px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskState === 10" @click="openAudit(row)" size="mini" type="primary">审核
|
||||
</el-button>
|
||||
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
</guava>
|
||||
<guava ref="guava">
|
||||
<el-card shadow="never">
|
||||
<search @search="doSearch">
|
||||
<search-item label="教代会">
|
||||
<el-select @change="meetingChange" clearable filterable placeholder="所属教代会"
|
||||
v-model="pageForm.sessionId">
|
||||
<el-option :key="item.id" :label="item.fullName" :value="item.id"
|
||||
v-for="item in sessionOptions"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="提案名称">
|
||||
<el-input v-model="pageForm.name" placeholder="提案名称" @keyup.enter.native="doSearch" clearable
|
||||
style="width: 100%"></el-input>
|
||||
</search-item>
|
||||
<search-item label="姓名/工号">
|
||||
<el-input placeholder="请输入姓名或工号" clearable v-model="pageForm.createUserKeyword"></el-input>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never">
|
||||
<table-tool :columns.sync="tableColumns">
|
||||
</table-tool>
|
||||
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
|
||||
<el-table-column label="序号" width="50" type="index" :index="indexMethod"
|
||||
fixed="left"></el-table-column>
|
||||
<el-table-column
|
||||
:label="column.label"
|
||||
:prop="column.prop"
|
||||
:key="column.key"
|
||||
:min-width="column.width"
|
||||
:fixed="column.fixed"
|
||||
show-overflow-tooltip
|
||||
v-for="column in tableColumns"
|
||||
v-if="column.visible !== false"
|
||||
>
|
||||
<template v-if="column.prop === 'instanceState'" scope="{row}">
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="100px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
<template #edit>
|
||||
<proposal-info ref="proposalInfoRef">
|
||||
</proposal-info>
|
||||
</template>
|
||||
</guava>
|
||||
</div>
|
||||
<script nonce="${cspNonce!}">
|
||||
<!--#include('../../common/info.js'){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
"proposal-info": PROPOSAL_INFO
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "提案编号", prop: "code"},
|
||||
{label: "提案名称", prop: "name", width: "200px"},
|
||||
{label: "提案人", prop: "createUserName", width: "80px"},
|
||||
{label: "提案类别", prop: "typeName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
],
|
||||
pageForm: {
|
||||
approval: false
|
||||
},
|
||||
showApprovalForm: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
this.listOpenSession()
|
||||
},
|
||||
methods: {
|
||||
// 查询开启的教代会
|
||||
listOpenSession() {
|
||||
this.$axios.post("/platform/proposal/common/listOpenSession").then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.sessionOptions = res.data
|
||||
if (this.sessionOptions) {
|
||||
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
|
||||
this.pageData()
|
||||
this.listDelegation()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
<!--#include('../../common/info.js'){}#-->
|
||||
new Vue({
|
||||
el: "#app",
|
||||
store,
|
||||
mixins: [initTableMixins],
|
||||
components: {
|
||||
"proposal-info": PROPOSAL_INFO
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableColumns: [
|
||||
{label: "提案编号", prop: "code"},
|
||||
{label: "提案名称", prop: "name", width: "200px"},
|
||||
{label: "提案人", prop: "createUserName", width: "80px"},
|
||||
{label: "提案类别", prop: "typeName"},
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
],
|
||||
pageForm: {
|
||||
approval: false
|
||||
},
|
||||
showApprovalForm: false,
|
||||
sessionOptions:[]
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.pageData()
|
||||
this.listOpenSession()
|
||||
},
|
||||
methods: {
|
||||
// 教代会
|
||||
async meetingChange(val) {
|
||||
this.doSearch()
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.showApprovalForm = false
|
||||
this.$refs.proposalInfoRef.onOpen(row)
|
||||
})
|
||||
},
|
||||
// 查询开启的教代会
|
||||
listOpenSession() {
|
||||
this.$axios.post("/platform/proposal/common/listOpenSession").then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.sessionOptions = res.data
|
||||
if (this.sessionOptions) {
|
||||
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
|
||||
this.pageData()
|
||||
this.listDelegation()
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
<!--#
|
||||
}
|
||||
|
||||
+88
-12
@@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
|
||||
size="small"></enum-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="300px">
|
||||
<el-table-column label="操作" fixed="right" width="200px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskState === 10" @click="openAudit(row)" size="mini" type="primary">审核
|
||||
@@ -57,7 +57,7 @@ layout("/layouts/platform.html"){
|
||||
</el-table>
|
||||
<!--#include("/layouts/pagination.html"){}#-->
|
||||
</el-card>
|
||||
|
||||
|
||||
<template #edit>
|
||||
<proposal-info ref="proposalInfoRef">
|
||||
<div v-if="showApprovalForm">
|
||||
@@ -65,7 +65,7 @@ layout("/layouts/platform.html"){
|
||||
{{formData.taskName}}
|
||||
</div>
|
||||
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="150px" label-suffix=":">
|
||||
<el-row gutter="20">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="审核人" proop="tf_username">
|
||||
<el-input readonly v-model="formData.tf_username"></el-input>
|
||||
@@ -87,9 +87,24 @@ layout("/layouts/platform.html"){
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
<span class="text-primary ml10" v-if="formData.tf_caseCheckNeedSecondReply">
|
||||
(二次答复只需要主办单位答复)
|
||||
(请选择需要进入二次答复的承办单位,可多选)
|
||||
</span>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="答复单位"
|
||||
prop="tf_secondReplyUnitIds"
|
||||
v-if="formData.tf_caseCheckNeedSecondReply"
|
||||
:rules="[{required:formData.tf_caseCheckNeedSecondReply === 1,message:'请选择需要二次答复的承办单位',trigger:['change','blur']}]"
|
||||
>
|
||||
<el-select v-model="formData.tf_secondReplyUnitIds" clearable filterable multiple style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in replyUnitOptions"
|
||||
:key="item.unitId"
|
||||
:label="item.unitName + '(' + (item.isMaster ? '主办' : '协办') + ')'"
|
||||
:value="item.unitId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="审批意见" prop="tf_opinion"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
@@ -97,8 +112,8 @@ layout("/layouts/platform.html"){
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到提案人</el-button>
|
||||
<el-button @click="handleTaskAction(2)" size="small" type="danger">不同意</el-button>
|
||||
<!-- <el-button @click="handleTaskAction(6)" size="small" type="info">退回到提案人</el-button>-->
|
||||
<!-- <el-button @click="handleTaskAction(2)" size="small" type="danger">不同意</el-button>-->
|
||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">同意</el-button>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -125,12 +140,15 @@ layout("/layouts/platform.html"){
|
||||
{label: "届次", prop: "sessionName"},
|
||||
{label: "代表团", prop: "delegationName"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "流程状态", prop: "instanceState"}
|
||||
{label: "流程状态", prop: "instanceState"},
|
||||
{label: "办理时间", prop: "finishTime"}
|
||||
],
|
||||
pageForm: {
|
||||
approval: false
|
||||
},
|
||||
showApprovalForm: false,
|
||||
replyUnitOptions: [],
|
||||
sessionOptions: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -144,19 +162,27 @@ layout("/layouts/platform.html"){
|
||||
this.$refs.proposalInfoRef.onOpen(row)
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
openAudit(row) {
|
||||
this.loadReplyUnits(row.id)
|
||||
this.$refs.guava.edit(() => {
|
||||
this.showApprovalForm = true
|
||||
this.formData = {
|
||||
proposalId: row.id,
|
||||
processTaskId: row.taskId,
|
||||
taskName: row.curTaskName,
|
||||
tf_auditTime: this.$moment().format('YYYY-MM-DD'),
|
||||
tf_username: this.$store.state.user.username
|
||||
tf_username: this.$store.state.user.username,
|
||||
tf_caseCheckNeedSecondReply: 0,
|
||||
tf_secondReplyUnitIds: []
|
||||
}
|
||||
this.$refs.proposalInfoRef.onOpen(row)
|
||||
})
|
||||
},
|
||||
// 教代会
|
||||
async meetingChange(val) {
|
||||
this.doSearch()
|
||||
},
|
||||
// 查询开启的教代会
|
||||
listOpenSession() {
|
||||
this.$axios.post("/platform/proposal/common/listOpenSession").then((res) => {
|
||||
@@ -170,7 +196,16 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
// 二次答复只能选择当前提案已配置的承办单位,避免误选到别的单位。
|
||||
loadReplyUnits(proposalId) {
|
||||
this.$axios.post("/platform/proposal/case/check/listReplyUnits", { proposalId: proposalId }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.replyUnitOptions = res.data || []
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
handleTaskAction(val) {
|
||||
this.$refs.formRef.validate(valid => {
|
||||
if (!valid) return
|
||||
@@ -179,9 +214,35 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
let submitData = Object.assign({}, this.formData)
|
||||
if (submitData.tf_caseCheckNeedSecondReply === 1) {
|
||||
let secondReplyUnits = this.replyUnitOptions.filter(item => submitData.tf_secondReplyUnitIds.indexOf(item.unitId) > -1)
|
||||
let masterUnitIds = secondReplyUnits.filter(item => item.isMaster).map(item => item.unitId)
|
||||
let slaveUnitIds = secondReplyUnits.filter(item => !item.isMaster).map(item => item.unitId)
|
||||
let masterUnitNames = secondReplyUnits.filter(item => item.isMaster).map(item => item.unitName)
|
||||
let slaveUnitNames = secondReplyUnits.filter(item => !item.isMaster).map(item => item.unitName)
|
||||
submitData.tf_masterUnitIds = masterUnitIds
|
||||
submitData.tf_masterUnitId = masterUnitIds.length ? masterUnitIds[0] : ""
|
||||
submitData.tf_masterUnitName = masterUnitNames.length ? masterUnitNames[0] : ""
|
||||
submitData.tf_masterUnitNames = masterUnitNames
|
||||
submitData.tf_masterUnitNameStr = masterUnitNames.join(",")
|
||||
submitData.tf_slaveUnitIds = slaveUnitIds
|
||||
submitData.tf_slaveUnitNames = slaveUnitNames
|
||||
submitData.tf_slaveUnitNameStr = slaveUnitNames.join(",")
|
||||
} else {
|
||||
submitData.tf_secondReplyUnitIds = []
|
||||
submitData.tf_masterUnitIds = []
|
||||
submitData.tf_masterUnitId = ""
|
||||
submitData.tf_masterUnitName = ""
|
||||
submitData.tf_masterUnitNames = []
|
||||
submitData.tf_masterUnitNameStr = ""
|
||||
submitData.tf_slaveUnitIds = []
|
||||
submitData.tf_slaveUnitNames = []
|
||||
submitData.tf_slaveUnitNameStr = ""
|
||||
}
|
||||
this.$axios.post("/flow/common/executeTask", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
...submitData,
|
||||
submitType: val
|
||||
})
|
||||
}).then((res) => {
|
||||
@@ -193,7 +254,22 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
onRevoke(row) {
|
||||
this.$confirm("您确定要撤回吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "info"
|
||||
}).then(() => {
|
||||
this.$axios.post("/flow/common/revokeTask", { taskId: row.taskId }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
+45
-17
@@ -102,7 +102,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form :model="formData" ref="formRef" label-width="120px" :rules="formRules" label-suffix="">
|
||||
<el-form-item label="立案结果" prop="tf_caseFilingResult"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small" @change="handleCaseFilingResultChange">
|
||||
<el-radio v-for="item in dict.type.PROPOSAL_CASE_FILING_RESULT" :label="item.code"
|
||||
border>{{item.label}}
|
||||
</el-radio>
|
||||
@@ -118,12 +118,13 @@ layout("/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="主办单位"
|
||||
:label="formData.tf_caseFilingResult === 'SUGGESTION' ? '承办单位' : '主办单位'"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:'必填',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitId"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:formData.tf_caseFilingResult === 'SUGGESTION' ? '请选择承办单位' : '请选择主办单位',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitId" filterable clearable style="width: 100%">
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
:label="item.name"
|
||||
@@ -134,7 +135,7 @@ layout("/layouts/platform.html"){
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="协办单位"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
v-if="formData.tf_caseFilingResult === 'CONFIRM_FILING'"
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@@ -144,7 +145,7 @@ layout("/layouts/platform.html"){
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:key="item.id"
|
||||
:disabled="item.id===formData.tf_masterUnitId"
|
||||
:disabled="formData && formData.tf_masterUnitIds.includes(item.id)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -197,13 +198,13 @@ layout("/layouts/platform.html"){
|
||||
approval: false
|
||||
},
|
||||
formData: {
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
},
|
||||
formRules: {
|
||||
formRules: {
|
||||
tf_caseFilingResult: [{ required: true, message: "请选择立案结果", trigger: ["blur", "change"] }],
|
||||
tf_caseFilingType: [{ required: true, message: "请选择立案类型", trigger: ["blur", "change"] }],
|
||||
tf_masterUnitId: [{ required: true, message: "请选择主办单位", trigger: "blur" }],
|
||||
tf_masterUnitIds: [{ required: true, message: "请选择主办单位", trigger: "blur" }],
|
||||
approvalOpinion: [{ required: true, message: "请填写审核意见", trigger: "blur" }]
|
||||
},
|
||||
showApprovalForm: false,
|
||||
@@ -213,6 +214,23 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* “作为建议”不再区分主办/协办,只保留承办单位;
|
||||
* 切到“不予立案”等结果时,同时清空已选单位,避免旧值被误提交。
|
||||
*/
|
||||
handleCaseFilingResultChange(caseFilingResult) {
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_caseFilingType", "")
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.showApprovalForm = false
|
||||
@@ -225,7 +243,7 @@ layout("/layouts/platform.html"){
|
||||
this.formData = {
|
||||
processTaskId: row.taskId,
|
||||
taskName: row.curTaskName,
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
}
|
||||
this.$refs.proposalInfoRef.onOpen(row)
|
||||
@@ -240,9 +258,12 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
// “作为建议”统一按承办单位处理,提交时不再携带协办单位数据。
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_caseFilingResult === "CONFIRM_FILING" ? (this.formData.tf_slaveUnitIds || []) : []
|
||||
// 是否有协办单位
|
||||
let tf_helpunitreply
|
||||
if (this.formData.tf_slaveUnitIds && this.formData.tf_slaveUnitIds.length > 0) {
|
||||
if (slaveUnitIds.length > 0) {
|
||||
tf_helpunitreply = "HAS_HELP_UNIT"
|
||||
} else {
|
||||
tf_helpunitreply = "NO_HELP_UNIT"
|
||||
@@ -252,10 +273,16 @@ layout("/layouts/platform.html"){
|
||||
this.$axios.post("/flow/common/executeTask", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
tf_masterUnitIds: masterUnitIds,
|
||||
tf_slaveUnitIds: slaveUnitIds,
|
||||
submitType: val,
|
||||
tf_masterUnitName: this.formData.tf_masterUnitId ? this.underTakeOptions.find(v => v.id === this.formData.tf_masterUnitId)?.name : null,
|
||||
tf_slaveUnitNames: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(","),
|
||||
// 兼容旧流程仍按单个主办单位字段取值的场景,这里保留第一个主办单位ID和名称。
|
||||
tf_masterUnitId: masterUnitIds.length ? masterUnitIds[0] : "",
|
||||
tf_masterUnitName: masterUnitIds.length ? this.underTakeOptions.find(v => v.id === masterUnitIds[0])?.name : "",
|
||||
tf_masterUnitNames: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_masterUnitNameStr: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(","),
|
||||
tf_slaveUnitNames: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(","),
|
||||
tf_helpunitreply: tf_helpunitreply
|
||||
})
|
||||
}).then((res) => {
|
||||
@@ -283,7 +310,7 @@ layout("/layouts/platform.html"){
|
||||
this.$refs.mergeRef.onOpen(selection, {
|
||||
processTaskIds: selection.map(v => v.taskId),
|
||||
taskName: selection[0].curTaskName,
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
})
|
||||
})
|
||||
@@ -295,7 +322,8 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "info"
|
||||
}).then(() => {
|
||||
this.$axios.post("/flow/common/revokeTask", { taskId: row.taskId }).then((res) => {
|
||||
// 提委会立案撤回需要走专用接口,确保并案提案会整组一起撤回。
|
||||
this.$axios.post("/platform/proposal/committeeFiling/revokeTask", { taskId: row.taskId, proposalId: row.id }).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
|
||||
+73
-44
@@ -25,7 +25,7 @@ const merge = {
|
||||
<el-form :model="formData" ref="formRef" label-width="120px" :rules="formRules" label-suffix="">
|
||||
<el-form-item label="立案结果" prop="tf_caseFilingResult"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small" @change="handleCaseFilingResultChange">
|
||||
<el-radio v-for="item in dict.type.PROPOSAL_CASE_FILING_RESULT" :label="item.code"
|
||||
border>{{item.label}}
|
||||
</el-radio>
|
||||
@@ -41,12 +41,12 @@ const merge = {
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="主办单位"
|
||||
:label="formData.tf_caseFilingResult === 'SUGGESTION' ? '承办单位' : '主办单位'"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:'必填',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitId"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:formData.tf_caseFilingResult === 'SUGGESTION' ? '请选择承办单位' : '请选择主办单位',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitId" filterable clearable style="width: 100%">
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
:label="item.name"
|
||||
@@ -57,7 +57,7 @@ const merge = {
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="协办单位"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
v-if="formData.tf_caseFilingResult === 'CONFIRM_FILING'"
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@@ -67,13 +67,13 @@ const merge = {
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:key="item.id"
|
||||
:disabled="item.id===formData.tf_masterUnitId"
|
||||
:disabled="formData && formData.tf_masterUnitIds.includes(item.id)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核意见" prop="approvalOpinion"
|
||||
<el-form-item label="审核意见" prop="tf_opinion"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<user-opinion-textarea v-model="formData.approvalOpinion"></user-opinion-textarea>
|
||||
<user-opinion-textarea v-model="formData.tf_opinion"></user-opinion-textarea>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
@@ -89,19 +89,36 @@ const merge = {
|
||||
return {
|
||||
selection: [],
|
||||
formData: {
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
},
|
||||
formRules: {
|
||||
tf_caseFilingResult: [{ required: true, message: "请选择立案结果", trigger: ["blur", "change"] }],
|
||||
tf_caseFilingType: [{ required: true, message: "请选择立案类型", trigger: ["blur", "change"] }],
|
||||
tf_masterUnitId: [{ required: true, message: "请选择主办单位", trigger: "blur" }],
|
||||
approvalOpinion: [{ required: true, message: "请填写审核意见", trigger: "blur" }],
|
||||
tf_masterUnitIds: [{ required: true, message: "请选择主办单位", trigger: "blur" }],
|
||||
tf_opinion: [{ required: true, message: "请填写审核意见", trigger: "blur" }],
|
||||
},
|
||||
underTakeOptions: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 并案审核与单案审核保持同一口径:
|
||||
* “作为建议”只录入承办单位,不再区分协办单位。
|
||||
*/
|
||||
handleCaseFilingResultChange(caseFilingResult) {
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_caseFilingType", "")
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
},
|
||||
onOpen(selection, formData) {
|
||||
this.selection = selection
|
||||
this.formData = formData
|
||||
@@ -124,40 +141,52 @@ const merge = {
|
||||
})
|
||||
},
|
||||
handleTaskAction(val) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
debugger
|
||||
// 是否有协办单位
|
||||
let tf_helpunitreply;
|
||||
if (this.formData.tf_slaveUnitIds && this.formData.tf_slaveUnitIds.length > 0) {
|
||||
tf_helpunitreply = 'HAS_HELP_UNIT'
|
||||
} else {
|
||||
tf_helpunitreply = 'NO_HELP_UNIT'
|
||||
}
|
||||
this.$refs.formRef.validate(valid => {
|
||||
if (valid) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
// 并案审核提交参数与单案立案页保持一致,避免两个入口的流程变量不一致。
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_caseFilingResult === "CONFIRM_FILING" ? (this.formData.tf_slaveUnitIds || []) : []
|
||||
// 是否有协办单位
|
||||
let tf_helpunitreply
|
||||
if (slaveUnitIds.length > 0) {
|
||||
tf_helpunitreply = "HAS_HELP_UNIT"
|
||||
} else {
|
||||
tf_helpunitreply = "NO_HELP_UNIT"
|
||||
}
|
||||
|
||||
const loading = createLoading('提交中')
|
||||
this.$axios.post("/platform/proposal/committeeFiling/merge", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
proposalIds: this.selection.map(v => v.id),
|
||||
submitType: val,
|
||||
tf_masterUnitName: this.formData.tf_masterUnitId ? this.underTakeOptions.find(v => v.id === this.formData.tf_masterUnitId)?.name : null,
|
||||
tf_slaveUnitNames: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_helpunitreply: tf_helpunitreply
|
||||
const loading = createLoading('提交中')
|
||||
this.$axios.post("/platform/proposal/committeeFiling/merge", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
tf_masterUnitIds: masterUnitIds,
|
||||
tf_slaveUnitIds: slaveUnitIds,
|
||||
proposalIds: this.selection.map(v => v.id),
|
||||
submitType: val,
|
||||
// 兼容旧流程仍按单个主办单位字段取值的场景,这里保留第一个主办单位ID和名称。
|
||||
tf_masterUnitId: masterUnitIds.length ? masterUnitIds[0] : "",
|
||||
tf_masterUnitName: masterUnitIds.length ? this.underTakeOptions.find(v => v.id === masterUnitIds[0])?.name : "",
|
||||
tf_masterUnitNames: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_masterUnitNameStr: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_slaveUnitNames: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_helpunitreply: tf_helpunitreply
|
||||
})
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$emit('close')
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
})
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$emit('close')
|
||||
this.$message.success(res.msg)
|
||||
this.doSearch()
|
||||
}
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
+83
-22
@@ -103,7 +103,7 @@ layout("/layouts/platform.html"){
|
||||
<el-form :model="formData" ref="formRef" label-width="120px" :rules="formRules" label-suffix="">
|
||||
<el-form-item label="立案结果" prop="tf_caseFilingResult"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small">
|
||||
<el-radio-group v-model="formData.tf_caseFilingResult" size="small" @change="handleCaseFilingResultChange">
|
||||
<el-radio v-for="item in dict.type.PROPOSAL_CASE_FILING_RESULT" :label="item.code"
|
||||
border>{{item.label}}
|
||||
</el-radio>
|
||||
@@ -119,12 +119,13 @@ layout("/layouts/platform.html"){
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="主办单位"
|
||||
:label="formData.tf_caseFilingResult === 'SUGGESTION' ? '承办单位' : '主办单位'"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:'必填',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitId"
|
||||
:rules="[{required:['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult),message:formData.tf_caseFilingResult === 'SUGGESTION' ? '请选择承办单位' : '请选择主办单位',trigger:['change','blur']}]"
|
||||
prop="tf_masterUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_masterUnitId" filterable clearable style="width: 100%">
|
||||
<el-select v-model="formData.tf_masterUnitIds" filterable clearable multiple
|
||||
style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in underTakeOptions"
|
||||
:label="item.name"
|
||||
@@ -135,7 +136,7 @@ layout("/layouts/platform.html"){
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="协办单位"
|
||||
v-if="['CONFIRM_FILING','SUGGESTION'].includes(formData.tf_caseFilingResult)"
|
||||
v-if="formData.tf_caseFilingResult === 'CONFIRM_FILING'"
|
||||
prop="tf_slaveUnitIds"
|
||||
>
|
||||
<el-select v-model="formData.tf_slaveUnitIds" filterable clearable multiple
|
||||
@@ -145,7 +146,7 @@ layout("/layouts/platform.html"){
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:key="item.id"
|
||||
:disabled="item.id===formData.tf_masterUnitId"
|
||||
:disabled="formData && formData.tf_masterUnitIds.includes(item.id)"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -198,7 +199,7 @@ layout("/layouts/platform.html"){
|
||||
approval: false
|
||||
},
|
||||
formData: {
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
},
|
||||
showApprovalForm: false,
|
||||
@@ -208,9 +209,55 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* “作为建议”场景下只保留承办单位,协办单位和立案类型都要及时清空,
|
||||
* 避免旧表单值跟着一起提交到流程里。
|
||||
*/
|
||||
handleCaseFilingResultChange(caseFilingResult) {
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_caseFilingType", "")
|
||||
}
|
||||
if (caseFilingResult === "SUGGESTION") {
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
return
|
||||
}
|
||||
if (caseFilingResult !== "CONFIRM_FILING") {
|
||||
this.$set(this.formData, "tf_masterUnitIds", [])
|
||||
this.$set(this.formData, "tf_slaveUnitIds", [])
|
||||
}
|
||||
},
|
||||
doUpData(){
|
||||
this.$.axios.post(loc()+"/doUpData")
|
||||
},
|
||||
// 兼容流程变量返回数组、JSON 字符串、逗号分隔字符串三种情况,统一转成下拉框需要的数组。
|
||||
normalizeUnitIds(unitIds) {
|
||||
if (!unitIds) {
|
||||
return []
|
||||
}
|
||||
if (Array.isArray(unitIds)) {
|
||||
return unitIds
|
||||
}
|
||||
if (typeof unitIds === "string") {
|
||||
var value = unitIds.trim()
|
||||
if (!value) {
|
||||
return []
|
||||
}
|
||||
if (value.indexOf("[") === 0) {
|
||||
try {
|
||||
var parsedValue = JSON.parse(value)
|
||||
return Array.isArray(parsedValue) ? parsedValue : []
|
||||
} catch (e) {
|
||||
return []
|
||||
}
|
||||
}
|
||||
return value.split(",").filter(function(item) {
|
||||
return item && item.trim()
|
||||
}).map(function(item) {
|
||||
return item.trim()
|
||||
})
|
||||
}
|
||||
return []
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.showApprovalForm = false
|
||||
@@ -218,11 +265,16 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
doneTasks(val) {
|
||||
const data = val[val.length - 1]
|
||||
if (!val || !val.length) {
|
||||
return
|
||||
}
|
||||
// 当前页面需要回显上一环节“提案委员会立案”保存的主办/协办单位或承办单位。
|
||||
var data = val[val.length - 1]
|
||||
this.$set(this.formData, "tf_caseFilingResult", data.ext.tf_caseFilingResult)
|
||||
this.$set(this.formData, "tf_caseFilingType", data.ext.tf_caseFilingType)
|
||||
this.$set(this.formData, "tf_masterUnitId", data.ext.tf_masterUnitId)
|
||||
this.$set(this.formData, "tf_slaveUnitIds", data.ext.tf_slaveUnitIds)
|
||||
this.$set(this.formData, "tf_masterUnitIds", this.normalizeUnitIds(data.ext.tf_masterUnitIds))
|
||||
this.$set(this.formData, "tf_slaveUnitIds", this.normalizeUnitIds(data.ext.tf_slaveUnitIds))
|
||||
this.handleCaseFilingResultChange(this.formData.tf_caseFilingResult)
|
||||
},
|
||||
openAudit(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
@@ -231,7 +283,7 @@ layout("/layouts/platform.html"){
|
||||
proposalId: row.id,
|
||||
processTaskId: row.taskId,
|
||||
taskName: row.curTaskName,
|
||||
tf_masterUnitId: null,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
}
|
||||
this.$refs.proposalInfoRef.onOpen(row)
|
||||
@@ -246,9 +298,12 @@ layout("/layouts/platform.html"){
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
// “作为建议”统一按承办单位处理,提交时不再携带协办单位数据。
|
||||
const masterUnitIds = this.formData.tf_masterUnitIds || []
|
||||
const slaveUnitIds = this.formData.tf_caseFilingResult === "CONFIRM_FILING" ? (this.formData.tf_slaveUnitIds || []) : []
|
||||
// 是否有协办单位
|
||||
let tf_helpunitreply;
|
||||
if (this.formData.tf_slaveUnitIds && this.formData.tf_slaveUnitIds.length > 0) {
|
||||
if (slaveUnitIds.length > 0) {
|
||||
tf_helpunitreply = 'HAS_HELP_UNIT'
|
||||
} else {
|
||||
tf_helpunitreply = 'NO_HELP_UNIT'
|
||||
@@ -258,10 +313,16 @@ layout("/layouts/platform.html"){
|
||||
this.$axios.post("/platform/proposal/committeeFilingUnit/executeTask", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
tf_masterUnitIds: masterUnitIds,
|
||||
tf_slaveUnitIds: slaveUnitIds,
|
||||
submitType: val,
|
||||
tf_masterUnitName: this.formData.tf_masterUnitId ? this.underTakeOptions.find(v => v.id === this.formData.tf_masterUnitId)?.name : null,
|
||||
tf_slaveUnitNames: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: this.formData.tf_slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
// 兼容旧流程仍按单个主办单位字段取值的场景,这里保留第一个主办单位ID和名称。
|
||||
tf_masterUnitId: masterUnitIds.length ? masterUnitIds[0] : "",
|
||||
tf_masterUnitName: masterUnitIds.length ? this.underTakeOptions.find(v => v.id === masterUnitIds[0])?.name : "",
|
||||
tf_masterUnitNames: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_masterUnitNameStr: masterUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_slaveUnitNames: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name),
|
||||
tf_slaveUnitNameStr: slaveUnitIds.map(v => this.underTakeOptions.find(v2 => v2.id === v)?.name).join(','),
|
||||
tf_helpunitreply: tf_helpunitreply
|
||||
})
|
||||
}).then((res) => {
|
||||
@@ -285,12 +346,12 @@ layout("/layouts/platform.html"){
|
||||
return
|
||||
}
|
||||
this.$refs.guava.public(() => {
|
||||
this.$refs.mergeRef.onOpen(selection, {
|
||||
processTaskIds: selection.map(v => v.taskId),
|
||||
taskName: selection[0].curTaskName,
|
||||
tf_masterUnitId: null,
|
||||
tf_slaveUnitIds: []
|
||||
})
|
||||
this.$refs.mergeRef.onOpen(selection, {
|
||||
processTaskIds: selection.map(v => v.taskId),
|
||||
taskName: selection[0].curTaskName,
|
||||
tf_masterUnitIds: [],
|
||||
tf_slaveUnitIds: []
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
+32
-3
@@ -72,9 +72,9 @@ layout("/layouts/platform.html"){
|
||||
<el-tag v-if="row.merge" size="small">是</el-tag>
|
||||
<el-tag v-else type="warning" size="small">否</el-tag>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'underTakeIsMaster'" scope="{row}">
|
||||
<el-tag v-if="row.underTakeIsMaster" size="small">主办</el-tag>
|
||||
<el-tag v-else type="warning" size="small">协办</el-tag>
|
||||
<template v-else-if="column.prop === 'undertakeUnits'" scope="{row}">
|
||||
<div v-if="getUndertakeDisplay(row)" class="text-left">{{ getUndertakeDisplay(row) }}</div>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
<template v-else-if="column.prop === 'instanceState'" scope="{row}">
|
||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||
@@ -134,6 +134,7 @@ layout("/layouts/platform.html"){
|
||||
{label: "提案编号", prop: "code"},
|
||||
{label: "提案名称", prop: "name", width: "200px"},
|
||||
{label: "提案类别", prop: "typeName"},
|
||||
{label: "承办单位", prop: "undertakeUnits", width: "260px"},
|
||||
{label: "是否并案", prop: "merge"},
|
||||
{label: "当前节点", prop: "curTaskName"},
|
||||
{label: "审核人", prop: "auditUser"},
|
||||
@@ -149,6 +150,34 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* 校领导审批列表需要按立案结果切换承办单位展示口径:
|
||||
* 确定立案显示主办/协办,作为建议只显示承办单位。
|
||||
*/
|
||||
getUndertakeDisplay(row) {
|
||||
var masterUnitNames = this.formatUnitNames(row.masterUnitName)
|
||||
var slaveUnitNames = this.formatUnitNames(row.slaveUnitNames)
|
||||
if (row.caseFilingResult === "SUGGESTION") {
|
||||
return masterUnitNames || slaveUnitNames
|
||||
}
|
||||
if (row.caseFilingResult === "CONFIRM_FILING") {
|
||||
return [masterUnitNames ? "主办:" + masterUnitNames : "", slaveUnitNames ? "协办:" + slaveUnitNames : ""].filter(function(item) {
|
||||
return item
|
||||
}).join(";")
|
||||
}
|
||||
return ""
|
||||
},
|
||||
formatUnitNames(unitNames) {
|
||||
if (!unitNames) {
|
||||
return ""
|
||||
}
|
||||
if (Array.isArray(unitNames)) {
|
||||
return unitNames.filter(function(item) {
|
||||
return item
|
||||
}).join(",")
|
||||
}
|
||||
return unitNames
|
||||
},
|
||||
openView(row) {
|
||||
this.$refs.guava.edit(() => {
|
||||
this.showApprovalForm = false
|
||||
|
||||
+82
-6
@@ -137,11 +137,15 @@ layout("/layouts/platform.html"){
|
||||
{{row.transferUserName}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" min-width="250px">
|
||||
<el-table-column label="操作" fixed="right" min-width="320px">
|
||||
<template slot-scope="{row}">
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button v-if="row.taskState === 10" @click="openAudit(row)" size="mini" type="primary">答复
|
||||
</el-button>
|
||||
<!--历史答复内容只允许超级管理员修改,且只在已审核数据中开放入口。-->
|
||||
<el-button v-if="pageForm.approval && row.taskState === 20 && $auth.hasRole('SYSADMIN')"
|
||||
@click="openReplyEdit(row)" size="mini" type="warning">编辑答复
|
||||
</el-button>
|
||||
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
|
||||
</el-button>
|
||||
<!--承办单位领导、超级管理员才能转办-->
|
||||
@@ -197,7 +201,7 @@ layout("/layouts/platform.html"){
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
|
||||
<el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>
|
||||
<!-- <el-button @click="handleTaskAction(6)" size="small" type="info">退回到发起人</el-button>-->
|
||||
<el-button @click="handleTaskAction(1)" size="small" type="primary">提交</el-button>
|
||||
</el-row>
|
||||
</div>
|
||||
@@ -247,6 +251,25 @@ layout("/layouts/platform.html"){
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog title="编辑答复内容" :visible.sync="showReplyEditDialog" width="900px" append-to-body>
|
||||
<el-form ref="replyEditFormRef" :model="replyEditForm" label-width="80px">
|
||||
<el-form-item label="提案编号">
|
||||
<el-input :value="replyEditForm.code" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="提案名称">
|
||||
<el-input :value="replyEditForm.name" disabled></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="答复内容" prop="tf_opinion"
|
||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||
<text-editor v-model="replyEditForm.tf_opinion"></text-editor>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row type="flex" justify="end">
|
||||
<el-button @click="showReplyEditDialog = false" size="small">取消</el-button>
|
||||
<el-button @click="handleReplyEdit" size="small" type="primary">保存</el-button>
|
||||
</el-row>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
|
||||
<script nonce="${cspNonce!}">
|
||||
@@ -288,6 +311,10 @@ layout("/layouts/platform.html"){
|
||||
showTransferDialog: false,
|
||||
transferForm: {},
|
||||
transferUserOptions: [],
|
||||
|
||||
// 超级管理员编辑历史答复内容
|
||||
showReplyEditDialog: false,
|
||||
replyEditForm: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -299,7 +326,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
async openAudit(row) {
|
||||
this.loadCandidates(row.taskId)
|
||||
|
||||
|
||||
try{
|
||||
await this.$confirm("是否已与提案代表进行充分沟通?", "提示", {
|
||||
confirmButtonText: "是",
|
||||
@@ -325,6 +352,55 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
},
|
||||
|
||||
// 超级管理员编辑已答复任务的答复内容,仅回显和提交 tf_opinion 字段。
|
||||
openReplyEdit(row) {
|
||||
const loading = createLoading('加载中')
|
||||
this.$axios.post("/platform/proposal/unitReply/getReplyOpinion", {taskId: row.taskId}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.replyEditForm = {
|
||||
taskId: row.taskId,
|
||||
code: row.code,
|
||||
name: row.name,
|
||||
tf_opinion: res.data ? res.data.tf_opinion : ""
|
||||
}
|
||||
this.showReplyEditDialog = true
|
||||
this.$nextTick(() => {
|
||||
if (this.$refs.replyEditFormRef) {
|
||||
this.$refs.replyEditFormRef.clearValidate()
|
||||
}
|
||||
})
|
||||
}
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
},
|
||||
|
||||
// 历史答复编辑只保存答复内容,不修改落实情况、附件等其他字段。
|
||||
handleReplyEdit() {
|
||||
this.$refs.replyEditFormRef.validate((valid) => {
|
||||
if (!valid) return
|
||||
this.$confirm("您确定要保存答复内容吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
const loading = createLoading('保存中')
|
||||
this.$axios.post("/platform/proposal/unitReply/updateReplyOpinion", {
|
||||
taskId: this.replyEditForm.taskId,
|
||||
opinion: this.replyEditForm.tf_opinion
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success(res.msg)
|
||||
this.showReplyEditDialog = false
|
||||
this.doSearch()
|
||||
}
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
handleTaskAction(val) {
|
||||
if(val === 6) {
|
||||
this.handleTaskConfirm(val)
|
||||
@@ -335,7 +411,7 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
handleTaskConfirm(val) {
|
||||
this.$confirm("您确定要提交吗?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
@@ -343,10 +419,10 @@ layout("/layouts/platform.html"){
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
const loading = createLoading('提交中')
|
||||
|
||||
|
||||
delete this.formData.underTakeIsMaster
|
||||
delete this.formData.underTakeName
|
||||
|
||||
|
||||
this.$axios.post("/platform/proposal/unitReply/executeTask", {
|
||||
data: JSON.stringify({
|
||||
...this.formData,
|
||||
|
||||
@@ -20,9 +20,9 @@ const PROPOSAL_INFO = {
|
||||
<van-cell title="提案类别">
|
||||
{{viewData.typeName}}
|
||||
</van-cell>
|
||||
<van-cell title="建议承办单位">
|
||||
<!--<van-cell title="建议承办单位">
|
||||
{{viewData.suggestUnits}}
|
||||
</van-cell>
|
||||
</van-cell>-->
|
||||
<van-cell title="立案结果">
|
||||
<dict-tag :options="dict.type.PROPOSAL_CASE_FILING_RESULT"
|
||||
:value="viewData.caseFilingResult"></dict-tag>
|
||||
@@ -123,7 +123,7 @@ const PROPOSAL_INFO = {
|
||||
|
||||
<!--提案委员会立案-->
|
||||
<van-cell-group :title="task.displayName"
|
||||
v-else-if="task.taskName === 'committee'">
|
||||
v-else-if="task.taskName === 'committee'||task.taskName === 'committeeFilingUnit'">
|
||||
<van-cell title="办理用户">{{ task.taskFormData.userName }}({{task.taskFormData.loginName}})
|
||||
</van-cell>
|
||||
<van-cell title="办理时间">{{ task.finishTime }}</van-cell>
|
||||
@@ -140,12 +140,20 @@ const PROPOSAL_INFO = {
|
||||
</template>
|
||||
</div>
|
||||
</van-cell>
|
||||
<van-cell title="主办单位">{{ task.ext.tf_masterUnitName }}</van-cell>
|
||||
<van-cell title="协办单位">{{ task?.ext?.tf_slaveUnitNameStr }}</van-cell>
|
||||
<template v-if="['CONFIRM_FILING','SUGGESTION'].includes(task.ext.tf_caseFilingResult)">
|
||||
<van-cell v-if="task.ext.tf_caseFilingResult === 'SUGGESTION'" title="承办单位">{{ task?.ext?.tf_masterUnitNameStr || task?.ext?.tf_slaveUnitNameStr }}</van-cell>
|
||||
<template v-else>
|
||||
<van-cell title="主办单位">{{ task?.ext?.tf_masterUnitNameStr }}</van-cell>
|
||||
<van-cell title="协办单位">{{ task?.ext?.tf_slaveUnitNameStr }}</van-cell>
|
||||
</template>
|
||||
</template>
|
||||
<van-cell title="办理意见" v-if="task.taskFormData.tf_opinion" class="direction-column-cell">
|
||||
<div v-html="task.taskFormData.tf_opinion"></div>
|
||||
</van-cell>
|
||||
</van-cell-group>
|
||||
|
||||
<van-cell-group :title="task.displayName" v-else>
|
||||
<van-cell title="办理单位" v-if="['master_reply','slave_reply'].includes(task.taskName)">
|
||||
<van-cell title="办理单位" v-if="['opinion_unit_reply','unit_reply','two_unit_reply','master_reply','slave_reply'].includes(task.taskName)">
|
||||
{{task.ext.underTakeName}}
|
||||
</van-cell>
|
||||
|
||||
|
||||
+1
-1
@@ -151,7 +151,7 @@ layout("/layouts/platform_h5.html"){
|
||||
delete formData.taskName
|
||||
|
||||
|
||||
this.$axios.post("/flow/common/executeTask", {
|
||||
this.$axios.post("/platform/proposal/schoolLeaderApproval/executeTask", {
|
||||
data: JSON.stringify(formData)
|
||||
}).then((res) => {
|
||||
if (res.code === 0) {
|
||||
|
||||
@@ -177,7 +177,7 @@ const todo = {
|
||||
onView(task) {
|
||||
const {taskId, taskKey, instanceId, businessNo, formKey, h5FormKey} = task;
|
||||
if (!h5FormKey) {
|
||||
this.$toast("当前流程没有配置地址");
|
||||
this.$toast("当前流程暂不支持手机端审核,请前往PC端页面审核!");
|
||||
return;
|
||||
}
|
||||
this.$pjaxReplace(h5FormKey + "?taskId=" + taskId + "bizId=" + businessNo + "taskKey=" + taskKey+ "&tab=" + this.activeTab)
|
||||
|
||||
Reference in New Issue
Block a user