Commit 2956043a authored by Administrator's avatar Administrator

Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司

parents 89c6ac91 fbed8aee
...@@ -5,10 +5,10 @@ import request from '@/utils/request'; ...@@ -5,10 +5,10 @@ import request from '@/utils/request';
* @param {*} params * @param {*} params
* @returns * @returns
*/ */
export const getProjectDetailApi = (params = {}) => request({ export const getProjectDetailApi = (projectId) => request({
url: "", url: `/cbProjectRecord/getCbProjectHeadInfo/${projectId}`,
method: "get", method: "get",
params params: {}
}); });
//校验项目编码是否存在 //校验项目编码是否存在
...@@ -60,7 +60,7 @@ export function getProjectFileUploadDetail(projectId) { ...@@ -60,7 +60,7 @@ export function getProjectFileUploadDetail(projectId) {
//根据项目文件导入数据 //根据项目文件导入数据
export function importData(projectId) { export function importData(projectId) {
return request({ return request({
url: '/cbProjectRecord/importData/'+projectId, url: '/cbProjectRecord/importData/' + projectId,
method: 'post', method: 'post',
}); });
} }
...@@ -70,7 +70,7 @@ export function getDraftDialogList(data) { ...@@ -70,7 +70,7 @@ export function getDraftDialogList(data) {
return request({ return request({
url: '/cbProjectRecord/getDraftDialogList', url: '/cbProjectRecord/getDraftDialogList',
method: 'get', method: 'get',
params:data params: data
}); });
} }
...@@ -193,7 +193,7 @@ export function saveBatch(data) { ...@@ -193,7 +193,7 @@ export function saveBatch(data) {
return request({ return request({
url: '/cb/cost/measures/saveBatch', url: '/cb/cost/measures/saveBatch',
method: 'post', method: 'post',
data:data, data: data,
}); });
} }
...@@ -265,7 +265,7 @@ export function cbDirectExpenseAdd(data) { ...@@ -265,7 +265,7 @@ export function cbDirectExpenseAdd(data) {
return request({ return request({
url: '/cbDirectExpense/addExpense', url: '/cbDirectExpense/addExpense',
method: 'post', method: 'post',
data:data, data: data,
}); });
} }
......
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
tabChoose(item) { tabChoose(item) {
if (item.value == this.currentValue) return; if (item.value == this.currentValue) return;
this.$emit("currentTabChange", item.value); this.$emit("currentTabChange", item.value);
this.$emit("tabToggle", item.value); this.$emit("tabToggle", item.value, item);
this.initSlidingBar(); this.initSlidingBar();
} }
}, },
......
...@@ -103,12 +103,12 @@ export default { ...@@ -103,12 +103,12 @@ export default {
comProjectId: this.projectId, comProjectId: this.projectId,
menuTreeList: [], menuTreeList: [],
// 加载数据列表 // 加载数据列表
tableLoading: true, tableLoading: false,
total: 0, total: 0,
// 列表表头 // 列表表头
formColum: [ formColum: [
{ label: '序号', prop: "staticSerialNumber", type: "index", lock: true, width: "53", fixed: false, uid: v4() }, { label: '序号', prop: "staticSerialNumber", type: "index", lock: true, width: "53", fixed: false, uid: v4() },
{ label: '成本科目', prop: "cbSubjectName", width: "137", uid: v4(),slot : true }, { label: '成本科目', prop: "cbSubjectName", width: "137", uid: v4(), slot: true },
{ label: '公司编码', prop: "companyNo", width: "137", uid: v4() }, { label: '公司编码', prop: "companyNo", width: "137", uid: v4() },
{ label: '集团编码', prop: "orgNo", width: "137", uid: v4() }, { label: '集团编码', prop: "orgNo", width: "137", uid: v4() },
{ label: '名称', prop: "cbName", width: "232", uid: v4() }, { label: '名称', prop: "cbName", width: "232", uid: v4() },
...@@ -230,7 +230,7 @@ export default { ...@@ -230,7 +230,7 @@ export default {
this.total = list.data.length; this.total = list.data.length;
} }
} catch (error) { } catch (error) {
console.log(error);
} finally { } finally {
this.tableLoading = false; this.tableLoading = false;
} }
......
...@@ -55,12 +55,11 @@ export default { ...@@ -55,12 +55,11 @@ export default {
//方法集 //方法集
methods: { methods: {
init(current) { init(current) {
if (!current) return;
if (this?.comBreadCrumbTree?.length) { if (this?.comBreadCrumbTree?.length) {
const _temp = cloneDeep(this.comBreadCrumbTree); const _temp = cloneDeep(this.comBreadCrumbTree);
// 根节点path 为root // 根节点path 为root
_temp[0].path = "root"; _temp[0].path = "root";
this.currentBreadCurmbList = this.createBreadCrumb(current, _temp); this.currentBreadCurmbList = current ? this.createBreadCrumb(current, _temp) : this.createBreadCrumb("root", _temp);
} }
}, },
createBreadCrumb(current, data) { createBreadCrumb(current, data) {
......
...@@ -3,20 +3,20 @@ ...@@ -3,20 +3,20 @@
<div class="project-cost-ledger-detail-header-inner"> <div class="project-cost-ledger-detail-header-inner">
<project-bread-crumb :current="current" :breadCrumbTree="breadCrumbTree" @breadCrumbTrigger="breadCrumbTrigger"></project-bread-crumb> <project-bread-crumb :current="current" :breadCrumbTree="breadCrumbTree" @breadCrumbTrigger="breadCrumbTrigger"></project-bread-crumb>
<!-- 项目名称 --> <!-- 项目名称 -->
<div class="project-detail-header-name">宝安中学(集团)初中部改扩建工程施工总承包(二次公告)</div> <div class="project-detail-header-name">{{comDetailInfo.projectName ? comDetailInfo.projectName : "-"}}</div>
<!-- 项目信息 --> <!-- 项目信息 -->
<div class="project-detail-plate"> <div class="project-detail-plate">
<div class="detail-plate-item project-code" v-if="isShowProjectCode.includes(current)"> <div class="detail-plate-item project-code" v-if="isShowProjectCode.includes(current)">
<span class="plate-item-name">项目编码:</span> <span class="plate-item-name">项目编码:</span>
<span>AB21131212131</span> <span>{{comDetailInfo.ipmProjectNo ? comDetailInfo.ipmProjectNo : "-"}}</span>
</div> </div>
<div class="detail-plate-item"> <div class="detail-plate-item">
<span class="plate-item-name">客户名称:</span> <span class="plate-item-name">客户名称:</span>
<span>广联达科技股份有限公司天津分公司天津分公司</span> <span>{{comDetailInfo.merchantName ? comDetailInfo.merchantName : "-"}}</span>
</div> </div>
<div class="detail-plate-item"> <div class="detail-plate-item">
<span class="plate-item-name">签订单位:</span> <span class="plate-item-name">签订单位:</span>
<span>中建一局集团第二建筑有限公司</span> <span>{{comDetailInfo.signingUnit ? comDetailInfo.signingUnit : "-"}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -28,14 +28,26 @@ export default { ...@@ -28,14 +28,26 @@ export default {
name: "projectDetailHeader", name: "projectDetailHeader",
props: { props: {
current: String, current: String,
breadCrumbTree: Array breadCrumbTree: Array,
detailInfo: {
type: Object,
default: () => ({})
}
}, },
components: { components: {
ProjectBreadCrumb ProjectBreadCrumb
}, },
watch: {
detailInfo: {
handler(newValue) {
this.comDetailInfo = newValue ? newValue : {};
}
}
},
data() { data() {
return { return {
isShowProjectCode: ["basicEngineeringInformation", "directCost", "feedSummary", "cost"], isShowProjectCode: ["basicEngineeringInformation", "directCost", "feedSummary", "cost"],
comDetailInfo: this.detailInfo ? this.detailInfo : {}
}; };
}, },
//可访问data属性 //可访问data属性
......
...@@ -111,7 +111,7 @@ export default { ...@@ -111,7 +111,7 @@ export default {
// 递归查找当前二级目录index // 递归查找当前二级目录index
const _tempTree = this.tempMenuTree; const _tempTree = this.tempMenuTree;
const result = this.findTargetLevelIndex(_tempTree, 2, []); const result = this.findTargetLevelIndex(_tempTree, 2, []);
this.comDefaultOpeneds = result; // this.comDefaultOpeneds = result;
} }
}, },
findTargetLevelIndex(data = [], level = level, result = []) { findTargetLevelIndex(data = [], level = level, result = []) {
......
<template> <template>
<div class="project-cost-ledger-detail"> <div class="project-cost-ledger-detail">
<div class="project-cost-ledger-detail-inner"> <div class="project-cost-ledger-detail-inner">
<project-detail-header :current="current" :breadCrumbTree="createProjectBreadCrumbTree"></project-detail-header> <project-detail-header :detail-info="detailInfo" :current="current"
:breadCrumbTree="createProjectBreadCrumbTree(toggleTabs)"></project-detail-header>
<!-- tab切换栏 --> <!-- tab切换栏 -->
<dsk-tab-toggle v-model="current" :tabs="toggleTabs" @tabToggle="tabToggle" :disabled="tabsDisabled"></dsk-tab-toggle> <dsk-tab-toggle v-model="current" :tabs="toggleTabs" @tabToggle="tabToggle" :disabled="tabsDisabled"></dsk-tab-toggle>
<!-- tab切换组件容器 --> <!-- tab切换组件容器 -->
...@@ -65,11 +66,7 @@ export default { ...@@ -65,11 +66,7 @@ export default {
projectId: "", projectId: "",
current: "", current: "",
// 详情信息变量 // 详情信息变量
detailInfo: { detailInfo: {},
projectId: "1754425038355890177",
cbStage: 0,
cbType: 1
},
tabsDisabled: false, tabsDisabled: false,
toggleTabs: [ toggleTabs: [
{ {
...@@ -80,31 +77,37 @@ export default { ...@@ -80,31 +77,37 @@ export default {
{ {
value: "directCost", value: "directCost",
name: "直接费成本", name: "直接费成本",
cbType: 0,
id: v4() id: v4()
}, },
{ {
value: "feedSummary", value: "feedSummary",
name: "工料汇总", name: "工料汇总",
cbType: 1,
id: v4() id: v4()
}, },
{ {
name: "措施项目", name: "措施项目",
value: "measureItem", value: "measureItem",
cbType: 2,
id: v4() id: v4()
}, },
{ {
name: "其他项目", name: "其他项目",
value: "otherItems", value: "otherItems",
cbType: 3,
id: v4() id: v4()
}, },
{ {
name: "现场经费", name: "现场经费",
value: "fieldExpenses", value: "fieldExpenses",
cbType: 4,
id: v4() id: v4()
}, },
{ {
name: "成本汇总", name: "成本汇总",
value: "cost", value: "cost",
cbType: 5,
id: v4() id: v4()
}, },
{ {
...@@ -125,9 +128,22 @@ export default { ...@@ -125,9 +128,22 @@ export default {
}, },
//计算集 //计算集
computed: { computed: {
createProjectBreadCrumbTree() {
},
//方法集
methods: {
async init() {
try {
// 监听组件emit事件订阅 需要刷新数据
this.$on("refreshDetail", this.getProjectDetail);
await this.getProjectQuery();
} catch (error) {
}
},
createProjectBreadCrumbTree(tabs) {
try { try {
const _tempArray = cloneDeep(this.toggleTabs.map(item => { const _tempArray = cloneDeep(tabs.map(item => {
item.path = item.value; item.path = item.value;
item.breadcrumbName = item.name; item.breadcrumbName = item.name;
return item; return item;
...@@ -141,34 +157,21 @@ export default { ...@@ -141,34 +157,21 @@ export default {
triggerHandle: false, triggerHandle: false,
childrenBreadCrumb: _tempArray childrenBreadCrumb: _tempArray
}], }],
}; };
return [_temp]; return [_temp];
} catch (error) { } catch (error) {
console.log(error); console.log(error);
} }
}
},
//方法集
methods: {
async init() {
try {
// 监听组件emit事件订阅 需要刷新数据
this.$on("refreshDetail", this.getProjectDetail);
await this.getProjectQuery();
} catch (error) {
}
}, },
async getProjectQuery() { async getProjectQuery() {
try { try {
this.tabsDisabled = true; this.tabsDisabled = true;
const { query } = this.$route; const { query } = this.$route;
// if (!query.projectId) { if (!query.projectId) {
// this.$message.error("缺少项目id"); this.$message.error("缺少项目id");
// this.tabsDisabled = true; this.tabsDisabled = true;
// return; return;
// }; };
this.projectId = query.projectId; this.projectId = query.projectId;
// 获取详情 保证详情获取完毕 再执行tab命中 进行生命周期 // 获取详情 保证详情获取完毕 再执行tab命中 进行生命周期
await this.getProjectDetail(query.projectId); await this.getProjectDetail(query.projectId);
...@@ -178,6 +181,7 @@ export default { ...@@ -178,6 +181,7 @@ export default {
// 默认命中工程项目信息 // 默认命中工程项目信息
this.current = "basicEngineeringInformation"; this.current = "basicEngineeringInformation";
}; };
this.setCbType(this.current);
this.tabsDisabled = false; this.tabsDisabled = false;
} catch (error) { } catch (error) {
console.log(error); console.log(error);
...@@ -185,14 +189,34 @@ export default { ...@@ -185,14 +189,34 @@ export default {
}, },
async getProjectDetail(projectId) { async getProjectDetail(projectId) {
try { try {
const detail = await getProjectDetailApi(projectId);
if (detail.code == 200 && detail.data) {
if (detail.data.id) detail.data["projectId"] = detail.data.id;
this.detailInfo = detail.data;
}
} catch (error) { } catch (error) {
console.log(error);
}
},
getCurrentTab(current) {
if (current) {
const result = this.toggleTabs.find(item => item.value == current);
return result;
}
},
setCbType(current) {
if (!current) {
delete this.detailInfo["cbType"];
return;
}
const _temp = this.getCurrentTab(current);
if (_temp && (_temp.cbType ?? false)) {
this.$set(this.detailInfo, "cbType", _temp.cbType);
} }
}, },
// 当前命中的current // 当前命中的current
tabToggle(value) { tabToggle(value, valueCurrentObj) {
this.setCbType(value);
} }
}, },
} }
......
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