فهرست منبع

创建人查询组件调整,评估的报销审批审核阶段,查看项目详情,一二三级校审与归档信息不显示调整,通知页面调整,搜索功能调整

wangqiang 1 سال پیش
والد
کامیت
50042333e1

+ 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 () {
 		return request({
 			url: prefix + "/sys/user/getMenus",

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

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

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

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

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

@@ -907,6 +907,7 @@
   import UpLoadComponentDialog from '@/views/common/UpLoadComponentDialog'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import ProjectRecoredChooseCom from '../projectRecords/ProjectRecordsChooseCom'
+  import userService from "@/api/sys/userService";
   export default {
     props: {
       businessId: {
@@ -1292,32 +1293,32 @@
             this.$refs['inputForm'].validate((valid) => {
               if (valid) {
                 // 暂存
-                // this.inputForm.status = '1'
                 this.loading = true
                 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.details = []
                 this.inputForm.detailFor1010.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.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
@@ -1333,11 +1334,6 @@
           this.$refs['inputForm'].validate((valid) => {
             if (valid) {
               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)) {
                 this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
               }
@@ -1352,12 +1348,6 @@
                 throw new Error('报告类型不能为空')
               }
               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()
               projectReportService.saveForm(this.inputForm).then((data) => {
                 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'}
                    ]">
               <!--                <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-col>
 
@@ -141,7 +141,7 @@
                           {required: true, message: '签字注师2不能为空', trigger: 'blur'}
                    ]">
               <!--                <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-col>
           <el-col :span="12">
@@ -511,9 +511,11 @@
   // import UpLoadComponent from '@/views/common/UpLoadComponent'
   import UpLoadComponent from '@/views/common/UpLoadComponentV2.1'
   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 EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
+  import userService from "@/api/sys/userService";
   // import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
   import ReportServiceUnitForm from './ReportServiceUnitForm'
   import processService from '@/api/flowable/ProcessService'
@@ -676,6 +678,7 @@
       UpLoadComponent,
       SelectTree,
       UserSelect,
+	  UserSelect2,
       ReportServiceUnitForm,
       // ProjectInfoForm,
       ProjectRecoredChooseCom,
@@ -1000,25 +1003,34 @@
                   })
                 }
                 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 {
               this.loading = false

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

@@ -478,12 +478,12 @@
               :key="tableKeyClient"
               :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">
                   <el-input :disabled="true"  v-model="scope.row.typeName" ></el-input>
                 </template>
               </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">
                   <vxe-select :disabled="inputForm.taskName === '二级复核' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                     <vxe-option
@@ -528,12 +528,12 @@
                 :key="tableKeyClient2"
                 :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">
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                   </template>
                 </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">
                     <vxe-select :disabled="inputForm.reviewStatus === '4' || inputForm.taskName === '三级复核'" v-model="scope.row.reviewComments" transfer>
                       <vxe-option
@@ -578,12 +578,12 @@
                 :key="tableKeyClient3"
                 :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">
                     <el-input :disabled="true" v-model="scope.row.typeName" ></el-input>
                   </template>
                 </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">
                     <vxe-select :disabled="inputForm.taskName === '一级复核' || inputForm.reviewStatus === '4'" v-model="scope.row.reviewComments" transfer>
                       <vxe-option
@@ -649,6 +649,7 @@
   import projectReportService from '@/api/cw/reportManagement/ProjectReportService'
   import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
   import CommonApi from '@/api/cw/common/CommonApi'
+  import userService from "@/api/sys/userService";
   export default {
     props: {
       businessId: {
@@ -1018,23 +1019,26 @@
           this.inputForm.detailFor1010.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.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
         } else if (status === 'start') {
           // 送审  待审核
@@ -1061,18 +1065,27 @@
             this.inputForm.detailFor1010.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.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 {
             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="companyLevel"></vxe-column>
         </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>
 <!--      <span slot="footer" class="dialog-footer">-->
 <!--      <el-button size="small" @click="close()" icon="circle-close">关闭</el-button>-->
@@ -146,8 +155,8 @@
         this.loading = true
         this.searchForm.isTrue = '1'
         workClientService.listTree({
-          'current': 1,
-          'size': -1,
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           ...this.searchForm
         }).then((data) => {

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

@@ -427,14 +427,14 @@
                   <el-form-item label="首次发行签字注师1" prop="cwWorkClientTypeDTO.signatory1"
                                 :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-col>
                 <el-col :span="12">
                   <el-form-item label="首次发行签字注师2" prop="cwWorkClientTypeDTO.signatory2"
                                 :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-col>
                 <el-col :span="12">

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

@@ -14,19 +14,18 @@
       </el-form-item>
     </el-form>
 
-      <div class="jp-table">
+      <div class="jp-table top" style="">
         <vxe-toolbar :refresh="{query: refreshList}" custom>
           <template #buttons>
             <el-button type="primary" @click="readAll()">全部标记已读</el-button>
             <el-button :disabled="$refs.todoTable && $refs.todoTable.getCheckboxRecords().length === 0" type="warning" @click="portionRead()">标记为已读</el-button>
           </template>
         </vxe-toolbar>
-
 		  <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-tabs>
 
-        <div style="height: calc(100% - 80px);">
+        <div class="table-container">
             <vxe-table
               border="inner"
               auto-resize
@@ -37,10 +36,6 @@
               show-header-overflow
               show-overflow
               highlight-hover-row
-              :menu-config="{}"
-              :print-config="{}"
-              :import-config="{}"
-              :export-config="{}"
               :data="dataList"
               :checkbox-config="{}">
               <vxe-column type="seq" width="60" title="序号"></vxe-column>
@@ -58,26 +53,17 @@
               </vxe-column>
               <vxe-column  title="读取状态" field="type" ></vxe-column>
             </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>
-       <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>
   </div>
 </template>
@@ -235,3 +221,19 @@
     }
   }
 </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>
-      <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>
         <el-divider content-position="left"><i class="el-icon-document"></i> 项目归档</el-divider>
           <el-row  :gutter="15">
@@ -627,6 +627,7 @@
         this.keyWatch = keyWatch
       },
       init (method, id) {
+      	console.log('method', method)
         if (method === 'formReadOnly') {
 			method = 'view'
           this.formReadOnly = true
@@ -788,7 +789,7 @@
         this.loading = true
         if (this.commonJS.isNotEmpty(this.inputForm.id)) {
           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.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
               throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')

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

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

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

@@ -42,6 +42,56 @@
           </el-option>
         </el-select>
       </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-button type="default" @click="showHide" :icon="showHideIcon">{{showHideName}}</el-button>
@@ -53,8 +103,8 @@
     <div class="jp-table" >
       <vxe-toolbar ref="toolbarRef" :refresh="{query: refreshList}" export custom>
         <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>
         </template>
       </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: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>
               <!-- 项目归档  审核-->
@@ -271,7 +321,12 @@
           contractName: '',
           clientName: '',
           createDates: [],
-          status: ''
+          status: '',
+          status1: '',  // 一级校审状态
+          status2: '',	// 二级校审状态
+          status3: '',	// 三级校审状态
+		  issuedStatus: '',	// 签发单状态
+		  archiveStatus: '',	// 归档状态
         },
         dataList: [],
         tablePage: {
@@ -382,9 +437,10 @@
           this.loading = false
         })
 		  // 获取当前人是否存在超期未归档项目数据信息
-		  this.programProjectListInfoService.getOverArchiveFlag().then(({data}) => {
+		  this.programProjectListInfoService.getOverArchiveFlag().then((data) => {
 			  if (this.commonJS.isNotEmpty(data)) {
 				  this.overArchiveFlag = data
+				  console.log('this.overArchiveFlag', this.overArchiveFlag)
 			  }
 		  })
         // 获取当前登录人的所属项目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 min-width="300px" field="name" align="left" title="项目名称">
           <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>
         </vxe-table-column>
         <vxe-table-column width="150px" field="no" align="center" title="项目编号"></vxe-table-column>
@@ -76,8 +76,9 @@
         }
         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 () {
         this.dataList = []