Commit f696a587 authored by danfuman's avatar danfuman

修改

parent 136743d3
...@@ -185,6 +185,14 @@ export const getFeedSummaryListApi = (params = {}) => request({ ...@@ -185,6 +185,14 @@ export const getFeedSummaryListApi = (params = {}) => request({
params params
}); });
//工程项目信息
export const getCbProjectInfo = (relatedId) => request({
url: '/cbProjectRecord/getCbProjectInfo/' + relatedId,
method: "get",
});
// 其他项目 // 其他项目
//其他项目左侧菜单 //其他项目左侧菜单
...@@ -198,3 +206,10 @@ export const getProjectOtherStatistics = (relatedId) => request({ ...@@ -198,3 +206,10 @@ export const getProjectOtherStatistics = (relatedId) => request({
url: '/cb/projectOther/statistics/' + relatedId, url: '/cb/projectOther/statistics/' + relatedId,
method: "get", method: "get",
}); });
//其他费用-其他费用列表
export const getProjectOtherList = (params = {}) => request({
url: "/cb/projectOther/list",
method: "get",
params
});
...@@ -44,33 +44,33 @@ ...@@ -44,33 +44,33 @@
</template> </template>
<script> <script>
import InfoTable from '../../../../component/infoTable'; import InfoTable from '../../../../component/infoTable';
import { getCbProjectInfo } from "@/api/projectCostLedger";
export default { export default {
name: "projectInformation", name: "projectInformation",
components: {InfoTable}, components: {InfoTable},
data() { data() {
return { return {
comProjectId:'',
labelWidth: 250, labelWidth: 250,
forInfo: { forInfo: { },
name:'宝安中学(集团)初中部改扩建工程施工总承包(二次公告)',
},
defaultList1: [ defaultList1: [
// { name: '工程名称', prop: 'name', slot: true }, // { name: '工程名称', prop: 'name', slot: true },
{ name: '工程名称', prop: 'name', style: true }, { name: '工程名称', prop: 'projectName', style: true },
{ name: '工程所在地', prop: 'creditNo' }, { name: '工程所在地', prop: 'areaName' },
{ name: '工程详细地址', prop: 'operName' }, { name: '工程详细地址', prop: 'projectAddress' },
{ name: '业态', prop: 'status' }, { name: '业态', prop: 'status' },
{ name: '工程类型', prop: 'startDate' }, { name: '工程类型', prop: 'projectType1' },
{ name: '计价模式(清单/定额)', prop: 'registCapi' }, { name: '计价模式(清单/定额)', prop: 'registCapi' },
{ name: '承包形式(EPC/DB/EP/PC)', prop: 'actualCapi'}, { name: '承包形式(EPC/DB/EP/PC)', prop: 'actualCapi'},
{ name: '合同类型', prop: 'checkDate' }, { name: '合同类型', prop: 'checkDate' },
{ name: '建设单位', prop: 'orgNo' }, { name: '建设单位', prop: 'orgNo' },
{ name: '设计单位', prop: 'regNo' }, { name: '设计单位', prop: 'designOrgName' },
{ name: '勘察单位', prop: 'creditNo' }, { name: '勘察单位', prop: 'creditNo' },
{ name: '监理单位', prop: 'econKind' }, { name: '监理单位', prop: 'supervisorOrgName' },
{ name: '代理公司(或工料测量师)', prop: 'term'}, { name: '代理公司(或工料测量师)', prop: 'term'},
{ name: '招标形式', prop: 'qualification' }, { name: '招标形式', prop: 'qualification' },
{ name: '承包方式', prop: 'provinceCode'}, { name: '承包方式', prop: 'provinceCode'},
{ name: '资金来源', prop: 'belongOrg' }, { name: '资金来源', prop: 'moneySource' },
{ name: '分包标准费用项价格库', prop: 'colleguesNum'}, { name: '分包标准费用项价格库', prop: 'colleguesNum'},
{ name: '材料机械标准费用价格库', prop: 'colleguesNum'}, { name: '材料机械标准费用价格库', prop: 'colleguesNum'},
{ name: '专业类别', prop: 'scope'}, { name: '专业类别', prop: 'scope'},
...@@ -87,9 +87,9 @@ export default { ...@@ -87,9 +87,9 @@ export default {
{ name: '结构类型', prop: 'registCapi' }, { name: '结构类型', prop: 'registCapi' },
{ name: '基础类型', prop: 'actualCapi'}, { name: '基础类型', prop: 'actualCapi'},
{ name: '单体个数', prop: 'checkDate', style: true }, { name: '单体个数', prop: 'checkDate', style: true },
{ name: '地上层数', prop: 'orgNo' }, { name: '地上层数', prop: 'noOfOverfloor' },
{ name: '地下层数', prop: 'regNo' }, { name: '地下层数', prop: 'noOfUnderfloor' },
{ name: '建筑高度', prop: 'creditNo' }, { name: '建筑高度', prop: 'constructHeight' },
{ name: '地下深度', prop: 'econKind' }, { name: '地下深度', prop: 'econKind' },
{ name: '首层(m)', prop: 'term'}, { name: '首层(m)', prop: 'term'},
{ name: '标准层(m)', prop: 'qualification' }, { name: '标准层(m)', prop: 'qualification' },
...@@ -146,9 +146,9 @@ export default { ...@@ -146,9 +146,9 @@ export default {
time:'2023-10-20' time:'2023-10-20'
}, },
defaultListYd4: [ defaultListYd4: [
{ name: '计划开工日期', prop: 'time' }, { name: '计划开工日期', prop: 'planStartDate' },
{ name: '计划竣工日期', prop: 'operName' }, { name: '计划竣工日期', prop: 'planEndDate' },
{ name: '总工期(天)', prop: 'status' }, { name: '总工期(天)', prop: 'contractWorkDays' },
{ name: '缺陷责任', prop: 'startDate' }, { name: '缺陷责任', prop: 'startDate' },
], ],
forInfoYd5:{ forInfoYd5:{
...@@ -191,9 +191,40 @@ export default { ...@@ -191,9 +191,40 @@ export default {
], ],
}; };
}, },
props: {
// 项目ID
// projectId: {
// type: String,
// required: true,
// default: ""
// },
// 详情信息
projectDetailInfo: {
type: Object,
default: () => ({})
}
},
watch: {
projectDetailInfo: {
handler(newValue) {
this.comProjectDetailInfo = newValue ? newValue : {};
// this.getCbProjectInfo(this.comProjectDetailInfo.projectId)
this.getCbProjectInfo('1759507630130479106')
// this.init(this.comProjectDetailInfo);
},
deep: true,
immediate: true
},
projectId: {
handler(newValue) {
this.comProjectId = newValue;
},
immediate: true
}
},
//可访问data属性 //可访问data属性
created() { created() {
// this.getCbProjectInfo()
}, },
//计算集 //计算集
computed: { computed: {
...@@ -201,7 +232,17 @@ export default { ...@@ -201,7 +232,17 @@ export default {
}, },
//方法集 //方法集
methods: { methods: {
async getCbProjectInfo(params) {
try {
const result = await getCbProjectInfo(params);
if (result.code == 200) {
console.log(result.data)
this.forInfo=result.data;
}
} catch (error) {
}
},
}, },
} }
</script> </script>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="otherProjects-cont"> <div class="otherProjects-cont">
<div class="left"> <div class="left">
<div class="left-side-menu"> <div class="left-side-menu">
<project-side-menu :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" :default-active="defaultActive"> <project-side-menu :menuTree="menuTreeList" :menuOptions="menuOptions" :unique-opened="false" :default-active="defaultActive" @select="select">
<template slot="其他费-1"> <template slot="其他费-1">
<img src="@/assets/images/projectCostLedger/icon_cost_detail_5.svg" alt=""> <img src="@/assets/images/projectCostLedger/icon_cost_detail_5.svg" alt="">
<div class="project-sub-menu-title-text">其他费</div> <div class="project-sub-menu-title-text">其他费</div>
...@@ -36,10 +36,10 @@ ...@@ -36,10 +36,10 @@
<tables <tables
v-if="!isSkeleton" v-if="!isSkeleton"
:tableLoading="tableLoading" :tableLoading="tableLoading"
:tableData="tableData" :tableData="tableData1"
:forData="forData1" :forData="forData1"
:MaxPage=500 :MaxPage=500
:tableDataTotal="tableDataTotal" :tableDataTotal="tableDataTotal1"
:queryParams="queryParams" :queryParams="queryParams"
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
@sort-change="sortChange" @sort-change="sortChange"
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
</div> </div>
<el-dialog :visible.sync="dialogVisible" width="720px" append-to-body class="dialogVisible" title="单位换算"> <el-dialog :visible.sync="dialogVisible" width="720px" append-to-body class="dialogVisible" title="单位换算">
<el-tabs v-model="currentList"> <el-tabs v-model="currentList" @tab-click="handleClickTab">
<el-tab-pane <el-tab-pane
:key="index" :key="index"
v-for="(item, index) in toggleTabs" v-for="(item, index) in toggleTabs"
...@@ -71,8 +71,8 @@ ...@@ -71,8 +71,8 @@
<el-option v-for="(item,index) in typeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> <el-option v-for="(item,index) in typeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
</el-select> </el-select>
<i class="el-icon-sort icon"></i> <i class="el-icon-sort icon"></i>
<el-select v-model="type1" placeholder="请选择"> <el-select v-model="type2" placeholder="请选择">
<el-option v-for="(item,index) in typeList1" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> <el-option v-for="(item,index) in typeList" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
</el-select> </el-select>
</div> </div>
<el-table <el-table
...@@ -106,65 +106,54 @@ ...@@ -106,65 +106,54 @@
<script> <script>
import Tables from "../../../../component/Tables" import Tables from "../../../../component/Tables"
import ProjectSideMenu from "@/views/projectCostLedger/detail/components/ProjectSideMenu"; import ProjectSideMenu from "@/views/projectCostLedger/detail/components/ProjectSideMenu";
import { getProjectOtherMenuTreeApi,getProjectOtherStatistics } from "@/api/projectCostLedger"; import { getProjectOtherMenuTreeApi,getProjectOtherStatistics,getProjectOtherList } from "@/api/projectCostLedger";
export default { export default {
name: "directCost", name: "directCost",
components: { components: {
Tables,ProjectSideMenu Tables,ProjectSideMenu
}, },
props: { props: {
// // 项目ID // 项目ID
// projectId: { // projectId: {
// type: String, // type: String,
// required: true, // required: true,
// default: "" // default: ""
// }, // },
// // 详情信息 // 详情信息
// projectDetailInfo: { projectDetailInfo: {
// type: Object, type: Object,
// default: () => ({}) default: () => ({})
// } }
}, },
data() { data() {
return { return {
comProjectId:'', comProjectId:'',
isSkeleton:false, isSkeleton:false,
tableLoading:false, tableLoading:false,
tableData:[ tableData:[],
{ tableDataTotal:0,
name:'技术质量管理类',
number:'236',
proportion:'64'
},
{
name:'工程保险类',
number:'336',
proportion:'64'
},
],
forData: [ forData: [
{label: '其他项目费用', prop: 'expenseName'}, {label: '其他项目费用', prop: 'expenseName'},
{label: '数量', prop: 'expenseValue'}, {label: '数量', prop: 'expenseValue'},
{label: '占比', prop: 'proportion', slot: true}, {label: '占比', prop: 'proportion', slot: true},
], ],
forData1: [ forData1: [
{label: '清单内容', prop: 'name',minWidth:'215'}, {label: '清单内容', prop: 'itemContent',minWidth:'220'},
{label: '工作内容、做法/规格型号/施工现场配置说明', prop: 'number',minWidth:'302'}, {label: '工作内容、做法/规格型号/施工现场配置说明', prop: 'workContent',minWidth:'302'},
{label: '单位', prop: 'proportion',minWidth:'215'}, {label: '单位', prop: 'unit',minWidth:'115'},
{label: '不含税单价', prop: 'proportion',minWidth:'215'}, {label: '不含税单价', prop: 'unitPriceExcludingTax',minWidth:'115'},
{label: '不含税合价', prop: 'proportion',minWidth:'215'}, {label: '不含税合价', prop: 'totalPriceExcludeTax',minWidth:'115'},
{label: '税率(%)', prop: 'proportion',minWidth:'215'}, {label: '税率(%)', prop: 'taxRate',minWidth:'115'},
{label: '含税合价', prop: 'proportion',minWidth:'215'}, {label: '含税合价', prop: 'totalPriceIncludingTax',minWidth:'115'},
{label: '税金(元)', prop: 'proportion',minWidth:'215'}, {label: '税金(元)', prop: 'taxAmount',minWidth:'115'},
{label: '成本科目', prop: 'proportion',minWidth:'215'}, {label: '成本科目', prop: 'costSubject',minWidth:'160'},
{label: '税金类型', prop: 'proportion',minWidth:'215'}, {label: '税金类型', prop: 'taxType',minWidth:'115'},
{label: '备注', prop: 'proportion',minWidth:'215'}, {label: '备注', prop: 'remarks',minWidth:'200'},
], ],
queryParams:{ queryParams:{
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
}, },
tableDataTotal:2,
defaultActive: "费用汇总", defaultActive: "费用汇总",
menuTreeList: [ menuTreeList: [
{ {
...@@ -177,7 +166,7 @@ export default { ...@@ -177,7 +166,7 @@ export default {
nodeName: "itemContent", nodeName: "itemContent",
nodeValue: "itemContent", nodeValue: "itemContent",
}, },
dialogVisible:false, dialogVisible:true,
currentList: "type1", currentList: "type1",
toggleTabs:[ toggleTabs:[
{ {
...@@ -192,63 +181,69 @@ export default { ...@@ -192,63 +181,69 @@ export default {
value: "type3", value: "type3",
name: "体积", name: "体积",
}, },
// {
// value: "type4",
// name: "质量",
// },
// {
// value: "type5",
// name: "密度",
// },
],
tableData1:[],
tableDataTotal1:0,
type1:'',
type2:'',
typeList:[
{ {
value: "type4", dictLabel:'千米',
name: "质量", dictValue:'千米'
}, },
{ {
value: "type5", dictLabel:'米',
name: "密度", dictValue:'米'
}, },
],
tableData1:[
{ {
cbkm:'标前成本', dictLabel:'分米',
wlyl:'42000KG', dictValue:'分米'
hsyl:'42T'
}, },
{ {
cbkm:'标前成本', dictLabel:'厘米',
wlyl:'42000KG', dictValue:'厘米'
hsyl:'42T'
}, },
{ {
cbkm:'标前成本', dictLabel:'毫米',
wlyl:'42000KG', dictValue:'毫米'
hsyl:'42T'
}, },
{ {
cbkm:'标前成本', dictLabel:'微米',
wlyl:'42000KG', dictValue:'微米'
hsyl:'42T'
}, },
], ],
type1:'',
type2:'',
typeList:[],
typeList1:[],
}; };
}, },
watch: { watch: {
// projectDetailInfo: { projectDetailInfo: {
// handler(newValue) { handler(newValue) {
// this.comProjectDetailInfo = newValue ? newValue : {}; this.comProjectDetailInfo = newValue ? newValue : {};
// // this.init(this.comProjectDetailInfo); this.getProjectOtherStatistics(this.comProjectDetailInfo.projectId)
// }, // this.getProjectOtherStatistics('1762014527685136385')
// deep: true, // this.init(this.comProjectDetailInfo);
// immediate: true },
// }, deep: true,
// projectId: { immediate: true
// handler(newValue) { },
// this.comProjectId = newValue; projectId: {
// }, handler(newValue) {
// immediate: true this.comProjectId = newValue;
// } },
immediate: true
}
}, },
//可访问data属性 //可访问data属性
created() { created() {
this.getProjectOtherMenuTreeApi('1762014527685136385') this.getProjectOtherMenuTreeApi('1762014527685136385')
this.getProjectOtherStatistics('1762014527685136385')
}, },
//计算集 //计算集
computed: { computed: {
...@@ -261,6 +256,7 @@ export default { ...@@ -261,6 +256,7 @@ export default {
const result = await getProjectOtherStatistics(params); const result = await getProjectOtherStatistics(params);
if (result.code == 200) { if (result.code == 200) {
const _dataArray = result.data; const _dataArray = result.data;
this.tableDataTotal=_dataArray.length;
this.tableData = _dataArray; this.tableData = _dataArray;
} }
} catch (error) { } catch (error) {
...@@ -280,9 +276,18 @@ export default { ...@@ -280,9 +276,18 @@ export default {
} }
}, },
open(menuPath, menuPathArray){ select(menuPath, menuPathArray){
console.log(menuPath) console.log(menuPath)
console.log(menuPathArray) console.log(menuPathArray)
this.defaultActive=menuPath;
let param = {
projectId:this.comProjectDetailInfo.projectId,
parentId:menuPathArray.originData.id
}
getProjectOtherList(param).then(res=>{
this.tableData1 = res.data;
this.tableDataTotal1=res.data.length;
})
}, },
//分页 //分页
handleCurrentChange(e){ handleCurrentChange(e){
...@@ -293,8 +298,120 @@ export default { ...@@ -293,8 +298,120 @@ export default {
}, },
sortChange(){ sortChange(){
},
handleClickTab(v){
this.type1='';
this.type2='';
if(v.label === '长度'){
this.typeList=[
{
dictLabel:'千米',
dictValue:'千米'
},
{
dictLabel:'米',
dictValue:'米'
},
{
dictLabel:'分米',
dictValue:'分米'
},
{
dictLabel:'厘米',
dictValue:'厘米'
},
{
dictLabel:'毫米',
dictValue:'毫米'
},
{
dictLabel:'微米',
dictValue:'微米'
},
]
}
if(v.label === '面积'){
this.typeList=[
{
dictLabel:'平方千米',
dictValue:'平方千米'
},
{
dictLabel:'公顷',
dictValue:'公顷'
},
{
dictLabel:'公亩',
dictValue:'公亩'
},
{
dictLabel:'平方米',
dictValue:'平方米'
},
{
dictLabel:'平方分米',
dictValue:'平方分米'
},
{
dictLabel:'平方厘米',
dictValue:'平方厘米'
},
{
dictLabel:'平方毫米',
dictValue:'平方毫米'
},
]
}
if(v.label === '体积'){
this.typeList=[
{
dictLabel:'立方千米',
dictValue:'立方千米'
},
{
dictLabel:'立方米',
dictValue:'立方米'
},
{
dictLabel:'立方分米',
dictValue:'立方分米'
},
{
dictLabel:'立方厘米',
dictValue:'立方厘米'
},
{
dictLabel:'立方毫米',
dictValue:'立方毫米'
},
{
dictLabel:'升',
dictValue:'升'
},
{
dictLabel:'分升',
dictValue:'分升'
},
{
dictLabel:'毫升',
dictValue:'毫升'
},
{
dictLabel:'微升',
dictValue:'微升'
},
{
dictLabel:'厘升',
dictValue:'厘升'
},
{
dictLabel:'公石',
dictValue:'公石'
},
]
} }
}, },
},
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
<!-- 放入组件 v-if current == ‘xxxx’ 详情变量 this.detailInfo 需要深度监听--> <!-- 放入组件 v-if current == ‘xxxx’ 详情变量 this.detailInfo 需要深度监听-->
<!-- 工程项目信息 --> <!-- 工程项目信息 -->
<engineering-information v-if="current == 'basicEngineeringInformation'"></engineering-information> <engineering-information v-if="current == 'basicEngineeringInformation'" :project-detail-info="detailInfo"></engineering-information>
<!-- 直接费成本 --> <!-- 直接费成本 -->
<direct-cost v-if="current == 'directCost'"></direct-cost> <direct-cost v-if="current == 'directCost'" :project-detail-info="detailInfo"></direct-cost>
<!-- 工料汇总 --> <!-- 工料汇总 -->
<feed-summary v-if="current == 'feedSummary'" :project-id="projectID" :project-detail-info="detailInfo"></feed-summary> <feed-summary v-if="current == 'feedSummary'" :project-id="projectID" :project-detail-info="detailInfo"></feed-summary>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<measure-items v-if="current == 'measureItem'" :project-id="projectID" :project-detail-info="detailInfo"></measure-items> <measure-items v-if="current == 'measureItem'" :project-id="projectID" :project-detail-info="detailInfo"></measure-items>
<!-- 其他项目 --> <!-- 其他项目 -->
<other-projects v-if="current == 'otherItems'"></other-projects> <other-projects v-if="current == 'otherItems'" :project-detail-info="detailInfo"></other-projects>
<!-- 盈亏分析对比 --> <!-- 盈亏分析对比 -->
<profit-Loss v-if="current == 'profitAndLoss'" :project-id="projectID" :project-detail-info="detailInfo"></profit-Loss> <profit-Loss v-if="current == 'profitAndLoss'" :project-id="projectID" :project-detail-info="detailInfo"></profit-Loss>
......
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