|
@@ -93,7 +93,7 @@
|
|
|
</el-col>
|
|
|
|
|
|
<!--新增界面-->
|
|
|
- <el-dialog :title="title" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="600px">
|
|
|
+ <el-dialog :title="title" v-if="addFormVisible" :visible.sync="addFormVisible" :close-on-click-modal="false" customClass="customWidth" width="800px">
|
|
|
<el-form ref="form1" :model="addForm" :rules="rules" label-width="120px">
|
|
|
<el-form-item label="项目编号" >
|
|
|
<el-input v-model="addForm.code" :disabled="user.role==0" placeholder="请输入项目编号" clearable></el-input>
|
|
@@ -121,13 +121,13 @@
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span> -->
|
|
|
|
|
|
<!-- 增加合同金额字段 -->
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">合同金额</span>
|
|
|
+ <span style="margin-left:63px;margin-right:10px;" v-if="user.company.packageProject==1">合同金额</span>
|
|
|
<el-input v-model="addForm.contractAmount" style="width:33%;"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
<!-- 增加合同金额字段 -->
|
|
|
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="开始日期" prop="planStartDate" v-if="user.company.packageProject==1" >
|
|
|
+ <el-form-item label="开始日期" prop="planStartDate" v-if="user.company.packageProject==1" style="float: left" >
|
|
|
<el-date-picker v-model="addForm.planStartDate"
|
|
|
:editable="false"
|
|
|
format="yyyy-MM-dd"
|
|
@@ -135,7 +135,7 @@
|
|
|
:clearable="false" type="date"
|
|
|
placeholder="选择日期"></el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="截止日期" prop="planEndDate" v-if="user.company.packageProject==1" >
|
|
|
+ <el-form-item label="截止日期" prop="planEndDate" v-if="user.company.packageProject==1" style="float: left" >
|
|
|
<el-date-picker v-model="addForm.planEndDate"
|
|
|
:editable="false"
|
|
|
format="yyyy-MM-dd"
|
|
@@ -145,45 +145,46 @@
|
|
|
</el-form-item>
|
|
|
<!-- 项目基线 -->
|
|
|
<!-- <div style="width: 100%;border: 1px solid #ddd"></div> -->
|
|
|
- <el-divider ></el-divider>
|
|
|
- <div style="margin: 20px 0 30px 0">
|
|
|
+
|
|
|
+ <div style="margin: 90px 0 30px 0">
|
|
|
+ <el-divider></el-divider>
|
|
|
<span class="el-dialog__title">成本基线</span>
|
|
|
</div>
|
|
|
<!-- 人工成本 -->
|
|
|
<span class="rg_span">
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">人工成本</span>
|
|
|
- <el-input @input="addUpfun(addForm.baseMan)" v-model="addForm.baseMan" style="width:22%; margin-bottom: 20px"
|
|
|
+ <span style="width:120px;display: inline-block;" v-if="user.company.packageProject==1">人工成本</span>
|
|
|
+ <el-input @input="addUpfun(addForm.baseMan)" v-model="addForm.baseMan" style="width:200px; margin-bottom: 20px"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</span>
|
|
|
<!-- 费用 -->
|
|
|
<span class="rg_span">
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">费用</span>
|
|
|
- <el-input @input="addUpfun(addForm.baseFee)" v-model="addForm.baseFee" style="width:22%;"
|
|
|
+ <span style="width:120px;display: inline-block;" v-if="user.company.packageProject==1">费用</span>
|
|
|
+ <el-input @input="addUpfun(addForm.baseFee)" v-model="addForm.baseFee" style="width:200px;"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</span>
|
|
|
<!-- 外包费用 -->
|
|
|
- <div class="rg_span">
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">外包费用</span>
|
|
|
- <el-input @input="addUpfun(addForm.baseOutsourcing)" v-model="addForm.baseOutsourcing" style="width:22%;"
|
|
|
+ <div class="rg_span" style="margin-bottom: 20px;">
|
|
|
+ <span style=" width:120px;display: inline-block;" v-if="user.company.packageProject==1">外包费用</span>
|
|
|
+ <el-input @input="addUpfun(addForm.baseOutsourcing)" v-model="addForm.baseOutsourcing" style="width:200px;"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</div>
|
|
|
<!-- 预留风险金额1 -->
|
|
|
- <div style="margin-bottom: 20px">
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">预留风险金额1</span>
|
|
|
- <el-input @input="addUpfun(addForm.baseRisk1)" v-model="addForm.baseRisk1" style="width:22%;"
|
|
|
+ <div style="display: inline-block;" class="rg_span">
|
|
|
+ <span style="width:120px;display: inline-block;text-align: right;" v-if="user.company.packageProject==1">预留风险金额1</span>
|
|
|
+ <el-input @input="addUpfun(addForm.baseRisk1)" v-model="addForm.baseRisk1" style="width:200px;"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</div>
|
|
|
<!-- 预留风险金额2 -->
|
|
|
- <div style="margin-bottom: 20px">
|
|
|
- <span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">预留风险金额2</span>
|
|
|
- <el-input @input="addUpfun(addForm.baseRisk2)" v-model="addForm.baseRisk2" style="width:22%;"
|
|
|
+ <div class="rg_span">
|
|
|
+ <span style="width:120px;display: inline-block;text-align: right;" v-if="user.company.packageProject==1">预留风险金额2</span>
|
|
|
+ <el-input @input="addUpfun(addForm.baseRisk2)" v-model="addForm.baseRisk2" style="width:200px;"
|
|
|
placeholder="整数" clearable @keyup.native="number"></el-input><span style="margin-left:10px;">元</span>
|
|
|
</div>
|
|
|
<!-- 合计 -->
|
|
|
- <div style="margin-bottom: 20px">
|
|
|
+ <div style="margin-top: 20px">
|
|
|
<span style="margin-left:50px;margin-right:10px;" v-if="user.company.packageProject==1">合计</span>
|
|
|
<span v-if="addForm.budget <= 0 || addForm.budget == undefined">0</span>
|
|
|
- <span>{{addForm.budget}}</span>
|
|
|
+ <span v-else>{{addForm.budget | numberToCurrency}}</span>
|
|
|
<span style="margin-left:10px;">元</span>
|
|
|
</div>
|
|
|
|
|
@@ -259,7 +260,6 @@
|
|
|
</style>
|
|
|
<script>
|
|
|
import util from "../../common/js/util";
|
|
|
-
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -298,6 +298,27 @@
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
+ // 过滤器
|
|
|
+ filters: {
|
|
|
+ numberToCurrency(value) {
|
|
|
+ if (!value) return '0.00'
|
|
|
+ // 将数值截取,保留两位小数
|
|
|
+ value = value.toFixed(2)
|
|
|
+ // 获取整数部分
|
|
|
+ const intPart = Math.trunc(value)
|
|
|
+ // 整数部分处理,增加,
|
|
|
+ const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
|
|
|
+ // 预定义小数部分
|
|
|
+ let floatPart = '.00'
|
|
|
+ // 将数值截取为小数部分和整数部分
|
|
|
+ const valueArray = value.toString().split('.')
|
|
|
+ if (valueArray.length === 2) { // 有小数部分
|
|
|
+ floatPart = valueArray[1].toString() // 取得小数部分
|
|
|
+ return intPartFormat + '.' + floatPart
|
|
|
+ }
|
|
|
+ return intPartFormat + floatPart
|
|
|
+ }
|
|
|
+ },
|
|
|
methods: {
|
|
|
number(){
|
|
|
// this.addForm.budget = this.addForm.budget.replace(/[^\.\d]/g,'');
|
|
@@ -564,16 +585,22 @@
|
|
|
},
|
|
|
// 项目基线合计
|
|
|
addUpfun(je) {
|
|
|
+ var a = '0'
|
|
|
var q = '0'
|
|
|
var w = '0'
|
|
|
var e = '0'
|
|
|
var r = '0'
|
|
|
- this.addForm.baseMan === undefined || this.addForm.baseMan === NaN ? this.addForm.baseMa = '0' : this.addForm.baseMan
|
|
|
+ // this.addForm.baseMan === undefined || this.addForm.baseMan === NaN ? this.addForm.baseMa = '0' : this.addForm.baseMan
|
|
|
+ if (this.addForm.baseMan == undefined || this.addForm.baseMan == NaN) {
|
|
|
+ a = 0
|
|
|
+ } else {
|
|
|
+ a = this.addForm.baseMan
|
|
|
+ }
|
|
|
if (this.addForm.baseFee !== undefined) q = this.addForm.baseFee
|
|
|
if (this.addForm.baseOutsourcing !== undefined) w = this.addForm.baseOutsourcing
|
|
|
if (this.addForm.baseRisk1 !== undefined) e = this.addForm.baseRisk1
|
|
|
if (this.addForm.baseRisk2 !== undefined) r = this.addForm.baseRisk2
|
|
|
- this.addForm.budget = +this.addForm.baseMan + +q + +w + +e + +r
|
|
|
+ this.addForm.budget = +a + +q + +w + +e + +r
|
|
|
},
|
|
|
submitInsert() {
|
|
|
this.$refs.form1.validate(valid => {
|
|
@@ -719,6 +746,15 @@
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
.rg_span{
|
|
|
- margin-bottom: 20px;
|
|
|
+ display: inline-block;
|
|
|
+}
|
|
|
+.rg_span span {
|
|
|
+ text-align: right;
|
|
|
+ box-sizing: border-box;
|
|
|
+ padding-right: 10px;
|
|
|
+}
|
|
|
+.el-dialog__title {
|
|
|
+ display: inline-table;
|
|
|
+ margin-top: 20px;
|
|
|
}
|
|
|
</style>
|