Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

sangwenwei 1 vuosi sitten
vanhempi
commit
b97b4c353c

+ 61 - 0
src/api/cw/projectRecords/ProjectReportBorrowService.js

@@ -0,0 +1,61 @@
+import request from "@/utils/httpRequest";
+import { FINANCE_PATH as prefix } from "../../AppPath";
+
+export default class ProjectReportBorrowService {
+  save (param) {
+    return request({
+      url: prefix + '/project/report/borrow/save',
+      method: 'post',
+      data: param
+    })
+  }
+  updateStatusById (param) {
+    return request({
+      url: prefix + '/project/report/borrow/updateStatusById',
+      method: 'post',
+      data: param
+    })
+  }
+  updateStatusByContractInfoId (param) {
+    return request({
+      url: prefix + '/project/report/borrow/updateStatusByContractInfoId',
+      method: 'post',
+      data: param
+    })
+  }
+  findById (id) {
+    return request({
+      url: prefix + '/project/report/borrow/findById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  findByContractInfoId (id) {
+    return request({
+      url: prefix + '/project/report/borrow/findByContractInfoId',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  updateMessageStatusById (param) {
+    return request({
+      url: prefix + '/project/report/borrow/updateMessageStatusById',
+      method: 'post',
+      data: param
+    })
+  }
+  deleteById (id) {
+    return request({
+      url: prefix + '/project/report/borrow/deleteById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  findMessageList (id) {
+    return request({
+      url: prefix + '/project/report/borrow/findMessageList',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+}

+ 8 - 0
src/api/sys/userService.js

@@ -52,6 +52,14 @@ export default {
 		});
 		});
 	},
 	},
 
 
+	getCount: function (id) {
+		return request({
+			url: prefix + "/sys/user/getCount",
+			method: "get",
+			params: { id: id },
+		});
+	},
+
 	getMenus: function () {
 	getMenus: function () {
 		return request({
 		return request({
 			url: prefix + "/sys/user/getMenus",
 			url: prefix + "/sys/user/getMenus",

+ 1 - 1
src/components/userSelectButton/UserSelectDialog.vue

@@ -324,7 +324,7 @@
         }
         }
         this.loading = true
         this.loading = true
         this.$http({
         this.$http({
-          url: '/system-server/sys/user/list',
+          url: '/system-server/sys/user/memberList',
           method: 'get',
           method: 'get',
           params: {
           params: {
             'current': this.pageNo,
             'current': this.pageNo,

+ 1 - 1
src/views/common/UpLoadComponentV2.1.vue

@@ -491,7 +491,7 @@
           this.dataListNew.push(item)
           this.dataListNew.push(item)
         })
         })
         for (let item of fileList) {
         for (let item of fileList) {
-          item.createDate = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
+          item.createTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
           item.createBy = {
           item.createBy = {
             id: '',
             id: '',
             name: ''
             name: ''

+ 7 - 1
src/views/common/UpLoadComponentV3.1.vue

@@ -1,6 +1,6 @@
 <!--文件上传组件-->
 <!--文件上传组件-->
 <template>
 <template>
-  <div>
+  <div :key="uploadKey">
     <el-divider v-if="showDivider" content-position="left"><i class="el-icon-document"></i> {{dividerName}}</el-divider>
     <el-divider v-if="showDivider" content-position="left"><i class="el-icon-document"></i> {{dividerName}}</el-divider>
     <el-upload ref="upload" style="display: inline-block; :show-header='status'" action=""
     <el-upload ref="upload" style="display: inline-block; :show-header='status'" action=""
                :limit="999" :http-request="httpRequest"
                :limit="999" :http-request="httpRequest"
@@ -110,6 +110,7 @@
   export default {
   export default {
     data () {
     data () {
       return {
       return {
+		  uploadKey: '',
         progressFlag: false,
         progressFlag: false,
         loadProgress: 0,
         loadProgress: 0,
         fileList: [],
         fileList: [],
@@ -408,6 +409,7 @@
           }
           }
         }
         }
         this.tableKey = Math.random()
         this.tableKey = Math.random()
+		  this.uploadKey = Math.random()
       },
       },
       showFile (row) {
       showFile (row) {
         openWindowOnUrl(row)
         openWindowOnUrl(row)
@@ -428,6 +430,7 @@
 		  await this.dataListNew.splice(index, 1)
 		  await this.dataListNew.splice(index, 1)
 		  await this.dataList.splice(index, 1)
 		  await this.dataList.splice(index, 1)
 		  this.tableKey = Math.random()
 		  this.tableKey = Math.random()
+		  this.uploadKey = Math.random()
       },
       },
       /**
       /**
        * 关闭dialog时使用  清除el-upload中上传的文件
        * 关闭dialog时使用  清除el-upload中上传的文件
@@ -456,6 +459,7 @@
               }
               }
             })
             })
             _this.tableKey = Math.random()
             _this.tableKey = Math.random()
+			  _this.uploadKey = Math.random()
             resolve(_this.dataListNew)
             resolve(_this.dataListNew)
           })
           })
         }
         }
@@ -525,6 +529,7 @@
           this.dataListNew[rowIndex].remarks = this.remarks
           this.dataListNew[rowIndex].remarks = this.remarks
         }
         }
         this.tableKey = Math.random()
         this.tableKey = Math.random()
+		  this.uploadKey = Math.random()
       },
       },
       updateFileType (fileType) {
       updateFileType (fileType) {
         this.fileType = fileType
         this.fileType = fileType
@@ -564,6 +569,7 @@
               this.dataListNew[row.index].btnType = 'save'
               this.dataListNew[row.index].btnType = 'save'
             })
             })
             this.tableKey = Math.random()
             this.tableKey = Math.random()
+			  this.uploadKey = Math.random()
           }
           }
         }
         }
       },
       },

+ 8 - 20
src/views/cw/invoice/InvoiceFormTask.vue

@@ -315,7 +315,6 @@
 					  value-format="YYYY-MM-DD"
 					  value-format="YYYY-MM-DD"
 					  placeholder="选择开票时间"
 					  placeholder="选择开票时间"
 					  style="width:100%"
 					  style="width:100%"
-					  :disabled="status !== 'audit'"
 					  placement="bottom-start"
 					  placement="bottom-start"
 					  clearable>
 					  clearable>
 				  </el-date-picker>
 				  </el-date-picker>
@@ -331,7 +330,6 @@
 					  value-format="YYYY-MM-DD"
 					  value-format="YYYY-MM-DD"
 					  placeholder="选择开票时间"
 					  placeholder="选择开票时间"
 					  style="width:100%"
 					  style="width:100%"
-					  :disabled="status !== 'audit'"
 					  placement="bottom-start"
 					  placement="bottom-start"
 					  clearable>
 					  clearable>
 				  </el-date-picker>
 				  </el-date-picker>
@@ -347,7 +345,6 @@
 					  value-format="YYYY-MM-DD"
 					  value-format="YYYY-MM-DD"
 					  placeholder="选择领票时间"
 					  placeholder="选择领票时间"
 					  style="width:100%"
 					  style="width:100%"
-					  :disabled="status !== 'audit'"
 					  placement="bottom-start"
 					  placement="bottom-start"
 					  clearable>
 					  clearable>
 				  </el-date-picker>
 				  </el-date-picker>
@@ -904,11 +901,14 @@
             if (this.status === 'audit' || this.status === 'taskFormDetail') {
             if (this.status === 'audit' || this.status === 'taskFormDetail') {
               method = 'view'
               method = 'view'
             }
             }
-            if (this.status === 'audit') {
-              if (this.commonJS.isEmpty(this.inputForm.billingDate)) {
-                this.inputForm.billingDate = this.moment(new Date()).format('YYYY-MM-DD')
-              }
-            }
+            // if (this.status === 'audit') {
+            //   if (this.commonJS.isEmpty(this.inputForm.billingDate)) {
+            //     this.inputForm.billingDate = this.moment(new Date()).format('YYYY-MM-DD')
+            //   }
+            // }
+			  if (this.commonJS.isEmpty(this.inputForm.billingDate)) {
+				  this.inputForm.billingDate = this.moment(new Date()).format('YYYY-MM-DD')
+			  }
             if (!this.commonJS.isEmpty(this.status) && this.status === 'audit' && (this.commonJS.isEmpty(this.inputForm.financeInvoiceDetailDTOList) || this.inputForm.financeInvoiceDetailDTOList.length === 0)) {
             if (!this.commonJS.isEmpty(this.status) && this.status === 'audit' && (this.commonJS.isEmpty(this.inputForm.financeInvoiceDetailDTOList) || this.inputForm.financeInvoiceDetailDTOList.length === 0)) {
               this.inputForm.financeInvoiceDetailDTOList = []
               this.inputForm.financeInvoiceDetailDTOList = []
 			  let i = this.inputForm.financeInvoiceBaseDTOList.length
 			  let i = this.inputForm.financeInvoiceBaseDTOList.length
@@ -963,18 +963,6 @@
           }
           }
         })
         })
       },
       },
-      reapplyForm (callback) {
-        this.loading = true
-        financeInvoiceService.queryById(this.inputForm.id).then((data) => {
-          if (data.status !== '4') { // 审核状态不是“驳回”,就弹出提示
-            this.loading = false
-            this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-            throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-          } else {
-            this.doSubmit('reapply', callback)
-          }
-        })
-      },
       // 表单提交
       // 表单提交
       async doSubmit (status, callback) {
       async doSubmit (status, callback) {
 		  console.log('this.inputForm.financeInvoiceDetailDTOList', this.inputForm.financeInvoiceDetailDTOList)
 		  console.log('this.inputForm.financeInvoiceDetailDTOList', this.inputForm.financeInvoiceDetailDTOList)

+ 11 - 2
src/views/cw/projectRecords/ProjectRecordsList.vue

@@ -16,6 +16,10 @@
         <!--        <el-input v-model="searchForm.projectMasterName" placeholder="请输入项目经理" clearable></el-input>-->
         <!--        <el-input v-model="searchForm.projectMasterName" placeholder="请输入项目经理" clearable></el-input>-->
         <UserSelect :limit='1' :modelValue="searchForm.realHeaderName" @update:modelValue='(value, label) => {searchForm.realHeaderName = value}'></UserSelect>
         <UserSelect :limit='1' :modelValue="searchForm.realHeaderName" @update:modelValue='(value, label) => {searchForm.realHeaderName = value}'></UserSelect>
       </el-form-item>
       </el-form-item>
+		<el-form-item v-if="showHideItem" label="创建人" prop="createBy.name">
+			<!--        <el-input  v-model="searchForm.createBy.name" placeholder="请输入创建人" clearable></el-input>-->
+			<UserSelect2 :limit='1' :modelValue="searchForm.createBy.name" @update:modelValue='(value, label) => {searchForm.createBy.name = value}'></UserSelect2>
+		</el-form-item>
       <el-form-item v-if="showHideItem" label="创建时间" prop="createDates">
       <el-form-item v-if="showHideItem" label="创建时间" prop="createDates">
         <el-date-picker
         <el-date-picker
           placement="bottom-start"
           placement="bottom-start"
@@ -128,6 +132,7 @@
 </template>
 </template>
 
 
 <script>
 <script>
+	import UserSelect2 from '@/components/userSelect'
   import projectRecordsService from '@/api/cw/projectRecords/ProjectRecordsService'
   import projectRecordsService from '@/api/cw/projectRecords/ProjectRecordsService'
   import taskService from '@/api/flowable/TaskService'
   import taskService from '@/api/flowable/TaskService'
   import processService from '@/api/flowable/ProcessService'
   import processService from '@/api/flowable/ProcessService'
@@ -150,7 +155,10 @@
           projectName: '',
           projectName: '',
           createDates: [],
           createDates: [],
           status: '',
           status: '',
-          realHeaderName: ''
+          realHeaderName: '',
+			createBy: {
+				name: ''
+			}
         },
         },
         dataList: [],
         dataList: [],
         tablePage: {
         tablePage: {
@@ -173,7 +181,8 @@
       ProjectRecordsForm,
       ProjectRecordsForm,
       UserSelect,
       UserSelect,
       ContractNameForm,
       ContractNameForm,
-      ProjectRecordsAddForm
+      ProjectRecordsAddForm,
+	  UserSelect2
     },
     },
     computed: {
     computed: {
       userName () {
       userName () {

+ 4 - 2
src/views/cw/projectReportArchive/ProjectReportArchiveForm.vue

@@ -520,7 +520,7 @@
         })
         })
       },
       },
       // 表单提交
       // 表单提交
-      doSubmit (status, callback) {
+		async doSubmit (status, callback) {
         if (status === 'save') {
         if (status === 'save') {
           // 暂存
           // 暂存
           // this.inputForm.status = '1'
           // this.inputForm.status = '1'
@@ -529,10 +529,12 @@
             this.loading = false
             this.loading = false
             return
             return
           }
           }
-          this.$refs.uploadComponent.getDataList().then((list) => {
+			await this.$refs.uploadComponent.getDataList().then((list) => {
+          	console.log('list', list)
             // list为返回数据
             // list为返回数据
             this.inputForm.workAttachmentDtoList = list
             this.inputForm.workAttachmentDtoList = list
           })
           })
+			console.log('this.inputForm.workAttachmentDtoList', this.inputForm.workAttachmentDtoList)
           // this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
           // this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
           this.projectReportArchiveService.saveForm(this.inputForm).then((data) => {
           this.projectReportArchiveService.saveForm(this.inputForm).then((data) => {
             // callback(data.businessTable, data.businessId, this.inputForm)
             // callback(data.businessTable, data.businessId, this.inputForm)

+ 93 - 3
src/views/cw/projectReportArchive/ProjectReportArchiveList.vue

@@ -188,6 +188,11 @@
               </el-button>
               </el-button>
             </template>
             </template>
           </vxe-column>
           </vxe-column>
+			<vxe-column min-width="100px"  title="借用状态" fixed="right" align="center" field="borrowType" >
+				<template #default="scope">
+					<el-button  @click="detailBorrow(scope.row)" :type="$dictUtils.getDictLabel('borrow_type_status', scope.row.borrowType, '-')" effect="dark" >{{$dictUtils.getDictLabel("borrow_type", scope.row.borrowType, '未借用')}} </el-button>
+				</template>
+			</vxe-column>
           <vxe-column title="操作" width="100px" fixed="right" align="center">
           <vxe-column title="操作" width="100px" fixed="right" align="center">
             <template  #default="scope">
             <template  #default="scope">
               <div v-if="isAdmin">
               <div v-if="isAdmin">
@@ -196,8 +201,12 @@
               <div v-else>
               <div v-else>
               <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&(scope.row.createBy.id === $store.state.user.id||haveProjectIds.includes(scope.row.projectId))&&(scope.row.status==='0'||scope.row.status==='1'||scope.row.status==='3')" text type="primary" @click="push(scope.row)">归档</el-button>
               <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&(scope.row.createBy.id === $store.state.user.id||haveProjectIds.includes(scope.row.projectId))&&(scope.row.status==='0'||scope.row.status==='1'||scope.row.status==='3')" text type="primary" @click="push(scope.row)">归档</el-button>
               <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&(scope.row.createBy.id === $store.state.user.id||haveProjectIds.includes(scope.row.projectId))&&scope.row.status==='2'" text type="primary" @click="reback(scope.row)">撤回</el-button>
               <el-button v-if="hasPermission('cwProjectReportArchive:edit')&&(scope.row.createBy.id === $store.state.user.id||haveProjectIds.includes(scope.row.projectId))&&scope.row.status==='2'" text type="primary" @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')" text type="primary" @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')" text type="primary" @click="del(scope.row.id)">删除</el-button>-->
+				  <!--报告借用-->
+				  <el-button v-if="hasPermission('cwProjectReportArchive:edit') && scope.row.status === '5' && (scope.row.borrowType === undefined || scope.row.borrowType === '0' || scope.row.borrowType === '1')" text type="primary" @click="borrow(scope.row)">借用</el-button>
+				  <!--借用撤回-->
+				  <el-button v-if="hasPermission('cwProjectReportArchive:edit') && scope.row.status === '5' && scope.row.borrowType === '2' && (scope.row.borrowUserId === $store.state.user.id)" text type="primary" @click="rebackBorrow(scope.row)">撤回借用申请</el-button>
+				  <!--借用归还-->
+				  <el-button v-if="hasPermission('cwProjectReportArchive:edit') && scope.row.status === '5' && scope.row.borrowType === '5'" text type="primary" @click="retureBorrow(scope.row)">归还报告</el-button>
 <!--              审核-->
 <!--              审核-->
               <el-button v-if="scope.row.status==='2' && checkIsAudit(scope.row)" text type="primary"  @click="examine(scope.row)">审核</el-button>
               <el-button v-if="scope.row.status==='2' && checkIsAudit(scope.row)" text type="primary"  @click="examine(scope.row)">审核</el-button>
 <!--              被驳回后当前申请人重新调整-->
 <!--              被驳回后当前申请人重新调整-->
@@ -218,12 +227,15 @@
       </div>
       </div>
       <ProjectRecordsForm ref="projectRecordsForm"></ProjectRecordsForm>
       <ProjectRecordsForm ref="projectRecordsForm"></ProjectRecordsForm>
       <ProjectReportArchiveForm ref="projectReportArchiveForm" @refreshList="refreshList"></ProjectReportArchiveForm>
       <ProjectReportArchiveForm ref="projectReportArchiveForm" @refreshList="refreshList"></ProjectReportArchiveForm>
+		<ProjectReportBorrowMessageForm ref="projectReportBorrowMessageForm" @refreshDataList="refreshList"></ProjectReportBorrowMessageForm>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+	import ProjectReportBorrowMessageForm from './ProjectReportBorrowMessageForm'
   import ProjectReportArchiveService from '@/api/cw/projectRecords/ProjectReportArchiveService'
   import ProjectReportArchiveService from '@/api/cw/projectRecords/ProjectReportArchiveService'
+	import ProjectReportBorrowService from '@/api/cw/projectRecords/ProjectReportBorrowService'
   import taskService from '@/api/flowable/TaskService'
   import taskService from '@/api/flowable/TaskService'
   import processService from '@/api/flowable/ProcessService'
   import processService from '@/api/flowable/ProcessService'
   import pick from 'lodash.pick'
   import pick from 'lodash.pick'
@@ -312,14 +324,17 @@
       }
       }
     },
     },
     projectReportArchiveService: null,
     projectReportArchiveService: null,
+	  projectReportBorrowService: null,
     created () {
     created () {
       this.projectReportArchiveService = new ProjectReportArchiveService()
       this.projectReportArchiveService = new ProjectReportArchiveService()
+      this.projectReportBorrowService = new ProjectReportBorrowService()
     },
     },
     components: {
     components: {
       ProjectRecordsForm,
       ProjectRecordsForm,
       ProjectReportArchiveForm,
       ProjectReportArchiveForm,
       UserSelect,
       UserSelect,
-	  UserSelect2
+	  UserSelect2,
+		ProjectReportBorrowMessageForm
     },
     },
     computed: {
     computed: {
       userName () {
       userName () {
@@ -432,6 +447,10 @@
         }
         }
         this.refreshList()
         this.refreshList()
       },
       },
+		// 借用详情
+		detailBorrow (row) {
+			this.$refs.projectReportBorrowMessageForm.findList(row.id)
+		},
       // 删除
       // 删除
       del (id) {
       del (id) {
         let ids = id || this.$refs.projectTable.getCheckboxRecords().map(item => {
         let ids = id || this.$refs.projectTable.getCheckboxRecords().map(item => {
@@ -567,6 +586,77 @@
           })
           })
         })
         })
       },
       },
+		// 借用
+		borrow (row) {
+			processService.getByName('会计-报告借用').then((data) => {
+				if (!this.commonJS.isEmpty(data.id)) {
+					// console.log('data', data)
+					// 读取流程表单
+					let tabTitle = ' ' + row.reportNo + ' - ' + row.cwProjectRecordsDTO.projectName
+					let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 ` + tabTitle + '[会计-报告借用]'
+					taskService.getTaskDef({ procDefId: data.id,
+						businessId: row.id,
+						businessTable: 'cw_project_report_borrow',
+						status: 'startAndCloseBorrow'}).then((reture) => {
+						this.$router.push({
+							path: '/flowable/task/TaskForm',
+							query: {
+								procDefId: data.id,
+								procDefKey: data.key,
+								status: 'startAndCloseBorrow',
+								title: tabTitle,
+								formType: reture.formType,
+								formUrl: reture.formUrl,
+								formTitle: processTitle,
+								businessTable: 'cw_project_report_borrow',
+								businessId: row.id,
+								isShow: false,
+								routePath: '/cw/projectReportArchive/ProjectReportArchiveList'
+							}
+						})
+					})
+				}
+			})
+		},
+		// 借用撤回
+		rebackBorrow (row) {
+			this.$confirm(`确定要撤回该申请吗?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(async () => {
+				await this.projectReportBorrowService.findById(row.id).then((data) => {
+					if (data.borrowType !== '2') { // status的值不等于“审核中”,就弹出提示
+						this.$message.error('数据已发生改变或不存在,请刷新数据')
+						this.refreshList()
+					} else {
+						processService.revokeProcIns(row.procInsId2).then((data) => {
+							let form = {borrowType: '0', id: row.id}
+							this.projectReportBorrowService.updateStatusByContractInfoId(form)
+							this.$message.success(data)
+							this.refreshList()
+						})
+					}
+				})
+			})
+		},
+		// 归还合同
+		retureBorrow (row) {
+			this.$confirm(`确定归还合同吗?`, '提示', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning'
+			}).then(() => {
+				row.borrowType = '0'
+				this.projectReportBorrowService.updateStatusByContractInfoId(row).then(()=>{
+					row.type = 'reture'
+					row.createTime = '';
+					row.borrowType = '5'
+					this.projectReportBorrowService.updateMessageStatusById(row)
+				})
+				this.refreshList()
+			})
+		},
       // 自定义服务端导出
       // 自定义服务端导出
       exportMethod ({ options }) {
       exportMethod ({ options }) {
         // 传给服务端的参数
         // 传给服务端的参数

+ 267 - 0
src/views/cw/projectReportArchive/ProjectReportBorrowForm.vue

@@ -0,0 +1,267 @@
+<template>
+<div>
+  <el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
+           label-width="150px">
+    <el-row  :gutter="0">
+      <el-col :span="12">
+        <el-form-item label="项目名称" prop="projectName">
+          <el-input :disabled="true" v-model="inputForm.projectName"></el-input>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item label="报告文号" prop="reportNo">
+          <el-input :disabled="true" v-model="inputForm.reportNo"></el-input>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item label="借用人" prop="borrowName">
+          <el-input :disabled="true" v-model="inputForm.borrowName"></el-input>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item label="借用日期" prop="borrowData" :rules="[
+                  {required: true, message:'请填写借用日期', trigger:'blur'}
+               ]">
+          <el-date-picker
+            style="width: 100%"
+            :disabled="this.inputForm.borrowType === '2'"
+            v-model="inputForm.borrowData"
+            value-format="YYYY-MM-DD"
+            placeholder="选择日期">
+          </el-date-picker>
+        </el-form-item>
+      </el-col>
+
+      <el-col :span="12">
+        <el-form-item label="大概归还日期" prop="borrowRetData" :rules="[
+                  {required: true, message:'请填写大概归还日期', trigger: 'blur'}
+               ]">
+          <el-date-picker
+            style="width: 100%"
+            :disabled="this.inputForm.borrowType === '2'"
+            v-model="inputForm.borrowRetData"
+            value-format="YYYY-MM-DD"
+            placeholder="选择日期"
+          >
+          </el-date-picker>
+        </el-form-item>
+      </el-col>
+
+    </el-row>
+
+    <el-form-item label="备注" prop="remarks">
+      <el-input v-model="inputForm.remarks"
+                :disabled="this.inputForm.borrowType === '2'"
+                type="textarea"
+                :rows="5"
+                maxlength="500"
+                placeholder="请输入备注"
+                show-word-limit>
+      </el-input>
+    </el-form-item>
+
+  </el-form>
+	<el-tabs v-model="activeName" type="border-card" @tab-click="tabHandleClick">
+		<el-tab-pane label="附件" name="files">
+			<!--        附件-->
+			<UpLoadComponent ref="uploadComponent"></UpLoadComponent>
+		</el-tab-pane>
+
+	</el-tabs>
+</div>
+</template>
+
+<script>
+	import UpLoadComponent from '@/views/common/UpLoadComponentV3.1'
+	import ProjectReportArchiveService from '@/api/cw/projectRecords/ProjectReportArchiveService'
+  import ProjectReportBorrowService from '@/api/cw/projectRecords/ProjectReportBorrowService'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+		  activeName: 'files',
+        inputForm: {
+			workAttachmentDtoList: [],
+          id: '',
+			projectName: '',
+			reportNo: '',
+          borrowName: '',
+          borrowData: '',
+          borrowRetData: '',
+          remarks: '',
+          borrowType: '',
+          type: ''
+        },
+      }
+    },
+    props: {
+      businessId: {
+        type: String,
+        default: ''
+      },
+      formReadOnly: {
+        type: Boolean,
+        default: false
+      }
+    },
+    components: {
+		UpLoadComponent,
+    },
+	  projectReportBorrowService: null,
+	  projectReportArchiveService: null,
+    created () {
+      this.projectReportBorrowService = new ProjectReportBorrowService()
+      this.projectReportArchiveService = new ProjectReportArchiveService()
+    },
+    watch: {
+      'businessId': {
+        handler (newVal) {
+          if (this.businessId) {
+            this.init(this.businessId)
+          } else {
+            this.$nextTick(() => {
+              this.$refs.inputForm.resetFields()
+            })
+          }
+        },
+        immediate: true,
+        deep: false
+      },
+		'loading': {
+			handler (newVal) {
+				console.log(newVal)
+				this.$emit('changeLoading', newVal)
+				this.$refs.uploadComponent.changeLoading(newVal)
+			}
+		}
+    },
+    computed: {
+		bus: {
+			get () {
+				this.$refs.uploadComponent.setDividerName('附件', false)
+				return this.businessId
+			},
+			set (val) {
+				this.businessId = val
+			}
+		},
+      userName () {
+        return this.$store.state.user.name
+      }
+    },
+    methods: {
+		tabHandleClick (event) {
+			// console.log(event)
+		},
+      init (id) {
+		  this.activeName = 'files'
+        if (id) {
+          this.loading = true
+          this.inputForm.id = id
+          this.$nextTick(() => {
+            this.$refs.inputForm.resetFields()
+            this.projectReportBorrowService.findById(this.inputForm.id).then((data) => {
+            	console.log('data',data)
+				this.$refs.uploadComponent.clearUpload()
+              if (this.commonJS.isEmpty(data.id)) {
+				  this.projectReportArchiveService.queryById(this.inputForm.id).then((data) => {
+                  this.inputForm = this.recover(this.inputForm, data)
+					  this.inputForm.projectName = data.cwProjectRecordsDTO.projectName
+					if (this.commonJS.isEmpty(this.inputForm.borrowName)){
+						this.inputForm.borrowName = this.userName
+					}
+                  this.inputForm.borrowData = this.moment(new Date()).format('YYYY-MM-DD')
+					  this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'cw_project_archive', null, null, null, null, false)
+                  this.loading = false
+                })
+              } else {
+				  this.inputForm = this.recover(this.inputForm, data)
+				  // this.inputForm.projectName = data.cwProjectRecordsDTO.projectName
+				  // if (this.commonJS.isEmpty(this.inputForm.borrowName)){
+					//   this.inputForm.borrowName = this.userName
+				  // }
+				  // this.inputForm.borrowData = this.moment(new Date()).format('YYYY-MM-DD')
+				  this.$refs.uploadComponent.newUpload('view', this.inputForm.workAttachmentDtoList, 'cw_project_archive', null, null, null, null, false)
+				  this.loading = false
+			  }
+            })
+          })
+        }
+      },
+      // 表单提交
+      startForm (callback) {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            let id = this.inputForm.id
+            this.loading = true
+            this.inputForm.contractInfoId = id
+            var date1 = new Date(this.inputForm.borrowData)
+            var date2 = new Date(this.inputForm.borrowRetData)
+            if ((date2 - date1) < 0) {
+              this.loading = false
+              this.$message.error('大概归还日期要比借用日期晚')
+              throw new Error('大概归还日期要比借用日期晚')
+            } else {
+              this.inputForm.borrowType = '2'
+              this.projectReportBorrowService.save(this.inputForm).then((data) => {
+                callback(data.businessTable, data.businessId, this.inputForm)
+                this.$refs.inputForm.resetFields()
+                this.loading = false
+              }).catch(() => {
+                this.$refs.inputForm.resetFields()
+                this.loading = false
+              })
+            }
+          }
+        })
+      },
+      // 同意
+      agreeForm (callback) {
+        this.inputForm.borrowType = '5'
+        this.projectReportBorrowService.updateMessageStatusById(this.inputForm).then((data) => {
+          this.projectReportBorrowService.updateStatusById(this.inputForm)
+          callback(data.businessTable, data.businessId, this.inputForm)
+          this.$refs.inputForm.resetFields()
+          this.loading = false
+        }).catch(() => {
+          this.$refs.inputForm.resetFields()
+          this.loading = false
+        })
+      },
+      // 关闭
+      close () {
+		  this.$refs.uploadComponent.clearUpload()
+        this.$refs.inputForm.resetFields()
+        this.visible = false
+      },
+      // 更改状态
+      updateStatusById (type) {
+        if (type === 'agree') {
+          this.inputForm.borrowType = '5'
+          this.projectReportBorrowService.updateStatusById(this.inputForm)
+        }
+        if (type === 'reject') {
+          this.inputForm.borrowType = '0'
+          this.projectReportBorrowService.updateStatusById(this.inputForm).then(() => {
+            this.inputForm.borrowType = '3'
+            this.inputForm.type = 'reject'
+            this.projectReportBorrowService.updateMessageStatusById(this.inputForm)
+          })
+        }
+        if (type === 'reback') {
+          this.inputForm.borrowType = '0'
+          this.projectReportBorrowService.updateStatusById(this.inputForm)
+          // this.workContractBorrowService.updateStatusById(this.inputForm)
+        }
+      }
+    }
+  }
+</script>
+
+

+ 92 - 0
src/views/cw/projectReportArchive/ProjectReportBorrowMessageForm.vue

@@ -0,0 +1,92 @@
+<template>
+  <el-dialog
+    :title="title"
+    :close-on-click-modal="false"
+	draggable
+    width="1000px"
+    @close="close()"
+    v-model="visible">
+  <div class="page">
+      <el-form :inline="true" @submit.native.prevent>
+        <div style="height: calc(100% - 80px);">
+            <vxe-table
+                border="inner"
+                auto-resize
+                resizable
+                max-height="500px"
+                :loading="loading"
+                ref="workClientTable"
+                show-header-overflow
+                show-overflow
+                highlight-hover-row
+                :menu-config="{}"
+                :print-config="{}"
+                :sort-config="{remote:true}"
+                :data="dataList"
+                :checkbox-config="{}">
+
+                <vxe-column min-width="300px" align="center" title="项目名称" field="projectName"></vxe-column>
+                <vxe-column min-width="120px" align="center" title="借用人" field="borrowName" ></vxe-column>
+                <vxe-column min-width="120px" align="center" title="借用状态" field="borrowType" >
+                  <template #default="scope">
+                    {{ $dictUtils.getDictLabel("borrow_type", scope.row.borrowType, '-') }}
+                  </template>
+                </vxe-column>
+                <vxe-column min-width="120px" align="center" title="借用时间" field="borrowData" ></vxe-column>
+                <vxe-column min-width="120px" align="center" title="大概归还时间" field="borrowRetData" ></vxe-column>
+                <vxe-column min-width="120px" align="center" title="实际归还时间" field="retData">
+                  <template #default="scope">
+                    {{getRetData(scope.row.retData)}}
+                  </template>
+                </vxe-column>
+
+            </vxe-table>
+        </div>
+      </el-form>
+  </div>
+  </el-dialog>
+</template>
+
+<script>
+  import ProjectReportBorrowService from '@/api/cw/projectRecords/ProjectReportBorrowService'
+  export default {
+    data () {
+      return {
+        title: '',
+        visible: false,
+        loading: false,
+        dataList: []
+      }
+    },
+	  projectReportBorrowService: null,
+    created () {
+      this.projectReportBorrowService = new ProjectReportBorrowService()
+    },
+    methods: {
+      // 获取数据列表
+      findList (id) {
+        this.loading = true
+        this.visible = true
+        this.title = '报告借用详情'
+        this.projectReportBorrowService.findMessageList(id).then((data) => {
+          this.dataList = data
+          this.loading = false
+        })
+        // this.workContractBorrowService.findMessageList(id).then(({data}) => {
+        //   this.dataList = data
+        //   this.loading = false
+        // })
+      },
+      close () {
+        this.visible = false
+        this.dataList = []
+      },
+      getRetData (value) {
+        if (value) {
+          return value
+        }
+        return '--'
+      }
+    }
+  }
+</script>

+ 19 - 29
src/views/cw/reportManagement/ReportManagementForm.vue

@@ -907,6 +907,7 @@
   import UpLoadComponentDialog from '@/views/common/UpLoadComponentDialog'
   import UpLoadComponentDialog from '@/views/common/UpLoadComponentDialog'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import ProjectRecoredChooseCom from '../projectRecords/ProjectRecordsChooseCom'
   import ProjectRecoredChooseCom from '../projectRecords/ProjectRecordsChooseCom'
+  import userService from "@/api/sys/userService";
   export default {
   export default {
     props: {
     props: {
       businessId: {
       businessId: {
@@ -1292,32 +1293,32 @@
             this.$refs['inputForm'].validate((valid) => {
             this.$refs['inputForm'].validate((valid) => {
               if (valid) {
               if (valid) {
                 // 暂存
                 // 暂存
-                // this.inputForm.status = '1'
                 this.loading = true
                 this.loading = true
                 this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
                 this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
-                // this.$refs.archiveFile.getDataList().then((data) => {
-                //   this.inputForm.cwFileInfoList = data
-                // })
-                // if (this.commonJS.isNotEmpty(this.$refs.signatureFile.getDataList())) {
-                // this.$refs.signatureFile.getDataList().then((data) => {
-                //   this.inputForm.signatureFileList = data
-                // })
-                // }
                 this.inputForm.signatureFileList = this.$refs.signatureFile.getDataList()
                 this.inputForm.signatureFileList = this.$refs.signatureFile.getDataList()
                 // 列表处理
                 // 列表处理
                 this.inputForm.details = []
                 this.inputForm.details = []
                 this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
                 this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
                 this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
                 this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
                 this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
                 this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
-                this.reportReviewService.save(this.inputForm).then(() => {
-                  projectReportService.saveForm(this.inputForm).then(() => {
-                    this.$emit('refreshList')
-                    this.close()
-                    this.loading = false
-                  }).catch(() => {
-                    this.loading = false
-                  })
-                })
+				  //根据签字注师1的人员id去查是否超过了100次
+				  userService.getCount(this.inputForm.signatureAnnotator1).then((data) => {
+					  if (data.accountantUserCount >= 100 && data.accountantUserFlag === 1) {
+						  this.$message.error(`请选择被选次数小于100次的签字注师人员`)
+						  this.loading = false
+						  throw new Error()
+					  } else {
+						  this.reportReviewService.save(this.inputForm).then(() => {
+							  projectReportService.saveForm(this.inputForm).then(() => {
+								  this.$emit('refreshList')
+								  this.close()
+								  this.loading = false
+							  }).catch(() => {
+								  this.loading = false
+							  })
+						  })
+					  }
+				  });
               }
               }
             })
             })
             return
             return
@@ -1333,11 +1334,6 @@
           this.$refs['inputForm'].validate((valid) => {
           this.$refs['inputForm'].validate((valid) => {
             if (valid) {
             if (valid) {
               this.loading = true
               this.loading = true
-              // if (this.$refs.uploadComponent.checkProgress()) {
-              //   this.loading = false
-              //   return
-              // }
-              // this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
               if (this.commonJS.isEmpty(this.inputForm.createDate)) {
               if (this.commonJS.isEmpty(this.inputForm.createDate)) {
                 this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
                 this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
               }
               }
@@ -1352,12 +1348,6 @@
                 throw new Error('报告类型不能为空')
                 throw new Error('报告类型不能为空')
               }
               }
               this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
               this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
-              // this.$refs.archiveFile.getDataList().then((data) => {
-              //   this.inputForm.cwFileInfoList = data
-              // })
-              // this.$refs.signatureFile.getDataList().then((data) => {
-              //   this.inputForm.signatureFileList = data
-              // })
               this.inputForm.signatureFileList = this.$refs.signatureFile.getDataList()
               this.inputForm.signatureFileList = this.$refs.signatureFile.getDataList()
               projectReportService.saveForm(this.inputForm).then((data) => {
               projectReportService.saveForm(this.inputForm).then((data) => {
                 callback(data.businessTable, data.businessId, this.inputForm)
                 callback(data.businessTable, data.businessId, this.inputForm)

+ 34 - 22
src/views/cw/reportManagement/ReportManagementSignatureForm.vue

@@ -119,7 +119,7 @@
                           // {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                           // {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                    ]">
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect2 style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect2>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
 
 
@@ -141,7 +141,7 @@
                           {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                           {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                    ]">
                    ]">
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
               <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
-              <UserSelect style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
+              <UserSelect2 style="width: 100%" ref="userSelect2"  :readonly="true" :limit='1' :modelValue="inputForm.signatureAnnotator2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect2>
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
           <el-col :span="12">
           <el-col :span="12">
@@ -511,9 +511,11 @@
   // import UpLoadComponent from '@/views/common/UpLoadComponent'
   // import UpLoadComponent from '@/views/common/UpLoadComponent'
   import UpLoadComponent from '@/views/common/UpLoadComponentV2.1'
   import UpLoadComponent from '@/views/common/UpLoadComponentV2.1'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
-  import UserSelect from '../workClientInfo/clientUserSelect'
+  import UserSelect from '@/views/cw/workClientInfo/clientUserSelect/AccountantUserIndex'
+  import UserSelect2 from '@/views/cw/workClientInfo/clientUserSelect/AccountantUserIndex2'
   import projectReportService from '@/api/cw/reportManagement/ProjectReportService'
   import projectReportService from '@/api/cw/reportManagement/ProjectReportService'
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
+  import userService from "@/api/sys/userService";
   // import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
   // import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import processService from '@/api/flowable/ProcessService'
   import processService from '@/api/flowable/ProcessService'
@@ -676,6 +678,7 @@
       UpLoadComponent,
       UpLoadComponent,
       SelectTree,
       SelectTree,
       UserSelect,
       UserSelect,
+	  UserSelect2,
       ReportServiceUnitForm,
       ReportServiceUnitForm,
       // ProjectInfoForm,
       // ProjectInfoForm,
       ProjectRecoredChooseCom,
       ProjectRecoredChooseCom,
@@ -1000,25 +1003,34 @@
                   })
                   })
                 }
                 }
                 this.inputForm.cwFileInfoList = list
                 this.inputForm.cwFileInfoList = list
-                this.reportReviewService.save(this.inputForm).then(() => {
-                  let da = {cwFileInfoList: this.inputForm.cwFileInfoList, id: this.inputForm.id}
-                  projectReportService.saveSignFiles(da).then(() => {
-                    projectReportService.saveData(this.inputForm).then((data) => {
-                      if (this.inputForm.signatureType === '2') {
-                        this.inputForm.assignee = this.inputForm.signatureAnnotator1
-                      }
-                      callback(data.businessTable, data.businessId, this.inputForm)
-                      this.loading = false
-                      throw new Error()
-                    }).catch(() => {
-                      this.loading = false
-                      throw new Error('流程发起失败')
-                    })
-                  }).catch(() => {
-                    this.loading = false
-                    throw new Error('流程发起失败')
-                  })
-                })
+				  //根据签字注师1的人员id去查是否超过了100次
+				  userService.getCount(this.inputForm.signatureAnnotator1).then((data) => {
+					  if (data.accountantUserCount >= 100 && data.accountantUserFlag === 1) {
+						  this.$message.error(`请选择被选次数小于100次的签字注师人员`)
+						  this.loading = false
+						  throw new Error()
+					  } else {
+						  this.reportReviewService.save(this.inputForm).then(() => {
+							  let da = {cwFileInfoList: this.inputForm.cwFileInfoList, id: this.inputForm.id}
+							  projectReportService.saveSignFiles(da).then(() => {
+								  projectReportService.saveData(this.inputForm).then((data) => {
+									  if (this.inputForm.signatureType === '2') {
+										  this.inputForm.assignee = this.inputForm.signatureAnnotator1
+									  }
+									  callback(data.businessTable, data.businessId, this.inputForm)
+									  this.loading = false
+									  throw new Error()
+								  }).catch(() => {
+									  this.loading = false
+									  throw new Error('流程发起失败')
+								  })
+							  }).catch(() => {
+								  this.loading = false
+								  throw new Error('流程发起失败')
+							  })
+						  })
+					  }
+				  });
               })
               })
             } else {
             } else {
               this.loading = false
               this.loading = false

+ 48 - 35
src/views/cw/reportManagement/reportReview/ReportReviewForm.vue

@@ -478,12 +478,12 @@
               :key="tableKeyClient"
               :key="tableKeyClient"
               :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
               :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
             >
             >
-              <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}">
+              <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}" align="left">
                 <template v-slot:edit="scope">
                 <template v-slot:edit="scope">
                   <el-input :disabled="true"  v-model="scope.row.typeName" ></el-input>
                   <el-input :disabled="true"  v-model="scope.row.typeName" ></el-input>
                 </template>
                 </template>
               </vxe-table-column>
               </vxe-table-column>
-              <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}">
+              <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}" align="left">
                 <template v-slot:edit="scope">
                 <template v-slot:edit="scope">
                   <vxe-select :disabled="inputForm.taskName === '二级复核' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                   <vxe-select :disabled="inputForm.taskName === '二级复核' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                     <vxe-option
                     <vxe-option
@@ -528,12 +528,12 @@
                 :key="tableKeyClient2"
                 :key="tableKeyClient2"
                 :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
                 :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
               >
               >
-                <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}">
+                <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}" align="left">
                   <template v-slot:edit="scope">
                   <template v-slot:edit="scope">
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                   </template>
                   </template>
                 </vxe-table-column>
                 </vxe-table-column>
-                <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}">
+                <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}" align="left">
                   <template v-slot:edit="scope">
                   <template v-slot:edit="scope">
                     <vxe-select :disabled="inputForm.reviewStatus === '4' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                     <vxe-select :disabled="inputForm.reviewStatus === '4' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                       <vxe-option
                       <vxe-option
@@ -578,12 +578,12 @@
                 :key="tableKeyClient3"
                 :key="tableKeyClient3"
                 :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
                 :edit-config="{trigger: 'click', mode: 'cell', showStatus: true, autoClear: true}"
               >
               >
-                <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}">
+                <vxe-table-column field="typeName" title="复核的主要内容" :edit-render="{}" align="left">
                   <template v-slot:edit="scope">
                   <template v-slot:edit="scope">
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                   </template>
                   </template>
                 </vxe-table-column>
                 </vxe-table-column>
-                <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}">
+                <vxe-table-column width="30%" field="reviewComments" title="复核结果(是/否/不适用)" :edit-render="{name: '$select', options: $dictUtils.getDictList('yes_no_notApplicable')}" align="left">
                   <template v-slot:edit="scope">
                   <template v-slot:edit="scope">
                     <vxe-select :disabled="inputForm.taskName === '一级复核' || inputForm.reviewStatus === '4'" v-model="scope.row.reviewComments" transfer>
                     <vxe-select :disabled="inputForm.taskName === '一级复核' || inputForm.reviewStatus === '4'" v-model="scope.row.reviewComments" transfer>
                       <vxe-option
                       <vxe-option
@@ -649,6 +649,7 @@
   import projectReportService from '@/api/cw/reportManagement/ProjectReportService'
   import projectReportService from '@/api/cw/reportManagement/ProjectReportService'
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
   import CommonApi from '@/api/cw/common/CommonApi'
   import CommonApi from '@/api/cw/common/CommonApi'
+  import userService from "@/api/sys/userService";
   export default {
   export default {
     props: {
     props: {
       businessId: {
       businessId: {
@@ -1018,23 +1019,26 @@
           this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
           this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
           this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
           this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
           this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
           this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
-          this.reportReviewService.save(this.inputForm).then((data) => {
-            this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
-            projectReportService.saveForm(this.inputForm).then((da) => {
-              callback(data.businessTable, data.businessId, this.inputForm)
-              this.loading = false
-            }).catch(() => {
-              this.loading = false
-            })
-          }).catch(() => {
-            this.loading = false
-          })
-          // this.reportCancellApplyService.saveForm(this.inputForm).then((data) => {
-          //   callback(data.businessTable, data.businessId, this.inputForm)
-          //   this.loading = false
-          // }).catch(() => {
-          //   this.loading = false
-          // })
+			//根据签字注师1的人员id去查是否超过了100次
+			userService.getCount(this.inputForm.signatureAnnotator1).then((data) => {
+				if (data.accountantUserCount >= 100 && data.accountantUserFlag === 1) {
+					this.$message.error(`请选择被选次数小于100次的签字注师人员`)
+					this.loading = false
+					throw new Error()
+				} else {
+					this.reportReviewService.save(this.inputForm).then((data) => {
+						this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
+						projectReportService.saveForm(this.inputForm).then((da) => {
+							callback(data.businessTable, data.businessId, this.inputForm)
+							this.loading = false
+						}).catch(() => {
+							this.loading = false
+						})
+					}).catch(() => {
+						this.loading = false
+					})
+				}
+			});
           return
           return
         } else if (status === 'start') {
         } else if (status === 'start') {
           // 送审  待审核
           // 送审  待审核
@@ -1061,18 +1065,27 @@
             this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor1010.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor1020.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
             this.inputForm.detailFor1030.forEach(item => { this.inputForm.details.push(item) })
-            this.reportReviewService.save(this.inputForm).then((data) => {
-              this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
-              console.log('this.inputForm', this.inputForm)
-              projectReportService.saveForm(this.inputForm).then((da) => {
-                callback(data.businessTable, data.businessId, this.inputForm)
-                this.loading = false
-              }).catch(() => {
-                this.loading = false
-              })
-            }).catch(() => {
-              this.loading = false
-            })
+			  //根据签字注师1的人员id去查是否超过了100次
+			  userService.getCount(this.inputForm.signatureAnnotator1).then((data) => {
+				  if (data.accountantUserCount >= 100 && data.accountantUserFlag === 1) {
+					  this.$message.error(`请选择被选次数小于100次的签字注师人员`)
+					  this.loading = false
+					  throw new Error()
+				  } else {
+					  this.reportReviewService.save(this.inputForm).then((data) => {
+						  this.inputForm.cwFileInfoList2 = this.$refs.enclosure.getDataList()
+						  console.log('this.inputForm', this.inputForm)
+						  projectReportService.saveForm(this.inputForm).then((da) => {
+							  callback(data.businessTable, data.businessId, this.inputForm)
+							  this.loading = false
+						  }).catch(() => {
+							  this.loading = false
+						  })
+					  }).catch(() => {
+						  this.loading = false
+					  })
+				  }
+			  });
           } else {
           } else {
             this.loading = false
             this.loading = false
           }
           }

+ 11 - 2
src/views/cw/workClientInfo/WorkClientChooseRadio.vue

@@ -82,6 +82,15 @@
           <vxe-column width="" title="联系电话" align="center" field="mobile"></vxe-column>
           <vxe-column width="" title="联系电话" align="center" field="mobile"></vxe-column>
           <vxe-column width="" title="公司级次" align="center" field="companyLevel"></vxe-column>
           <vxe-column width="" title="公司级次" align="center" field="companyLevel"></vxe-column>
         </vxe-table>
         </vxe-table>
+		  <vxe-pager
+			  background
+			  :current-page="tablePage.currentPage"
+			  :page-size="tablePage.pageSize"
+			  :total="tablePage.total"
+			  :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+			  :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+			  @page-change="currentChangeHandle">
+		  </vxe-pager>
       </div>
       </div>
 <!--      <span slot="footer" class="dialog-footer">-->
 <!--      <span slot="footer" class="dialog-footer">-->
 <!--      <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
 <!--      <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
@@ -146,8 +155,8 @@
         this.loading = true
         this.loading = true
         this.searchForm.isTrue = '1'
         this.searchForm.isTrue = '1'
         workClientService.listTree({
         workClientService.listTree({
-          'current': 1,
-          'size': -1,
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           'orders': this.tablePage.orders,
           ...this.searchForm
           ...this.searchForm
         }).then((data) => {
         }).then((data) => {

+ 2 - 2
src/views/cw/workClientInfo/WorkClientForm.vue

@@ -427,14 +427,14 @@
                   <el-form-item label="首次发行签字注师1" prop="cwWorkClientTypeDTO.signatory1"
                   <el-form-item label="首次发行签字注师1" prop="cwWorkClientTypeDTO.signatory1"
                                 :rules="[
                                 :rules="[
                    ]">
                    ]">
-                    <UserSelect ref="userSelect1" :disabled="method==='view'" :readonly="true" :limit='1' :value="inputForm.cwWorkClientTypeDTO.signatory1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
+                    <UserSelect ref="userSelect1" :disabled="method==='view'" :readonly="true" :limit='1' :modelValue="inputForm.cwWorkClientTypeDTO.signatory1" @update:modelValue='(value) => {changeSignatory1(value)}'></UserSelect>
                   </el-form-item>
                   </el-form-item>
                 </el-col>
                 </el-col>
                 <el-col :span="12">
                 <el-col :span="12">
                   <el-form-item label="首次发行签字注师2" prop="cwWorkClientTypeDTO.signatory2"
                   <el-form-item label="首次发行签字注师2" prop="cwWorkClientTypeDTO.signatory2"
                                 :rules="[
                                 :rules="[
                    ]">
                    ]">
-                    <UserSelect ref="userSelect2" :disabled="method==='view'" :readonly="true" :limit='1' :value="inputForm.cwWorkClientTypeDTO.signatory2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
+                    <UserSelect ref="userSelect2" :disabled="method==='view'" :readonly="true" :limit='1' :modelValue="inputForm.cwWorkClientTypeDTO.signatory2" @update:modelValue='(value) => {changeSignatory2(value)}'></UserSelect>
                   </el-form-item>
                   </el-form-item>
                 </el-col>
                 </el-col>
                 <el-col :span="12">
                 <el-col :span="12">

+ 27 - 25
src/views/flowable/task/NoticePageList.vue

@@ -14,19 +14,18 @@
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
 
 
-      <div class="jp-table">
+      <div class="jp-table top" style="">
         <vxe-toolbar :refresh="{query: refreshList}" custom>
         <vxe-toolbar :refresh="{query: refreshList}" custom>
           <template #buttons>
           <template #buttons>
             <el-button type="primary" @click="readAll()">全部标记已读</el-button>
             <el-button type="primary" @click="readAll()">全部标记已读</el-button>
             <el-button :disabled="$refs.todoTable && $refs.todoTable.getCheckboxRecords().length === 0" type="warning" @click="portionRead()">标记为已读</el-button>
             <el-button :disabled="$refs.todoTable && $refs.todoTable.getCheckboxRecords().length === 0" type="warning" @click="portionRead()">标记为已读</el-button>
           </template>
           </template>
         </vxe-toolbar>
         </vxe-toolbar>
-
 		  <el-tabs v-model="type" type="card" @tab-click="handleClick">
 		  <el-tabs v-model="type" type="card" @tab-click="handleClick">
 			  <el-tab-pane :key="index" v-for="(item,index) in typeList" :label="item.value" :name="item.value" :value="item.id"></el-tab-pane>
 			  <el-tab-pane :key="index" v-for="(item,index) in typeList" :label="item.value" :name="item.value" :value="item.id"></el-tab-pane>
 		  </el-tabs>
 		  </el-tabs>
 
 
-        <div style="height: calc(100% - 80px);">
+        <div class="table-container">
             <vxe-table
             <vxe-table
               border="inner"
               border="inner"
               auto-resize
               auto-resize
@@ -37,10 +36,6 @@
               show-header-overflow
               show-header-overflow
               show-overflow
               show-overflow
               highlight-hover-row
               highlight-hover-row
-              :menu-config="{}"
-              :print-config="{}"
-              :import-config="{}"
-              :export-config="{}"
               :data="dataList"
               :data="dataList"
               :checkbox-config="{}">
               :checkbox-config="{}">
               <vxe-column type="seq" width="60" title="序号"></vxe-column>
               <vxe-column type="seq" width="60" title="序号"></vxe-column>
@@ -58,26 +53,17 @@
               </vxe-column>
               </vxe-column>
               <vxe-column  title="读取状态" field="type" ></vxe-column>
               <vxe-column  title="读取状态" field="type" ></vxe-column>
             </vxe-table>
             </vxe-table>
-            <vxe-pager
-              background
-              :current-page="tablePage.currentPage"
-              :page-size="tablePage.pageSize"
-              :total="tablePage.total"
-              :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
-              :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
-              @page-change="currentChangeHandle">
-            </vxe-pager>
+			<vxe-pager
+				background
+				:current-page="tablePage.currentPage"
+				:page-size="tablePage.pageSize"
+				:total="tablePage.total"
+				:page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+				:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+				@page-change="currentChangeHandle">
+			</vxe-pager>
         </div>
         </div>
       </div>
       </div>
-       <el-dialog
-        title="查看进度"
-        :close-on-click-modal="true"
-        :visible.sync="visible"
-		draggable
-        width="70%"
-        height="600px">
-          <flow-chart ref="preview" :processInstanceId="processInstanceId"></flow-chart>
-        </el-dialog>
     <WareHouseHistoryPopup ref="wareHouseHistoryPopup"></WareHouseHistoryPopup>
     <WareHouseHistoryPopup ref="wareHouseHistoryPopup"></WareHouseHistoryPopup>
   </div>
   </div>
 </template>
 </template>
@@ -235,3 +221,19 @@
     }
     }
   }
   }
 </script>
 </script>
+<style scoped>
+	.table-container {
+		height: calc(85% - 90px); /* 调整容器高度,确保分页显示正常 */
+		display: flex; /* 使用 flex 布局 */
+		flex-direction: column; /* 垂直方向布局 */
+	}
+
+	/* 可根据需要调整表格和分页的样式 */
+	.vxe-table {
+		flex: 1; /* 表格自动填充容器剩余空间 */
+	}
+
+	.vxe-pager {
+		margin-top: 10px; /* 调整分页组件的上边距 */
+	}
+</style>

+ 3 - 2
src/views/program/registered/ProjectArchiveForm.vue

@@ -2,7 +2,7 @@
   <div>
   <div>
 
 
     <div>
     <div>
-      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail'"
+      <el-form size="large" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="status === 'audit' || status === 'taskFormDetail' || method === 'view'"
                label-width="170px" @submit.native.prevent>
                label-width="170px" @submit.native.prevent>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目归档</el-divider>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目归档</el-divider>
           <el-row  :gutter="15">
           <el-row  :gutter="15">
@@ -627,6 +627,7 @@
         this.keyWatch = keyWatch
         this.keyWatch = keyWatch
       },
       },
       init (method, id) {
       init (method, id) {
+      	console.log('method', method)
         if (method === 'formReadOnly') {
         if (method === 'formReadOnly') {
 			method = 'view'
 			method = 'view'
           this.formReadOnly = true
           this.formReadOnly = true
@@ -788,7 +789,7 @@
         this.loading = true
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
           this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
           this.programProjectListInfoService.findByIdArchive(this.inputForm.id).then((data) => {
-            if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
+            if (this.commonJS.isNotEmpty(data.status) && data.status !== '0' && data.status !== '1' && data.status !== '3' && data.status !== '6') { // 审核状态不是“未发起”或“暂存”或“撤回”,就弹出提示
               this.loading = false
               this.loading = false
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
               this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
               throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
               throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')

+ 1 - 0
src/views/program/registered/ProjectForm.vue

@@ -1233,6 +1233,7 @@
         }
         }
         if (paneName === 'archive') {
         if (paneName === 'archive') {
           if (this.commonJS.isNotEmpty(this.archiveIdA)) {
           if (this.commonJS.isNotEmpty(this.archiveIdA)) {
+          	console.log('建立了')
             this.$refs.projectArchiveForm.init('view', this.archiveIdA)
             this.$refs.projectArchiveForm.init('view', this.archiveIdA)
           }
           }
         }
         }

+ 61 - 5
src/views/program/registered/ProjectList.vue

@@ -42,6 +42,56 @@
           </el-option>
           </el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
+		<el-form-item v-if="showHideItem" label="一级校审状态" prop="status1">
+			<el-select v-model="searchForm.status1" placeholder="请选择" style="width:100%;" clearable>
+				<el-option
+					v-for="item in $dictUtils.getDictList('program_project_list_info_status')"
+					:key="item.value"
+					:label="item.label"
+					:value="item.value">
+				</el-option>
+			</el-select>
+		</el-form-item>
+		<el-form-item v-if="showHideItem" label="二级校审状态" prop="status2">
+			<el-select v-model="searchForm.status2" placeholder="请选择" style="width:100%;" clearable>
+				<el-option
+					v-for="item in $dictUtils.getDictList('program_project_list_info_status')"
+					:key="item.value"
+					:label="item.label"
+					:value="item.value">
+				</el-option>
+			</el-select>
+		</el-form-item>
+		<el-form-item v-if="showHideItem" label="三级校审状态" prop="status3">
+			<el-select v-model="searchForm.status3" placeholder="请选择" style="width:100%;" clearable>
+				<el-option
+					v-for="item in $dictUtils.getDictList('program_project_list_info_status')"
+					:key="item.value"
+					:label="item.label"
+					:value="item.value">
+				</el-option>
+			</el-select>
+		</el-form-item>
+		<el-form-item v-if="showHideItem" label="签发单状态" prop="issuedStatus">
+			<el-select v-model="searchForm.issuedStatus" placeholder="请选择" style="width:100%;" clearable>
+				<el-option
+					v-for="item in $dictUtils.getDictList('program_project_list_info_status')"
+					:key="item.value"
+					:label="item.label"
+					:value="item.value">
+				</el-option>
+			</el-select>
+		</el-form-item>
+		<el-form-item v-if="showHideItem" label="归档状态" prop="archiveStatus">
+			<el-select v-model="searchForm.archiveStatus" placeholder="请选择" style="width:100%;" clearable>
+				<el-option
+					v-for="item in $dictUtils.getDictList('program_project_archive_list_info_status')"
+					:key="item.value"
+					:label="item.label"
+					:value="item.value">
+				</el-option>
+			</el-select>
+		</el-form-item>
 
 
       <el-form-item>
       <el-form-item>
         <el-button type="default" @click="showHide" :icon="showHideIcon">{{showHideName}}</el-button>
         <el-button type="default" @click="showHide" :icon="showHideIcon">{{showHideName}}</el-button>
@@ -53,8 +103,8 @@
     <div class="jp-table" >
     <div class="jp-table" >
       <vxe-toolbar ref="toolbarRef" :refresh="{query: refreshList}" export custom>
       <vxe-toolbar ref="toolbarRef" :refresh="{query: refreshList}" export custom>
         <template #buttons>
         <template #buttons>
-          <el-button v-if="hasPermission('program:registered:add')" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
-<!--          <el-button v-if="hasPermission('program:registered:add') && overArchiveFlag === 0" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>-->
+<!--          <el-button v-if="hasPermission('program:registered:add')" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>-->
+          <el-button v-if="hasPermission('program:registered:add') && overArchiveFlag === 0" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
           <el-button v-if="hasPermission('program:registered:del')" type="danger"   icon="el-icon-delete" @click="deleteAll()" :disabled="$refs.typeDictTable && $refs.typeDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
           <el-button v-if="hasPermission('program:registered:del')" type="danger"   icon="el-icon-delete" @click="deleteAll()" :disabled="$refs.typeDictTable && $refs.typeDictTable.getCheckboxRecords().length === 0" plain>删除</el-button>
         </template>
         </template>
       </vxe-toolbar>
       </vxe-toolbar>
@@ -198,7 +248,7 @@
               <el-button v-if="hasPermission('program:registered:browse')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.issuedStatus === '5'&&scope.row.archiveStatus === '0'" text type="primary" @click="browse(scope.row.id)">装订自校</el-button>
               <el-button v-if="hasPermission('program:registered:browse')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.issuedStatus === '5'&&scope.row.archiveStatus === '0'" text type="primary" @click="browse(scope.row.id)">装订自校</el-button>
 
 
               <!-- 项目归档-->
               <!-- 项目归档-->
-              <el-button v-if="hasPermission('program:registered:edit')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.issuedStatus === '5' &&(scope.row.archiveStatus === '0'||scope.row.archiveStatus === '1'||scope.row.archiveStatus === '3')" text type="primary" @click="archivePush(scope.row)">项目归档</el-button>
+              <el-button v-if="hasPermission('program:registered:edit')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.issuedStatus === '5' &&(scope.row.archiveStatus === '0'||scope.row.archiveStatus === '1'||scope.row.archiveStatus === '3'||scope.row.archiveStatus === '6')" text type="primary" @click="archivePush(scope.row)">项目归档</el-button>
               <!-- 项目归档撤回-->
               <!-- 项目归档撤回-->
               <el-button v-if="hasPermission('program:registered:edit')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.archiveStatus === '2'" text type="primary" @click="archiveReback(scope.row)">项目归档撤回</el-button>
               <el-button v-if="hasPermission('program:registered:edit')&&(scope.row.createBy === $store.state.user.id||haveProjectIds.includes(scope.row.id))&&scope.row.archiveStatus === '2'" text type="primary" @click="archiveReback(scope.row)">项目归档撤回</el-button>
               <!-- 项目归档  审核-->
               <!-- 项目归档  审核-->
@@ -271,7 +321,12 @@
           contractName: '',
           contractName: '',
           clientName: '',
           clientName: '',
           createDates: [],
           createDates: [],
-          status: ''
+          status: '',
+          status1: '',  // 一级校审状态
+          status2: '',	// 二级校审状态
+          status3: '',	// 三级校审状态
+		  issuedStatus: '',	// 签发单状态
+		  archiveStatus: '',	// 归档状态
         },
         },
         dataList: [],
         dataList: [],
         tablePage: {
         tablePage: {
@@ -382,9 +437,10 @@
           this.loading = false
           this.loading = false
         })
         })
 		  // 获取当前人是否存在超期未归档项目数据信息
 		  // 获取当前人是否存在超期未归档项目数据信息
-		  this.programProjectListInfoService.getOverArchiveFlag().then(({data}) => {
+		  this.programProjectListInfoService.getOverArchiveFlag().then((data) => {
 			  if (this.commonJS.isNotEmpty(data)) {
 			  if (this.commonJS.isNotEmpty(data)) {
 				  this.overArchiveFlag = data
 				  this.overArchiveFlag = data
+				  console.log('this.overArchiveFlag', this.overArchiveFlag)
 			  }
 			  }
 		  })
 		  })
         // 获取当前登录人的所属项目id集合
         // 获取当前登录人的所属项目id集合

+ 4 - 3
src/views/reimbursement/info/ProgramForm.vue

@@ -21,7 +21,7 @@
         <vxe-table-column type="seq" width="50" title="序号" align="center"></vxe-table-column>
         <vxe-table-column type="seq" width="50" title="序号" align="center"></vxe-table-column>
         <vxe-table-column min-width="300px" field="name" align="left" title="项目名称">
         <vxe-table-column min-width="300px" field="name" align="left" title="项目名称">
           <template #default="scope">
           <template #default="scope">
-            <el-link type="primary" :underline="false" @click="openProjectForm(scope.row.id)" >{{scope.row.name}}</el-link>
+            <el-link type="primary" :underline="false" @click="openProjectForm(scope.row)" >{{scope.row.name}}</el-link>
           </template>
           </template>
         </vxe-table-column>
         </vxe-table-column>
         <vxe-table-column width="150px" field="no" align="center" title="项目编号"></vxe-table-column>
         <vxe-table-column width="150px" field="no" align="center" title="项目编号"></vxe-table-column>
@@ -76,8 +76,9 @@
         }
         }
         this.loading = false
         this.loading = false
       },
       },
-      openProjectForm (id) {
-        this.$refs.projectForm.init('view', id)
+      openProjectForm (row) {
+        // this.$refs.projectForm.init('view', id)
+		this.$refs.projectForm.init('view', row.id, row.auditId1, row.auditId2, row.auditId3, row.archiveId)
       },
       },
       close () {
       close () {
         this.dataList = []
         this.dataList = []