595 lines
27 KiB
HTML
595 lines
27 KiB
HTML
{layout name="layout1" /}
|
||
<style>
|
||
.layui-table-cell {
|
||
height:auto;
|
||
}
|
||
.goods-content>div:not(:last-of-type) {
|
||
border-bottom:1px solid #DCDCDC;
|
||
}
|
||
.goods-data::after{
|
||
display: block;
|
||
content: '';
|
||
clear: both;
|
||
}
|
||
.goods_name_hide{
|
||
overflow:hidden;
|
||
white-space:nowrap;
|
||
text-overflow: ellipsis;
|
||
}
|
||
.operation-btn {
|
||
margin: 5px;
|
||
}
|
||
.table-operate{
|
||
text-align: left;
|
||
font-size:14px;
|
||
padding:0 5px;
|
||
height:auto;
|
||
overflow:visible;
|
||
text-overflow:inherit;
|
||
white-space:normal;
|
||
word-break: break-all;
|
||
}
|
||
.user_img{
|
||
width: 80px;
|
||
height: 80px;
|
||
background-color: #666;
|
||
}
|
||
</style>
|
||
|
||
<div class="layui-fluid">
|
||
<div class="layui-card">
|
||
<div class="layui-card-body">
|
||
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
|
||
<div class="layui-colla-item">
|
||
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
|
||
<div class="layui-colla-content layui-show">
|
||
<p>*哆啦猫内部员工列表,对员工档案进行编辑,账户调整,资料查看等操作。</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
|
||
<ul class="layui-tab-title">
|
||
<li data-type='' class="layui-this">全部</li>
|
||
<li data-type="5">在职人员</li>
|
||
<li data-type="1">离职人员</li>
|
||
</ul>
|
||
|
||
<div class="layui-tab-item layui-show">
|
||
<div class="layui-card">
|
||
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
||
<div class="layui-row">
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">员工姓名:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="name" id="name" placeholder="请输入员工姓名"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">手机号码:</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="mobile" id="mobile" placeholder="请输入客户手机号码"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">隶属区域:</label>
|
||
<div class="layui-input-block">
|
||
<select name="area_id" id="order_type">
|
||
<option value="">全部</option>
|
||
<option value="520102">南明区</option>
|
||
<option value="520103">云岩区</option>
|
||
<option value="520111">花溪区</option>
|
||
<option value="520112">乌当区</option>
|
||
<option value="520113">白云区</option>
|
||
<option value="520115">观山湖区</option>
|
||
<option value="520122">息烽县</option>
|
||
<option value="520123">修文县</option>
|
||
<option value="520181">清镇市</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">是否结婚:</label>
|
||
<div class="layui-input-block">
|
||
<select name="marry" id="marry">
|
||
<option value="">请选是否结婚</option>
|
||
<option value="1">是</option>
|
||
<option value="0">否</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<br>
|
||
<p style="height: 15px;"></p>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">是否过敏:</label>
|
||
<div class="layui-input-block">
|
||
<select name="allergy" id="allergy">
|
||
<option value="">全部</option>
|
||
<option value="">请选是否过敏</option>
|
||
<option value="0">是</option>
|
||
<option value="1">否</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">员工性别:</label>
|
||
<div class="layui-input-block">
|
||
<select name="sex" id="sex">
|
||
<option value="">请选员工性别</option>
|
||
<option value="1">男</option>
|
||
<option value="2">女</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">员工分类:</label>
|
||
<div class="layui-input-block">
|
||
<select name="pid" id="pid">
|
||
<option value="">全部</option>
|
||
{foreach $type as $item }
|
||
<option value="{$item.id}">{$item.name}</option>
|
||
{/foreach}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">隶属部门:</label>
|
||
<div class="layui-input-block">
|
||
<select name="group_id" id="group_id">
|
||
<option value="">全部</option>
|
||
{foreach $type as $item }
|
||
<option value="{$item.id}">{$item.name}</option>
|
||
{/foreach}
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<p style="height: 15px;"></p>
|
||
<div class="layui-inline" style="width: 24%;">
|
||
<label class="layui-form-label">是否在职:</label>
|
||
<div class="layui-input-block">
|
||
<select name="onwork" id="onwork">
|
||
<option value="">全部</option>
|
||
<option value="1">在职</option>
|
||
<option value="0">离职</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="layui-inline">
|
||
<label class="layui-form-label">入职时间:</label>
|
||
<div class="layui-input-inline">
|
||
<div class="layui-input-inline" >
|
||
<input type="text" name="start_time" class="layui-input" id="start_time"
|
||
placeholder="" autocomplete="off">
|
||
</div>
|
||
</div>
|
||
<div class="layui-input-inline" style="margin-right: 5px;width: 20px;">
|
||
<label class="layui-form-mid">至</label>
|
||
</div>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="end_time" class="layui-input" id="end_time"
|
||
placeholder="" autocomplete="off">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-inline">
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad {$view_theme_color}" lay-submit
|
||
lay-filter="user-search">查询
|
||
</button>
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-primary " lay-submit
|
||
lay-filter="user-clear-search">清空查询
|
||
</button>
|
||
<button class="layui-btn layui-btn-sm layuiadmin-btn-ad layui-btn-primary " lay-submit
|
||
lay-filter="export-file">导出
|
||
</button>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="layui-card-body">
|
||
<table id="order-lists" lay-filter="order-lists"></table>
|
||
|
||
<script type="text/html" id="userimg">
|
||
<div class="user_img"></div>
|
||
</script>
|
||
<script type="text/html" id="userinfo">
|
||
<div>姓名:{{d.name}}</div>
|
||
<div>电话:{{d.mobile}}</div>
|
||
<div>性别:</div>
|
||
</script>
|
||
<script type="text/html" id="state">
|
||
{{# if(d.state === 0) { }}
|
||
<p style="color:#1E9FFF">正常</p>
|
||
{{# } }}
|
||
{{# if(d.state === 1) { }}
|
||
<p style="color:#ee0000">停止</p>
|
||
{{# } }}
|
||
</script>
|
||
<script type="text/html" id="user-operation">
|
||
<div class="table-operate">
|
||
<a class=" layui-btn-primary layui-btn-sm " lay-event="adjust_user" style="display: inline-block;">查看</a>
|
||
<a class="layui-btn-primary layui-btn-sm " lay-event="edit" style="display: inline-block; margin-top:10px">编辑</a>
|
||
<a class="layui-btn-primary layui-btn-sm " lay-event="adder" style="display: inline-block; margin-top:10px">定位</a>
|
||
<a class="layui-btn-primary layui-btn-sm " lay-event="info" style="display: inline-block; margin-top:10px">分值</a>
|
||
<a class="layui-btn-primary layui-btn-sm " lay-event="complete" style="display: inline-block; margin-top:10px">日志</a>
|
||
<a class="layui-btn-primary layui-btn-sm " lay-event="adjust_level" style="display: inline-block; margin-top:10px;background-color:#ff5722;color:#fff">删除</a>
|
||
<div>
|
||
</script>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
layui.config({
|
||
version:"{$front_version}",
|
||
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
|
||
}).extend({
|
||
index: 'lib/index' //主入口模块
|
||
}).use(['index', 'table', 'like', 'laydate'], function () {
|
||
var $ = layui.$
|
||
, form = layui.form
|
||
, table = layui.table
|
||
, like = layui.like
|
||
, element = layui.element
|
||
, laydate = layui.laydate;
|
||
var listType = '';
|
||
|
||
//图片放大
|
||
$(document).on('click', '.image-show', function () {
|
||
var src = $(this).attr('src');
|
||
like.showImg(src,600);
|
||
});
|
||
|
||
//监听搜索
|
||
form.on('submit(user-search)', function (data) {
|
||
var field = data.field;
|
||
//执行重载
|
||
table.reload('order-lists', {
|
||
where: field,
|
||
page: {
|
||
curr: 1
|
||
}
|
||
});
|
||
});
|
||
//清空查询
|
||
form.on('submit(order-clear-search)', function () {
|
||
$('#keyword').val('');
|
||
$('#order_status').val('');
|
||
$('#goods_name').val('');
|
||
$('#pay_way').val('');
|
||
$('#order_type').val('');
|
||
$('#order_source').val('');
|
||
$('#start_time').val('');
|
||
$('#end_time').val('');
|
||
$('#delivery_type').val('');
|
||
form.render('select');
|
||
//刷新列表
|
||
table.reload('order-lists', {
|
||
where: [],
|
||
page: {
|
||
curr: 1
|
||
}
|
||
});
|
||
});
|
||
form.on('submit(send_coupon)', function(data){
|
||
layer.open({
|
||
type: 2
|
||
,title: '增加服务订单'
|
||
,content: '{:url("order/add")}'
|
||
,area: ['70%', '70%']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submitID = 'user_group-submit'
|
||
,submit = layero.find('iframe').contents().find("#add-user_group-submit");
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(add-user_group-submit)', function(data){
|
||
var field = data.field;
|
||
like.ajax({
|
||
url:'{:url("order/add")}',
|
||
data:field,
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('order-lists');
|
||
}
|
||
}
|
||
});
|
||
});
|
||
submit.trigger('click');
|
||
}
|
||
});
|
||
});
|
||
// 导出
|
||
form.on('submit(export-file)', function(data){
|
||
var field = data.field;
|
||
$.ajax({
|
||
url: '{:url("order/exportFile")}?type=' + listType,
|
||
type: 'get',
|
||
data: field,
|
||
dataType: 'json',
|
||
error: function() {
|
||
layer.msg('导出超时,请稍后再试!');
|
||
},
|
||
success: function(res) {
|
||
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
|
||
},
|
||
timeout: 15000
|
||
});
|
||
layer.msg('导出中请耐心等待~');
|
||
});
|
||
|
||
//日期时间范围
|
||
laydate.render({
|
||
elem: '#start_time'
|
||
,type: 'datetime'
|
||
,trigger: 'click'
|
||
});
|
||
|
||
|
||
laydate.render({
|
||
elem: '#end_time'
|
||
,type: 'datetime'
|
||
,trigger: 'click'
|
||
});
|
||
|
||
//获取列表
|
||
getList(listType);
|
||
//切换列表
|
||
element.on('tab(tab-all)', function (data) {
|
||
$('#keyword').val('');
|
||
$('#order_status').val('');
|
||
$('#goods_name').val('');
|
||
$('#pay_way').val('');
|
||
$('#order_type').val('');
|
||
$('#start_time').val('');
|
||
$('#end_time').val('');
|
||
$('#delivery_type').val('');
|
||
form.render('select');
|
||
listType = $(this).attr('data-type');
|
||
getList(listType);
|
||
if (listType !== ''){
|
||
$('.order_status').hide();
|
||
}else {
|
||
$('.order_status').show();
|
||
}
|
||
});
|
||
|
||
function getList(type) {
|
||
table.render({
|
||
elem: '#order-lists'
|
||
,url: '{:url("staff/lists")}?type=' + type//模拟接口
|
||
, cols: [[
|
||
{field: 'userinfo', width: 110, title: '员工图像', toolbar: '#userimg'}
|
||
,{field: 'user_id', title: '基础信息',align: 'left',width: 280,toolbar: '#userinfo'}
|
||
,{field: 'jon', title: '工号',align: 'center',}
|
||
,{field: 'group_name', title: ' 隶属部门',align: 'center',}
|
||
,{field: 'distance', title: ' 雷达距离(KM)',align: 'center',}
|
||
,{field: 'addr', title: '位置定位',}
|
||
,{field: 'transit', title: '出行工具',}
|
||
,{field: 'updatetime', title: '接单状态',toolbar:'#state'}
|
||
,{field: 'number', title: '服务分',}
|
||
,{field: 'updatetime', title: '创建时间',}
|
||
,{fixed: 'right', title: '操作', width:140, toolbar: '#user-operation'}
|
||
]]
|
||
, page: true
|
||
, limit: 17
|
||
, text: {none: '暂无数据!'}
|
||
, parseData: function (res) {
|
||
return {
|
||
"code": res.code,
|
||
"msg": res.msg,
|
||
"count": res.data.count,
|
||
"data": res.data.lists,
|
||
};
|
||
}
|
||
,done: function(res, curr, count){
|
||
// 解决操作栏因为内容过多换行问题
|
||
$(".layui-table-main tr").each(function (index, val) {
|
||
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
|
||
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
//监听工具条
|
||
table.on('tool(order-lists)', function (obj) {
|
||
var id = obj.data.id;
|
||
if(obj.event === 'edit'){
|
||
var id = obj.data.id;
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑员工资料'
|
||
,content: '{:url("staff/edit")}?id='+id
|
||
,area: ['90%', '90%']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submit = layero.find('iframe').contents().find('#edit-submit');
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(edit-submit)', function(data){
|
||
|
||
var field = data.field;
|
||
$.ajax({
|
||
url:'{:url("staff/edit")}',
|
||
data:field,
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('user-lists'); //数据刷新
|
||
}else{
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
submit.trigger('click');
|
||
}
|
||
})
|
||
}
|
||
if(obj.event === 'info'){
|
||
var id = obj.data.id;
|
||
layer.open({
|
||
type: 2
|
||
,title: '服务分调整'
|
||
,content: '{:url("staff/staffinfo")}?id='+id
|
||
,area: ['90%', '90%']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submit = layero.find('iframe').contents().find('#adjust_user-submit');
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(adjust_user-submit)', function(data){
|
||
var field = data.field;
|
||
$.ajax({
|
||
url:'{:url("staff/staffinfo")}',
|
||
data:field,
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('order-lists'); //数据刷新
|
||
}else{
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
submit.trigger('click');
|
||
}
|
||
})
|
||
}
|
||
if(obj.event === 'adjust_user'){
|
||
|
||
var id = obj.data.id;
|
||
layer.open({
|
||
type: 2
|
||
,title: '员工基础信息'
|
||
,content: '{:url("staff/info")}?id='+id
|
||
,area: ['60%','70%']
|
||
,btn: ['返回']
|
||
})
|
||
|
||
|
||
}
|
||
if(obj.event === 'adjust_level'){
|
||
var id = obj.data.id;
|
||
layer.confirm('确定删除员工', function(index){
|
||
$.ajax({
|
||
url:'{:url("staff/del")}',
|
||
data:{id:id},
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('order-lists'); //数据刷新
|
||
obj.del();
|
||
}
|
||
}
|
||
});
|
||
layer.close(index);
|
||
});
|
||
|
||
|
||
}
|
||
if(obj.event === 'adder'){
|
||
var id = obj.data.id;
|
||
layer.open({
|
||
type: 2
|
||
,title: '编辑地图'
|
||
,content: '{:url("staff/adder")}?id='+id
|
||
,area: ['50%', '90%']
|
||
,btn: ['确定', '取消']
|
||
,yes: function(index, layero){
|
||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||
,submit = layero.find('iframe').contents().find('#edit-submit');
|
||
//监听提交
|
||
iframeWindow.layui.form.on('submit(edit-submit)', function(data){
|
||
|
||
var field = data.field;
|
||
field.id = id
|
||
$.ajax({
|
||
url:'{:url("staff/adder")}',
|
||
data:field,
|
||
type:"post",
|
||
success:function(res)
|
||
{
|
||
if(res.code == 1)
|
||
{
|
||
layui.layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 1
|
||
, time: 1000
|
||
});
|
||
layer.close(index); //关闭弹层
|
||
table.reload('order-lists'); //数据刷新
|
||
}else{
|
||
layer.msg(res.msg, {
|
||
offset: '15px'
|
||
, icon: 2
|
||
, time: 1000
|
||
});
|
||
}
|
||
}
|
||
});
|
||
});
|
||
submit.trigger('click');
|
||
}
|
||
})
|
||
}
|
||
|
||
|
||
|
||
});
|
||
});
|
||
</script> |