update code

dev_xds
haha 2024-04-19 00:21:14 +08:00
parent 11fac30ca2
commit 3d20c2d291
4 changed files with 98 additions and 68 deletions

View File

@ -36,8 +36,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<el-form-item label="挂账金额"> <el-form-item label="挂账金额" :class="it.money3<0?'txt-error':'is-ok'">
<el-input-number style="width: 130px;" :precision="4" v-model="it.money3" disabled placeholder="挂账金额"> <el-input-number style="width: 130px;" :precision="4" v-model="it.money3" disabled placeholder="挂账金额" >
</el-input-number> </el-input-number>
<span class="sp-unit">万元</span> <span class="sp-unit">万元</span>
</el-form-item> </el-form-item>
@ -100,7 +100,22 @@ export default {
} }
}, },
checkData(){ checkData(){
return this.dataList.filter(d=>d.isErr).length==0; let flag1= this.dataList.filter(d=>d.isErr).length==0;
if(!flag1){
this.$message.error("请填写数据!");
return false;
}
flag1=this.dataList.filter(d=>d.money*1<0).length==0;
if(!flag1){
this.$message.error("金额不能为负数!");
return false;
}
flag1=this.dataList.filter(d=>d.money3*1<0).length==0;
if(!flag1){
this.$message.error("挂账金额不能为负数!");
return false;
}
return true;
} }
}, },
}; };
@ -126,6 +141,7 @@ export default {
} }
} }
} }
} }
} }

View File

@ -15,7 +15,7 @@
<el-tabs v-model="activeName" > <el-tabs v-model="activeName" >
<el-tab-pane v-for="(it,idx) in monthInv" :label="''+it.year" :name="''+it.year" :key="idx"> <el-tab-pane v-for="(it,idx) in monthInv" :label="''+it.year" :name="''+it.year" :key="idx">
<el-col v-for="(item,idxx) in it.value" :key="idxx" :span="12"> <el-col v-for="(item,idxx) in it.value" :key="idxx" :span="12">
<el-form-item :label="names[item.month]" class="w200" > <el-form-item :label="names[item.month]" class="w200" :class="item.money*1<0?'txt-error':''">
<el-input-number :precision="4" v-model="item.money" placeholder="年度投资"> <el-input-number :precision="4" v-model="item.money" placeholder="年度投资">
</el-input-number> </el-input-number>
<span class="sp-unit">万元</span> <span class="sp-unit">万元</span>

View File

@ -11,7 +11,7 @@
<el-form ref="form" label-width="100px"> <el-form ref="form" label-width="100px">
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="总投资" name="first"> <el-tab-pane label="总投资" name="first">
<el-form-item label="总投资" class="w400"> <el-form-item label="总投资" class="w400" :class="form.totalInv.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" v-model="form.totalInv.money" placeholder="请输入总投资"> <el-input-number :precision="4" v-model="form.totalInv.money" placeholder="请输入总投资">
</el-input-number> </el-input-number>
<span class="sp-unit">万元</span> <span class="sp-unit">万元</span>
@ -26,7 +26,8 @@
<el-row style="margin-top:12px;"> <el-row style="margin-top:12px;">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同金额" class="w200"> <el-form-item label="合同金额" class="w200"
:class="form.contract1.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" v-model="form.contract1.money" <el-input-number :precision="4" v-model="form.contract1.money"
placeholder="请输入合同金额"> placeholder="请输入合同金额">
</el-input-number> </el-input-number>
@ -34,21 +35,23 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="建安费金额" class="w200"> <el-form-item label="建安费金额" class="w200"
<el-input-number :precision="4" v-model="form.contract2.money" :class="form.contract2.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" v-model="form.contract2.money"
placeholder="建安费金额"> placeholder="建安费金额">
</el-input-number> </el-input-number>
<span class="sp-unit">万元</span> <span class="sp-unit">万元</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<costContract ref="costContract" ></costContract> <costContract ref="costContract"></costContract>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="安措费" name="third"> <el-tab-pane label="安措费" name="third">
<el-row style="margin-top:12px;"> <el-row style="margin-top:12px;">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="安措费金额" class="w200"> <el-form-item label="安措费金额" class="w200"
:class="form.safety1.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" v-model="form.safety1.money" <el-input-number :precision="4" v-model="form.safety1.money"
placeholder="请输入安措费金额"> placeholder="请输入安措费金额">
</el-input-number> </el-input-number>
@ -56,7 +59,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="安措支付金额" class="w200"> <el-form-item label="安措支付金额" class="w200"
:class="form.safety2.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" disabled v-model="form.safety2.money" <el-input-number :precision="4" disabled v-model="form.safety2.money"
placeholder="请输入安措支付金额"> placeholder="请输入安措支付金额">
</el-input-number> </el-input-number>
@ -64,7 +68,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="安措挂账金额" class="w200"> <el-form-item label="安措挂账金额" class="w200"
:class="form.safety3.money * 1 < 0 ? 'txt-error' : ''">
<el-input-number :precision="4" disabled v-model="form.safety3.money" <el-input-number :precision="4" disabled v-model="form.safety3.money"
placeholder="请输入安措挂账金额"> placeholder="请输入安措挂账金额">
</el-input-number> </el-input-number>
@ -99,7 +104,7 @@ import costMonth from './costMonth.vue'
import costContract from './costContract.vue' import costContract from './costContract.vue'
export default { export default {
components: { components: {
costYear, costMonth,costContract costYear, costMonth, costContract
}, },
data() { data() {
return { return {
@ -119,69 +124,72 @@ export default {
yearInv: [],// yearInv: [],//
monthInv: [],// monthInv: [],//
oldData: [], oldData: [],
contract:[],// contract: [],//
safety:[],// safety: [],//
loading:false, loading: false,
}; };
}, },
methods: { methods: {
doQuery(){ doQuery() {
this.$confirm('确定刷新数据?', '提示', { type: 'warning' }).then(()=>{ this.$confirm('确定刷新数据?', '提示', { type: 'warning' }).then(() => {
this.loadData(); this.loadData();
}); });
}, },
costSafetyChange(datas){ costSafetyChange(datas) {
let m2sum=0; let m2sum = 0;
let m3sum=0; let m3sum = 0;
datas.forEach(d=>{ datas.forEach(d => {
m2sum+=d.money2; m2sum += d.money2;
m3sum+=d.money3; m3sum += d.money3;
}); });
this.form.safety2.money=m2sum; this.form.safety2.money = m2sum;
this.form.safety3.money=m3sum; this.form.safety3.money = m3sum;
}, },
handleClick(tab, event) { handleClick(tab, event) {
}, },
checkData(){ checkData() {
if(!this.$refs.costContract.checkData()){ if (!this.$refs.costContract.checkData()) {
this.activeName="second"; this.activeName = "second";
return false; return false;
} }
if(!this.$refs.costSafety.checkData()){ if (!this.$refs.costSafety.checkData()) {
this.activeName="third"; this.activeName = "third";
return false; return false;
} }
return true; return true;
}, },
doSave() { doSave() {
if(!this.checkData()){ if (!this.checkData()) {
this.$message.error("请填写数据!");
return; return;
} }
let objs = this.oldData.filter(d=>d.costType!=11 && d.costType!=12).map(it => { let objs = this.oldData.filter(d => d.costType != 11 && d.costType != 12).map(it => {
let obj = { ...it }; let obj = { ...it };
obj.money = obj.money ? obj.money * 10000 : 0; obj.money = obj.money ? obj.money * 10000 : 0;
return obj; return obj;
}); });
let contractObjs=this.$refs.costContract.dataList.map(it=>{ if (objs.filter(d => d.money * 1 < 0).length > 0) {
let obj={...it}; this.$message.error("请检查,金额不能为负数!");
return;
}
let contractObjs = this.$refs.costContract.dataList.map(it => {
let obj = { ...it };
obj.money = obj.money ? obj.money * 10000 : 0; obj.money = obj.money ? obj.money * 10000 : 0;
obj.money2=obj.money2?obj.money2*10000:0; obj.money2 = obj.money2 ? obj.money2 * 10000 : 0;
obj.date1=this.$dt(obj.date1).format("YYYY-MM-DD"); obj.date1 = this.$dt(obj.date1).format("YYYY-MM-DD");
return obj; return obj;
}); });
let safetyObjs=this.$refs.costSafety.dataList.map(it=>{ let safetyObjs = this.$refs.costSafety.dataList.map(it => {
let obj={...it}; let obj = { ...it };
obj.money = obj.money ? obj.money * 10000 : 0; obj.money = obj.money ? obj.money * 10000 : 0;
obj.money2=obj.money2?obj.money2*10000:0; obj.money2 = obj.money2 ? obj.money2 * 10000 : 0;
obj.date1=this.$dt(obj.date1).format("YYYY-MM-DD"); obj.date1 = this.$dt(obj.date1).format("YYYY-MM-DD");
return obj; return obj;
}); });
this.loading=true; this.loading = true;
batchUpdate([...objs,...contractObjs,...safetyObjs]).then(d => { batchUpdate([...objs, ...contractObjs, ...safetyObjs]).then(d => {
this.loading=false; this.loading = false;
if (d.code != 200) { if (d.code != 200) {
this.loadData(); this.loadData();
} else { } else {
@ -210,17 +218,17 @@ export default {
let tmps = (d.data || []).map(it => { let tmps = (d.data || []).map(it => {
it.money = it.money ? it.money / 10000.0 : 0; it.money = it.money ? it.money / 10000.0 : 0;
it.money2 = it.money2 ? it.money2 / 10000.0 : 0; it.money2 = it.money2 ? it.money2 / 10000.0 : 0;
it.money3=it.money-it.money2; it.money3 = it.money - it.money2;
it.isErr=false; it.isErr = false;
it.date1=this.$dt(it.date1) it.date1 = this.$dt(it.date1)
return it; return it;
}); });
this.resetData(tmps); this.resetData(tmps);
this.oldData = tmps; this.oldData = tmps;
this.form.totalInv = this.getValue(tmps, 1); this.form.totalInv = this.getValue(tmps, 1);
this.yearInv = tmps.filter(it => it.costType == 2); this.yearInv = tmps.filter(it => it.costType == 2);
this.contract=tmps.filter(it=>it.costType==11); this.contract = tmps.filter(it => it.costType == 11);
this.safety=tmps.filter(it=>it.costType==12); this.safety = tmps.filter(it => it.costType == 12);
this.form.contract1 = this.getValue(tmps, 3); this.form.contract1 = this.getValue(tmps, 3);
this.form.contract2 = this.getValue(tmps, 10); this.form.contract2 = this.getValue(tmps, 10);
@ -246,20 +254,20 @@ export default {
setTimeout(() => { setTimeout(() => {
this.$refs.costYear.init(this.yearInv, this.prj); this.$refs.costYear.init(this.yearInv, this.prj);
this.$refs.costMonth.init(this.monthInv, this.prj); this.$refs.costMonth.init(this.monthInv, this.prj);
this.$refs.costContract.init(this.contract,this.prj,11); this.$refs.costContract.init(this.contract, this.prj, 11);
this.$refs.costSafety.init(this.safety,this.prj,12); this.$refs.costSafety.init(this.safety, this.prj, 12);
}, 400) }, 400)
}); });
}, },
getValue(tmps, type) { getValue(tmps, type) {
let objs = tmps.filter(d => d.costType == type); let objs = tmps.filter(d => d.costType == type);
if(objs.length>0){ if (objs.length > 0) {
return objs[0]; return objs[0];
} }
let obj={ let obj = {
money:0, money: 0,
costType:type, costType: type,
projectId:this.prj.id projectId: this.prj.id
}; };
tmps.push(obj); tmps.push(obj);
return obj; return obj;
@ -287,6 +295,12 @@ export default {
::v-deep .el-drawer__body { ::v-deep .el-drawer__body {
padding: 0px 24px; padding: 0px 24px;
.el-form-item.txt-error {
.el-input__inner {
border: solid 1px red;
}
}
.el-popover__reference-wrapper { .el-popover__reference-wrapper {
position: absolute; position: absolute;
right: 0px; right: 0px;

View File

@ -17,7 +17,7 @@
<el-tabs v-model="activeName"> <el-tabs v-model="activeName">
<el-tab-pane v-for="(it,idx) in yearInv" :label="''+it.year" :name="''+it.year" :key="idx"> <el-tab-pane v-for="(it,idx) in yearInv" :label="''+it.year" :name="''+it.year" :key="idx">
<el-form-item label="年度投资" class="w400"> <el-form-item label="年度投资" class="w400" :class="it.money*1<0?'txt-error':''">
<el-input-number :precision="4" v-model="it.money" placeholder="年度投资"> <el-input-number :precision="4" v-model="it.money" placeholder="年度投资">
</el-input-number> </el-input-number>
<span class="sp-unit">万元</span> <span class="sp-unit">万元</span>