浏览代码

'1915-02'

zory 1 天之前
父节点
当前提交
fbd0b900e0

+ 14 - 0
src/api/model/store.js

@@ -51,4 +51,18 @@ export default {
             return await http.post(this.url, params);
         },
     },
+    scene: {
+        url: `${config.API_URL}/store/scene`,
+        name: "-",
+        get: async function (params) {
+            return await http.get(this.url, params);
+        },
+    },
+    sms: {
+        url: `${config.API_URL}/store/sms`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
 }

+ 62 - 0
src/views/manage/setting/basic/index.vue

@@ -198,6 +198,42 @@
                                 </el-form-item>
                             </el-form>
                         </el-tab-pane>
+                        <el-tab-pane label="短信场景模板" name="scene" v-loading="isLoading">
+                            <el-form :model="sys" :rules="rules3" ref="form" label-position="top" @keyup.enter="saveForm" v-if="activeName=='scene'">
+                                <el-form-item label="用户下单后-用户场景" prop="order" class="label-item">
+                                    <el-input v-model="sys.order" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="用户预约后-用户端" prop="order_submit" class="label-item">
+                                    <el-input v-model="sys.order_submit" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单服务中-手动发货" prop="order_send" class="label-item">
+                                    <el-input v-model="sys.order_send" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单服务中-自动核销" prop="order_auto" class="label-item">
+                                    <el-input v-model="sys.order_auto" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单取消服务-商家端" prop="order_agent" class="label-item">
+                                    <el-input v-model="sys.order_agent" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单取消服务-用户端-发起申请" prop="order_cancel_submit" class="label-item">
+                                    <el-input v-model="sys.order_cancel_submit" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单取消服务-用户端-商家审核通过" prop="order_cancel" class="label-item">
+                                    <el-input v-model="sys.order_cancel" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                                <el-form-item label="订单已完成-用户端" prop="order_done" class="label-item">
+                                    <el-input v-model="sys.order_done" placeholder="请输入" clearable />
+                                    <div class="el-form-item-msg">例如:SMS_139800030</div>
+                                </el-form-item>
+                            </el-form>
+                        </el-tab-pane>
                     </el-tabs>
                 </el-card>
         </el-main>
@@ -219,6 +255,32 @@ export default {
             isSaveing: false,
             sys: {},
             smsRegion:[],
+            rules3:{
+                order: [
+                    { required: true, message: '请输入' }
+                ],
+                order_submit: [
+                    { required: true, message: '请输入' }
+                ],
+                order_send: [
+                    { required: true, message: '请输入' }
+                ],
+                order_auto: [
+                    { required: true, message: '请输入' }
+                ],
+                order_agent: [
+                    { required: true, message: '请输入' }
+                ],
+                order_cancel: [
+                    { required: true, message: '请输入' }
+                ],
+                order_cancel_submit: [
+                    { required: true, message: '请输入' }
+                ],
+                order_done: [
+                    { required: true, message: '请输入' }
+                ],
+            },
             rules2:{
                 sms_type: [
                     { required: true, message: '请选择' }

+ 147 - 0
src/views/manage/shop/index/components/sms.vue

@@ -0,0 +1,147 @@
+<template>
+    <el-dialog :title="titleMap[mode]" v-model="visible" :width="600" destroy-on-close @closed="$emit('closed')" :close-on-click-modal="false" :close-on-press-escape="false">
+        <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top">
+            <el-form-item label="用户下单后-用户场景" prop="order" class="label-item">
+                <el-radio-group v-model="formData.order">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="用户预约后-用户端" prop="order_submit" class="label-item">
+                <el-radio-group v-model="formData.order_submit">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单服务中-手动发货" prop="order_send" class="label-item">
+                <el-radio-group v-model="formData.order_send">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单服务中-自动核销" prop="order_auto" class="label-item">
+                <el-radio-group v-model="formData.order_auto">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单取消服务-商家端" prop="order_agent" class="label-item">
+                <el-radio-group v-model="formData.order_agent">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单取消服务-用户端-发起申请" prop="order_cancel_submit" class="label-item">
+                <el-radio-group v-model="formData.order_cancel_submit">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单取消服务-用户端-商家审核通过" prop="order_cancel" class="label-item">
+                <el-radio-group v-model="formData.order_cancel">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="订单已完成-用户端" prop="order_done" class="label-item">
+                <el-radio-group v-model="formData.order_done">
+                    <el-radio border :label="1">开启</el-radio>
+                    <el-radio border :label="2">关闭</el-radio>
+                </el-radio-group>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+        </el-form>
+		<template #footer>
+			<el-button @click="visible=false" >取 消</el-button>
+			<el-button type="primary" :loading="isSaveing" @click="submit()">提交</el-button>
+		</template>
+    </el-dialog>
+</template>
+<script>
+export default {
+    data(){
+        return {
+            loading: false,
+            mode:"add",
+            titleMap:{
+                add:"短信场景设置",
+                edit:"短信场景设置"
+            },
+            visible: false,
+            isSaveing: false,
+            formData:{},
+            disabled:false,
+            dataInfo:{},
+            rules:{
+                order: [
+                    { required: true, message: '请选择' }
+                ],
+                order_submit: [
+                    { required: true, message: '请选择' }
+                ],
+                order_send: [
+                    { required: true, message: '请选择' }
+                ],
+                order_auto: [
+                    { required: true, message: '请选择' }
+                ],
+                order_agent: [
+                    { required: true, message: '请选择' }
+                ],
+                order_cancel: [
+                    { required: true, message: '请选择' }
+                ],
+                order_cancel_submit: [
+                    { required: true, message: '请选择' }
+                ],
+                order_done: [
+                    { required: true, message: '请选择' }
+                ],
+            }
+        }
+    },
+    methods:{
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        //表单注入数据
+        setData(data){
+            this.dataInfo = data;
+            this.getScene();
+        },
+        async getScene(){
+            var resp = await this.$API.store.scene.get({"store":this.dataInfo.store_id});
+            if (resp.code == 1) {
+                this.formData = resp.data;
+            }
+        },
+        async submit(){
+            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
+            if(!validate){ return false }
+            let submitData = JSON.parse(JSON.stringify(this.formData));
+            submitData.agent_id = this.dataInfo.agent_id
+            submitData.store_id = this.dataInfo.store_id
+            this.isSaveing = true;
+            var resp = await this.$API.store.sms.post(submitData);
+            this.isSaveing = false;
+            if(resp.code !== 1) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+            this.visible = false;
+            this.formData = {};
+            this.submitState = false;
+            this.$emit("success");
+        }
+    }
+}
+</script>

+ 9 - 1
src/views/manage/shop/index/components/table.vue

@@ -50,6 +50,7 @@
         <el-table-column label="操作" width="220" align="center" fixed="right">
             <template #default="scope">
                 <el-button-group>
+                    <el-button text type="danger" size="small" @click="table_sms(scope.row)">短信</el-button>
                     <el-button text type="success" size="small" @click="table_auth(scope.row)">授权地址</el-button>
                     <el-button text type="warning" size="small" @click="table_qrcode(scope.row)" v-if="scope.row.is_hide==0">隐藏二维码</el-button>
                     <el-button text type="primary" size="small" @click="table_qrcode(scope.row)" v-if="scope.row.is_hide==1">显示二维码</el-button>
@@ -62,14 +63,16 @@
     </scTable>
     <formMain ref="formMain" @success="handleSuccess"></formMain>
     <authMain ref="authMain" @success="handleSuccess"></authMain>
+    <smsMain ref="smsMain" @success="handleSuccess"></smsMain>
 </template>
 
 <script>
 import formMain from './form';
 import authMain from './auth';
+import smsMain from './sms';
 export default {
     components: {
-        formMain,authMain
+        formMain,authMain,smsMain
     },
     data(){
         return {
@@ -83,6 +86,11 @@ export default {
     },
     
     methods: {
+        table_sms(data){
+            this.$nextTick(() => {
+                this.$refs.smsMain.open("edit").setData(data)
+            })
+        },
         table_auth(data){
             this.$nextTick(() => {
                 this.$refs.authMain.open("edit").setData(data)