个人周报填报页面增加分页,个人周报填报详情页面更改
This commit is contained in:
parent
f4121f89b2
commit
97e0580ca2
@ -85,8 +85,11 @@
|
||||
if (userId === '0') {
|
||||
this.isSuper = true;
|
||||
}
|
||||
// this.pageLoading = true;
|
||||
Api.ProjectManagements.getWeekly().then(result=>{
|
||||
let projectWeeklyFindReq={
|
||||
pageNo:this.pageNo,
|
||||
pageSize:this.pageSize
|
||||
}
|
||||
Api.ProjectManagements.getWeekly(projectWeeklyFindReq).then(result=>{
|
||||
this.tableRowsData = [];
|
||||
this.pageLoading = false;
|
||||
console.log("周报填报列表",result)
|
||||
@ -101,6 +104,8 @@
|
||||
thisWeek: dataList[i].thisWeek,
|
||||
nextWeek: dataList[i].nextWeek
|
||||
})
|
||||
// this.pageNo=result.data.pages
|
||||
this.tableTotalPage=result.data.total
|
||||
}
|
||||
console.log("tableRowsData",this.tableRowsData)
|
||||
}
|
||||
@ -174,7 +179,7 @@
|
||||
},
|
||||
tableSingleCheck (index){
|
||||
this.$router.push({
|
||||
name: "ExpenseClaimApplyCheck",
|
||||
name: "ExpenseClaimApplyEdit",
|
||||
params: {id: this.tableRowsData[index].id}
|
||||
})
|
||||
},
|
||||
|
@ -2,7 +2,7 @@
|
||||
<div id="content-container" :class="{'expand-right': expandRight}">
|
||||
<!--Page Title-->
|
||||
<div id="page-title">
|
||||
<h1 class="page-header text-overflow">财务报销</h1>
|
||||
<h1 class="page-header text-overflow">个人周报填报</h1>
|
||||
</div>
|
||||
<!--End page title-->
|
||||
|
||||
@ -17,221 +17,149 @@
|
||||
<!--Page content-->
|
||||
<div class="page-content">
|
||||
<div class="panel">
|
||||
<div class="panel-body" style="padding-bottom: 0px" v-if="isVerify&&isNotVerifyReady">
|
||||
<verify-button
|
||||
:taskId="taskId"
|
||||
:rewriteAgree="rewriteAgreeVerify"
|
||||
:rewriteReject="rewriteRejectVerify"
|
||||
:rewriteDestroy="rewriteDestroyVerify"
|
||||
@agreeFlowVerify="agreeFlowVerify"
|
||||
@rejectFlowVerify="rejectFlowVerify"
|
||||
@destroyFlowVerify="destroyFlowVerify"
|
||||
>
|
||||
</verify-button>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<el-form :model="formModel" label-width="100px" ref="formName">
|
||||
<el-form-item>
|
||||
<el-steps :active="formModel.activie" finish-status="success">
|
||||
<el-step title="初始状态"></el-step>
|
||||
<el-step title="审批中"></el-step>
|
||||
<el-step title="审批完成"></el-step>
|
||||
</el-steps>
|
||||
</el-form-item>
|
||||
<el-form-item label="部门" prop="deptId" :rules="[
|
||||
{required: true, message: '部门不能为空'}]">
|
||||
<el-select class="form-input" filterable placeholder="请选择" v-model="formModel.deptId" :disabled="true">
|
||||
<el-option
|
||||
v-for="subItem in orgOptions"
|
||||
:key="subItem.model"
|
||||
:label="subItem.label"
|
||||
:value="subItem.model"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="姓名" prop="userInfoId" :rules="[
|
||||
{required: true, message: '姓名不能为空'}]">
|
||||
<el-select class="form-input" filterable placeholder="请选择" :disabled="true" v-model="formModel.userInfoId">
|
||||
<el-option
|
||||
v-for="subItem in userInfoOption"
|
||||
:key="subItem.model"
|
||||
:label="subItem.label"
|
||||
:value="subItem.model"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!--<el-form-item label="职位">-->
|
||||
<!--<el-select class="form-input" v-model="model[item.model]" filterable placeholder="请选择">-->
|
||||
<!--<el-option-->
|
||||
<!--v-for="subItem in item.externalValue.options"-->
|
||||
<!--:key="subItem.model"-->
|
||||
<!--:label="subItem.label"-->
|
||||
<!--:value="subItem.model"-->
|
||||
<!-->-->
|
||||
<!--</el-option>-->
|
||||
<!--</el-select>-->
|
||||
<!--</el-form-item>-->
|
||||
|
||||
<el-form-item label="报销类别" prop="reimburseCategory" :rules="[
|
||||
{required: true, message: '报销类别不能为空'}]">
|
||||
<el-select class="form-input" filterable placeholder="请选择" v-model="formModel.reimburseCategory" :disabled="!canEditReimburseCategory">
|
||||
<el-option
|
||||
v-for="subItem in reimburseCategoryData"
|
||||
:key="subItem.model"
|
||||
:label="subItem.label"
|
||||
:value="subItem.model"
|
||||
:disabled="subItem.disabled"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="证明人" prop="witness" :rules="[
|
||||
{required: true, message: '证明人不能为空'}]" v-if="formModel.reimburseCategory !== 'medical'">
|
||||
<el-select class="form-input" filterable placeholder="请选择" :disabled="!isEdit" v-model="formModel.witness">
|
||||
<el-option
|
||||
v-for="subItem in formWitnessData"
|
||||
:key="subItem.model"
|
||||
:label="subItem.label"
|
||||
:value="subItem.model"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="预算种类" prop="selectBudgetCategoryId" :rules="[
|
||||
{required: true, message: '预算种类不能为空'}]">
|
||||
<el-cascader
|
||||
:options="budgetCategory"
|
||||
v-model="formModel.selectBudgetCategoryId"
|
||||
class="form-input"
|
||||
:disabled="!canEditBudgetCategory"
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="报销事由" prop="reason" :rules="[
|
||||
{required: true, message: '报销事由不能为空'}]">
|
||||
<el-form-item label="姓名" prop="projectNo" :disabled="true">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model="formModel.reason"
|
||||
:disabled="!isEdit"
|
||||
v-model="formModel.userName"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="姓名" prop="userId">-->
|
||||
<!-- <el-select class="form-input" filterable placeholder="请选择" :disabled="true"-->
|
||||
<!-- v-model="formModel.userInfoId">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="subItem in userInfoOption"-->
|
||||
<!-- :key="subItem.model"-->
|
||||
<!-- :label="subItem.label"-->
|
||||
<!-- :value="subItem.model"-->
|
||||
<!-- >-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<el-form-item label="项目编号" prop="projectNo">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model="formModel.projectNo"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
|
||||
<!-- :rules="[-->
|
||||
<!-- {projectName: true, message: '项目名称不能为空'}]"-->
|
||||
<el-form-item label="项目名称" prop="projectName">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model="formModel.projectName"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="证明人" prop="witness" :rules="[-->
|
||||
<!-- {required: true, message: '证明人不能为空'}]" v-if="formModel.reimburseCategory !== 'medical'">-->
|
||||
<!-- <el-select class="form-input" filterable placeholder="请选择" v-model="formModel.witness">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="subItem in formWitnessData"-->
|
||||
<!-- :key="subItem.model"-->
|
||||
<!-- :label="subItem.label"-->
|
||||
<!-- :value="subItem.model"-->
|
||||
<!-- :disabled="subItem.disabled"-->
|
||||
<!-- >-->
|
||||
<!-- </el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<!-- <el-form-item label="预算种类" prop="selectBudgetCategoryId" :rules="[-->
|
||||
<!-- {required: true, message: '预算种类不能为空'}]">-->
|
||||
<!-- <el-cascader-->
|
||||
<!-- :options="budgetCategory"-->
|
||||
<!-- v-model="formModel.selectBudgetCategoryId"-->
|
||||
<!-- class="form-input"-->
|
||||
<!-- ></el-cascader>-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<!-- <el-form-item label="报销事由" prop="reason" :rules="[-->
|
||||
<!-- {required: true, message: '报销事由不能为空'}]">-->
|
||||
<!-- <el-input-->
|
||||
<!-- class="form-input"-->
|
||||
<!-- placeholder="请输入内容"-->
|
||||
<!-- v-model="formModel.reason"-->
|
||||
<!-- >-->
|
||||
<!-- </el-input>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!--明细-->
|
||||
<div>
|
||||
<div class="form-item-border" v-for="(item, index) in formModel.reimburseDetail" @click="reimburseClick(index)">
|
||||
<el-form-item label="发生时间" :prop="'reimburseDetail.' + index + '.time'" :rules="[
|
||||
{required: true, message: '发生时间不能为空'}]">
|
||||
<el-date-picker
|
||||
v-model="item.time"
|
||||
class="form-input"
|
||||
value-format="YYYY-MM"
|
||||
placeholder="选择日期"
|
||||
:disabled="!isEdit"
|
||||
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用金额" :prop="'reimburseDetail.' + index + '.money'" :rules="[
|
||||
{required: true, message: '费用金额不能为空'}, { type: 'number', message: '费用金额必须为数字值'}]">
|
||||
<!-- <div class="form-item-border" v-for="(item, index) in formModel.reimburseDetail" @click="reimburseClick(index)">-->
|
||||
<!-- :rules="[-->
|
||||
<!-- {required: true, message: '工作量不能为空'}, { type: 'number', message: '工作量必须为数字值'}]"-->
|
||||
<el-form-item label="工作量(人日)" prop="workload">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model.number="item.money"
|
||||
v-model.number="formModel.workload"
|
||||
@change="moneyChange"
|
||||
:disabled="!isEdit"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="费用说明">
|
||||
<el-form-item label="本周进展" prop="thisWeek">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model="item.moneyDetail"
|
||||
:disabled="!isEdit"
|
||||
v-model="formModel.thisWeek"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否有发票">
|
||||
<el-radio v-model="item.hasBill" :label=true :disabled="!isEdit">是</el-radio>
|
||||
<el-radio v-model="item.hasBill" :label=false :disabled="!isEdit">否</el-radio>
|
||||
</el-form-item>
|
||||
<el-form-item label="附件">
|
||||
<el-upload
|
||||
name="file"
|
||||
class="upload-demo"
|
||||
:action="actionUrl"
|
||||
:on-remove="handleFileRemove"
|
||||
:multiple="false"
|
||||
:file-list="item.fileList"
|
||||
:on-success="handleFileSuccess"
|
||||
v-if="isEdit"
|
||||
>
|
||||
<el-button size="small" type="primary" v-if="isEdit">点击上传</el-button>
|
||||
</el-upload>
|
||||
<div v-if="!isEdit">
|
||||
<div v-for="(item, index) in item.fileList">
|
||||
<span>{{item.name}}</span>
|
||||
<a :href="baseUrl+item.url" class="download">下载</a>
|
||||
<!--<a v-for="(item, index) in item.personContractList" :href="baseUrl+item.url">{{item.name}}</a>-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-button type="default" @click="deleteFile(index)" v-if="isEdit"><i class="fa fa-trash-o"></i>删除报销明细</el-button>
|
||||
</div>
|
||||
<el-button type="default" @click="addFile()" class="btn-add-form" v-if="isEdit"><i class="fa fa-plus"></i>增加报销明细</el-button>
|
||||
<el-form-item label="总金额">
|
||||
<el-form-item label="下周计划" prop="nextWeek">
|
||||
<el-input
|
||||
class="form-input"
|
||||
placeholder="请输入内容"
|
||||
v-model="formModel.total"
|
||||
:disabled="true"
|
||||
v-model="formModel.nextWeek"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- </div>-->
|
||||
<el-form-item>
|
||||
<div style="float: right">
|
||||
<el-button @click="save('formName')" type="primary" v-if="isEdit" :disabled="!isSave">保存</el-button>
|
||||
<el-button @click="cancel()" type="default">取消</el-button>
|
||||
<el-button @click="save('formName')" type="primary" :disabled="!isSave">保存</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<flow-record-table
|
||||
:checkOrVerify="checkOrVerify"
|
||||
:flowId="flowId"
|
||||
>
|
||||
</flow-record-table>
|
||||
</div>
|
||||
<!--End Page content-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import routerData from '../../../../router.json'
|
||||
import DataForm from '../../../components/form/DataForm.vue'
|
||||
import DataTable from '../../../components/DataTable.vue'
|
||||
import Api from '../../../server/index.js'
|
||||
import app from '../../../assets/js/common/app.js'
|
||||
import {getItem} from '../../../config/mUtils.js'
|
||||
import {baseUrl} from '../../../config/env.js';
|
||||
import verifyButton from '../../../components/verifyButton.vue'
|
||||
import FlowRecordTable from '../../../components/FlowRecordTable.vue'
|
||||
import DataForm from '../../../components/form/DataForm.vue'
|
||||
import DataTable from '../../../components/DataTable.vue'
|
||||
import Api from '../../../server/index.js'
|
||||
import app from '../../../assets/js/common/app.js'
|
||||
import {baseUrl} from '../../../config/env.js'
|
||||
import verifyButton from '../../../components/verifyButton.vue'
|
||||
import FlowRecordTable from '../../../components/FlowRecordTable.vue'
|
||||
|
||||
export default {
|
||||
export default {
|
||||
beforeRouteEnter (to, from, next) {
|
||||
next(function (vm) {
|
||||
global.getMenuIndex(vm);
|
||||
global.getMenuIndex(vm)
|
||||
})
|
||||
},
|
||||
data (){
|
||||
data () {
|
||||
return {
|
||||
ext: {},
|
||||
thisWeek: '',
|
||||
nextWeek: '',
|
||||
userId: '',
|
||||
workload: '',
|
||||
projectName: '',
|
||||
money: '',
|
||||
projectNo: '',
|
||||
expandRight: false,
|
||||
app: app,
|
||||
reimburseId: '',
|
||||
@ -278,85 +206,109 @@
|
||||
}
|
||||
},
|
||||
created () {
|
||||
this.taskId = this.$route.params.taskId;
|
||||
this.taskId = this.$route.params.taskId
|
||||
if (this.$route.name === 'ExpenseClaimApplyEdit') {
|
||||
this.isEdit = true;
|
||||
this.flowId = this.$route.params.id;
|
||||
this.checkOrVerify = true;
|
||||
this.isEdit = true
|
||||
this.flowId = this.$route.params.id
|
||||
this.checkOrVerify = true
|
||||
} else if (this.$route.name === 'ExpenseClaimApplyVerify') {
|
||||
this.isVerify = true;
|
||||
this.flowId = this.$route.params.verifyId;
|
||||
this.checkOrVerify = false;
|
||||
this.isNotVerifyReady = this.$route.query.isNotVerifyReady === 'Y';
|
||||
this.isVerify = true
|
||||
this.flowId = this.$route.params.verifyId
|
||||
this.checkOrVerify = false
|
||||
this.isNotVerifyReady = this.$route.query.isNotVerifyReady === 'Y'
|
||||
} else if (this.$route.name === 'ExpenseClaimApplyArchive') {
|
||||
this.flowId = this.$route.params.id;
|
||||
this.checkOrVerify = true;
|
||||
this.flowId = this.$route.params.id
|
||||
this.checkOrVerify = true
|
||||
} else {
|
||||
this.flowId = this.$route.params.id;
|
||||
this.checkOrVerify = true;
|
||||
this.flowId = this.$route.params.id
|
||||
this.checkOrVerify = true
|
||||
}
|
||||
this.init();
|
||||
this.getBudgetCategory();
|
||||
this.getAllPeople();
|
||||
this.init()
|
||||
this.getBudgetCategory()
|
||||
this.getAllPeople()
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.reimburseId = this.$route.params.id;
|
||||
Api.FinanceManagement.getReimburseDetail(this.reimburseId).then(result => {
|
||||
console.log("====",result);
|
||||
this.reimburseId = this.$route.params.id
|
||||
this.getWeekly()
|
||||
// Api.FinanceManagement.getReimburseDetail(this.reimburseId).then(result => {
|
||||
// console.log("====",result);
|
||||
// if (result.status === 0) {
|
||||
// this.userInfoOption.push({
|
||||
// label: result.data.userInfo.userInfoName,
|
||||
// model: result.data.userInfo.userInfoId
|
||||
// });
|
||||
// let orgName = '';
|
||||
// if (result.data.userInfo.dept.length) {
|
||||
// for (let i=0; i<result.data.userInfo.dept.length; i++) {
|
||||
// orgName += result.data.userInfo.dept[i].orgName;
|
||||
// if (i<result.data.userInfo.dept.length-1) {
|
||||
// orgName += '>'
|
||||
// }
|
||||
// }
|
||||
// this.orgOptions.push({
|
||||
// label: orgName,
|
||||
// model: result.data.userInfo.dept[result.data.userInfo.dept.length-1].id
|
||||
// });
|
||||
// this.formModel.deptId = result.data.userInfo.dept[result.data.userInfo.dept.length-1].id;
|
||||
// }
|
||||
// if (result.data.activitiStatus == '0' || result.data.activitiStatus == '1' || result.data.activitiStatus == '3') {
|
||||
// this.formModel.activie = 2;
|
||||
// }
|
||||
// if (result.data.activitiStatus == '2' || result.data.activitiStatus == '4') {
|
||||
// this.formModel.activie = 3;
|
||||
// }
|
||||
// this.formModel.userInfoId = result.data.userInfo.userInfoId;
|
||||
// this.formModel.reimburseCategory = result.data.ext.reimburseCategory;
|
||||
// this.formModel.reason = result.data.ext.reason;
|
||||
// this.formModel.total = result.data.ext.total;
|
||||
// this.formModel.witness = result.data.ext.witness;
|
||||
// this.formModel.selectBudgetCategoryId = [];
|
||||
// for(let i=0; i<result.data.budgetCategory.length; i++) {
|
||||
// this.formModel.selectBudgetCategoryId.push(result.data.budgetCategory[i].id);
|
||||
// }
|
||||
// this.formModel.reimburseDetail = result.data.ext.detail;
|
||||
// this.judgeEditAuth(result.data.isEdit);
|
||||
// } else {
|
||||
// this.$message.error(`${result.msg}`);
|
||||
// }
|
||||
// })
|
||||
},
|
||||
getWeekly () {
|
||||
Api.ProjectManagements.getWeekly().then(result => {
|
||||
this.tableRowsData = []
|
||||
this.pageLoading = false
|
||||
if (result.status === 0) {
|
||||
this.userInfoOption.push({
|
||||
label: result.data.userInfo.userInfoName,
|
||||
model: result.data.userInfo.userInfoId
|
||||
});
|
||||
let orgName = '';
|
||||
if (result.data.userInfo.dept.length) {
|
||||
for (let i=0; i<result.data.userInfo.dept.length; i++) {
|
||||
orgName += result.data.userInfo.dept[i].orgName;
|
||||
if (i<result.data.userInfo.dept.length-1) {
|
||||
orgName += '>'
|
||||
}
|
||||
}
|
||||
this.orgOptions.push({
|
||||
label: orgName,
|
||||
model: result.data.userInfo.dept[result.data.userInfo.dept.length-1].id
|
||||
});
|
||||
this.formModel.deptId = result.data.userInfo.dept[result.data.userInfo.dept.length-1].id;
|
||||
}
|
||||
if (result.data.activitiStatus == '0' || result.data.activitiStatus == '1' || result.data.activitiStatus == '3') {
|
||||
this.formModel.activie = 2;
|
||||
}
|
||||
if (result.data.activitiStatus == '2' || result.data.activitiStatus == '4') {
|
||||
this.formModel.activie = 3;
|
||||
}
|
||||
this.formModel.userInfoId = result.data.userInfo.userInfoId;
|
||||
this.formModel.reimburseCategory = result.data.ext.reimburseCategory;
|
||||
this.formModel.reason = result.data.ext.reason;
|
||||
this.formModel.total = result.data.ext.total;
|
||||
this.formModel.witness = result.data.ext.witness;
|
||||
this.formModel.selectBudgetCategoryId = [];
|
||||
for(let i=0; i<result.data.budgetCategory.length; i++) {
|
||||
this.formModel.selectBudgetCategoryId.push(result.data.budgetCategory[i].id);
|
||||
}
|
||||
this.formModel.reimburseDetail = result.data.ext.detail;
|
||||
this.judgeEditAuth(result.data.isEdit);
|
||||
} else {
|
||||
this.$message.error(`${result.msg}`);
|
||||
console.log("获取信息",result)
|
||||
let dataList = result.data.ls[0]
|
||||
console.log("result.data.ls[0]",result.data.ls[0])
|
||||
this.formModel.userInfoId = dataList.userName
|
||||
// for (let i = 0; i < dataList.length; i++) {
|
||||
// this.tableRowsData.push({
|
||||
// projectNo: dataList[i].projectNo,
|
||||
// projectName: dataList[i].projectName,
|
||||
// userName: dataList[i].userName,
|
||||
// workload: dataList[i].workload,
|
||||
// thisWeek: dataList[i].thisWeek,
|
||||
// nextWeek: dataList[i].nextWeek
|
||||
// })
|
||||
// }
|
||||
console.log('tableRowsData', this.tableRowsData)
|
||||
}
|
||||
})
|
||||
},
|
||||
//判断是否能修改报销分类和预算类别(财务专员在审批中能修改)
|
||||
judgeEditAuth(canEdit) {
|
||||
if(this.isNotVerifyReady === true) {
|
||||
judgeEditAuth (canEdit) {
|
||||
if (this.isNotVerifyReady === true) {
|
||||
if (this.$route.name === 'ExpenseClaimApplyVerify') {
|
||||
this.canEditBudgetCategory = canEdit;
|
||||
this.rewriteAgreeVerify = canEdit;
|
||||
this.rewriteRejectVerify = canEdit;
|
||||
this.rewriteDestroyVerify = canEdit;
|
||||
if(this.formModel.reimburseCategory !== 'medical') {
|
||||
this.canEditReimburseCategory = canEdit;
|
||||
this.canEditBudgetCategory = canEdit
|
||||
this.rewriteAgreeVerify = canEdit
|
||||
this.rewriteRejectVerify = canEdit
|
||||
this.rewriteDestroyVerify = canEdit
|
||||
if (this.formModel.reimburseCategory !== 'medical') {
|
||||
this.canEditReimburseCategory = canEdit
|
||||
//其他类型的报销不能改为医疗保险
|
||||
let destData = [];
|
||||
let destData = []
|
||||
this.reimburseCategoryData.forEach((category, index) => {
|
||||
destData.push(
|
||||
{
|
||||
@ -365,30 +317,30 @@
|
||||
disabled: category.model === 'medical',
|
||||
}
|
||||
)
|
||||
});
|
||||
this.reimburseCategoryData = destData;
|
||||
})
|
||||
this.reimburseCategoryData = destData
|
||||
}
|
||||
this.isEdit = false;
|
||||
this.isEdit = false
|
||||
} else {
|
||||
this.isEdit = canEdit;
|
||||
this.isEdit = canEdit
|
||||
}
|
||||
}
|
||||
},
|
||||
getBudgetCategory () {
|
||||
Api.Common.getBudgetCategory().then(result => {
|
||||
if (result.status === 0) {
|
||||
this.budgetCategory = this.assembleOrgData(result.data);
|
||||
this.budgetCategory = this.assembleOrgData(result.data)
|
||||
} else {
|
||||
this.$message.error(`${result.msg}`);
|
||||
this.$message.error(`${result.msg}`)
|
||||
}
|
||||
})
|
||||
},
|
||||
//请求所有人员
|
||||
getAllPeople () {
|
||||
Api.PersonnelManagement.personListNew(1, 10000).then((result)=> {
|
||||
Api.PersonnelManagement.personListNew(1, 10000).then((result) => {
|
||||
if (result.status === 0) {
|
||||
for(let i=0; i<result.data.ls.length; i++){
|
||||
let people = result.data.ls[i];
|
||||
for (let i = 0; i < result.data.ls.length; i++) {
|
||||
let people = result.data.ls[i]
|
||||
this.formWitnessData.push({
|
||||
model: people.id,
|
||||
label: people.personName,
|
||||
@ -398,24 +350,24 @@
|
||||
} else {
|
||||
this.$message.error(`${result.msg}`)
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
//递归组装部门级联选择器数据源
|
||||
assembleOrgData(source){
|
||||
let dest = [];
|
||||
for (let i=0; i<source.length; i++) {
|
||||
assembleOrgData (source) {
|
||||
let dest = []
|
||||
for (let i = 0; i < source.length; i++) {
|
||||
let org = {
|
||||
value: source[i].id,
|
||||
parentId: source[i].parentId,
|
||||
label: source[i].name,
|
||||
depth: source[i].depth
|
||||
};
|
||||
}
|
||||
if (source[i].childList && source[i].childList.length > 0) {
|
||||
org['children'] = this.assembleOrgData(source[i].childList);
|
||||
org['children'] = this.assembleOrgData(source[i].childList)
|
||||
}
|
||||
dest.push(org);
|
||||
dest.push(org)
|
||||
}
|
||||
return dest;
|
||||
return dest
|
||||
},
|
||||
addFile () {
|
||||
this.formModel.reimburseDetail.push({
|
||||
@ -428,18 +380,18 @@
|
||||
},
|
||||
deleteFile (index) {
|
||||
if (this.formModel.reimburseDetail.length === 1) {
|
||||
this.$message.warning('报销明细不能为空!');
|
||||
return false;
|
||||
this.$message.warning('报销明细不能为空!')
|
||||
return false
|
||||
}
|
||||
this.formModel.reimburseDetail.splice(index, 1);
|
||||
this.formModel.reimburseDetail.splice(index, 1)
|
||||
},
|
||||
// 上传附件
|
||||
handleFileRemove(file, fileList) {
|
||||
console.log(fileList);
|
||||
handleFileRemove (file, fileList) {
|
||||
console.log(fileList)
|
||||
setTimeout(() => {
|
||||
this.formModel.reimburseDetail[this.reimburseIndex].fileList = [];
|
||||
this.formModel.reimburseDetail[this.reimburseIndex].fileList = []
|
||||
|
||||
for (let i=0; i<fileList.length; i++) {
|
||||
for (let i = 0; i < fileList.length; i++) {
|
||||
this.formModel.reimburseDetail[this.reimburseIndex].fileList.push({
|
||||
name: fileList[i].name,
|
||||
url: fileList[i].url
|
||||
@ -454,31 +406,34 @@
|
||||
url: file.response.data.url
|
||||
})
|
||||
} else {
|
||||
this.$message.error(`${res.msg}`);
|
||||
this.$message.error(`${res.msg}`)
|
||||
}
|
||||
console.log(this.formModel.reimburseDetail[this.reimburseIndex].fileList)
|
||||
},
|
||||
reimburseClick (index) {
|
||||
this.reimburseIndex = index;
|
||||
this.reimburseIndex = index
|
||||
console.log(index)
|
||||
},
|
||||
//重写同意审批按钮事件
|
||||
agreeFlowVerify(comment){
|
||||
this.save('formName', 'commit', comment);
|
||||
agreeFlowVerify (comment) {
|
||||
this.save('formName', 'commit', comment)
|
||||
},
|
||||
//重写驳回审批按钮事件
|
||||
rejectFlowVerify(comment){
|
||||
this.save('formName', 'back', comment);
|
||||
rejectFlowVerify (comment) {
|
||||
this.save('formName', 'back', comment)
|
||||
},
|
||||
//重写作废审批按钮事件
|
||||
destroyFlowVerify(comment){
|
||||
this.save('formName', 'end', comment);
|
||||
destroyFlowVerify (comment) {
|
||||
this.save('formName', 'end', comment)
|
||||
},
|
||||
cancel () {
|
||||
this.$router.go(-1)
|
||||
},
|
||||
save (formName, operation, comment) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
let detail = [];
|
||||
for (let i=0; i<this.formModel.reimburseDetail.length; i++) {
|
||||
let detail = []
|
||||
for (let i = 0; i < this.formModel.reimburseDetail.length; i++) {
|
||||
detail.push({
|
||||
time: this.formModel.reimburseDetail[i].time ? moment(this.formModel.reimburseDetail[i].time).format('YYYY-MM-DD') : '',
|
||||
money: this.formModel.reimburseDetail[i].money,
|
||||
@ -488,7 +443,7 @@
|
||||
})
|
||||
}
|
||||
let data = {
|
||||
budgetCategoryId: this.formModel.selectBudgetCategoryId[this.formModel.selectBudgetCategoryId.length-1],
|
||||
budgetCategoryId: this.formModel.selectBudgetCategoryId[this.formModel.selectBudgetCategoryId.length - 1],
|
||||
ext: {
|
||||
reimburseCategory: this.formModel.reimburseCategory, // 报销种类
|
||||
reason: this.formModel.reason, // 报销事由
|
||||
@ -496,75 +451,75 @@
|
||||
total: this.formModel.total,
|
||||
witness: this.formModel.witness //证明人
|
||||
}
|
||||
};
|
||||
if(operation) {
|
||||
data['activitiFrom'] = operation;
|
||||
data['comment'] = comment;
|
||||
data['taskId'] = this.taskId;
|
||||
}
|
||||
this.isSave = false;
|
||||
if (operation) {
|
||||
data['activitiFrom'] = operation
|
||||
data['comment'] = comment
|
||||
data['taskId'] = this.taskId
|
||||
}
|
||||
this.isSave = false
|
||||
Api.FinanceManagement.editReimburse(this.reimburseId, data).then(result => {
|
||||
this.isSave = true;
|
||||
this.isSave = true
|
||||
if (result.status === 0) {
|
||||
if(operation){
|
||||
let message = '';
|
||||
if (operation) {
|
||||
let message = ''
|
||||
switch (operation) {
|
||||
case 'commit':
|
||||
message = '审核同意成功!';
|
||||
break;
|
||||
message = '审核同意成功!'
|
||||
break
|
||||
case 'back':
|
||||
message = '审核驳回成功!';
|
||||
break;
|
||||
message = '审核驳回成功!'
|
||||
break
|
||||
case 'end':
|
||||
message = '审核作废成功!';
|
||||
break;
|
||||
message = '审核作废成功!'
|
||||
break
|
||||
default:
|
||||
break;
|
||||
break
|
||||
}
|
||||
this.$message.info(message);
|
||||
this.$router.push({name: 'FlowVerify'});
|
||||
this.$message.info(message)
|
||||
this.$router.push({name: 'FlowVerify'})
|
||||
} else {
|
||||
this.$message.info('修改成功!');
|
||||
this.$router.push({name: 'ExpenseClaimApply'});
|
||||
this.$message.info('修改成功!')
|
||||
this.$router.push({name: 'ExpenseClaimApply'})
|
||||
}
|
||||
} else {
|
||||
this.$message.error(`${result.msg}`);
|
||||
this.$message.error(`${result.msg}`)
|
||||
}
|
||||
});
|
||||
console.log(data);
|
||||
})
|
||||
console.log(data)
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
console.log('error submit!!')
|
||||
return false
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
moneyChange () {
|
||||
let total = 0;
|
||||
for (let i=0; i<this.formModel.reimburseDetail.length; i++) {
|
||||
let total = 0
|
||||
for (let i = 0; i < this.formModel.reimburseDetail.length; i++) {
|
||||
if (this.formModel.reimburseDetail[i].money === '' || !this.formModel.reimburseDetail[i].money) {
|
||||
total += 0;
|
||||
total += 0
|
||||
} else {
|
||||
total += Number(this.formModel.reimburseDetail[i].money);
|
||||
total += Number(this.formModel.reimburseDetail[i].money)
|
||||
}
|
||||
}
|
||||
this.formModel.total = total.toFixed(2);
|
||||
this.formModel.total = total.toFixed(2)
|
||||
}
|
||||
},
|
||||
components: {
|
||||
DataTable, DataForm, verifyButton, FlowRecordTable
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less" rel="stylesheet/less">
|
||||
.expand-right {
|
||||
.expand-right {
|
||||
@media (min-width: 768px) {
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page-content {
|
||||
.page-content {
|
||||
padding: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
Loading…
x
Reference in New Issue
Block a user