Explorar o código

0802文档调整

sangwenwei hai 7 meses
pai
achega
3f539b7009

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

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

+ 14 - 3
src/views/jy/project/ProjectForm.vue

@@ -346,6 +346,7 @@
 					projectLeader:this.$store.state.user.id, //项目负责人
 					clientList:[], //委托方联系人
 					files: [], // 附件信息
+					contractTypeFirstValue:''//合同类型大类值
 				},
 				clientTypes: [
 					{value: '1', label: '委托人'},
@@ -457,7 +458,8 @@
 					projectLeader:this.$store.state.user.id, //项目负责人
 					clientList:[], //委托方联系人
 					files: [], // 附件信息
-					formReadOnly:''
+					formReadOnly:'',
+					contractTypeFirstValue:''
 				}
 				this.inputForm.id = id
 				if (method === 'add') {
@@ -505,7 +507,7 @@
 							}
 							this.getLocation()
 							// this.inputForm.cwWorkClientContactDTOList=data.cwWorkClientContactDTOList
-							console.log('data', data)
+							console.log('data', this.inputForm.contractTypeFirstValue)
 							if (this.commonJS.isEmpty(this.inputForm.createDate)) {
 								this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
 							}
@@ -664,7 +666,7 @@
 				this.loading = true
 				this.$refs['inputForm'].validate(async (valid) => {
 					if (valid) {
-						await this.projectInfoService.findById(this.inputForm.id).then((data) => {
+						await this.projectInfoService.findById(this.inputForm.id).then(async (data) => {
 							// if (data.status !== '2') { // status的值不等于“审核中”,就弹出提示
 							// 	this.loading = false
 							// 	this.$message.error('任务数据已发生改变或不存在,请在待办任务中确认此任务是否存在')
@@ -676,6 +678,15 @@
 									this.inputForm.status = '5'
 								}else {
 									this.inputForm.status = '2'
+									//根据合同类型获取下一节点审核人
+									console.log('this.inputForm.contractTypeFirstValue',this.inputForm.contractTypeFirstValue)
+									if (this.inputForm.contractTypeFirstValue == '1'||this.inputForm.contractTypeFirstValue == '3'){
+										const data1 = await userService.queryByName("潘文超")
+										this.inputForm.assignee = data1.id
+									}else {
+										const data1 = await userService.queryByName("杨慧")
+										this.inputForm.assignee = data1.id
+									}
 								}
 								let param = {status: this.inputForm.status, id: this.inputForm.id}
 								this.projectInfoService.updateStatusById(param).then((data) => {

+ 65 - 29
src/views/jy/reimbursement/InfoForm.vue

@@ -9,7 +9,7 @@
 			append-to-body
 			@keyup.enter.native="doSubmit"
 			v-model="visible">
-		<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail'"
+		<el-form :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"
 				 label-width="100px" @submit.native.prevent>
 
 			<el-divider content-position="left"><i class="el-icon-document"></i> 基础信息</el-divider>
@@ -47,7 +47,7 @@
 								  :rules="[
                         {required: true, message:'请选择报销类型', trigger:'change'}
                  ]">
-						<el-select v-model="inputForm.applyType" @change="changeSourceType" placeholder="请选择报销类型" style="width:100%;">
+						<el-select :disabled="true" v-model="inputForm.applyType" @change="changeSourceType" placeholder="请选择报销类型" style="width:100%;">
 							<el-option
 								v-for="item in $dictUtils.getDictList('jy_apply')"
 								:key="item.value"
@@ -63,6 +63,7 @@
 								  type="textarea"
 								  :rows="5"
 								  maxlength="500"
+								  :disabled="true"
 								  placeholder="请输入简介"
 								  show-word-limit>
 						</el-input>
@@ -104,12 +105,12 @@
 							</vxe-table-column>
 							<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
 								<template #edit="scope">
-									<el-input v-model="scope.row.typeName" @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.typeName" @focus="typePullForm(scope.$rowIndex, scope.row.deptId)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="projectName" title="借款详情" :edit-render="{}" :rules="[{required: true, message:'请填写借款详情', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.projectName" @focus="openBorrowForm(scope.$rowIndex, scope.row)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.projectName" @focus="openBorrowForm(scope.$rowIndex, scope.row)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="reportNumber" title="借款编号" :edit-render="{}" :rules="[]">
@@ -124,7 +125,7 @@
 							</vxe-table-column>
 							<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
+									<el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
 							  .replace(/^\./g,'')
 							  .replace(/\.{2,}/g,'.')
 							  .replace('.','$#$').replace(/\./g,'').replace('$#$','.')
@@ -133,7 +134,7 @@
 							</vxe-table-column>
 							<vxe-table-column title="操作" width="100">
 								<template v-slot="scope">
-									<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'borrow')">删除</el-button>
+									<el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'borrow')">删除</el-button>
 								</template>
 							</vxe-table-column>
 						</vxe-table>
@@ -175,12 +176,12 @@
 							</vxe-table-column>
 							<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
 								<template #edit="scope">
-									<el-input v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.typeName" @focus="typePullForm2(scope.$rowIndex, scope.row.deptId)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="projectName" title="付款详情" :edit-render="{}" :rules="[{required: true, message:'请选择付款详情', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.projectName" @focus="openPayment(scope.$rowIndex, scope.row)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.projectName" @focus="openPayment(scope.$rowIndex, scope.row)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="reportNumber" title="付款编号" :edit-render="{}" :rules="[]">
@@ -195,7 +196,7 @@
 							</vxe-table-column>
 							<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
+									<el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
 							  .replace(/^\./g,'')
 							  .replace(/\.{2,}/g,'.')
 							  .replace('.','$#$').replace(/\./g,'').replace('$#$','.')
@@ -204,7 +205,7 @@
 							</vxe-table-column>
 							<vxe-table-column title="操作" width="100">
 								<template v-slot="scope">
-									<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'payment')">删除</el-button>
+									<el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'payment')">删除</el-button>
 								</template>
 							</vxe-table-column>
 						</vxe-table>
@@ -247,17 +248,17 @@
 							</vxe-table-column>
 							<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
 								<template #edit="scope">
-									<el-input v-model="scope.row.typeName" @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.typeName" @focus="typePullForm3(scope.$rowIndex, scope.row.deptId)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="projectName" title="报销详情" :edit-render="{}" :rules="[{required: true, message:'请填写报销详情', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.projectName" @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.projectName" @focus="openProgramPageForm4(scope.$rowIndex, scope.row)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
+									<el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
 							  .replace(/^\./g,'')
 							  .replace(/\.{2,}/g,'.')
 							  .replace('.','$#$').replace(/\./g,'').replace('$#$','.')
@@ -266,7 +267,7 @@
 							</vxe-table-column>
 							<vxe-table-column title="操作" width="100">
 								<template v-slot="scope">
-									<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'others')">删除</el-button>
+									<el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'others')">删除</el-button>
 								</template>
 							</vxe-table-column>
 						</vxe-table>
@@ -279,6 +280,15 @@
 					<el-button style="margin-left: 20px" type="primary" :disabled="method==='view' || status === 'audit' || status === 'taskFormDetail'" @click="insertEvent('project')" plain>
 						新增
 					</el-button>
+					<el-button v-if="(inputForm.id) && (method==='view' || status === 'audit' || status === 'taskFormDetail')"
+							   ref="exportButton"
+							   style="margin-left: 20px"
+							   type="primary"
+							   @click="exportReimbursementProjectFileById()"
+							   :disabled="false"
+							   plain>
+						导出报销详情
+					</el-button>
 				</el-divider>
 				<el-row  :gutter="15" >
 					<el-col :span="24">
@@ -298,7 +308,7 @@
 						>
 							<vxe-table-column field="userName" title="报销人" :edit-render="{}" :rules="[{required: true, message:'请选择报销人', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.userName" @focus="userPullListForm3(scope.$rowIndex)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="deptName" title="报销部门" :edit-render="{}">
@@ -308,17 +318,17 @@
 							</vxe-table-column>
 							<vxe-table-column field="typeName" title="报销类别" :edit-render="{}" :rules="[{required: true, message:'请选择报销类别', trigger:'blur'}]">
 								<template #edit="scope">
-									<el-input v-model="scope.row.typeName" @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.typeName" @focus="typePullForm4(scope.$rowIndex, scope.row.deptId)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="projectName" title="报销项目" :edit-render="{}" :rules="[{required: true, message:'请选择报销项目', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.projectName" @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
+									<el-input :disabled="true" v-model="scope.row.projectName" @focus="openProgramPageForm3(scope.$rowIndex, scope.row)"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="number" title="费用(元)" :edit-render="{}" :rules="[{required: true, message:'请输入费用', trigger:'blur'}]">
 								<template v-slot:edit="scope">
-									<el-input maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
+									<el-input :disabled="true" maxlength="15" v-model="scope.row.number" v-on:input="scope.row.number=scope.row.number.replace(/[^\d.]/g,'')
 							  .replace(/^\./g,'')
 							  .replace(/\.{2,}/g,'.')
 							  .replace('.','$#$').replace(/\./g,'').replace('$#$','.')
@@ -327,22 +337,22 @@
 							</vxe-table-column>
 							<vxe-table-column field="receiptNumber" title="收据张数" :edit-render="{}">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
+									<el-input :disabled="true" v-model="scope.row.receiptNumber" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="days" title="出差天数" :edit-render="{}">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
+									<el-input :disabled="true" v-model="scope.row.days" oninput ="value=value.replace(/\D|^0/g,'')" maxlength="10"></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column field="content" title="内容" :edit-render="{}">
 								<template v-slot:edit="scope">
-									<el-input v-model="scope.row.content" ></el-input>
+									<el-input :disabled="true" v-model="scope.row.content" ></el-input>
 								</template>
 							</vxe-table-column>
 							<vxe-table-column title="操作" width="100">
 								<template v-slot="scope">
-									<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'report_detail')">删除</el-button>
+									<el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'report_detail')">删除</el-button>
 								</template>
 							</vxe-table-column>
 						</vxe-table>
@@ -370,22 +380,22 @@
 					>
 						<vxe-table-column field="code" title="发票代码" :edit-render="{}">
 							<template v-slot:edit="scope">
-								<el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="20" v-model="scope.row.code" ></el-input>
+								<el-input :disabled="true" oninput ="value=value.replace(/\D|^/g,'')" maxlength="20" v-model="scope.row.code" ></el-input>
 							</template>
 						</vxe-table-column>
 						<vxe-table-column field="number" title="发票号" :edit-render="{}">
 							<template v-slot:edit="scope">
-								<el-input oninput ="value=value.replace(/\D|^/g,'')" maxlength="8" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
+								<el-input :disabled="true" oninput ="value=value.replace(/\D|^/g,'')" maxlength="8" @change="isExict(scope.row)" v-model="scope.row.number" ></el-input>
 							</template>
 						</vxe-table-column>
 						<vxe-table-column field="amount" title="金额" :edit-render="{}">
 							<template v-slot:edit="scope">
-								<el-input maxlength="15" v-model="scope.row.amount" @keyup.native="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
+								<el-input :disabled="true" maxlength="15" v-model="scope.row.amount" @keyup.native="scope.row.amount = twoDecimalPlaces(scope.row.amount)" @change="countAmount(scope.row)"></el-input>
 							</template>
 						</vxe-table-column>
 						<vxe-table-column field="taxAmount" title="税额" :edit-render="{}">
 							<template v-slot:edit="scope">
-								<el-input maxlength="15" v-model="scope.row.taxAmount" @keyup.native="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
+								<el-input :disabled="true" maxlength="15" v-model="scope.row.taxAmount" @keyup.native="scope.row.taxAmount = twoDecimalPlaces(scope.row.taxAmount)" @change="countAmount(scope.row)"></el-input>
 							</template>
 						</vxe-table-column>
 						<vxe-table-column field="count" title="价税合计" :edit-render="{}">
@@ -395,7 +405,7 @@
 						</vxe-table-column>
 						<vxe-table-column title="操作" width="100">
 							<template v-slot="scope">
-								<el-button size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'amount')">删除</el-button>
+								<el-button :disabled="true" size="small" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'amount')">删除</el-button>
 							</template>
 						</vxe-table-column>
 					</vxe-table>
@@ -446,6 +456,15 @@
 	import PaymentByUserIdForm from './PaymentByUserIdForm'
 	import ProjectForm from '@/views/materialManagement/userSeal/ProjectForm'
 	export default {
+		updated() {
+			this.$nextTick(() => {
+				const button = this.$refs.exportButton;
+				if (button) {
+					button.$el.disabled = false;
+					button.$el.classList.remove('is-disabled');
+				}
+			});
+		},
 		props: {
 			businessId: {
 				type: String,
@@ -508,7 +527,8 @@
 					purchaseNo: '',
 					tradeTotalPrice: '',
 					purchaseId: '',
-					departmentName: ''
+					departmentName: '',
+					id:''
 				},
 				keyWatch: '',
 				amountKey: ''
@@ -597,7 +617,8 @@
 					purchaseNo: '',
 					tradeTotalPrice: '',
 					purchaseId: '',
-					departmentName: ''
+					departmentName: '',
+					id:''
 				}
 				if (method === 'view') {
 					this.title = `查看报销类型`
@@ -639,6 +660,21 @@
 
 				})
 			},
+			// 下载文档
+			exportReimbursementProjectFileById () {
+				this.loading = true
+				this.reimbursementService.exportReimbursementProjectFileById(this.inputForm.id).then((res) => {
+					// 将二进制流文件写入excel表,以下为重要步骤
+					this.$utils.downloadExcel(res, '项目报销数据导出')
+					this.loading = false
+				}).catch(function (err) {
+					this.loading = false
+					if (err.response) {
+						console.log(err.response)
+					}
+				})
+
+			},
 			// 表单提交
 			doSubmit () {
 				this.$refs['inputForm'].validate((valid) => {