Commit 4fcd6242 authored by danfuman's avatar danfuman

修改

parent a7cf7202
......@@ -59,6 +59,7 @@ export default {
},
//可访问data属性
created() {
console.log(this.tabs,"||||||||")
this.initSlidingBar();
},
//计算集
......
......@@ -173,6 +173,10 @@ export default {
let startTime = ''
let endTime = new Date()
switch (value) {
case '昨日':
startTime = new Date(endTime.getTime() - 3600 * 1000 * 24 * 1)
timeStr = [this.formatDate(startTime), this.formatDate(endTime)]
break;
case '今日':
startTime = new Date(endTime.getTime())
timeStr = [this.formatDate(startTime), this.formatDate(endTime)]
......
<!-- 表格组件 -->
<template>
<div class="infoTable-container">
<h2 v-if="title !== '' && isSubTitle" class="infoTable-title">
{{ title }}
</h2>
<el-form class="infoTable-form" label-position="left">
<template v-for="(item, index) in list">
<el-form-item :style="item.span?{width: `${100/(24/item.span)}%`}:{}" :label="item.name" :label-width="labelWidth?labelWidth+'px':'130px'" :key="index" :class="[
{ 'infoTable-form-view': item.style },
{ 'infoTable-form-item': !item.style },
{ 'infoTable-form-row': item.rowstyle }
]">
<div>
<template v-if="item.slot === true">
<slot :name="item.prop" :data="obj"></slot>
</template>
<span v-else> {{ obj[item.prop] ?obj[item.prop] !==""?item.formatter?item.formatter(obj[item.prop]):obj[item.prop]:'-' :'-' }}</span>
</div>
</el-form-item>
</template>
</el-form>
<!--<div v-else class="no-data">-->
<!--<div class="no-data-box" v-if="show">-->
<!--<img :src="noData" alt="暂时没有找到相关数据" />-->
<!--<span>暂时没有找到相关数据</span>-->
<!--</div>-->
<!--</div>-->
</div>
</template>
<script>
export default {
name: "InfoTable",
components: {
},
props: {
list: {
type: Array,
default: () => [],
},
title: {
type: String,
default: "",
},
obj: {
type: Object,
default: () => { }
},
labelWidth: {
type: Number,
default: null
},
isSubTitle: {
type: Boolean,
default: false,
},
},
data() {
return {
show:false,
// 当前移入单元格内容
noData: require("@/assets/images/detail/noData.png")
};
},
created() {
},
mounted(){
this.show = true;
},
methods: {
},
};
</script>
<style lang="scss" scoped>
.infoTable-container {
.infoTable-title {
font-size: 16px;
font-family: Microsoft YaHei-Bold, Microsoft YaHei;
font-weight: bold;
padding-left: 8px;
border-left: 2px solid #58637B;
color: #000000;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
margin: 0 0 16px 0;
}
.infoTable-form {
display: flex;
flex-wrap: wrap;
border-left: 1px solid #e5e9f5;
border-top: 1px solid #e5e9f5;
border-collapse: collapse;
.infoTable-form-item {
width: 50%;
flex: auto;
margin-bottom: 0px;
border-right: 1px solid #e5e9f5;
border-bottom: 1px solid #e5e9f5;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-size: 13px;
}
.infoTable-form-view {
width: 100%;
flex: auto;
margin-bottom: 0px;
border-right: 1px solid #e5e9f5;
border-bottom: 1px solid #e5e9f5;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-size: 13px;
}
.infoTable-form-row {
width: 33%;
flex: auto;
margin-bottom: 0px;
border-right: 1px solid #e5e9f5;
border-bottom: 1px solid #e5e9f5;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-size: 13px;
}
::v-deep .el-form-item__label {
height: 100%;
background-color: #F0F3FA;
padding: 8px 12px 8px 12px;
font-size: 13px;
font-weight: normal;
color: rgba(35,35,35,0.8);
display: flex;
align-items: center;
line-height: normal;
}
::v-deep .el-form-item__content {
padding-left: 12px;
font-size: 13px;
color: #232323;
}
::v-deep .el-form-item__content {
border-left: 1px solid #e5e9f5;
height: 100%;
display: flex;
align-items: center;
}
::v-deep .el-col {
border-bottom: 1px solid #e5e9f5;
}
}
.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);
max-width: 1200px;
height: 328px;
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;
}
}
}
::v-deep .el-form-item__content {
line-height: 22px;
padding: 6px 4px;
}
}
</style>
......@@ -263,7 +263,7 @@ export default {
includeNowMonth(time) {
return this.originMonthList.find(item => item.expenseDate == time);
},
// 按项目汇总 按成本科目汇总
// 按项目汇总 按成本科目汇总
currentCategoryChange(category) {
if (category == this.currentCategory) return;
this.currentCategory = category;
......@@ -360,6 +360,10 @@ export default {
const result = await getCostSummaryMenuTreeApi(params);
if (result.code == 200 && result.data instanceof Array) {
const _tempArray = result.data;
if(_tempArray.length === 0){
this.currentCategory=2
return this.init(this.comProjectDetailInfo);
}
const _tempMenu = {
id: 0,
cbName: this.currentCategory == 1 ? "成本汇总" : "房建类成本科目",
......
......@@ -43,7 +43,7 @@
</div>
</template>
<script>
import InfoTable from '../../../../component/infoTable';
import InfoTable from '../../../component/infoTable';
import { getCbProjectInfo } from "@/api/projectCostLedger";
export default {
name: "projectInformation",
......
......@@ -92,7 +92,17 @@
<el-table-column label="税金类型" width="130" prop="taxType">
<template slot-scope="scope">{{scope.row.taxType || '--'}}</template>
</el-table-column>
<el-table-column label="本月工程量" width="130" prop="projectVolume">
<template slot-scope="scope">
<template v-if="isinput">
<el-input v-model="scope.row.projectVolume "></el-input>
</template>
<template v-else>{{scope.row.projectVolume || '--'}}</template>
</template>
</el-table-column>
<el-table-column label="截止本月工程量" width="130" prop="currentProjectVolume">
<template slot-scope="scope">{{scope.row.suncurrentProjectVolume || '--'}}</template>
</el-table-column>
<el-table-column label="本月成本发生比例" width="150" prop="monthCostRate">
<template slot-scope="scope">
<template v-if="isinput">
......@@ -102,34 +112,28 @@
</template>
</el-table-column>
<el-table-column label="成本合价" width="130" prop="costEffective">
<template slot-scope="scope">{{scope.row.costEffective || '--'}}</template>
</el-table-column>
<el-table-column label="本月工程量" width="130" prop="projectVolume">
<template slot-scope="scope">
<template v-if="isinput">
<el-input v-model="scope.row.projectVolume "></el-input>
<el-input v-model="scope.row.costEffective "></el-input>
</template>
<template v-else>{{scope.row.projectVolume || '--'}}</template>
<template v-else>{{scope.row.costEffective || '--'}}</template>
</template>
</el-table-column>
<el-table-column label="截止本月工程量" width="130" prop="currentProjectVolume">
<template slot-scope="scope">{{scope.row.suncurrentProjectVolume || '--'}}</template>
</el-table-column>
<el-table-column label="本月推送工程量" width="130" prop="submitProjectVolume">
<template slot-scope="scope">{{scope.row.submitProjectVolume || '--'}}</template>
</el-table-column>
<!--<el-table-column label="本月推送工程量" width="130" prop="submitProjectVolume">-->
<!--<template slot-scope="scope">{{scope.row.submitProjectVolume || '&#45;&#45;'}}</template>-->
<!--</el-table-column>-->
<el-table-column label="备注" width="130" prop="remarks">
<template slot-scope="scope">{{scope.row.remarks || '--'}}</template>
</el-table-column>
<el-table-column label="是否推送" width="130">
<template slot-scope="scope">{{scope.row.pushTime?'是':'否'}}</template>
</el-table-column>
<el-table-column label="操作" width="130" fixed="right">
<template slot-scope="scope">
<span class="wordprimary" @click="pushwork(scope.row)">推送工程量</span>
</template>
</el-table-column>
<!--<el-table-column label="是否推送" width="130">-->
<!--<template slot-scope="scope">{{scope.row.pushTime?'是':'否'}}</template>-->
<!--</el-table-column>-->
<!--<el-table-column label="操作" width="130" fixed="right">-->
<!--<template slot-scope="scope">-->
<!--<span class="wordprimary" @click="pushwork(scope.row)">推送工程量</span>-->
<!--</template>-->
<!--</el-table-column>-->
</el-table>
</div>
......@@ -504,6 +508,18 @@
width: 100%;
height: 100%;
.meafixed-table{
// 解决拖拽表格滚动条,错位问题
::v-deep .el-table__header-wrapper{
padding-right: 16px!important; // 滚动条宽度
}
::v-deep .el-table--border th.el-table__cell.gutter:last-of-type {
display: block!important;
width: 16px!important;
}
}
::v-deep .tored{
/*background: rgb(255,236,236) !important;*/
}
......
......@@ -39,6 +39,7 @@
:tableLoading="tableLoading"
:tableData="tableData1"
:forData="forData1"
:indexFixed="true"
:MaxPage=500
:tableDataTotal="tableDataTotal1"
:queryParams="queryParams"
......@@ -96,7 +97,7 @@ export default {
{label: '占比', prop: 'proportion', slot: true},
],
forData1: [
{label: '清单内容', prop: 'itemContent',minWidth:'220'},
{label: '清单内容', prop: 'itemContent',minWidth:'220', fixed: "left"},
{label: '工作内容、做法/规格型号/施工现场配置说明', prop: 'workContent',minWidth:'302'},
{label: '单位', prop: 'unit',minWidth:'115'},
{label: '不含税单价', prop: 'unitPriceExcludingTax',minWidth:'115'},
......
......@@ -83,46 +83,54 @@ export default {
{
value: "basicEngineeringInformation",
name: "工程项目信息",
disabled:false,
id: v4()
},
{
value: "directCost",
name: "直接费成本",
disabled:false,
cbType: 0,
id: v4()
},
{
value: "feedSummary",
name: "工料汇总",
disabled:false,
cbType: 1,
id: v4()
},
{
name: "措施项目",
value: "measureItem",
disabled:false,
cbType: 2,
id: v4()
},
{
name: "其他项目",
value: "otherItems",
disabled:false,
cbType: 3,
id: v4()
},
{
name: "现场经费",
value: "fieldExpenses",
disabled:false,
cbType: 4,
id: v4()
},
{
name: "成本汇总",
value: "cost",
disabled:false,
cbType: 5,
id: v4()
},
{
name: "盈亏分析对比",
disabled:false,
value: "profitAndLoss",
cbType: 1,
id: v4()
......
......@@ -171,25 +171,47 @@
<span>{{protitle}}</span>
</div>
<el-form class="popform" label-width="97px" :model="queryParam" :rules="rules" ref="ruleForm">
<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-form-item label="成本计划" class="row">
<el-select placeholder="请选择成本计划" v-model="cbjh">
<el-option v-for="(item,index) in cbjhlist" :label="item.label" :value="item.value" :key="index"></el-option>
</el-select>
</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 >
<div class="popbot">
<div class="popbot" v-if="cbjh === '暂无成本计划'">
<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_primary h32" v-if="isedit && !ischeck" @click="savepro">保存</div>
<div class="btn btn_primary h32" v-if="isedit && ischeck" @click="changepro">下一步,导入数据</div>
......@@ -279,6 +301,17 @@
dialogVisible:false,
cbStagelist:[],
ztStagelist:[],
cbjhlist:[
{
value: '已有成本计划',
label: '已有成本计划'
},
{
value: '暂无成本计划',
label: '暂无成本计划'
},
],
cbjh:'',
//新建项目参数
queryParam:{
projectName:'',//项目名称
......
......@@ -831,7 +831,7 @@
});
},
iptAdaptive(uid, multiple = false, name) {
multiple ? this.multipleAdaptiveHandle(uid, name) : this.iptAdaptiveHandle(uid, name);
multiple ? this.multipleAdaptiveHandle(uid, name) : this.iptAdaptiveHandle(uid, name);
},
//单选
async iptAdaptiveHandle(uid, name) {
......
......@@ -35,8 +35,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://111.204.34.146:9099/prod-api`,//测试
// target: `http://172.17.0.12:9099//prod-api`,//测试
target: `http://172.17.0.12:9099/prod-api`,//测试
// target: `http://172.17.0.12:9099/prod-api`,//测试
// target: `http://192.168.60.5:9098`,//陈跃方
// target: `http://192.168.60.27:9098`,//邓
// target: `http://122.9.160.122:9011`, //线上
......
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