319 行
14 KiB
HTML
可执行文件
319 行
14 KiB
HTML
可执行文件
<!--[1.9.13]-->
|
|
<link rel="stylesheet" type="text/css" href="/Public/css/component-permission.css?v=1.0.1"/>
|
|
<div id="merchantManage">
|
|
<el-form :inline="true" size="small">
|
|
<el-form-item>
|
|
<el-input class="page-input" v-model="keyword" placeholder="商户名称/手机号"></el-input>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="handleCurrentChange(1)">搜索</el-button>
|
|
<el-button type="primary" v-if="operate.addMerchant" @click="editMerchant('')">添加商户</el-button>
|
|
<el-button type="primary" v-if="set_server_pay==1 && operate.editServerPay" @click="editServerPay">支付服务商配置</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
<el-table :data="dataList" size="small" border style="width: calc(100vw - 208px);box-sizing: border-box;" :header-cell-style="{background:'#F5F7FA',color:'#606266'}">
|
|
<el-table-column align="center" type="index" label="序号" width="50" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="name" label="商户名称" min-width="100" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="mobile" label="手机号码" min-width="100" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" label="状态" min-width="100">
|
|
<template slot-scope="scope" slot="header">
|
|
<el-tooltip class="item" effect="dark" content="开启为启用,关闭为禁用" placement="top-start">
|
|
<div>
|
|
<span>状态</span>
|
|
<el-button type="text" size="mini" icon="el-icon-question"></el-button>
|
|
</div>
|
|
</el-tooltip>
|
|
</template>
|
|
<template slot-scope="scope">
|
|
<el-switch v-model="scope.row.status" :disabled="operate.modifyState?false:true"
|
|
@change="changeStatus(scope.$index)"
|
|
inactive-value="2" active-value="1">
|
|
</el-switch>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="meal_name" label="套餐" min-width="100" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="addtime" label="添加时间" min-width="140" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="begin_time" label="启用时间" min-width="140" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="end_time" label="过期时间" min-width="140" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="address" label="详细信息" min-width="160" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="storenum" label="可创建门店总数" min-width="120" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" prop="less_count" label="剩余可创建门店数" min-width="120" show-overflow-tooltip></el-table-column>
|
|
<el-table-column align="center" fixed="right" label="操作" width="200px" style="border-right: none;">
|
|
<template slot-scope="scope">
|
|
<el-button type="text" v-if="operate.xcxConfig"
|
|
@click="xcxConfig(scope.row)"
|
|
size="mini">商城
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.paySet"
|
|
@click="payPattern(scope.row)"
|
|
size="mini">支付权限
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.pay_pattern"
|
|
@click="paySet(scope.row)"
|
|
size="mini">支付设置
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.functional"
|
|
@click="functional(scope.row)"
|
|
size="mini">功能套餐
|
|
</el-button>
|
|
<el-button v-if="operate.addMerchant" type="text"
|
|
@click="editMerchant(scope.row.id)"
|
|
size="mini">编辑
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.renew"
|
|
@click="renew(scope.row.id)"
|
|
size="mini">续费
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.resetPass"
|
|
@click="modifyPass(scope.row.id)"
|
|
size="mini">密码
|
|
</el-button>
|
|
<el-button type="text" v-if="operate.setRole"
|
|
@click="openPermission(scope.row.id)"
|
|
size="mini">权限
|
|
</el-button>
|
|
<el-button v-if="operate.delMerchant"
|
|
@click.native.prevent="del(scope.row.id)"
|
|
size="mini"
|
|
style="color: #999" type="text">删除
|
|
</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
|
:page-sizes="[10, 20, 30, 40]" :page-size="100" layout="total, sizes, prev, pager, next, jumper"
|
|
:total="len">
|
|
</el-pagination>
|
|
<!-- 权限 -->
|
|
<edit-next-role :show.sync="permissionDialogVisible" :id="permissionMerchantId" :type="3"></edit-next-role>
|
|
</div>
|
|
<script src="/Public/js/component-permission.js?v=1.0.2"></script>
|
|
<script src="/Public/js/component-operator.js?v=1.0.1"></script>
|
|
<script>
|
|
var merchantManage = new Vue({
|
|
el: '#merchantManage',
|
|
data() {
|
|
return {
|
|
set_server_pay: "{$set_server_pay}",
|
|
keyword: '',
|
|
dataList: [],
|
|
limit: 10,
|
|
currentPage: 1,
|
|
len: 0,
|
|
operate: {},//操作权限
|
|
permissionDialogVisible: false, //权限设置窗口
|
|
permissionMerchantId: '',//被编辑权限的商户ID
|
|
}
|
|
},
|
|
methods: {
|
|
//支付服务商配置
|
|
editServerPay() {
|
|
layer.open({
|
|
type: 2,
|
|
content: "{:U('editServerPay')}",
|
|
title: "服务商支付配置",
|
|
area: ['calc(100% - 160px)', 'calc(100% - 65px)'],
|
|
offset: 'rb',
|
|
shade: 0,
|
|
move: false,
|
|
resize: false,
|
|
})
|
|
},
|
|
//启用/禁用
|
|
changeStatus(index) {
|
|
this.sendRequest("{:U('modifyState')}", {
|
|
data: {
|
|
status: this.dataList[index].status,
|
|
id: this.dataList[index].id,
|
|
},
|
|
success: (res) => {
|
|
if (res.status == 1) {
|
|
this.$message.success(res.message);
|
|
} else {
|
|
this.$message.error(res.message);
|
|
this.dataList[index].status = this.dataList[index].status == 1 ? '2' : '1';
|
|
}
|
|
},
|
|
})
|
|
},
|
|
//商城配置
|
|
xcxConfig(item) {
|
|
layer.open({
|
|
type: 2,
|
|
content: "{:U('xcxConfig')}?merchant_id=" + item.id,
|
|
title: "商户小程序设置--" + item.name,
|
|
area: ['calc(100% - 160px)', 'calc(100% - 65px)'],
|
|
offset: 'rb',
|
|
shade: 0,
|
|
move: false,
|
|
resize: false,
|
|
})
|
|
},
|
|
//支付设置
|
|
paySet(item) {
|
|
layer.open({
|
|
type: 2,
|
|
content: "{:U('Payset/paySet')}?merchant_id=" + item.id,
|
|
title: "支付设置--" + item.name,
|
|
area: ['calc(100% - 160px)', 'calc(100% - 65px)'],
|
|
offset: 'rb',
|
|
btnAlign: 'c',
|
|
shade: 0,
|
|
move: false,
|
|
resize: false,
|
|
})
|
|
},
|
|
//支付权限
|
|
payPattern(item) {
|
|
layer.open({ // 弹框
|
|
type: 2,
|
|
title: '支付权限',
|
|
area: ["800px", '600px'],
|
|
shadeClose: true,
|
|
skin: 'layui-layer-molv',
|
|
content: "{:U('pay_pattern')}?merchantid=" + item.id,
|
|
});
|
|
},
|
|
//功能套餐
|
|
functional(item) {
|
|
layer.open({
|
|
type: 2,
|
|
content: "{:U('functional')}?id=" + item.id,
|
|
title: "功能套餐",
|
|
area: ["600px", "400px"]
|
|
})
|
|
},
|
|
//编辑、新增商户
|
|
editMerchant(id) {
|
|
layer.open({
|
|
type: 2,
|
|
content: "{:U('addMerchant')}?id=" + id,
|
|
title: id ? '编辑-商户信息' : '添加商户',
|
|
area: ["600px", '500px'],
|
|
btnAlign: 'c',
|
|
end: () => {
|
|
this.getData();
|
|
}
|
|
})
|
|
},
|
|
//续费
|
|
renew(id) {
|
|
layer.open({
|
|
type: 2,
|
|
title: '续费',
|
|
area: ["500px", '480px'],
|
|
shadeClose: true,
|
|
skin: 'layui-layer-molv',
|
|
content: "{:U('renew')}?id=" + id,
|
|
end: () => {
|
|
this.getData();
|
|
}
|
|
});
|
|
},
|
|
//修改密码
|
|
modifyPass(id) {
|
|
this.$prompt('请输入密码', '提示', {
|
|
closeOnClickModal: false,
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
title: '',
|
|
inputPattern: /^[a-zA-Z0-9.+*-/<>?!@#$%^&*():''"";]{1,}$/,
|
|
inputErrorMessage: '密码必须是字母,数字,符号'
|
|
}).then(({value}) => {
|
|
if (!value) {
|
|
return this.$message.warning('请输入密码');
|
|
}
|
|
if (value.length > 16) {
|
|
return this.$message.warning('密码不能大于16位');
|
|
}
|
|
this.sendRequest("{:U('newpass')}", {
|
|
data: {
|
|
newpass: value,
|
|
id: id,
|
|
},
|
|
success: (res) => {
|
|
if (res.status == 1) {
|
|
this.$message.success(res.message);
|
|
} else {
|
|
this.$message.error(res.message);
|
|
}
|
|
},
|
|
})
|
|
}).catch(() => {
|
|
});
|
|
},
|
|
//商户权限
|
|
openPermission(id) {
|
|
this.permissionMerchantId = id;
|
|
this.permissionDialogVisible = true;
|
|
},
|
|
//删除
|
|
del(id) {
|
|
this.$confirm('此操作将永久删除该商户, 是否继续删除?', '提示', {
|
|
confirmButtonText: '删除',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
this.sendRequest("{:U('delMerchant')}", {
|
|
data: {
|
|
id: id
|
|
},
|
|
success: (res) => {
|
|
if (res.status == 1) {
|
|
this.$message.success(res.message);
|
|
this.getData();
|
|
} else {
|
|
this.$message.error(res.message);
|
|
}
|
|
},
|
|
})
|
|
}).catch(() => {
|
|
});
|
|
},
|
|
handleSizeChange(val) {
|
|
this.limit = val;
|
|
this.getData();
|
|
},
|
|
handleCurrentChange(val) {
|
|
this.currentPage = val;
|
|
this.getData();
|
|
},
|
|
getData() {
|
|
this.sendRequest("{:U('getMerchant')}", {
|
|
data: {
|
|
keyword: this.keyword,
|
|
page: this.currentPage,
|
|
limit: this.limit
|
|
},
|
|
success: (res) => {
|
|
if (res.status == 1) {
|
|
this.dataList = res.data.list;
|
|
this.len = res.data.count;
|
|
} else {
|
|
this.$message.error(res.message);
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
},
|
|
created() {
|
|
this.getData();
|
|
this.checkOperateAuth({
|
|
addMerchant: '/index.php/Agent/Merchant/addMerchant', //添加修改商家
|
|
paySet: '/index.php/Agent/Payset/paySet', //支付设置
|
|
pay_pattern: '/index.php/Agent/Merchant/pay_pattern', //查看商户支付权限
|
|
functional: '/index.php/Agent/Merchant/functional', //查看功能套餐
|
|
resetPass: '/index.php/Agent/Merchant/newpass', //修改密码
|
|
delMerchant: '/index.php/Agent/Merchant/delMerchant', //删除商户
|
|
renew: '/index.php/Agent/Merchant/renew', //续费
|
|
editServerPay: '/index.php/Agent/Merchant/editServerPay', //服务商支付设置
|
|
xcxConfig: '/index.php/Agent/Merchant/xcxConfig', //商户商城配置
|
|
modifyState: '/index.php/Agent/Merchant/modifyState', //商户商城配置
|
|
setRole: '/index.php/Agent/AgentRoles/setMerchantRole',//权限
|
|
}, (data) => {
|
|
this.operate = data;
|
|
})
|
|
}
|
|
})
|
|
</script> |