Commit c8c0cac4 authored by danfuman's avatar danfuman

修改

parent 547fe1e7
......@@ -274,6 +274,13 @@ export const pushFeedSummaryRowsApi = (data) => request({
data
});
//修改工程用量
export const editEngineeringQuantityApi = (data) => request({
url: "/cb/quantity/summary/editEngineeringQuantity",
method: "POST",
data
});
//工程项目信息
......
......@@ -5,7 +5,7 @@
<div class="custom-table-item">
<el-table v-if="tableDataTotal>0" class="custom-table" v-loading="comTableLoading" :data="tableData" element-loading-text="加载中"
ref="customTableRef" border fit highlight-current-row :default-sort="defaultSort?defaultSort:{}" @sort-change="sortChange"
@selection-change="selectionChange" @expand-change="expandChange" :cell-class-name="cellClassName" :cell-style="cellStyle"
@selection-change="selectionChange" @expand-change="expandChange" :cell-class-name="cellClassName" :cell-style="cellStyle" :header-cell-class-name="headerCellClassName"
:row-class-name="rowClassName" :row-style="rowStyle" :row-key="rowKey" :lazy="lazy" :load="loadFn" :tree-props="treeOptions"
:default-expand-all="defaultExpandAll" :indent="indent" :height="height" :maxHeight="comMaxHeight" v-sticky-header="stickyHeader">
......@@ -56,6 +56,10 @@ export default {
type: Function,
default: () => { }
},
headerCellClassName: {
type: Function,
default: () => { }
},
cellStyle: {
type: Function,
default: () => { }
......
<template>
<el-dialog title="修改工程量" :visible="comPushProjectUseDialog" width="480px" class="push-project-use-dialog"
@close="dialogClose" @open="dialogOpen" :close-on-click-modal="false" :destroy-on-close="true">
<div class="dialog-body-content">
<el-form :model="pushForm" ref="pushForm" :rules="rules" class="push-form">
<el-form-item label="分包项目名称">
<el-input :value="pushForm.projectName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="成本科目">
<el-input :value="pushForm.cbSubjectName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="名称">
<el-input :value="pushForm.cbName" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="编码">
<el-input :value="pushForm.companyNo" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="IPM本月工程量" prop="ipmProjectCode">
<el-input v-model="pushForm.quantities" :disabled="true"></el-input>
</el-form-item>
<!-- 修改后工程量-->
<el-form-item label="修改后工程量" prop="pushQuantities">
<el-input v-model="pushForm.pushQuantities" placeholder="请填写需要展示的工程量"></el-input>
</el-form-item>
</el-form>
</div>
<!-- 底部按钮 -->
<div class="dialog-footer-content">
<div class="footer-btn cancel-submit" @click="cancelSubmit">取消</div>
<div class="footer-btn ok-submit" @click="pushResult">确定修改</div>
</div>
</el-dialog>
</template>
<script>
import { subtract, targetIsNegative, add } from "@/utils/decimal";
import { cloneDeep } from 'lodash-es';
export default {
name: "pushProjectUseDialog",
model: {
prop: "pushProjectUseDialog",
event: "close"
},
props: {
pushProjectUseDialog: {
type: Boolean,
default: false
},
isEntityMaterials: {
type: Boolean,
default: false
},
rowData: {
type: Object,
default: () => ({})
}
},
watch: {
pushProjectUseDialog: {
handler(newValue, oldValue) {
this.comPushProjectUseDialog = newValue;
}
},
rowData: {
handler(newValue, oldValue) {
const _temp = newValue ? newValue : {};
this.pushForm = cloneDeep({ ...this.pushForm, ..._temp });
}
}
},
data() {
return {
comPushProjectUseDialog: this.pushProjectUseDialog,
pushForm: {
id: "",
pushQuantities: "",
cbSubjectName: "",
cbName: "",
companyNo: "",
quantities: "",
projectName: "",
},
rules: {
pushQuantities: [
{ required: true, trigger: ["blur", "change"], message: "请填写需要展示的工程量", whitespace: true }
]
}
};
},
//可访问data属性
created() {
},
//计算集
computed: {
},
//方法集
methods: {
// 验证需推送工程量
pushQuantitiesValidator(maxValue) {
return [{
trigger: ['blur', 'change'], validator: (rule, value, callback) => {
const reg = /^(?!0\d)(?!0+$)(?!0*\.0*$)\d+(\.\d+)?$/;
if (!reg.test(value)) return callback(new Error("请输入正确的工程量"));
const _maxValue = maxValue ? maxValue : 0;
if (targetIsNegative(subtract(_maxValue, value))) return callback(new Error("注:推送工程量不得大于实际产生的总工程量"));
callback();
}
}];
},
clearValidate() {
const form = this.$refs["pushForm"];
if (form) form.clearValidate();
},
dialogClose() {
this.$emit("dialogClose");
this.pushForm = this.$options.data.call(this).pushForm;
this.clearValidate();
this.$emit("close", false);
},
dialogOpen() {
},
cancelSubmit() {
this.comPushProjectUseDialog = false;
},
//推送工程量
pushResult() {
this.$refs["pushForm"].validate(flag => {
if (flag) {
const { id, pushQuantities } = cloneDeep(this.pushForm);
this.$emit("submitEditData", {
id,
pushQuantities,
});
}
});
}
},
}
</script>
<style lang="scss" scoped>
.push-project-use-dialog {
::v-deep .el-dialog {
margin-top: 0px !important;
margin: 0px;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
.el-dialog__header {
height: 56px;
padding: 0px 20px;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #eeeeee;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
.el-dialog__title {
color: #232323;
font-size: 16px;
font-weight: bold;
}
.el-dialog__headerbtn {
position: static;
width: 16px;
height: 16px;
}
}
.el-dialog__body {
padding: 0px;
.dialog-body-content {
padding: 24px 20px;
box-sizing: border-box;
.push-form {
.el-form-item {
&.is-error {
margin-bottom: 33px;
}
margin-bottom: 16px;
display: flex;
align-items: center;
.el-form-item__label {
width: 98px;
min-width: 98px;
line-height: 20px;
color: rgba(35, 35, 35, 0.8);
font-weight: 350;
font-size: 14px;
text-align: right;
padding-right: 0px;
margin-right: 16px;
white-space: nowrap;
}
.el-form-item__content {
width: 100%;
line-height: 32px;
.el-input {
&.is-disabled {
.el-input__inner {
background: #fff;
color: rgba(35, 35, 35, 0.8);
}
}
}
.el-input__inner {
line-height: 32px;
height: 32px;
border-radius: 2px;
padding: 0px 7px;
::placeholder {
color: #c0c4cc !important;
}
}
}
}
}
}
.dialog-footer-content {
padding: 16px 20px;
box-sizing: border-box;
border-top: 1px solid #eeeeee;
display: flex;
align-items: center;
justify-content: flex-end;
.footer-btn {
height: 32px;
padding: 0px 16px;
font-size: 14px;
font-weight: 350;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px;
cursor: pointer;
&.cancel-submit {
color: rgba(35, 35, 35, 0.8);
background: #fff;
border: 1px solid #dcdfe6;
margin-right: 12px;
}
&.ok-submit {
color: #fff;
background: #0081ff;
}
}
}
}
}
}
</style>
......@@ -95,7 +95,7 @@
<el-table-column label="本月工程量" width="130" prop="projectVolume">
<template slot-scope="scope">
<template v-if="isinput">
<el-input v-model="scope.row.projectVolume "></el-input>
<el-input @blur="projectValue" v-model="scope.row.projectVolume "></el-input>
</template>
<template v-else>{{scope.row.projectVolume || '--'}}</template>
</template>
......@@ -299,6 +299,17 @@
},
//方法集
methods: {
projectValue(){
console.log(this.tableData,"|||||||")
for(var i=0; i<this.tableData.length; i++){
let value=0
for(var j=0; j<this.tableData[i].children.length; j++){
value+=Number(this.tableData[i].children[j].projectVolume)
}
this.tableData[i].projectVolume=value
console.log(value)
}
},
async getHeight(list){
this.nowheight = new ResizeObserver(entries => {
this.clearResizeTimer();
......@@ -509,6 +520,9 @@
item.month = this.expenseDate
item.monthCostRate = item.monthCostRate?parseInt(item.monthCostRate.replace('%','')):null
})
console.log(tables,"|||||")
saveBatch(JSON.stringify(tables)).then(res=>{
if(res.code == 200){
this.$message.success(res.msg)
......
......@@ -60,7 +60,11 @@ export default {
//计算集
computed: {
checkHasChidren() {
return !!(this.menuItem && this.menuItem?.children?.length);
let state=false
if(this.menuItem?.children){
state=this.menuItem?.children[0].nodeName ? true : false
}
return !!(this.menuItem && this.menuItem?.children?.length && state);
},
},
//方法集
......
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