zenglf
2023-08-17 7442a435d058bd17d6fc679e1b7956bf3a5d32ae
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<template>
  <j-modal
    :title="title"
    :width="width"
    :visible="visible"
    switchFullscreen
    @ok="handleOk"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @cancel="handleCancel"
    cancelText="关闭">
    <depart-form 
    ref="realForm" 
    @ok="submitCallback"
    @reloadUi="reloadUi"
    :disabled="disableSubmit"
    :parentId="parentId"
    :enterpriseId="enterpriseId"
    :version="version"
    @changeAddLoading="changeAddLoading"
    >
    </depart-form>
    <template slot="footer">
<a-button @click="handleOkButContinue" type="primary" :loading="addloading" v-if="title=='新增'">
  保存并继续新增
</a-button>
<a-button @click="handleOk" type="primary" :loading="addloading">
  保存
</a-button>
<a-button @click="handleCancel">
  取消
</a-button>
  </template>
  </j-modal>
</template>
<script>
  import DepartForm from './DepartForm'
  export default {
    name: 'DepartModal',
    components: {
      DepartForm
    },
    props:{
      parentId:{
        type:String,
        default:'',
        required:false
      },
      enterpriseId:{
        type:String,
        default:'',
        required:false
      },
      version:{
        type:Number,
        required:false
      }
    },
    data () {
      return {
        title:'',
        width:800,
        visible: false,
        disableSubmit: false,
        isContinue:false,
        addloading:false,
      }
    },
    methods: {
      add () {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.add();
        })
      },
      edit (record) {
        this.visible=true
        this.$nextTick(()=>{
          this.$refs.realForm.edit(record);
        })
      },
      close () {
        this.$emit('close');
        this.visible = false;
      },
      handleOk () {
        this.addloading=true;
        this.$refs.realForm.submitForm();
      },
      submitCallback(){
        this.$emit('ok');
        if(this.isContinue){
          this.visible=true;
          this.isContinue = false;
          this.$refs.realForm.clearInfo();  
          this.addloading=false;
        }
        else{
          this.visible=false;
          this.addloading=false;
        }
      },
      handleCancel () {
        this.close()
        this.addloading=false;
      },
      reloadUi(){
        this.$emit('reloadUi') 
      },
      handleOkButContinue(){
       this.isContinue=true;
       this.handleOk();
      },
      changeAddLoading(){
        this.addloading=false;
      }
    }
  }
</script>