Zory пре 1 недеља
родитељ
комит
d4154a23bb

+ 54 - 0
src/api/model/print.js

@@ -0,0 +1,54 @@
+import config from "@/config";
+import http from "@/utils/request";
+
+export default {
+    list: {
+        url: `${config.API_URL}/print/list`,
+        name: "-",
+        get: async function (params) {
+            return await http.get(this.url, params);
+        },
+    },
+    save: {
+        url: `${config.API_URL}/print/save`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+    edit: {
+        url: `${config.API_URL}/print/edit`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+    batch: {
+        url: `${config.API_URL}/print/batch`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+    del: {
+        url: `${config.API_URL}/print/del`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+    test: {
+        url: `${config.API_URL}/print/test`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+    refresh: {
+        url: `${config.API_URL}/print/refresh`,
+        name: "-",
+        post: async function (params) {
+            return await http.post(this.url, params);
+        },
+    },
+}

+ 0 - 1
src/views/login/components/mobile.vue

@@ -148,7 +148,6 @@ export default {
 					expires: user.data.expires_in
 				})
 			} else {
-				this.islogin = false
 				this.$message.error(user.msg)
 				return false
 			}

+ 0 - 1
src/views/login/components/passwd.vue

@@ -137,7 +137,6 @@ export default {
 			}
 			this.$emit("success");
 			this.$message.success(user.msg)
-			this.islogin = false;
 			this.$router.replace({
 				path: dashboard
 			})

+ 6 - 0
src/views/manage/order/life/components/table.vue

@@ -35,6 +35,12 @@
                 <span class="status-danger" v-else>未设置</span>
             </template>
         </el-table-column>
+        <el-table-column label="手机号码" prop="mobile" width="120">
+            <template #default="scope">
+                <span v-if="scope.row.mobile">{{ scope.row.mobile }}</span>
+                <span class="status-danger" v-else>未同步</span>
+            </template>
+        </el-table-column>
         <el-table-column label="数量" prop="count" width="100">
             <template #default="scope">
                 <span>{{ scope.row.count }}件</span>

+ 86 - 0
src/views/manage/print/components/form.vue

@@ -0,0 +1,86 @@
+<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="sn">
+                <el-input v-model="formData.sn" clearable placeholder="请输入"></el-input>
+                <div class="el-form-item-msg"></div>
+            </el-form-item>
+            <el-form-item label="打印机名称" prop="name">
+                <el-input v-model="formData.name" clearable placeholder="请输入"></el-input>
+                <div class="el-form-item-msg">可自定义</div>
+            </el-form-item>
+            <el-form-item label="设备密钥" prop="device_key">
+                <el-input v-model="formData.device_key" clearable placeholder="请输入"></el-input>
+                <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:{},
+            submitState:false,
+            disabled:false,
+            rules:{
+                sn: [
+                    {required: true, message: '请输入'}
+                ],
+                name: [
+                    {required: true, message: '请输入'}
+                ],
+                device_key: [
+                    {required: true, message: '请输入'}
+                ]
+            },
+            sms:""
+        }
+    },
+    methods:{
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        //表单注入数据
+        setData(data){
+            data.address = data.region+data.address;
+            this.formData = data;
+        },
+        async submit(){
+            var validate = await this.$refs.dialogForm.validate().catch(()=>{});
+            if(!validate){ return false }
+            this.isSaveing = true;
+            let submitData = JSON.parse(JSON.stringify(this.formData));
+            var resp = await this.$API.print.save.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>
+<style>
+.mt20 {margin-top: 20px;}
+.login-msg-yzm {display: flex;width: 100%;}
+.login-msg-yzm .el-button {margin-left: 10px;--el-button-size:42px;}
+</style>

+ 53 - 0
src/views/manage/print/components/option.vue

@@ -0,0 +1,53 @@
+<template>
+    <fieldset>
+        <legend>
+            <el-tag type="info">按需操作</el-tag>
+        </legend>
+        <div class="op-header">
+            <div class="left-panel">
+                <el-button type="primary" icon="el-icon-plus" @click="table_add()">新增打印机</el-button>
+                <el-button type="warning" icon="el-icon-refresh" @click="table_refresh()">查询状态</el-button>
+            </div>
+        </div>
+    </fieldset>
+    <formMain ref="formMain" @success="handleSuccess"></formMain>
+</template>
+
+<script>
+import formMain from './form';
+export default {
+    components: {
+        formMain
+    },
+    props: {
+        type: { type: String, default: "1" },
+        dataSelect: { type: Array, default: () => [] },
+        searchKey: { type: Object, default: () => {} },
+        dataSelectFull: { type: Array, default: () => [] }
+    },
+    data(){
+        return {
+
+        }
+    },
+    methods: {
+        async table_refresh(){
+            var loading = this.$loading();
+            var resp = await this.$API.print.refresh.post({});
+            loading.close();
+            if (resp.code == 0) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+        },
+        table_add(){
+            this.$nextTick(() => {
+                this.$refs.formMain.open()
+            })
+        },
+        handleSuccess(){
+            this.$emit("success");
+        },
+    }
+}
+</script>

+ 47 - 0
src/views/manage/print/components/search.vue

@@ -0,0 +1,47 @@
+<template>
+    <fieldset>
+        <legend>
+            <el-tag type="info">条件筛选</el-tag>
+        </legend>
+        <el-form class="lv-form-inline" ref="searchForm" :model="searchKey" label-position="right" label-width="100px">
+            <div class="search-form">
+                <div class="form-left">
+                    <el-row :gutter="10">
+                        <el-col :span="this.$store.state.global.ismobile?12:4">
+                            <el-input v-model="searchKey.sn" placeholder="请输入" clearable :style="{ width: '100%' }" @keyup.enter="searchForm()">
+                                <template #prepend>序列号</template>
+                            </el-input>
+                        </el-col>
+                        <el-col :span="this.$store.state.global.ismobile?12:4">
+                            <el-input v-model="searchKey.name" placeholder="商品ID" clearable :style="{ width: '100%' }" @keyup.enter="searchForm()">
+                                <template #prepend>名称</template>
+                            </el-input>
+                        </el-col>
+                        <el-col :span="this.$store.state.global.ismobile?12:4">
+                            <el-date-picker v-model="searchKey.create" :style="{width: '100%'}" placeholder="请选择创建时间" start-placeholder="开始时间" end-placeholder="结束时间" type="daterange" range-separator="至" @change="searchForm" />
+                        </el-col>
+                    </el-row>
+                </div>
+                <div class="form-line"></div>
+                <div class="form-right">
+                    <el-button type="primary" icon="el-icon-search" @click="searchForm">搜索</el-button>
+                </div>
+            </div>
+        </el-form>
+    </fieldset>
+</template>
+
+<script>
+export default {
+    data(){
+        return {
+            searchKey:{}
+        }
+    },
+    methods: {
+        searchForm(){
+            this.$emit("success",this.searchKey);
+        }
+    }
+}
+</script>

+ 173 - 0
src/views/manage/print/components/table.vue

@@ -0,0 +1,173 @@
+<template>
+    <scTable ref="table" :apiObj="list.apiObj" :params="searchKey" @selectionChange="selectionChange" row-key="id">
+        <el-table-column type="selection" width="50" fixed="left"></el-table-column>
+        <el-table-column label="序列号" prop="sn" width="220" fixed="left">
+            <template #default="scope">
+                <span v-if="scope.row.sn">{{ scope.row.sn }}</span>
+                <span class="status-danger" v-else>未设置</span>
+            </template>
+        </el-table-column>
+        <el-table-column label="打印机名称" prop="name" width="220">
+            <template #default="scope">
+                <span v-if="scope.row.name">{{ scope.row.name }}</span>
+                <span class="status-danger" v-else>未设置</span>
+            </template>
+        </el-table-column>
+        <el-table-column label="所属代理" prop="status" width="160">
+            <template #default="scope">
+                <span>{{ scope.row.agent?scope.row.agent.name:'未绑定' }}</span>
+            </template>
+        </el-table-column>
+        <el-table-column label="所属店铺" prop="status" width="160">
+            <template #default="scope">
+                <span>{{ scope.row.store?scope.row.store.store_name:'未绑定' }}</span>
+            </template>
+        </el-table-column>
+        <el-table-column label="设备状态" prop="device_state" width="160">
+            <template #default="scope">
+                <div class="status-success" v-if="scope.row.device_state==0"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
+                <div class="status-danger" v-if="scope.row.device_state==1"><sc-status-indicator type="danger"></sc-status-indicator> 开盖</div>
+                <div class="status-info" v-if="scope.row.device_state==2"><sc-status-indicator type="info"></sc-status-indicator> 粘纸</div>
+                <div class="status-info" v-if="scope.row.device_state==3"><sc-status-indicator type="info"></sc-status-indicator> 缺纸</div>
+            </template>
+        </el-table-column>
+        <el-table-column label="在线状态" prop="status" width="160">
+            <template #default="scope">
+                <div class="status-success" v-if="scope.row.online=='ONLINE'"><sc-status-indicator type="success"></sc-status-indicator> 正常</div>
+                <div class="status-danger" v-if="scope.row.online=='OFFLINE'"><sc-status-indicator type="danger"></sc-status-indicator> 离线</div>
+                <div class="status-info" v-if="scope.row.online=='UNACTIVE'"><sc-status-indicator type="info"></sc-status-indicator> 未激活</div>
+                <div class="status-info" v-if="scope.row.online=='DISABLE'"><sc-status-indicator type="info"></sc-status-indicator> 已禁用</div>
+            </template>
+        </el-table-column>
+        <el-table-column label="创建时间" prop="create_at" width="180"></el-table-column>
+        <el-table-column label="操作" width="220" align="right" fixed="right">
+            <template #default="scope">
+                <el-button-group>
+                    <el-button text type="warning" size="small" @click="table_bind(scope.row)">绑定门店</el-button>
+                    <el-button text type="success" size="small" @click="table_print(scope.row)">打印测试</el-button>
+                    <el-popconfirm title="确定删除并解绑该打印机吗?" @confirm="table_del(scope.row, scope.$index)">
+                        <template #reference>
+                            <el-button text type="danger" size="small">删除</el-button>
+                        </template>
+                    </el-popconfirm>                    
+                </el-button-group>
+            </template>
+        </el-table-column>
+    </scTable>
+    <formMain ref="formMain" @success="handleSuccess"></formMain>
+    <storeData ref="storeData" :multiple="false" @success="handleStore"></storeData>
+</template>
+
+<script>
+import formMain from './form';
+import storeData from "@/views/manage/components/store";
+export default {
+    components: {
+        formMain,
+        storeData
+    },
+    data(){
+        return {
+            list: {
+                apiObj: this.$API.print.list
+            },
+            dataSelect:[],
+            dataSelectFull:[],
+            searchKey:{},
+            bindData:{}
+        }
+    },
+    methods: {
+        async table_print(data){
+            var loading = this.$loading();
+            var resp = await this.$API.print.test.post({'sn':data.sn});
+            loading.close();
+            if (resp.code == 0) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+        },
+        async handleStore(data){
+            var loading = this.$loading();
+            var resp = await this.$API.print.edit.post({"sn":this.bindData.sn,'id':this.bindData.id,'agent_id':data.agent_id,'store_id':data.store_id});
+            loading.close();
+            if (resp.code == 0) {
+                return this.$message.error(resp.msg);
+            }
+            this.$message.success(resp.msg);
+            var that = this;
+            setTimeout(function(){
+                that.refresh()
+            },1500);
+        },
+        table_bind(data){
+            this.bindData = data;
+            this.$nextTick(() => {
+                this.$refs.storeData.open()
+            })
+        },
+        refresh(){
+            this.$refs.table.refresh()
+        },
+        upData(data){
+            this.$refs.table.upData(data)
+        },
+        handleSuccess(){
+            this.$refs.table.refresh()
+        },
+        sortChange(event){
+            if (event.order) {
+                var data = {
+                    "field":event.prop,
+                    "order":event.order
+                }
+                this.$refs.table.upData(data)
+            } else {
+                this.$refs.table.reload(this.searchKey)
+            }
+            return ;
+        },
+        selectionChange(event){
+            this.dataSelect = [];
+            var arr = [];
+            var arrCompany = [];
+            event.forEach(function(val,index){
+                arr[index] = val.id;
+                arrCompany[index] = val;
+            });
+            this.dataSelectFull = arrCompany;
+            this.dataSelect = arr;
+            this.$emit("success",this.dataSelect);
+            this.$emit("successFull",this.dataSelectFull);
+        },
+    }
+}
+</script>
+
+<style>
+.desc{
+    color: #999;
+    font-size: 12px;
+}
+.flex-btn{
+    display: flex;
+    flex-wrap: wrap;
+    gap: 5px;
+}
+.flex-tags {
+    display: flex;
+    gap: 2px;
+    flex-wrap: wrap;
+}
+.flex-btn .el-button.is-text{
+    margin-left: 0;
+}
+.flex-tags-size{
+    font-size: 12px;
+}
+.flex-tags-size span{
+    display: block;
+    margin-bottom: 5px;
+    color: #999;
+}
+</style>

+ 48 - 0
src/views/manage/print/index.vue

@@ -0,0 +1,48 @@
+<template>
+    <el-container class="flex-column">
+        <div class="table-search">
+            <search @success="handleSuccess"></search>
+            <el-alert type="warning" show-icon title="栏目提醒" description="1、一台打印机可绑定多个门店,但一个门店只可绑定一台打印机。2、打印机状态并非实时更新,需要查看状态的时候请点击【查询状态】按钮,等待1-3分钟后刷新列表查看" :closable="false" style="margin-bottom: 10px;"></el-alert>
+            <optionBtn @success="handleSuccess" :dataSelect="dataSelect" :dataSelectFull="dataSelectFull" type="3"></optionBtn>
+        </div>
+        <el-main class="nopadding">
+            <div class="table-container">
+                <tablePage ref="tablePage" @success="tableHandle" @successFull="tableHandleFull" type="3"></tablePage>
+            </div>
+        </el-main>
+    </el-container>  
+</template>
+
+<script>
+import search from './components/search';
+import optionBtn from './components/option';
+import tablePage from './components/table';
+export default {
+    components: {
+        search,tablePage,optionBtn
+    },
+    data(){
+        return {
+            searchKey:{},
+            dataSelect:[],
+            dataSelectFull:[],
+        }
+    },
+    methods: {
+        tableHandle(data){
+            this.dataSelect = data;
+        },
+        tableHandleFull(data){
+            this.dataSelectFull = data;
+        },
+        handleSuccess(data){
+            this.$refs.tablePage.upData(data)
+        },
+        handleClick(name){
+            this.activeName = name;
+            this.searchKey.type = name;
+            this.$refs.tablePage.upData(this.searchKey)
+        }
+    }
+}
+</script>

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

@@ -105,6 +105,25 @@
                                             <div class="el-form-item-msg">超过该时间不允许自动或手动核销订单</div>
                                         </el-form-item>
                                     </el-col>
+                                    
+                                    <el-col :span="this.$store.state.global.ismobile?24:12">
+                                        <el-form-item label="云打印机Appid" prop="ex_appid">
+                                            <el-input v-model="sys.ex_appid" show-password clearable placeholder="请输入"></el-input>
+                                            <div class="el-form-item-msg">非开发人员请勿修改</div>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="this.$store.state.global.ismobile?24:12">
+                                        <el-form-item label="云打印机密钥" prop="ex_secret">
+                                            <el-input v-model="sys.ex_secret" clearable show-password placeholder="请输入"></el-input>
+                                            <div class="el-form-item-msg">非开发人员请勿修改</div>
+                                        </el-form-item>
+                                    </el-col>
+                                    <el-col :span="this.$store.state.global.ismobile?24:12">
+                                        <el-form-item label="云打印机模版ID" prop="ex_print">
+                                            <el-input v-model="sys.ex_print" clearable show-password placeholder="请输入"></el-input>
+                                            <div class="el-form-item-msg">非开发人员请勿修改</div>
+                                        </el-form-item>
+                                    </el-col>
                                 </el-row>
                             </el-form>
                         </el-tab-pane>

+ 23 - 0
src/views/manage/shop/index/components/form.vue

@@ -188,6 +188,23 @@
                             </el-col>
                         </el-row>
                     </fieldset>
+                    <fieldset>
+                        <legend><el-tag>开放平台信息</el-tag></legend>
+                        <el-row :gutter="15">
+                            <el-col :span="12">
+                                <el-form-item label="AppId" prop="appid">
+                                    <el-input v-model="formData.appid" clearable placeholder="请输入"></el-input>
+                                    <div class="el-form-item-msg">通过抖音开放平台获取</div>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="12">
+                                <el-form-item label="密钥" prop="secret">
+                                    <el-input v-model="formData.secret" clearable show-password placeholder="请输入"></el-input>
+                                    <div class="el-form-item-msg"></div>
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                    </fieldset>
                 </el-form>
             </el-main>
             <el-footer style="text-align: right;">
@@ -243,6 +260,12 @@ export default {
                         }
                     }}
                 ],
+                appid: [
+                    {required: true, message: '请输入'}
+                ],
+                secret: [
+                    {required: true, message: '请输入'}
+                ],
                 express_type: [
                     {required: true, message: '请选择'}
                 ],

+ 13 - 0
src/views/manage/shop/index/components/table.vue

@@ -51,6 +51,7 @@
             <template #default="scope">
                 <el-button-group>
                     <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)">隐藏二维码</el-button>
                     <el-button text type="warning" size="small" @click="table_path(scope.row)">设置Path</el-button>
                     <el-button text type="primary" size="small" @click="table_view(scope.row)">编辑</el-button>
                     <el-button text type="danger" size="small" @click="table_del(scope.row)">删除</el-button>
@@ -86,6 +87,18 @@ export default {
                 this.$refs.authMain.open("edit").setData(data)
             })
         },
+        table_qrcode(data){
+            this.$confirm(`设置隐藏二维码后,用户通过来客下单不会显示券码的二维码,仅有【去预约】的按钮`, '提示', {
+                type: 'warning'
+            }).then(async ()=>{
+                var resp = await this.$API.store.auth.post({"id":data.id,"type":2});
+                if (resp.code == 0) {
+                    return this.$message.error(resp.msg);
+                }
+                this.$message.success(resp.msg);
+                this.$emit("success");
+            }).catch(()=>{})
+        },
         table_path(data){
             this.$confirm(`【必须】设置小程序全量用户订单按钮以及跳转路径`, '提示', {
                 type: 'warning'

+ 92 - 0
src/views/merchant/shop/index/components/auth.vue

@@ -0,0 +1,92 @@
+<template>
+    <el-drawer :title="titleMap[mode]" :append-to-body="true" v-model="visible" :size="800" destroy-on-close :close-on-click-modal="false" @closed="$emit('closed')" :with-header="false">
+        <el-container class="flex-column" v-loading="loading">
+            <div class="drawer-detail-main">
+                <div class="drawer-detail-header">
+                    <div class="drawer-detail-header-body">
+                        <div class="drawer-detail-header-left">{{ titleMap[mode] }}</div>
+                        <div class="drawer-detail-header-left">
+                            <el-button type="default" icon="el-icon-close" @click="visible=false"></el-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <el-main>
+                <el-form ref="dialogForm" :model="formData" :rules="rules" label-width="100px" label-position="top" v-loading="loading">
+                    <fieldset>
+                        <legend><el-tag>抖音开放平台</el-tag></legend>
+                        <el-form-item label="WebHooks">
+                            <el-input v-model="formData.webhook" disabled readonly clearable placeholder="门店名称">
+                                <template #append><el-button v-copy="formData.webhook">复制</el-button></template>
+                            </el-input>
+                            <div class="el-form-item-msg">开放平台 - 开发配置 - Webhooks中设置</div>
+                        </el-form-item>
+                    </fieldset>
+                    <fieldset>
+                        <legend><el-tag>顺丰开放平台</el-tag></legend>
+                        <el-form-item label="路由推送接口">
+                            <el-input v-model="formData.sf" disabled readonly clearable placeholder="路由推送接口">
+                                <template #append><el-button v-copy="formData.sf">复制</el-button></template>
+                            </el-input>
+                            <div class="el-form-item-msg">顺丰开放平台</div>
+                        </el-form-item>
+                        <el-form-item label="订单状态推送接口">
+                            <el-input v-model="formData.sf" disabled readonly clearable placeholder="订单状态推送接口">
+                                <template #append><el-button v-copy="formData.sf">复制</el-button></template>
+                            </el-input>
+                            <div class="el-form-item-msg">顺丰开放平台</div>
+                        </el-form-item>
+                        <el-form-item label="清单运费推送接口">
+                            <el-input v-model="formData.sf" disabled readonly clearable placeholder="清单运费推送接口">
+                                <template #append><el-button v-copy="formData.sf">复制</el-button></template>
+                            </el-input>
+                            <div class="el-form-item-msg">顺丰开放平台</div>
+                        </el-form-item>
+                    </fieldset>
+                </el-form>
+            </el-main>
+            <el-footer style="text-align: right;">
+                <el-button @click="visible=false" >取 消</el-button>
+            </el-footer>
+        </el-container>
+    </el-drawer>
+</template>
+
+<script>
+export default {
+    data(){
+        return {
+            loading:true,
+            mode:"add",
+            titleMap:{
+                add:"授权地址",
+                edit:"授权地址"
+            },
+            visible: false,
+            isSaveing: false,
+            formData:{}
+        }
+    },
+    methods: {
+        open(mode = 'add'){
+            this.mode = mode;
+            this.visible = true;
+            return this
+        },
+        async getConfig(data){
+            this.loading = true;
+            var resp = await this.$API.store.hook.get();
+            this.loading = false;
+            data.webhook = resp.data.url+"notify/hook/"+data.store_id;
+            data.spi = resp.data.url+"notify/spi/"+data.store_id;
+            data.sf = resp.data.url+"sf/hook/"+data.store_id;
+            data.pdf = resp.data.url+"sf/pdf/"+data.store_id;
+            this.formData = data;
+        },
+        //表单注入数据
+        setData(data){
+            this.getConfig(data);
+        },
+    }
+}
+</script>

+ 23 - 0
src/views/merchant/shop/index/components/form.vue

@@ -164,6 +164,23 @@
                             </el-col>
                         </el-row>
                     </fieldset>
+                    <fieldset>
+                        <legend><el-tag>开放平台信息</el-tag></legend>
+                        <el-row :gutter="15">
+                            <el-col :span="12">
+                                <el-form-item label="AppId" prop="appid">
+                                    <el-input v-model="formData.appid" clearable placeholder="请输入"></el-input>
+                                    <div class="el-form-item-msg">通过抖音开放平台获取</div>
+                                </el-form-item>
+                            </el-col>
+                            <el-col :span="12">
+                                <el-form-item label="密钥" prop="secret">
+                                    <el-input v-model="formData.secret" clearable show-password placeholder="请输入"></el-input>
+                                    <div class="el-form-item-msg"></div>
+                                </el-form-item>
+                            </el-col>
+                        </el-row>
+                    </fieldset>
                 </el-form>
             </el-main>
             <el-footer style="text-align: right;">
@@ -229,6 +246,12 @@ export default {
                 is_reback: [
                     {required: true, message: '请选择'}
                 ],
+                appid: [
+                    {required: true, message: '请输入'}
+                ],
+                secret: [
+                    {required: true, message: '请输入'}
+                ],
                 store_name: [
                     {required: true, message: '请输入'}
                 ],

+ 0 - 14
src/views/merchant/shop/index/components/search.vue

@@ -7,20 +7,6 @@
             <div class="search-form">
                 <div class="form-left">
                     <el-row :gutter="10">
-                        <el-col :span="this.$store.state.global.ismobile?12:4">
-                            <el-input v-model="searchKey.agent" placeholder="所属代理" clearable readonly :style="{ width: '100%' }" @click="selectUser">
-                                <template #append>
-                                    <el-tooltip
-                                        effect="dark"
-                                        content="点这里,清除选择"
-                                        placement="top-start"
-                                    >
-                                    <div class="remove-a" @click="clearUser">清除</div>
-                                    </el-tooltip>
-                                </template>
-                                <template #prepend>所属代理</template>
-                            </el-input>
-                        </el-col>
                         <el-col :span="this.$store.state.global.ismobile?12:4">
                             <el-input v-model="searchKey.name" placeholder="店铺名称" clearable :style="{ width: '100%' }" @keyup.enter="searchForm()">
                                 <template #prepend>店铺名称</template>

+ 10 - 2
src/views/merchant/shop/index/components/table.vue

@@ -44,7 +44,8 @@
         <el-table-column label="操作" width="220" align="center" fixed="right">
             <template #default="scope">
                 <el-button-group>
-                    <el-button text type="warning" size="small" @click="table_auth(scope.row)">设置Path</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_path(scope.row)">设置Path</el-button>
                     <el-button text type="primary" size="small" @click="table_view(scope.row)">编辑</el-button>
                     <el-button text type="danger" size="small" @click="table_del(scope.row)">删除</el-button>
                 </el-button-group>
@@ -52,13 +53,15 @@
         </el-table-column>
     </scTable>
     <formMain ref="formMain" @success="handleSuccess"></formMain>
+    <authMain ref="authMain" @success="handleSuccess"></authMain>
 </template>
 
 <script>
 import formMain from './form';
+import authMain from './auth';
 export default {
     components: {
-        formMain
+        formMain,authMain
     },
     data(){
         return {
@@ -73,6 +76,11 @@ export default {
     
     methods: {
         table_auth(data){
+            this.$nextTick(() => {
+                this.$refs.authMain.open("edit").setData(data)
+            })
+        },
+        table_path(data){
             this.$confirm(`【必须】设置小程序全量用户订单按钮以及跳转路径`, '提示', {
                 type: 'warning'
             }).then(async ()=>{

+ 1 - 1
src/views/merchant/shop/store/components/form.vue

@@ -53,7 +53,7 @@
     <agentData ref="agentData" :multiple="false" @success="handleSuccess"></agentData>
 </template>
 <script>
-import agentData from "@/views/manage/components/store";
+import agentData from "@/views/merchant/components/store";
 export default {
     components: {
         agentData

+ 2 - 2
src/views/merchant/shop/store/components/table.vue

@@ -38,7 +38,7 @@ export default {
     data(){
         return {
             list: {
-                apiObj: this.$API.shop.list
+                apiObj: this.$API.merShop.list
             },
             dataSelect:[],
             dataSelectFull:[],
@@ -56,7 +56,7 @@ export default {
             this.$confirm(`确定要执行删除吗`, '提示', {
                 type: 'warning'
             }).then(async ()=>{
-                var resp = await this.$API.shop.del.post({"id":data.id});
+                var resp = await this.$API.merShop.del.post({"id":data.id});
                 if (resp.code == 0) {
                     return this.$message.warning(resp.msg);
                 }