|
@@ -33,7 +33,11 @@
|
|
|
<DatePicker type="datetime" v-model="returnCash.returnTime" format="yyyy-MM-dd HH:mm:ss" :readonly="!returnCash.flowType&&returnCash.payType=='3'"></DatePicker>
|
|
|
</FormItem>
|
|
|
<FormItem label="流水金额(元)" prop="serialCash">
|
|
|
- <Input v-model="returnCash.serialCash" :readonly="!returnCash.flowType&&returnCash.payType=='3'"></Input>
|
|
|
+ <Input
|
|
|
+ v-model="returnCash.serialCash"
|
|
|
+ @on-keyup="returnCash.serialCash=conHandler(returnCash.serialCash)"
|
|
|
+ :readonly="!returnCash.flowType&&returnCash.payType=='3'"
|
|
|
+ ></Input>
|
|
|
</FormItem>
|
|
|
<FormItem label="支付凭证" prop="">
|
|
|
<b-upload
|
|
@@ -100,7 +104,6 @@ export default {
|
|
|
props: {
|
|
|
selectData: {},
|
|
|
status: Boolean,
|
|
|
- type: String,
|
|
|
bookLevel: String
|
|
|
},
|
|
|
components: {
|
|
@@ -110,12 +113,12 @@ export default {
|
|
|
'returnCash.serialCash': {
|
|
|
handler() {
|
|
|
this.selectData.forEach((v, i) => {
|
|
|
- if (this.returnCash.serialCash) {
|
|
|
- v._readonly = false
|
|
|
+ if (this.returnCash.serialCash && this.returnCash.flowType) {
|
|
|
+ // v._readonly = false
|
|
|
// this.$set(v, i, false)
|
|
|
} else {
|
|
|
- v._readonly = true
|
|
|
- v.monery = ''
|
|
|
+ // v._readonly = true
|
|
|
+ // v.monery = ''
|
|
|
// this.$set(v, i, true)
|
|
|
}
|
|
|
})
|
|
@@ -123,6 +126,9 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ conHandler(val) {
|
|
|
+ return val.match(/\d+(\.\d{0,2})?/) ? val.match(/\d+(\.\d{0,2})?/)[0] : ''
|
|
|
+ },
|
|
|
payTypeChange(val){
|
|
|
if (val !== '3') {
|
|
|
this.returnCash.flowType = true
|
|
@@ -148,6 +154,7 @@ export default {
|
|
|
returnVoucherUrl: '',
|
|
|
remark: ''
|
|
|
}
|
|
|
+ this.surplusData()
|
|
|
}
|
|
|
},
|
|
|
fixedNum(val) {
|
|
@@ -165,27 +172,19 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
init() {
|
|
|
- if (this.type == 'single') {
|
|
|
- this.selectName = this.selectData.company_name
|
|
|
- this.selectId = this.selectData.id
|
|
|
- this.selectOrderId.push({
|
|
|
- orderId: this.selectData.id
|
|
|
- })
|
|
|
- } else {
|
|
|
- const arr1 = [], arr2 = [], arr3 = []
|
|
|
- this.selectData.forEach(v => {
|
|
|
- if (v.company_name || v.id) {
|
|
|
- arr1.push(v.company_name)
|
|
|
- arr2.push(v.id)
|
|
|
- arr3.push({
|
|
|
- orderId: v.id
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- this.selectName = arr1[0]
|
|
|
- this.selectId = arr2
|
|
|
- this.selectOrderId = arr3
|
|
|
- }
|
|
|
+ const arr1 = [], arr2 = [], arr3 = []
|
|
|
+ this.selectData.forEach(v => {
|
|
|
+ if (v.company_name || v.id) {
|
|
|
+ arr1.push(v.company_name)
|
|
|
+ arr2.push(v.id)
|
|
|
+ arr3.push({
|
|
|
+ orderId: v.id
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.selectName = arr1[0]
|
|
|
+ this.selectId = arr2
|
|
|
+ this.selectOrderId = arr3
|
|
|
},
|
|
|
localed(val) {
|
|
|
return val.toLocaleString('zh', { style:'currency', currency:'CNY' })
|
|
@@ -199,6 +198,7 @@ export default {
|
|
|
).success((res) => {
|
|
|
if (res.data) {
|
|
|
this.allPrice = res.data.price
|
|
|
+ this.orderAtr = res.data.orderArr
|
|
|
console.log(parseInt(this.huiIds.TRSBAL * 100), res.data.price)
|
|
|
if (parseInt(this.huiIds.TRSBAL * 100) > res.data.price) {
|
|
|
this.$Notice.warning({
|
|
@@ -208,56 +208,123 @@ export default {
|
|
|
})
|
|
|
return
|
|
|
} else {
|
|
|
- this.returnCash.serialNumber = this.huiIds.BNKFLW
|
|
|
- this.returnCash.returnTime = String(this.huiIds.BNKTIM)
|
|
|
- this.returnCash.returnBank = this.huiIds.BNKNAM
|
|
|
- this.returnCash.serialCash = this.huiIds.TRSBAL
|
|
|
- this.returnCash.payAccountName = this.huiIds.OTHNAM
|
|
|
- this.returnCash.remark = this.huiIds.NUSAGE
|
|
|
- setTimeout(() => {
|
|
|
- this.hShow = false
|
|
|
- }, 500)
|
|
|
- }
|
|
|
- if (this.type == 'single') {
|
|
|
- if (this.returnCash.serialCash * 100 == res.data.price) {
|
|
|
- this.selectData.monery = res.data.orderArr[0].money
|
|
|
- this.selectData._readonly = true
|
|
|
- } else if (this.returnCash.serialCash * 100 < res.data.price) {
|
|
|
- this.selectData.monery = ''
|
|
|
- this.selectData._readonly = false
|
|
|
+ console.log(this.huiIds)
|
|
|
+ if (!this.returnCash.flowType) {
|
|
|
+ this.returnCash.serialNumber = this.huiIds.BNKFLW
|
|
|
+ this.returnCash.returnTime = String(this.huiIds.BNKTIM)
|
|
|
+ this.returnCash.returnBank = this.huiIds.BNKNAM
|
|
|
+ this.returnCash.serialCash = this.huiIds.TRSBAL || 0
|
|
|
+ this.returnCash.payAccountName = this.huiIds.OTHNAM
|
|
|
+ this.returnCash.remark = this.huiIds.NUSAGE
|
|
|
+ setTimeout(() => {
|
|
|
+ this.hShow = false
|
|
|
+ }, 500)
|
|
|
}
|
|
|
- } else {
|
|
|
- this.selectData.forEach((v, i) => {
|
|
|
- res.data.orderArr.forEach(s => {
|
|
|
- if (String(s.orderId) === String(v.id)) {
|
|
|
- v.no_return_monery = s.money / 100
|
|
|
- }
|
|
|
- })
|
|
|
- if (parseInt(this.returnCash.serialCash * 100) == res.data.price) {
|
|
|
- res.data.orderArr.forEach(s => {
|
|
|
- if (String(s.orderId) === String(v.id)) {
|
|
|
- console.log(s.money)
|
|
|
+ }
|
|
|
+ console.log(parseInt(this.returnCash.serialCash * 100), res.data.price)
|
|
|
+ let arrs = this.selectData.length
|
|
|
+ this.selectData.forEach((v, i) => {
|
|
|
+ res.data.orderArr.forEach(s => {
|
|
|
+ if (String(s.orderId) === String(v.id)) {
|
|
|
+ v.no_return_monery = s.money / 100
|
|
|
+ if (parseInt(this.returnCash.serialCash * 100) == res.data.price) {
|
|
|
+ v._readonly = true
|
|
|
+ if (this.selectData.length > 1 || this.selectData.length === 1) {
|
|
|
v.monery = ''
|
|
|
v.monery += (s.money / 100).toString()
|
|
|
+ console.log(v.monery)
|
|
|
} else {
|
|
|
v.monery += ''
|
|
|
}
|
|
|
- })
|
|
|
- v._readonly = true
|
|
|
- } else if (this.returnCash.serialCash * 100 < res.data.price) {
|
|
|
- let arrs = this.selectData.length
|
|
|
- v.monery = ''
|
|
|
- if (this.selectData.length > 1 && arrs == i + 1) {
|
|
|
- v._readonly = true
|
|
|
- } else {
|
|
|
- v._readonly = false
|
|
|
+ } else if (parseInt(this.returnCash.serialCash * 100) < res.data.price) {
|
|
|
+ v.monery = ''
|
|
|
+ console.log(this.returnCash.flowType)
|
|
|
+ if (this.selectData.length > 1 && arrs == i + 1) {
|
|
|
+ console.log('-0-0-')
|
|
|
+ if (this.returnCash.flowType) {
|
|
|
+ v._readonly = false
|
|
|
+ this.$set(v, i, false)
|
|
|
+ } else {
|
|
|
+ v._readonly = true
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.log(parseInt(this.returnCash.serialCash * 100), res.data.price)
|
|
|
+ v._readonly = false
|
|
|
+ this.$set(v, i, false)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
})
|
|
|
- }
|
|
|
+
|
|
|
+ })
|
|
|
}
|
|
|
}).post()
|
|
|
},
|
|
|
+ handleSummary ({ columns }) {
|
|
|
+ const sums = {}
|
|
|
+ columns.forEach((column, index) => {
|
|
|
+ const key = column.key
|
|
|
+ if (index === 0) {
|
|
|
+ sums[key] = {
|
|
|
+ key,
|
|
|
+ value: '总价'
|
|
|
+ }
|
|
|
+ return
|
|
|
+ }
|
|
|
+ console.log(this.selectData)
|
|
|
+ const values = this.selectData.map(item => Number(item[key]))
|
|
|
+ if (!values.every(value => isNaN(value))) {
|
|
|
+ const v = values.reduce((prev, curr) => {
|
|
|
+ const value = Number(curr)
|
|
|
+ if (!isNaN(value)) {
|
|
|
+ return prev + curr
|
|
|
+ } else {
|
|
|
+ return prev
|
|
|
+ }
|
|
|
+ }, 0)
|
|
|
+ sums[key] = {
|
|
|
+ key,
|
|
|
+ value: v
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ sums[key] = {
|
|
|
+ key,
|
|
|
+ value: ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(sums.monery.value)
|
|
|
+ this.selectData.forEach((v, i) => {
|
|
|
+ this.orderAtr.forEach(s => {
|
|
|
+ if (String(s.orderId) === String(v.id)) {
|
|
|
+ if (this.returnCash.flowType && (parseInt(this.returnCash.serialCash * 100) == this.allPrice)) {
|
|
|
+ v.monery = ''
|
|
|
+ v.monery += (s.money / 100).toString()
|
|
|
+ v._readonly = true
|
|
|
+ this.$set(v, i, true)
|
|
|
+ console.log(v.monery)
|
|
|
+ } else if (this.returnCash.flowType && (parseInt(this.returnCash.serialCash * 100) < this.allPrice)) {
|
|
|
+ v.monery = ''
|
|
|
+ v._readonly = false
|
|
|
+ this.$set(v, i, '')
|
|
|
+ console.log('ppppp')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ // if (parseInt(this.returnCash.serialCash * 100) < this.allPrice || (this.returnCash.flowType && parseInt(this.returnCash.serialCash * 100) == this.allPrice)) {
|
|
|
+ if (parseInt(this.returnCash.serialCash * 100) < this.allPrice) {
|
|
|
+ console.log(this.returnCash.serialCash-sums.monery.value.toFixed(2))
|
|
|
+ setTimeout(() => {
|
|
|
+ let lastVal = document.getElementById('re-moey' + (this.selectData.length - 1))
|
|
|
+ lastVal.value = this.returnCash.serialCash - sums.monery.value.toFixed(2)
|
|
|
+ lastVal.setAttribute('readonly', true)
|
|
|
+ }, 0)
|
|
|
+ this.lastVal = sums.monery.value
|
|
|
+ }
|
|
|
+ return sums
|
|
|
+ },
|
|
|
getData(val) {
|
|
|
this.init()
|
|
|
this.loading1 = true
|
|
@@ -414,47 +481,6 @@ export default {
|
|
|
this.inited()
|
|
|
}, 300)
|
|
|
}
|
|
|
- },
|
|
|
- handleSummary ({ columns }) {
|
|
|
- const sums = {}
|
|
|
- columns.forEach((column, index) => {
|
|
|
- const key = column.key
|
|
|
- if (index === 0) {
|
|
|
- sums[key] = {
|
|
|
- key,
|
|
|
- value: '总价'
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
- const values = this.selectData.map(item => Number(item[key]))
|
|
|
- if (!values.every(value => isNaN(value))) {
|
|
|
- const v = values.reduce((prev, curr) => {
|
|
|
- const value = Number(curr)
|
|
|
- if (!isNaN(value)) {
|
|
|
- return prev + curr
|
|
|
- } else {
|
|
|
- return prev
|
|
|
- }
|
|
|
- }, 0)
|
|
|
- sums[key] = {
|
|
|
- key,
|
|
|
- value: v
|
|
|
- }
|
|
|
- } else {
|
|
|
- sums[key] = {
|
|
|
- key,
|
|
|
- value: ''
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- if (this.returnCash.serialCash * 100 < this.allPrice || this.returnCash.serialCash * 100 == this.allPrice) {
|
|
|
- setTimeout(() => {
|
|
|
- let lastVal = document.getElementById('re-moey' + (this.selectData.length - 1))
|
|
|
- lastVal.value = (this.returnCash.serialCash - sums.monery.value).toFixed(2)
|
|
|
- }, 0)
|
|
|
- this.lastVal = sums.monery.value
|
|
|
- }
|
|
|
- return sums
|
|
|
}
|
|
|
},
|
|
|
data () {
|
|
@@ -475,8 +501,8 @@ export default {
|
|
|
const validCash = (rule, value, callback) => {
|
|
|
if (value == '') {
|
|
|
callback(new Error('请输入流水金额'))
|
|
|
- } if (this.returnCash.serialCash * 100 > this.allPrice) {
|
|
|
- callback(new Error('流水金额不能大于未回款金额之和'))
|
|
|
+ } if (parseInt(this.returnCash.serialCash * 100) > this.allPrice) {
|
|
|
+ callback(new Error('流水金额不能大于未回款金额'))
|
|
|
} else {
|
|
|
callback()
|
|
|
}
|
|
@@ -497,6 +523,7 @@ export default {
|
|
|
selectName: [],
|
|
|
selectList: [],
|
|
|
huiIds: [],
|
|
|
+ orderAtr: [],
|
|
|
allPrice: 0,
|
|
|
returnCash: {
|
|
|
flowType: false,
|
|
@@ -670,17 +697,12 @@ export default {
|
|
|
},
|
|
|
on:{
|
|
|
'on-change':(e) => {
|
|
|
- let arrs = this.selectData.length
|
|
|
- if (this.type == 'single') {
|
|
|
- this.selectData.monery = e.target.value
|
|
|
- } else {
|
|
|
- this.selectData.forEach((v, i) => {
|
|
|
- if (row.id == v.id) {
|
|
|
- v.monery = e.target.value
|
|
|
- this.$set(v, i, e.target.value)
|
|
|
- }
|
|
|
- })
|
|
|
- }
|
|
|
+ this.selectData.forEach((v, i) => {
|
|
|
+ if (row.id == v.id) {
|
|
|
+ v.monery = e.target.value
|
|
|
+ this.$set(v, i, e.target.value)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
})
|