first commit
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
|
||||
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">全部</li>
|
||||
<li>我申请的</li>
|
||||
<li>待我审批</li>
|
||||
<li>我已审批</li>
|
||||
<li>抄送我的</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<form class="layui-form gg-form-bar border-x tab-0" id="barsearchform">
|
||||
<div class="layui-input-inline search-item" style="width:150px;">
|
||||
<select name="check_status">
|
||||
<option value="">选择审批状态</option>
|
||||
{volist name=":get_check_status()" id="vo"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:175px;">
|
||||
<input type="text" class="layui-input" id="move_time" placeholder="选择调动日期" readonly name="move_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<input type="hidden" name="tab" value="0"/>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="add">+ 添加人事调动申请</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus','oaPicker'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,element = layui.element,laydatePlus = layui.laydatePlus;
|
||||
//日期范围
|
||||
var move_time = new laydatePlus({'target':'move_time'});
|
||||
//tab切换
|
||||
element.on('tab(tab)', function(data){
|
||||
$('[name="tab"]').val(data.index);
|
||||
$("#barsearchform")[0].reset();
|
||||
layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
, toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
, url: "/user/personal/change"
|
||||
, page: true //开启分页
|
||||
, limit: 20
|
||||
, height: 'full-154'
|
||||
, cols: [[
|
||||
{ field: 'id', width: 80, title: '序号', align: 'center' }
|
||||
,{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
|
||||
var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
, { field: 'name', width: 80, title: '员工姓名', align: 'center'}
|
||||
, { field: 'from_department', width: 150, title: '调出部门','style':'color:#FF5722'}
|
||||
, { field: 'to_department', width: 150, title: '调入部门','style':'color:#1e9fff'}
|
||||
, { field: 'status', width: 80,title: '执行状态', align: 'center',
|
||||
templet: function (d) {
|
||||
if(d.status==1){
|
||||
return '<span class="green">未执行</span>';
|
||||
}
|
||||
else{
|
||||
return '<span class="red">已执行</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
, { field: 'move_time', title: '调动日期',width: 100, align: 'center'}
|
||||
, { field: 'remark', title: '调动原因'}
|
||||
, {field: 'admin_name',title: '申请人',align: 'center',width: 80}
|
||||
, {field: 'create_time',title: '申请时间',align: 'center',width: 150}
|
||||
, {field: 'check_user',title: '当前审核人'}
|
||||
, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 130,
|
||||
align: 'center',
|
||||
templet:function(d){
|
||||
var html='<div class="layui-btn-group">';
|
||||
var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
|
||||
var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
|
||||
var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
|
||||
let btn4='<button class="layui-btn layui-bg-orange layui-btn-xs" lay-event="set">执行</button>';
|
||||
html+=btn1;
|
||||
if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
|
||||
html+=btn2+btn3;
|
||||
}
|
||||
if(d.check_status==2 && d.status==1){
|
||||
html+=btn4;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj){
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/user/personal/change_add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side('/user/personal/change_view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'set') {
|
||||
layer.confirm('确定要执行部门调动吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.delete("/user/api/change_check", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.delete("/user/personal/change_delete", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
tool.side("/user/personal/change_add");
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(webform)', function(data){
|
||||
if(data.field.keywords) {
|
||||
layui.pageTable.reload({where:{keywords:data.field.keywords},page:{curr:1}});
|
||||
}
|
||||
else{
|
||||
location.reload();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,174 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">人事调动</h3>
|
||||
{if condition="$id eq 0"}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">调动员工<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="name" placeholder="请选择需要调动的员工" lay-reqText="请选择需要调动的员工" lay-verify="required" autocomplete="off" class="layui-input" readonly>
|
||||
<input type="hidden" name="uid" value="0">
|
||||
<input type="hidden" name="from_did" value="0">
|
||||
</td>
|
||||
<td class="layui-td-gray">调出部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="from_department" lay-verify="required" autocomplete="off" placeholder="请选择调出部门" lay-reqText="请选择调出部门" class="layui-input" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动日期<font>*</font></td>
|
||||
<td><input type="text" name="move_time" lay-verify="required" autocomplete="off" placeholder="请选择调动日期" lay-reqText="请选择调动日期" readonly class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">调入部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="to_department" lay-verify="required" autocomplete="off" placeholder="请选择调入部门" lay-reqText="请选择调入部门" class="layui-input picker-oa" data-types="department" readonly>
|
||||
<input type="hidden" name="to_did" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动原因<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" placeholder="请输入调动原因" class="layui-textarea" lay-verify="required" lay-reqText="请输入调动原因"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input data-type="file" type="hidden" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">调动员工</td>
|
||||
<td>{$detail.name}</td>
|
||||
<td class="layui-td-gray">调出部门</td>
|
||||
<td>{$detail.from_department}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动日期<font>*</font></td>
|
||||
<td><input type="text" name="move_time" value="{$detail.move_time|default=''}" lay-verify="required" autocomplete="off" placeholder="请选择调动日期" lay-reqText="请选择调动日期" readonly class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">调入部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="to_department" lay-verify="required" autocomplete="off" placeholder="请选择调入部门" lay-reqText="请选择调入部门" class="layui-input picker-oa" data-types="department" readonly value="{$detail.to_department}">
|
||||
<input type="hidden" name="to_did" value="0" value="{$detail.to_did}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动原因<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" placeholder="请输入调动原因" class="layui-textarea" lay-verify="required" lay-reqText="请输入调动原因">{$detail.remark|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input data-type="file" type="hidden" name="file_ids" value="{$detail.file_ids|default=''}">
|
||||
{notempty name="$detail.file_ids"}
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/if}
|
||||
<div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$id}" />
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','oaCheck','uploadPlus'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaCheck=layui.oaCheck,oaPicker=layui.oaPicker,uploadPlus=layui.uploadPlus;
|
||||
oaCheck.init({
|
||||
check_name:'department_change',
|
||||
check_btn:0
|
||||
});
|
||||
var fileUp = new uploadPlus();
|
||||
|
||||
$('body').on('click','[name="from_department"]',function(){
|
||||
var val=$(this).val();
|
||||
if(val==''){
|
||||
layer.msg('请先选择需要调动的员工');
|
||||
}
|
||||
});
|
||||
|
||||
//选择员工弹窗
|
||||
$('body').on('click','[name="name"]',function () {
|
||||
let that = $(this);
|
||||
let ids=that.next().val()+'',names = that.val()+'';
|
||||
oaPicker.employeeInit({
|
||||
ids:ids,
|
||||
names:names,
|
||||
type:1,//1是单选,2是多选
|
||||
callback:function(data){
|
||||
//这里是选择后的回调方法,可以根据具体需求自定义写哦
|
||||
let select_id=[],select_name=[],select_did=[],select_department=[];
|
||||
for(var a=0; a<data.length;a++){
|
||||
select_id.push(data[a].id);
|
||||
select_name.push(data[a].name);
|
||||
select_did.push(data[a].did);
|
||||
select_department.push(data[a].department);
|
||||
}
|
||||
that.val(select_name.join(','));
|
||||
that.next().val(select_id.join(','));
|
||||
$('[name="uid"]').val(select_id.join(','));
|
||||
$('[name="name"]').val(select_name.join(','));
|
||||
$('[name="from_did"]').val(select_did.join(','));
|
||||
$('[name="from_department"]').val(select_department.join(','));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
if(data.field.uid==0 || data.field.from_did==0){
|
||||
layer.msg('请选择要调用的员工');
|
||||
return false;
|
||||
}
|
||||
if(data.field.to_did==''){
|
||||
layer.msg('请选择要调入的部门');
|
||||
return false;
|
||||
}
|
||||
if(data.field.to_did==data.field.from_did){
|
||||
layer.msg('要调入的部门和调出的部门不能是同一个部门');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
let checkCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
data.field.check_name = 'department_change';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/user/personal/change_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,60 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">人事调动</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动员工</td>
|
||||
<td>{$detail.name}</td>
|
||||
<td class="layui-td-gray">调出部门</td>
|
||||
<td>{$detail.from_department}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动日期</td>
|
||||
<td>{$detail.move_time}</td>
|
||||
<td class="layui-td-gray-2">调入部门</td>
|
||||
<td>{$detail.to_department}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">调动原因</td>
|
||||
<td colspan="3">{$detail.remark}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">执行状态</td>
|
||||
<td>{$detail.status_str}</td>
|
||||
<td class="layui-td-gray-2">执行时间</td>
|
||||
<td>{$detail.connect_time_str}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'department_change',
|
||||
check_btn:0
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,175 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<div class="layui-card border-x border-t" style="margin-bottom:0; box-shadow:0 0 0 0 rgb(5 32 96 / 0%)">
|
||||
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this">全部</li>
|
||||
<li>我申请的</li>
|
||||
<li>待我审批</li>
|
||||
<li>我已审批</li>
|
||||
<li>抄送我的</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<form class="layui-form gg-form-bar border-x tab-0" id="barsearchform">
|
||||
<div class="layui-input-inline search-item" style="width:150px;">
|
||||
<select name="check_status">
|
||||
<option value="">选择审批状态</option>
|
||||
{volist name=":get_check_status()" id="vo"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px;">
|
||||
<input type="text" class="layui-input picker-oa" data-types="department" placeholder="选择离职部门" readonly>
|
||||
<input type="text" name="did" style="display:none;">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:175px;">
|
||||
<input type="text" class="layui-input" id="quit_time" placeholder="选择离职日期" readonly name="quit_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<input type="hidden" name="tab" value="0"/>
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="table-search"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="table-reset">清空</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="add">+ 添加离职申请</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus','oaPicker'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,element = layui.element,laydatePlus = layui.laydatePlus;
|
||||
//日期范围
|
||||
var quit_time = new laydatePlus({'target':'quit_time'});
|
||||
//tab切换
|
||||
element.on('tab(tab)', function(data){
|
||||
$('[name="tab"]').val(data.index);
|
||||
$("#barsearchform")[0].reset();
|
||||
layui.pageTable.reload({where:{tab:data.index},page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
, toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
, url: "/user/personal/leave"
|
||||
, page: true //开启分页
|
||||
, limit: 20
|
||||
, height: 'full-154'
|
||||
, cols: [[
|
||||
{ field: 'id', width: 80, title: '序号', align: 'center' }
|
||||
,{field:'check_status',title: '审批状态',width:110, align:'center',templet: function(d){
|
||||
var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
, { field: 'name', width: 80, title: '离职员工', align: 'center','style':'color:#FF5722'}
|
||||
, { field: 'position', width: 100, title: '职位', align: 'center'}
|
||||
, { field: 'department', width: 120, title: '所在部门', align: 'center'}
|
||||
, { field: 'lead_admin_name', width: 80, title: '上级领导', align: 'center'}
|
||||
, { field: 'quit_time', width: 100,title: '离职日期', align: 'center'}
|
||||
, { field: 'status', width: 80,title: '交接状态', align: 'center',
|
||||
templet: function (d) {
|
||||
if(d.status==1){
|
||||
return '<span class="green">未交接</span>';
|
||||
}
|
||||
else{
|
||||
return '<span class="red">已交接</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
, { field: 'connect_name', width: 90, title: '资料接受人', align: 'center'}
|
||||
, { field: 'connect_time_str', width: 90, title: '交接日期', align: 'center'}
|
||||
, { field: 'remark', title: '离职原因'}
|
||||
, {field: 'admin_name',title: '申请人',align: 'center',width: 80}
|
||||
, {field: 'create_time',title: '申请时间',align: 'center',width: 150}
|
||||
, {field: 'check_user',title: '当前审核人'}
|
||||
, {
|
||||
field: 'right',
|
||||
fixed: 'right',
|
||||
title: '操作',
|
||||
width: 130,
|
||||
align: 'center',
|
||||
templet:function(d){
|
||||
var html='<div class="layui-btn-group">';
|
||||
var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
|
||||
var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
|
||||
var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
|
||||
let btn4='<button class="layui-btn layui-bg-orange layui-btn-xs" lay-event="set">资料交接</button>';
|
||||
html+=btn1;
|
||||
if((d.check_status==0 || d.check_status==4) && d.admin_id==login_admin){
|
||||
html+=btn2+btn3;
|
||||
}
|
||||
if(d.check_status==2 && d.status==1){
|
||||
html+=btn4;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj){
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/user/personal/leave_add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side('/user/personal/leave_view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'set') {
|
||||
layer.confirm('确定要把【'+data.name+'】相关的项目、合同、客户等资料交接给【'+data.connect_name+'】吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.delete("/user/api/leave_check", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.delete("/user/personal/leave_delete", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(test)', function(obj){
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = checkStatus.data;
|
||||
if (obj.event === 'add') {
|
||||
tool.side("/user/personal/leave_add");
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,197 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">离职申请</h3>
|
||||
{if condition="$id eq 0"}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职员工<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="name" placeholder="请选择离职员工" lay-reqText="请选择离职员工" lay-verify="required" autocomplete="off" class="layui-input picker" readonly>
|
||||
<input type="hidden" name="uid" value="0" autocomplete="off">
|
||||
<input type="hidden" name="did" value="0" autocomplete="off">
|
||||
</td>
|
||||
<td class="layui-td-gray">所在部门</td>
|
||||
<td><input type="text" name="department" autocomplete="off" class="layui-input" readonly></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职日期<font>*</font></td>
|
||||
<td><input type="text" name="quit_time" lay-verify="required" autocomplete="off" placeholder="请选择离职日期" lay-reqText="请选择离职日期" readonly class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray-2">上级领导<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="lead_admin_name" autocomplete="off" lay-verify="required" placeholder="请选择上级领导" lay-reqText="请选择上级领导" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="lead_admin_id" autocomplete="off" value="0">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">资料接受人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="connect_name" autocomplete="off" lay-verify="required" placeholder="请选择资料接受人" lay-reqText="请选择资料接受人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="connect_id" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">参与交接人员<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="connect_names" autocomplete="off" lay-verify="required" placeholder="请选择参与交接人员" lay-reqText="请选择参与交接人员" readonly class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="connect_uids" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职原因<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" lay-verify="required" placeholder="请输入离职原因" lay-reqText="请输入离职原因" class="layui-textarea"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input data-type="file" type="hidden" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职员工</td>
|
||||
<td>{$detail.name}</td>
|
||||
<td class="layui-td-gray">所在部门</td>
|
||||
<td>
|
||||
{$detail.department}
|
||||
<input type="hidden" name="uid" value="{$detail.uid}" autocomplete="off">
|
||||
<input type="hidden" name="did" value="{$detail.did}" autocomplete="off">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职日期<font>*</font></td>
|
||||
<td><input type="text" name="quit_time" value="{$detail.quit_time}" lay-verify="required" autocomplete="off" placeholder="请选择离职日期" lay-reqText="请选择离职日期" readonly class="layui-input tool-time">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">上级领导<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="lead_admin_name" autocomplete="off" value="{$detail.lead_admin_name}" lay-verify="required" placeholder="请选择上级领导" lay-reqText="请选择上级领导" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="lead_admin_id" autocomplete="off" value="{$detail.lead_admin_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">资料接受人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="connect_name" autocomplete="off" lay-verify="required" placeholder="请选择资料接受人" lay-reqText="请选择资料接受人" readonly class="layui-input picker-admin" value="{$detail.connect_name}">
|
||||
<input type="hidden" name="connect_id" class="layui-input" value="{$detail.connect_id}">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">参与交接人员<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="connect_names" autocomplete="off" lay-verify="required" placeholder="请选择参与交接人员" lay-reqText="请选择参与交接人员" readonly class="layui-input picker-admin" data-type="2" value="{$detail.connect_names}">
|
||||
<input type="hidden" name="connect_uids" class="layui-input" value="{$detail.connect_uids}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职原因<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" lay-verify="required" placeholder="请输入离职原因" lay-reqText="请输入离职原因" class="layui-textarea">{$detail.remark}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">附件 <button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input data-type="file" type="hidden" name="file_ids" value="{$detail.file_ids|default=''}">
|
||||
{notempty name="$detail.file_ids"}
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/if}
|
||||
<div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$id}" />
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','uploadPlus','oaCheck','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus=layui.uploadPlus,oaCheck=layui.oaCheck,oaPicker=layui.oaPicker;
|
||||
oaCheck.init({
|
||||
check_name:'personal_quit',
|
||||
check_btn:0
|
||||
});
|
||||
var fileUp = new uploadPlus();
|
||||
|
||||
$('body').on('click','[name="department"]',function(){
|
||||
var val=$(this).val();
|
||||
if(val==''){
|
||||
layer.msg('请选择离职员工');
|
||||
}
|
||||
});
|
||||
|
||||
//选择员工弹窗
|
||||
$('body').on('click','.picker',function () {
|
||||
let that = $(this);
|
||||
let ids=that.next().val()+'',names = that.val()+'';
|
||||
oaPicker.employeeInit({
|
||||
ids:ids,
|
||||
names:names,
|
||||
type:1,//1是单选,2是多选
|
||||
callback:function(data){
|
||||
//这里是选择后的回调方法,可以根据具体需求自定义写哦
|
||||
let select_id=[],select_name=[],select_did=[],select_department=[];
|
||||
for(var a=0; a<data.length;a++){
|
||||
select_id.push(data[a].id);
|
||||
select_name.push(data[a].name);
|
||||
select_did.push(data[a].did);
|
||||
select_department.push(data[a].department);
|
||||
}
|
||||
that.val(select_name.join(','));
|
||||
that.next().val(select_id.join(','));
|
||||
$('[name="uid"]').val(select_id.join(','));
|
||||
$('[name="name"]').val(select_name.join(','));
|
||||
$('[name="did"]').val(select_did.join(','));
|
||||
$('[name="department"]').val(select_department.join(','));
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
if(data.field.uid==data.field.lead_admin_id){
|
||||
layer.msg('离职员工和上级领导不能是同一个人');
|
||||
return false;
|
||||
}
|
||||
if(data.field.uid==data.field.connect_id){
|
||||
layer.msg('离职员工和资料接受人不能是同一个人');
|
||||
return false;
|
||||
}
|
||||
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
let checkCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
data.field.check_name = 'personal_quit';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/user/personal/leave_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,66 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">离职申请</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职员工</td>
|
||||
<td>{$detail.name} 「{$detail.position}」</td>
|
||||
<td class="layui-td-gray">所在部门</td>
|
||||
<td>{$detail.department}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职日期</td>
|
||||
<td>{$detail.quit_time}</td>
|
||||
<td class="layui-td-gray-2">上级领导</td>
|
||||
<td>{$detail.lead_admin_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">资料接受人</td>
|
||||
<td>{$detail.connect_name}</td>
|
||||
<td class="layui-td-gray-2">参与交接人员</td>
|
||||
<td>{$detail.connect_names}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">离职原因</td>
|
||||
<td colspan="3">{$detail.remark}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">交接状态</td>
|
||||
<td>{$detail.status_str}</td>
|
||||
<td class="layui-td-gray-2">交接时间</td>
|
||||
<td>{$detail.connect_time_str}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status|default=0}" data-id="{$detail.id|default=0}" data-checkflowid="{$detail.check_flow_id|default=0}" class="pt-3"></div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'personal_quit',
|
||||
check_btn:0
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user