|
@@ -1,6 +1,10 @@
|
|
|
<template>
|
|
|
- <vxe-modal v-model="value" id="splitModel" title="拆分订单" width="70%" height="80%" min-width="460" min-height="320" show-zoom resize transfer show-footer v-loading="load">
|
|
|
- <by-table :propConfig="config" ref="table" @onChangeRow="onChangeRow"> </by-table>
|
|
|
+ <vxe-modal v-model="value" id="splitModel" title="拆分订单" width="70%" height="80%" min-width="460" min-height="320" show-zoom resize transfer :show-footer="!hideBtn" v-loading="load">
|
|
|
+ <by-table :propConfig="config" ref="table">
|
|
|
+ <template v-slot:num="{row}">
|
|
|
+ <vxe-input v-model="row.num" v-if="row.splitNum > 0" placeholder="请输入" type="integer" @input="onChangeRow(row)"></vxe-input>
|
|
|
+ </template>
|
|
|
+ </by-table>
|
|
|
<template #footer>
|
|
|
<div class="btn">
|
|
|
<el-button type="primary" size="small" @click="btn">确定</el-button>
|
|
@@ -17,6 +21,7 @@ export default class SplitModel extends Vue {
|
|
|
value=false;
|
|
|
load=false;
|
|
|
billData:any=null;
|
|
|
+ hideBtn=false;
|
|
|
data:Array<any>=[]
|
|
|
config:any={
|
|
|
attr:{
|
|
@@ -42,13 +47,14 @@ export default class SplitModel extends Vue {
|
|
|
},{
|
|
|
title:'拆分数量',
|
|
|
field:'num',
|
|
|
- component:'by-input',
|
|
|
- compConfig:{
|
|
|
- attr:{
|
|
|
- size:'mini',
|
|
|
- type:'number'
|
|
|
- }
|
|
|
- }
|
|
|
+ slot:true,
|
|
|
+ // component:'by-input',
|
|
|
+ // compConfig:{
|
|
|
+ // attr:{
|
|
|
+ // size:'mini',
|
|
|
+ // type:'integer'
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}]
|
|
|
}
|
|
|
|
|
@@ -79,6 +85,7 @@ export default class SplitModel extends Vue {
|
|
|
splitQtyQuery({id:v.id}).then((res:any) => {
|
|
|
this.load = false;
|
|
|
if(res.data){
|
|
|
+ let j = 0;
|
|
|
for(const item of data){
|
|
|
let n = Number(res.data[item.id]);
|
|
|
if(n){
|
|
@@ -86,10 +93,14 @@ export default class SplitModel extends Vue {
|
|
|
}else{
|
|
|
item.splitNum = item.qty;
|
|
|
}
|
|
|
- if(item.splitNum > 0){
|
|
|
- this.data.push(item)
|
|
|
+ this.data.push(item)
|
|
|
+ if(item.splitNum == 0){
|
|
|
+ j++
|
|
|
}
|
|
|
}
|
|
|
+ if(j == this.data.length){
|
|
|
+ this.hideBtn = true
|
|
|
+ }
|
|
|
(this.$refs.table as any).setValue(this.data);
|
|
|
}
|
|
|
}).catch((err:any) => {
|