结算功能优化

This commit is contained in:
BianLzhaoMin 2024-08-02 14:01:59 +08:00
parent 40c37af130
commit 40e2dc42a1
5 changed files with 760 additions and 494 deletions

View File

@ -160,7 +160,7 @@ export default {
type: [Number, String],
default: () => 0,
},
// 1.01 2.03 3. 4. 5. 6.
// 1 01 2 03 3 4 5 6
listType: {
type: Number,
default: () => 0,
@ -291,7 +291,7 @@ export default {
min-height: 48px;
border: 1px solid #7e7e7e;
background: linear-gradient(to right, #b4b3b3, #edebeb);
align-items: center;
align-items: center !important;
justify-content: space-around;
.cost-bear {

View File

@ -11,12 +11,9 @@
<el-form inline :model="monthRecordParams" ref="monthRecordFormRef">
<el-form-item label="结算月份" prop="dateMonth">
<el-date-picker
v-model="monthRecordParams.dateMonth"
type="monthrange"
placeholder="请选择导出月份"
range-separator="至"
start-placeholder="开始月份"
end-placeholder="结束月份"
v-model="dateMonth"
type="month"
placeholder="请选择月份"
value-format="yyyy-MM"
/>
</el-form-item>
@ -61,23 +58,23 @@
>
<el-table-column type="selection" align="center" />
<el-table-column
prop="unit_name"
prop="unitName"
align="center"
label="单位名称"
/>
<el-table-column
prop="prod_name"
prop="projectName"
align="center"
label="工程名称"
/>
<el-table-column prop="month" align="center" label="结算月份" />
<el-table-column
prop="month"
prop="costBearingParty"
align="center"
label="费用承担方"
/>
<el-table-column prop="month" align="center" label="结算金额" />
<el-table-column prop="month" align="center" label="操作">
<el-table-column prop="costs" align="center" label="结算金额" />
<el-table-column align="center" label="操作">
<template slot-scope="{ row }">
<el-button type="text" @click="previewDetails(row)"
>明细</el-button
@ -105,31 +102,84 @@
:before-close="handleCloseMInnerDialog"
>
<el-row :gutter="20" class="title-row">
<el-col :span="12"> 领用单位 </el-col>
<el-col :span="12" class="pl-col"> 月结月份 </el-col>
<el-col :span="12">
领用单位{{ monthDetailsInfo.unitName || '' }}
</el-col>
<el-col :span="12" class="pl-col">
月结月份
{{ monthDetailsInfo.month || '' }}</el-col
>
</el-row>
<el-row :gutter="20" class="title-row">
<el-col :span="12"> 工程名称 </el-col>
<el-col :span="12">
工程名称{{ monthDetailsInfo.projectName || '' }}
</el-col>
<el-col :span="12" class="pl-col" style="color: red">
费用承担方 01( 项目 ) / 03 ( 分包 )
费用承担方{{
monthDetailsInfo.costBearingParty || ''
}}
{{
monthDetailsInfo.costBearingParty == '01'
? '(项目)'
: '(分包)'
}}
</el-col>
</el-row>
<el-table border>
<el-table-column label="序号" align="center" />
<el-table-column label="设备名称" align="center" />
<el-table-column label="规格型号" align="center" />
<el-table-column label="单位" align="center" />
<el-table-column label="数量" align="center" />
<el-table border :data="monthDetails" max-height="600">
<el-table-column
label="序号"
align="center"
type="index"
width="55"
/>
<el-table-column
prop="typeName"
label="设备名称"
align="center"
/>
<el-table-column
prop="modelName"
label="规格型号"
align="center"
/>
<el-table-column
prop="nuitName"
label="单位"
align="center"
/>
<el-table-column prop="num" label="数量" align="center" />
<el-table-column
prop="leasePrice"
label="台班费单价 (元/天)"
align="center"
/>
<el-table-column label="开始日期" align="center" />
<el-table-column label="结算日期" align="center" />
<el-table-column label="结算天数" align="center" />
<el-table-column label="结算金额" align="center" />
<el-table-column label="本月暂记金额(元)" align="center" />
<el-table-column
prop="startTime"
label="开始日期"
align="center"
/>
<el-table-column
prop="endTime"
label="结算日期"
align="center"
/>
<el-table-column
prop="leaseDays"
label="结算天数"
align="center"
/>
<el-table-column
prop="costs"
label="结算金额"
align="center"
/>
<el-table-column
prop="realCosts"
label="本月暂记金额(元)"
align="center"
/>
</el-table>
</el-dialog>
</el-dialog>
@ -144,11 +194,9 @@ export default {
type: Boolean,
default: () => false,
},
getRecordParams: {
type: Array,
default: () => {
return []
},
agreementId: {
type: [String, Number],
default: () => '',
},
},
data() {
@ -161,26 +209,27 @@ export default {
],
//
monthRecordParams: {
dateMonth: '',
startTime: '',
endTime: '',
costBear: '',
agreementId: '',
pageNum: 1,
pageSize: 10,
},
//
monthRecordList: [
{
unit_name: 'xxxxx',
prod_name: 'xxxxx',
month: 'xxx',
month: 'xxx',
},
],
monthRecordList: [],
//
selectList: [],
//
innerVisible: false,
//
monthRecordTotal: 1,
//
dateMonth: '',
//
monthDetailsInfo: {},
//
monthDetails: [],
}
},
created() {
@ -190,8 +239,12 @@ export default {
/** 获取月结记录列表数据 */
async getMonthRecordList() {
// console.log('99999')
this.monthRecordParams.startTime = this.dateMonth[0] || ''
this.monthRecordParams.endTime = this.dateMonth[1] || ''
this.monthRecordParams.agreementId = this.agreementId
// Api
const res = await getMonthRecordApi(this.getRecordParams)
const res = await getMonthRecordApi([this.monthRecordParams])
this.monthRecordList = res.data
console.log(res, '月结记录---')
},
/** 查询 */
@ -201,6 +254,7 @@ export default {
/** 重置 */
resetQuery() {
this.resetForm('monthRecordFormRef')
this.dateMonth = []
this.getMonthRecordList()
},
/** 批量明细导出 */
@ -227,7 +281,16 @@ export default {
this.innerVisible = false
},
/** 明细按钮 */
previewDetails() {
previewDetails(row) {
const { unitName, month, projectName, costBearingParty } = row
this.monthDetailsInfo = {
unitName,
month,
projectName,
costBearingParty,
}
console.log(row, '明细')
this.monthDetails = row.node
this.innerVisible = true
},
},

View File

@ -182,7 +182,7 @@
<MonthRecord
v-if="monthRecordDialogVisible"
:monthRecordDialogVisible="monthRecordDialogVisible"
:getRecordParams="getRecordParams"
:agreementId="agreementId"
@handleCloseMonthRecordDialog="handleCloseMonthRecordDialog"
/>
</template>
@ -262,7 +262,7 @@ export default {
//
pageContent: '',
//
getRecordParams: [],
agreementId: '',
}
},
created() {
@ -356,8 +356,7 @@ export default {
},
/** 月结记录 */
handleMonthRecord(row) {
this.getRecordParams.push({ agreementId: row.agreementId })
console.log(this.getRecordParams, '月结记录')
this.agreementId = row.agreementId
this.monthRecordDialogVisible = true
},
/** 完工结算 结算明细*/

View File

@ -98,6 +98,7 @@
></el-input>
</el-form-item>
<el-form-item
v-if="domain.partType == 1"
:prop="'premiumList.' + index + '.partCost'"
label="配件费用:"
:rules="{
@ -229,6 +230,7 @@
/>
</el-form-item>
<el-form-item
v-if="domain.partType == 1"
:prop="'premiumListTwo.' + index + '.partType'"
label="是否收费:"
required
@ -444,7 +446,7 @@ export default {
// } else {
// callback(new Error('0'))
// }
if (this.isRequired && (value === '' || !reg.test(value))) {
callback(new Error('请输入大于0的正整数'))
} else {
@ -556,6 +558,12 @@ export default {
'this.dynamicValidateForm.premiumList1111)',
this.dynamicValidateForm.premiumList,
)
this.dynamicValidateForm.premiumList.forEach((e) => {
if (e.partType == 0) {
e.partCost = ''
}
})
let params = {
taskId: this.rowObj.taskId,
maId: this.rowObj.maId,
@ -591,6 +599,11 @@ export default {
submitTwo() {
this.$refs['dynamicValidateFormTwo'].validate((valid) => {
if (valid) {
this.dynamicValidateFormTwo.premiumListTwo.forEach((e) => {
if (e.partType == 0) {
e.partCost = ''
}
})
//
let params = {
taskId: this.rowObj.taskId,

File diff suppressed because it is too large Load Diff