Commit e64b04db authored by danfuman's avatar danfuman

修改

parent 8c2c519c
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
<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">
<template slot="宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程-1"> <template :slot="`${menuDetails.menuName}-${menuDetails.menuLevel}`">
<img src="@/assets/images/projectCostLedger/icon_cost_detail_1.svg" alt=""> <img src="@/assets/images/projectCostLedger/icon_cost_detail_1.svg" alt="">
<div class="project-sub-menu-title-text">宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程</div> <div class="project-sub-menu-title-text">{{menuDetails.menuName}}</div>
</template> </template>
</project-side-menu> </project-side-menu>
</div> </div>
...@@ -26,35 +26,36 @@ ...@@ -26,35 +26,36 @@
row-key="id" row-key="id"
v-horizontal-scroll="'hover'" v-horizontal-scroll="'hover'"
default-expand-all default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'childrenList', hasChildren: 'hasChildren'}"
border border
highlight-current-row highlight-current-row
> >
<el-table-column label="序号" width="60" align="left" prop="index"></el-table-column> <el-table-column label="序号" width="60" align="left" prop="index"></el-table-column>
<el-table-column label="编码" width="130" prop="bm"></el-table-column> <el-table-column label="编码" width="130" prop="code"></el-table-column>
<el-table-column label="名称" width="230" prop="mc"></el-table-column> <el-table-column label="名称" width="230" prop="expenseName"></el-table-column>
<el-table-column label="清单" width="130" prop="qd"></el-table-column> <el-table-column label="清单" width="110" prop="expenseCategoryTag"></el-table-column>
<el-table-column label="项目特征" width="340" prop="xmtz"></el-table-column> <el-table-column label="项目特征" width="340" prop="projectFeature"></el-table-column>
<el-table-column label="单位" width="130" prop="qd"></el-table-column> <el-table-column label="单位" width="110" prop="unit"></el-table-column>
<el-table-column label="计划成本" align="center"> <el-table-column label="计划成本" align="center">
<el-table-column prop="name" label="工程表达式" width="94"></el-table-column> <el-table-column prop="engineeringVolumeExpression" label="工程表达式" width="120"></el-table-column>
<el-table-column prop="name" label="工程量" width="66"></el-table-column> <el-table-column prop="engineeringVolume" label="工程量" width="120"></el-table-column>
<el-table-column prop="name" label="成本科目" width="80"></el-table-column> <el-table-column prop="cbSubject" label="成本科目" width="130"></el-table-column>
<el-table-column prop="name" label="招标控制单价" width="108"></el-table-column> <el-table-column prop="tenderControlUnitPrice" label="招标控制单价" width="120"></el-table-column>
<el-table-column prop="name" label="招标控制合价" width="108"></el-table-column> <el-table-column prop="tenderControlSumPrice" label="招标控制合价" width="120"></el-table-column>
<el-table-column prop="name" label="不含税成本单价" width="122"></el-table-column> <el-table-column prop="excludeTaxCbUnitPrice" label="不含税成本单价" width="122"></el-table-column>
<el-table-column prop="name" label="不含税成本合计" width="122"></el-table-column> <el-table-column prop="excludeTaxCbSumPrice" label="不含税成本合计" width="122"></el-table-column>
<el-table-column prop="name" label="成本税金合计" width="108"></el-table-column> <el-table-column prop="cbTaxSum" label="成本税金合计" width="120"></el-table-column>
<el-table-column prop="name" label="含税成本单价" width="108"></el-table-column> <el-table-column prop="includeTaxCbUnitPrice" label="含税成本单价" width="120"></el-table-column>
<el-table-column prop="name" label="含税成本合价" width="108"></el-table-column> <el-table-column prop="includeTaxCbSumPrice" label="含税成本合价" width="120"></el-table-column>
<el-table-column prop="name" label="合价偏差" width="80"></el-table-column> <el-table-column prop="sumPriceDeviation" label="合价偏差" width="120"></el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="盈亏率" width="66" prop="qd"></el-table-column> <el-table-column label="盈亏率" width="100" prop="profitLossRatio"></el-table-column>
<el-table-column label="标准费用项" width="94" prop="qd"></el-table-column> <el-table-column label="标准费用项" width="100" prop="standardCbItem"></el-table-column>
<el-table-column label="备注" width="114" prop="qd"></el-table-column> <el-table-column label="备注" width="120" prop="remark"></el-table-column>
<el-table-column label="操作" width="114" fixed="right"> <el-table-column label="操作" min-width="120" fixed="right">
<template slot-scope="scope" v-if="scope.row.qd ==='清'"> <template slot-scope="scope">
<span style="color:#0081FF;font-size: 14px;cursor: pointer;" @click="dialogVisible=true">增加费用项</span> <span v-if="scope.row.expenseCategoryTag ==='清'" style="color:#0081FF;font-size: 14px;cursor: pointer;" @click="handleDialogVisible(scope.row)">增加费用项</span>
<span v-if="scope.row.isImport === false" style="color:#FF3C3C;font-size: 14px;cursor: pointer;" @click="handleDelete(scope.row)">删除</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -63,25 +64,31 @@ ...@@ -63,25 +64,31 @@
</div> </div>
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogVisible" width="480px" append-to-body class="dialogVisible" title="增加费用项"> <el-dialog :visible.sync="dialogVisible" width="500px" append-to-body class="dialogVisible" title="增加费用项">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="addForm" label-width="107px"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="addForm" label-width="127px">
<el-form-item label="编码" prop="str"> <el-form-item label="编码" prop="code">
<el-input v-model="ruleForm.str" placeholder="请输入编码"></el-input> <el-input v-model="ruleForm.code" placeholder="请输入编码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目名称" prop="mxmc"> <el-form-item label="项目名称" prop="expenseName">
<el-input v-model="ruleForm.mxmc" placeholder="请输入项目名称"></el-input> <el-input v-model="ruleForm.expenseName" placeholder="请输入项目名称"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="计算规则" prop="jsgz"> <!--<el-form-item label="计算规则" prop="jsgz">-->
<el-input v-model="ruleForm.jsgz" placeholder="请输入计算规则"></el-input> <!--<el-input v-model="ruleForm.jsgz" placeholder="请输入计算规则"></el-input>-->
<!--</el-form-item>-->
<el-form-item label="单位" prop="unit">
<el-input v-model="ruleForm.unit" placeholder="请输入单位"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="单位" prop="dw"> <el-form-item label="招标控制价单价" prop="tenderControlUnitPrice">
<el-input v-model="ruleForm.dw" placeholder="请输入单位"></el-input> <el-input v-model="ruleForm.tenderControlUnitPrice" placeholder="请输入招标控制价单价"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="单价" prop="dj"> <el-form-item label="不含税成本单价" prop="excludeTaxCbUnitPrice">
<el-input v-model="ruleForm.dj" placeholder="请输入单价"></el-input> <el-input v-model="ruleForm.excludeTaxCbUnitPrice" placeholder="请输入不含税成本单价"></el-input>
</el-form-item>
<el-form-item label="含税成本单价" prop="includeTaxCbUnitPrice">
<el-input v-model="ruleForm.includeTaxCbUnitPrice" placeholder="请输入含税成本单价"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="特征描述"> <el-form-item label="特征描述">
<el-input type="textarea" v-model="ruleForm.str" placeholder="请输入特征描述"></el-input> <el-input type="textarea" v-model="ruleForm.projectFeature" placeholder="请输入特征描述"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -93,7 +100,7 @@ ...@@ -93,7 +100,7 @@
</template> </template>
<script> <script>
import ProjectSideMenu from "@/views/projectCostLedger/detail/components/ProjectSideMenu"; import ProjectSideMenu from "@/views/projectCostLedger/detail/components/ProjectSideMenu";
import { getCbDirectExpenseMenuTreeApi } from "@/api/projectCostLedger"; import { getCbDirectExpenseMenuTreeApi,getCbDirectExpenseList,cbDirectExpenseAdd,cbDirectExpenseDelete } from "@/api/projectCostLedger";
export default { export default {
name: "directCost", name: "directCost",
props: { props: {
...@@ -127,58 +134,7 @@ export default { ...@@ -127,58 +134,7 @@ export default {
dictLabel:'2024年1月', dictLabel:'2024年1月',
} }
], ],
tableData:[ tableData:[],
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下)1',
qd:'清',
id:1,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求',
children:[
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下2)',
qd:'专',
id:111,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求',
},
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下2)',
qd:'专',
id:122,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求',
},
]
},
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下)1',
qd:'清',
id:2,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求',
children:[
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下2)',
qd:'专',
id:11,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求'
},
{
bm:'010101002001',
mc:'挖一般土石方(开挖方式支撑下2)',
qd:'专',
id:21,
xmtz:'(1)不区分土石类别(含淤泥等),投标人综合考虑(2)开挖方式:综合考虑(3)挖土深度:综合考虑(4)开挖土石比例,投标人应结合地勘报告和岩面等高线综合考虑,施工中出现的实际土石比例变化,结算时不得调整(5)含装车等费用(6)具体详见招标文件、图纸及相关规范要求'
},
]
},
],
queryParams:{ queryParams:{
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
...@@ -187,61 +143,23 @@ export default { ...@@ -187,61 +143,23 @@ export default {
}, },
rules: { rules: {
str: { required: true, message: '编码不能为空', trigger: 'blur' }, // 限制必填 code: { required: true, message: '编码不能为空', trigger: 'blur' }, // 限制必填
mxmc:{ required: true, message: '项目名称不能为空', trigger: 'blur' }, // 限制必填 expenseName:{ required: true, message: '项目名称不能为空', trigger: 'blur' }, // 限制必填
jsgz:{ required: true, message: '计算规则不能为空', trigger: 'blur' }, // 限制必填 // jsgz:{ required: true, message: '计算规则不能为空', trigger: 'blur' }, // 限制必填
dw:{ required: true, message: '单位不能为空', trigger: 'blur' }, // 限制必填 unit:{ required: true, message: '单位不能为空', trigger: 'blur' }, // 限制必填
dj:{ required: true, message: '单价不能为空', trigger: 'blur' }, // 限制必填 tenderControlUnitPrice:{ required: true, message: '招标控制价单价', trigger: 'blur' }, // 限制必填
excludeTaxCbUnitPrice:{ required: true, message: '不含税成本单价', trigger: 'blur' }, // 限制必填
includeTaxCbUnitPrice:{ required: true, message: '含税成本单价', trigger: 'blur' }, // 限制必填
// projectFeature:{ required: true, message: '特征描述', trigger: 'blur' }, // 限制必填
}, },
dialogVisible:false, dialogVisible:false,
defaultActive: "", defaultActive: "",
menuTreeList: [ menuTreeList: [],
{ menuDetails:{},
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程",
id: "1",
children: [
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程",
id: "1-1",
children: [
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程劳务",
id: "1-1-1",
},
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程劳务",
id: "1-2-1",
},
{
nodeName: "拆除、修缮、清理、改造劳...",
id: "1-3-1",
children: [
{
nodeName: "拆除、修缮、清理、改造劳...",
id: "1-3-1",
}
]
}
]
},
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程",
id: "2-1",
},
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程",
id: "3-1",
},
{
nodeName: "宝安中学(集团)初中部改扩建工程施工总承包-加固修缮工程",
id: "4-1",
},
]
},
],
menuOptions: { menuOptions: {
nodeName: "nodeName", nodeName: "menuName",
nodeValue: "nodeName", nodeValue: "menuId",
children : "childrenList"
}, },
}; };
}, },
...@@ -250,6 +168,7 @@ export default { ...@@ -250,6 +168,7 @@ export default {
handler(newValue) { handler(newValue) {
this.comProjectDetailInfo = newValue ? newValue : {}; this.comProjectDetailInfo = newValue ? newValue : {};
this.getCbDirectExpenseMenuTreeApi('1760222923030876161') this.getCbDirectExpenseMenuTreeApi('1760222923030876161')
this.getCbDirectExpenseList('1763446872284012544')
// this.getProjectOtherStatistics(this.comProjectDetailInfo.projectId) // this.getProjectOtherStatistics(this.comProjectDetailInfo.projectId)
// this.getProjectOtherStatistics('1762014527685136385') // this.getProjectOtherStatistics('1762014527685136385')
// this.init(this.comProjectDetailInfo); // this.init(this.comProjectDetailInfo);
...@@ -266,21 +185,7 @@ export default { ...@@ -266,21 +185,7 @@ export default {
}, },
//可访问data属性 //可访问data属性
created() { created() {
this.tableData.forEach((item,index)=>{
item.index=index+1
})
console.log(this.tableData)
const newData = [...this.tableData]; // 创建一个新的数组,避免修改原始数据
const totalRow = { bm: "增加费用项" }; // 合计行的数据
// 计算合计值
this.tableData.forEach(item => {
totalRow.column2 += item.column2;
totalRow.column3 += item.column3;
});
// 将合计行插入到正确的位置
newData.splice(1, 0, totalRow); // 假设将合计行插入到第二行的位置
// this.tableData=newData
}, },
mounted() { mounted() {
...@@ -296,24 +201,61 @@ export default { ...@@ -296,24 +201,61 @@ export default {
const result = await getCbDirectExpenseMenuTreeApi(params); const result = await getCbDirectExpenseMenuTreeApi(params);
if (result.code == 200) { if (result.code == 200) {
const _tempArray = result.data; const _tempArray = result.data;
this.menuDetails=_tempArray
this.menuTreeList.push(_tempArray);
}
} catch (error) {
console.log(_tempArray) }
// _tempArray.unshift({id:"11",itemContent:"费用汇总"}); },
// this.menuTreeList[0].children = _tempArray; async getCbDirectExpenseList(params) {
try {
const result = await getCbDirectExpenseList(params);
if (result.code == 200) {
const _dataArray = result.data;
this.tableDataTotal=_dataArray.length;
this.tableData = _dataArray;
this.tableData.forEach((item,index)=>{
item.index=index+1
})
} }
} catch (error) { } catch (error) {
} }
}, },
tableRowClassName({row, rowIndex}) { tableRowClassName({row, rowIndex}) {
if (row.qd === '清') { if (row.expenseCategoryTag === '清') {
return 'color1'; return 'color1';
} else{ } else{
return 'color2'; return 'color2';
} }
return ''; return '';
}, },
handleDialogVisible(row){
this.dialogVisible=true
},
handleDelete(row){
this.$confirm('是否删除费用项?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
cbDirectExpenseDelete(row.id).then(res=>{
if(res.code == 200){
this.$message({
type: 'success',
message: '删除成功!'
});
this.getCbDirectExpenseList()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
}, },
} }
</script> </script>
...@@ -390,6 +332,24 @@ export default { ...@@ -390,6 +332,24 @@ export default {
.el-input{ .el-input{
width: 320px !important; width: 320px !important;
} }
.el-textarea{
width: 320px !important;
}
.el-textarea__inner {
font-family: Arial, Helvetica, sans-serif !important;
}
input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
color: #C0C4CC;
}
input::-moz-placeholder { /* Firefox 19+ */
color: #C0C4CC;
}
input:-ms-input-placeholder { /* IE 10+ */
color: #C0C4CC;
}
input:-moz-placeholder { /* Firefox 18- */
color: #C0C4CC;
}
} }
.el-dialog__footer{ .el-dialog__footer{
padding: 16px 20px; padding: 16px 20px;
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
import SearchResult from '../components/SearchResult' import SearchResult from '../components/SearchResult'
export default { export default {
name: 'SearchAptitude', name: 'historySearch',
components: { components: {
SearchResult SearchResult
}, },
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<!--<el-tab-pane label="历史批量查询结果" name="third"></el-tab-pane>--> <!--<el-tab-pane label="历史批量查询结果" name="third"></el-tab-pane>-->
<!--</el-tabs>--> <!--</el-tabs>-->
<!--</div>--> <!--</div>-->
<SearchAptitude @changeActiveName="activeName = 'third'" v-if="activeName === 'first'"></SearchAptitude> <SearchAptitude></SearchAptitude>
<!--<AptitudeStandard v-if="activeName === 'second'"></AptitudeStandard>--> <!--<AptitudeStandard v-if="activeName === 'second'"></AptitudeStandard>-->
<!--<SearchResult v-if="activeName === 'third'"></SearchResult>--> <!--<SearchResult v-if="activeName === 'third'"></SearchResult>-->
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
import SearchAptitude from '../components/SearchAptitude' import SearchAptitude from '../components/SearchAptitude'
export default { export default {
name: 'SearchAptitude', name: 'zizhi',
components: { components: {
SearchAptitude SearchAptitude
}, },
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
import AptitudeStandard from '../components/AptitudeStandard' import AptitudeStandard from '../components/AptitudeStandard'
export default { export default {
name: 'AptitudeStandard', name: 'zzStandard',
components: { components: {
AptitudeStandard AptitudeStandard
}, },
......
...@@ -815,13 +815,13 @@ export default { ...@@ -815,13 +815,13 @@ export default {
::v-deep .el-table__header-wrapper { ::v-deep .el-table__header-wrapper {
position: sticky; position: sticky;
top: 56px; top: -16px;
z-index: 9; z-index: 9;
} }
::v-deep .el-table__fixed-header-wrapper { ::v-deep .el-table__fixed-header-wrapper {
position: sticky; position: sticky;
z-index: 9; z-index: 9;
top: 56px; top: -16px;
} }
::v-deep .el-table__fixed { ::v-deep .el-table__fixed {
overflow-x: clip; overflow-x: clip;
......
<template> <template>
<div class="search_result_box"> <div class="search_result_box">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'" <el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}" v-horizontal-scroll="'hover'"
class="table-item1 fixed-table" border highlight-current-row> class="table-item1" border highlight-current-row>
<el-table-column :resizable="false" type="index" label="序号" fixed width="60"> <el-table-column :resizable="false" type="index" label="序号" fixed width="60">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span> <span>{{(pageNum - 1) *pageSize + scope.$index + 1}}</span>
......
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