|
|
@@ -73,7 +73,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
- <el-table-column prop="dc" label="方向" width="60px" style="padding: 0">
|
|
|
+ <el-table-column prop="dc" label="方向" width="50px" style="padding: 0; text-align: center;" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
|
<span>{{ row.dc == 'D' ? '借' : '贷' }}</span>
|
|
|
</template>
|
|
|
@@ -87,7 +87,7 @@
|
|
|
v-model="row.amountDr"
|
|
|
size="small"
|
|
|
autocomplete="off"
|
|
|
- :disabled="!row.accountId || disabled"
|
|
|
+ :disabled="row.curCode !== 'CNY' || !row.accountId || disabled"
|
|
|
placeholder="请输入借方"
|
|
|
:precision="2"
|
|
|
@change="amountBlur(row, 'D')"
|
|
|
@@ -104,7 +104,7 @@
|
|
|
v-model="row.amountCr"
|
|
|
size="small"
|
|
|
autocomplete="off"
|
|
|
- :disabled="!row.accountId || disabled"
|
|
|
+ :disabled="row.curCode !== 'CNY' || !row.accountId || disabled"
|
|
|
placeholder="请输入货方"
|
|
|
:precision="2"
|
|
|
@change="amountBlur(row, 'C')"
|
|
|
@@ -116,12 +116,12 @@
|
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="外币金额">
|
|
|
- <el-table-column prop="curCode" label="币种" width="80px" align="center"> </el-table-column>
|
|
|
+ <el-table-column prop="curCode" label="币种" width="50px" align="center"> </el-table-column>
|
|
|
<el-table-column prop="exrate" label="汇率" width="100px">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input-number
|
|
|
v-if="row.curCode === 'USD'"
|
|
|
- style="width: 100%"
|
|
|
+ style="width: 100%; border: none;"
|
|
|
v-model="row.exrate"
|
|
|
size="small"
|
|
|
autocomplete="off"
|
|
|
@@ -140,7 +140,7 @@
|
|
|
<el-table-column prop="amountDrUsd" label="借方" width="120px">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input-number
|
|
|
- v-if="row.changeMode !== 'd'"
|
|
|
+ v-if="row.curCode === 'USD' && row.changeMode !== 'd'"
|
|
|
style="width: 100%; text-align: right"
|
|
|
v-model="row.amountDrUsd"
|
|
|
size="small"
|
|
|
@@ -153,12 +153,13 @@
|
|
|
:controls="false"
|
|
|
>
|
|
|
</el-input-number>
|
|
|
+ <span v-else></span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="amountCrUsd" label="货方" width="120px">
|
|
|
<template slot-scope="{ row }">
|
|
|
<el-input-number
|
|
|
- v-if="row.changeMode !== 'd'"
|
|
|
+ v-if="row.curCode === 'USD' && row.changeMode !== 'd'"
|
|
|
style="width: 100%"
|
|
|
v-model="row.amountCrUsd"
|
|
|
size="small"
|
|
|
@@ -171,6 +172,7 @@
|
|
|
:controls="false"
|
|
|
>
|
|
|
</el-input-number>
|
|
|
+ <span v-else></span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table-column>
|
|
|
@@ -257,7 +259,7 @@ export default {
|
|
|
methods: {
|
|
|
forceNumber(s, d){
|
|
|
let N = Number(s);
|
|
|
- return isNaN(N) ? 0.00 : Number(N.toFixed(d));
|
|
|
+ return isNaN(N) ? 0.00 : Number(N.toFixed(d ? d : 2));
|
|
|
},
|
|
|
// 自定义合计
|
|
|
summaryMethod(param) {
|
|
|
@@ -293,32 +295,39 @@ export default {
|
|
|
},
|
|
|
handleKeydown(e, row, name){
|
|
|
console.log("handleKeydown", e, name);
|
|
|
- if(e.key === "="){
|
|
|
+ if (e.key === "=") {
|
|
|
e.preventDefault();
|
|
|
// amountDr,amountCr
|
|
|
- let amtDr = 0.00, amtCr = 0.00;
|
|
|
- this.tableData.forEach((item) => {
|
|
|
- if(item!==row){
|
|
|
- amtDr = this.forceNumber(amtDr + item.amountDr, 2);
|
|
|
- amtCr = this.forceNumber(amtCr + item.amountCr, 2);
|
|
|
+ let amtDr = 0.0,
|
|
|
+ amtCr = 0.0;
|
|
|
+ this.tableData.forEach(item => {
|
|
|
+ if (item !== row) {
|
|
|
+ amtDr = this.forceNumber(amtDr + this.forceNumber(item.amountDr, 2), 2);
|
|
|
+ amtCr = this.forceNumber(amtCr + this.forceNumber(item.amountCr, 2), 2);
|
|
|
}
|
|
|
- })
|
|
|
- if(name==='amountDr'){
|
|
|
- this.$set(row, "amountCr", 0.00)
|
|
|
- this.$set(row, name, this.forceNumber(amtCr - amtDr, 2))
|
|
|
+ });
|
|
|
+ console.log("amtDr", amtDr, "amtCr", amtCr);
|
|
|
+ if (name === "amountDr") {
|
|
|
+ this.$set(row, "amountCr", 0.0);
|
|
|
+ this.$set(row, name, this.forceNumber(amtCr - amtDr, 2));
|
|
|
}
|
|
|
- if(name==='amountCr'){
|
|
|
- this.$set(row, "amountDr", 0.00)
|
|
|
- this.$set(row, name, this.forceNumber(amtDr - amtCr, 2))
|
|
|
+ if (name === "amountCr") {
|
|
|
+ this.$set(row, "amountDr", 0.0);
|
|
|
+ this.$set(row, name, this.forceNumber(amtDr - amtCr, 2));
|
|
|
}
|
|
|
|
|
|
- if(row.curCode==="USD"){
|
|
|
- if(row.exrate.toFixed(4)==='0.0000'){
|
|
|
- row.exrate = 1
|
|
|
+ if (row.curCode === "USD") {
|
|
|
+ this.$set(row, "exrate", this.forceNumber(row.exrate, 4));
|
|
|
+ if (row.exrate.toFixed(4) === "0.0000") {
|
|
|
+ this.$set(row, "exrate", 1);
|
|
|
}
|
|
|
|
|
|
- this.$set(row, "amountDrUsd", this.forceNumber(row.amountDr / row.exrate, 2))
|
|
|
- this.$set(row, "amountCrUsd", this.forceNumber(row.amountCr / row.exrate, 2))
|
|
|
+ this.$set(row, "amountDrUsd", this.forceNumber(this.forceNumber(row.amountDr, 2) / row.exrate, 2));
|
|
|
+ this.$set(row, "amountCrUsd", this.forceNumber(this.forceNumber(row.amountCr, 2) / row.exrate, 2));
|
|
|
+ }else{
|
|
|
+ this.$set(row, "exrate", 1);
|
|
|
+ this.$set(row, "amountDrUsd", 0.00);
|
|
|
+ this.$set(row, "amountCrUsd", 0.00);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -363,11 +372,17 @@ export default {
|
|
|
this.$set(row, "amountDr", (row.amountDrUsd * row.exrate).toFixed(2));
|
|
|
},
|
|
|
// 获取科目类型数据
|
|
|
- accountsListfun(code) {
|
|
|
+ accountsListfun(code, ref) {
|
|
|
+ console.log("accountsListfun", code, ref);
|
|
|
// isManual == 1 的允许手工添加
|
|
|
accountsList(1, 10, { code, isDetail: 1, isManual: 1 }).then((res) => {
|
|
|
- console.log(res.data.data.records);
|
|
|
this.accountData = res.data.data.records;
|
|
|
+ if(code && this.accountData.length===1){
|
|
|
+ if(ref){
|
|
|
+ ref.corpChange(this.accountData[0].code)
|
|
|
+ ref.visible = false
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
// 行删除
|
|
|
@@ -389,6 +404,11 @@ export default {
|
|
|
if (!row.accountId) {
|
|
|
return this.$message.warning("请先选择科目代码");
|
|
|
}
|
|
|
+ let amt = this.forceNumber(row.curCode!=="CNY" ? (row.dc==="D" ? row.amountCrUsd : row.amountDrUsd) : (row.dc==="D" ? row.amountCr : row.amountDr), 2)
|
|
|
+ if(amt<=0.00){
|
|
|
+ return this.$message.warning("请先输入核销金额!");
|
|
|
+ }
|
|
|
+
|
|
|
this.$emit("showOffRecordsfun", row);
|
|
|
},
|
|
|
// 下拉回调
|
|
|
@@ -396,7 +416,6 @@ export default {
|
|
|
let found = false;
|
|
|
if (name === "accountId") {
|
|
|
for (let item of this.accountData) {
|
|
|
- console.log(item);
|
|
|
if (item.code == value) {
|
|
|
found = true;
|
|
|
console.log(item, item.id);
|
|
|
@@ -635,4 +654,8 @@ export default {
|
|
|
::v-deep .el-input-number .el-input__inner {
|
|
|
text-align: right;
|
|
|
}
|
|
|
+
|
|
|
+::v-deep .el-input__inner {
|
|
|
+ /* border: none !important; */
|
|
|
+}
|
|
|
</style>
|