Forráskód Böngészése

代码提交:
0916合同管理-合同登记

sunruiqi 2 éve
szülő
commit
b6b9398f72

+ 7 - 0
src/api/sys/WorkContractService.js

@@ -29,4 +29,11 @@ export default class WorkContractService {
       params: {id: id}
     })
   }
+  updateStatusById (param) {
+    return request({
+      url: '/workContract/workContractInfo/updateStatusById',
+      method: 'post',
+      data: param
+    })
+  }
 }

+ 69 - 15
src/views/modules/flowable/task/TaskForm.vue

@@ -127,6 +127,9 @@
         } else {
           this.form = _import(`modules${this.formUrl}`)
         }
+        if (this.status === 'reback') {
+          this.reback()
+        }
       } else { // 读取动态表单
         this.$nextTick(() => {
           if (this.formUrl === '/404') {
@@ -237,30 +240,52 @@
         if (this.formType === '2' && this.status === 'startAndHold') { // 外置表单
           this.$refs.form.saveForm1().then(() => {
             this.$message.success('操作成功')
+            this.businessId = 'false'
             this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
             this.$router.push('../../../sys/workContract/WorkContractList')
+            this.$refs.form.close()
           })
         }
       },
       // 启动流程
       start (vars) {
         if (this.formType === '2') { // 外置表单
-          this.$refs.form.saveForm((businessTable, businessId, inputForm) => {
-            vars = {...vars, ...inputForm}
-            this.taskService.start({
-              procDefKey: this.procDefKey,
-              businessTable: businessTable,
-              businessId: businessId,
-              ...vars,
-              title: this.title,
-              assignee: this.auditForm.assignee
-            }).then(({data}) => {
-              this.$message.success('启动成功')
-              this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
-              this.$router.push('/flowable/task/TodoList')
-              this.cc(data)
+          if (this.status === 'startAndHold') {
+            this.$refs.form.saveForm((businessTable, businessId, inputForm) => {
+              vars = {...vars, ...inputForm}
+              this.taskService.start({
+                procDefKey: this.procDefKey,
+                businessTable: businessTable,
+                businessId: businessId,
+                ...vars,
+                title: this.title,
+                assignee: this.auditForm.assignee
+              }).then(({data}) => {
+                this.$message.success('启动成功')
+                this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
+                this.$router.push('../../../sys/workContract/WorkContractList')
+                this.cc(data)
+                this.$refs.form.close()
+              })
             })
-          })
+          } else {
+            this.$refs.form.saveForm((businessTable, businessId, inputForm) => {
+              vars = {...vars, ...inputForm}
+              this.taskService.start({
+                procDefKey: this.procDefKey,
+                businessTable: businessTable,
+                businessId: businessId,
+                ...vars,
+                title: this.title,
+                assignee: this.auditForm.assignee
+              }).then(({data}) => {
+                this.$message.success('启动成功')
+                this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
+                this.$router.push('/flowable/task/TodoList')
+                this.cc(data)
+              })
+            })
+          }
         } else { // 动态表单
           this.$refs.form.submitStartFormData({
             processDefinitionId: this.procDefId,
@@ -277,6 +302,9 @@
       // 同意
       agree (vars) {
         this.commit(vars) // 同意
+        if (this.formType === '2' && this.formUrl === '/sys/workContract/WorkContractForm') {
+          this.$refs.form.updateStatusById('agree')
+        }
       },
       // 驳回
       reject () {
@@ -293,6 +321,30 @@
             }
           })
         })
+        if (this.formType === '2' && this.formUrl === '/sys/workContract/WorkContractForm') {
+          this.$refs.form.updateStatusById('reject')
+        }
+      },
+      // 撤回
+      reback () {
+        this.$confirm(`确定撤回流程吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.taskService.backNodes(this.taskId).then(({data}) => {
+            let backNodes = data
+            this.businessId = 'false'
+            this.$refs.form.updateStatusById('reback')
+            this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
+            this.$router.push('../../../sys/workContract/WorkContractList')
+            if (backNodes.length > 0) {
+              let backTaskDefKey = backNodes[0].taskDefKey
+              this.back(backTaskDefKey)
+            }
+            this.$refs.form.close()
+          })
+        })
       },
       // 驳回到任意节点
       turnBack () {
@@ -367,8 +419,10 @@
       // 关闭
       close () {
         if (this.status === 'startAndHold') {
+          this.businessId = 'false'
           this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath})
           this.$router.push('../../../sys/workContract/WorkContractList')
+          this.$refs.form.close()
         }
       },
       // 自定义按钮提交

+ 44 - 105
src/views/modules/sys/workContract/WorkContractForm.vue

@@ -167,67 +167,18 @@
         </el-input>
       </el-form-item>
 
-      <el-divider content-position="left"><i class="el-icon-document"></i> 合同附件信息</el-divider>
-      <el-upload  ref="upload" style="display: inline-block; margin-left: 5em; :show-header='status' ;" action=""
-                 :limit="999" :http-request="httpRequest"
-                 multiple
-                 :on-exceed="(files, fileList) =>{
-                  $message.warning(`当前限制选择 999 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
-                 }"
-                 :on-remove="handleRemove"
-                 :show-file-list="false"
-                 :on-change="changes"
-                  :on-progress="uploadVideoProcess"
-                 :file-list="filesArra2">
-        <el-button type="info" size="mini">点击上传</el-button>
-        </el-upload>
-        <div style="height: calc(100% - 80px);margin-top: 10px">
-          <!-- 进度条 -->
-          <el-progress style="margin-left: 5em" v-if="progressFlag" :percentage="loadProgress"></el-progress>
-        <vxe-table
-          style="margin-left: 5em"
-          border="inner"
-          auto-resize
-          resizable
-          height="200px"
-          :loading="loading"
-          size="small"
-          ref="projectTable"
-          show-header-overflow
-          show-overflow
-          highlight-hover-row
-          :menu-config="{}"
-          :print-config="{}"
-          @sort-change="sortChangeHandle"
-          :sort-config="{remote:true}"
-          :data="dataListNew"
-          :checkbox-config="{}">
-          <vxe-column type="seq" width="40"></vxe-column>
-          <vxe-column title="文件名称" field="name">
-            <template slot-scope="scope">
-              <el-link  type="primary" :underline="false" @click="showFile(scope.row)">{{scope.row.name}}</el-link>
-            </template>
-          </vxe-column>
-          <vxe-column title="创建人" field="createBy"></vxe-column>
-          <vxe-column title="创建时间" field="createDate"></vxe-column>
-          <vxe-column title="操作" width="200px" fixed="right" align="center">
-            <template  slot-scope="scope">
-              <el-button type="text"  icon="el-icon-delete" size="small" @click="deleteMsgById(scope.row, scope.$rowIndex)">删除</el-button>
-              <el-button type="text"  icon="el-icon-edit" size="small" @click="toHref(scope.row)">下载</el-button>
-            </template>
-          </vxe-column>
-        </vxe-table>
-        </div>
       </el-form>
       <el-image-viewer
         v-if="showViewer"
         :on-close="closeViewer"
         :url-list="[url]"
         zIndex="9999"/>
+    <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
   </div>
 </template>
 
 <script>
+  import UpLoadComponent from '@/views/common/UpLoadComponent'
   import WorkContractService from '@/api/sys/WorkContractService'
   import WorkClientService from '@/api/sys/WorkClientService'
   import WorkClientSelect from '@/components/workClientInfoSelect'
@@ -270,6 +221,7 @@
           contractSpecial: '',
           remarks: '',
           clientName: '',
+          workAttachmentList: [],
           status: ''
         },
         inputForm: {
@@ -319,6 +271,7 @@
     },
     components: {
       ElImageViewer,
+      UpLoadComponent,
       WorkClientSelect
     },
     ossService: null,
@@ -336,8 +289,10 @@
       'businessId': {
         handler (newVal) {
           if (this.businessId) {
-            this.ossService = new OSSSerive()
-            this.init('edit', this.businessId)
+            if (this.businessId !== 'false') {
+              this.ossService = new OSSSerive()
+              this.init('edit', this.businessId)
+            }
           } else {
             this.$nextTick(() => {
               this.$refs.inputForm.resetFields()
@@ -372,13 +327,6 @@
       init (method, id) {
         this.dataList = []
         this.dataListNew = []
-        this.ossService.findFileList(id).then(({data}) => {
-          data.forEach((item) => {
-            item.name = item.attachmentName
-            this.dataList.push(item)
-            this.dataListNew.push(item)
-          })
-        })
         this.method = method
         this.inputForm = {
           clientId: '',
@@ -404,6 +352,7 @@
           rowurl: '',
           src: '',
           showVi: true,
+          workAttachmentList: [],
           status: ''
         }
         this.inputForm.id = id
@@ -419,69 +368,47 @@
         this.visible = true
         this.loading = false
         this.$nextTick(() => {
-          this.$refs.upload.clearFiles()
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.workContractService.findById(this.inputForm.id).then(({data}) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm.contractFees = []
+              this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentList, 'workContract')
+              this.loading = false
             })
           }
-          this.loading = false
         })
       },
       // 表单提交
       // 暂存
       async saveForm1 () {
-        this.$refs['inputForm'].validate(async (valid) => {
-          if (valid) {
-            this.loading = true
-            this.inputForm.workAttachmentList = []
-            this.dataListNew.forEach((item) => {
-              if (item.id === null || item.id === undefined || item.id === '') {
-                item.url = item.raw.url
-              }
-              item.attachmentFlag = 'workContract'
-              item.fileSize = item.size
-              item.attachmentName = item.name
-              this.inputForm.workAttachmentList.push(item)
-            })
-            this.inputForm.status = '1'
-            let _p = null
-            await this.workContractService.save(this.inputForm).then(({data}) => {
-              this.loading = false
-              _p = new Promise((resolve, reject) => {
-                resolve({
-                  'businessTable': data.businessTable,
-                  'businessId': data.businessId,
-                  'inputForm': this.inputForm
-                })
-                this.$refs.inputForm.resetFields()
-              })
-            }).catch(() => {
-              this.$refs.inputForm.resetFields()
-              this.loading = false
+        this.loading = true
+        this.inputForm.workAttachmentList = this.$refs.uploadComponent.getDataList()
+        this.inputForm.status = '1'
+        let _p = null
+        await this.workContractService.save(this.inputForm).then(({data}) => {
+          this.loading = false
+          _p = new Promise((resolve, reject) => {
+            resolve({
+              'businessTable': data.businessTable,
+              'businessId': data.businessId,
+              'inputForm': this.inputForm
             })
-            return _p
-          }
+            this.$refs.inputForm.resetFields()
+          })
+        }).catch(() => {
+          this.$refs.inputForm.resetFields()
+          this.loading = false
         })
+        return _p
       },
       // 送审
       saveForm (callback) {
         this.$refs['inputForm'].validate(async (valid) => {
           if (valid) {
             this.loading = true
-            this.inputForm.workAttachmentList = []
-            this.dataListNew.forEach((item) => {
-              if (item.id === null || item.id === undefined || item.id === '') {
-                item.url = item.raw.url
-              }
-              item.attachmentFlag = 'workContract'
-              item.fileSize = item.size
-              item.attachmentName = item.name
-              this.inputForm.workAttachmentList.push(item)
-            })
+            this.inputForm.workAttachmentList = this.$refs.uploadComponent.getDataList()
             this.inputForm.status = '2'
             await this.workContractService.save(this.inputForm).then(({data}) => {
               callback(data.businessTable, data.businessId, this.inputForm)
@@ -498,6 +425,7 @@
         this.$refs.inputForm.resetFields()
         this.visible = false
         this.showVi = true
+        this.$refs.uploadComponent.clearUpload()
       },
       httpRequest (file) {
         httpRequest(file, fileName(file), 'workContract')
@@ -601,9 +529,7 @@
       async rowClick (event) {
         let id = this.gridData[event.rowIndex].id
         this.inputForm.clientId = id
-        console.log('id', id)
         await this.workClientService.findById(id).then((data) => {
-          console.log('data', data)
           this.inputForm.clientName = data.data.workClientInfo.name
         })
         this.visable = false
@@ -611,7 +537,6 @@
       async getPopTable () {
         let name = this.inputForm.clientName
         await this.workClientService.list(name).then(({data}) => {
-          console.log('data', data)
           this.gridData = data.records
         })
         this.$refs.pops.updatePopper()
@@ -628,6 +553,20 @@
             this.inputForm.contractFee = fee.substring(1, fee.length)
           })
         }
+      },
+      updateStatusById (type) {
+        if (type === 'agree') {
+          this.inputForm.status = '5'
+          this.workContractService.updateStatusById(this.inputForm)
+        }
+        if (type === 'reject') {
+          this.inputForm.status = '4'
+          this.workContractService.updateStatusById(this.inputForm)
+        }
+        if (type === 'reback') {
+          this.inputForm.status = '3'
+          this.workContractService.updateStatusById(this.inputForm)
+        }
       }
     }
   }

+ 25 - 105
src/views/modules/sys/workContract/WorkContractForm2.vue

@@ -12,46 +12,26 @@
            label-width="150px">
 
           <el-row  :gutter="0">
-
-            <el-col :span="10">
-              <el-form-item label="客户名称" prop="clientName" :rules="[
-                    {required: true, message:'请输入客户名称', trigger:'blur'}
-                  ]">
-                <el-input v-model="inputForm.clientName" placeholder="请输入客户名称"></el-input>
-              </el-form-item>
-            </el-col>
-
-            <el-col :span="2">
-              <el-popover
-                v-model="visable"
-                placement="left"
-                width="400"
-                height="800"
-                trigger="click"
-                :popper-options="{ boundariesElement: 'viewport', removeOnDestroy: true }"
-                ref="pops">
-                <vxe-table
-                  border="inner"
-                  auto-resize
-                  resizable
-                  :row-config="{isHover: true}"
-                  :data="gridData"
-                  :checkbox-config="{}"
-                  :row-style="rowStyle"
-                  @cell-click="rowClick"
-                  :show-header="false"
+            <el-col :span="12">
+              <el-form-item label="客户名称" prop="clientId" :rules="[
+                {required: true, message:'请输入客户名称', trigger:'blur'},
+                {required: true, message:'请输入客户名称', trigger:'change'}
+              ]">
+                <work-client-select
+                  :size="'medium'"
+                  :value="inputForm.clientId"
+                  :disabled="method==='view'"
+                  @getValue='(clientId,clientName) => {inputForm.clientId=clientId;inputForm.clientName=clientName}'
                 >
-                  <vxe-column title="" field="entname" ></vxe-column>
-                </vxe-table>
-                <el-button type="info" slot="reference" @click="getPopTable" style="width: 100%" plain>查询</el-button>
-              </el-popover>
+                </work-client-select>
+              </el-form-item>
             </el-col>
 
             <el-col :span="12">
               <el-form-item label="合同名称" prop="name"
                             :rules="[
-                     {required: true, message:'请输入合同名称', trigger:'blur'}
-                   ]">
+                 {required: true, message:'请输入合同名称', trigger:'blur'}
+               ]">
                 <el-input v-model="inputForm.name" placeholder="请输入合同名称"></el-input>
               </el-form-item>
             </el-col>
@@ -193,74 +173,17 @@
             </el-input>
           </el-form-item>
 
-          <el-divider content-position="left"><i class="el-icon-document"></i> 合同附件信息</el-divider>
-          <el-upload  ref="upload" style="display: inline-block; margin-left: 5em; :show-header='status' ;" action=""
-                     :limit="999" :http-request="httpRequest"
-                     multiple
-                     :on-exceed="(files, fileList) =>{
-                      $message.warning(`当前限制选择 999 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`)
-                     }"
-                     :on-remove="handleRemove"
-                     :show-file-list="false"
-                     :on-change="changes"
-                      :on-progress="uploadVideoProcess"
-                     :file-list="filesArra2">
-            <el-button type="info" size="mini" v-if="inputForm.permissionFlag&&inputForm.showVi">点击上传</el-button>
-            </el-upload>
-            <div style="height: calc(100% - 80px);margin-top: 10px">
-              <!-- 进度条 -->
-              <el-progress style="margin-left: 5em" v-if="progressFlag" :percentage="loadProgress"></el-progress>
-            <vxe-table
-              style="margin-left: 5em"
-              border="inner"
-              auto-resize
-              resizable
-              height="200px"
-              :loading="loading"
-              size="small"
-              ref="projectTable"
-              show-header-overflow
-              show-overflow
-              highlight-hover-row
-              :menu-config="{}"
-              :print-config="{}"
-              @sort-change="sortChangeHandle"
-              :sort-config="{remote:true}"
-              :data="dataListNew"
-              :checkbox-config="{}">
-              <vxe-column type="seq" width="40"></vxe-column>
-              <vxe-column title="文件名称" field="name">
-                <template slot-scope="scope">
-                  <el-link  type="primary" :underline="false" @click="showFile(scope.row)">{{scope.row.name}}</el-link>
-                </template>
-              </vxe-column>
-              <vxe-column title="创建人" field="createBy"></vxe-column>
-              <vxe-column title="创建时间" field="createDate"></vxe-column>
-              <vxe-column title="操作" width="200px" fixed="right" align="center">
-                <template  slot-scope="scope">
-                  <el-button type="text"  icon="el-icon-delete" size="small" v-if="inputForm.permissionFlag&&inputForm.showVi" @click="deleteMsgById(scope.row, scope.$rowIndex)">删除</el-button>
-                  <el-button type="text"  icon="el-icon-edit" size="small" @click="toHref(scope.row)">下载</el-button>
-                </template>
-              </vxe-column>
-            </vxe-table>
-            </div>
           </el-form>
-        <el-image-viewer
-          v-if="showViewer"
-          :on-close="closeViewer"
-          :url-list="[url]"
-          zIndex="9999"/>
-        <span slot="footer" class="dialog-footer">
-          <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick :disabled="isSubmit">确定</el-button>
-          <el-button size="small" @click="close(),closeXTable()" icon="el-icon-circle-close">关闭</el-button>
-        </span>
+      <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
     </el-dialog>
   </div>
 </template>
 
 <script>
+  import UpLoadComponent from '@/views/common/UpLoadComponent'
   import WorkContractService from '@/api/sys/WorkContractService'
   import WorkClientService from '@/api/sys/WorkClientService'
+  import WorkClientSelect from '@/components/workClientInfoSelect'
   import OSSSerive, {
     httpRequest,
     toHref,
@@ -339,7 +262,9 @@
       }
     },
     components: {
-      ElImageViewer
+      ElImageViewer,
+      UpLoadComponent,
+      WorkClientSelect
     },
     ossService: null,
     workContractService: null,
@@ -376,13 +301,6 @@
       init (method, id) {
         this.dataList = []
         this.dataListNew = []
-        this.ossService.findFileList(id).then(({data}) => {
-          data.forEach((item) => {
-            item.name = item.attachmentName
-            this.dataList.push(item)
-            this.dataListNew.push(item)
-          })
-        })
         this.method = method
         this.inputForm = {
           clientId: '',
@@ -408,7 +326,8 @@
           rowurl: '',
           src: '',
           showVi: true,
-          type: ''
+          type: '',
+          workAttachmentList: []
         }
         this.inputForm.id = id
         if (method === 'add') {
@@ -423,13 +342,14 @@
         this.visible = true
         this.loading = false
         this.$nextTick(() => {
-          this.$refs.upload.clearFiles()
+          // this.$refs.upload.clearFiles()
           this.$refs.inputForm.resetFields()
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.workContractService.findById(this.inputForm.id).then(({data}) => {
               this.inputForm = this.recover(this.inputForm, data)
               this.inputForm.contractFees = []
+              this.$refs.uploadComponent.newUpload(method, this.inputForm.workAttachmentList, 'workContract')
             })
           }
           this.loading = false
@@ -437,7 +357,6 @@
       },
       // 表单提交
       doSubmit () {
-        console.log('1111')
         if (this.progressFlag === true) {
           this.$message.warning('文件正在上传中,请稍等')
           return
@@ -471,6 +390,7 @@
         this.$refs.inputForm.resetFields()
         this.visible = false
         this.inputForm.showVi = true
+        this.$refs.uploadComponent.clearUpload()
       },
       httpRequest (file) {
         httpRequest(file, fileName(file), 'workContract')

+ 33 - 6
src/views/modules/sys/workContract/WorkContractList.vue

@@ -96,7 +96,7 @@
                 <vxe-column type="seq" width="40"></vxe-column>
                 <vxe-column type="checkbox" width="40px"></vxe-column>
 
-                <vxe-column width="100px" title="合同编号" field="no"></vxe-column>
+                <vxe-column width="200px" title="合同编号" field="no"></vxe-column>
                 <vxe-column width="200px" title="合同名称" field="name">
                   <template slot-scope="scope">
                     <el-link  type="primary" :underline="false" v-if="hasPermission('sys:workContract:edit')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>
@@ -140,9 +140,9 @@
                 <vxe-column title="操作" width="200px" fixed="right" align="center">
                     <template  slot-scope="scope">
                       <el-button v-if="hasPermission('sys:workContract:view')" type="text" icon="el-icon-view" size="small" @click="view(scope.row.id)">查看</el-button>
-                      <el-button v-if="hasPermission('sys:workContract:edit') && scope.row.status === '1'" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row)">修改</el-button>
-                      <el-button v-if="hasPermission('sys:workContract:del') && scope.row.status === '1'" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
-                      <el-button v-if="hasPermission('sys:workContract:back') && scope.row.status === '2'" type="text"  icon="el-icon-back" size="small" @click="del(scope.row.id)">撤回</el-button>
+                      <el-button v-if="hasPermission('sys:workContract:edit') && scope.row.status !== '2' && scope.row.status !== '5'" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row)">修改</el-button>
+                      <el-button v-if="hasPermission('sys:workContract:del') && (scope.row.status === '1' || scope.row.status === '3')" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
+                      <el-button v-if="hasPermission('sys:workContract:back') && scope.row.status === '2'" type="text"  icon="el-icon-back" size="small" @click="reback(scope.row)">撤回</el-button>
                     </template>
                 </vxe-column>
             </vxe-table>
@@ -264,7 +264,7 @@
       },
       // 客户信息查看
       viewInfo (id) {
-        this.$refs.workClientForm2.init('view', id)
+        this.$refs.workClientForm.init('view', id)
       },
       // 删除
       del (id) {
@@ -303,7 +303,8 @@
                 title: tabTitle,
                 formType: data.data.formType,
                 formUrl: data.data.formUrl,
-                formTitle: processTitle
+                formTitle: processTitle,
+                businessId: 'false'
               }
             })
           })
@@ -331,6 +332,32 @@
               }
             })
           })
+      },
+      reback (row) {
+        // 读取流程表单
+        let tabTitle = `发起流程【合同登记新建】`
+        let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [合同登记新建]`
+        this.taskService.getTaskDef({ procDefId: 'Process_1662628133027:6:582ad0be-3329-11ed-bee1-b40ede887c28',
+          businessId: row.id,
+          businessTable: 'work_contract_info',
+          taskId: row.procInsId,
+          status: 'startAndHold'}).then((data) => {
+            this.$router.push({
+              path: '/flowable/task/TaskForm',
+              query: {
+                procDefId: 'Process_1662628133027:6:582ad0be-3329-11ed-bee1-b40ede887c28',
+                procDefKey: 'Process_1662628133027',
+                status: 'reback',
+                title: tabTitle,
+                formType: data.data.formType,
+                formUrl: data.data.formUrl,
+                formTitle: processTitle,
+                businessTable: 'work_contract_info',
+                businessId: row.id,
+                taskId: row.procInsId
+              }
+            })
+          })
       }
     }
   }