Ver código fonte

报告归档流程调整

lizhenhao 2 anos atrás
pai
commit
1fad6e1327

+ 59 - 9
src/views/modules/cw/projectRecords/ProjectRecordsForm.vue

@@ -224,7 +224,7 @@
                   <el-form-item label="项目实际责任人" prop="realHeader"
                                 :rules="[
                    ]">
-                    <UserSelect size="medium" :readonly="true" :disabled="formReadOnly" :limit='1' :value="inputForm.realHeader" @getValue='(value) => {inputForm.realHeader = value}'></UserSelect>
+                    <UserSelect size="medium" :readonly="true" :disabled="method === 'view'" :limit='1' :value="inputForm.realHeader" @getValue='(value) => {inputForm.realHeader = value}'></UserSelect>
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
@@ -247,12 +247,12 @@
               <el-tab-pane label="被服务单位" name="client">
                 <span slot="label"><span style="color: red;border-top: 20px">*</span> 被服务单位</span>
                 <el-row :gutter="15">
-                  <el-button type="primary" style="margin-bottom: 15px" size="mini" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="openWorkClient">
+                  <el-button type="primary" style="margin-bottom: 15px" size="mini" :disabled="method === 'view'" @click="openWorkClient">
                     新增被服务单位
                   </el-button>
                 </el-row>
                 <el-row  :gutter="15">
-                  <el-form :disabled="status === 'audit' || status === 'taskFormDetail'">
+                  <el-form :disabled="method === 'view'">
                     <vxe-table
                       border
                       show-overflow
@@ -281,12 +281,12 @@
               <el-tab-pane label="客户联系人" name="contact">
                 <span slot="label"><span style="color: red;border-top: 20px">*</span> 客户联系人</span>
                 <el-row :gutter="15">
-                  <el-button type="primary" style="margin-bottom: 15px" size="mini" :disabled="status === 'audit' || status === 'taskFormDetail'" @click="insertEvent('contact')">
+                  <el-button type="primary" style="margin-bottom: 15px" size="mini" :disabled="method === 'view'" @click="insertEvent('contact')">
                     新增客户联系人
                   </el-button>
                 </el-row>
                 <el-row  :gutter="15">
-                  <el-form :disabled="status === 'audit' || status === 'taskFormDetail'">
+                  <el-form :disabled="method === 'view'">
                     <vxe-table
                       border
                       show-overflow
@@ -310,7 +310,7 @@
                       </vxe-table-column>
                       <vxe-table-column align="center" field="sex" title="性别" :edit-render="{name: '$select', options: $dictUtils.getDictList('sex')}">
                         <template v-slot:edit="scope">
-                          <vxe-select :disabled="status === 'audit' || status === 'taskFormDetail'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
+                          <vxe-select :disabled="method === 'view'" v-model="scope.row.sex" placeholder="性别" clearable style="width: 100%;" transfer>
                             <vxe-option
                               v-for="item in $dictUtils.getDictList('sex')"
                               :key="item.value"
@@ -364,6 +364,35 @@
                   </el-form>
                 </el-row>
               </el-tab-pane>
+              <el-tab-pane label="项目组成员" name="members">
+                <el-row  :gutter="15">
+                  <vxe-table
+                    border
+                    show-overflow
+                    show-footer
+                    :column-config="{resizable: true}"
+                    ref="memberTable"
+                    :key="tableKeyMembers"
+                    class="vxe-table-element"
+                    :data="inputForm.cwProjectMembersDTOList"
+                    style=""
+                    @cell-click=""
+                    @edit-closed=""
+                    highlight-current-row
+                  >
+                    <vxe-table-column min-width="120" align="center" field="name" title="姓名"></vxe-table-column>
+                    <vxe-table-column min-width="120" align="center" field="officeName" title="部门"></vxe-table-column>
+                    <vxe-table-column min-width="120" align="center" field="roleName" title="角色"></vxe-table-column>
+                    <vxe-table-column min-width="120" align="center" field="mobile" title="手机号"></vxe-table-column>
+                    <vxe-table-column min-width="120" align="center" field="status" title="状态">
+                      <template slot-scope="scope">
+                        <span v-if="scope.row.status === '0'" style="color: #67C23A">正常</span>
+                        <span v-else>移除</span>
+                      </template>
+                    </vxe-table-column>
+                  </vxe-table>
+                </el-row>
+              </el-tab-pane>
               <el-tab-pane label="附件" name="files">
                 <!--        附件-->
                 <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
@@ -508,6 +537,7 @@
   import WorkClientService from '@/api/cw/workClientInfo/WorkClientService'
   import ContractInfoService from '@/api/cw/workContract/ContractInfoService'
   import CwFinanceInvoiceService from '@/api/cw/invoice/CwFinanceInvoiceService'
+  import UserService from '@/api/sys/UserService'
   export default {
     name: 'ProjectRecordsForm',
     props: {
@@ -564,13 +594,15 @@
           realHeader: '',
           clientContactsName: '',
           reportType: '',
-          cwProjectClientContactDTOList: []
+          cwProjectClientContactDTOList: [],
+          cwProjectMembersDTOList: []
         },
         keyWatch: '',
         activeName: 'client',
         activeNameTop: 'project',
         tableKey: '',
         tableKeyClient: '1',
+        tableKeyMembers: '3',
         visible: false,
         invoiceList: [],
         invoiceForm: {
@@ -608,6 +640,7 @@
     contractInfoService: null,
     cwFinanceInvoiceService: null,
     projectReportService: null,
+    userService: null,
     created () {
       this.enterpriseSearchService = new EnterpriseSearchService()
       this.projectRecordsService = new ProjectRecordsService()
@@ -615,6 +648,7 @@
       this.contractInfoService = new ContractInfoService()
       this.cwFinanceInvoiceService = new CwFinanceInvoiceService()
       this.projectReportService = new ProjectReportService()
+      this.userService = new UserService()
     },
     computed: {
       bus: {
@@ -671,6 +705,7 @@
         this.activeName = 'client'
         this.activeNameTop = 'project'
         this.projectRecordsService = new ProjectRecordsService()
+        this.userService = new UserService()
         this.inputForm = {
           id: '',
           createDate: '',
@@ -705,7 +740,8 @@
           planDate: [],
           realHeader: '',
           clientContactsName: '',
-          cwProjectClientContactDTOList: []
+          cwProjectClientContactDTOList: [],
+          cwProjectMembersDTOList: []
         }
         this.inputForm.id = id
         this.loading = false
@@ -731,6 +767,19 @@
             if (this.commonJS.isEmpty(this.inputForm.officeId)) {
               this.inputForm.officeId = JSON.parse(localStorage.getItem('user')).officeDTO.id
             }
+            if (this.commonJS.isEmpty(this.inputForm.cwProjectMembersDTOList)) {
+              this.inputForm.cwProjectMembersDTOList = []
+            } else {
+              this.inputForm.cwProjectMembersDTOList.forEach((member, index) => {
+                this.userService.queryDetailById(member.userId).then(({data}) => {
+                  member.name = this.commonJS.isEmpty(data.name) ? '' : data.name
+                  member.mobile = this.commonJS.isEmpty(data.mobile) ? '' : data.mobile
+                  member.officeName = this.commonJS.isEmpty(data.officeDTO) ? '' : this.commonJS.isEmpty(data.officeDTO.name) ? '' : data.officeDTO.name
+                  member.roleName = this.commonJS.isEmpty(data.roleList) ? '' : data.roleList.map(role => { return this.commonJS.isEmpty(role.name) ? '' : role.name }).join(',')
+                  this.tableKeyMembers = Math.random()
+                })
+              })
+            }
             // if (this.formReadOnly) {
             //   this.method = 'view'
             // }
@@ -927,7 +976,8 @@
           planDate: [],
           realHeader: '',
           clientContactsName: '',
-          cwProjectClientContactDTOList: []
+          cwProjectClientContactDTOList: [],
+          cwProjectMembersDTOList: []
         }
         this.$refs.uploadComponent.clearUpload()
         this.$refs.inputForm.resetFields()

+ 14 - 18
src/views/modules/cw/projectReportArchive/ProjectReportArchiveForm.vue

@@ -13,16 +13,16 @@
       <el-col :span="24">
 
         <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method === 'view'"
-                     label-width="135px" @submit.native.prevent>
+                     label-width="110px" @submit.native.prevent>
               <el-row  :gutter="15">
-                <el-col :span="12">
-                  <el-form-item label="档案名称" prop="name"
-                                :rules="[
-                                {required: true, message:'档案名称不能为空', trigger:'blur'}
-                   ]">
-                    <el-input v-model="inputForm.name" placeholder="请填写档案名称" clearable></el-input>
-                  </el-form-item>
-                </el-col>
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="档案名称" prop="name"-->
+<!--                                :rules="[-->
+<!--                                {required: true, message:'档案名称不能为空', trigger:'blur'}-->
+<!--                   ]">-->
+<!--                    <el-input v-model="inputForm.name" placeholder="请填写档案名称" clearable></el-input>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
                 <el-col :span="12">
                   <el-form-item label="档案号" prop="fileNumber"
                                 :rules="[
@@ -33,11 +33,9 @@
                 <el-col :span="12">
                   <el-form-item label="项目名称" prop="cwProjectRecordsDTO.projectName"
                                 :rules="[
-                                {required: true, message:'项目名称不能为空', trigger:'blur'},
-                                {required: true, message:'项目名称不能为空', trigger:'change'}
                    ]">
-                    <el-input :readonly="true" v-model="inputForm.cwProjectRecordsDTO.projectName" placeholder="请填写项目名称" clearable>
-                      <el-button slot="append" :disabled="method === 'view'" @click="openChooseProject" icon="el-icon-search"></el-button>
+                    <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.projectName" placeholder="请填写项目名称" clearable>
+<!--                      <el-button slot="append" :disabled="method === 'view'" @click="openChooseProject" icon="el-icon-search"></el-button>-->
                     </el-input>
                   </el-form-item>
                 </el-col>
@@ -189,11 +187,9 @@
             <el-col :span="12">
               <el-form-item label="报告文号" prop="reportNo"
                             :rules="[
-                                {required: true, message:'报告文号不能为空', trigger:'blur'},
-                                {required: true, message:'报告文号不能为空', trigger:'change'}
                    ]">
-                <el-input :readonly="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
-                  <el-button slot="append" :disabled="formReadOnly" @click="openReportChoose" icon="el-icon-search"></el-button>
+                <el-input :disabled="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
+<!--                  <el-button slot="append" :disabled="formReadOnly" @click="openReportChoose" icon="el-icon-search"></el-button>-->
                 </el-input>
               </el-form-item>
             </el-col>
@@ -226,7 +222,7 @@
               </el-form-item>
             </el-col>
             <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status !== 'audit'"
-                     label-width="135px" @submit.native.prevent>
+                     label-width="110px" @submit.native.prevent>
               <el-col :span="24">
                 <el-form-item label="审计意见" prop="reportRemarks"
                               :rules="[

+ 22 - 22
src/views/modules/cw/projectReportArchive/ProjectReportArchiveList.vue

@@ -2,9 +2,9 @@
   <div class="page">
     <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
-      <el-form-item label="档案名称" prop="name">
-        <el-input size="small" v-model="searchForm.name" placeholder="请输入档案名称" clearable></el-input>
-      </el-form-item>
+<!--      <el-form-item label="档案名称" prop="name">-->
+<!--        <el-input size="small" v-model="searchForm.name" placeholder="请输入档案名称" clearable></el-input>-->
+<!--      </el-form-item>-->
       <el-form-item label="档案号" prop="fileNumber">
         <el-input size="small" v-model="searchForm.fileNumber" placeholder="请输入档案号" clearable></el-input>
       </el-form-item>
@@ -43,16 +43,7 @@
           clearable>
         </el-date-picker>
       </el-form-item>
-      <el-form-item label="状态" prop="status">
-        <el-select size="small" v-model="searchForm.status" placeholder="请选择" style="width:100%;"clearable>
-          <el-option
-            v-for="item in $dictUtils.getDictList('cw_status')"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
-          </el-option>
-        </el-select>
-      </el-form-item>
+
       <el-form-item label="创建人" prop="createBy.name">
 <!--        <el-input size="small" v-model="searchForm.createBy.name" placeholder="请输入创建人" clearable></el-input>-->
         <UserSelect :limit='1' :userName="searchForm.createBy.name" @getValue='(value, label) => {searchForm.createBy.name = label}'></UserSelect>
@@ -73,6 +64,16 @@
       <el-form-item label="报告文号" prop="reportNo">
         <el-input size="small" v-model="searchForm.reportNo" placeholder="请输入报告文号" clearable></el-input>
       </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select size="small" v-model="searchForm.status" placeholder="请选择" style="width:100%;"clearable>
+          <el-option
+            v-for="item in $dictUtils.getDictList('cw_status')"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
+          </el-option>
+        </el-select>
+      </el-form-item>
 
       <el-form-item>
         <el-button type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
@@ -82,7 +83,7 @@
     <div class="bg-white top" style="">
       <vxe-toolbar :refresh="{query: refreshList}" export custom>
         <template #buttons>
-          <el-button v-if="hasPermission('cwProjectReportArchive:add')" type="primary" size="small" icon="el-icon-plus" @click="start()">新建</el-button>
+<!--          <el-button v-if="hasPermission('cwProjectReportArchive:add')" type="primary" size="small" icon="el-icon-plus" @click="start()">新建</el-button>-->
         </template>
       </vxe-toolbar>
       <div style="height: calc(100% - 90px)">
@@ -113,13 +114,12 @@
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
           <vxe-column type="checkbox" width="40" ></vxe-column>
-          <vxe-column min-width="230" align="center" title="档案名称" field="name">
+          <vxe-column min-width="150" align="center" title="档案号" field="fileNumber">
             <template slot-scope="scope">
-              <el-link  type="primary" :underline="false" v-if="hasPermission('cwProjectReportArchive:view')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>
-              <span v-else>{{scope.row.name}}</span>
+              <el-link  type="primary" :underline="false" v-if="hasPermission('cwProjectReportArchive:view')" @click="view(scope.row.id)">{{scope.row.fileNumber}}</el-link>
+              <span v-else>{{scope.row.fileNumber}}</span>
             </template>
           </vxe-column>
-          <vxe-column min-width="150" align="center" title="档案号" field="fileNumber"></vxe-column>
           <vxe-column min-width="230" align="center" title="项目名称" field="cwProjectRecordsDTO.projectName">
             <template slot-scope="scope">
               <el-link  type="primary" :underline="false" v-if="hasPermission('cwProjectRecords:view')" @click="viewProject(scope.row.projectId)">{{commonJS.isNotEmpty(scope.row.cwProjectRecordsDTO)?scope.row.cwProjectRecordsDTO.projectName:''}}</el-link>
@@ -146,11 +146,11 @@
           </vxe-column>
           <vxe-column title="操作" width="150px" fixed="right" align="center">
             <template  slot-scope="scope">
-              <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='4')" type="text"  size="small" @click="push(scope.row)">修改</el-button>
-              <el-button v-else-if="hasPermission('cwProjectReportArchive:edit')&&isAdmin&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='4'||scope.row.status==='5')" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status==='0'||scope.row.status==='1'||scope.row.status==='3')" type="text"  size="small" @click="push(scope.row)">归档</el-button>
+              <el-button v-else-if="hasPermission('cwProjectReportArchive:edit')&&isAdmin&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='5')" type="text"  size="small" @click="edit(scope.row.id)">修改归档信息</el-button>
               <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&scope.row.createBy.id === $store.state.user.id&&scope.row.status==='2'" type="text"  size="small" @click="reback(scope.row)">撤回</el-button>
-              <el-button v-if="hasPermission('cwProjectReportArchive:del')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='4')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
-              <el-button v-else-if="hasPermission('cwProjectReportArchive:del')&&isAdmin&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='5'||scope.row.status==='4')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
+<!--              <el-button v-if="hasPermission('cwProjectReportArchive:del')&&scope.row.createBy.id === $store.state.user.id&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='4')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>-->
+<!--              <el-button v-else-if="hasPermission('cwProjectReportArchive:del')&&isAdmin&&(scope.row.status==='1'||scope.row.status==='3'||scope.row.status==='5'||scope.row.status==='4')" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>-->
             </template>
           </vxe-column>
         </vxe-table>

+ 88 - 63
src/views/modules/cw/projectReportArchive/ProjectReportArchiveTaskForm.vue

@@ -4,16 +4,16 @@
       <el-col :span="24">
 
         <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
-                     label-width="135px" @submit.native.prevent>
+                     label-width="110px" @submit.native.prevent>
               <el-row  :gutter="15">
-                <el-col :span="12">
-                  <el-form-item label="档案名称" prop="name"
-                                :rules="[
-                                {required: true, message:'档案名称不能为空', trigger:'blur'}
-                   ]">
-                    <el-input v-model="inputForm.name" placeholder="请填写档案名称" clearable></el-input>
-                  </el-form-item>
-                </el-col>
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="档案名称" prop="name"-->
+<!--                                :rules="[-->
+<!--                                {required: true, message:'档案名称不能为空', trigger:'blur'}-->
+<!--                   ]">-->
+<!--                    <el-input v-model="inputForm.name" placeholder="请填写档案名称" clearable></el-input>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
                 <el-col :span="12">
                   <el-form-item label="档案号" prop="fileNumber"
                                 :rules="[
@@ -24,11 +24,9 @@
                 <el-col :span="12">
                   <el-form-item label="项目名称" prop="cwProjectRecordsDTO.projectName"
                                 :rules="[
-                                {required: true, message:'项目名称不能为空', trigger:'blur'},
-                                {required: true, message:'项目名称不能为空', trigger:'change'}
                    ]">
-                    <el-input :readonly="true" v-model="inputForm.cwProjectRecordsDTO.projectName" placeholder="请填写项目名称" clearable>
-                      <el-button slot="append" :disabled="formReadOnly" @click="openChooseProject" icon="el-icon-search"></el-button>
+                    <el-input :disabled="true" v-model="inputForm.cwProjectRecordsDTO.projectName" placeholder="请填写项目名称" clearable>
+<!--                      <el-button slot="append" :disabled="formReadOnly" @click="openChooseProject" icon="el-icon-search"></el-button>-->
                     </el-input>
                   </el-form-item>
                 </el-col>
@@ -127,7 +125,7 @@
                   </el-form-item>
                 </el-col>
                 <el-form v-if="status === 'audit'" size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
-                         label-width="135px" @submit.native.prevent>
+                         label-width="110px" @submit.native.prevent>
                 <el-col  :span="12">
                   <el-form-item label="案卷号" prop="number"
                                 :rules="[
@@ -180,11 +178,9 @@
               <el-col :span="12">
                 <el-form-item label="报告文号" prop="reportNo"
                               :rules="[
-                                {required: true, message:'报告文号不能为空', trigger:'blur'},
-                                {required: true, message:'报告文号不能为空', trigger:'change'}
                    ]">
-                  <el-input :readonly="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
-                    <el-button slot="append" :disabled="formReadOnly" @click="openReportChoose" icon="el-icon-search"></el-button>
+                  <el-input :disabled="true" v-model="inputForm.reportNo" placeholder="请填写报告文号" clearable>
+<!--                    <el-button slot="append" :disabled="formReadOnly" @click="openReportChoose" icon="el-icon-search"></el-button>-->
                   </el-input>
                 </el-form-item>
               </el-col>
@@ -217,7 +213,7 @@
                 </el-form-item>
               </el-col>
               <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="status !== 'audit'"
-                       label-width="135px" @submit.native.prevent>
+                       label-width="110px" @submit.native.prevent>
               <el-col :span="24">
                 <el-form-item label="审计意见" prop="reportRemarks"
                               :rules="[
@@ -476,6 +472,16 @@
           }
         })
       },
+      reapplyForm (callback) {
+        this.projectReportArchiveService.queryById(this.inputForm.id).then(({data}) => {
+          if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
+            this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+            throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+          } else {
+            this.doSubmit('reapply', callback)
+          }
+        })
+      },
       // 表单提交
       doSubmit (status, callback) {
         if (status === 'save') {
@@ -501,6 +507,8 @@
         } else if (status === 'start') {
           // 送审  待审核
           this.inputForm.status = '2'
+        } else if (status === 'reapply') {
+          this.inputForm.status = '2'
         }
         this.$refs['inputForm'].validate((valid) => {
           if (valid) {
@@ -553,58 +561,75 @@
           }
         })
       },
-      async updateStatusById (type) {
-        if (type === 'reject' || type === 'reback') {
-          if (await this.$refs.uploadComponent.checkProgress()) {
-            this.loading = false
-            throw new Error()
-          }
-          await this.projectReportArchiveService.queryById(this.inputForm.id).then(({data}) => {
-            if (data.status !== '2') { // status的值不等于“审核中”就弹出提示
-              this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-              throw new Error()
-            } else {
-              if (type === 'reject') {
-                if (this.inputForm.isNumber !== this.inputForm.number) {
-                  this.$message.error('“案卷号”与“确认案卷号”不一致,请重新填写')
-                  this.loading = false
-                  throw new Error('“案卷号”与“确认案卷号”不一致,请重新填写')
-                } else {
-                  // 驳回
-                  let _this = this
-                  const wait = function () {
-                    return new Promise(function (resolve, reject) {
-                      _this.inputForm.status = '4'
-                      _this.loading = true
-                      if (_this.$refs.uploadComponent.checkProgress()) {
-                        _this.loading = false
-                        reject(new Error())
-                      }
-                      _this.$refs.uploadComponent.getDataList().then((list) => {
-                        // list为返回数据
-                        _this.inputForm.workAttachmentDtoList = list
+      async updateStatusById (type, callback) {
+        if (this.$refs.uploadComponent.checkProgress()) {
+          this.loading = false
+          throw new Error()
+        } else {
+          if (type === 'reject' || type === 'reback') {
+            await this.projectReportArchiveService.queryById(this.inputForm.id).then(({data}) => {
+              if (data.status !== '2') { // status的值不等于“审核中”就弹出提示
+                this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+                throw new Error()
+              } else {
+                if (type === 'reject') {
+                  if (this.inputForm.isNumber !== this.inputForm.number) {
+                    this.$message.error('“案卷号”与“确认案卷号”不一致,请重新填写')
+                    this.loading = false
+                    throw new Error('“案卷号”与“确认案卷号”不一致,请重新填写')
+                  } else {
+                    // 驳回
+                    let _this = this
+                    const wait = function () {
+                      return new Promise(function (resolve, reject) {
+                        _this.inputForm.status = '4'
+                        _this.loading = true
+                        if (_this.$refs.uploadComponent.checkProgress()) {
+                          _this.loading = false
+                          reject(new Error())
+                        }
+                        _this.$refs.uploadComponent.getDataList().then((list) => {
+                          // list为返回数据
+                          _this.inputForm.workAttachmentDtoList = list
+                        })
+                        resolve()
+                      })
+                    }
+                    wait().then(() => {
+                      this.projectReportArchiveService.saveForm(this.inputForm).then(({data}) => {
+                        callback()
+                        this.loading = false
+                      }).catch(() => {
+                        this.loading = false
                       })
-                      resolve()
-                    })
-                  }
-                  wait().then(() => {
-                    this.projectReportArchiveService.saveForm(this.inputForm).then(({data}) => {
-                      this.loading = false
                     }).catch(() => {
                       this.loading = false
                     })
-                  }).catch(() => {
-                    this.loading = false
+                  }
+                }
+                if (type === 'reback') {
+                  // 撤回
+                  let param = {status: '3', id: this.inputForm.id}
+                  this.projectReportArchiveService.updateStatusById(param).then(() => {
+                    callback()
                   })
                 }
               }
-              if (type === 'reback') {
-                // 撤回
-                let param = {status: '3', id: this.inputForm.id}
-                this.projectReportArchiveService.updateStatusById(param)
+            })
+          } else if (type === 'hold') {
+            this.projectReportArchiveService.queryById(this.inputForm.id).then(({data}) => {
+              if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
+                this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+                throw new Error()
+              } else {
+                // 终止
+                let param = {status: '1', id: this.inputForm.id}
+                this.projectReportArchiveService.updateStatusById(param).then(() => {
+                  callback()
+                })
               }
-            }
-          })
+            })
+          }
         }
       },
       close () {

+ 2 - 1
src/views/modules/flowable/task/TaskForm.vue

@@ -459,7 +459,8 @@
           this.procDefId.includes('Process_1668394732246') ||
           this.procDefId.includes('Process_1668503117077') ||
           this.procDefId.includes('Process_1669014216650') ||
-          this.procDefId.includes('Process_1669087010742')
+          this.procDefId.includes('Process_1669087010742') ||
+          this.procDefId.includes('Process_1668677901585')
         ) {
           console.log('进入新版驳回')
           this.$confirm(`确定驳回流程吗?`, '提示', {