文件

680 行
35 KiB
HTML
可执行文件

<!DOCTYPE html>
<html>
<!--[1.1.60]-->
<head>
<meta charset="utf-8"/>
<title>{$logoinfo.name}代理商管理系统</title>
<link href="{$logoinfo['icourl']}" type="image/x-icon" rel="shortcut icon">
<link rel="stylesheet" href="/Public/paper/css/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Retail/css/index.css"/>
<link rel="stylesheet" href="__PUBLIC__/vue/element-ui.css">
<script src="__PUBLIC__/jquery/js/jquery-3.2.1.min.js"></script>
<link rel="stylesheet" href="__PUBLIC__/css/common-upload.css">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/layui/css/layui.css"/>
<script type="text/javascript" src="__PUBLIC__/layui/layui.js"></script>
<style>
.left_logo > img {
width: 140px;
height: auto;
}
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
width: 8px;
height: 8px;
background-color: #F5F5F5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #F5F5F5;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, .3);
background-color: #3f4c73;
}
.left_item > .fa {
font-size: 20px;
display: inline-block;
margin-right: 20px;
color: white;
width: 30px;
}
.left_logo {
width: 100%;
height: auto;
box-sizing: border-box;
display: flex;
align-items: center;
padding: 10px;
}
.code-box {
width: 200px;
margin: 0 auto;
}
.code-big-box {
position: relative;
}
.code-box > img {
margin: 0 auto;
}
.code-timeout {
position: absolute;
top: 0;
left: 80px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: rgba(255, 255, 255, 0.8);
width: 200px;
height: 200px;
}
.refresh {
display: inline-block;
height: 32px;
line-height: 32px;
margin-top: 20px;
padding: 0 18px;
background-color: #4394ff;
color: #fff;
white-space: nowrap;
text-align: center;
font-size: 14px;
border: none;
border-radius: 2px;
cursor: pointer;
}
.item-suc-one-1 {
display: flex;
align-items: center;
justify-content: center;
}
.item-suc-done-img {
height: 25px;
width: 25px;
margin-right: 5px;
}
.tips {
text-align: center;
font-size: 12px;
color: #999;
line-height: 30px;
}
.left_name {
width: 109px;
text-align: right;
font-size: 14px;
line-height: 56px;
color: #666;
margin-right: 20px;
}
.binding {
color: white;
line-height: 65px;
margin-right: 20px;
font-size: 12px;
display: block;
cursor: pointer;
}
.center {
text-align: center;
}
.list {
display: flex;
flex-direction: row;
align-items: center;
margin: 10px 0;
}
</style>
</head>
<body>
<include file="./Application/Admin/View/Upload/index.html"/>
<div id="app">
<div class="box">
<div class="left">
<div class="left_logo">
<img src="{$logoinfo['stageurl']}"
onerror="this.onerror=null,this.src='__PUBLIC__/Retail/images/zhihuilogo4.png'"
style="margin-right: 0px"/>
</div>
<div class="left_item" data-src="{:U('index/home')}" style="background-color: rgba(255,255,255,0.2);">
<i class="fa fa-home"></i>
<span>首页</span>
</div>
<!--<if condition="$types eq 2">-->
<!--</if>-->
<div class="left_item" class="in_inner" data-src="{:U('merchant/index')}">
<!--<img src="__PUBLIC__/retail/images/s01.png"/>-->
<i class="fa fa-user-circle-o"></i>
<span>商户管理</span>
</div>
<if condition="$types eq 2">
<div class="left_item">
<i class="fa fa-telegram"></i>
<span>分润管理</span>
</div>
<div class="item_next">
<a href="javascript:;" class="in_inner" data-src="{:U('Agent/Continentflow/index')}">
间连分润
</a>
<a href="javascript:;" class="in_inner" data-src="{:U('Agent/Continentflow/cashManager')}">
提现管理
</a>
</div>
</if>
<!--<div class="left_item" class="in_inner" data-src="{:U('User/index')}">-->
<!--&lt;!&ndash;<img src="__PUBLIC__/retail/images/s01.png"/>&ndash;&gt;-->
<!--<i class="fa fa-user-circle-o"></i>-->
<!--<span>用户管理</span>-->
<!--</div>-->
<div class="left_item" class="in_inner" data-src="{:U('Recharge/index')}">
<!--<img src="__PUBLIC__/retail/images/s01.png"/>-->
<i class="fa fa-money"></i>
<span>消费记录</span>
</div>
<div class="left_item" class="in_inner" data-src="{:U('Plug/index')}">
<i class="fa fa-cogs"></i>
<span>插件商城</span>
</div>
<!--<div class="left_item" class="in_inner" data-src="{:U('Plug/Plug/index')}" style="margin-top: 50px;padding:0px;background-color: rgba(255, 255, 255,0.2)!important;">
<div style="background-color: rgba(255, 255, 255,0.2)!important;width: 100%;height: 100%;padding:0px 10px;color:white;display: flex;align-items: center;">
<img style="width: 20px;margin-right: 20px" src="data:image/png;base64,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" alt="">
<span>应用中心</span>
</div>
</div>-->
</div>
<div class="right">
<div class="right_title" style="position: relative">
<div style="flex:1;color:white;line-height: 65px;margin-left: 30px;display: block">
<span>代理商管理系统</span>
</div>
<div class="binding">
<img src="__PUBLIC__/user/images/p1.png" width="15px" style="margin-top: -5px">
<a href="javascript:;" class="in_inner in_inners" data-src="{:U('Super/App/index')}"
style="display: inline;padding-left: 0;color: white;text-decoration: none;">软件下载</a>
</div>
<div class="binding">
<i class="fa fa-question-circle"></i> <span><a href="{:U('Super/Helps/MetInfo')}?types=1"
target="_blank" style="color:white;">帮助中心</a></span>
</div>
<div class="binding">
<i class="fa fa-thermometer-full"></i>
<span>
<a @click="showResetPassword=true" style="color:white;">修改密码</a>
</span>
</div>
<if condition="$openScan eq 1">
<div class="binding" :style="isBinding?'':'display:none;'">
<i class="fa fa-comments"></i>
<span>
<a @click="relieveWx" style="color:white;">解绑微信</a>
</span>
</div>
<div class="binding" :style="isBinding?'display:none;':''">
<i class="fa fa-comments"></i>
<span>
<a @click="bindingWx" style="color:white;">绑定微信</a>
</span>
</div>
</if>
<!-- 微信操作 -->
<div class="right_title_nickname" @click="showSetUserAvatar=true">
<img id="user_avatar" src="{$user['image']}"
onerror="this.onerror=null,this.src='__PUBLIC__/Retail/images/s11.png'"/>
<span>{$user['name']}</span>
</div>
<div class="right_title_quit" @click="toClose">
<img src="__PUBLIC__/Retail/images/quit.png"/>
</div>
</div>
<div class="right_content" style="display: flex">
<!--右侧内容区-->
<iframe id="myiframe" width="100%" height="100%" style="flex: 1;" src="{:U('Index/home')}"
frameborder="0" data-id="/Home/Index" scrolling="auto"></iframe>
</div>
</div>
</div>
<el-dialog title="修改密码" :visible.sync="showResetPassword" :width="'400px'" :close-on-click-modal="false">
<div style="padding: 0 20px">
<el-form :model="passwordForm" :rules="rules" ref="passwordForm" label-width="68px">
<el-form-item label="旧密码" required prop="oldPass">
<el-input type="password" v-model="passwordForm.oldPass" auto-complete="off"
placeholder="请输入旧密码"></el-input>
</el-form-item>
<el-form-item label="新密码" required prop="newPass">
<el-input type="password" v-model="passwordForm.newPass" auto-complete="off"
placeholder="请输入新密码"></el-input>
</el-form-item>
<el-form-item label="新密码" required prop="newPass1">
<el-input type="password" v-model="passwordForm.newPass1" auto-complete="off"
placeholder="再次输入新密码"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="showResetPassword = false">取 消</el-button>
<el-button type="primary" @click="sureResetPassword('passwordForm')">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="设置头像" :visible.sync="showSetUserAvatar" :width="'400px'">
<form id="avatar">
<div class="list">
<label class="left_name">头像图片</label>
<label class="file_label">
<input type="hidden" name="logo_id"/>
<input @change="changeImage" type="file" name="logo" placeholder="选择图片" accept="image/png,image/jpeg"/>
<img id="head_url" style="max-width: 200px" :src="avatar"
onerror="this.onerror=null;this.src='__PUBLIC__/paper/images/wx_add.png'">
</label>
</div>
<div class="center">
<el-button plain size="small" @click="selectImage('logo')"
>图库图片
<el-tooltip class="item" effect="dark" content="点击图片选择本地图片,点击按钮选择图库图片" placement="top-start">
<i class="el-icon-question"></i>
</el-tooltip>
</el-button>
</div>
<p class="tips">建议大小100*100</p>
</form>
<div class="center" style="margin-top: 50px">
<el-button type="primary" size="medium" @click="setUserAvatar">保存</el-button>
</div>
</el-dialog>
<el-dialog title="绑定微信" :visible.sync="showUserAuthCode" :width="'400px'" :before-close="closeCode">
<div class="code-big-box">
<div class="code-box" v-qrcode="{'value':code}"></div>
<div class="code-timeout" v-if="isTimeOut">
<span style="font-weight: bold;color: rgb(68, 68, 68);">二维码过期</span>
<div class="refresh" @click="refresh">点击刷新</div>
</div>
<div class="code-timeout" v-if="isScanCode">
<div class="item-suc-one-1">
<img src="__PUBLIC__/login/images/success.png" class="item-suc-done-img">
<span style="font-weight: bold;">成功扫码,等待确认</span>
</div>
</div>
</div>
</el-dialog>
<el-dialog title="选择图片" :visible.sync="showSelectImage" custom-class="select-image-el-dialog"
:top="'10px'">
<template-select-image :can-select-num="1" @selectfile="selectFile"></template-select-image>
</el-dialog>
</div>
</body>
<script src="__PUBLIC__/vue/element-ui.js"></script>
<script type="text/javascript" src="__PUBLIC__/receipt/Qrcode.js"></script>
<script type="text/javascript">
layui.use("layer", function () {
var layer = layui.layer;
Vue.directive('qrcode', function (el, binding) {
el.innerHTML = "";
var text = binding.value.value;
if (text) {
new QRCode(el, {
text: text,
width: 200,
height: 200,
colorDark: "#000000",
colorLight: "#ffffff",
correctLevel: QRCode.CorrectLevel.H
});
}
})
var app = new Vue({
el: "#app",
data: {
avatar: "{$user['image']}",
showUserAuthCode: false,
code: '',
isTimeOut: false,
isScanCode: false,
scan_type: false,
showSetUserAvatar: false,
showSelectImage: false,
actFileName: '',
isBinding: "{$user['openid_type']}" == 1 ? true : false,
check_scan: null,
check_auth: null,
showResetPassword: false,
passwordForm: {
oldPass: '',
newPass: '',
newPass1: '',
},
rules: {
oldPass: [{message: '请输入原密码', required: true, trigger: 'blur'}],
newPass: [{message: '请输入新密码', required: true, trigger: 'blur'}],
newPass1: [{message: '再次输入新密码', required: true, trigger: 'blur'}],
}
},
methods: {
newCheckPwd: function (pwd) {
var reg = /^[a-zA-Z0-9.+*-/<>?!@#$%^&*():''"";]{1,}$/;
if (!reg.test(pwd)) {
return false;
}
return true;
},
sureResetPassword: function (formName) {
var that = this;
this.$refs[formName].validate((valid) => {
if (valid) {
if (that.passwordForm.newPass != that.passwordForm.newPass) {
that.$message({
type: 'error',
message: '新密码不一致',
duration: 1000
});
return;
} else if (!that.newCheckPwd(that.passwordForm.newPass)) {
that.$message({
type: 'error',
message: '只支持数字字母及字符.+*-/<>?!@#$%^&*():\'\'"";',
duration: 3000
});
return;
}
$.post("{:U('doChangePwd')}", {
oldPass: this.passwordForm.oldPass,
newPass: this.passwordForm.newPass,
newPass1: this.passwordForm.newPass1
}, function (res) {
if (res.status == 1) {
that.$message({
type: 'success',
message: res.msg,
duration: 1000,
onClose: function () {
that.showResetPassword = false;
that.passwordForm = {
oldPass: '',
newPass: '',
newPass1: '',
};
}
});
} else {
that.$message({
type: 'error',
message: res.msg,
duration: 1000
});
}
})
} else {
return false;
}
});
},
closeAvatar: function () {
this.showSetUserAvatar = false;
},
refresh: function () {
//刷新token
this.getTokenUrl();
},
closeCode: function () {
//关闭授权
clearTimeout(this.check_scan);
clearTimeout(this.check_auth);
this.showUserAuthCode = false;
},
selectFile: function (item) {
//选择文件
console.log(item);
this.showSelectImage = false;
if (item.length) {
$("input[name='" + this.actFileName + "']").val('');
$("input[name='" + this.actFileName + "_id']").val(item[0].id);
this.avatar = item[0].path;
}
},
selectImage: function (actName) {
//将选择图片
this.actFileName = actName;
this.showSelectImage = true;
},
changeImage:function () {
var that = this;
if(window.event.target.files.length){
var imgObj = window.event.target.files[0];
var imgType = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'];
if(jQuery.inArray(imgObj.type, imgType) != -1){
var reader = new FileReader();
reader.readAsDataURL(imgObj);
reader.onload = function () {
that.avatar = this.result;
}
}
}
},
setUserAvatar: function () {
//设置头像
if (!$("input[name='logo']").val() && !$("input[name='logo_id']").val()) {
this.$message({
type: 'warning',
message: '您未修改头像',
duration: 1000
});
return;
}
var fd = new FormData(document.getElementById('avatar'));
var that = this;
this.$loading({
lock: true,
text: '保存中,请等待',
spinner: 'el-icon-loading',
background: 'rgba(255, 255, 255, 0.7)'
});
$.ajax({
url: "{:U('setUserImage')}",
type: "post",
data: fd,
processData: false, // jQuery不要去处理发送的数据
contentType: false, // jQuery不要去设置Content-Type请求头
success: function (res) {
that.$loading().close();
if (res.status == 1) {
$('#user_avatar').attr('src', $('#head_url').attr('src'));
that.$message({
type: 'success',
message: res.msg,
duration: 1000,
onClose: function () {
$("input[name='logo']").val('');
that.showSetUserAvatar = false;
var x = window.document.getElementById("myiframe");
var right = (x.contentWindow || x.contentDocument);
if(right.document){
right = right.document;
}
right.querySelector(".logoImg").src = $('#head_url').attr('src');
}
});
} else {
that.$message({
type: 'error',
message: res.msg,
duration: 1000
});
}
},
error: function () {
that.$message({
type: 'error',
message: '出错了!',
duration: 1000
});
that.$loading().close();
}
})
},
relieveWx: function () {
var that = this;
$.post("{:U('relieve_wx')}", {}, function (res) {
if (res.status == 1) {
that.isBinding = false;
that.$message({
type: 'success',
message: res.msg,
duration: 1000
});
} else {
that.$message({
type: 'error',
message: res.msg,
duration: 1000
});
}
});
},
bindingWx: function () {
this.getTokenUrl();
},
getTokenUrl: function () {
var that = this;
$.post("{:U('random')}", {}, function (res) {
if (res.status == 1) {
that.code = res.url;
that.check(res.token, 0);
that.showUserAuthCode = true;
that.isTimeOut = false;
that.isScanCode = false;
} else {
that.$message({
type: 'error',
message: res.msg,
duration: 1000
});
}
})
},
check: function (token, time) {
/* 判断二维码过期时间 */
if (time >= 30) {
//显示刷新按钮
this.isTimeOut = true;
clearTimeout(this.check_scan);
return false;
} else {
var that = this;
this.check_scan = setTimeout(function () {
$.post("{:U('check')}", {token: token}, function (res) {
if (res.status == 1) {
//显示扫面成功
clearTimeout(that.check_scan);
that.isScanCode = true;
that.auth(token, 0); // 调起授权计时器
} else {
time++;
that.check(token, time);
}
})
}, 1000)
}
},
auth: function (token, time) {
/* 判断授权过期时间 */
if (time >= 30) {
//显示刷新二维码按钮
clearTimeout(check_auth);
this.isTimeOut = true;
this.isScanCode = false;
return false;
} else {
var that = this;
this.check_auth = setTimeout(function () {
$.post("{:U('auth')}", {token: token}, function (res) {
if (res.status == 1) { // 授权
//用户授权成功
clearTimeout(that.check_scan);
that.showUserAuthCode = false;
that.isBinding = true;
that.$message({
message: res.msg,
type: 'success',
center: true
});
} else if (res.status == 2) { // 取消授权
that.$message({
message: res.msg,
type: 'error',
center: true
});
} else {
time++;
that.auth(token, time);
}
})
}, 1000)
}
},
toClose: function () {
this.$confirm('确定退出登录?', '温馨提示', {
confirmButtonText: '退出',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
top.window.location.href = "{:U('loginOut')}";
}).catch(() => {
});
}
}
})
$(".left_item").click(function () {
$(".left_item").css("background", "");
$(this).css("background", "rgba(255,255,255,0.2)");
if ($(this).next(".item_next").css('display') == 'none') {
$(".item_next").slideUp('fast');
$(this).next(".item_next").slideToggle('fast');
} else {
$(this).next(".item_next").slideToggle('fast');
}
})
$('.in_inner').click(function () {
$('.left_item').css('background', 'none');
var src = $(this).attr('data-src');
$(this).parent('.item_next').prev('.left_item').css("background", "rgba(255, 255, 255,0.2)");
if ($(this).parent('.item_next').length) {
$('.item_next>a').css('color', 'white');
$(this).css('color', '#eb4a57');
}
$('#myiframe').attr('src', src);
})
$('.left_item').click(function () {
var src = $(this).attr('data-src');
$('#myiframe').attr('src', src);
})
})
</script>
</html>