huangguoce 4 месяцев назад
Родитель
Сommit
1380e8b552

+ 2 - 2
src/api/human/depart/HandoverService.js

@@ -30,11 +30,11 @@ export default {
 			data: param,
 		});
 	},
-	findProjectList(id) {
+	findProjectList(params) {
 		return request({
 			url: prefix + "/handover/findProjectList",
 			method: "get",
-			params: { id: id },
+			params: params,
 		});
 	},
 };

+ 1 - 1
src/layout/components/userbar.vue

@@ -107,7 +107,7 @@ export default {
 		this.fetchBacklogCount();
 		const fetchInterval = 2000;
 		if (this.$store.state.user.timer3 == null) {
-			this.$store.state.user.timer3 = setInterval(this.fetchBacklogCount, fetchInterval);
+			// this.$store.state.user.timer3 = setInterval(this.fetchBacklogCount, fetchInterval);
 		}
 		// 在页面创建时获取共享值
 	},

Разница между файлами не показана из-за своего большого размера
+ 506 - 487
src/views/common/DigitalInvoiceUploadComponent.vue


+ 22 - 10
src/views/human/depart/handover/ComputerArrearsAddForm.vue

@@ -51,6 +51,13 @@
 						<vxe-column title="报销类别" field="typeName"></vxe-column>
 						<vxe-column title="报销日期" field="reimDate"></vxe-column>
 						<vxe-column title="报销金额" field="number"></vxe-column>
+						<vxe-column min-width="100" title="报销节点" fixed="right" align="center" field="type">
+							<template #default="scope">
+								<el-tag :type="$dictUtils.getDictLabel('status_info', scope.row.type, '')">{{
+									$dictUtils.getDictLabel("status", scope.row.type, '未开始') }}
+								</el-tag>
+							</template>
+						</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 }]"
@@ -68,6 +75,7 @@ import SelectTree from '@/components/treeSelect/treeSelect.vue'
 import handoverComputerService from '@/api/human/depart/HandoverComputerService'
 import CommonApi from '@/api/cw/common/CommonApi'
 import ReimbursementApprovalService from '@/api/cw/reimbursementApproval/ReimbursementApprovalService'
+import handoverService from '@/api/human/depart/HandoverService'
 
 export default {
 	props: {
@@ -179,17 +187,21 @@ export default {
 		},
 		getComputerList() {
 			this.tableLoading = true
-			this.reimbursementApprovalService.computerList({
-				'current': this.tablePage.currentPage,
-				'size': this.tablePage.pageSize,
-				'orders': this.tablePage.orders,
-				...this.searchForm,
-				remiType: "个人电脑",
-			}).then((data) => {
-				this.dataList = data.records
-				this.tablePage.total = data.total
-				this.tableLoading = false
+			handoverService.findById(this.inputForm.handoverId).then((data1) => {
+				this.reimbursementApprovalService.computerList({
+					'current': this.tablePage.currentPage,
+					'size': this.tablePage.pageSize,
+					'orders': this.tablePage.orders,
+					...this.searchForm,
+					remiType: "个人电脑",
+					reimBy: data1.createById,
+				}).then((data) => {
+					this.dataList = data.records
+					this.tablePage.total = data.total
+					this.tableLoading = false
+				})
 			})
+
 		},
 		// 当前页
 		currentChangeHandle({ currentPage, pageSize }) {

+ 93 - 28
src/views/human/depart/handover/HandoverAddForm.vue

@@ -66,6 +66,13 @@
 							highlight-hover-row :menu-config="{}" :print-config="{}" :import-config="{}"
 							:export-config="{}" :data="dataList" header-align="center" :checkbox-config="{}">
 							<vxe-column title="项目编号" field="projectNumber">
+								<template #default="scope">
+									<el-link type="primary" :underline="false"
+										v-if="hasPermission('cwProjectRecords:view')"
+										@click="view(scope.row.projectId)">{{
+											scope.row.projectNumber }}</el-link>
+									<span v-else>{{ scope.row.projectName }}</span>
+								</template>
 							</vxe-column>
 							<vxe-column title="项目名称" field="projectName"></vxe-column>
 							<vxe-column title="报告号" field="reportNo"></vxe-column>
@@ -126,8 +133,8 @@
 								</template>
 							</vxe-column>
 						</vxe-table>
-						<vxe-pager v-if="inputForm.type != 5" background :current-page="tablePage.currentPage"
-							:page-size="tablePage.pageSize" :total="tablePage.total"
+						<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">
@@ -144,6 +151,13 @@
 							:menu-config="{}" align="center" :print-config="{}" :import-config="{}" :export-config="{}"
 							:data="dataList1" header-align="center" :checkbox-config="{}">
 							<vxe-column title="项目编号" field="projectNumber">
+								<template #default="scope">
+									<el-link type="primary" :underline="false"
+										v-if="hasPermission('cwProjectRecords:view')"
+										@click="view(scope.row.projectId)">{{
+											scope.row.projectNumber }}</el-link>
+									<span v-else>{{ scope.row.projectName }}</span>
+								</template>
 							</vxe-column>
 							<vxe-column title="项目名称" field="projectName"></vxe-column>
 							<vxe-column title="报告号" field="reportNo"></vxe-column>
@@ -161,8 +175,8 @@
 								</template>
 							</vxe-column>
 						</vxe-table>
-						<vxe-pager v-if="inputForm.type != 5" background :current-page="tablePage1.currentPage"
-							:page-size="tablePage1.pageSize" :total="tablePage1.total"
+						<vxe-pager background :current-page="tablePage1.currentPage" :page-size="tablePage1.pageSize"
+							:total="tablePage1.total"
 							:page-sizes="[10, 20, 100, 1000, { label: '全量数据', value: 1000000 }]"
 							:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
 							@page-change="currentChangeHandle1">
@@ -179,6 +193,13 @@
 							:menu-config="{}" :print-config="{}" :import-config="{}" :export-config="{}"
 							:data="dataList2" align="center" header-align="center" :checkbox-config="{}">
 							<vxe-column title="项目编号" field="projectNumber">
+								<template #default="scope">
+									<el-link type="primary" :underline="false"
+										v-if="hasPermission('cwProjectRecords:view')"
+										@click="view(scope.row.projectId)">{{
+											scope.row.projectNumber }}</el-link>
+									<span v-else>{{ scope.row.projectName }}</span>
+								</template>
 							</vxe-column>
 							<vxe-column title="项目名称" field="projectName"></vxe-column>
 							<vxe-column title="报告号" field="reportNo"></vxe-column>
@@ -206,6 +227,7 @@
 			</el-col>
 		</el-form>
 		<user-select3 ref="userSelect3" @doSubmit="selectUser3"></user-select3>
+		<ProjectRecordsForm ref="projectRecordsForm" @refreshList="refreshList"></ProjectRecordsForm>
 	</div>
 </template>
 
@@ -221,6 +243,7 @@ import ReportCancellApplyArchivedService from '@/api/cw/reportCancellApplyArchiv
 import UpLoadComponent from '@/views/common/UpLoadComponent'
 import OSSSerivce from '@/api/sys/OSSService'
 import UserSelect3 from '@/views/utils/UserTreeSelectToResign'
+import ProjectRecordsForm from '@/views/cw/projectRecords/projectRecordsForm'
 export default {
 	props: {
 		businessId: {
@@ -338,7 +361,8 @@ export default {
 		UserSelectAll,
 		UserSelect2,
 		UserSelect3,
-		UpLoadComponent
+		UpLoadComponent,
+		ProjectRecordsForm
 	},
 	computed: {
 		bus: {
@@ -396,7 +420,11 @@ export default {
 		currentChangeHandle({ currentPage, pageSize }) {
 			this.tablePage.currentPage = currentPage;
 			this.tablePage.pageSize = pageSize;
-			this.getNotCompProjectInfo();
+			if (this.inputForm.type == 5) {
+				this.getProjectInfo1()
+			} else {
+				this.getNotCompProjectInfo();
+			}
 		},
 		// 获取一个月内完成的数据列表
 		getCompProjectInfo() {
@@ -426,7 +454,11 @@ export default {
 		currentChangeHandle1({ currentPage, pageSize }) {
 			this.tablePage1.currentPage = currentPage
 			this.tablePage1.pageSize = pageSize
-			this.getCompProjectInfo()
+			if (this.inputForm.type == 5) {
+				this.getProjectInfo2()
+			} else {
+				this.getCompProjectInfo()
+			}
 		},
 		// 获取作废报告归档未完成信息
 		getCancelProjectInfo() {
@@ -505,20 +537,23 @@ export default {
 					if (this.commonJS.isEmpty(this.inputForm.department)) {
 						this.inputForm.department = this.$store.state.user.office.id
 					}
-					this.dataList = this.inputForm.workAttachments.map(item => {
-						return {
-							...item,
-							name: item.attachmentName
-						}
-					})
+					if (this.inputForm.workAttachments && this.inputForm.workAttachments.length > 0) {
+						this.dataList = this.inputForm.workAttachments.map(item => {
+							return {
+								...item,
+								name: item.attachmentName
+							}
+						})
+					}
+
 					this.$refs.uploadComponent.newUpload(method, this.dataList, 'handover', 300, "交接资料附件上传")
 
 					if (this.inputForm.type != 5) {
 						this.getNotCompProjectInfo()
 						this.getCompProjectInfo()
 					} else {
-						// 获取已经保存交接项目信息
-						this.handleProjectList()
+						this.getProjectInfo1()
+						this.getProjectInfo2()
 					}
 					// 获取未完成数据列表
 					this.getCancelProjectInfo()
@@ -526,23 +561,48 @@ export default {
 				})
 			})
 		},
-		// 处理已经固定的项目信息
-		handleProjectList() {
-			this.tableLoading = true
-			this.tableLoading1 = true
-			handoverService.findProjectList(this.inputForm.id).then(data => {
-				let list = data.reduce((acc, item) => {
-					acc[item.type == 0 ? 0 : 1].push({
+		getProjectInfo1() {
+			this.tableLoading = true;
+			handoverService.findProjectList({
+				current: this.tablePage.currentPage,
+				size: this.tablePage.pageSize,
+				orders: this.tablePage.orders,
+				id: this.inputForm.id,
+				type: 0
+			}).then(data => {
+				this.dataList = data.records.map(item => {
+					return {
 						...item,
 						userName: item.createName,
 						reportNo: item.reportCode
-					});
-					return acc;
-				}, [[], []]);
-
-				this.dataList = list[0];
-				this.dataList1 = list[1];
+					}
+				})
+				this.tablePage.total = data.total
 				this.tableLoading = false;
+			}).catch(err => {
+				this.tableLoading = false;
+
+			})
+		},
+		getProjectInfo2() {
+			this.tableLoading1 = true;
+			handoverService.findProjectList({
+				current: this.tablePage1.currentPage,
+				size: this.tablePage1.pageSize,
+				orders: this.tablePage1.orders,
+				id: this.inputForm.id,
+				type: 1
+			}).then(data => {
+				this.dataList1 = data.records.map(item => {
+					return {
+						...item,
+						userName: item.createName,
+						reportNo: item.reportCode
+					}
+				})
+				this.tablePage1.total = data.total
+				this.tableLoading1 = false;
+			}).catch(err => {
 				this.tableLoading1 = false;
 
 			})
@@ -730,6 +790,7 @@ export default {
 							text = '已超期归档';
 						}
 						projectList.push({
+							projectId: item1.projectId,
 							projectNumber: item1.projectNumber,
 							projectName: item1.projectName,
 							reportCode: item1.reportNo,
@@ -838,6 +899,10 @@ export default {
 			this.inputForm.realProjectManager = user[0].name
 			console.log(user);
 		},
+		view(id) {
+			console.log(id)
+			this.$refs.projectRecordsForm.init('view', id)
+		},
 	}
 }
 </script>

+ 1 - 1
src/views/utils/UserTreeSelectToResign.vue

@@ -18,7 +18,7 @@
         <vxe-table border="inner" auto-resize resizable height="400px" :loading="loading" size="small" ref="userTable"
           show-header-overflow show-overflow highlight-hover-row :menu-config="{}" :sort-config="{ remote: true }"
           :data="dataList" :row-config="{ isCurrent: true }" :radio-config="{ trigger: 'row' }"
-          :tree-config="{ transform: true, rowField: 'id', parentField: 'parentId', expandAll: true }"
+          :tree-config="{ transform: true, rowField: 'id', parentField: 'parentId', expandAll: false }"
           :checkbox-config="{}">
           <!--          <vxe-column type="seq" width="60" title="序号"></vxe-column>-->
           <vxe-column type="radio" width="50"></vxe-column>