|
@@ -29,42 +29,53 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="subjectsName" label="科目名称" width="140" fixed="left" />
|
|
|
<el-table-column prop="calculateItemStr" label="核算项目" min-width="150" fixed="left" />
|
|
|
- <el-table-column prop="yearBeginBalance" label="年初余额" width="90" fixed="left" align="right">
|
|
|
- <template #default="{ row, $index }">
|
|
|
- <div style="width: 100%">
|
|
|
- {{moneyFormat(row.yearBeginBalance,2)}}
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="yearBeginBorrowAmount" label="借方余额" width="105" fixed="left" align="right">
|
|
|
- <template #default="{ row, $index }">
|
|
|
- <div style="width: 100%">
|
|
|
- <el-input-number v-model="row['yearBeginBorrowAmount']" :placeholder="'借方余额'" onmousewheel="return false;" :precision="2"
|
|
|
- :controls="false" :min="0" @change="(val)=>handleChangeVal(row,val)" :disabled="getIsDisabled()" style="width:100%">
|
|
|
- </el-input-number>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
+ <el-table-column prop="calculateItemStr" label="期初余额" align="center">
|
|
|
+ <el-table-column prop="yearBeginBorrowAmount" label="借方" width="105" fixed="left" align="right">
|
|
|
+ <template #default="{ row, $index }">
|
|
|
+ <div style="width: 100%">
|
|
|
+ <!-- row['yearBeginBorrowAmount'] -->
|
|
|
+ <el-input-number :model-value="row['yearBeginBorrowAmount']" :placeholder="'借方余额'" onmousewheel="return false;" :precision="2"
|
|
|
+ :controls="false" :min="0" @change="(val,oldVal)=>handleChangeVal(row,val,'',$index,oldVal)"
|
|
|
+ :disabled="getIsDisabled()" style="width:100%;margin:3px 0" v-if="$index < sourceList.data.length - 1">
|
|
|
+ </el-input-number>
|
|
|
+ <div v-else>
|
|
|
+ {{moneyFormat(row.yearBeginBorrowAmount,2)}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="yearBeginBalance" label="余额" width="90" fixed="left" align="right">
|
|
|
+ <template #default="{ row, $index }">
|
|
|
+ <div style="width: 100%">
|
|
|
+ {{moneyFormat(row.yearBeginBalance,2)}}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table-column>
|
|
|
<template v-if="monthList && monthList.length>0">
|
|
|
<el-table-column v-for="col in monthList" :key="col.key" :label="col.label" width="90" align="left">
|
|
|
<template #default="{ row, $index }">
|
|
|
<div style="width: 100%">
|
|
|
- <el-input-number v-model="row['month'+col.key+'Amount']" :placeholder="col.key+'月'" onmousewheel="return false;" :precision="2"
|
|
|
- :controls="false" :min="0" @change="(val)=>handleChangeVal(row,val,col)" :disabled="getIsDisabled()"
|
|
|
- style="width:100%">
|
|
|
+ <!-- v-model="row['month'+col.key+'Amount']" -->
|
|
|
+ <el-input-number :model-value="row['month'+col.key+'Amount']" :placeholder="col.key+'月'" onmousewheel="return false;" :precision="2"
|
|
|
+ :controls="false" :min="0" @change="(val,oldVal)=>handleChangeVal(row,val,col,$index,oldVal)"
|
|
|
+ :disabled="getIsDisabled()" style="width:100%;margin:3px 0" v-if="$index < sourceList.data.length - 1">
|
|
|
</el-input-number>
|
|
|
+ <div v-else>
|
|
|
+ {{moneyFormat(row['month'+col.key+'Amount'],2)}}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</template>
|
|
|
- <el-table-column prop="tradeAmount" label="本期发生" width="90" align="right">
|
|
|
+ <el-table-column prop="tradeAmount" label="本期发生" width="90" align="right" fixed="right">
|
|
|
<template #default="{ row, $index }">
|
|
|
<div style="width: 100%">
|
|
|
{{moneyFormat(row.tradeAmount,2)}}
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="balanceAmount" label="余额" width="90" align="right">
|
|
|
+ <el-table-column prop="balanceAmount" label="余额" width="90" align="right" fixed="right">
|
|
|
<template #default="{ row, $index }">
|
|
|
<div style="width: 100%">
|
|
|
{{moneyFormat(row.balanceAmount,2)}}
|
|
@@ -526,7 +537,6 @@ const formConfig = computed(() => {
|
|
|
itemWidth: 50,
|
|
|
fn: (val) => {
|
|
|
let current = userList.value.find((x) => x.value == val);
|
|
|
- console.log(current, "ada");
|
|
|
if (current) {
|
|
|
formData.data.deptId = current.deptId;
|
|
|
}
|
|
@@ -765,23 +775,52 @@ const changeMoney = (val, month, customerId) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-const handleChangeVal = (item, val, col) => {
|
|
|
- if (val) {
|
|
|
- const data = {
|
|
|
- ...item,
|
|
|
- idStr: item.subjectsCalculateItemIds,
|
|
|
- year: sourceList.value.pagination.year,
|
|
|
- };
|
|
|
- if (col) {
|
|
|
- data["month" + col.key + "Amount"] = val;
|
|
|
- } else {
|
|
|
- data.yearBeginBorrowAmount = val;
|
|
|
- }
|
|
|
- proxy.post("/calculateItemBalance/editOrSave", data).then((res) => {
|
|
|
- // proxy.msgTip("配置成功");
|
|
|
- // getList();
|
|
|
- });
|
|
|
+const handleChangeVal = (item, val, col, index, oldVal) => {
|
|
|
+ const data = {
|
|
|
+ ...item,
|
|
|
+ idStr: item.subjectsCalculateItemIds,
|
|
|
+ year: sourceList.value.pagination.year,
|
|
|
+ };
|
|
|
+ if (col) {
|
|
|
+ data["month" + col.key + "Amount"] = val;
|
|
|
+ sourceList.value.data[index]["month" + col.key + "Amount"] = val;
|
|
|
+ } else {
|
|
|
+ data.yearBeginBorrowAmount = val;
|
|
|
+ sourceList.value.data[index].yearBeginBorrowAmount = val;
|
|
|
+ }
|
|
|
+ proxy.post("/calculateItemBalance/editOrSave", data).then((res) => {
|
|
|
+ // proxy.msgTip("配置成功");
|
|
|
+ // getList();
|
|
|
+ });
|
|
|
+ refreshData(index, col, oldVal);
|
|
|
+};
|
|
|
+
|
|
|
+const refreshData = (index, col, oldVal) => {
|
|
|
+ const row = sourceList.value.data[index];
|
|
|
+ const lastRow = sourceList.value.data[sourceList.value.data.length - 1];
|
|
|
+ if (col) {
|
|
|
+ lastRow["month" + col.key + "Amount"] =
|
|
|
+ lastRow["month" + col.key + "Amount"] -
|
|
|
+ oldVal +
|
|
|
+ row["month" + col.key + "Amount"];
|
|
|
+ } else {
|
|
|
+ lastRow.yearBeginBorrowAmount =
|
|
|
+ lastRow.yearBeginBorrowAmount - oldVal + row.yearBeginBorrowAmount;
|
|
|
+ }
|
|
|
+ let amount = 0;
|
|
|
+ for (let i = 0; i < monthList.value.length; i++) {
|
|
|
+ const key = monthList.value[i].key;
|
|
|
+ amount = amount + Number(row["month" + key + "Amount"]);
|
|
|
}
|
|
|
+ // 重新计算余额 余额 = 年初余额 + (-年初借方) + 1-12月合计 + 本期发生
|
|
|
+ row.balanceAmount = Number(
|
|
|
+ parseFloat(
|
|
|
+ row.yearBeginBalance -
|
|
|
+ row.yearBeginBorrowAmount +
|
|
|
+ row.tradeAmount +
|
|
|
+ amount
|
|
|
+ ).toFixed(2)
|
|
|
+ );
|
|
|
};
|
|
|
|
|
|
let date = new Date();
|