bug
liuying
2024-04-25 ae4e29f352975c2197521cf3c0b7179868d8cb84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<template>
  <a-modal
    title="增补数量"
    width="220px"
    :visible="visible"
    dialogClass="zero-modal"
    @cancel="handleCancel"
  >
    <div class="shk-in-number-change-modal">
       <a-input-number style="width:100%;" v-model="qty" :min="0" />
    </div>
    <template slot="footer">
      <a-button key="back" @click="handleCancel">取消</a-button>
      <a-button type="primary" key="ok" :disabled="!qty" @click="onConfirm">确认</a-button>
    </template>
  </a-modal> 
</template>
 
<script>
import { FoamingRuKuOrderAddOrderDetails } from '@/api/modular/main/FoamingRuKuOrderManage'
export default {
  name:'shkInNumberChangeModal',
  emits:['update:visible','callback'],
  props:{
    visible:{
      type:Boolean,
      default:false
    },
    obj:{
      type:Object,
      default:function(){
        return {}
      }
    }
  },
  data(){
    return {
      qty:0
    }
  },
  watch:{
    visible:{
      immediate:true,
      handler(newV,oldV){
        if (newV!==oldV){
          this.initShow()
        }
      }
    }
  },
  methods:{
    handleCancel(){
      this.$emit('update:visible',false)
    },
    initShow(){
      this.qty = 0 
    },
    onConfirm(){
      this.$loading.show()
      this.handleUpdateAjax((f)=>{
        this.$loading.hide()
        if (f) {
          this.$message.success('操作成功!');
          this.handleCancel()
          this.$emit('callback')
        }
      })
    },
    handleUpdateAjax(callback){
      let _params = {
        id:this.obj.id,
        qty:this.qty
      }
      FoamingRuKuOrderAddOrderDetails(_params).then(()=>{
        callback(true)
      }).catch(()=>{
        callback(false)
      })
    }
  }
}
</script>
 
<style lang="less" scoped>
.shk-in-number-change-modal{
  padding: 8px 16px;
}
</style>