Commit 73a0c9d3 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents a1ecb7e2 7ac4f9f3
package com.dsk.cscec.constant;
/**
* 二期项目常量信息
*
* @author sxk
* @date 2024.02.05
* @time 15:29
*/
public interface CbProjectConstants {
/**
* 成本阶段:标前
*/
Integer CB_STAGE_BEFORE_BID = 0;
/**
* 成本阶段:标后
*/
Integer CB_STAGE_AFTER_BID = 1;
/**
* 成本阶段:转固
*/
Integer CB_STAGE_TO_SOLID = 2;
/**
* 项目文件状态:待解析
*/
Integer PROJECT_FILE_STATUS_NOT_PARSE = 0;
/**
* 项目文件状态:解析中
*/
Integer PROJECT_FILE_STATUS_PARSING = 1;
/**
* 项目文件状态:解析成功
*/
Integer PROJECT_FILE_STATUS_PARSE_SUCCESS = 2;
/**
* 项目文件状态:解析失败
*/
Integer PROJECT_FILE_STATUS_PARSE_FAIL = 3;
/**
* 删除状态:未删除
*/
Integer DELETE_FLAG_EXIST = 0;
/**
* 删除状态:已删除
*/
Integer DELETE_FLAG_NOT_EXIST = 2;
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.CbAccountSummaryService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 成本汇总-成本科目汇总(CbAccountSummary)表控制层
*
* @author
* @since 2024-02-05
*/
@RestController
@RequestMapping("/cbAccountSummary")
public class CbAccountSummaryController extends BaseController {
/**
* 服务对象
*/
@Resource
private CbAccountSummaryService cbAccountSummaryService;
}
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.cscec.service.CbProjectSummaryService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 成本汇总-项目汇总(CbProjectSummary)表控制层
*
* @author
* @since 2024-02-05
*/
@RestController
@RequestMapping("/cbProjectSummary")
public class CbProjectSummaryController extends BaseController {
/**
* 服务对象
*/
@Resource
private CbProjectSummaryService cbProjectSummaryService;
}
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 成本汇总-成本科目汇总(CbAccountSummary)实体类
*
* @author
* @since 2024-02-05
*/
@Data
public class CbAccountSummary implements Serializable {
private static final long serialVersionUID = 292585790421593142L;
/**
* 主键id
*/
private Integer id;
/**
* 父级id
*/
private Integer parentId;
/**
* 层级
*/
private Integer level;
/**
* 排序
*/
private Integer sort;
/**
* 项目id
*/
private Integer projectId;
/**
* 成本阶段( 0:标前成本、1:标后成本、2:转固成本)
*/
private Integer cbStage;
/**
* 序号
*/
private String number;
/**
* 成本科目
*/
private String cbAccount;
/**
* 不含税成本合价
*/
private String taxExclusiveTotal;
/**
* 成本税金合价
*/
private String cbTaxesTotal;
/**
* 含税成本合价
*/
private String taxInclusiveTotal;
/**
* 成本占比
*/
private String cbProportion;
/**
* 含税成本平米指标
*/
private String taxInclusivePmTarget;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
}
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
/**
* 成本汇总-成本科目汇总-每月费用(CbAccountSummaryActual)实体类
*
* @author
* @since 2024-02-05
*/
@Data
public class CbAccountSummaryActual implements Serializable {
private static final long serialVersionUID = 847656665993804445L;
/**
* 主键id
*/
private Integer id;
/**
* 成本科目汇总id
*/
private Integer cbAccountSummaryId;
/**
* 本月费用(含税)
*/
private Double taxInclusiveExpense;
/**
* 本月费用(不含税)
*/
private Double taxExclusiveExpense;
/**
* 费用日期
*/
private String expenseDate;
/**
* 是否锁定
*/
private Integer lockStatus;
}
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 成本汇总-项目汇总(CbProjectSummary)实体类
*
* @author
* @since 2024-02-05
*/
@Data
public class CbProjectSummary implements Serializable {
private static final long serialVersionUID = -88742338054342512L;
/**
* 主键id
*/
private Integer id;
/**
* 父级id
*/
private Integer parentId;
/**
* 层级
*/
private Integer level;
/**
* 排序
*/
private Integer sort;
/**
* 项目id
*/
private Integer projectId;
/**
* 成本阶段( 0:标前成本、1:标后成本、2:转固成本)
*/
private Integer cbStage;
/**
* 序号
*/
private String number;
/**
* 名称
*/
private String name;
/**
* 不含税成本合价
*/
private String taxExclusiveTotal;
/**
* 成本税金合价
*/
private String cbTaxesTotal;
/**
* 含税成本合价
*/
private String taxInclusiveTotal;
/**
* 成本占比
*/
private String cbProportion;
/**
* 含税成本平米指标
*/
private String taxInclusivePmTarget;
/**
* 备注
*/
private String remark;
/**
* 创建时间
*/
private Date createTime;
}
package com.dsk.cscec.domain;
import lombok.Data;
import java.io.Serializable;
/**
* 成本汇总-项目汇总-每月费用(CbProjectSummaryActual)实体类
*
* @author
* @since 2024-02-05
*/
@Data
public class CbProjectSummaryActual implements Serializable {
private static final long serialVersionUID = -59313083994798297L;
/**
* 主键id
*/
private Integer id;
/**
* 项目汇总id
*/
private Integer cbProjectSummaryId;
/**
* 本月费用(含税)
*/
private Double taxInclusiveExpense;
/**
* 本月费用(不含税)
*/
private Double taxExclusiveExpense;
/**
* 费用日期
*/
private String expenseDate;
/**
* 是否锁定
*/
private Integer lockStatus;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbAccountSummaryActual;
/**
* 成本汇总-成本科目汇总-每月费用(CbAccountSummaryActual)表数据库访问层
*
* @author
* @since 2024-02-05
*/
public interface CbAccountSummaryActualMapper extends BaseMapper<CbAccountSummaryActual> {
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbAccountSummary;
/**
* 成本汇总-成本科目汇总(CbAccountSummary)表数据库访问层
*
* @author
* @since 2024-02-05
*/
public interface CbAccountSummaryMapper extends BaseMapper<CbAccountSummary> {
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbProjectSummaryActual;
/**
* 成本汇总-项目汇总-每月费用(CbProjectSummaryActual)表数据库访问层
*
* @author
* @since 2024-02-05
*/
public interface CbProjectSummaryActualMapper extends BaseMapper<CbProjectSummaryActual> {
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbProjectSummary;
/**
* 成本汇总-项目汇总(CbProjectSummary)表数据库访问层
*
* @author
* @since 2024-02-05
*/
public interface CbProjectSummaryMapper extends BaseMapper<CbProjectSummary> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbAccountSummaryActual;
/**
* 成本汇总-成本科目汇总-每月费用(CbAccountSummaryActual)表服务接口
*
* @author
* @since 2024-02-05
*/
public interface CbAccountSummaryActualService extends IService<CbAccountSummaryActual> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbAccountSummary;
/**
* 成本汇总-成本科目汇总(CbAccountSummary)表服务接口
*
* @author
* @since 2024-02-05
*/
public interface CbAccountSummaryService extends IService<CbAccountSummary> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbProjectSummaryActual;
/**
* 成本汇总-项目汇总-每月费用(CbProjectSummaryActual)表服务接口
*
* @author
* @since 2024-02-05
*/
public interface CbProjectSummaryActualService extends IService<CbProjectSummaryActual> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbProjectSummary;
/**
* 成本汇总-项目汇总(CbProjectSummary)表服务接口
*
* @author
* @since 2024-02-05
*/
public interface CbProjectSummaryService extends IService<CbProjectSummary> {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbAccountSummaryActual;
import com.dsk.cscec.mapper.CbAccountSummaryActualMapper;
import com.dsk.cscec.service.CbAccountSummaryActualService;
import org.springframework.stereotype.Service;
/**
* 成本汇总-成本科目汇总-每月费用(CbAccountSummaryActual)表服务实现类
*
* @author
* @since 2024-02-05
*/
@Service
public class CbAccountSummaryActualServiceImpl extends ServiceImpl<CbAccountSummaryActualMapper, CbAccountSummaryActual> implements CbAccountSummaryActualService {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbAccountSummary;
import com.dsk.cscec.mapper.CbAccountSummaryMapper;
import com.dsk.cscec.service.CbAccountSummaryService;
import org.springframework.stereotype.Service;
/**
* 成本汇总-成本科目汇总(CbAccountSummary)表服务实现类
*
* @author
* @since 2024-02-05
*/
@Service
public class CbAccountSummaryServiceImpl extends ServiceImpl<CbAccountSummaryMapper, CbAccountSummary> implements CbAccountSummaryService {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbProjectSummaryActual;
import com.dsk.cscec.mapper.CbProjectSummaryActualMapper;
import com.dsk.cscec.service.CbProjectSummaryActualService;
import org.springframework.stereotype.Service;
/**
* 成本汇总-项目汇总-每月费用(CbProjectSummaryActual)表服务实现类
*
* @author
* @since 2024-02-05
*/
@Service
public class CbProjectSummaryActualServiceImpl extends ServiceImpl<CbProjectSummaryActualMapper, CbProjectSummaryActual> implements CbProjectSummaryActualService {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbProjectSummary;
import com.dsk.cscec.mapper.CbProjectSummaryMapper;
import com.dsk.cscec.service.CbProjectSummaryService;
import org.springframework.stereotype.Service;
/**
* 成本汇总-项目汇总(CbProjectSummary)表服务实现类
*
* @author
* @since 2024-02-05
*/
@Service
public class CbProjectSummaryServiceImpl extends ServiceImpl<CbProjectSummaryMapper, CbProjectSummary> implements CbProjectSummaryService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.CbAccountSummaryActualMapper">
<resultMap type="com.dsk.cscec.domain.CbAccountSummaryActual" id="CbAccountSummaryActualMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="cbAccountSummaryId" column="cb_account_summary_id" jdbcType="INTEGER"/>
<result property="taxInclusiveExpense" column="tax_inclusive_expense" jdbcType="NUMERIC"/>
<result property="taxExclusiveExpense" column="tax_exclusive_expense" jdbcType="NUMERIC"/>
<result property="expenseDate" column="expense_date" jdbcType="VARCHAR"/>
<result property="lockStatus" column="lock_status" jdbcType="INTEGER"/>
</resultMap>
<sql id="baseColumn">
id, cb_account_summary_id, tax_inclusive_expense, tax_exclusive_expense, expense_date, lock_status
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.CbAccountSummaryMapper">
<resultMap type="com.dsk.cscec.domain.CbAccountSummary" id="CbAccountSummaryMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="parentId" column="parent_id" jdbcType="INTEGER"/>
<result property="level" column="level" jdbcType="INTEGER"/>
<result property="sort" column="sort" jdbcType="INTEGER"/>
<result property="projectId" column="project_id" jdbcType="INTEGER"/>
<result property="cbStage" column="cb_stage" jdbcType="INTEGER"/>
<result property="number" column="number" jdbcType="VARCHAR"/>
<result property="cbAccount" column="cb_account" jdbcType="VARCHAR"/>
<result property="taxExclusiveTotal" column="tax_exclusive_total" jdbcType="VARCHAR"/>
<result property="cbTaxesTotal" column="cb_taxes_total" jdbcType="VARCHAR"/>
<result property="taxInclusiveTotal" column="tax_inclusive_total" jdbcType="VARCHAR"/>
<result property="cbProportion" column="cb_proportion" jdbcType="VARCHAR"/>
<result property="taxInclusivePmTarget" column="tax_inclusive_pm_target" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="baseColumn">
id, parent_id, level, sort, project_id, cb_stage, number, cb_account, tax_exclusive_total, cb_taxes_total, tax_inclusive_total, cb_proportion, tax_inclusive_pm_target, remark, create_time
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.CbProjectSummaryActualMapper">
<resultMap type="com.dsk.cscec.domain.CbProjectSummaryActual" id="CbProjectSummaryActualMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="cbProjectSummaryId" column="cb_project_summary_id" jdbcType="INTEGER"/>
<result property="taxInclusiveExpense" column="tax_inclusive_expense" jdbcType="NUMERIC"/>
<result property="taxExclusiveExpense" column="tax_exclusive_expense" jdbcType="NUMERIC"/>
<result property="expenseDate" column="expense_date" jdbcType="VARCHAR"/>
<result property="lockStatus" column="lock_status" jdbcType="INTEGER"/>
</resultMap>
<sql id="baseColumn">
id, cb_project_summary_id, tax_inclusive_expense, tax_exclusive_expense, expense_date, lock_status
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.CbProjectSummaryMapper">
<resultMap type="com.dsk.cscec.domain.CbProjectSummary" id="CbProjectSummaryMap">
<result property="id" column="id" jdbcType="INTEGER"/>
<result property="parentId" column="parent_id" jdbcType="INTEGER"/>
<result property="level" column="level" jdbcType="INTEGER"/>
<result property="sort" column="sort" jdbcType="INTEGER"/>
<result property="projectId" column="project_id" jdbcType="INTEGER"/>
<result property="cbStage" column="cb_stage" jdbcType="INTEGER"/>
<result property="number" column="number" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="taxExclusiveTotal" column="tax_exclusive_total" jdbcType="VARCHAR"/>
<result property="cbTaxesTotal" column="cb_taxes_total" jdbcType="VARCHAR"/>
<result property="taxInclusiveTotal" column="tax_inclusive_total" jdbcType="VARCHAR"/>
<result property="cbProportion" column="cb_proportion" jdbcType="VARCHAR"/>
<result property="taxInclusivePmTarget" column="tax_inclusive_pm_target" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="baseColumn">
id, parent_id, level, sort, project_id, cb_stage, number, name, tax_exclusive_total, cb_taxes_total, tax_inclusive_total, cb_proportion, tax_inclusive_pm_target, remark, create_time
</sql>
</mapper>
...@@ -705,6 +705,7 @@ export const constantRoutes = [ ...@@ -705,6 +705,7 @@ export const constantRoutes = [
} }
] ]
}, },
// 子系统 // 子系统
// { // {
// path: '', // path: '',
......
<!-- 表格组件 -->
<template>
<div class="infoTable-container">
<h2 v-if="title !== '' && isSubTitle" class="infoTable-title">
{{ title }}
</h2>
<el-form v-if="Object.keys(obj).length > 0" 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>
<template>
<div class="detail-container">
直接费成本
</div>
</template>
<script>
import InfoTable from '../../../../component/infoTable';
export default {
name: "directCost",
components: {InfoTable},
data() {
return {
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.detail-container {
width: 100%;
box-sizing: border-box;
padding: 0 24px;
background: #ffffff;
}
</style>
<template>
<div class="detail-container">
<div class="detail-cont">
<info-table class="info-tab" :list="defaultList1" :obj="forInfo" :labelWidth="labelWidth" title="项目基本情况" :isSubTitle="true"></info-table>
</div>
<div class="detail-cont">
<info-table class="info-tab" :list="defaultList2" :obj="forInfo" :labelWidth="labelWidth" title="项目特征信息" :isSubTitle="true"></info-table>
</div>
<div class="detail-cont">
<h2 class="infoTable-title">项目投标时的要点</h2>
<el-tabs v-model="currentList">
<el-tab-pane
:key="index"
v-for="(item, index) in toggleTabs"
:label="item.name"
:name="item.value"
>
{{item.content}}
</el-tab-pane>
</el-tabs>
<div class="detail-cont-tab">
<info-table class="info-tab" v-if="currentList === 'yd1'" :list="defaultListYd1" :obj="forInfoYd1" :labelWidth="labelWidth"></info-table>
<info-table class="info-tab" v-if="currentList === 'yd2'" :list="defaultListYd2" :obj="forInfoYd2" :labelWidth="labelWidth"></info-table>
<info-table class="info-tab" v-if="currentList === 'yd3'" :list="defaultListYd3" :obj="forInfoYd3" :labelWidth="labelWidth"></info-table>
<info-table class="info-tab" v-if="currentList === 'yd4'" :list="defaultListYd4" :obj="forInfoYd4" :labelWidth="labelWidth"></info-table>
<info-table class="info-tab" v-if="currentList === 'yd5'" :list="defaultListYd5" :obj="forInfoYd5" :labelWidth="labelWidth"></info-table>
</div>
</div>
<div class="detail-cont">
<info-table class="info-tab" :list="defaultList3" :obj="forInfo" :labelWidth="labelWidth" title="评标办法" :isSubTitle="true"></info-table>
</div>
<div class="detail-cont">
<h2 class="infoTable-title">投标各时间节点</h2>
<el-tabs v-model="currentList1">
<el-tab-pane label="投标各时间节点" name="jd1"></el-tab-pane>
<el-tab-pane label="开(回)标时间及地点" name="jd2"></el-tab-pane>
</el-tabs>
<div class="detail-cont-tab">
<info-table class="info-tab" v-if="currentList1 === 'jd1'" :list="defaultListJd1" :obj="forInfoJd1" :labelWidth="labelWidth"></info-table>
<info-table class="info-tab" v-if="currentList1 === 'jd2'" :list="defaultListJd2" :obj="forInfoJd2" :labelWidth="labelWidth"></info-table>
</div>
</div>
</div>
</template>
<script>
import InfoTable from '../../../../component/infoTable';
export default {
name: "projectInformation",
components: {InfoTable},
data() {
return {
labelWidth: 250,
forInfo: {
name:'宝安中学(集团)初中部改扩建工程施工总承包(二次公告)',
},
defaultList1: [
// { name: '工程名称', prop: 'name', slot: true },
{ name: '工程名称', prop: 'name', style: true },
{ name: '工程所在地', prop: 'creditNo' },
{ name: '工程详细地址', prop: 'operName' },
{ name: '业态', prop: 'status' },
{ name: '工程类型', prop: 'startDate' },
{ name: '计价模式(清单/定额)', prop: 'registCapi' },
{ name: '承包形式(EPC/DB/EP/PC)', prop: 'actualCapi'},
{ name: '合同类型', prop: 'checkDate' },
{ name: '建设单位', prop: 'orgNo' },
{ name: '设计单位', prop: 'regNo' },
{ name: '勘察单位', prop: 'creditNo' },
{ name: '监理单位', prop: 'econKind' },
{ name: '代理公司(或工料测量师)', prop: 'term'},
{ name: '招标形式', prop: 'qualification' },
{ name: '承包方式', prop: 'provinceCode'},
{ name: '资金来源', prop: 'belongOrg' },
{ name: '分包标准费用项价格库', prop: 'colleguesNum'},
{ name: '材料机械标准费用价格库', prop: 'colleguesNum'},
{ name: '专业类别', prop: 'scope'},
{ name: '平台项目名称', prop: 'scope'},
{ name: '核定总人数', prop: 'scope'},
{ name: '折算收入不含税系数(应纳税率)', prop: 'scope'},
{ name: '收入清单增值税率', prop: 'scope'},
],
defaultList2: [
{ name: '地上建筑面积', prop: 'creditNo' },
{ name: '地下建筑面积', prop: 'operName' },
{ name: '坑底面积', prop: 'status' },
{ name: '占地面积', prop: 'startDate' },
{ name: '结构类型', prop: 'registCapi' },
{ name: '基础类型', prop: 'actualCapi'},
{ name: '单体个数', prop: 'checkDate', style: true },
{ name: '地上层数', prop: 'orgNo' },
{ name: '地下层数', prop: 'regNo' },
{ name: '建筑高度', prop: 'creditNo' },
{ name: '地下深度', prop: 'econKind' },
{ name: '首层(m)', prop: 'term'},
{ name: '标准层(m)', prop: 'qualification' },
{ name: '其他说明', prop: 'provinceCode', style: true},
],
currentList: "yd1",
toggleTabs: [
{
value: "yd1",
name: "招标范围",
},
{
value: "yd2",
name: "指定分包/指定供应",
},
{
value: "yd3",
name: "商务标书投标文件组成(详细)",
},
{
value: "yd4",
name: "工期要求(天数,起止时间)",
},
{
value: "yd5",
name: "质量标准及质量要求",
},
],
forInfoYd1:{
time:'2023-10-20'
},
defaultListYd1: [
{ name: '建筑工程', prop: 'time' },
{ name: '装饰工程', prop: 'operName' },
{ name: '机电工程', prop: 'status' },
{ name: '配套工程', prop: 'startDate' },
{ name: '专业工程暂估', prop: 'startDate', style: true },
],
forInfoYd2:{
time:'2023-10-20'
},
defaultListYd2: [
{ name: '指定分包', prop: 'time' },
{ name: '指定供应', prop: 'operName' },
{ name: '报价方式/合同形式', prop: 'startDate', style: true },
],
forInfoYd3:{
time:'2023-10-20'
},
defaultListYd3: [
{ name: '电子标', prop: 'startDate', style: true },
],
forInfoYd4:{
time:'2023-10-20'
},
defaultListYd4: [
{ name: '计划开工日期', prop: 'time' },
{ name: '计划竣工日期', prop: 'operName' },
{ name: '总工期(天)', prop: 'status' },
{ name: '缺陷责任', prop: 'startDate' },
],
forInfoYd5:{
time:'2023-10-20'
},
defaultListYd5: [
{ name: '质量标准', prop: 'time' },
{ name: '质量要求', prop: 'operName' },
{ name: '品牌要求', prop: 'status' },
{ name: '报价中需要注意的其他问题/风险', prop: 'startDate' },
],
defaultList3: [
{ name: '评标程序', prop: 'creditNo' },
{ name: '专家组成', prop: 'operName' },
{ name: '评标原则', prop: 'status' },
{ name: '定标原则', prop: 'startDate' },
{ name: '招标控制价(如有)', prop: 'startDate' },
{ name: '报价上限(如有)', prop: 'startDate' },
],
currentList1: "jd1",
forInfoJd1:{
time:'2023-10-20'
},
defaultListJd1: [
{ name: '标前会议(或者领取投标文件的时间)', prop: 'time' },
{ name: '投标人提出疑问的截止时间', prop: 'operName' },
{ name: '招标人答复疑问的截止时间', prop: 'status' },
{ name: '现场踏勤时间', prop: 'startDate' },
{ name: '招标控制价(如有)', prop: 'startDate' },
{ name: '报价上限(如有)', prop: 'startDate' },
],
forInfoJd2:{
time:'2023-10-20'
},
defaultListJd2: [
{ name: '时间', prop: 'time' },
{ name: '地点', prop: 'operName' },
{ name: '开标时的要求', prop: 'status' },
{ name: '投标有效期', prop: 'startDate' },
],
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.detail-container {
width: 100%;
box-sizing: border-box;
padding: 0 24px;
background: #ffffff;
.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;
}
.detail-cont{
padding:16px 0;
::v-deep .el-tabs {
height: 48px;
line-height: 48px;
.el-tabs__nav-wrap::after {
position: static !important;
}
}
}
.detail-cont-tab{
margin-top: 20px;
}
}
</style>
...@@ -8,6 +8,12 @@ ...@@ -8,6 +8,12 @@
<div class="project-cost-ledger-detail-module"> <div class="project-cost-ledger-detail-module">
<!-- 放入组件 v-if current == ‘xxxx’ 详情变量 this.detailInfo 需要深度监听--> <!-- 放入组件 v-if current == ‘xxxx’ 详情变量 this.detailInfo 需要深度监听-->
<!-- 工程项目信息 -->
<engineering-information v-if="current == 'basicEngineeringInformation'"></engineering-information>
<!-- 直接费成本 -->
<direct-cost v-if="current == 'directCost'"></direct-cost>
<!-- 工料汇总 --> <!-- 工料汇总 -->
<feed-summary v-if="current == 'feedSummary'"></feed-summary> <feed-summary v-if="current == 'feedSummary'"></feed-summary>
...@@ -18,6 +24,10 @@ ...@@ -18,6 +24,10 @@
<script> <script>
import ProjectDetailHeader from "@/views/projectCostLedger/detail/components/ProjectDetailHeader"; import ProjectDetailHeader from "@/views/projectCostLedger/detail/components/ProjectDetailHeader";
import DskTabToggle from "@/components/DskTabToggle"; import DskTabToggle from "@/components/DskTabToggle";
// 工程项目信息
import EngineeringInformation from "@/views/projectCostLedger/detail/components/EngineeringInformation";
// 直接费成本
import DirectCost from "@/views/projectCostLedger/detail/components/DirectCost";
// 工料汇总 // 工料汇总
import FeedSummary from "@/views/projectCostLedger/detail/components/FeedSummary"; import FeedSummary from "@/views/projectCostLedger/detail/components/FeedSummary";
import { v4 } from "uuid"; import { v4 } from "uuid";
...@@ -26,7 +36,9 @@ export default { ...@@ -26,7 +36,9 @@ export default {
components: { components: {
ProjectDetailHeader, ProjectDetailHeader,
DskTabToggle, DskTabToggle,
FeedSummary FeedSummary,
EngineeringInformation,
DirectCost
}, },
data() { data() {
return { return {
......
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