This commit is contained in:
那些花儿
2025-09-02 15:35:28 +08:00
parent 1531aea1d6
commit 7665726c84
51 changed files with 893 additions and 472 deletions
@@ -254,7 +254,8 @@ layout("/layouts/v4/baseLayout.html"){
<el-card shadow="never" class="filter-section">
<el-form :inline="true" :model="pageForm" class="search-form">
<el-form-item>
<el-input v-model="pageForm.searchKeyword" placeholder="请输入关键词搜索" prefix-icon="el-icon-search"
<el-input v-model="pageForm.searchKeyword" placeholder="请输入关键词搜索"
prefix-icon="el-icon-search"
clearable></el-input>
</el-form-item>
<el-form-item>
@@ -478,13 +479,13 @@ layout("/layouts/v4/baseLayout.html"){
// 处理任务
async openView(task) {
const {taskId, taskState, instanceId, businessNo} = task
// if (taskState === this.taskStateEnum.DOING) {
// window.open("/flow/common/approval/form?instanceId=" + instanceId + "&taskId=" + taskId + "&businessId=" + businessNo)
// } else {
// window.open("/flow/common/approval/form?instanceId=" + instanceId + "&businessId=" + businessNo)
// }
this.$message.error("功能开发中...")
console.log(task)
const {taskId, taskKey, taskState, instanceId, businessNo, formKey} = task
if (!formKey) {
this.$message.warning("当前流程没有配置地址")
return
}
window.open(formKey + "?taskId=" + taskId + "bizId=" + businessNo + "taskKey=" + taskKey)
},
// 获取空状态文本
@@ -7,7 +7,14 @@ layout("/layouts/platform.html"){
<el-card shadow="never">
<search @search="doSearch">
<search-item label="年度">
<el-date-picker v-model="pageForm.year" type="year" value-format="yyyy" placeholder="年度" style="width: 100%"></el-date-picker>
<el-date-picker
:clearable="true"
v-model="pageForm.year"
type="year"
value-format="yyyy"
placeholder="年度"
style="width: 100%"
></el-date-picker>
</search-item>
<search-item label="标题">
<el-input v-model="pageForm.title" placeholder="标题" clearable></el-input>
@@ -28,22 +35,20 @@ layout("/layouts/platform.html"){
<el-table-column prop="userName" label="投稿人姓名"></el-table-column>
<el-table-column prop="unitName" label="投稿人单位"></el-table-column>
<el-table-column prop="unionName" label="投稿人工会"></el-table-column>
<el-table-column prop="clubName" label="投稿人协会"></el-table-column>
<el-table-column prop="submitTime" label="投稿时间"></el-table-column>
<el-table-column label="当前节点" prop="processInstanceNodeName" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" fixed="right">
<el-table-column prop="curTaskName" label="当前节点"></el-table-column>
<el-table-column prop="instanceState" label="流程状态">
<template slot-scope="{row}">
<el-button @click="onOpen(row.id)" size="mini" type="primary">查看</el-button>
<el-button v-if="row.processInstanceTaskStatus==='ACTIVE'" @click="openApproval(row)" size="mini" type="primary">
审核
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
size="small"></enum-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="200px" fixed="right">
<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.processInstanceTaskStatus==='COMPLETE' && !row.nextTaskIsComplete"
@click="openRevoke(row.processInstanceTaskId)"
size="mini"
type="danger"
>
撤回
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回
</el-button>
</template>
</el-table-column>
@@ -51,21 +56,27 @@ layout("/layouts/platform.html"){
<!--#include("/layouts/pagination.html"){}#-->
</el-card>
<template #public>
<info ref="infoRef"></info>
<div v-if="showApprovalForm">
<div class="process-title">{{formData.processInstanceNodeName}}</div>
<el-form :model="formData" ref="approvalFormRef" label-position="left" label-width="80px">
<el-form-item label="审核意见" prop="approvalOpinion" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<user-opinion-textarea v-model="formData.approvalOpinion"></user-opinion-textarea>
</el-form-item>
</el-form>
<el-row type="flex" justify="end">
<el-button plain @click="$refs.guava.index()">取消</el-button>
<el-button type="danger" @click="doApproval('BACK')">退回修改</el-button>
<el-button type="primary" @click="doApproval('PASS')">同意</el-button>
</el-row>
</div>
<template #edit>
<article-info ref="articleInfoRef">
<div v-if="showApprovalForm">
<div class="process-title">
{{formData.taskName}}
</div>
<el-form :model="formData" ref="formRef" :rules="formRules" label-width="0" label-suffix=""
class="flow-task-form">
<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>
</el-form-item>
</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(1)" size="small" type="primary">同意申请</el-button>
</el-row>
</div>
</article-info>
</template>
</guava>
</div>
@@ -77,53 +88,68 @@ layout("/layouts/platform.html"){
el: "#app",
store,
mixins: [initTableMixins],
components: { info },
components: {
"article-info": ARTICLE_INFO
},
data() {
return {
pageForm: {
approval: false
},
showApprovalForm: false
showApprovalForm: false,
}
},
methods: {
onOpen(id) {
this.$refs.guava.public(() => {
this.$refs.infoRef.onOpen(id)
// 查看
openView(row) {
this.$refs.guava.edit(()=>{
this.showApprovalForm = false
this.$refs.articleInfoRef.onOpen(row)
})
},
openApproval(row) {
this.$refs.guava.public(() => {
this.$refs.infoRef.onOpen(row.id)
this.formData = row.approvalParam
// 审核
openAudit(row) {
this.$refs.guava.edit(()=>{
this.showApprovalForm = true
})
},
doApproval(approvalType) {
this.formData.bpmTaskApprovalType = approvalType
this.$refs.approvalFormRef.validate((valid) => {
if (valid) {
this.$axios
.post("/platform/article/clubApproval/approval", {
approval: JSON.stringify(this.formData)
})
.then((res) => {
if (res.code === 0) {
this.$refs.guava.index()
this.$message.success(res.msg)
this.doSearch()
}
})
this.formData = {
processTaskId: row.taskId,
taskName: row.curTaskName
}
this.$refs.articleInfoRef.onOpen(row)
})
},
openRevoke(taskId) {
// 提交
handleTaskAction(val) {
this.$confirm("您确定要提交吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.$axios.post("/flow/common/executeTask", {
data: JSON.stringify({
...this.formData,
submitType: val
})
}).then((res) => {
if (res.code === 0) {
this.$refs.guava.index()
this.$message.success(res.msg)
this.doSearch()
}
})
})
},
// 撤回
onRevoke(row) {
this.$confirm("您确定要撤回吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "info"
}).then(() => {
this.$axios.post("/platform/article/clubApproval/revoke", { taskId }).then((res) => {
this.$axios.post("/flow/common/revokeTask", {taskId: row.taskId}).then((res) => {
if (res.code === 0) {
this.$message.success(res.msg)
this.doSearch()
@@ -131,6 +157,7 @@ layout("/layouts/platform.html"){
})
})
}
},
created() {
this.pageData()
@@ -112,12 +112,11 @@ layout("/layouts/platform.html"){
</el-card>
<el-card shadow="never">
<table-tool>
<el-button type="primary" size="small" @click="exportAllProposalAsZip">导出全部提案压缩包</el-button>
<el-button type="primary" size="small" @click="exportAllProposalFeedBackAsZip">
导出全部提案反馈表压缩包
</el-button>
<el-button type="primary" size="small" @click="exportProposalSummaryAsExcel">导出汇总表</el-button>
<el-button type="primary" size="small" @click="exportProposalRegisterSummaryAsExcel">导出立案汇总表
<el-button type="primary" size="small" @click="exportAllProposalAsZip">导出提案压缩包</el-button>
<el-button type="primary" size="small" @click="exportCollectZip">导出提案征集表压缩包</el-button>
<!-- <el-button type="primary" size="small" @click="exportAllProposalFeedBackAsZip">导出反馈表压缩包</el-button>-->
<el-button type="primary" size="small" @click="exportSummaryAsExcel">导出汇总表</el-button>
<!-- <el-button type="primary" size="small" @click="exportProposalRegisterSummaryAsExcel">导出立案汇总表-->
</el-button>
</table-tool>
<el-table :data="tableData" @sort-change="pageOrder" header-align="center" style="width: 100%" row-key="id">
@@ -140,10 +139,15 @@ layout("/layouts/platform.html"){
<el-tag size="mini" v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="主办单位" prop="masterUnderTakeName" show-overflow-tooltip></el-table-column>
<el-table-column label="协办单位" prop="slaveUnderTakeNames" show-overflow-tooltip></el-table-column>
<el-table-column label="当前节点" prop="processInstanceNodeName"
show-overflow-tooltip></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 prop="curTaskName" label="当前节点"></el-table-column>
<el-table-column prop="instanceState" label="流程状态">
<template slot-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="200px">
<template scope="{row}">
<el-button size="mini" type="primary" @click="openView(row)">查看</el-button>
@@ -199,6 +203,11 @@ layout("/layouts/platform.html"){
pageForm: JSON.stringify(this.pageForm)
})
},
exportCollectZip() {
this.$downLoad(loc() + "/exportCollectZip", {
pageForm: JSON.stringify(this.pageForm)
})
},
exportAllProposalFeedBackAsZip() {
this.$downLoad(loc() + "/exportAllProposalFeedBackAsZip", {
pageForm: JSON.stringify(this.pageForm)
@@ -207,8 +216,8 @@ layout("/layouts/platform.html"){
exportDocx(id) {
this.$downLoad("/platform/proposal/common/exportProposalAsDocx", {id})
},
exportProposalSummaryAsExcel() {
this.$downLoad("/platform/proposal/export/comprehensive/exportProposalSummaryAsExcel", {
exportSummaryAsExcel() {
this.$downLoad("/platform/proposal/export/comprehensive/exportSummaryAsExcel", {
pageForm: JSON.stringify(this.pageForm)
})
},
@@ -6,6 +6,13 @@ layout("/layouts/platform.html"){
<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.code" placeholder="提案编号" @keyup.enter.native="doSearch" clearable
style="width: 100%"></el-input>
@@ -32,13 +39,6 @@ layout("/layouts/platform.html"){
style="width: 100%"
></el-input>
</search-item>
<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>
</el-card>
@@ -216,18 +216,7 @@ layout("/layouts/platform.html"){
// 教代会
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.delegationOptions = await proposal.getDelegation(val)
this.committeeOptions = await this.getInstitutions(val)
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -238,7 +227,6 @@ layout("/layouts/platform.html"){
if (this.sessionOptions) {
this.$set(this.pageForm, "sessionId", this.sessionOptions[0].id)
this.pageData()
this.listDelegation()
}
}
})
@@ -6,10 +6,6 @@ layout("/layouts/platform.html"){
<guava ref="guava">
<el-card shadow="never">
<search @search="doSearch">
<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-select @change="meetingChange" clearable filterable placeholder="所属教代会"
v-model="pageForm.sessionId">
@@ -17,6 +13,10 @@ layout("/layouts/platform.html"){
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>
</el-card>
@@ -158,16 +158,7 @@ layout("/layouts/platform.html"){
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.listDelegation()
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -6,6 +6,13 @@ layout("/layouts/platform.html"){
<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.code" placeholder="提案编号" @keyup.enter.native="doSearch" clearable
style="width: 100%"></el-input>
@@ -32,13 +39,6 @@ layout("/layouts/platform.html"){
style="width: 100%"
></el-input>
</search-item>
<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>
</el-card>
@@ -204,19 +204,7 @@ layout("/layouts/platform.html"){
// 教代会
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.delegationOptions = await proposal.getDelegation(val)
this.committeeOptions = await this.getInstitutions(val)
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -8,14 +8,14 @@ layout("/layouts/platform.html"){
<guava ref="guava">
<el-card shadow="never">
<search @search="doSearch">
<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-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>
</el-card>
<el-card shadow="never">
@@ -123,8 +123,7 @@ layout("/layouts/platform.html"){
//教代会change
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.doSearch()
//this.delegationOptions = await proposal.getDelegation(val)
//this.committeeOptions = await this.getInstitutions(val)
},
@@ -6,6 +6,13 @@ layout("/layouts/platform.html"){
<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.code" placeholder="提案编号" @keyup.enter.native="doSearch" clearable
style="width: 100%"></el-input>
@@ -32,13 +39,6 @@ layout("/layouts/platform.html"){
style="width: 100%"
></el-input>
</search-item>
<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>
</el-card>
@@ -187,19 +187,7 @@ layout("/layouts/platform.html"){
// 教代会
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.delegationOptions = await proposal.getDelegation(val)
this.committeeOptions = await this.getInstitutions(val)
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -6,10 +6,6 @@ layout("/layouts/platform.html"){
<guava ref="guava">
<el-card shadow="never">
<search @search="doSearch">
<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-select @change="meetingChange" clearable filterable placeholder="所属教代会"
v-model="pageForm.sessionId">
@@ -17,6 +13,10 @@ layout("/layouts/platform.html"){
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>
</el-card>
@@ -160,16 +160,7 @@ layout("/layouts/platform.html"){
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.listDelegation()
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -6,6 +6,13 @@ layout("/layouts/platform.html"){
<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.code" placeholder="提案编号" @keyup.enter.native="doSearch" clearable
style="width: 100%"></el-input>
@@ -32,13 +39,6 @@ layout("/layouts/platform.html"){
style="width: 100%"
></el-input>
</search-item>
<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>
</el-card>
@@ -92,9 +92,12 @@ layout("/layouts/platform.html"){
<el-form-item label="承办单位">
<el-input :value="formData.taskUnitName" disabled></el-input>
</el-form-item>
<!-- <el-form-item label="落实情况" prop="implementState" :rules="[{required:true,message:'必填',trigger:['change','blur']}]">-->
<!-- <dict-select v-model="formData.implementState" code="PROPOSAL_REPLY_IMPLEMENT"></dict-select>-->
<!-- </el-form-item>-->
<el-form-item label="落实情况" prop="tf_implementState"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<el-radio-group v-model="formData.tf_implementState" size="small">
<el-radio v-for="item in dict.type.PROPOSAL_REPLY_IMPLEMENT" :label="item.code" border>{{item.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="答复内容" prop="tf_opinion"
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
<text-editor v-model="formData.tf_opinion"></text-editor>
@@ -124,7 +127,7 @@ layout("/layouts/platform.html"){
new Vue({
el: "#app",
store,
dicts: ["PROPOSAL_CASE_FILING_RESULT"],
dicts: ["PROPOSAL_CASE_FILING_RESULT","PROPOSAL_REPLY_IMPLEMENT"],
mixins: [initTableMixins],
components: {
"proposal-info": PROPOSAL_INFO
@@ -216,19 +219,7 @@ layout("/layouts/platform.html"){
// 教代会
async meetingChange(val) {
this.formData.delegationId = null
this.formData.committeeId = null
this.delegationOptions = await proposal.getDelegation(val)
this.committeeOptions = await this.getInstitutions(val)
},
// 代表团
listDelegation() {
this.$axios.post("/platform/proposal/common/listDelegation", {sessionId: this.pageForm.sessionId}).then((res) => {
if (res.code === 0) {
this.delegationOptions = res.data
}
})
this.doSearch()
},
// 查询开启的教代会
@@ -99,27 +99,38 @@ layout("/layouts/platform.html"){
</el-col>
</el-row>
<el-form-item label="提案摘要" prop="excerpt">
<span slot="label">
提案摘要
<el-tooltip content="请简述提案内容和依据、改进建议和措施摘要" placement="right">
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<!-- <el-form-item label="提案摘要" prop="excerpt">-->
<!-- <span slot="label">-->
<!-- 提案摘要-->
<!-- <el-tooltip content="请简述提案内容和依据、改进建议和措施摘要" placement="right">-->
<!-- <i class="el-icon-question"></i>-->
<!-- </el-tooltip>-->
<!-- </span>-->
<!-- <el-input-->
<!-- v-model="formData.excerpt"-->
<!-- type="textarea"-->
<!-- autosize-->
<!-- :autosize="{ minRows: 4, maxRows: 4}"-->
<!-- placeholder="提案摘要"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="调研情况" prop="researchFindings">
<el-input
v-model="formData.excerpt"
v-model="formData.researchFindings"
type="textarea"
autosize
:autosize="{ minRows: 4, maxRows: 4}"
placeholder="提案摘要"
placeholder="调研情况"
></el-input>
</el-form-item>
<el-form-item label="提案内容和依据" prop="brief">
<text-editor v-model="formData.brief" key="brief" placeholder="提案内容和依据"></text-editor>
<el-form-item label="案由" prop="brief">
<text-editor v-model="formData.brief" key="brief" placeholder="案由"></text-editor>
</el-form-item>
<el-form-item label="改进建议措施" prop="measures">
<el-form-item label="建议措施" prop="measures">
<text-editor v-model="formData.measures" key="measures"
placeholder="改进建议措施"></text-editor>
placeholder="建议措施"></text-editor>
</el-form-item>
<el-form-item label="附件上传" prop="files">
<file-upload
@@ -131,9 +142,9 @@ layout("/layouts/platform.html"){
></file-upload>
</el-form-item>
<el-form-item label="电子签名" prop="signature">
<pc-signature v-model="formData.signature"></pc-signature>
</el-form-item>
<!-- <el-form-item label="电子签名" prop="signature">-->
<!-- <pc-signature v-model="formData.signature"></pc-signature>-->
<!-- </el-form-item>-->
</el-form>
<el-row justify="end" type="flex" v-if="isWriteTime">
<el-button @click="onSave" type="primary">保存</el-button>
@@ -181,6 +192,7 @@ layout("/layouts/platform.html"){
implementUnitId: [{required: false, message: "请选择建以落实部门", trigger: ["blur", "change"]}],
sign: [{required: true, message: "请扫描二维码进行签字", trigger: ["blur", "change"]}],
excerpt: [{required: true, message: "请填写", trigger: ["blur", "change"]}],
researchFindings: [{required: true, message: "请填写", trigger: ["blur", "change"]}],
brief: [{required: true, message: "请填写", trigger: ["blur", "change"]}],
measures: [{required: true, message: "请填写", trigger: ["blur", "change"]}],
unitName: [{required: true, message: "请填写", trigger: ["blur", "change"]}],
@@ -28,7 +28,7 @@ layout("/layouts/platform.html"){
<el-table-column prop="userName" label="投稿人姓名"></el-table-column>
<el-table-column prop="unitName" label="投稿人单位"></el-table-column>
<el-table-column prop="unionName" label="投稿人工会"></el-table-column>
<!-- <el-table-column prop="submitTime" label="投稿时间"></el-table-column>-->
<!-- <el-table-column prop="submitTime" label="投稿时间"></el-table-column>-->
<el-table-column prop="curTaskName" label="当前节点"></el-table-column>
<el-table-column prop="instanceState" label="流程状态">
<template slot-scope="{row}">
@@ -39,8 +39,10 @@ layout("/layouts/platform.html"){
<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">审核</el-button>
<el-button v-if="row.canRevoke" @click="onRevoke(row)" size="mini" type="danger">撤回</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>
@@ -79,7 +81,7 @@ layout("/layouts/platform.html"){
new Vue({
el: "#app",
store,
mixins: [initTableMixins],
mixins: [initTableMixins, flowMixins],
components: {
"suggestion-info": SUGGESTION_INFO
},
@@ -94,13 +96,13 @@ layout("/layouts/platform.html"){
},
methods: {
openView(row) {
this.$refs.guava.edit(()=>{
this.$refs.guava.edit(() => {
this.showApprovalForm = false
this.$refs.suggestionInfoRef.onOpen(row)
})
},
openAudit(row) {
this.$refs.guava.edit(()=>{
this.$refs.guava.edit(() => {
this.showApprovalForm = true
this.formData = {
processTaskId: row.taskId,