Commit f1d975f6 authored by danfuman's avatar danfuman

修改

parent 59aecc57
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<div class="cost-summary-container"> <div class="cost-summary-container">
<!-- 按项目汇总 成本汇总切换 --> <!-- 按项目汇总 成本汇总切换 -->
<div class="category-type-container"> <div class="category-type-container">
<div class="category-list-item" v-for="(type, index) of categoryList" :key="type.value" <el-button class="category-list-item" v-for="(type, index) of categoryList" :key="type.value" :disabled="type.disabled"
:class="{ 'is-current-category': currentCategory == type.value }" @click.stop="currentCategoryChange(type.value)">{{ type.label }}</div> :class="{ 'is-current-category': currentCategory == type.value }" @click.stop="currentCategoryChange(type.value)">{{ type.label }}</el-button>
</div> </div>
<!-- 成本菜单以及列表 --> <!-- 成本菜单以及列表 -->
<div class="cost-summary-content-container"> <div class="cost-summary-content-container" v-if="!show">
<!-- 左侧菜单 --> <!-- 左侧菜单 -->
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" <project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false"
...@@ -94,6 +94,13 @@ ...@@ -94,6 +94,13 @@
</div> </div>
</div> </div>
<div class="no-data">
<div class="no-data-box" v-if="show">
<img :src="noData" alt="暂未获取无聊数据(每月20号获取)" />
<span>暂未获取无聊数据(每月20号获取)</span>
</div>
</div>
<!-- 锁定前提示 --> <!-- 锁定前提示 -->
<lock-cost-tip v-model="lockCostTipDialog" :tip-content="lockCostTipDialogContent" @ok="okLock" <lock-cost-tip v-model="lockCostTipDialog" :tip-content="lockCostTipDialogContent" @ok="okLock"
@update:lockCostTipDialog="lockCostTipDialogClose"></lock-cost-tip> @update:lockCostTipDialog="lockCostTipDialogClose"></lock-cost-tip>
...@@ -173,15 +180,18 @@ export default { ...@@ -173,15 +180,18 @@ export default {
callback(); callback();
}; };
return { return {
noData: require("@/assets/images/detail/noData.png"),
// 当前分类 1 按项目汇总 2 成本汇总 // 当前分类 1 按项目汇总 2 成本汇总
currentCategory: 1, currentCategory: 1,
categoryList: [ categoryList: [
{ {
label: "按项目汇总", label: "按项目汇总",
disabled:false,
value: 1 value: 1
}, },
{ {
label: "成本科目汇总", label: "成本科目汇总",
disabled:false,
value: 2 value: 2
}, },
], ],
...@@ -250,7 +260,8 @@ export default { ...@@ -250,7 +260,8 @@ export default {
] ]
}, },
// 竖向滚动条最后的位置 // 竖向滚动条最后的位置
lastScrollTop: 0 lastScrollTop: 0,
show:false,
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -385,10 +396,17 @@ export default { ...@@ -385,10 +396,17 @@ export default {
try { try {
const result = await getCostSummaryMenuTreeApi(params); const result = await getCostSummaryMenuTreeApi(params);
if (result.code == 200 && result.data instanceof Array) { if (result.code == 200 && result.data instanceof Array) {
if(result.data.length === 0){
this.show=true;
}
const _tempArray = result.data; const _tempArray = result.data;
if(_tempArray.length === 0){ if(this.projectDetailInfo.cbStage === 3){
this.currentCategory=2 if(_tempArray.length === 0){
return this.init(this.comProjectDetailInfo); this.currentCategory=2;
this.categoryList[0].disabled=true;
this.$forceUpdate();
return this.init(this.comProjectDetailInfo);
}
} }
const _tempMenu = { const _tempMenu = {
id: 0, id: 0,
...@@ -863,7 +881,7 @@ export default { ...@@ -863,7 +881,7 @@ export default {
.category-list-item { .category-list-item {
height: 32px; height: 32px;
padding: 0px 20px; padding: 0px 20px;
color: #303133; /*color: #303133;*/
font-size: 12px; font-size: 12px;
font-weight: 400; font-weight: 400;
border-radius: 4px; border-radius: 4px;
...@@ -874,6 +892,7 @@ export default { ...@@ -874,6 +892,7 @@ export default {
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
transition: all 0.3s; transition: all 0.3s;
margin: 0;
&:nth-of-type(2n - 1) { &:nth-of-type(2n - 1) {
border-right: unset !important; border-right: unset !important;
...@@ -1089,5 +1108,32 @@ export default { ...@@ -1089,5 +1108,32 @@ export default {
} }
} }
} }
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 64px;
height: 79px;
margin-bottom: 16px;
}
}
}
} }
</style> </style>
<template> <template>
<div class="feed-summary-container"> <div class="feed-summary-container">
<div class="feed-summary-inner"> <div v-if="!show" class="feed-summary-inner">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" <project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false"
:default-active="currentNodeName" @select="menuSelect"> :default-active="currentNodeName" @select="menuSelect">
...@@ -135,6 +135,13 @@ ...@@ -135,6 +135,13 @@
</div> </div>
</div> </div>
<div class="no-data">
<div class="no-data-box" v-if="show">
<img :src="noData" alt="暂未获取无聊数据(每月20号获取)" />
<span>暂未获取无聊数据(每月20号获取)</span>
</div>
</div>
<!-- 填写实际成本触发 --> <!-- 填写实际成本触发 -->
<add-actual-cost v-model="showAddActualCost" :project-create-time="projectDetailInfo.createTime" @timeSelect="timeSelect"></add-actual-cost> <add-actual-cost v-model="showAddActualCost" :project-create-time="projectDetailInfo.createTime" @timeSelect="timeSelect"></add-actual-cost>
...@@ -236,6 +243,8 @@ export default { ...@@ -236,6 +243,8 @@ export default {
callback(); callback();
}; };
return { return {
noData: require("@/assets/images/detail/noData.png"),
show:false,
menuOptions: { menuOptions: {
nodeName: "name", nodeName: "name",
nodeValue: "name", nodeValue: "name",
...@@ -503,6 +512,9 @@ export default { ...@@ -503,6 +512,9 @@ export default {
async getFeedSummaryMenuTree(params) { async getFeedSummaryMenuTree(params) {
try { try {
const result = await getFeedSummaryMenuTreeApi(params); const result = await getFeedSummaryMenuTreeApi(params);
if(result.data.length === 0){
this.show=true;
}
if (result.code == 200 && result.data instanceof Array) { if (result.code == 200 && result.data instanceof Array) {
const _tempArray = result.data; const _tempArray = result.data;
this.menuTreeList = _tempArray; this.menuTreeList = _tempArray;
...@@ -1028,5 +1040,32 @@ export default { ...@@ -1028,5 +1040,32 @@ export default {
} }
} }
} }
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 64px;
height: 79px;
margin-bottom: 16px;
}
}
}
} }
</style> </style>
<template> <template>
<div class="field-expenses-container"> <div class="field-expenses-container">
<div class="field-expenses-inner"> <div v-if="!show" class="field-expenses-inner">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="currentNodeValue" <project-side-menu ref="projectSideMenu" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="currentNodeValue"
@select="menuSelect"> @select="menuSelect">
...@@ -55,6 +55,12 @@ ...@@ -55,6 +55,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="no-data">
<div class="no-data-box" v-if="show">
<img :src="noData" alt="暂未获取无聊数据(每月20号获取)" />
<span>暂未获取无聊数据(每月20号获取)</span>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -107,6 +113,7 @@ export default { ...@@ -107,6 +113,7 @@ export default {
}, },
data() { data() {
return { return {
noData: require("@/assets/images/detail/noData.png"),
menuOptions: { menuOptions: {
nodeName: "menuName", nodeName: "menuName",
nodeValue: "fileId", nodeValue: "fileId",
...@@ -189,7 +196,8 @@ export default { ...@@ -189,7 +196,8 @@ export default {
dataForm: { dataForm: {
// 数据列表源数据 // 数据列表源数据
tableDataList: [], tableDataList: [],
} },
show:false,
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -308,6 +316,9 @@ export default { ...@@ -308,6 +316,9 @@ export default {
async getFieldExpensesMenuTree(projectId) { async getFieldExpensesMenuTree(projectId) {
try { try {
const result = await getFieldExpensesMenuTreeApi(projectId); const result = await getFieldExpensesMenuTreeApi(projectId);
if(result.data.length === 0){
this.show=true;
}
if (result.code == 200 && result.data instanceof Array) { if (result.code == 200 && result.data instanceof Array) {
let _tempArray = result.data; let _tempArray = result.data;
_tempArray = _tempArray.sort((before, after) => { _tempArray = _tempArray.sort((before, after) => {
...@@ -519,5 +530,31 @@ export default { ...@@ -519,5 +530,31 @@ export default {
} }
} }
} }
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 64px;
height: 79px;
margin-bottom: 16px;
}
}
}
} }
</style> </style>
<template> <template>
<div class="feed-summary-container"> <div class="feed-summary-container">
<div class="feed-summary-inner"> <div v-if="!show" class="feed-summary-inner">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu ref="profitloss" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="defaultActive" <project-side-menu ref="profitloss" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="defaultActive"
@select="select"> @select="select">
...@@ -194,6 +194,12 @@ ...@@ -194,6 +194,12 @@
</el-dialog> </el-dialog>
</div> </div>
<div class="no-data">
<div class="no-data-box" v-if="show">
<img :src="noData" alt="暂未获取无聊数据(每月20号获取)" />
<span>暂未获取无聊数据(每月20号获取)</span>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -243,6 +249,7 @@ ...@@ -243,6 +249,7 @@
}, },
data() { data() {
return { return {
noData: require("@/assets/images/detail/noData.png"),
pickerOptions: { pickerOptions: {
disabledDate(time) { disabledDate(time) {
let istrue = true; let istrue = true;
...@@ -274,6 +281,7 @@ ...@@ -274,6 +281,7 @@
tableHeight: window.innerHeight - 355, tableHeight: window.innerHeight - 355,
nowheight:null, nowheight:null,
resizeTimer:null, resizeTimer:null,
show:false,
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -429,6 +437,9 @@ ...@@ -429,6 +437,9 @@
try { try {
const result = await getMeasureslist(params); const result = await getMeasureslist(params);
if (result.code == 200) { if (result.code == 200) {
if(result.data.length === 0){
this.show=true;
}
let arr = {}; let arr = {};
arr.itemContent = '措施费'; arr.itemContent = '措施费';
arr.id = 0; arr.id = 0;
...@@ -569,6 +580,34 @@ ...@@ -569,6 +580,34 @@
padding: 16px; padding: 16px;
} }
} }
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 64px;
height: 79px;
margin-bottom: 16px;
}
}
}
.search { .search {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
......
<template> <template>
<div class="feed-summary-container"> <div class="feed-summary-container">
<div class="feed-summary-inner"> <div class="feed-summary-inner" v-if="!show">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu ref="profitloss" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="defaultActive" @select="select"> <project-side-menu ref="profitloss" :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" v-model="defaultActive" @select="select">
<template slot="盈亏分析对比-1"> <template slot="盈亏分析对比-1">
...@@ -79,6 +79,12 @@ ...@@ -79,6 +79,12 @@
</div> </div>
</div> </div>
<div class="no-data">
<div class="no-data-box" v-if="show">
<img :src="noData" alt="暂未获取无聊数据(每月20号获取)" />
<span>暂未获取无聊数据(每月20号获取)</span>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
...@@ -121,6 +127,7 @@ ...@@ -121,6 +127,7 @@
}, },
data() { data() {
return { return {
noData: require("@/assets/images/detail/noData.png"),
pickerOptions: { pickerOptions: {
// disabledDate(time) { // disabledDate(time) {
// let istrue = true // let istrue = true
...@@ -142,7 +149,8 @@ ...@@ -142,7 +149,8 @@
id: 0, id: 0,
expenseDate:'', expenseDate:'',
tableData:[], tableData:[],
tableHeight: window.innerHeight - 355 tableHeight: window.innerHeight - 355,
show:false,
}; };
}, },
//可访问data属性 //可访问data属性
...@@ -169,7 +177,6 @@ ...@@ -169,7 +177,6 @@
id:this.id, id:this.id,
expenseDate:this.expenseDate expenseDate:this.expenseDate
} }
console.log(param)
getAnalysislist(param).then(res=>{ getAnalysislist(param).then(res=>{
this.tableData = res.data this.tableData = res.data
}) })
...@@ -191,6 +198,9 @@ ...@@ -191,6 +198,9 @@
try { try {
const result = await getProfitLossMenuTreeApi(params); const result = await getProfitLossMenuTreeApi(params);
if (result.code == 200) { if (result.code == 200) {
if(result.data.length === 0){
this.show=true;
}
let arr = {} let arr = {}
arr.cbName = '盈亏分析对比' arr.cbName = '盈亏分析对比'
arr.id = 0 arr.id = 0
...@@ -241,5 +251,31 @@ ...@@ -241,5 +251,31 @@
} }
} }
} }
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 64px;
height: 79px;
margin-bottom: 16px;
}
}
}
} }
</style> </style>
...@@ -213,6 +213,10 @@ export default { ...@@ -213,6 +213,10 @@ export default {
if (detail.code == 200 && detail.data) { if (detail.code == 200 && detail.data) {
if (detail.data.id) detail.data["projectId"] = detail.data.id; if (detail.data.id) detail.data["projectId"] = detail.data.id;
this.detailInfo = detail.data; this.detailInfo = detail.data;
if(this.detailInfo.cbStage === 3){
this.toggleTabs[1].disabled=true;
this.toggleTabs[4].disabled=true;
}
} }
} catch (error) { } catch (error) {
console.log(error); console.log(error);
......
...@@ -73,13 +73,13 @@ ...@@ -73,13 +73,13 @@
<el-tooltip placement="top" v-if="scope.row.projectText.length>26"> <el-tooltip placement="top" v-if="scope.row.projectText.length>26">
<div slot="content">{{scope.row.projectText}}</div> <div slot="content">{{scope.row.projectText}}</div>
<div class="renling"> <div class="renling">
<router-link v-if="scope.row.projectFileStatus==2" :to="`/projectCostLedger/detail?projectId=${scope.row.id}`" tag="a" <router-link v-if="scope.row.projectFileStatus==2 || scope.row.cbStage ===3" :to="`/projectCostLedger/detail?projectId=${scope.row.id}`" tag="a"
class="wordprimary" v-html="scope.row.projectName"></router-link> class="wordprimary" v-html="scope.row.projectName"></router-link>
<span v-else v-html="scope.row.projectName||'--'"></span> <span v-else v-html="scope.row.projectName||'--'"></span>
</div> </div>
</el-tooltip> </el-tooltip>
<div class="renling" v-else> <div class="renling" v-else>
<router-link v-if="scope.row.projectFileStatus==2" :to="`/projectCostLedger/detail?projectId=${scope.row.id}`" tag="a" <router-link v-if="scope.row.projectFileStatus==2 || scope.row.cbStage ===3" :to="`/projectCostLedger/detail?projectId=${scope.row.id}`" tag="a"
class="wordprimary" v-html="scope.row.projectName"></router-link> class="wordprimary" v-html="scope.row.projectName"></router-link>
<span v-else v-html="scope.row.projectName||'--'"></span> <span v-else v-html="scope.row.projectName||'--'"></span>
</div> </div>
...@@ -120,6 +120,9 @@ ...@@ -120,6 +120,9 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="上传人" prop="updateBy" width="140" :resizable="false"> <el-table-column label="上传人" prop="updateBy" width="140" :resizable="false">
<template slot-scope="scope">
{{scope.row.updateBy||"--"}}
</template>
</el-table-column> </el-table-column>
<el-table-column label="上传时间" min-width="180" :resizable="false"> <el-table-column label="上传时间" min-width="180" :resizable="false">
...@@ -171,47 +174,25 @@ ...@@ -171,47 +174,25 @@
<span>{{protitle}}</span> <span>{{protitle}}</span>
</div> </div>
<el-form class="popform" label-width="97px" :model="queryParam" :rules="rules" ref="ruleForm"> <el-form class="popform" label-width="97px" :model="queryParam" :rules="rules" ref="ruleForm">
<el-form-item label="成本计划" class="row"> <el-form-item label="项目名称" class="row" prop="projectName">
<el-select placeholder="请选择成本计划" v-model="cbjh"> <el-input type="text" v-model="queryParam.projectName" placeholder="请输入完整的项目名称"></el-input>
<el-option v-for="(item,index) in cbjhlist" :label="item.label" :value="item.value" :key="index"></el-option> </el-form-item>
<el-form-item label="IPM项目编码" class="row">
<el-input type="text" placeholder="请输入IPM项目编码" v-model="queryParam.ipmProjectNo">
<template slot="append"><div class="pro-getbtn" @click="getipmProjectNo">获取数据</div></template>
</el-input>
</el-form-item>
<el-form-item label="文件名称" class="row">
<el-input type="text" placeholder="请输入文件名称" v-model="queryParam.projectFileName"></el-input>
</el-form-item>
<el-form-item label="成本阶段" class="row" prop="cbStage">
<el-checkbox v-model="ischeck" v-if="isedit" class="checkcb"></el-checkbox>
<el-select placeholder="请选择成本阶段" v-model="queryParam.cbStage" :disabled="!ischeck">
<el-option v-for="(item,index) in cbStagelist" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<template v-if="cbjh === '已有成本计划'">
<el-form-item label="项目名称" class="row">
<el-input type="text" v-model="queryParam.projectName" placeholder="请输入完整的项目名称"></el-input>
</el-form-item>
<el-form-item label="IPM项目编码" class="row">
<el-input type="text" placeholder="请输入IPM项目编码" v-model="queryParam.ipmProjectNo">
<template slot="append"><div class="pro-getbtn" @click="getipmProjectNo">获取数据</div></template>
</el-input>
</el-form-item>
<el-form-item label="文件名称" class="row">
<el-input type="text" placeholder="请输入文件名称" v-model="queryParam.projectFileName"></el-input>
</el-form-item>
<el-form-item label="成本阶段" class="row" prop="cbStage">
<el-checkbox v-model="ischeck" v-if="isedit" class="checkcb"></el-checkbox>
<el-select placeholder="请选择成本阶段" v-model="queryParam.cbStage" :disabled="!ischeck">
<el-option v-for="(item,index) in cbStagelist" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
</el-select>
</el-form-item>
</template>
<template v-if="cbjh === '暂无成本计划'">
<el-form-item label="项目名称" class="row">
<el-input type="text" v-model="queryParam.projectName" placeholder="请输入完整的项目名称"></el-input>
</el-form-item>
<el-form-item label="IPM项目编码" class="row">
<el-input type="text" placeholder="请输入IPM项目编码" v-model="queryParam.ipmProjectNo">
<template slot="append"><div class="pro-getbtn" @click="getipmProjectNo">获取数据</div></template>
</el-input>
</el-form-item>
</template>
</el-form > </el-form >
<div class="popbot" v-if="cbjh === '暂无成本计划'"> <div class="popbot" >
<div class="btn btn_cancel h32" @click="dialogVisible = false">取消</div>
<div class="btn btn_primary h32" v-if="isedit && !ischeck" @click="savepro">创建项目</div>
</div>
<div class="popbot" v-else>
<div class="btn btn_cancel h32" @click="dialogVisible = false">取消</div> <div class="btn btn_cancel h32" @click="dialogVisible = false">取消</div>
<div class="btn btn_primary h32" v-if="isedit && !ischeck" @click="savepro">保存</div> <div class="btn btn_primary h32" v-if="isedit && !ischeck" @click="savepro">保存</div>
<div class="btn btn_primary h32" v-if="isedit && ischeck" @click="changepro">下一步,导入数据</div> <div class="btn btn_primary h32" v-if="isedit && ischeck" @click="changepro">下一步,导入数据</div>
...@@ -301,17 +282,6 @@ ...@@ -301,17 +282,6 @@
dialogVisible:false, dialogVisible:false,
cbStagelist:[], cbStagelist:[],
ztStagelist:[], ztStagelist:[],
cbjhlist:[
{
value: '已有成本计划',
label: '已有成本计划'
},
{
value: '暂无成本计划',
label: '暂无成本计划'
},
],
cbjh:'',
//新建项目参数 //新建项目参数
queryParam:{ queryParam:{
projectName:'',//项目名称 projectName:'',//项目名称
...@@ -322,6 +292,7 @@ ...@@ -322,6 +292,7 @@
}, },
rules:{ rules:{
cbStage:[{ required: true, message: '请选择成本阶段!', trigger: 'blur' },], cbStage:[{ required: true, message: '请选择成本阶段!', trigger: 'blur' },],
projectName:[{ required: true, message: '请输入项目名称', trigger: 'blur' },],
}, },
isupload:false, isupload:false,
tableData:[{}], tableData:[{}],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment