瀏覽代碼

用户离职交接需求调整

huangguoce 4 月之前
父節點
當前提交
a72a471237

+ 138 - 136
src/api/consultancy/reimbursement/ReimbursementService.js

@@ -1,164 +1,166 @@
-import request from '@/utils/httpRequest'
-import {CONSULTANCY_PATH as prefix} from "../../AppPath";
+import request from "@/utils/httpRequest";
+import { CONSULTANCY_PATH as prefix } from "../../AppPath";
 
 export default class ReimbursementService {
-  list (param) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/list',
-      method: 'get',
-      params: param
-    })
-  }
-  reportNoList (param) {
-    return request({
-      url: prefix +  '/consultancyReimbursement/info/reportNoList',
-      method: 'get',
-      params: param
-    })
-  }
-  projectList (params) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/projectList',
-      method: 'get',
-      params: params
-    })
-  }
-  save (param) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/save',
-      method: 'post',
-      data: param
-    })
-  }
-  findById (id) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/findById',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  remove (id) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/remove',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  updateStatusById (param) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/updateStatusById',
-      method: 'post',
-      data: param
-    })
-  }
-  checkNumber (number) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/checkNumber',
-      method: 'get',
-      params: {number: number}
-    })
-  }
-  userTree (name) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/userTree',
-      method: 'get',
-      params: {name: name}
-    })
-  }
-  exportFile (params) {
-    return request({
-      url: prefix + '/consultancyReimbursement/info/exportFile',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
-	exportInvoiceReimbursementFile (params) {
-		return request({
-			url: prefix + '/consultancyReimbursement/info/exportInvoiceReimbursementFile',
-			method: 'get',
+	list(param) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/list",
+			method: "get",
+			params: param,
+		});
+	}
+	reportNoList(param) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/reportNoList",
+			method: "get",
+			params: param,
+		});
+	}
+	projectList(params) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/projectList",
+			method: "get",
+			params: params,
+		});
+	}
+	save(param) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/save",
+			method: "post",
+			data: param,
+		});
+	}
+	findById(id) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/findById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	remove(id) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/remove",
+			method: "get",
+			params: { id: id },
+		});
+	}
+
+	checkNumber(number) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/checkNumber",
+			method: "get",
+			params: { number: number },
+		});
+	}
+	userTree(name) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/userTree",
+			method: "get",
+			params: { name: name },
+		});
+	}
+	exportFile(params) {
+		return request({
+			url: prefix + "/consultancyReimbursement/info/exportFile",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
+	exportInvoiceReimbursementFile(params) {
+		return request({
+			url:
+				prefix +
+				"/consultancyReimbursement/info/exportInvoiceReimbursementFile",
+			method: "get",
 			params: params,
-			responseType: 'blob'
-		})
+			responseType: "blob",
+		});
+	}
+	getEffectiveDataByInvoiceNumber(invoiceNumber, id) {
+		return request({
+			url:
+				prefix +
+				"/consultancyReimbursement/info/getEffectiveDataByInvoiceNumber",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
 	}
-  getEffectiveDataByInvoiceNumber (invoiceNumber,id) {
-	return request({
-		url: prefix + '/consultancyReimbursement/info/getEffectiveDataByInvoiceNumber',
-		method: 'get',
-		params: {invoiceNumber: invoiceNumber,id:id}
-	})
-  }
-	getEffectiveDataByNumbers (invoiceNumber,id) {
+	getEffectiveDataByNumbers(invoiceNumber, id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/getEffectiveDataByNumbers',
-			method: 'get',
-			params: {invoiceNumber: invoiceNumber,id:id}
-		})
+			url:
+				prefix +
+				"/consultancyReimbursement/info/getEffectiveDataByNumbers",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
 	}
-	getEffectiveDataByNumbers2 (invoiceNumber,id) {
+	getEffectiveDataByNumbers2(invoiceNumber, id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/getEffectiveDataByNumbers2',
-			method: 'post',
-			data: {financeNumber: invoiceNumber,id: id}
-		})
+			url:
+				prefix +
+				"/consultancyReimbursement/info/getEffectiveDataByNumbers2",
+			method: "post",
+			data: { financeNumber: invoiceNumber, id: id },
+		});
 	}
-	deleteByIdAndNumber (id,invoiceNumber) {
+	deleteByIdAndNumber(id, invoiceNumber) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/deleteByIdAndNumber',
-			method: 'post',
-			params: {id:id,invoiceNumber: invoiceNumber}
-		})
+			url: prefix + "/consultancyReimbursement/info/deleteByIdAndNumber",
+			method: "post",
+			params: { id: id, invoiceNumber: invoiceNumber },
+		});
 	}
-	findHistory (id) {
+	findHistory(id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/findHistory',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/consultancyReimbursement/info/findHistory",
+			method: "get",
+			params: { id: id },
+		});
 	}
-	findHiById (id) {
+	findHiById(id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/findHiById',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/consultancyReimbursement/info/findHiById",
+			method: "get",
+			params: { id: id },
+		});
 	}
-	updatePaymentStatus (param) {
+	updatePaymentStatus(param) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/updatePaymentStatus',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/consultancyReimbursement/info/updatePaymentStatus",
+			method: "post",
+			data: param,
+		});
 	}
-	updateFileStatusById(param){
+	updateFileStatusById(param) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/updateFileStatusById',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/consultancyReimbursement/info/updateFileStatusById",
+			method: "post",
+			data: param,
+		});
 	}
 
-	findFileById (id) {
+	findFileById(id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/findFileById',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/consultancyReimbursement/info/findFileById",
+			method: "get",
+			params: { id: id },
+		});
 	}
 
-	saveFile (param) {
+	saveFile(param) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/saveFile',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/consultancyReimbursement/info/saveFile",
+			method: "post",
+			data: param,
+		});
 	}
 
-	findFileByReimId (id) {
+	findFileByReimId(id) {
 		return request({
-			url: prefix + '/consultancyReimbursement/info/findFileByReimId',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/consultancyReimbursement/info/findFileByReimId",
+			method: "get",
+			params: { id: id },
+		});
 	}
 }

+ 8 - 0
src/api/cw/projectRecords/ProjectReportArchiveService.js

@@ -9,6 +9,7 @@ export default class ProjectReportArchiveService {
 			params: params,
 		});
 	}
+
 	reportList(params) {
 		return request({
 			url: prefix + "/cwProjectReportArchive/reportList",
@@ -91,4 +92,11 @@ export default class ProjectReportArchiveService {
 			params: { reportId: reportId },
 		});
 	}
+	findCompletedList(params) {
+		return request({
+			url: prefix + "/cwProjectReportArchive/findCompletedList",
+			method: "get",
+			params: params,
+		});
+	}
 }

+ 207 - 184
src/api/cw/reimbursementApproval/ReimbursementApprovalService.js

@@ -1,194 +1,217 @@
 import request from "@/utils/httpRequest";
 import { FINANCE_PATH as prefix } from "../../AppPath";
 
-
 export default class ReimbursementApprovalService {
-  list (param) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/list',
-      method: 'get',
-      params: param
-    })
-  }
-	list2 (param) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/list2',
-			method: 'get',
-			params: param
-		})
-	}
-  reportNoList (param) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/reportNoList',
-      method: 'get',
-      params: param
-    })
-  }
-  projectList (params) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/projectList',
-      method: 'get',
-      params: params
-    })
-  }
-  save (param) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/save',
-      method: 'post',
-      data: param
-    })
-  }
-	saveFile (param) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/saveFile',
-			method: 'post',
-			data: param
-		})
-	}
-  findById (id) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/findById',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-	findFileById (id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/findFileById',
-			method: 'get',
-			params: {id: id}
-		})
-	}
-  remove (id) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/remove',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  updateStatusById (param) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/updateStatusById',
-      method: 'post',
-      data: param
-    })
-  }
-	updateFileStatusById(param){
-		return request({
-			url: prefix + '/reimbursementApproval/info/updateFileStatusById',
-			method: 'post',
-			data: param
-		})
-	}
-  checkNumber (number) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/checkNumber',
-      method: 'get',
-      params: {number: number}
-    })
-  }
-  userTree (name) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/userTree',
-      method: 'get',
-      params: {name: name}
-    })
-  }
-  exportFile (params) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/exportFile',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
-	exportFile2 (params) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/exportFile2',
-			method: 'get',
+	list(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/list",
+			method: "get",
+			params: param,
+		});
+	}
+
+	list2(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/list2",
+			method: "get",
+			params: param,
+		});
+	}
+	reportNoList(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/reportNoList",
+			method: "get",
+			params: param,
+		});
+	}
+	projectList(params) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/projectList",
+			method: "get",
+			params: params,
+		});
+	}
+	save(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/save",
+			method: "post",
+			data: param,
+		});
+	}
+	saveFile(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/saveFile",
+			method: "post",
+			data: param,
+		});
+	}
+	findById(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/findById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	findFileById(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/findFileById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	remove(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/remove",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	updateStatusById(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/updateStatusById",
+			method: "post",
+			data: param,
+		});
+	}
+	updateFileStatusById(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/updateFileStatusById",
+			method: "post",
+			data: param,
+		});
+	}
+	checkNumber(number) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/checkNumber",
+			method: "get",
+			params: { number: number },
+		});
+	}
+	userTree(name) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/userTree",
+			method: "get",
+			params: { name: name },
+		});
+	}
+	userTreeByTenantId(name) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/userTreeByTenantId",
+			method: "get",
+			params: { name: name },
+		});
+	}
+	exportFile(params) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/exportFile",
+			method: "get",
 			params: params,
-			responseType: 'blob'
-		})
-	}
-	exportInvoiceReimbursementFile (params) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/exportInvoiceReimbursementFile',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
-	exportInvoiceReimbursementFile2 (params) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/exportInvoiceReimbursementFile2',
-			method: 'get',
+			responseType: "blob",
+		});
+	}
+	exportFile2(params) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/exportFile2",
+			method: "get",
 			params: params,
-			responseType: 'blob'
-		})
+			responseType: "blob",
+		});
 	}
-
-  queryByProIds (ids) {
-    return request({
-      url: prefix + '/reimbursementApproval/info/queryByProIds',
-      method: 'get',
-      params: {ids: ids}
-    })
-  }
-  getEffectiveDataByInvoiceNumber (invoiceNumber,id) {
-	return request({
-		url: prefix + '/reimbursementApproval/info/getEffectiveDataByInvoiceNumber',
-		method: 'get',
-		params: {invoiceNumber: invoiceNumber,id:id}
-	})
-  }
-	getEffectiveDataByNumbers (invoiceNumber,id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/getEffectiveDataByNumbers',
-			method: 'get',
-			params: {invoiceNumber: invoiceNumber,id:id}
-		})
-	}
-	getEffectiveDataByNumbers2 (invoiceNumber,id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/getEffectiveDataByNumbers2',
-			method: 'post',
-			data: {financeNumber: invoiceNumber,id: id}
-		})
-	}
-	deleteByIdAndNumber (id,invoiceNumber) {
-	return request({
-		url: prefix + '/reimbursementApproval/info/deleteByIdAndNumber',
-		method: 'post',
-		params: {id:id,invoiceNumber: invoiceNumber}
-	})
-  }
-	findHistory (id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/findHistory',
-			method: 'get',
-			params: {id: id}
-		})
-	}
-	findHiById (id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/findHiById',
-			method: 'get',
-			params: {id: id}
-		})
-	}
-	updatePaymentStatus (param) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/updatePaymentStatus',
-			method: 'post',
-			data: param
-		})
-	}
-	findFileByReimId (id) {
-		return request({
-			url: prefix + '/reimbursementApproval/info/findFileByReimId',
-			method: 'get',
-			params: {id: id}
-		})
+	exportInvoiceReimbursementFile(params) {
+		return request({
+			url:
+				prefix +
+				"/reimbursementApproval/info/exportInvoiceReimbursementFile",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
+	exportInvoiceReimbursementFile2(params) {
+		return request({
+			url:
+				prefix +
+				"/reimbursementApproval/info/exportInvoiceReimbursementFile2",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
 	}
 
+	queryByProIds(ids) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/queryByProIds",
+			method: "get",
+			params: { ids: ids },
+		});
+	}
+	getEffectiveDataByInvoiceNumber(invoiceNumber, id) {
+		return request({
+			url:
+				prefix +
+				"/reimbursementApproval/info/getEffectiveDataByInvoiceNumber",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
+	}
+	getEffectiveDataByNumbers(invoiceNumber, id) {
+		return request({
+			url:
+				prefix +
+				"/reimbursementApproval/info/getEffectiveDataByNumbers",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
+	}
+	getEffectiveDataByNumbers2(invoiceNumber, id) {
+		return request({
+			url:
+				prefix +
+				"/reimbursementApproval/info/getEffectiveDataByNumbers2",
+			method: "post",
+			data: { financeNumber: invoiceNumber, id: id },
+		});
+	}
+	deleteByIdAndNumber(id, invoiceNumber) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/deleteByIdAndNumber",
+			method: "post",
+			params: { id: id, invoiceNumber: invoiceNumber },
+		});
+	}
+	findHistory(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/findHistory",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	findHiById(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/findHiById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	updatePaymentStatus(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/updatePaymentStatus",
+			method: "post",
+			data: param,
+		});
+	}
+	findFileByReimId(id) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/findFileByReimId",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	computerList(param) {
+		return request({
+			url: prefix + "/reimbursementApproval/info/computerList",
+			method: "get",
+			params: param,
+		});
+	}
 }

+ 52 - 43
src/api/cw/reportCancellApplyArchived/ReportCancellApplyArchivedService.js

@@ -2,48 +2,57 @@ import request from "@/utils/httpRequest";
 import { FINANCE_PATH as prefix } from "../../AppPath";
 
 export default class ReportCancellApplyArchivedService {
-  findList (params) {
-    return request({
-      url: prefix + '/cwProjectReportArchivedCancell/findList',
-      method: 'get',
-      params: params
-    })
-  }
-  queryById (id) {
-    return request({
-      url: prefix + '/cwProjectReportArchivedCancell/queryById',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  saveForm (inputForm) {
-    return request({
-      url: prefix + `/cwProjectReportArchivedCancell/saveForm`,
-      method: 'post',
-      data: inputForm
-    })
-  }
-  updateStatusById (data) {
-    return request({
-      url: prefix + '/cwProjectReportArchivedCancell/updateStatusById',
-      method: 'post',
-      data: data
-    })
-  }
-  findByContractInfoId (id) {
-    return request({
-      url: prefix + '/cwProjectReportArchivedCancell/findByContractInfoId',
-      method: 'get',
-      params: {id: id}
-    })
-  }
+	findList(params) {
+		return request({
+			url: prefix + "/cwProjectReportArchivedCancell/findList",
+			method: "get",
+			params: params,
+		});
+	}
 
-  exportExcel (params) {
-    return request({
-      url: prefix + '/cwProjectReportArchivedCancell/export',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
+	queryById(id) {
+		return request({
+			url: prefix + "/cwProjectReportArchivedCancell/queryById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	saveForm(inputForm) {
+		return request({
+			url: prefix + `/cwProjectReportArchivedCancell/saveForm`,
+			method: "post",
+			data: inputForm,
+		});
+	}
+	updateStatusById(data) {
+		return request({
+			url: prefix + "/cwProjectReportArchivedCancell/updateStatusById",
+			method: "post",
+			data: data,
+		});
+	}
+	findByContractInfoId(id) {
+		return request({
+			url:
+				prefix + "/cwProjectReportArchivedCancell/findByContractInfoId",
+			method: "get",
+			params: { id: id },
+		});
+	}
+
+	exportExcel(params) {
+		return request({
+			url: prefix + "/cwProjectReportArchivedCancell/export",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
+	findNotCompList(params) {
+		return request({
+			url: prefix + "/cwProjectReportArchivedCancell/findNotCompList",
+			method: "get",
+			params: params,
+		});
+	}
 }

+ 264 - 256
src/api/cw/reportManagement/ProjectReportService.js

@@ -2,299 +2,307 @@ import request from "@/utils/httpRequest";
 import { FINANCE_PATH as prefix } from "../../AppPath";
 
 export default {
-  list: function (params) {
-    return request({
-      url: prefix + '/cwProjectReport/list',
-      method: 'get',
-      params: params
-    })
-  },
-exportAllSignatureFile: function (ids) {
-	return request({
-		url: prefix + '/cwProjectReport/exportAllSignatureFile',
-		method: 'get',
-		params: {ids: ids},
-		responseType: 'blob'
-	})
-},
-  saveForm: function (inputForm) {
-    return request({
-      url: prefix + `/cwProjectReport/saveForm`,
-      method: 'post',
-      data: inputForm
-    })
-  },
+	list: function (params) {
+		return request({
+			url: prefix + "/cwProjectReport/list",
+			method: "get",
+			params: params,
+		});
+	},
+	findNotCompletedList: function (params) {
+		return request({
+			url: prefix + "/cwProjectReport/findNotCompletedList",
+			method: "get",
+			params: params,
+		});
+	},
+
+	exportAllSignatureFile: function (ids) {
+		return request({
+			url: prefix + "/cwProjectReport/exportAllSignatureFile",
+			method: "get",
+			params: { ids: ids },
+			responseType: "blob",
+		});
+	},
+	saveForm: function (inputForm) {
+		return request({
+			url: prefix + `/cwProjectReport/saveForm`,
+			method: "post",
+			data: inputForm,
+		});
+	},
 	saveForm2: function (inputForm) {
 		return request({
 			url: prefix + `/cwProjectReport/saveForm2`,
-			method: 'post',
-			data: inputForm
-		})
-	},
-  updateStatusById: function (data) {
-    return request({
-      url: prefix + '/cwProjectReport/updateStatusById',
-      method: 'post',
-      data: data
-    })
-  },
-  queryById: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/queryById',
-      method: 'get',
-      params: {id: id}
-    })
-  },
+			method: "post",
+			data: inputForm,
+		});
+	},
+	updateStatusById: function (data) {
+		return request({
+			url: prefix + "/cwProjectReport/updateStatusById",
+			method: "post",
+			data: data,
+		});
+	},
+	queryById: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/queryById",
+			method: "get",
+			params: { id: id },
+		});
+	},
 	queryById2: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/queryById2',
-      method: 'get',
-      params: {id: id}
-    })
-  },
-  delete: function (ids) {
-    return request({
-      url: prefix + '/cwProjectReport/delete',
-      method: 'delete',
-      params: {ids: ids}
-    })
-  },
-  clineList: function (params) {
-    return request({
-      url: prefix + '/cwProjectReport/clineList',
-      method: 'get',
-      params: params
-    })
-  },
-  recordsList: function (params) {
-    return request({
-      url: prefix + '/cwProjectReport/recordsList',
-      method: 'get',
-      params: params
-    })
-  },
-  saveFlowableParam: function (inputForm) {
-    return request({
-      url: prefix + `/cwProjectReport/saveFlowableParam`,
-      method: 'post',
-      data: inputForm
-    })
-  },
-  updateSignatureStatusById: function (data) {
-    return request({
-      url: prefix + '/cwProjectReport/updateSignatureStatusById',
-      method: 'post',
-      data: data
-    })
-  },
-  updateSigStatusById: function (data) {
-		return request({
-			url: prefix + '/cwProjectReport/updateSigStatusById',
-			method: 'post',
-			data: data
-		})
-  },
-  queryBySignatureId: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/queryBySignatureId',
-      method: 'get',
-      params: {id: id}
-    })
-  },
-  findBySignatureId: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/findBySignatureId',
-      method: 'get',
-      params: {id: id}
-    })
-  },
-  saveData: function (inputForm) {
-    return request({
-      url: prefix + `/cwProjectReport/saveData`,
-      method: 'post',
-      data: inputForm
-    })
-  },
+		return request({
+			url: prefix + "/cwProjectReport/queryById2",
+			method: "get",
+			params: { id: id },
+		});
+	},
+	delete: function (ids) {
+		return request({
+			url: prefix + "/cwProjectReport/delete",
+			method: "delete",
+			params: { ids: ids },
+		});
+	},
+	clineList: function (params) {
+		return request({
+			url: prefix + "/cwProjectReport/clineList",
+			method: "get",
+			params: params,
+		});
+	},
+	recordsList: function (params) {
+		return request({
+			url: prefix + "/cwProjectReport/recordsList",
+			method: "get",
+			params: params,
+		});
+	},
+	saveFlowableParam: function (inputForm) {
+		return request({
+			url: prefix + `/cwProjectReport/saveFlowableParam`,
+			method: "post",
+			data: inputForm,
+		});
+	},
+	updateSignatureStatusById: function (data) {
+		return request({
+			url: prefix + "/cwProjectReport/updateSignatureStatusById",
+			method: "post",
+			data: data,
+		});
+	},
+	updateSigStatusById: function (data) {
+		return request({
+			url: prefix + "/cwProjectReport/updateSigStatusById",
+			method: "post",
+			data: data,
+		});
+	},
+	queryBySignatureId: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/queryBySignatureId",
+			method: "get",
+			params: { id: id },
+		});
+	},
+	findBySignatureId: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/findBySignatureId",
+			method: "get",
+			params: { id: id },
+		});
+	},
+	saveData: function (inputForm) {
+		return request({
+			url: prefix + `/cwProjectReport/saveData`,
+			method: "post",
+			data: inputForm,
+		});
+	},
 
-saveSignatureAnnotator: function (inputForm) {
-	return request({
-		url: prefix + '/cwProjectReport/saveSignatureAnnotator',
-		method: 'post',
-		data: inputForm
-	})
-},
+	saveSignatureAnnotator: function (inputForm) {
+		return request({
+			url: prefix + "/cwProjectReport/saveSignatureAnnotator",
+			method: "post",
+			data: inputForm,
+		});
+	},
 
-  exportExcel: function (params) {
-    return request({
-      url: prefix + '/cwProjectReport/export',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  },
-  getAuditNodeByReportId: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/getAuditNodeByReportId',
-      method: 'get',
-      params: {id: id}
-    })
-  },
-  getSignatureTypeById: function (id, signatureType) {
-    return request({
-      url: prefix + '/cwProjectReport/getSignatureTypeById',
-      method: 'get',
-      params: {id: id, signatureType: signatureType}
-    })
-  },
-  getIdByContractId: function (contractId, reportForm) {
-    return request({
-      url: prefix + '/cwProjectReport/getIdByContractId',
-      method: 'get',
-      params: {contractId: contractId, ...reportForm}
-    })
-  },
-  getIdByProjectId: function (projectId, reportForm) {
-    return request({
-      url: prefix + '/cwProjectReport/getIdByProjectId',
-      method: 'get',
-      params: {projectId: projectId, ...reportForm}
-    })
-  },
+	exportExcel: function (params) {
+		return request({
+			url: prefix + "/cwProjectReport/export",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	},
+	getAuditNodeByReportId: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/getAuditNodeByReportId",
+			method: "get",
+			params: { id: id },
+		});
+	},
+	getSignatureTypeById: function (id, signatureType) {
+		return request({
+			url: prefix + "/cwProjectReport/getSignatureTypeById",
+			method: "get",
+			params: { id: id, signatureType: signatureType },
+		});
+	},
+	getIdByContractId: function (contractId, reportForm) {
+		return request({
+			url: prefix + "/cwProjectReport/getIdByContractId",
+			method: "get",
+			params: { contractId: contractId, ...reportForm },
+		});
+	},
+	getIdByProjectId: function (projectId, reportForm) {
+		return request({
+			url: prefix + "/cwProjectReport/getIdByProjectId",
+			method: "get",
+			params: { projectId: projectId, ...reportForm },
+		});
+	},
 	getIdByProjectId2: function (projectId, reportForm) {
 		return request({
-			url: prefix + '/cwProjectReport/getIdByProjectId2',
-			method: 'get',
-			params: {projectId: projectId, ...reportForm}
-		})
+			url: prefix + "/cwProjectReport/getIdByProjectId2",
+			method: "get",
+			params: { projectId: projectId, ...reportForm },
+		});
 	},
 
-  getIdByClientId: function (clientId, reportForm) {
-    return request({
-      url: prefix + '/cwProjectReport/getIdByClientId',
-      method: 'get',
-      params: {clientId: clientId, ...reportForm}
-    })
-  },
-  saveSignFiles: function (data) {
-    return request({
-      url: prefix + '/cwProjectReport/saveSignFiles',
-      method: 'post',
-      data: data
-    })
-  },
-  saveReportArchive: function (reportId) {
-    return request({
-      url: prefix + '/cwProjectReport/saveReportArchive',
-      method: 'get',
-      params: {reportId: reportId}
-    })
-  },
-  /* 三级校审文档下载 */
-  downloadCwReportAuditTpl: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/downloadCwReportAuditTpl',
-      method: 'get',
-      params: {id: id},
-      responseType: 'blob'
-    })
-  },
-  rebackSign: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/rebackSign',
-      method: 'get',
-      params: {reportId: id}
-    })
-  },
+	getIdByClientId: function (clientId, reportForm) {
+		return request({
+			url: prefix + "/cwProjectReport/getIdByClientId",
+			method: "get",
+			params: { clientId: clientId, ...reportForm },
+		});
+	},
+	saveSignFiles: function (data) {
+		return request({
+			url: prefix + "/cwProjectReport/saveSignFiles",
+			method: "post",
+			data: data,
+		});
+	},
+	saveReportArchive: function (reportId) {
+		return request({
+			url: prefix + "/cwProjectReport/saveReportArchive",
+			method: "get",
+			params: { reportId: reportId },
+		});
+	},
+	/* 三级校审文档下载 */
+	downloadCwReportAuditTpl: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/downloadCwReportAuditTpl",
+			method: "get",
+			params: { id: id },
+			responseType: "blob",
+		});
+	},
+	rebackSign: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/rebackSign",
+			method: "get",
+			params: { reportId: id },
+		});
+	},
 	rebackReviewSign: function (id) {
-    return request({
-      url: prefix + '/cwProjectReport/rebackReviewSign',
-      method: 'get',
-      params: {reportId: id}
-    })
-  },
-  findByReportId:function (id) {
-	return request({
-		url: prefix + '/cwProjectReport/getSignatureAnnotatorList',
-		method: 'get',
-		params: {reportId: id}
-	})
-  },
+		return request({
+			url: prefix + "/cwProjectReport/rebackReviewSign",
+			method: "get",
+			params: { reportId: id },
+		});
+	},
+	findByReportId: function (id) {
+		return request({
+			url: prefix + "/cwProjectReport/getSignatureAnnotatorList",
+			method: "get",
+			params: { reportId: id },
+		});
+	},
 	updateAgree: function (data) {
 		return request({
-			url: prefix + '/cwProjectReport/updateAgree',
-			method: 'post',
-			data: data
-		})
+			url: prefix + "/cwProjectReport/updateAgree",
+			method: "post",
+			data: data,
+		});
 	},
-	getSigById:function (id) {
+	getSigById: function (id) {
 		return request({
-			url: prefix + '/cwProjectReport/getSigById',
-			method: 'get',
-			params: {id:id}
-		})
+			url: prefix + "/cwProjectReport/getSigById",
+			method: "get",
+			params: { id: id },
+		});
 	},
-	updateStatusByIdSig:function (param) {
+	updateStatusByIdSig: function (param) {
 		return request({
-			url: prefix + '/cwProjectReport/updateStatusByIdSig',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/cwProjectReport/updateStatusByIdSig",
+			method: "post",
+			data: param,
+		});
 	},
-	returnRequest:function (param) {
+	returnRequest: function (param) {
 		return request({
-			url: prefix + '/cwProjectReport/returnRequest',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/cwProjectReport/returnRequest",
+			method: "post",
+			data: param,
+		});
 	},
 	saveRevocation: function (inputForm) {
 		return request({
 			url: prefix + `/cwProjectReport/saveRevocation`,
-			method: 'post',
-			data: inputForm
-		})
+			method: "post",
+			data: inputForm,
+		});
 	},
 	updateStatusByIdRe: function (data) {
 		return request({
-			url: prefix + '/cwProjectReport/updateStatusByIdRe',
-			method: 'post',
-			data: data
-		})
+			url: prefix + "/cwProjectReport/updateStatusByIdRe",
+			method: "post",
+			data: data,
+		});
 	},
 	queryByReId: function (id) {
 		return request({
-			url: prefix + '/cwProjectReport/queryByReId',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/cwProjectReport/queryByReId",
+			method: "get",
+			params: { id: id },
+		});
 	},
 	getCompleteReport: function (id) {
 		return request({
-			url: prefix + '/cwProjectReport/getCompleteReport',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/cwProjectReport/getCompleteReport",
+			method: "get",
+			params: { id: id },
+		});
 	},
-	getByInvoiceNumber: function (invoiceNumber,id) {
+	getByInvoiceNumber: function (invoiceNumber, id) {
 		return request({
-			url: prefix + '/cwProjectReport/getByInvoiceNumber',
-			method: 'get',
-			params: {invoiceNumber: invoiceNumber,id:id}
-		})
+			url: prefix + "/cwProjectReport/getByInvoiceNumber",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
 	},
 	numberReplace: function (data) {
 		return request({
-			url: prefix + '/cwProjectReport/numberReplace',
-			method: 'post',
+			url: prefix + "/cwProjectReport/numberReplace",
+			method: "post",
 			data: data,
-			responseType: 'blob'
-		})
+			responseType: "blob",
+		});
 	},
-	exportTemplate () {
+	exportTemplate() {
 		return request({
-			url: prefix + '/cwProjectReport/importDetail/template',
-			method: 'get',
-			responseType: 'blob'
-		})
-	}
-}
+			url: prefix + "/cwProjectReport/importDetail/template",
+			method: "get",
+			responseType: "blob",
+		});
+	},
+};

+ 30 - 16
src/api/human/depart/HandoverService.js

@@ -2,25 +2,39 @@ import request from "@/utils/httpRequest";
 import { REGISTER_PATH as prefix } from "../../AppPath";
 
 export default {
-	save (inputForm) {
+	save(inputForm) {
 		return request({
-			url: prefix +  `/handover/save`,
-			method: 'post',
-			data: inputForm
-		})
+			url: prefix + `/handover/save`,
+			method: "post",
+			data: inputForm,
+		});
 	},
-	findById (id) {
+	findById(id) {
 		return request({
-			url: prefix + '/handover/findById',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/handover/findById",
+			method: "get",
+			params: { id: id },
+		});
 	},
-	updateStatusById (param) {
+	updateStatusById(param) {
 		return request({
-			url: prefix + '/handover/updateStatusById',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/handover/updateStatusById",
+			method: "post",
+			data: param,
+		});
 	},
-}
+	saveProject(param) {
+		return request({
+			url: prefix + "/handover/saveProject",
+			method: "post",
+			data: param,
+		});
+	},
+	findProjectList(id) {
+		return request({
+			url: prefix + "/handover/findProjectList",
+			method: "get",
+			params: { id: id },
+		});
+	},
+};

+ 153 - 153
src/api/sys/ReimbursementService.js

@@ -1,174 +1,174 @@
-import request from '@/utils/httpRequest'
+import request from "@/utils/httpRequest";
 import { ASSESS_PATH as prefix } from "../AppPath";
 
 export default class ReimbursementService {
-  list (param) {
-    return request({
-      url: prefix + '/reimbursement/info/list',
-      method: 'get',
-      params: param
-    })
-  }
-  save (param) {
-    return request({
-      url: prefix + '/reimbursement/info/save',
-      method: 'post',
-      data: param
-    })
-  }
-  findById (id) {
-    return request({
-      url: prefix + '/reimbursement/info/findById',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  remove (id) {
-    return request({
-      url: prefix + '/reimbursement/info/remove',
-      method: 'get',
-      params: {id: id}
-    })
-  }
-  updateStatusById (param) {
-    return request({
-      url: prefix + '/reimbursement/info/updateStatusById',
-      method: 'post',
-      data: param
-    })
-  }
-  checkNumber (number) {
-    return request({
-      url: prefix + '/reimbursement/info/checkNumber',
-      method: 'get',
-      params: {number: number}
-    })
-  }
-  userTree (name) {
-    return request({
-      url: prefix + '/reimbursement/info/userTree',
-      method: 'get',
-      params: {name: name}
-    })
-  }
-	userTree2 (name) {
-		return request({
-			url: prefix + '/reimbursement/info/userTree2',
-			method: 'get',
-			params: {name: name}
-		})
-	}
-	userTreeSelectBySignatureScribe (name) {
-		return request({
-			url: prefix + '/reimbursement/info/userTreeSelectBySignatureScribe',
-			method: 'get',
-			params: {name: name}
-		})
-	}
-  exportFile (params) {
-    return request({
-      url: prefix + '/reimbursement/info/exportFile',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
-	exportInvoiceReimbursementFile (params) {
-    return request({
-      url: prefix + '/reimbursement/info/exportInvoiceReimbursementFile',
-      method: 'get',
-      params: params,
-      responseType: 'blob'
-    })
-  }
-  queryByProIds (ids) {
-    return request({
-      url: prefix + '/reimbursement/info/queryByProIds',
-      method: 'get',
-      params: {ids: ids}
-    })
-  }
-	getEffectiveDataByInvoiceNumber (invoiceNumber,id) {
-		return request({
-			url: prefix + '/reimbursement/info/getEffectiveDataByInvoiceNumber',
-			method: 'get',
-			params: {invoiceNumber: invoiceNumber,id:id}
-		})
-	}
-	getEffectiveDataByNumbers (invoiceNumber,id) {
-		return request({
-			url: prefix + '/reimbursement/info/getEffectiveDataByNumbers',
-			method: 'get',
-			params: {invoiceNumber: invoiceNumber,id:id}
-		})
-	}
-	getEffectiveDataByNumbers2 (invoiceNumber,id) {
-		return request({
-			url: prefix + '/reimbursement/info/getEffectiveDataByNumbers2',
-			method: 'post',
-			data: {financeNumber: invoiceNumber,id: id}
-		})
-	}
-	deleteByIdAndNumber (id,invoiceNumber) {
-		return request({
-			url: prefix + '/reimbursement/info/deleteByIdAndNumber',
-			method: 'post',
-			params: {id:id,invoiceNumber: invoiceNumber}
-		})
-	}
-	findHistory (id) {
-		return request({
-			url: prefix + '/reimbursement/info/findHistory',
-			method: 'get',
-			params: {id: id}
-		})
-	}
-	findHiById (id) {
-		return request({
-			url: prefix + '/reimbursement/info/findHiById',
-			method: 'get',
-			params: {id: id}
-		})
+	list(param) {
+		return request({
+			url: prefix + "/reimbursement/info/list",
+			method: "get",
+			params: param,
+		});
+	}
+	save(param) {
+		return request({
+			url: prefix + "/reimbursement/info/save",
+			method: "post",
+			data: param,
+		});
+	}
+	findById(id) {
+		return request({
+			url: prefix + "/reimbursement/info/findById",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	remove(id) {
+		return request({
+			url: prefix + "/reimbursement/info/remove",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	updateStatusById(param) {
+		return request({
+			url: prefix + "/reimbursement/info/updateStatusById",
+			method: "post",
+			data: param,
+		});
+	}
+	checkNumber(number) {
+		return request({
+			url: prefix + "/reimbursement/info/checkNumber",
+			method: "get",
+			params: { number: number },
+		});
+	}
+	userTree(name) {
+		return request({
+			url: prefix + "/reimbursement/info/userTree",
+			method: "get",
+			params: { name: name },
+		});
+	}
+	userTree2(name) {
+		return request({
+			url: prefix + "/reimbursement/info/userTree2",
+			method: "get",
+			params: { name: name },
+		});
 	}
 
-	updatePaymentStatus (param) {
+	userTreeSelectBySignatureScribe(name) {
+		return request({
+			url: prefix + "/reimbursement/info/userTreeSelectBySignatureScribe",
+			method: "get",
+			params: { name: name },
+		});
+	}
+	exportFile(params) {
 		return request({
-			url: prefix + '/reimbursement/info/updatePaymentStatus',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/reimbursement/info/exportFile",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
+	exportInvoiceReimbursementFile(params) {
+		return request({
+			url: prefix + "/reimbursement/info/exportInvoiceReimbursementFile",
+			method: "get",
+			params: params,
+			responseType: "blob",
+		});
+	}
+	queryByProIds(ids) {
+		return request({
+			url: prefix + "/reimbursement/info/queryByProIds",
+			method: "get",
+			params: { ids: ids },
+		});
+	}
+	getEffectiveDataByInvoiceNumber(invoiceNumber, id) {
+		return request({
+			url: prefix + "/reimbursement/info/getEffectiveDataByInvoiceNumber",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
+	}
+	getEffectiveDataByNumbers(invoiceNumber, id) {
+		return request({
+			url: prefix + "/reimbursement/info/getEffectiveDataByNumbers",
+			method: "get",
+			params: { invoiceNumber: invoiceNumber, id: id },
+		});
+	}
+	getEffectiveDataByNumbers2(invoiceNumber, id) {
+		return request({
+			url: prefix + "/reimbursement/info/getEffectiveDataByNumbers2",
+			method: "post",
+			data: { financeNumber: invoiceNumber, id: id },
+		});
+	}
+	deleteByIdAndNumber(id, invoiceNumber) {
+		return request({
+			url: prefix + "/reimbursement/info/deleteByIdAndNumber",
+			method: "post",
+			params: { id: id, invoiceNumber: invoiceNumber },
+		});
+	}
+	findHistory(id) {
+		return request({
+			url: prefix + "/reimbursement/info/findHistory",
+			method: "get",
+			params: { id: id },
+		});
+	}
+	findHiById(id) {
+		return request({
+			url: prefix + "/reimbursement/info/findHiById",
+			method: "get",
+			params: { id: id },
+		});
 	}
 
-	updateFileStatusById(param){
+	updatePaymentStatus(param) {
 		return request({
-			url: prefix + '/reimbursement/info/updateFileStatusById',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/reimbursement/info/updatePaymentStatus",
+			method: "post",
+			data: param,
+		});
 	}
 
-	findFileById (id) {
+	updateFileStatusById(param) {
 		return request({
-			url: prefix + '/reimbursement/info/findFileById',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/reimbursement/info/updateFileStatusById",
+			method: "post",
+			data: param,
+		});
 	}
 
-	saveFile (param) {
+	findFileById(id) {
 		return request({
-			url: prefix + '/reimbursement/info/saveFile',
-			method: 'post',
-			data: param
-		})
+			url: prefix + "/reimbursement/info/findFileById",
+			method: "get",
+			params: { id: id },
+		});
 	}
 
-	findFileByReimId (id) {
+	saveFile(param) {
 		return request({
-			url: prefix + '/reimbursement/info/findFileByReimId',
-			method: 'get',
-			params: {id: id}
-		})
+			url: prefix + "/reimbursement/info/saveFile",
+			method: "post",
+			data: param,
+		});
 	}
 
+	findFileByReimId(id) {
+		return request({
+			url: prefix + "/reimbursement/info/findFileByReimId",
+			method: "get",
+			params: { id: id },
+		});
+	}
 }

+ 77 - 128
src/components/userSelect/UserSelectDialog.vue

@@ -1,90 +1,51 @@
 <template>
-	<el-dialog
-		v-model="dialogVisible"
-		title="人员选择"
-		:width="type == 1 ? 680 : 460"
-		destroy-on-close
-		append-to-body
-		@closed="$emit('closed')"
-		draggable
-	>
+	<el-dialog v-model="dialogVisible" title="人员选择" :width="type == 1 ? 680 : 460" destroy-on-close append-to-body
+		@closed="$emit('closed')" draggable>
 		<template v-if="type == 1">
 			<div class="user-select">
 				<div class="user-select__left">
 					<div class="user-select__search">
-						<el-input
-							v-model="searchForm.name"
-							prefix-icon="search"
-							placeholder="搜索成员"
-							clearable
-						>
+						<el-input v-model="searchForm.name" prefix-icon="search" placeholder="搜索成员" clearable>
 							<template #append>
-								<el-button
-									icon="search"
-									@click="search"
-								></el-button>
+								<el-button icon="search" @click="search"></el-button>
 							</template>
 						</el-input>
 					</div>
 					<div class="user-select__select">
-						<div
-							class="user-select__tree"
-							v-loading="showGrouploading"
-						>
+						<div class="user-select__tree" v-loading="showGrouploading">
 							<el-scrollbar>
-								<el-tree
-									class="menu"
-									ref="groupTree"
-									:data="group"
-									node-key="id"
-									:props="{
-										label: 'name',
-										children: 'children',
-									}"
-									highlight-current
-									:expand-on-click-node="false"
-									:current-node-key="groupId"
-									@node-click="groupClick"
-								>
+								<el-tree class="menu" ref="groupTree" :data="group" node-key="id" :props="{
+									label: 'name',
+									children: 'children',
+								}" highlight-current :expand-on-click-node="false" :current-node-key="groupId" @node-click="groupClick">
 									<template #default="{ node, data }">
-										<span
-											class="custom-tree-node el-tree-node__label"
-										>
+										<span class="custom-tree-node el-tree-node__label">
 											<span class="label">
-												<el-icon
-													:size="16"
-													class="m-r-5"
-												>
-													<qiye
-														v-if="data.type === '1'"
-														:style="{
-															color:
-																$TOOL.data.get(
-																	'IS_PRIMARY_TENANT'
-																) &&
-																data.tenantDTO &&
-																$utils.getTenantColorById(
-																	data
-																		.tenantDTO
-																		.id
-																),
-														}"
-													></qiye>
-													<bumen
-														v-else
-														:style="{
-															color:
-																$TOOL.data.get(
-																	'IS_PRIMARY_TENANT'
-																) &&
-																data.tenantDTO &&
-																$utils.getTenantColorById(
-																	data
-																		.tenantDTO
-																		.id
-																),
-														}"
-													></bumen>
+												<el-icon :size="16" class="m-r-5">
+													<qiye v-if="data.type === '1'" :style="{
+														color:
+															$TOOL.data.get(
+																'IS_PRIMARY_TENANT'
+															) &&
+															data.tenantDTO &&
+															$utils.getTenantColorById(
+																data
+																	.tenantDTO
+																	.id
+															),
+													}"></qiye>
+													<bumen v-else :style="{
+														color:
+															$TOOL.data.get(
+																'IS_PRIMARY_TENANT'
+															) &&
+															data.tenantDTO &&
+															$utils.getTenantColorById(
+																data
+																	.tenantDTO
+																	.id
+															),
+													}"></bumen>
 												</el-icon>
 												{{ node.label }}
 											</span>
@@ -93,40 +54,22 @@
 								</el-tree>
 							</el-scrollbar>
 						</div>
-						<div
-							class="user-select__user"
-							v-loading="showUserloading"
-						>
+						<div class="user-select__user" v-loading="showUserloading">
 							<div class="user-select__user__list">
 								<el-scrollbar ref="userScrollbar">
-									<el-tree
-										class="menu"
-										ref="userTree"
-										:data="user"
-										node-key="id"
-										highlight-current
+									<el-tree class="menu" ref="userTree" :data="user" node-key="id" highlight-current
 										:props="{
 											key: 'id',
 											label: 'name',
 											children: 'children',
-										}"
-										:default-checked-keys="selectedIds"
-										:show-checkbox="limit > 1"
-										check-on-click-node
-										@check-change="userClick"
-									></el-tree>
+										}" :default-checked-keys="selectedIds" :show-checkbox="limit > 1" check-on-click-node
+										@check-change="userClick"></el-tree>
 								</el-scrollbar>
 							</div>
 							<footer>
-								<el-pagination
-									background
-									layout="prev,next"
-									small
-									:total="total"
-									:page-size="pageSize"
+								<el-pagination background layout="prev,next" small :total="total" :page-size="pageSize"
 									v-model:currentPage="currentPage"
-									@current-change="paginationChange"
-								></el-pagination>
+									@current-change="paginationChange"></el-pagination>
 							</footer>
 						</div>
 					</div>
@@ -138,40 +81,26 @@
 					<header>已选 ({{ selected.length }})</header>
 					<ul>
 						<el-scrollbar>
-							<li
-								v-for="(item, index) in selected"
-								:key="item.id"
-							>
+							<li v-for="(item, index) in selected" :key="item.id">
 								<span class="name">
-									<el-avatar
-										v-if="
-											$TOOL.data.get('IS_PRIMARY_TENANT')
-										"
-										:size="30"
-										:style="{
-											background:
-												$utils.getTenantColorById(
-													item.tenantId
-												) + '!important',
-										}"
-										>{{
+									<el-avatar v-if="
+										$TOOL.data.get('IS_PRIMARY_TENANT')
+									" :size="30" :style="{
+										background:
+											$utils.getTenantColorById(
+												item.tenantId
+											) + '!important',
+									}">{{
 											item.name.substring(0, 1)
-										}}</el-avatar
-									>
+										}}</el-avatar>
 									<el-avatar v-else>{{
 										item.name.substring(0, 1)
 									}}</el-avatar>
 									<label>{{ item.name }}</label>
 								</span>
 								<span class="delete">
-									<el-button
-										text
-										type="primary"
-										icon="del-filled"
-										circle
-										size="small"
-										@click="deleteSelected(index)"
-									></el-button>
+									<el-button text type="primary" icon="del-filled" circle size="small"
+										@click="deleteSelected(index)"></el-button>
 								</span>
 							</li>
 						</el-scrollbar>
@@ -181,7 +110,8 @@
 		</template>
 
 		<template #footer>
-			<el-button @click="resetSearch()" style="background-color: #F2F6FC" icon="el-icon-refresh-right">重置</el-button>
+			<el-button @click="resetSearch()" style="background-color: #F2F6FC"
+				icon="el-icon-refresh-right">重置</el-button>
 			<el-button @click="dialogVisible = false">取 消</el-button>
 			<el-button type="primary" @click="save">确 认</el-button>
 		</template>
@@ -211,13 +141,13 @@ export default {
 				},
 				name: "",
 			},
+			pageSize: 10,
+			currentPage: 1,
 			dialogVisible: false,
 			showGrouploading: false,
 			showUserloading: false,
 			groupId: "",
-			pageSize: 10,
 			total: 0,
-			currentPage: 1,
 			group: [],
 			user: [],
 			role: [],
@@ -312,7 +242,7 @@ export default {
 			}
 		},
 
-		resetSearch () {
+		resetSearch() {
 			this.getGroup()
 			this.searchForm.companyDTO.id = ''
 			this.searchForm.name = ''
@@ -362,18 +292,22 @@ export default {
 .user-select {
 	display: flex;
 }
+
 .user-select__left {
 	width: 400px;
 }
+
 .user-select__right {
 	flex: 1;
 }
+
 .user-select__selected li .name .el-avatar {
 	margin-right: 2px;
 	height: 10;
 	width: 25px;
 	height: 25px;
 }
+
 .user-select__search {
 	padding-bottom: 10px;
 }
@@ -383,21 +317,25 @@ export default {
 	border: 1px solid var(--el-border-color-light);
 	background: var(--el-color-white);
 }
+
 .user-select__tree {
 	width: 200px;
 	height: 300px;
 	border-right: 1px solid var(--el-border-color-light);
 }
+
 .user-select__user {
 	width: 200px;
 	height: 300px;
 	display: flex;
 	flex-direction: column;
 }
+
 .user-select__user__list {
 	flex: 1;
 	overflow: auto;
 }
+
 .user-select__user footer {
 	height: 36px;
 	padding-top: 5px;
@@ -410,6 +348,7 @@ export default {
 	align-items: center;
 	margin: 0 10px;
 }
+
 .user-select__toicon i {
 	display: flex;
 	justify-content: center;
@@ -429,6 +368,7 @@ export default {
 	border: 1px solid var(--el-border-color-light);
 	background: var(--el-color-white);
 }
+
 .user-select__selected header {
 	height: 43px;
 	line-height: 43px;
@@ -436,10 +376,12 @@ export default {
 	padding: 0 15px;
 	font-size: 16px;
 }
+
 .user-select__selected ul {
 	height: 300px;
 	overflow: auto;
 }
+
 .user-select__selected li {
 	display: flex;
 	align-items: center;
@@ -447,25 +389,32 @@ export default {
 	padding: 5px 5px 5px 15px;
 	height: 38px;
 }
+
 .user-select__selected li .name {
 	display: flex;
 	align-items: center;
 }
+
 .user-select__selected li .name .el-avatar {
 	margin-right: 10px;
 }
+
 .user-select__selected li .delete {
 	display: none;
 }
+
 .user-select__selected li:hover {
 	background: var(--el-color-primary-light-9);
 }
+
 .user-select__selected li:hover .delete {
 	display: inline-block;
 }
+
 .user-select-role .user-select__left {
 	width: 200px;
 }
+
 .user-select-role .user-select__tree {
 	border: none;
 	height: 343px;

+ 359 - 293
src/views/human/depart/handover/ComputerArrearsAddForm.vue

@@ -1,356 +1,422 @@
 <template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
 	<div>
-		<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
-				 label-width="100px" @submit.native.prevent>
+		<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method === 'view' ? 'readonly' : ''"
+			label-width="100px" @submit.native.prevent>
 			<span v-if="showFlag" style="color: red">若对欠款金额无疑问,请在点击确认后,到财务侯媛媛处结清欠款!(仅可用现金)</span>
 			<el-divider content-position="left"><i class="el-icon-document"></i> 基本信息</el-divider>
 			<el-row :gutter="26">
 				<el-col :span="12">
-					<el-form-item label="姓名" prop="name" :rules="[{required: true, message: '姓名不能为空', trigger: 'blur'}]">
-						<el-input v-model="inputForm.name" :disabled="true" ></el-input>
+					<el-form-item label="姓名" prop="name"
+						:rules="[{ required: true, message: '姓名不能为空', trigger: 'blur' }]">
+						<el-input v-model="inputForm.name" :disabled="true"></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="12">
 					<el-form-item label="所属部门" prop="department" :rules="[
-						{required: true, message:'请选择所属部门', trigger: 'blur'}
+						{ required: true, message: '请选择所属部门', trigger: 'blur' }
 					]">
-						<SelectTree
-							ref="officeTree"
-							:props="{
-										  value: 'id',             // ID字段名
-										  label: 'name',         // 显示名称
-										  children: 'children'    // 子级字段名
-										}"
-							:url="`/system-server/sys/office/treeData?type=2`"
-							:value="inputForm.department"
-							:disabled="true"
-							:accordion="true"
-							size="default"
-							@getValue="(value) => {inputForm.department=value}"/>
+						<SelectTree ref="officeTree" :props="{
+							value: 'id',             // ID字段名
+							label: 'name',         // 显示名称
+							children: 'children'    // 子级字段名
+						}" :url="`/system-server/sys/office/treeData?type=2`" :value="inputForm.department" :disabled="true"
+							:accordion="true" size="default" @getValue="(value) => { inputForm.department = value }" />
 					</el-form-item>
 				</el-col>
 			</el-row>
-			<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="disabledTest"
-					 label-width="100px" @submit.native.prevent>
+			<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method === 'view' ? 'readonly' : ''"
+				:disabled="disabledTest" label-width="100px" @submit.native.prevent>
 				<el-row :gutter="26">
 					<el-col :span="12">
-						<el-form-item label="备用金欠款金额" prop="imprestAmountArrears" :rules="[{required: true, message: '备用金欠款金额不能为空', trigger: 'blur'}]">
-							<el-input v-model="inputForm.imprestAmountArrears" maxlength="15" @input="inputForm.imprestAmountArrears = twoDecimalPlaces(inputForm.imprestAmountArrears)"></el-input>
+						<el-form-item label="备用金欠款金额" prop="imprestAmountArrears"
+							:rules="[{ required: true, message: '备用金欠款金额不能为空', trigger: 'blur' }]">
+							<el-input v-model="inputForm.imprestAmountArrears" maxlength="15"
+								@input="inputForm.imprestAmountArrears = twoDecimalPlaces(inputForm.imprestAmountArrears)"></el-input>
 						</el-form-item>
 					</el-col>
 				</el-row>
 			</el-form>
+			<el-divider content-position="left"><i class="el-icon-document"></i> 个人电脑报销记录</el-divider>
+
+			<el-col :span="24">
+				<div style="height:500px;padding-bottom: 50px;">
+					<vxe-table border="inner" auto-resize resizable height="auto" :loading="tableLoading" size="small"
+						ref="todoTable" show-header-overflow show-overflow highlight-hover-row :menu-config="{}"
+						:print-config="{}" :import-config="{}" :export-config="{}" :data="dataList"
+						header-align="center" align="center" :checkbox-config="{}">
+						<vxe-column title="报销编号" field="no">
+						</vxe-column>
+						<vxe-column title="报销人" field="name"></vxe-column>
+						<vxe-column title="报销部门" field="deptName"></vxe-column>
+						<vxe-column title="报销类别" field="typeName"></vxe-column>
+						<vxe-column title="报销日期" field="reimDate"></vxe-column>
+						<vxe-column title="报销金额" field="number"></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>
+			</el-col>
 		</el-form>
 	</div>
 </template>
 
 <script>
-	import SelectTree from '@/components/treeSelect/treeSelect.vue'
-	import handoverComputerService from '@/api/human/depart/HandoverComputerService'
-	import CommonApi from '@/api/cw/common/CommonApi'
+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'
 
-	export default {
-		props: {
-			businessId: {
-				type: String,
-				default: ''
+export default {
+	props: {
+		businessId: {
+			type: String,
+			default: ''
+		},
+		formReadOnly: {
+			type: Boolean,
+			default: false
+		},
+		status: {
+			type: String,
+			default: ''
+		}
+	},
+	data() {
+		return {
+			disabledTest: false,
+			showFlag: false,
+			title: '',
+			method: '',
+			visible: false,
+			loading: false,
+			inputForm: {
+				userId: '',
+				name: '',
+				imprestAmountArrears: '',
+				procInsId: '',
+				assigneeId: '',
+				type: '',
+				department: '',
+				handoverId: '',
 			},
-			formReadOnly: {
-				type: Boolean,
-				default: false
+			keyWatch: '',
+			tableLoading: false,
+			dataList: [],
+			tablePage: {
+				total: 0,
+				currentPage: 1,
+				pageSize: 10,
+				orders: []
 			},
-			status: {
-				type: String,
-				default: ''
-			}
-		},
-		data () {
-			return {
-				disabledTest: false,
-				showFlag: false,
-				title: '',
-				method: '',
-				visible: false,
-				loading: false,
-				inputForm: {
-					userId: '',
-					name: '',
-					imprestAmountArrears: '',
-					procInsId: '',
-					assigneeId: '',
-					type: '',
-					department: '',
-					handoverId: '',
-				},
-				keyWatch: '',
+			searchForm: {
+				project: '',
+				dates: [],
+				handled: '',
+				reimBy: '',
+				type: [],
+				department: '',
+				remiType: '',
+				amounts: [],
+				reportNumber: '',
+				sourceType: '',
+				no: '',
+				paymentStatus: '',
+				financeNumber: ''
+			},
+		}
+	},
+	commonApi: null,
+	reimbursementApprovalService: null,
+	created() {
+		this.commonApi = new CommonApi()
+		this.reimbursementApprovalService = new ReimbursementApprovalService()
+	},
+	components: {
+		SelectTree,
+	},
+	computed: {
+		bus: {
+			get() {
+				return this.businessId
+			},
+			set(val) {
+				this.businessId = val
 			}
 		},
-		commonApi: null,
-		created () {
-			this.commonApi = new CommonApi()
-		},
-		components: {
-			SelectTree,
+		name() {
+			return this.$store.state.user.name
 		},
-		computed: {
-			bus: {
-				get () {
-					return this.businessId
-				},
-				set (val) {
-					this.businessId = val
+		userId() {
+			return this.$store.state.user.id
+		}
+	},
+	watch: {
+		'keyWatch': {
+			handler(newVal) {
+				if (this.commonJS.isNotEmpty(this.bus)) {
+					this.init('', this.bus)
+				} else {
+					this.$nextTick(() => {
+						this.$refs.inputForm.resetFields()
+					})
 				}
-			},
-			name () {
-				return this.$store.state.user.name
-			},
-			userId () {
-				return this.$store.state.user.id
 			}
 		},
-		watch: {
-			'keyWatch': {
-				handler (newVal) {
-					if (this.commonJS.isNotEmpty(this.bus)) {
-						this.init('', this.bus)
-					} else {
-						this.$nextTick(() => {
-							this.$refs.inputForm.resetFields()
-						})
-					}
-				}
-			},
-			'loading': {
-				handler (newVal) {
-					this.$emit('changeLoading', newVal)
-				}
+		'loading': {
+			handler(newVal) {
+				this.$emit('changeLoading', newVal)
 			}
+		}
+	},
+	methods: {
+		getKeyWatch(keyWatch) {
+			this.keyWatch = keyWatch
 		},
-		methods: {
-			getKeyWatch (keyWatch) {
-				this.keyWatch = keyWatch
-			},
-			getUpload () {
-			},
-			init (method, id) {
-				this.method = method
-				this.inputForm = {
-					userId: '',
-					name: '',
-					imprestAmountArrears: '',
-					procInsId: '',
-					assigneeId: '',
-					type: '',
-					department: '',
-					handoverId: '',
-				}
-				if (method === 'add') {
-					this.title = `新建电脑款项检查`
-				} else if (method === 'edit') {
-					this.title = '修改电脑款项检查信息'
-				}
-				this.inputForm.id = id
-				this.visible = true
-				this.loading = false
-				this.$nextTick(() => {
-					this.loading = true
-					handoverComputerService.findById(this.inputForm.id).then( async (data) => {
-						if (this.status === 'audit' || this.status === 'taskFormDetail') {
-							method = 'view'
-						}
-						this.inputForm = this.recover(this.inputForm, data)
-						this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
-						this.determineDisabled()
-						this.loading = false
-					})
-				})
-			},
-			// 表单提交
-			doSubmit () {
-				this.loading = true
-				this.inputForm.id = this.businessId
-				handoverComputerService.save(this.inputForm).then((data) => {
-					this.close()
-					this.$message.success(data)
-					this.$emit('refreshDataList')
-					this.loading = false
-				}).catch(() => {
-					this.loading = false
-				})
-			},
-			close () {
-				this.fileList = []
-				this.fileList2 = []
-				this.visible = false
-			},
-			reapplyForm (callback) {
+		getUpload() {
+		},
+		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
+			})
+		},
+		// 当前页
+		currentChangeHandle({ currentPage, pageSize }) {
+			this.tablePage.currentPage = currentPage;
+			this.tablePage.pageSize = pageSize;
+		},
+		init(method, id) {
+			this.method = method
+			this.inputForm = {
+				userId: '',
+				name: '',
+				imprestAmountArrears: '',
+				procInsId: '',
+				assigneeId: '',
+				type: '',
+				department: '',
+				handoverId: '',
+			}
+			if (method === 'add') {
+				this.title = `新建电脑款项检查`
+			} else if (method === 'edit') {
+				this.title = '修改电脑款项检查信息'
+			}
+			this.inputForm.id = id
+			this.visible = true
+			this.loading = false
+			this.$nextTick(() => {
 				this.loading = true
-				handoverComputerService.findById(this.inputForm.id).then((data) => {
-					if (data.type !== '4') { // 审核状态不是“驳回”,就弹出提示
-						this.loading = false
-						this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-						throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-					} else {
-						this.startForm(callback)
+				handoverComputerService.findById(this.inputForm.id).then(async (data) => {
+					if (this.status === 'audit' || this.status === 'taskFormDetail') {
+						method = 'view'
 					}
-				})
-			},
-			// 送审
-			async startForm (callback) {
-				this.loading = true
-				this.inputForm.type = '2'
-				handoverComputerService.save(this.inputForm).then((data) => {
-					this.inputForm.title = `${this.$store.state.user.name} 发起了 [电脑款项检查]`
-					this.inputForm.id = data.businessId
-					callback(data.businessTable, data.businessId, this.inputForm)
-					this.loading = false
-				}).catch(() => {
+					this.inputForm = this.recover(this.inputForm, data)
+					this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+					this.determineDisabled()
+					// 获取用户报销电脑数据
+					this.getComputerList()
 					this.loading = false
 				})
-			},
+			})
+		},
+		// 表单提交
+		doSubmit() {
+			this.loading = true
+			this.inputForm.id = this.businessId
+			handoverComputerService.save(this.inputForm).then((data) => {
+				this.close()
+				this.$message.success(data)
+				this.$emit('refreshDataList')
+				this.loading = false
+			}).catch(() => {
+				this.loading = false
+			})
+		},
+		close() {
+			this.fileList = []
+			this.fileList2 = []
+			this.visible = false
+		},
+		reapplyForm(callback) {
+			this.loading = true
+			handoverComputerService.findById(this.inputForm.id).then((data) => {
+				if (data.type !== '4') { // 审核状态不是“驳回”,就弹出提示
+					this.loading = false
+					this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+					throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+				} else {
+					this.startForm(callback)
+				}
+			})
+		},
+		// 送审
+		async startForm(callback) {
+			this.loading = true
+			this.inputForm.type = '2'
+			handoverComputerService.save(this.inputForm).then((data) => {
+				this.inputForm.title = `${this.$store.state.user.name} 发起了 [电脑款项检查]`
+				this.inputForm.id = data.businessId
+				callback(data.businessTable, data.businessId, this.inputForm)
+				this.loading = false
+			}).catch(() => {
+				this.loading = false
+			})
+		},
 
-			// 通过
-			async agreeForm (callback) {
-				this.loading = true
-				handoverComputerService.findById(this.inputForm.id).then((data) => {
-					if (data.type !== '2') { // 审核状态不是“审核中”,就弹出提示
-						this.loading = false
-						this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-						throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-					} else {
-						this.$refs['inputForm'].validate(async (valid) => {
-							if (valid) {
-								this.loading = true
-								if (!this.inputForm.imprestAmountArrears) {
-									this.loading = false
-									this.$message.error('备用金欠款金额不能为空')
-									throw new Error('备用金欠款金额不能为空')
-								}
-								this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
-									if (this.commonJS.isNotEmpty(data)) {
-										if (data === '欠款回收') {
-											this.inputForm.type = '5'
-										}
-										if (data === '电脑款项检查' || data === '欠款校核') {
-											this.inputForm.assignee = this.inputForm.assigneeId
-										}
-									}
-									if (data === '电脑款项检查' & this.inputForm.imprestAmountArrears === '0') {
+		// 通过
+		async agreeForm(callback) {
+			this.loading = true
+			handoverComputerService.findById(this.inputForm.id).then((data) => {
+				if (data.type !== '2') { // 审核状态不是“审核中”,就弹出提示
+					this.loading = false
+					this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+					throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+				} else {
+					this.$refs['inputForm'].validate(async (valid) => {
+						if (valid) {
+							this.loading = true
+							if (!this.inputForm.imprestAmountArrears) {
+								this.loading = false
+								this.$message.error('备用金欠款金额不能为空')
+								throw new Error('备用金欠款金额不能为空')
+							}
+							this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
+								if (this.commonJS.isNotEmpty(data)) {
+									if (data === '欠款回收') {
 										this.inputForm.type = '5'
 									}
-									handoverComputerService.save(this.inputForm).then((data) => {
-										callback(data.businessTable, data.businessId, this.inputForm)
-										this.loading = false
-									}).catch(() => {
-										this.loading = false
-									})
+									if (data === '电脑款项检查' || data === '欠款校核') {
+										this.inputForm.assignee = this.inputForm.assigneeId
+									}
+								}
+								if (data === '电脑款项检查' & this.inputForm.imprestAmountArrears === '0') {
+									this.inputForm.type = '5'
+								}
+								handoverComputerService.save(this.inputForm).then((data) => {
+									callback(data.businessTable, data.businessId, this.inputForm)
+									this.loading = false
+								}).catch(() => {
+									this.loading = false
 								})
-							}
-						})
+							})
+						}
+					})
 
 
-					}
-				})
-			},
-			// 修改状态
-			updateStatusById (type, callback) {
-				if (this.inputForm.imprestAmountArrears != 0) {
-					if (type === 'reject') {
-						this.loading = true
-						handoverComputerService.findById(this.inputForm.id).then((data) => {
-							if (data.type !== '2') { // 审核状态不是“审核中”,就弹出提示
-								this.loading = false
-								this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-								throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-							} else {
-								this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
-									if (this.commonJS.isNotEmpty(data)) {
-										if (data === '电脑款项检查') {
-											this.inputForm.type = '4'
-										} else {
-											this.inputForm.type = '2'
-										}
+				}
+			})
+		},
+		// 修改状态
+		updateStatusById(type, callback) {
+			if (this.inputForm.imprestAmountArrears != 0) {
+				if (type === 'reject') {
+					this.loading = true
+					handoverComputerService.findById(this.inputForm.id).then((data) => {
+						if (data.type !== '2') { // 审核状态不是“审核中”,就弹出提示
+							this.loading = false
+							this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+							throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+						} else {
+							this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
+								if (this.commonJS.isNotEmpty(data)) {
+									if (data === '电脑款项检查') {
+										this.inputForm.type = '4'
+									} else {
+										this.inputForm.type = '2'
 									}
-								})
-								handoverComputerService.updateStatusById(this.inputForm).then(() => {
-									this.loading = false
-									callback()
-								})
-							}
-						})
-					} else if (type === 'hold') {
-						this.loading = true
-						handoverComputerService.findById(this.inputForm.id).then((data) => {
-							if (data.type !== '4') { // 审核状态不是“驳回”,就弹出提示
+								}
+							})
+							handoverComputerService.updateStatusById(this.inputForm).then(() => {
 								this.loading = false
-								this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-								throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
-							} else {
-								this.inputForm.type = '1'
-								handoverComputerService.updateStatusById(this.inputForm).then(() => {
-									this.loading = false
-									callback()
-								})
-							}
-						})
-					}
-				} else {
-					callback()
+								callback()
+							})
+						}
+					})
+				} else if (type === 'hold') {
+					this.loading = true
+					handoverComputerService.findById(this.inputForm.id).then((data) => {
+						if (data.type !== '4') { // 审核状态不是“驳回”,就弹出提示
+							this.loading = false
+							this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+							throw new Error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
+						} else {
+							this.inputForm.type = '1'
+							handoverComputerService.updateStatusById(this.inputForm).then(() => {
+								this.loading = false
+								callback()
+							})
+						}
+					})
 				}
+			} else {
+				callback()
+			}
 
-			},
-			twoDecimalPlaces (num) {
-				let str = num.toString()
-				str=str.replace(/\s+/g,"");
-				var len1 = str.substr(0, 1)
-				var len2 = str.substr(1, 1)
-				// eslint-disable-next-line eqeqeq
-				if (str.length > 1 && len1 == 0 && len2 != '.') {
-					str = str.substr(1, 1)
-				}
+		},
+		twoDecimalPlaces(num) {
+			let str = num.toString()
+			str = str.replace(/\s+/g, "");
+			var len1 = str.substr(0, 1)
+			var len2 = str.substr(1, 1)
+			// eslint-disable-next-line eqeqeq
+			if (str.length > 1 && len1 == 0 && len2 != '.') {
+				str = str.substr(1, 1)
+			}
+			// eslint-disable-next-line eqeqeq
+			if (len1 == '.') {
+				str = ''
+			}
+			// eslint-disable-next-line eqeqeq
+			if (str.indexOf('.') != -1) {
+				var str_ = str.substr(str.indexOf('.') + 1)
 				// eslint-disable-next-line eqeqeq
-				if (len1 == '.') {
-					str = ''
+				if (str_.indexOf('.') != -1) {
+					str = str.substr(0, str.indexOf('.') + str_.indexOf('.') + 1)
 				}
-				// eslint-disable-next-line eqeqeq
-				if (str.indexOf('.') != -1) {
-					var str_ = str.substr(str.indexOf('.') + 1)
-					// eslint-disable-next-line eqeqeq
-					if (str_.indexOf('.') != -1) {
-						str = str.substr(0, str.indexOf('.') + str_.indexOf('.') + 1)
-					}
-					if (str_.length > 2) {
-						this.$message.warning(`金额小数点后只能输入两位,请正确输入!`)
-						return (str = '')
-					}
+				if (str_.length > 2) {
+					this.$message.warning(`金额小数点后只能输入两位,请正确输入!`)
+					return (str = '')
 				}
-				// eslint-disable-next-line no-useless-escape
-				str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
-				return str
-			},
-			determineDisabled(){
-				this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
-					if (this.commonJS.isNotEmpty(data)) {
-						console.log('data', data)
-						if (data === '欠款回收' || data === '欠款确认') {
+			}
+			// eslint-disable-next-line no-useless-escape
+			str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
+			return str
+		},
+		determineDisabled() {
+			this.commonApi.getTaskNameByProcInsId(this.inputForm.procInsId).then((data) => {
+				if (this.commonJS.isNotEmpty(data)) {
+					console.log('data', data)
+					if (data === '欠款回收' || data === '欠款确认') {
+						this.disabledTest = true
+					} else if (data === '电脑款项检查' || data === '欠款校核') {
+						if (this.status !== 'audit') {
 							this.disabledTest = true
-						} else if (data === '电脑款项检查' || data === '欠款校核') {
-							if (this.status !== 'audit' ){
-								this.disabledTest = true
-							}else {
-								this.disabledTest = false
-							}
+						} else {
+							this.disabledTest = false
 						}
+					}
 					if (data === '欠款确认') {
 						this.showFlag = true;
 					} else {
 						this.showFlag = false;
 					}
-					} else {
-						this.disabledTest = true
-					}
-				})
-			}
+				} else {
+					this.disabledTest = true
+				}
+			})
 		}
 	}
+}
 </script>

File diff suppressed because it is too large
+ 765 - 277
src/views/human/depart/handover/HandoverAddForm.vue


+ 384 - 372
src/views/human/depart/registration/DepartRegistrationList.vue

@@ -1,349 +1,355 @@
 <template>
-  <div class="page">
-    <el-form :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
-      <!-- 搜索框-->
-      <el-form-item label="姓名" prop="name">
-        <el-input v-model="searchForm.name" placeholder="请输入姓名" clearable></el-input>
-      </el-form-item>
-		<el-form-item label="归属部门" prop="department">
-			<SelectTree
-				ref="officeTree"
-				:props="{
-                value: 'id',             // ID字段名
-                label: 'name',         // 显示名称
-                children: 'children'    // 子级字段名
-              }"
-				:url="`/system-server/sys/office/treeData?type=2`"
-				:value="searchForm.department"
-				:clearable="true"
-				:accordion="true"
-				size="default"
-				@getValue="(value,label) => {searchForm.department=value}"/>
-		</el-form-item>
-		<el-form-item label="联系电话" prop="mobile">
-			<el-input v-model="searchForm.mobile" placeholder="请输入联系电话" clearable></el-input>
-		</el-form-item>
+	<div class="page">
+		<el-form :inline="true" class="query-form m-b-10" ref="searchForm" :model="searchForm"
+			@keyup.enter.native="refreshList()" @submit.native.prevent>
+			<!-- 搜索框-->
+			<el-form-item label="姓名" prop="name">
+				<el-input v-model="searchForm.name" placeholder="请输入姓名" clearable></el-input>
+			</el-form-item>
+			<el-form-item label="归属部门" prop="department">
+				<SelectTree ref="officeTree" :props="{
+					value: 'id',             // ID字段名
+					label: 'name',         // 显示名称
+					children: 'children'    // 子级字段名
+				}" :url="`/system-server/sys/office/treeData?type=2`" :value="searchForm.department" :clearable="true"
+					:accordion="true" size="default" @getValue="(value, label) => { searchForm.department = value }" />
+			</el-form-item>
+			<el-form-item label="联系电话" prop="mobile">
+				<el-input v-model="searchForm.mobile" placeholder="请输入联系电话" clearable></el-input>
+			</el-form-item>
 
-      <el-form-item>
-        <el-button type="primary" @click="refreshList()" icon="el-icon-search">查询</el-button>
-        <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
-      </el-form-item>
-    </el-form>
-    <div class="jp-table top" style="">
-      <vxe-toolbar :refresh="{query: refreshList}" ref="toolbarRef" export custom>
-        <template #buttons>
-<!--          <el-button v-if="!haveComplete" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>-->
-          <el-button v-if="!haveComplete" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
-			<span v-if="haveComplete" style="color: red">已存在离职申请,无法多次提交</span>
-        </template>
-      </vxe-toolbar>
-      <div style="height: calc(100% - 90px)">
-        <vxe-table
-          border="inner"
-          auto-resize
-          resizable
-          height="auto"
-          :loading="loading"
-          ref="clientTable"
-          show-header-overflow
-          show-overflow
-          highlight-hover-row
-          :print-config="{}"
-          :export-config="{
-                    remote: true,
-                    filename: `入职登记信息${moment(new Date()).format('YYYY-MM-DD')}`,
-                    sheetName: '入职登记信息',
-                    exportMethod: exportMethod,
-                    types: ['xlsx'],
-                    modes: ['current', 'selected', 'all']
-                  }"
-          :menu-config="{}"
-          @sort-change="sortChangeHandle"
-          :sort-config="{remote:true}"
-          :data="dataList"
-          :checkbox-config="{}">
-          <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column min-width="160" align="center" title="姓名" field="name">
-			  <template #default="scope">
-				  <el-link  type="primary" :underline="false" v-if="hasPermission('depart:view')" @click="view(scope.row.id)">{{scope.row.name}}</el-link>
-				  <span v-else>{{scope.row.name}}</span>
-			  </template>
-		  </vxe-column>
-          <vxe-column min-width="160" align="center" title="联系电话" field="mobile"></vxe-column>
-		  <vxe-column min-width="160" align="center" title="所属部门" field="departmentName"></vxe-column>
-			<vxe-column min-width="100" title="状态" fixed="right" align="center" field="type">
-				<template #default="scope">
-					<el-button @click="detail(scope.row)" :type="$dictUtils.getDictLabel('status_info', scope.row.type, '')" effect="dark" >{{$dictUtils.getDictLabel("status", scope.row.type, '未开始')}} </el-button>
+			<el-form-item>
+				<el-button type="primary" @click="refreshList()" icon="el-icon-search">查询</el-button>
+				<el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
+			</el-form-item>
+		</el-form>
+		<div class="jp-table top" style="">
+			<vxe-toolbar :refresh="{ query: refreshList }" ref="toolbarRef" export custom>
+				<template #buttons>
+					<!--          <el-button v-if="!haveComplete" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>-->
+					<el-button v-if="!haveComplete" type="primary" icon="el-icon-plus" @click="start()">新建</el-button>
+					<span v-if="haveComplete" style="color: red">已存在离职申请,无法多次提交</span>
 				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="交接状态" fixed="right" align="center" field="handoverType">
-				<template #default="scope">
-					<el-button @click="handoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.handoverType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.handoverType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="电脑款项状态" fixed="right" align="center" field="computerType">
-				<template #default="scope">
-					<el-button @click="computerHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.computerType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.computerType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="应收账款状态" fixed="right" align="center" field="accountsType">
-				<template #default="scope">
-					<el-button @click="accountsHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.accountsType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.accountsType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="社保账款状态" fixed="right" align="center" field="securityType">
-				<template #default="scope">
-					<el-button @click="securityHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.securityType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.securityType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="备用金状态" fixed="right" align="center" field="imprestType">
-				<template #default="scope">
-					<el-button @click="imprestHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.imprestType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.imprestType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="底稿归档状态" fixed="right" align="center" field="draftType">
-				<template #default="scope">
-					<el-button @click="draftHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.draftType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.draftType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
-			<vxe-column min-width="100" title="门卡回收状态" fixed="right" align="center" field="recoveryType">
-				<template #default="scope">
-					<el-button @click="recoveryHandoverDetail(scope.row)"
-							   :type="$dictUtils.getDictLabel('status_info', scope.row.recoveryType, '')" effect="dark" >
-						{{$dictUtils.getDictLabel("status", scope.row.recoveryType, '未开始')}} </el-button>
-				</template>
-			</vxe-column>
+			</vxe-toolbar>
+			<div style="height: calc(100% - 90px)">
+				<vxe-table border="inner" auto-resize resizable height="auto" :loading="loading" ref="clientTable"
+					show-header-overflow show-overflow highlight-hover-row :print-config="{}" :export-config="{
+						remote: true,
+						filename: `入职登记信息${moment(new Date()).format('YYYY-MM-DD')}`,
+						sheetName: '入职登记信息',
+						exportMethod: exportMethod,
+						types: ['xlsx'],
+						modes: ['current', 'selected', 'all']
+					}" :menu-config="{}" @sort-change="sortChangeHandle" :sort-config="{ remote: true }" :data="dataList"
+					:checkbox-config="{}">
+					<vxe-column type="seq" width="60" title="序号"></vxe-column>
+					<vxe-column min-width="160" align="center" title="姓名" field="name">
+						<template #default="scope">
+							<el-link type="primary" :underline="false" v-if="hasPermission('depart:view')"
+								@click="view(scope.row.id)">{{ scope.row.name }}</el-link>
+							<span v-else>{{ scope.row.name }}</span>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="160" align="center" title="联系电话" field="mobile"></vxe-column>
+					<vxe-column min-width="160" align="center" title="所属部门" field="departmentName"></vxe-column>
+					<vxe-column min-width="100" title="状态" fixed="right" align="center" field="type">
+						<template #default="scope">
+							<el-button @click="detail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.type, '')" effect="dark">{{
+									$dictUtils.getDictLabel("status", scope.row.type, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="交接状态" fixed="right" align="center" field="handoverType">
+						<template #default="scope">
+							<el-button @click="handoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.handoverType, '')"
+								effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.handoverType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="电脑款项状态" fixed="right" align="center" field="computerType">
+						<template #default="scope">
+							<el-button @click="computerHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.computerType, '')"
+								effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.computerType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="应收账款状态" fixed="right" align="center" field="accountsType">
+						<template #default="scope">
+							<el-button @click="accountsHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.accountsType, '')"
+								effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.accountsType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="社保账款状态" fixed="right" align="center" field="securityType">
+						<template #default="scope">
+							<el-button @click="securityHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.securityType, '')"
+								effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.securityType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="备用金状态" fixed="right" align="center" field="imprestType">
+						<template #default="scope">
+							<el-button @click="imprestHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.imprestType, '')" effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.imprestType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="底稿归档状态" fixed="right" align="center" field="draftType">
+						<template #default="scope">
+							<el-button @click="draftHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.draftType, '')" effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.draftType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
+					<vxe-column min-width="100" title="门卡回收状态" fixed="right" align="center" field="recoveryType">
+						<template #default="scope">
+							<el-button @click="recoveryHandoverDetail(scope.row)"
+								:type="$dictUtils.getDictLabel('status_info', scope.row.recoveryType, '')"
+								effect="dark">
+								{{ $dictUtils.getDictLabel("status", scope.row.recoveryType, '未开始') }} </el-button>
+						</template>
+					</vxe-column>
 
-          <vxe-column title="操作" width="200px" fixed="right" align="center">
-            <template  #default="scope">
-              <div v-if="isAdmin">
-                <el-button v-if="
-                      scope.row.type === '5' || scope.row.type === '4' || scope.row.type === '3'" text type="primary" @click="edit(scope.row.id)">修改</el-button>
-                <el-button v-if="
-                      scope.row.type === '5' || scope.row.type === '4' || scope.row.type === '3'" text type="primary" @click="del(scope.row.id)">删除</el-button>
-              </div>
-				<div v-else>
-					<el-button v-if="hasPermission('depart:edit') && scope.row.createById === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3' )" text type="primary"   @click="editForm(scope.row)">修改</el-button>
-					<el-button v-if="hasPermission('depart:edit') && scope.row.createById === $store.state.user.id && (scope.row.type === '2')" text type="primary"  @click="reback(scope.row)">撤回</el-button>
-					<el-button v-if="hasPermission('depart:del') && scope.row.createById === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3' || scope.row.type === undefined || scope.row.type === '0')" text type="primary"  @click="del(scope.row.id)">删除</el-button>
-					<!--              审核-->
-					<el-button v-if="scope.row.type==='2'&& checkIsAudit(scope.row)" text type="primary"  @click="examine(scope.row)">审核</el-button>
-					<!--              被驳回后当前申请人重新调整-->
-					<el-button v-if="scope.row.createById === $store.state.user.id && scope.row.type === '4'" text type="primary"  @click="adjust(scope.row)">驳回调整</el-button>
-					<el-button v-if="(scope.row.createById === $store.state.user.id) && scope.row.type === '5' && (scope.row.handoverType === undefined || scope.row.handoverType === '0' || scope.row.handoverType === '1' || scope.row.handoverType === '3')" text type="primary" @click="handover(scope.row)">离职交接</el-button>
-					<!--离职交接撤回-->
-					<el-button v-if="scope.row.type === '5' && scope.row.handoverType === '2' && (scope.row.createById === $store.state.user.id)" text type="primary" @click="rebackHandover(scope.row)">撤回离职交接</el-button>
-					<el-button v-if="scope.row.createById === $store.state.user.id && scope.row.type === '5'&& scope.row.handoverType === '4'" text type="primary"  @click="adjustHandover(scope.row)">驳回调整</el-button>
+					<vxe-column title="操作" width="200px" fixed="right" align="center">
+						<template #default="scope">
+							<div v-if="isAdmin">
+								<el-button v-if="
+									scope.row.type === '5' || scope.row.type === '4' || scope.row.type === '3'" text type="primary"
+									@click="edit(scope.row.id)">修改</el-button>
+								<el-button v-if="
+									scope.row.type === '5' || scope.row.type === '4' || scope.row.type === '3'" text type="primary"
+									@click="del(scope.row.id)">删除</el-button>
+							</div>
+							<div v-else>
+								<el-button
+									v-if="hasPermission('depart:edit') && scope.row.createById === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3')"
+									text type="primary" @click="editForm(scope.row)">修改</el-button>
+								<el-button
+									v-if="hasPermission('depart:edit') && scope.row.createById === $store.state.user.id && (scope.row.type === '2')"
+									text type="primary" @click="reback(scope.row)">撤回</el-button>
+								<el-button
+									v-if="hasPermission('depart:del') && scope.row.createById === $store.state.user.id && (scope.row.type === '1' || scope.row.type === '3' || scope.row.type === undefined || scope.row.type === '0')"
+									text type="primary" @click="del(scope.row.id)">删除</el-button>
+								<!--              审核-->
+								<el-button v-if="scope.row.type === '2' && checkIsAudit(scope.row)" text type="primary"
+									@click="examine(scope.row)">审核</el-button>
+								<!--              被驳回后当前申请人重新调整-->
+								<el-button
+									v-if="scope.row.createById === $store.state.user.id && scope.row.type === '4'" text
+									type="primary" @click="adjust(scope.row)">驳回调整</el-button>
+								<el-button
+									v-if="(scope.row.createById === $store.state.user.id) && scope.row.type === '5' && (scope.row.handoverType === undefined || scope.row.handoverType === '0' || scope.row.handoverType === '1' || scope.row.handoverType === '3')"
+									text type="primary" @click="handover(scope.row)">离职交接</el-button>
+								<!--离职交接撤回-->
+								<el-button
+									v-if="scope.row.type === '5' && scope.row.handoverType === '2' && (scope.row.createById === $store.state.user.id)"
+									text type="primary" @click="rebackHandover(scope.row)">撤回离职交接</el-button>
+								<el-button
+									v-if="scope.row.createById === $store.state.user.id && scope.row.type === '5' && scope.row.handoverType === '4'"
+									text type="primary" @click="adjustHandover(scope.row)">驳回调整</el-button>
 
 
-					<el-button v-if="scope.row.recoveryType === '5' && (scope.row.createById === $store.state.user.id)" text type="primary" @click="toHref(scope.row)">离职证明下载</el-button>
+								<el-button
+									v-if="scope.row.recoveryType === '5' && (scope.row.createById === $store.state.user.id)"
+									text type="primary" @click="toHref(scope.row)">离职证明下载</el-button>
 
-				</div>
-            </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}]"
-          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
-          @page-change="currentChangeHandle">
-        </vxe-pager>
-      </div>
-    </div>
-	  <DepartRegistrationEditForm ref="departRegistrationEditForm" @refreshList="refreshList"></DepartRegistrationEditForm>
-  </div>
+							</div>
+						</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 }]"
+					:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+					@page-change="currentChangeHandle">
+				</vxe-pager>
+			</div>
+		</div>
+		<DepartRegistrationEditForm ref="departRegistrationEditForm" @refreshList="refreshList">
+		</DepartRegistrationEditForm>
+	</div>
 </template>
 
 <script>
-	import enrollmentRegistrationService from '@/api/human/enrollment/EnrollmentRegistrationService'
-	import SelectTree from '@/components/treeSelect/treeSelect.vue'
-	import handoverService from '@/api/human/depart/HandoverService'
-  import departRegistrationService from '@/api/human/depart/DepartRegistrationService'
-  import processService from '@/api/flowable/ProcessService'
-  import userService from '@/api/sys/UserService'
-  import taskService from '@/api/flowable/TaskService'
-  import DepartRegistrationEditForm from "./DepartRegistrationEditForm";
-	import OSSSerivce, {
-		toHrefByUrlAndName
-	} from '@/api/sys/OSSService'
-  import pick from "lodash.pick";
-  export default {
-    data () {
-      return {
-		  haveComplete: false,
-        num: 0,
-        searchForm: {
-			name: '',
-			department: '',
-			mobile: '',
-        },
-        dataList: [],
-        tablePage: {
-          total: 0,
-          currentPage: 1,
-          pageSize: 10,
-          orders: []
-        },
-        tableKey: '',
-        loading: false,
-        processDefinitionAuditId: '',
-        procDefAuditKey: '',
-		  handoverDefId: '',
-		  handoverDefAuditKey: '',
-        isAdmin: false,
-        create: ''
-      }
-    },
-    created () {
+import enrollmentRegistrationService from '@/api/human/enrollment/EnrollmentRegistrationService'
+import SelectTree from '@/components/treeSelect/treeSelect.vue'
+import handoverService from '@/api/human/depart/HandoverService'
+import departRegistrationService from '@/api/human/depart/DepartRegistrationService'
+import processService from '@/api/flowable/ProcessService'
+import userService from '@/api/sys/UserService'
+import taskService from '@/api/flowable/TaskService'
+import DepartRegistrationEditForm from "./DepartRegistrationEditForm";
+import OSSSerivce, {
+	toHrefByUrlAndName
+} from '@/api/sys/OSSService'
+import pick from "lodash.pick";
+export default {
+	data() {
+		return {
+			haveComplete: false,
+			num: 0,
+			searchForm: {
+				name: '',
+				department: '',
+				mobile: '',
+			},
+			dataList: [],
+			tablePage: {
+				total: 0,
+				currentPage: 1,
+				pageSize: 10,
+				orders: []
+			},
+			tableKey: '',
+			loading: false,
+			processDefinitionAuditId: '',
+			procDefAuditKey: '',
+			handoverDefId: '',
+			handoverDefAuditKey: '',
+			isAdmin: false,
+			create: ''
+		}
+	},
+	created() {
 		this.ossService = new OSSSerivce()
-    },
-    components: {
+	},
+	components: {
 		SelectTree,
 		DepartRegistrationEditForm
-    },
-    computed: {
-      userName () {
-        return this.$store.state.user.name
-      },
-      user () {
-        this.createName = this.$store.state.user.name
-        return this.$store.state.user
-      }
-    },
-    mounted () {
+	},
+	computed: {
+		userName() {
+			return this.$store.state.user.name
+		},
+		user() {
+			this.createName = this.$store.state.user.name
+			return this.$store.state.user
+		}
+	},
+	mounted() {
 		this.$nextTick(() => {
 			//将表格和工具栏进行关联
 			const $table = this.$refs.clientTable;
 			const $toolbar = this.$refs.toolbarRef;
 			$table.connect($toolbar);
 		})
-      this.refreshList()
-    },
-    activated () {
-      this.refreshList()
-    },
-    methods: {
+		this.refreshList()
+	},
+	activated() {
+		this.refreshList()
+	},
+	methods: {
 		// 查看
-		view (id) {
+		view(id) {
 			this.$refs.departRegistrationEditForm.init('view', id)
 		},
-      // 新增
-      add () {
-      },
-	toHref (row) {
-		toHrefByUrlAndName(row.dimissionProveUrl,row.name+"离职证明")
-	},
-      // 修改
-      edit (id) {
-        id = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
-          return item.id
-        })[0]
-		  this.$refs.departRegistrationEditForm.init('edit', id)
-      },
-      // 查询当前用户是否是管理员用户
-      checkIsAdmin () {
-        userService.is().then((data) => {
-          this.isAdmin = data
-        })
-      },
-      // 获取数据列表
-      refreshList () {
-        this.loading = true
-		  departRegistrationService.list({
-          'current': this.tablePage.currentPage,
-          'size': this.tablePage.pageSize,
-          'orders': this.tablePage.orders,
-          ...this.searchForm
-        }).then((data) => {
-          this.dataList = data.records
-          this.tablePage.total = data.total
-          this.tableKey = Math.random()
-          this.loading = false
-        })
-        this.checkIsAdmin()
-        processService.getByName('离职申请').then((data) => {
-          if (!this.commonJS.isEmpty(data.id)) {
-            this.processDefinitionAuditId = data.id
-            this.procDefAuditKey = data.key
-          }
-        })
-		  processService.getByName('离职交接申请').then((data) => {
-			  if (!this.commonJS.isEmpty(data.id)) {
-				  this.handoverDefId = data.id
-				  this.handoverDefAuditKey = data.key
-			  }
-		  })
-		  departRegistrationService.selectComplete().then((data) => {
+		// 新增
+		add() {
+		},
+		toHref(row) {
+			toHrefByUrlAndName(row.dimissionProveUrl, row.name + "离职证明")
+		},
+		// 修改
+		edit(id) {
+			id = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
+				return item.id
+			})[0]
+			this.$refs.departRegistrationEditForm.init('edit', id)
+		},
+		// 查询当前用户是否是管理员用户
+		checkIsAdmin() {
+			userService.is().then((data) => {
+				this.isAdmin = data
+			})
+		},
+		// 获取数据列表
+		refreshList() {
+			this.loading = true
+			departRegistrationService.list({
+				'current': this.tablePage.currentPage,
+				'size': this.tablePage.pageSize,
+				'orders': this.tablePage.orders,
+				...this.searchForm
+			}).then((data) => {
+				this.dataList = data.records
+				this.tablePage.total = data.total
+				this.tableKey = Math.random()
+				this.loading = false
+			})
+			this.checkIsAdmin()
+			processService.getByName('离职申请').then((data) => {
+				if (!this.commonJS.isEmpty(data.id)) {
+					this.processDefinitionAuditId = data.id
+					this.procDefAuditKey = data.key
+				}
+			})
+			processService.getByName('离职交接申请').then((data) => {
+				if (!this.commonJS.isEmpty(data.id)) {
+					this.handoverDefId = data.id
+					this.handoverDefAuditKey = data.key
+				}
+			})
+			departRegistrationService.selectComplete().then((data) => {
 				this.haveComplete = data
-		  })
-      },
-      // 当前页
-      currentChangeHandle ({ currentPage, pageSize }) {
-        this.tablePage.currentPage = currentPage
-        this.tablePage.pageSize = pageSize
-        this.refreshList()
-      },
-      // 排序
-      sortChangeHandle (column) {
-        this.tablePage.orders = []
-        if (column.order != null) {
-          this.tablePage.orders.push({column: this.$utils.toLine(column.property), asc: column.order === 'asc'})
-        }
-        this.refreshList()
-      },
-      resetSearch () {
-        this.$refs.searchForm.resetFields()
-        this.refreshList()
-      },
-      start () {
-		  //发起流程前判断是否已经完善了个人信息 及 入住登记表中是否有当然登录人的信息
-		  var userId = this.$store.state.user.id
-		  enrollmentRegistrationService.findByUserId(userId).then((data) => {
-			  if (data == 0) {
-				  this.$message.error('请先完善个人信息再发起离职申请!')
-				  throw new Error('请先完善个人信息再发起离职申请!')
-			  } else {
-				  // 读取流程表单
-				  let tabTitle = `发起流程【离职申请】`
-				  let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职申请]`
-				  taskService.getTaskDef({ procDefId: this.processDefinitionAuditId,
-					  status: 'startAndHold'}).then((data) => {
-					  this.$router.push({
-						  path: '/flowable/task/TaskForm',
-						  query: {
-							  ...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
-							  procDefId: this.processDefinitionAuditId,
-							  procDefKey: this.procDefKey,
-							  status: 'startAndHold',
-							  title: tabTitle,
-							  formType: data.formType,
-							  formUrl: data.formUrl,
-							  formTitle: processTitle,
-							  businessId: 'false',
-							  isShow: false,
-							  routePath: '/human/depart/registration/DepartRegistrationList'
-						  }
-					  })
-				  })
-			  }
-		  })
-      },
-		editForm (row) {
+			})
+		},
+		// 当前页
+		currentChangeHandle({ currentPage, pageSize }) {
+			this.tablePage.currentPage = currentPage
+			this.tablePage.pageSize = pageSize
+			this.refreshList()
+		},
+		// 排序
+		sortChangeHandle(column) {
+			this.tablePage.orders = []
+			if (column.order != null) {
+				this.tablePage.orders.push({ column: this.$utils.toLine(column.property), asc: column.order === 'asc' })
+			}
+			this.refreshList()
+		},
+		resetSearch() {
+			this.$refs.searchForm.resetFields()
+			this.refreshList()
+		},
+		start() {
+			//发起流程前判断是否已经完善了个人信息 及 入住登记表中是否有当然登录人的信息
+			var userId = this.$store.state.user.id
+			enrollmentRegistrationService.findByUserId(userId).then((data) => {
+				if (data == 0) {
+					this.$message.error('请先完善个人信息再发起离职申请!')
+					throw new Error('请先完善个人信息再发起离职申请!')
+				} else {
+					// 读取流程表单
+					let tabTitle = `发起流程【离职申请】`
+					let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职申请]`
+					taskService.getTaskDef({
+						procDefId: this.processDefinitionAuditId,
+						status: 'startAndHold'
+					}).then((data) => {
+						this.$router.push({
+							path: '/flowable/task/TaskForm',
+							query: {
+								...pick(data, 'formType', 'formUrl', 'procDefKey', 'taskDefKey', 'procInsId', 'procDefId', 'taskId', 'status', 'title'),
+								procDefId: this.processDefinitionAuditId,
+								procDefKey: this.procDefKey,
+								status: 'startAndHold',
+								title: tabTitle,
+								formType: data.formType,
+								formUrl: data.formUrl,
+								formTitle: processTitle,
+								businessId: 'false',
+								isShow: false,
+								routePath: '/human/depart/registration/DepartRegistrationList'
+							}
+						})
+					})
+				}
+			})
+		},
+		editForm(row) {
 			// 暂存修改
 			let status = ''
 			if (row.type === '1') {
@@ -358,7 +364,8 @@
 			// 读取流程表单
 			let tabTitle = `发起流程【离职申请】`
 			let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职申请]`
-			taskService.getTaskDef({ procDefId: this.processDefinitionAuditId,
+			taskService.getTaskDef({
+				procDefId: this.processDefinitionAuditId,
 				businessId: row.id,
 				businessTable: 'human_resources_depart_registration',
 				status: status
@@ -383,7 +390,7 @@
 			})
 		},
 		// 查看离职申请流程结果
-		detail (row) {
+		detail(row) {
 			if (row.type !== '0' && row.type !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -406,7 +413,7 @@
 			}
 		},
 		// 查看离职交接流程结果
-		handoverDetail (row) {
+		handoverDetail(row) {
 			if (row.handoverType !== '0' && row.handoverType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -429,7 +436,7 @@
 			}
 		},
 		// 查看备用金流程结果
-		imprestHandoverDetail (row) {
+		imprestHandoverDetail(row) {
 			if (row.imprestType !== '0' && row.imprestType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -452,7 +459,7 @@
 			}
 		},
 		// 查看底稿归档流程结果
-		draftHandoverDetail (row) {
+		draftHandoverDetail(row) {
 			if (row.draftType !== '0' && row.draftType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -475,7 +482,7 @@
 			}
 		},
 		// 查看门卡回收流程结果
-		recoveryHandoverDetail (row) {
+		recoveryHandoverDetail(row) {
 			if (row.recoveryType !== '0' && row.recoveryType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -498,7 +505,7 @@
 			}
 		},
 		// 查看电脑款项流程结果
-		computerHandoverDetail (row) {
+		computerHandoverDetail(row) {
 			if (row.computerType !== '0' && row.computerType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -521,7 +528,7 @@
 			}
 		},
 		// 查看应收账款流程结果
-		accountsHandoverDetail (row) {
+		accountsHandoverDetail(row) {
 			if (row.accountsType !== '0' && row.accountsType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -544,7 +551,7 @@
 			}
 		},
 		// 查看社保账款流程结果
-		securityHandoverDetail (row) {
+		securityHandoverDetail(row) {
 			if (row.securityType !== '0' && row.securityType !== '1') {
 				// eslint-disable-next-line eqeqeq
 				taskService.getTaskDef({
@@ -566,33 +573,33 @@
 				})
 			}
 		},
-      // 自定义服务端导出
-      exportMethod ({ options }) {
-        // 传给服务端的参数
-        const params = {
-          'current': this.tablePage.currentPage,
-          'size': this.tablePage.pageSize,
-          'orders': this.tablePage.orders,
-          ...this.searchForm,
-          filename: options.filename,
-          sheetName: options.sheetName,
-          isHeader: options.isHeader,
-          original: options.original,
-          mode: options.mode,
-          selectIds: options.mode === 'selected' ? options.map(item => item.id) : [],
-          exportFields: options.columns.map(column => column.property)
-        }
-        return departRegistrationService.exportExcel(params).then((res) => {
-          // 将二进制流文件写入excel表,以下为重要步骤
-          this.$utils.downloadExcel(res, options.filename)
-        }).catch(function (err) {
-          if (err.response) {
-            // console.log(err.response)
-          }
-        })
-      },
+		// 自定义服务端导出
+		exportMethod({ options }) {
+			// 传给服务端的参数
+			const params = {
+				'current': this.tablePage.currentPage,
+				'size': this.tablePage.pageSize,
+				'orders': this.tablePage.orders,
+				...this.searchForm,
+				filename: options.filename,
+				sheetName: options.sheetName,
+				isHeader: options.isHeader,
+				original: options.original,
+				mode: options.mode,
+				selectIds: options.mode === 'selected' ? options.map(item => item.id) : [],
+				exportFields: options.columns.map(column => column.property)
+			}
+			return departRegistrationService.exportExcel(params).then((res) => {
+				// 将二进制流文件写入excel表,以下为重要步骤
+				this.$utils.downloadExcel(res, options.filename)
+			}).catch(function (err) {
+				if (err.response) {
+					// console.log(err.response)
+				}
+			})
+		},
 		// 删除
-		del (id) {
+		del(id) {
 			let ids = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
 				return item.id
 			}).join(',')
@@ -610,14 +617,14 @@
 			})
 		},
 		// 撤回
-		reback (row) {
+		reback(row) {
 			this.$confirm(`确定撤回流程吗?`, '提示', {
 				confirmButtonText: '确定',
 				cancelButtonText: '取消',
 				type: 'warning'
 			}).then(() => {
 				processService.revokeProcIns(row.procInsId).then((data) => {
-					let param = {type: '3', id: row.id}
+					let param = { type: '3', id: row.id }
 					departRegistrationService.updateStatusById(param)
 					this.$message.success('回退成功')
 					this.refreshList()
@@ -625,7 +632,7 @@
 			})
 		},
 		// 审核
-		examine (row) {
+		examine(row) {
 			departRegistrationService.findById(row.id).then((data) => {
 				if (data.type !== '2') { // status的值不等于“审核中”,就弹出提示
 					this.$message.error('数据已发生改变或不存在,请刷新数据')
@@ -636,7 +643,7 @@
 			})
 		},
 		// 审核或重新调整跳转
-		todo (row) {
+		todo(row) {
 			let cUser = false
 			taskService.getTaskDefInfo({
 				taskId: row.taskId
@@ -656,7 +663,7 @@
 			})
 		},
 		// 驳回后调整
-		adjust (row) {
+		adjust(row) {
 			departRegistrationService.findById(row.id).then((data) => {
 				console.log('data', data)
 				if (data.type !== '4') { // status的值不等于“驳回”,就弹出提示
@@ -668,7 +675,7 @@
 			})
 		},
 		// 查询当前登录人是否是数据的审核人
-		checkIsAudit (row) {
+		checkIsAudit(row) {
 			let loginUserId = this.$store.state.user.id  // 获取当前登录用户id
 			if (this.commonJS.isNotEmpty(row.auditUserIds)) {
 				for (const userId of row.auditUserIds) {
@@ -679,7 +686,7 @@
 			}
 			return false
 		},
-		handover (row) {
+		handover(row) {
 			// 读取流程表单
 			let tabTitle = `发起流程【离职交接】`
 			let processTitle = `${this.userName} 在 ${this.moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [离职交接]`
@@ -689,8 +696,13 @@
 			} else {
 				businessId = row.id
 			}
-			taskService.getTaskDef({ procDefId: this.handoverDefId,
-				status: 'startAndHold'}).then((data) => {
+			console.log(businessId);
+
+			taskService.getTaskDef({
+				procDefId: this.handoverDefId,
+				status: 'startAndHold'
+			}).then((data) => {
+				console.log(data);
 				this.$router.push({
 					path: '/flowable/task/TaskForm',
 					query: {
@@ -710,7 +722,7 @@
 			})
 		},
 		// 撤回离职交接
-		rebackHandover (row) {
+		rebackHandover(row) {
 			this.$confirm(`确定要撤回该申请吗?`, '提示', {
 				confirmButtonText: '确定',
 				cancelButtonText: '取消',
@@ -722,7 +734,7 @@
 						this.refreshList()
 					} else {
 						processService.revokeProcIns(row.handoverProcInsId).then((data) => {
-							let form = {type: '3', id: row.handoverId}
+							let form = { type: '3', id: row.handoverId }
 							handoverService.updateStatusById(form)
 							this.$message.success(data)
 							this.refreshList()
@@ -731,7 +743,7 @@
 				})
 			})
 		},
-		adjustHandover (row) {
+		adjustHandover(row) {
 			handoverService.findById(row.handoverId).then((data) => {
 				if (data.type !== '4') { // status的值不等于“驳回”,就弹出提示
 					this.$message.error('数据已发生改变或不存在,请刷新数据')
@@ -742,6 +754,6 @@
 				}
 			})
 		},
-    }
-  }
+	}
+}
 </script>

+ 143 - 0
src/views/utils/UserTreeSelectToResign.vue

@@ -0,0 +1,143 @@
+<template>
+  <div>
+    <el-dialog :title="title" :close-on-click-modal="false" draggable width="500px" height="700px" @close="close"
+      append-to-body v-model="visible">
+      <div style="height: calc(100% - 80px);">
+        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm"
+          @keyup.enter.native="refreshList()" @submit.native.prevent>
+          <!-- 搜索框-->
+          <el-form-item label="" prop="name">
+            <el-input v-model="searchForm.name" placeholder="请输入用户名称" clearable></el-input>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button type="primary" @click="list()" size="medium" icon="el-icon-search">查询</el-button>
+            <el-button @click="resetSearch()" size="medium" icon="el-icon-refresh-right">重置</el-button>
+          </el-form-item>
+        </el-form>
+        <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 }"
+          :checkbox-config="{}">
+          <!--          <vxe-column type="seq" width="60" title="序号"></vxe-column>-->
+          <vxe-column type="radio" width="50"></vxe-column>
+
+          <vxe-column title="姓名" min-width="180" field="name" align="left" tree-node></vxe-column>
+        </vxe-table>
+      </div>
+      <template #footer>
+        <span class="dialog-footer">
+          <el-button @click="close()" size="medium" icon="el-icon-circle-close">关闭</el-button>
+          <el-button type="primary" size="medium" v-if="method != 'view'" @click="getProgramForUser()"
+            icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+        </span>
+      </template>
+
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import ReimbursementService from '@/api/cw/reimbursementApproval/ReimbursementApprovalService.js'
+import userService from "@/api/sys/userService";
+import officeService from "@/api/sys/officeService";
+export default {
+  data() {
+    return {
+      title: '',
+      method: '',
+      visible: false,
+      loading: false,
+      dataList: [],
+      searchForm: {
+        name: ''
+      }
+    }
+  },
+  reimbursementService: null,
+  created() {
+    this.reimbursementService = new ReimbursementService()
+  },
+  components: {
+  },
+  methods: {
+    init() {
+      this.title = '人员选择'
+      this.visible = true
+      this.list()
+    },
+    // 表单提交
+    getProgramForUser() {
+      let rows = []
+      if (this.commonJS.isEmpty(this.$refs.userTable.getRadioRecord())) {
+        this.$message.error('请选择一条数据')
+        return
+      }
+      // if (this.$refs.userTable.getCheckboxRecords().length > 1) {
+      //   this.$message.error('最多选择一条数据')
+      //   return
+      // }
+      let row = this.$refs.userTable.getRadioRecord()
+      if (!row.isUser) {
+        this.$message.error('请选择人员数据')
+        return
+      }
+      this.close()
+      rows.push(row)
+      this.$emit('doSubmit', rows)
+    },
+    list() {
+      this.loading = true
+      this.reimbursementService.userTreeByTenantId(this.searchForm.name).then((data) => {
+        this.dataList = data
+        this.loading = false
+        this.$nextTick(() => {
+          this.$refs.userTable.setAllTreeExpand(true)
+        })
+        officeService.treeData({ tenantId: this.tenantId }).then(data1 => {
+          userService
+            .list({
+              current: 1,
+              size: 10,
+              companyDTO: {
+                id: data1[0].id
+              },
+            })
+            .then((data2) => {
+              let manager = data.filter(item => {
+                return data2.records[0].id == item.id
+              })
+              this.$refs.userTable.setRadioRow(manager[0])
+            });
+        });
+
+      })
+    },
+    // 当前页
+    currentChangeHandle({ currentPage, pageSize }) {
+      this.tablePage.currentPage = currentPage
+      this.tablePage.pageSize = pageSize
+      this.list()
+    },
+    resetSearch() {
+      this.$refs.searchForm.resetFields()
+      this.list()
+    },
+    close() {
+      this.detail = ''
+      this.visible = false
+    }
+  }
+}
+</script>
+<style>
+.messageZindex {
+  z-index: 9999 !important;
+}
+</style>
+<style scoped>
+/deep/ .el-dialog__body {
+  padding-top: 0px;
+}
+</style>