Files
2025-12-22 13:59:40 +08:00

595 lines
27 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{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>