|
|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div class="apply-form">
|
|
|
+ <div class="apply-form" v-loading="loading">
|
|
|
<h3 class="page-title">科德集团</h3>
|
|
|
|
|
|
<h3 class="page-title" style="margin-bottom: 10px;">{{ getDocTile }}</h3>
|
|
|
@@ -122,7 +122,7 @@
|
|
|
<tr>
|
|
|
<td class="doc-label">项目预算总额(万元)</td>
|
|
|
<td class="doc-input">
|
|
|
- <el-input-number v-model="formData.xmze" type="number" :min="0" controls-position="right" />
|
|
|
+ <el-input-number v-model="formData.xmysze" type="number" :min="0" controls-position="right" />
|
|
|
</td>
|
|
|
<td class="doc-label">其中</td>
|
|
|
<td class="doc-input">
|
|
|
@@ -164,11 +164,14 @@
|
|
|
<script>
|
|
|
import { getDictionary } from "@/api/system/dictbiz";
|
|
|
import { getList as getTechnicanRosterList } from "@/api/basicResource/technicianRoster";
|
|
|
-import { add, update } from "@/api/projectManage/projectList";
|
|
|
+import { add, update, getDetail } from "@/api/projectManage/projectList";
|
|
|
import moment from "moment";
|
|
|
import { deepClone } from "@/util/util";
|
|
|
|
|
|
export default {
|
|
|
+ props: {
|
|
|
+ projectId: [String, Number]
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
formData: {},
|
|
|
@@ -263,7 +266,7 @@ export default {
|
|
|
'formData.xmjssj'(newVal) {
|
|
|
this.yearList = this.getDateRangeYear(this.formData.xmkssj, newVal);
|
|
|
},
|
|
|
- 'formData.xmze'(newVal) {
|
|
|
+ 'formData.xmysze'(newVal) {
|
|
|
this.calcBudgetIsExceed(newVal);
|
|
|
}
|
|
|
},
|
|
|
@@ -297,8 +300,33 @@ export default {
|
|
|
this.getDictList("implementation_format", "implementFormatList");
|
|
|
this.getDictList("expected_outcome_form", "expectedOutComeFormList");
|
|
|
this.getDictList("economic_objectives", "economicObjectivesList");
|
|
|
+ if (this.projectId) {
|
|
|
+ this.getProjectDetail(this.projectId);
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
+ getProjectDetail(xmId) {
|
|
|
+ this.loading = true;
|
|
|
+ getDetail({ id: xmId }).then(({ data }) => {
|
|
|
+ this.loading = false;
|
|
|
+ if (data.code == 200) {
|
|
|
+ let beanData = { ...data.data };
|
|
|
+ beanData.xmfzr = String(beanData.xmfzr || '');
|
|
|
+ beanData.yqcgxs = beanData.yqcgxs.split(",");
|
|
|
+ beanData.xmjsjjmb = beanData.xmjsjjmb.split(",");
|
|
|
+ beanData.lxpw = JSON.parse(beanData.lxpw);
|
|
|
+ beanData.lxbg = JSON.parse(beanData.lxbg);
|
|
|
+ beanData.qtzl = JSON.parse(beanData.qtzl);
|
|
|
+ beanData.xmyszemx = JSON.parse(beanData.xmyszemx);
|
|
|
+ beanData.xmyszemx.forEach(item => {
|
|
|
+ beanData[item.year] = item.amount;
|
|
|
+ });
|
|
|
+ this.formData = { ...beanData };
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
getDateRangeYear(sDate, eDate) {
|
|
|
let yearArr = [];
|
|
|
if (sDate && eDate) {
|
|
|
@@ -320,7 +348,7 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
handleYearInput(e) {
|
|
|
- this.calcBudgetIsExceed(this.formData.xmze);
|
|
|
+ this.calcBudgetIsExceed(this.formData.xmysze);
|
|
|
},
|
|
|
/**
|
|
|
* 计算是否超出预算
|
|
|
@@ -369,7 +397,7 @@ export default {
|
|
|
errorText = '请选择项目开始时间';
|
|
|
} else if (!this.formData.xmjssj) {
|
|
|
errorText = '请选择项目结束时间';
|
|
|
- } else if (!this.formData.xmze) {
|
|
|
+ } else if (!this.formData.xmysze) {
|
|
|
errorText = '请输入项目预算总额';
|
|
|
} else if (!this.formData.lxpw.length) {
|
|
|
errorText = '请上传立项批文!';
|
|
|
@@ -398,23 +426,28 @@ export default {
|
|
|
let params = deepClone(this.formData);
|
|
|
params.yqcgxs = params.yqcgxs ? params.yqcgxs.join(',') : '';
|
|
|
params.xmjsjjmb = params.xmjsjjmb ? params.xmjsjjmb.join(',') : '';
|
|
|
- params.lxbg = params.lxbg ? params.lxbg.map(item => item.value).join(',') : '';
|
|
|
- params.lxpw = params.lxpw ? params.lxpw.map(item => item.value).join(',') : '';
|
|
|
- params.qtzl = params.qtzl ? params.qtzl.map(item => item.value).join(',') : '';
|
|
|
+ params.lxbg = JSON.stringify(params.lxbg);
|
|
|
+ params.lxpw = JSON.stringify(params.lxpw);
|
|
|
+ params.qtzl = JSON.stringify(params.qtzl);
|
|
|
let yearAmountList = [];
|
|
|
this.yearList.forEach(year => {
|
|
|
yearAmountList.push({ year: Number(year), amount: params[year] || 0 });
|
|
|
delete params[year];
|
|
|
});
|
|
|
- params.yearAmountList = yearAmountList;
|
|
|
+ params.xmyszemx = JSON.stringify(yearAmountList);
|
|
|
|
|
|
- console.log(params)
|
|
|
- // this.addOrUpdate(params);
|
|
|
+ this.addOrUpdate(params);
|
|
|
},
|
|
|
addOrUpdate(params) {
|
|
|
let func = params.id ? update : add;
|
|
|
- add(params).then(res => {
|
|
|
-
|
|
|
+ this.loading = true;
|
|
|
+ func(params).then(({ data }) => {
|
|
|
+ this.loading = false;
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.$message.success(params.id ? '修改成功!' : '保存成功!');
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ this.loading = false;
|
|
|
});
|
|
|
}
|
|
|
},
|