Init Repo

This commit is contained in:
root
2019-09-06 23:53:10 +08:00
commit f0ef89dfbb
7905 changed files with 914138 additions and 0 deletions

View File

@ -0,0 +1,106 @@
{extend name="base" /}
{block name="css"}
<link rel="stylesheet" type="text/css" href="__STATIC__/plugins/webuploader/webuploader.css?v={$v}" />
{/block}
{block name="js"}
<script type='text/javascript' src='__STATIC__/plugins/webuploader/webuploader.js?v={$v}' type="text/javascript"></script>
<script src="__ADMIN__/staffs/staffs.js?v={$v}" type="text/javascript"></script>
{/block}
{block name="main"}
<form autocomplete='off'>
<input type='hidden' id='staffId' class='ipt' value="{$object['staffId']}"/>
<table class='wst-form wst-box-top'>
<tr>
<th width='150'>登录账号<font color='red'>*</font></th>
<td width='300'><input type="text" id='loginName' class='ipt' maxLength='20' data-rule="登录账号: required;" onblur='javascript:checkLoginKey(this)'/></td>
<td rowspan='5'>
<div style='border:1px solid #ccc;width:130px;height:130px;margin-bottom:5px;'>
<img id='prevwPhoto' height='130' height='130' src='__ADMIN__/img/img_mrtx_gly.png'/>
</div>
<div id='photoPicker' style='margin-left:32px;'>上传头像<span id='uploadMsg'></span></div>
<input type='hidden' id='staffPhoto' class='ipt' value=''/>
</td>
</tr>
<tr>
<th width='120'>登录密码<font color='red'>*</font></th>
<td><input type="text" id='loginPwd' class='ipt' maxLength='20' data-rule="登录密码: required;"/></td>
</tr>
<tr>
<th>职员名称<font color='red'>*</font></th>
<td><input type="text" id='staffName' class='ipt' maxLength='20' data-rule="职员名称: required;"/></td>
</tr>
<tr>
<th>职员编号:</th>
<td><input type="text" id='staffNo' class='ipt' maxLength='20'/></td>
</tr>
<tr>
<th>角色:</th>
<td>
<select id='staffRoleId' class='ipt'>
<option value='0'>请选择</option>
{volist name="roles" id="vo"}
<option value="{$vo['roleId']}">{$vo.roleName}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<th>手机号码:</th>
<td><input type="text" id='staffPhone' class='ipt' maxLength='11' data-rule="mobile"/></td>
</tr>
<tr>
<th>微信OPENID</th>
<td><input type="text" id='wxOpenId' class='ipt' maxLength='100'/></td>
</tr>
<tr>
<th>工作状态:</th>
<td colspan='2' class="layui-form">
<label>
<input id="workStatus1" name="workStatus" value="1" class='ipt' {if condition="$object['workStatus'] == 1"}checked{/if} type="radio" title='在职'>
</label>
<label>
<input id="workStatus0" name="workStatus" value="0" class='ipt' {if condition="$object['workStatus'] == 0"}checked{/if} type="radio" title='离职'>
</label>
</td>
</tr>
<tr>
<th>账号状态:</th>
<td colspan='2' class="layui-form">
<label>
<input type='radio' id='staffStatus1' class='ipt' name='staffStatus' {if condition="$object['staffStatus'] == 1"}checked{/if} value='1' title='开启'>
</label>
<label>
<input type='radio' id='staffStatus0' class='ipt' name='staffStatus' {if condition="$object['staffStatus'] == 0"}checked{/if} value='0' title='停用'>
</label>
</td>
</tr>
<tr>
<td colspan='3' align='center' class='wst-bottombar'>
<button type="button" onclick='javascript:save()' class='btn btn-primary btn-mright'><i class="fa fa-check"></i>保存</button>
<button type="button" onclick='javascript:history.go(-1)' class='btn'><i class="fa fa-angle-double-left"></i>返回</button>
</td>
</tr>
</table>
</form>
<script>
$(function(){
WST.upload({
pick:'#photoPicker',
formData: {dir:'staffs'},
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toAdminJson(f);
if(json.status==1){
$('#uploadMsg').empty().hide();
$('#prevwPhoto').attr('src',WST.conf.IMGURL+'/'+json.savePath+json.name);
$('#staffPhoto').val(json.savePath+json.name);
}
},
progress:function(rate){
$('#uploadMsg').show().html('已上传'+rate+"%");
}
});
});
</script>
{/block}

View File

@ -0,0 +1,102 @@
{extend name="base" /}
{block name="css"}
<link rel="stylesheet" type="text/css" href="__STATIC__/plugins/webuploader/webuploader.css?v={$v}" />
{/block}
{block name="js"}
<script type='text/javascript' src='__STATIC__/plugins/webuploader/webuploader.js?v={$v}' type="text/javascript"></script>
<script src="__ADMIN__/staffs/staffs.js?v={$v}" type="text/javascript"></script>
{/block}
{block name="main"}
<form autocomplete='off'>
<input type='hidden' id='staffId' class='ipt' value="{$object['staffId']}"/>
<table class='wst-form wst-box-top'>
<tr>
<th width='150'>登录账号:</th>
<td width='300'>{$object['loginName']}</td>
<td rowspan='5'>
<div style='border:1px solid #ccc;width:130px;height:130px;margin-bottom:5px;'>
<img id='prevwPhoto' height='130' width='130' src='__IMGURL__/{if $object["staffPhoto"] != " " }{$object["staffPhoto"]} {else}__ADMIN__/img/img_mrtx_gly.png{/if}'/>
</div>
<div id='photoPicker' style='margin-left:32px;'>上传头像<span id='uploadMsg'></span></div>
<input type='hidden' id='staffPhoto' class='ipt' value='{$object["staffPhoto"]}'/>
</td>
</tr>
<tr>
<th>职员名称<font color='red'>*</font></th>
<td><input type="text" id='staffName' class='ipt' value="{$object['staffName']}" maxLength='20' data-rule="职员名称: required;"/></td>
</tr>
<tr>
<th>职员编号:</th>
<td><input type="text" id='staffNo' class='ipt' value="{$object['staffNo']}" maxLength='20'/></td>
</tr>
<tr>
<th>角色:</th>
<td>
<select id='staffRoleId' class='ipt'>
<option value='0'>请选择</option>
{volist name="roles" id="vo"}
<option value="{$vo['roleId']}" {if condition="$object['staffRoleId'] == $vo['roleId']"}selected{/if}>{$vo.roleName}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<th>手机号码:</th>
<td><input type="text" id='staffPhone' class='ipt' maxLength='100' data-rule="mobile" value="{$object['staffPhone']}"/></td>
</tr>
<tr>
<th>微信OPENID</th>
<td><input type="text" id='wxOpenId' class='ipt' maxLength='100' value="{$object['wxOpenId']}"/></td>
</tr>
<tr>
<th>工作状态:</th>
<td class="layui-form">
<label>
<input id="workStatus1" name="workStatus" value="1" class='ipt' {if condition="$object['workStatus'] == 1"}checked{/if} type="radio" title='在职'>
</label>
<label>
<input id="workStatus0" name="workStatus" value="0" class='ipt' {if condition="$object['workStatus'] == 0"}checked{/if} type="radio" title='离职'>
</label>
</td>
</tr>
<tr>
<th>账号状态:</th>
<td colspan='2' class="layui-form">
<label>
<input type='radio' id='staffStatus1' class='ipt' name='staffStatus' {if condition="$object['staffStatus'] == 1"}checked{/if} value='1' title='开启'>
</label>
<label>
<input type='radio' id='staffStatus0' class='ipt' name='staffStatus' {if condition="$object['staffStatus'] == 0"}checked{/if} value='0' title='停用'>
</label>
</td>
</tr>
<tr>
<td colspan='3' align='center' class='wst-bottombar'>
<button type="button" onclick='javascript:save()' class='btn btn-primary btn-mright'><i class="fa fa-check"></i>保存</button>
<button type="button" onclick='javascript:history.go(-1)' class='btn'><i class="fa fa-angle-double-left"></i>返回</button>
</td>
</tr>
</table>
</form>
<script>
$(function(){
WST.upload({
pick:'#photoPicker',
formData: {dir:'staffs'},
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toAdminJson(f);
if(json.status==1){
$('#uploadMsg').empty().hide();
$('#prevwPhoto').attr('src',WST.conf.IMGURL+'/'+json.savePath+json.name);
$('#staffPhoto').val(json.savePath+json.name);
}
},
progress:function(rate){
$('#uploadMsg').show().html('已上传'+rate+"%");
}
});
});
</script>
{/block}

View File

@ -0,0 +1,45 @@
{extend name="base" /}
{block name="css"}
<link rel="stylesheet" type="text/css" href="__ADMIN__/js/mmgrid/mmGrid.css?v={$v}" />
{/block}
{block name="js"}
<script src="__ADMIN__/js/mmgrid/mmGrid.js?v={$v}" type="text/javascript"></script>
<script src="__ADMIN__/staffs/staffs.js?v={$v}" type="text/javascript"></script>
{/block}
{block name="main"}
<div id='alertTips' class='alert alert-success alert-tips fade in'>
<div id='headTip' class='head'><i class='fa fa-lightbulb-o'></i>操作说明</div>
<ul class='body'>
<li>该功能主要用于设置商城职员信息,可以对职员的操作权限,账号,密码等进行设置。</li>
</ul>
</div>
<div class="wst-toolbar">
<input id='key' type='text' class='form-control' placeholder='账号/姓名/编号'>
<button class="btn btn-primary" onclick='javascript:loadGrid(0)'><i class='fa fa-search'></i>查询</button>
{if WSTGrant('ZYGL_01')}
<button class="btn btn-success f-right" onclick='javascript:toEdit(0)'><i class='fa fa-plus'></i>新增</button>
{/if}
<div style='clear:both'></div>
</div>
<div class='wst-grid'>
<div id="mmg" class="mmg"></div>
<div id="pg" style="text-align: right;"></div>
</div>
<div id='editPassBox' style='display:none;padding-top:5px;'>
<form id='editPassFrom' autocomplete="off">
<table class='wst-form'>
<tr>
<th>新密码:</th>
<td><input type='password' id='newPass' name='newPass' class='ipt' data-rule="新密码: required;length[6~]" maxLength='16'/></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type='password' id='newPass2' name='newPass2' class='ipt' data-rule="确认密码: required;match(newPass);" maxLength='16'/></td>
</tr>
</table>
</form>
</div>
<script>
$(function(){initGrid({$Think.session.WST_STAFF.staffId});})
</script>
{/block}

View File

@ -0,0 +1,109 @@
var mmg;
function initGrid(staffId){
var h = WST.pageHeight();
var cols = [
{title:'职员账号', name:'loginName', width: 60},
{title:'职员名称', name:'staffName' ,width:60},
{title:'职员角色', name:'roleName' ,width:50},
{title:'职员编号', name:'staffNo' ,width:30},
{title:'工作状态', name:'workStatus' ,width:20,renderer: function(val,item,rowIndex){
return (val==1)?"<span class='statu-yes'><i class='fa fa-check-circle'></i> 在职</span>":"<span class='statu-no'><i class='fa fa-ban'></i> 离职</span>";
}},
{title:'登录时间', name:'lastTime' ,width:100},
{title:'登录IP', name:'lastIP' ,width:60},
{title:'操作', name:'' ,width:150, align:'center', renderer: function(val,item,rowIndex){
var h = "";
if(WST.GRANT.ZYGL_02)h += "<a class='btn btn-blue' onclick='javascript:toEditPass(" + item['staffId'] + ")'><i class='fa fa-key'></i>修改密码</a> ";
if(WST.GRANT.ZYGL_02)h += "<a class='btn btn-blue' onclick='javascript:toEdit(" + item['staffId'] + ")'><i class='fa fa-pencil'></i>修改</a> ";
if(item['staffId']!=1 && item['staffId']!=staffId && WST.GRANT.ZYGL_03)h += "<a class='btn btn-red' onclick='javascript:toDel(" + item['staffId'] + ")'><i class='fa fa-trash-o'></i>删除</a> ";
return h;
}}
];
mmg = $('.mmg').mmGrid({height: (h-155),indexCol: true, cols: cols,method:'POST',
url: WST.U('admin/staffs/pageQuery'), fullWidthRows: true, autoLoad: true,
plugins: [
$('#pg').mmPaginator({})
]
});
$('#headTip').WSTTips({width:90,height:35,callback:function(v){
var diff = v?155:128;
mmg.resize({height:h-diff})
}});
}
function loadGrid(){
mmg.load({page:1,key:$('#key').val()});
}
function toEdit(id){
location.href=WST.U('admin/staffs/'+((id==0)?'toAdd':'toEdit'),'id='+id);
}
function toDel(id){
var box = WST.confirm({content:"您确定要删除该职员吗?",yes:function(){
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/staffs/del'),{id:id},function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
layer.close(box);
loadGrid();
}else{
WST.msg(json.msg,{icon:2});
}
});
}});
}
function checkLoginKey(obj){
if($.trim(obj.value)=='')return;
var params = {key:obj.value,userId:0};
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/staffs/checkLoginKey'),params,function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status!='1'){
WST.msg(json.msg,{icon:2});
obj.value = '';
}
});
}
function save(){
var params = WST.getParams('.ipt');
if(params.staffId==0){
if(!$('#loginName').isValid())return;
if(!$('#loginPwd').isValid())return;
}
if(!$('#staffName').isValid())return;
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/staffs/'+((params.staffId==0)?"add":"edit")),params,function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
location.href=WST.U('admin/staffs/index');
}else{
WST.msg(json.msg,{icon:2});
}
});
}
function toEditPass(id){
var w = WST.open({type: 1,title:"修改密码",shade: [0.6, '#000'],border: [0],content:$('#editPassBox'),area: ['450px', '200px'],
btn: ['确定', '取消'],end:function(){$('#editPassBox').hide();},yes: function(index, layero){
$('#editPassFrom').isValid(function(v){
if(v){
var params = WST.getParams('.ipt');
params.staffId = id;
var ll = WST.msg('数据处理中,请稍候...');
$.post(WST.U('admin/Staffs/editPass'),params,function(data){
layer.close(ll);
var json = WST.toAdminJson(data);
if(json.status==1){
WST.msg(json.msg, {icon: 1});
layer.close(w);
}else{
WST.msg(json.msg, {icon: 2});
}
});
}})
}
});
}