huangsijun
2025-09-22 a78c011de350b188afb03beb2f26a73f35f71986
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<template>
  <!--
        描述:编辑
    -->
  <el-dialog title="编辑门店信息" :visible.sync="dialogVisible" @close='dialogFormVisible' :close-on-click-modal="false"
    :close-on-press-escape="false">
    <el-form size="small" :model="form" ref="form">
      <el-form-item label="门店名称" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="store_name">
        <el-input v-model="form.store_name" autocomplete="off" placeholder="请输入门店名称"></el-input>
      </el-form-item>
      <el-form-item label="门店类型" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="store_type">
        <el-checkbox-group v-model="checkList">
            <el-checkbox v-for="(dict,index) in type_dict" :label="dict.value" :key="index">{{dict.name}}</el-checkbox>
        </el-checkbox-group>
        <!-- <el-input v-model="form.store_type" autocomplete="off" placeholder="请输入门店类型"></el-input> -->
      </el-form-item>
      <el-form-item label="状态" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="status">
 
          <el-select v-model="form.status" placeholder="请选择状态">
            <el-option v-for="(dict,index) in status_dict" :label="dict.name" :value="dict.value" :key="index"></el-option>
          </el-select>
 
        <!-- <el-input v-model="form.status" autocomplete="off" placeholder="请输入状态"></el-input> -->
      </el-form-item>
      <el-form-item label="小程序名称" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="store_app_name">
        <el-input v-model="form.store_app_name" autocomplete="off" placeholder="请输入小程序名称"></el-input>
      </el-form-item>
      <el-form-item label="所属代理商" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="store_belonging">
 
        <el-select v-model="form.store_belonging" placeholder="请选择所属代理商">
          <el-option v-for="(dict,index) in belonging_dict" :label="dict.name" :value="dict.value" :key="index"></el-option>
        </el-select>
 
        <!-- <el-input v-model="form.store_belonging" autocomplete="off" placeholder="请输入所属代理商"></el-input> -->
      </el-form-item>
 
      <el-form-item label="起止时间" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="register_date">
        <div class="block">
          <el-date-picker
            v-model="form.date_value"
            type="datetimerange"
            value-format="yyyy-MM-dd HH:mm:ss"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期">
          </el-date-picker>
        </div>
 
        <!-- <el-input v-model="form.register_date" autocomplete="off" placeholder="请输入注册时间"></el-input> -->
      </el-form-item>
 
      <!-- <el-form-item label="到期时间" :label-width="formLabelWidth" :rules="[{required: true,message: ' '}]" prop="end_date">
        <el-input v-model="form.end_date" autocomplete="off" placeholder="请输入到期时间"></el-input>
      </el-form-item> -->
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button @click="dialogFormVisible">取 消</el-button>
      <el-button type="primary" @click="editStore" :loading="loading">确 定</el-button>
    </div>
  </el-dialog>
</template>
 
<script>
  import StoreApi from '@/api/store.js';
  import DictApi from '@/api/base_dict.js';
  export default {
    data() {
      return {
        categoryList: [],
        /*左边长度*/
        formLabelWidth: '120px',
        /*是否显示*/
        dialogVisible: false,
        loading: false,
 
        status_dict:[],
        belonging_dict:[],
        type_dict:[],
        checkList:[],
      };
    },
    props: ['open_edit', 'form'],
    created() {
      this.dialogVisible = this.open_edit;
      this.form.status = null;
      this.form.store_belonging = null;
      if(this.form.store_type){this.checkList = this.form.store_type.split('/');}
      this.get_dict();
    },
    methods: {
      /*获取字典*/
      get_dict() {
        let self = this;
        DictApi.get_dict(['状态','代理商','门店类型'], true)
          .then(data => {
            //console.log(data);
            self.status_dict = data.data.dict[0];
            self.belonging_dict = data.data.dict[1];
            self.type_dict = data.data.dict[2];
          })
          .catch(error => {
              self.loading = false;
          });
      },
      /*修改插件*/
      editStore() {
        let self = this;
        let params = this.form;
        params.register_date = params.date_value[0];
        params.end_date = params.date_value[1];
 
        self.$refs.form.validate((valid) => {
          if (valid) {
            params.store_type = self.checkList[0];//门店类型
            for(var i=1;i<self.checkList.length;i++){
              params.store_type = params.store_type + '/' + self.checkList[i];
            }
            self.loading = true;
            StoreApi.editStore(params, true)
              .then(data => {
                self.loading = false;
                self.$message({
                  message: '恭喜你,修改成功',
                  type: 'success'
                });
                self.dialogFormVisible(true);
              })
              .catch(error => {
                self.loading = false;
              });
          }
        });
      },
      /*关闭弹窗*/
      dialogFormVisible(e) {
        if (e) {
          this.$emit('closeDialog', {
            type: 'success',
            openDialog: false
          })
        } else {
          this.$emit('closeDialog', {
            type: 'error',
            openDialog: false
          })
        }
      }
 
    }
  };
</script>
 
<style></style>