文件

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>