Commit 5503e54c authored by danfuman's avatar danfuman

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-中建一局二公司

# Conflicts:
#	dsk-operate-ui/src/views/projectCostLedger/detail/index.vue
parents 7317726a aa202e11
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.cscec.service.CbDirectExpenseService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* 直接费成本表(CbDirectExpense)表控制层
*
* @author sxk
* @since 2024-02-05 14:43:31
*/
@RestController
@RequestMapping("cbDirectExpense")
public class CbDirectExpenseController {
/**
* 服务对象
*/
@Resource
private CbDirectExpenseService baseService;
}
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
/**
* 直接费成本表(CbDirectExpense)实体类
*
* @author sxk
* @since 2024-02-05 14:43:33
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class CbDirectExpense extends BaseEntity implements Serializable {
private static final long serialVersionUID = -47221883482254959L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 项目ID
*/
private Long projectId;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
private Integer cbStage;
/**
* 父级ID
*/
private Long parentId;
/**
* 序号
*/
private String number;
/**
* 排序
*/
private Integer sort;
/**
* 编码
*/
private String code;
/**
* 名称
*/
private String expenseName;
/**
* 清单/费用项分类标识
*/
private String expenseCategoryTag;
/**
* 项目特征
*/
private String projectFeature;
/**
* 单位
*/
private String unit;
/**
* 工程量表达式
*/
private String engineeringVolumeExpression;
/**
* 工程量
*/
private String engineeringVolume;
/**
* 成本科目
*/
private String cbSubject;
/**
* 招标控制价单价
*/
private String tenderControlUnitPrice;
/**
* 招标控制价合价
*/
private String tenderControlSumPrice;
/**
* 不含税成本单价
*/
private String excludeTaxCbUnitPrice;
/**
* 不含税成本合价
*/
private String excludeTaxCbSumPrice;
/**
* 成本税金合计
*/
private String cbTaxSum;
/**
* 含税成本单价
*/
private String includeTaxCbUnitPrice;
/**
* 含税成本合价
*/
private String includeTaxCbSumPrice;
/**
* 合价偏差
*/
private String sumPriceDeviation;
/**
* 盈亏率
*/
private String profitLossRatio;
/**
* 标准成本费用
*/
private String standardCbItem;
/**
* 数据源(0:导入、1:手动新增)
*/
private Integer dataOrigin;
/**
* 删除状态(0:否、2:是)
*/
private Integer delFlag;
/**
* 备注
*/
private String failRemark;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.CbDirectExpense;
/**
* 直接费成本表(CbDirectExpense)表数据库访问层
*
* @author sxk
* @since 2024-02-05 14:43:31
*/
public interface CbDirectExpenseMapper extends BaseMapper<CbDirectExpense> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.CbDirectExpense;
/**
* 直接费成本表(CbDirectExpense)表服务接口
*
* @author sxk
* @since 2024-02-05 14:43:34
*/
public interface CbDirectExpenseService extends IService<CbDirectExpense> {
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.CbDirectExpense;
import com.dsk.cscec.mapper.CbDirectExpenseMapper;
import com.dsk.cscec.service.CbDirectExpenseService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 直接费成本表(CbDirectExpense)表服务实现类
*
* @author sxk
* @since 2024-02-05 14:43:34
*/
@Service("cbDirectExpenseService")
public class CbDirectExpenseServiceImpl extends ServiceImpl<CbDirectExpenseMapper, CbDirectExpense> implements CbDirectExpenseService {
@Resource
private CbDirectExpenseMapper baseMapper;
}
<?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.CbDirectExpenseMapper">
</mapper>
<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>
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<!-- 工程项目信息 --> <!-- 工程项目信息 -->
<engineering-information v-if="current == 'basicEngineeringInformation'"></engineering-information> <engineering-information v-if="current == 'basicEngineeringInformation'"></engineering-information>
<!-- 料汇总 --> <!-- 料汇总 -->
<feed-summary v-if="current == 'feedSummary'"></feed-summary> <feed-summary v-if="current == 'feedSummary'"></feed-summary>
</div> </div>
...@@ -23,7 +23,7 @@ import ProjectDetailHeader from "@/views/projectCostLedger/detail/components/Pro ...@@ -23,7 +23,7 @@ import ProjectDetailHeader from "@/views/projectCostLedger/detail/components/Pro
import DskTabToggle from "@/components/DskTabToggle"; import DskTabToggle from "@/components/DskTabToggle";
// 工程项目信息 // 工程项目信息
import EngineeringInformation from "@/views/projectCostLedger/detail/components/EngineeringInformation"; import EngineeringInformation from "@/views/projectCostLedger/detail/components/EngineeringInformation";
// 料汇总 // 料汇总
import FeedSummary from "@/views/projectCostLedger/detail/components/FeedSummary"; import FeedSummary from "@/views/projectCostLedger/detail/components/FeedSummary";
import { v4 } from "uuid"; import { v4 } from "uuid";
export default { export default {
......
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