Sfoglia il codice sorgente

审批流程状态异常处理

huangguoce 5 mesi fa
parent
commit
30615156e3

+ 10 - 2
src/api/flowable/taskService.js

@@ -152,7 +152,15 @@ export default {
 		return request({
 			url: prefix + "/flowable/task/getTaskNameByProcInsId",
 			method: "get",
-			params: {procInsId: procInsId}
+			params: { procInsId: procInsId },
+		});
+	},
+
+	getTaskAuditUsersByprocInstId(procInsId) {
+		return request({
+			url: prefix + "/flowable/task/getTaskAuditUsersByprocInstId",
+			method: "get",
+			params: { procInsId: procInsId },
 		});
-	}
+	},
 };

File diff suppressed because it is too large
+ 1915 - 1997
src/views/cw/invoice/InvoiceFormTask.vue


File diff suppressed because it is too large
+ 1062 - 1051
src/views/cw/projectReportArchive/ProjectReportArchiveTaskForm.vue


File diff suppressed because it is too large
+ 2204 - 2053
src/views/cw/reimbursementApproval/info/ReimbursementForm.vue


File diff suppressed because it is too large
+ 1085 - 1108
src/views/cw/reportCancellApply/ReportCancellApplyTaskForm.vue


File diff suppressed because it is too large
+ 1211 - 1205
src/views/cw/reportManagement/ReportReviewTakeNumberForm.vue


File diff suppressed because it is too large
+ 824 - 863
src/views/cw/workContract/ContractFilePaperForm.vue


File diff suppressed because it is too large
+ 715 - 641
src/views/program/registered/ProjectThreeAuditForm.vue


+ 736 - 0
src/views/program/registered/ProjectThreeAuditFormBak.vue

@@ -0,0 +1,736 @@
+<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
+  <div>
+    <div>
+      <div v-if="inputForm.status === '5' && (tabName === '一级校审' || tabName === '二级校审' || tabName === '三级校审')">
+        <el-row type="flex" justify="end">
+          <el-button @click="downloadFirstAuditTpl">下载</el-button>
+        </el-row>
+      </div>
+      <el-divider content-position="left"
+        v-if="commonJS.isEmpty(tabName) && (inputForm.auditLevel === '1' || inputForm.auditLevel === '2' || inputForm.auditLevel === '3')">
+        <el-link @click="viewProjectInfo(inputForm.programId)" type="primary" style="font-weight: bold;"><i
+            class="el-icon-document"></i>
+          项目信息
+        </el-link>
+
+      </el-divider>
+      <el-divider content-position="left" v-else><i class="el-icon-document"></i> 项目校审</el-divider>
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading"
+        :class="method === 'view' ? 'readonly' : ''" label-width="125px" @submit.native.prevent>
+        <el-row :gutter="15">
+          <el-col :span="12">
+            <el-form-item label="项目名称" prop="programProjectListInfo.name">
+              <el-input size="large" :disabled="true" v-model="inputForm.programProjectListInfo.name"
+                placeholder="请输入项目名称" clearable></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="评估基准日" prop="programProjectListInfo.assessmentDate">
+              <el-date-picker :disabled="true" v-model="inputForm.programProjectListInfo.assessmentDate" type="date"
+                value-format="YYYY-MM-DD" placeholder="选择评估基准日" style="width:100%" placement="bottom-start" clearable>
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="12">
+            <el-form-item label="专业评估人员" prop="auditPeopleList"
+              :rules="[{ required: true, message: '专业评估人员不能为空', trigger: 'blur' }, { required: true, message: '专业评估人员不能为空', trigger: 'change' }]">
+              <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'"
+                :readonly="true" :limit="10" :modelValue="inputForm.auditPeopleList"
+                @update:modelValue='(value) => { inputForm.auditPeopleList = value }'></UserSelect>
+              <!--				  <el-input :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'" :readonly="true" @focus="openUserDia1"  v-model="inputForm.auditPeopleListName" placeholder="请选择专业评估人员">-->
+              <!--					  <template #suffix>-->
+              <!--						  <el-button :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'" :readonly="true" style="background-color: white;color: #1b1e25;border-color: white;" type="primary" slot="append" icon="el-icon-search" @click="openUserDia1">-->
+              <!--						  </el-button>-->
+              <!--					  </template>-->
+              <!--				  </el-input>-->
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="项目负责人" prop="programProjectListInfo.projectManager">
+              <!--                <SelectUserTree-->
+              <!--                  ref="companyTree"-->
+              <!--                  size="large"-->
+              <!--                  :props="{-->
+              <!--                  value: 'id',             // ID字段名-->
+              <!--                  label: 'name',         // 显示名称-->
+              <!--                  children: 'children'    // 子级字段名-->
+              <!--                }"-->
+              <!--                  :url="`/system-server/sys/user/treeUserDataAllOffice?type=2`"-->
+              <!--                  :value="inputForm.programProjectListInfo.projectManager"-->
+              <!--                  :disabled="true"-->
+              <!--                  :clearable="true"-->
+              <!--                  :accordion="true"-->
+              <!--                  @getValue="(value) => {inputForm.programProjectListInfo.projectManager=value}"/>-->
+              <el-input :disabled="true" @focus="openUserDia2"
+                v-model="inputForm.programProjectListInfo.projectManagerName" placeholder="请选择项目负责人">
+                <template #suffix>
+                  <el-button :disabled="true" style="background-color: white;color: #1b1e25;border-color: white;"
+                    type="primary" slot="append" icon="el-icon-search" @click="openUserDia2">
+                  </el-button>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="15">
+          <el-col :span="12">
+            <el-form-item label="选择项目审核人" prop="auditPeople"
+              :rules="[{ required: true, message: '审批人不能为空', trigger: 'blur' }, { required: true, message: '审批人不能为空', trigger: 'change' }]">
+              <!--                <UserSelect :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'"-->
+              <!--							:readonly="true" :limit="1"-->
+              <!--							:modelValue="inputForm.auditPeople"-->
+              <!--							@update:modelValue='(value) => {inputForm.auditPeople = value}'>-->
+              <!--				</UserSelect>-->
+              <el-input :readonly="true"
+                :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'" @focus="openUserDia3"
+                v-model="inputForm.auditPeopleName" placeholder="请选择项目审核人">
+                <template #suffix>
+                  <el-button :readonly="true"
+                    :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'"
+                    style="background-color: white;color: #1b1e25;border-color: white;" type="primary" slot="append"
+                    icon="el-icon-search" @click="openUserDia3">
+                  </el-button>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-divider content-position="left">
+          <i class="el-icon-document"></i> 审核意见及回复
+          <el-link v-if="commonJS.isEmpty(tabName) && (inputForm.auditLevel === '2' || inputForm.auditLevel === '3')"
+            @click="openAuditDetail(inputForm.programId, '1')" type="primary"
+            style="font-weight: bold;font-size: 15px;margin-left: 20px"><i class="el-icon-document"></i>
+            一级校审详情
+          </el-link>
+          <el-link v-if="commonJS.isEmpty(tabName) && inputForm.auditLevel === '3'"
+            @click="openAuditDetail(inputForm.programId, '2')" type="primary"
+            style="font-weight: bold;font-size: 15px;margin-left: 20px"><i class="el-icon-document"></i>
+            二级校审详情
+          </el-link>
+        </el-divider>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="明细表" prop="detailOpinion">
+              <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.detailOpinion" placeholder="请填写明细表"     ></el-input>-->
+              <WangEditor style="width: 100%" ref="contents1Editor" :modelValue="inputForm.detailOpinion"
+                @update:modelValue="(value) => { inputForm.detailOpinion = value }" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="评估报告" prop="reportOpinion">
+              <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.reportOpinion" placeholder="请填写评估报告"     ></el-input>-->
+              <WangEditor style="width: 100%" ref="contents2Editor" :modelValue="inputForm.reportOpinion"
+                @update:modelValue="(value) => { inputForm.reportOpinion = value }" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="技术说明" prop="remarksOpinion">
+              <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.remarksOpinion" placeholder="请填写技术说明"     ></el-input>-->
+              <WangEditor style="width: 100%" ref="contents3Editor" :modelValue="inputForm.remarksOpinion"
+                @update:modelValue="(value) => { inputForm.remarksOpinion = value }" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="工作底稿" prop="workOpinion">
+              <!--            <el-input type="textarea" style="width:100%" maxlength="1000" v-model="inputForm.workOpinion" placeholder="请填写工作底稿"     ></el-input>-->
+              <WangEditor style="width: 100%" ref="contents4Editor" :modelValue="inputForm.workOpinion"
+                @update:modelValue="(value) => { inputForm.workOpinion = value }" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading"
+              :class="method === 'view' ? 'readonly' : ''" label-width="125px" @submit.native.prevent>
+              <el-col :span="24">
+                <el-form-item label="执行人员保留意见" prop="retainOpinion" :rules="[
+                ]">
+                  <el-input type="textarea" :disabled="status === 'taskFormDetail' || method === 'view'" :rows="5"
+                    maxlength="500" v-model="inputForm.retainOpinion" placeholder="请填写执行人员保留意见"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24">
+                <el-form-item label="审核人员审核未修改意见" prop="changeOpinion" :rules="[
+                ]">
+                  <el-input type="textarea" :disabled="status === 'taskFormDetail' || method === 'view'" :rows="5"
+                    maxlength="500" v-model="inputForm.changeOpinion" placeholder="请填写审核人员审核未修改意见"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-form>
+          </el-col>
+        </el-row>
+
+
+      </el-form>
+      <!--        附件-->
+      <UpLoadComponent ref="uploadComponent"></UpLoadComponent>
+
+    </div>
+    <ProjectThreeAuditFormDialog ref="threeAuditDetail"></ProjectThreeAuditFormDialog>
+    <ProjectForm2 ref="projectFormView"></ProjectForm2>
+    <user-select1 ref="userSelect1" @doSubmit="selectUser1"></user-select1>
+    <user-select2 ref="userSelect2" @doSubmit="selectUser2"></user-select2>
+    <user-select3 ref="userSelect3" @doSubmit="selectUser3"></user-select3>
+
+  </div>
+</template>
+
+<script>
+import ProjectForm2 from './ProjectForm2'
+import UpLoadComponent from '@/views/common/UpLoadComponent'
+import UserSelect from '@/components/userSelect'
+import SelectUserTree from '@/views/utils/treeUserSelect'
+import ProgramProjectListInfoService from '@/api/program/ProgramProjectListInfoService'
+import WangEditor from '@/components/editor/WangEditorNoMenu'
+import ProjectThreeAuditFormDialog from './ProjectThreeAuditFormDialog'
+import UserSelect1 from '@/views/utils/UserTreeSelect'
+import UserSelect2 from '@/views/utils/UserTreeSelect'
+import UserSelect3 from '@/views/utils/UserTreeSelect'
+
+export default {
+  props: {
+    businessId: {
+      type: String,
+      default: ''
+    },
+    formReadOnly: {
+      type: Boolean,
+      default: false
+    },
+    status: {
+      type: String,
+      default: ''
+    }
+  },
+  data() {
+    return {
+      title: '',
+      method: '',
+      visible: false,
+      loading: false,
+      inputForm: {
+        id1: '',
+        id2: '',
+        id3: '',
+        id: '',
+        remarks: '',
+        programId: '',
+        auditLevel: '',
+        auditPeople: '',
+        auditPeopleName: '',
+        auditDate: '',
+        retainOpinion: '',
+        changeOpinion: '',
+        detailOpinion: '',
+        reportOpinion: '',
+        remarksOpinion: '',
+        workOpinion: '',
+        procInsId: '',
+        processDefinitionId: '',
+        status: '',
+        programProjectListInfo: {},
+        programAuditAssessPeopleDtoList: [],
+        workAttachmentDtoList: [],
+        auditPeopleList: '',
+        auditPeopleListName: ''
+      },
+      programId: '',
+      supervisorList: [],
+      keyWatch: '',
+      tabName: ''
+    }
+  },
+  programProjectListInfoService: null,
+  created() {
+    this.programProjectListInfoService = new ProgramProjectListInfoService()
+  },
+  computed: {
+    bus: {
+      get() {
+        this.$refs.uploadComponent.setDividerName('附件')
+        return this.businessId
+      },
+      set(val) {
+        this.businessId = val
+      }
+    }
+  },
+  watch: {
+    'keyWatch': {
+      handler(newVal) {
+        if (this.bus) {
+          if (this.bus !== 'false') {
+            this.init('', this.bus)
+          }
+        } else {
+          this.$nextTick(() => {
+            this.$refs.inputForm.resetFields()
+          })
+        }
+      }
+    },
+    'loading': {
+      handler(newVal) {
+        this.$emit('changeLoading', newVal)
+        this.$refs.uploadComponent.changeLoading(newVal)
+      }
+    }
+  },
+  components: {
+    ProjectForm2,
+    // ProjectForm2: () => import('./ProjectForm2.vue'),
+    UpLoadComponent,
+    UserSelect,
+    WangEditor,
+    SelectUserTree,
+    ProjectThreeAuditFormDialog,
+    UserSelect1,
+    UserSelect2,
+    UserSelect3
+  },
+  methods: {
+    getKeyWatch(keyWatch) {
+      this.keyWatch = keyWatch
+    },
+    init(method, id, tabName) {
+      this.tabName = tabName
+      this.method = method
+      this.inputForm = {
+        id1: '',
+        id2: '',
+        id3: '',
+        id: '',
+        remarks: '',
+        programId: '',
+        auditLevel: '',
+        auditPeople: '',
+        auditPeopleName: '',
+        auditDate: '',
+        retainOpinion: '',
+        changeOpinion: '',
+        detailOpinion: '',
+        reportOpinion: '',
+        remarksOpinion: '',
+        workOpinion: '',
+        procInsId: '',
+        processDefinitionId: '',
+        status: '',
+        programProjectListInfo: {
+          id: '',
+          name: '',
+          assessmentDate: '',
+          projectManager: '',
+          projectManagerName: ''
+        },
+        programAuditAssessPeopleDtoList: [],
+        workAttachmentDtoList: [],
+        auditPeopleList: '',
+        auditPeopleListName: '',
+      }
+      this.inputForm.id = id
+      this.visible = true
+      this.loading = false
+      this.$nextTick(() => {
+        this.$refs.inputForm.resetFields()
+        this.loading = true
+        if (method === 'view' || this.status === 'taskFormDetail') {
+          // 禁用富文本
+          this.$refs.contents1Editor.disable()
+          this.$refs.contents2Editor.disable()
+          this.$refs.contents3Editor.disable()
+          this.$refs.contents4Editor.disable()
+        }
+        this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+          this.inputForm = this.recover(this.inputForm, data)
+          this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+          console.log('this.inputForm.id', this.inputForm)
+          this.$refs.contents1Editor.clear()
+          this.$refs.contents2Editor.clear()
+          this.$refs.contents3Editor.clear()
+          this.$refs.contents4Editor.clear()
+          this.$refs.uploadComponent.clearUpload()
+          if (this.commonJS.isNotEmpty(this.inputForm.detailOpinion)) {
+            this.$refs.contents1Editor.init(this.inputForm.detailOpinion)
+          }
+          if (this.commonJS.isNotEmpty(this.inputForm.reportOpinion)) {
+            this.$refs.contents2Editor.init(this.inputForm.reportOpinion)
+          }
+          if (this.commonJS.isNotEmpty(this.inputForm.remarksOpinion)) {
+            this.$refs.contents3Editor.init(this.inputForm.remarksOpinion)
+          }
+          if (this.commonJS.isNotEmpty(this.inputForm.workOpinion)) {
+            this.$refs.contents4Editor.init(this.inputForm.workOpinion)
+          }
+
+          if (this.commonJS.isEmpty(this.inputForm.workAttachmentDtoList)) {
+            this.inputForm.workAttachmentDtoList = []
+          }
+          if (this.commonJS.isNotEmpty(this.inputForm.programAuditAssessPeopleDtoList)) {
+            let p = ''
+            this.inputForm.programAuditAssessPeopleDtoList.forEach((item, index) => {
+              if (this.inputForm.programAuditAssessPeopleDtoList.length === parseInt(parseInt(index) + parseInt(1))) {
+                p = p + item.assessPeople
+              } else {
+                p = p + item.assessPeople + ','
+              }
+            })
+            this.inputForm.auditPeopleList = p
+          } else {
+            this.inputForm.auditPeopleList = ''
+          }
+          if (this.status === 'taskFormDetail') {
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit')
+          } else if (this.status === 'audit') {
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, this.$store.state.user.name)
+          } else if (this.method === 'view') {
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit')
+          } else {
+            this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'program_audit', null, null, true, this.$store.state.user.name)
+          }
+          this.loading = false
+        })
+      })
+    },
+    reapplyForm(callback) {
+      this.loading = true
+      this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+        // if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
+        //   this.loading = false
+        //   this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+        //   throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+        // } else {
+        this.startFormTrue(callback)
+        // }
+      })
+    },
+    saveForm(callback) {
+      this.doSubmit('save', callback)
+    },
+    startForm(callback) {
+      this.loading = true
+      if (this.commonJS.isNotEmpty(this.inputForm.id)) {
+        this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+          if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
+            this.loading = false
+            this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+            throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+          } else {
+            this.startFormTrue(callback)
+          }
+        })
+      } else {
+        this.startFormTrue(callback)
+      }
+    },
+    startFormTrue(callback) {
+      this.doSubmit('start', callback)
+    },
+    async agreeForm(callback) {
+      this.loading = true
+      await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+        if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+          this.loading = false
+          this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+          throw new Error()
+        } else {
+          this.doSubmit('agree', callback)
+        }
+      })
+    },
+    // 表单提交
+    async doSubmit(status, callback) {
+      this.loading = true
+      if (await this.$refs.uploadComponent.checkProgress()) {
+        this.loading = false
+        throw new Error()
+      }
+      if (status === 'save') {
+        // 暂存
+        this.loading = true
+        this.inputForm.status = '1'
+        this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+        if (this.commonJS.isNotEmpty(this.inputForm.auditPeopleList)) {
+          this.inputForm.programAuditAssessPeopleDtoList = []
+          this.inputForm.auditPeopleList.split(',').forEach(item => {
+            let i = { assessPeople: item, auditId: this.inputForm.id }
+            this.inputForm.programAuditAssessPeopleDtoList.push(i)
+          })
+        } else {
+          this.inputForm.programAuditAssessPeopleDtoList = []
+        }
+        this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
+          this.inputForm.assignee = this.inputForm.auditPeople
+          callback(data.businessTable, data.businessId, this.inputForm)
+          this.loading = false
+        }).catch(() => {
+          this.loading = false
+        })
+        return
+      } else if (status === 'start') {
+        // 送审  待审核
+        this.inputForm.status = '2'
+      } else if (status === 'agree') {
+        // 审核同意
+        this.inputForm.status = '5'
+        this.inputForm.auditDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
+      }
+      this.$refs['inputForm'].validate((valid) => {
+        if (valid) {
+          this.loading = true
+          if (this.commonJS.isNotEmpty(this.inputForm.auditPeopleList)) {
+            this.inputForm.programAuditAssessPeopleDtoList = []
+            this.inputForm.auditPeopleList.split(',').forEach(item => {
+              let i = { assessPeople: item, auditId: this.inputForm.id }
+              this.inputForm.programAuditAssessPeopleDtoList.push(i)
+            })
+          } else {
+            this.inputForm.programAuditAssessPeopleDtoList = []
+          }
+          this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+          this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
+            this.inputForm.assignee = this.inputForm.auditPeople
+            this.inputForm.id = data.businessId
+            callback(data.businessTable, data.businessId, this.inputForm)
+            this.loading = false
+          }).catch(() => {
+            this.loading = false
+          })
+        } else {
+          this.loading = false
+        }
+      })
+    },
+    async updateStatusById(type, callback) {
+      this.loading = true
+      if (await this.$refs.uploadComponent.checkProgress()) {
+        this.loading = false
+        throw new Error()
+      } else {
+        if (type === 'reject' || type === 'reback') {
+          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+            // if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+            //   this.loading = false
+            //   this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+            //   throw new Error()
+            // } else {
+            // if (type === 'agree') {
+            //   // 同意
+            //   this.inputForm.status = '5'
+            // }
+            if (type === 'reject') {
+              // 驳回
+              this.inputForm.status = '4'
+              this.loading = true
+              this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+              if (this.commonJS.isNotEmpty(this.inputForm.auditPeopleList)) {
+                this.inputForm.programAuditAssessPeopleDtoList = []
+                this.inputForm.auditPeopleList.split(',').forEach(item => {
+                  let i = { assessPeople: item, auditId: this.inputForm.id }
+                  this.inputForm.programAuditAssessPeopleDtoList.push(i)
+                })
+              } else {
+                this.inputForm.programAuditAssessPeopleDtoList = []
+              }
+              this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
+                this.loading = false
+              }).catch(() => {
+                this.loading = false
+              })
+              // return
+            }
+            if (type === 'reback') {
+              // 撤回
+              this.inputForm.status = '3'
+            }
+            if (type === 'reject' || type === 'reback') {
+              let param = { status: this.inputForm.status, id: this.inputForm.id }
+              this.loading = true
+              this.programProjectListInfoService.updateStatusByAuditId(param).then(() => {
+                this.loading = false
+                callback()
+              })
+            }
+            // }
+          })
+        } else if (type === 'hold') {
+          this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+            if (data.status !== '4') { // status的值不等于“驳回”就弹出提示
+              this.loading = false
+              this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+              throw new Error()
+            } else {
+              // 终止
+              let param = { status: '1', id: this.inputForm.id }
+              this.programProjectListInfoService.updateStatusByAuditId(param).then(() => {
+                this.loading = false
+                callback()
+              })
+            }
+          })
+        }
+      }
+    },
+    // async updateStatusById (type) {
+    //   if (await this.$refs.uploadComponent.checkProgress()) {
+    //     this.loading = false
+    //     throw new Error()
+    //   }
+    //   await this.programProjectListInfoService.findByIdAudit(this.inputForm.id).then((data) => {
+    //     if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
+    //       this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+    //       throw new Error()
+    //     } else {
+    //       // if (type === 'agree') {
+    //       //   // 同意
+    //       //   this.inputForm.status = '5'
+    //       // }
+    //       if (type === 'reject') {
+    //         // 驳回
+    //         this.inputForm.status = '4'
+    //         this.loading = true
+    //         this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
+    //         if (this.commonJS.isNotEmpty(this.inputForm.auditPeopleList)) {
+    //           this.inputForm.programAuditAssessPeopleDtoList = []
+    //           this.inputForm.auditPeopleList.split(',').forEach(item => {
+    //             let i = {assessPeople: item, auditId: this.inputForm.id}
+    //             this.inputForm.programAuditAssessPeopleDtoList.push(i)
+    //           })
+    //         } else {
+    //           this.inputForm.programAuditAssessPeopleDtoList = []
+    //         }
+    //         this.programProjectListInfoService.saveFormThree(this.inputForm).then((data) => {
+    //           this.loading = false
+    //         }).catch(() => {
+    //           this.loading = false
+    //         })
+    //         return
+    //       }
+    //       if (type === 'reback') {
+    //         // 撤回
+    //         this.inputForm.status = '3'
+    //       }
+    //       if (type === 'reback') {
+    //         let param = {status: this.inputForm.status, id: this.inputForm.id}
+    //         this.programProjectListInfoService.updateStatusByAuditId(param)
+    //       }
+    //     }
+    //   })
+    // },
+    close() {
+      this.$refs.uploadComponent.clearUpload()
+      this.inputForm = {
+        id1: '',
+        id2: '',
+        id3: '',
+        id: '',
+        remarks: '',
+        programId: '',
+        auditLevel: '',
+        auditPeople: '',
+        auditDate: '',
+        retainOpinion: '',
+        changeOpinion: '',
+        detailOpinion: '',
+        reportOpinion: '',
+        remarksOpinion: '',
+        workOpinion: '',
+        procInsId: '',
+        processDefinitionId: '',
+        status: '',
+        programProjectListInfo: {},
+        programAuditAssessPeopleDtoList: [],
+        workAttachmentDtoList: []
+      }
+      this.$refs.inputForm.resetFields()
+      this.visible = false
+    },
+    // 下载一级校审
+    downloadFirstAuditTpl() {
+      // this.$utils.downloadExcel('/sys/project/import/template')
+      this.loading = true
+      if (this.tabName === '一级校审') {
+        this.programProjectListInfoService.downloadFirstAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadWord(res, this.tabName)
+          this.loading = false
+        }).catch(function (err) {
+          this.loading = false
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
+      }
+      if (this.tabName === '二级校审') {
+        this.programProjectListInfoService.downloadSecondAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadWord(res, this.tabName)
+          this.loading = false
+        }).catch(function (err) {
+          this.loading = false
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
+      }
+      if (this.tabName === '三级校审') {
+        this.programProjectListInfoService.downloadThirdlyAuditTpl(this.inputForm.programProjectListInfo.id, this.inputForm.id).then((res) => {
+          // 将二进制流文件写入excel表,以下为重要步骤
+          this.$utils.downloadWord(res, this.tabName)
+          this.loading = false
+        }).catch(function (err) {
+          this.loading = false
+          if (err.response) {
+            console.log(err.response)
+          }
+        })
+      }
+    },
+    // 根据项目id以及校审级别查询校审详情
+    // 打开校审明细页面
+    openAuditDetail(programId, auditLevel) {
+      this.$refs.threeAuditDetail.init(programId, auditLevel)
+    },
+    // 查看
+    viewProjectInfo(projectId) {
+      this.$refs.projectFormView.init('view', projectId, this.inputForm.id1, this.inputForm.id2, this.inputForm.id3, 'archiveId')
+    },
+    openUserDia1() {
+      this.$refs.userSelect1.init()
+    },
+    selectUser1(user) {
+      console.log(user[0].name)
+      this.inputForm.auditPeopleListName = user[0].name
+      this.inputForm.auditPeopleList = user[0].id
+    },
+    openUserDia2() {
+      this.$refs.userSelect2.init()
+    },
+    selectUser2(user) {
+      console.log(user[0].name)
+      this.inputForm.programProjectListInfo.projectManagerName = user[0].name
+      this.inputForm.programProjectListInfo.projectManager = user[0].id
+    },
+    openUserDia3() {
+      this.$refs.userSelect3.init()
+    },
+    selectUser3(user) {
+      console.log(user[0].name)
+      this.inputForm.auditPeopleName = user[0].name
+      this.inputForm.auditPeople = user[0].id
+    },
+  }
+}
+</script>
+<style scoped>
+/deep/ .w-e-text-container {
+  z-index: 1 !important;
+}
+
+/deep/ .wtext {
+  height: 200px
+}
+
+/deep/ .el-divider__text {
+  font-size: 16px;
+  font-weight: bold;
+}
+</style>