first commit

This commit is contained in:
2026-07-23 09:40:36 +08:00
commit 090abf48fa
989 changed files with 145728 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">新增员工合同</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">合同类别</td>
<td>{$cate_title}</td>
<td class="layui-td-gray">合同类型</td>
<td>新签合同</td>
</tr>
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td>
<input type="text" name="uname" lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择员工姓名" class="layui-input picker-admin" readonly value="">
<input type="hidden" name="uid" value="0">
</td>
<td class="layui-td-gray">签约主体公司<font>*</font></td>
<td>
<select name="enterprise_id" lay-verify="required" lay-reqText="请选择签约主体公司">
<option value="">请选择</option>
{volist name=":get_base_data('Enterprise')" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">合同名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请完善合同名称" lay-reqText="请完善合同名称" class="layui-input" value="">
</td>
<td class="layui-td-gray">合同编码<font>*</font></td>
<td>
<input type="text" name="code" lay-verify="required" autocomplete="off" placeholder="请完善合同编码" lay-reqText="请完善合同编码" class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray">签订日期<font>*</font></td>
<td>
<input type="text" name="sign_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择签约日期" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray">合同属性<font>*</font></td>
<td>
<select name="properties" lay-verify="required" lay-reqText="请选择合同属性">
<option value="">请选择</option>
{volist name="$properties" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}">{$vo}</option>
{/gt}
{/volist}
</select>
</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">合同生效时间<font>*</font></td>
<td>
<input type="text" name="start_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择生效时间" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray-2">合同失效时间<font>*</font></td>
<td>
<input type="text" name="end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择失效时间" class="layui-input tool-time" value="">
</td>
</tr>
{eq name="$cate_id" value="1"}
<tr>
<td class="layui-td-gray-2">员工试用月数<font>*</font></td>
<td>
<input type="text" name="trial_months" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用月数,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">试用结束时间<font>*</font></td>
<td>
<input type="text" name="trial_end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择试用结束时间" class="layui-input tool-time" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">试用工资(元)<font>*</font></td>
<td>
<input type="text" name="trial_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用工资,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">转正工资(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/eq}
{in name="$cate_id" value="2,3"}
<tr>
<td class="layui-td-gray-2">工资费用(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/in}
<tr>
<td class="layui-td-gray">备注说明</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入备注说明,可空" class="layui-textarea"></textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><strong>相关附件</strong> <button class="layui-btn layui-btn-xs add-tr" type="button" data-type="upload" id="uploadBtn">+ 上传附件</button></td>
<td colspan="3">
<div class="layui-row" id="uploadBox">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="0"/>
<input type="hidden" name="cate" value="{$cate_id|default=1}"/>
<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>
var moduleInit = ['tool','oaPicker','uploadPlus'];
function gouguInit() {
var form = layui.form, tool = layui.tool,uploadPlus=layui.uploadPlus;
//相关附件上传
var attachment = new uploadPlus();
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
let clickbtn = $(this);
tool.post("/user/laborcontract/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+150
View File
@@ -0,0 +1,150 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">变更员工合同</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">合同类别</td>
<td>{$detail.cate_str}</td>
<td class="layui-td-gray">合同类型</td>
<td>变更合同</td>
</tr>
<tr>
<td class="layui-td-gray">续签协议</td>
<td colspan="3">{$detail.title}</td>
</tr>
<tr>
<td class="layui-td-gray">员工姓名</td>
<td>{$detail.user_name|default=''}</td>
<td class="layui-td-gray">签约主体公司</td>
<td>
<select name="enterprise_id" lay-verify="required" lay-reqText="请选择签约主体公司">
<option value="">请选择</option>
{volist name=":get_base_data('Enterprise')" id="vo"}
<option value="{$vo.id}" {eq name="$detail.enterprise_id" value="$vo.id"} selected{/eq}>{$vo.title}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">合同名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请完善合同名称" lay-reqText="请完善合同名称" class="layui-input" value="">
</td>
<td class="layui-td-gray">合同编码<font>*</font></td>
<td>
<input type="text" name="code" lay-verify="required" autocomplete="off" placeholder="请完善合同编码" lay-reqText="请完善合同编码" class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray">签订日期<font>*</font></td>
<td>
<input type="text" name="sign_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择签约日期" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray">合同属性<font>*</font></td>
<td>
<select name="properties" lay-verify="required" lay-reqText="请选择合同属性">
<option value="">请选择</option>
{volist name="$properties" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}" {eq name="$detail.properties" value="$key"} selected{/eq}>{$vo}</option>
{/gt}
{/volist}
</select>
</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">合同生效时间<font>*</font></td>
<td>
<input type="text" name="start_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择生效时间" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray-2">合同失效时间<font>*</font></td>
<td>
<input type="text" name="end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择失效时间" class="layui-input tool-time" value="">
</td>
</tr>
{eq name="$detail.cate" value="1"}
<tr>
<td class="layui-td-gray-2">员工试用月数<font>*</font></td>
<td>
<input type="text" name="trial_months" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用月数,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">试用结束时间<font>*</font></td>
<td>
<input type="text" name="trial_end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择试用结束时间" class="layui-input tool-time" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">试用工资(元)<font>*</font></td>
<td>
<input type="text" name="trial_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用工资,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">转正工资(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/eq}
{in name="$detail.cate" value="2,3"}
<tr>
<td class="layui-td-gray-2">工资费用(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/in}
<tr>
<td class="layui-td-gray">备注说明</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入备注说明,可空" class="layui-textarea"></textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><strong>相关附件</strong> <button class="layui-btn layui-btn-xs add-tr" type="button" data-type="upload" id="uploadBtn">+ 上传附件</button></td>
<td colspan="3">
<div class="layui-row" id="uploadBox">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="0"/>
<input type="hidden" name="change_pid" value="{$detail.id}"/>
<input type="hidden" name="cate" value="{$detail.cate}"/>
<input type="hidden" name="types" value="3">
<input type="hidden" name="uid" value="{$detail.uid|default=0}">
<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>
var moduleInit = ['tool','oaPicker','uploadPlus'];
function gouguInit() {
var form = layui.form, tool = layui.tool,uploadPlus=layui.uploadPlus;
//相关附件上传
var attachment = new uploadPlus();
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
let clickbtn = $(this);
tool.post("/user/laborcontract/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
@@ -0,0 +1,144 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">续签员工合同</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">合同类别</td>
<td>{$detail.cate_str}</td>
<td class="layui-td-gray">合同类型</td>
<td>续签合同</td>
</tr>
<tr>
<td class="layui-td-gray">续签协议</td>
<td colspan="3">{$detail.title}</td>
</tr>
<tr>
<td class="layui-td-gray">员工姓名</td>
<td>{$detail.user_name|default=''}</td>
<td class="layui-td-gray">签约主体公司</td>
<td>{$detail.enterprise|default=''}</td>
</tr>
<tr>
<td class="layui-td-gray">合同名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请完善合同名称" lay-reqText="请完善合同名称" class="layui-input" value="">
</td>
<td class="layui-td-gray">合同编码<font>*</font></td>
<td>
<input type="text" name="code" lay-verify="required" autocomplete="off" placeholder="请完善合同编码" lay-reqText="请完善合同编码" class="layui-input" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray">签订日期<font>*</font></td>
<td>
<input type="text" name="sign_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择签约日期" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray">合同属性<font>*</font></td>
<td>
<select name="properties" lay-verify="required" lay-reqText="请选择合同属性">
<option value="">请选择</option>
{volist name="$properties" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}">{$vo}</option>
{/gt}
{/volist}
</select>
</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">合同生效时间<font>*</font></td>
<td>
<input type="text" name="start_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择生效时间" class="layui-input tool-time" value="">
</td>
<td class="layui-td-gray-2">合同失效时间<font>*</font></td>
<td>
<input type="text" name="end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择失效时间" class="layui-input tool-time" value="">
</td>
</tr>
{eq name="$detail.cate" value="1"}
<tr>
<td class="layui-td-gray-2">员工试用月数<font>*</font></td>
<td>
<input type="text" name="trial_months" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用月数,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">试用结束时间<font>*</font></td>
<td>
<input type="text" name="trial_end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择试用结束时间" class="layui-input tool-time" value="">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">试用工资(元)<font>*</font></td>
<td>
<input type="text" name="trial_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用工资,仅为数字" class="layui-input" value="">
</td>
<td class="layui-td-gray-2">转正工资(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/eq}
{in name="$detail.cate" value="2,3"}
<tr>
<td class="layui-td-gray-2">工资费用(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="">
</td>
</tr>
{/in}
<tr>
<td class="layui-td-gray">备注说明</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入备注说明,可空" class="layui-textarea"></textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><strong>相关附件</strong> <button class="layui-btn layui-btn-xs add-tr" type="button" data-type="upload" id="uploadBtn">+ 上传附件</button></td>
<td colspan="3">
<div class="layui-row" id="uploadBox">
<input type="hidden" data-type="file" name="file_ids" value="">
</div>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="0"/>
<input type="hidden" name="renewal_pid" value="{$detail.id}"/>
<input type="hidden" name="cate" value="{$detail.cate}"/>
<input type="hidden" name="types" value="2">
<input type="hidden" name="uid" value="{$detail.uid|default=0}">
<input type="hidden" name="enterprise_id" value="{$detail.enterprise_id|default=0}">
<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>
var moduleInit = ['tool','oaPicker','uploadPlus'];
function gouguInit() {
var form = layui.form, tool = layui.tool,uploadPlus=layui.uploadPlus;
//相关附件上传
var attachment = new uploadPlus();
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
let clickbtn = $(this);
tool.post("/user/laborcontract/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+193
View File
@@ -0,0 +1,193 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-page">
<form class="layui-form gg-form-bar border-t border-x" lay-filter="barsearchform">
<div class="layui-input-inline" style="width:100px">
<select name="status">
<option value="">合同状态</option>
{volist name="$status" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}">{$vo}</option>
{/gt}
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:100px">
<select name="cate">
<option value="">合同类别</option>
{volist name="$cate" id="vo"}
<option value="{$vo.id}">{$vo.title}</option>
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:100px">
<select name="types">
<option value="">合同类型</option>
{volist name="$types" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}">{$vo}</option>
{/gt}
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:100px">
<select name="properties">
<option value="">合同属性</option>
{volist name="$properties" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}">{$vo}</option>
{/gt}
{/volist}
</select>
</div>
<div class="layui-input-inline" style="width:80px">
<input type="text" name="uname" placeholder="签订员工" class="layui-input picker-admin" value="" readonly>
<input type="text" name="uid" value="" style="display:none;">
</div>
<div class="layui-input-inline" style="width:292px;">
<input type="text" class="layui-input" id="diff_time" placeholder="签订日期" readonly name="diff_time">
</div>
<div class="layui-input-inline" style="width:150px;">
<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="table_laborcontract" lay-filter="table_laborcontract"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="add">
<span>+ 添加合同</span>
<i class="layui-icon layui-icon-down layui-font-12"></i>
</button>
</div>
</script>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const contract_cate = {:json_encode($cate,JSON_UNESCAPED_UNICODE)};
const moduleInit = ['tool','oaPicker','tablePlus','laydatePlus'];
function gouguInit() {
var table = layui.tablePlus, tool = layui.tool, laydatePlus = layui.laydatePlus,dropdown = layui.dropdown;
var diff_time = new laydatePlus({'target':'diff_time'});
layui.pageTable = table.render({
elem: "#table_laborcontract"
, toolbar: "#toolbarDemo"
,url: "/user/laborcontract/datalist"
,page: true
,limit: 20
,cellMinWidth: 80
,height: 'full-114'
,cols: [[
{field:'id',width:80, title: 'ID号', align:'center'}
,{field:'status',title: '合同状态',width:90, align:'center',templet: function(d){
if(d.status==1){
return '<span class="green">『'+d.status_str+'』</span>';
}
else if(d.status==2){
return '<span class="yellow">『'+d.status_str+'』</span>';
}
else if(d.status==3){
return '<span class="red">『'+d.status_str+'』</span>';
}
else{
return '-';
}
}}
,{field:'user_name',title: '员工',width:90, align:'center'}
,{field:'title',title: '合同名称',minWidth:240}
,{field:'cate_str',title: '合同类型',width:90, align:'center'}
,{field:'types_str',title: '合同属性',width:90, align:'center'}
,{field:'enterprise',title: '签约主体公司',width:200}
,{field:'sign_time',title: '签订日期',width:90, align:'center'}
,{field:'diff_time',title: '合同有效期间',width:200, align:'center'}
,{field:'renewal',title: '续签状态',width:80, align:'center',templet: function(d){
if(d.renewal>0){
return '<span class="red">已续签</span>';
}
else{
return '<span class="green">未续签</span>';
}
}}
,{field:'change',title: '变更状态',width:80, align:'center',templet: function(d){
if(d.change>0){
return '<span class="red">已变更</span>';
}
else{
return '<span class="green">未变更</span>';
}
}}
,{field:'admin_name',title: '创建人',width:90,align:'center'}
,{field:'create_time', title: '创建时间',width:150,align:'center'}
,{width:120,fixed:'right',title: '操作', align:'center',templet: function(d){
var html='';
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</a>';
var btn2='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
var btn3='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
html = '<div class="layui-btn-group">'+btn1+btn2+btn3+'</div>';
return html;
}}
]]
});
//表头工具栏事件
table.on('toolbar(table_laborcontract)', function(obj){
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
var data = checkStatus.data;
var that = this;
if (obj.event === 'add'){
dropdown.render({
elem: that,
show: true, // 外部事件触发即显示
data: contract_cate,
click: function(obj){
tool.side("/user/laborcontract/add?cate_id="+obj.id);
}
});
return;
}
});
table.on('tool(table_laborcontract)',function (obj) {
let data=obj.data
if (obj.event === 'view') {
tool.side("/user/laborcontract/view?id="+data.id);
return;
}
if (obj.event === 'edit') {
if(data.renewal>0 || data.change>0){
layer.msg('已续签或者已变更的合同不支持编辑,如需[编辑]请先删除续签或者变更的合同');
return false;
}
tool.side("/user/laborcontract/add?id="+data.id);
return;
}
if (obj.event === 'del') {
if(data.renewal>0 || data.change>0){
layer.msg('已续签或者已变更的合同不支持删除,如需[删除]请先删除续签或者变更的合同');
return false;
}
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/laborcontract/del", { id: data.id }, callback);
layer.close(index);
});
}
});
}
</script>
{/block}
<!-- /脚本 -->
+152
View File
@@ -0,0 +1,152 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">编辑员工合同</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">合同类别</td>
<td>{$detail.cate_str}</td>
<td class="layui-td-gray">合同类型</td>
<td>新签合同</td>
</tr>
<tr>
<td class="layui-td-gray">员工姓名<font>*</font></td>
<td>
<input type="text" name="uname" lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择员工姓名" class="layui-input picker-admin" readonly value="{$detail.user_name|default=''}">
<input type="hidden" name="uid" value="{$detail.uid|default=0}">
</td>
<td class="layui-td-gray">签约主体公司<font>*</font></td>
<td>
<select name="enterprise_id" lay-verify="required" lay-reqText="请选择签约主体公司">
<option value="">请选择</option>
{volist name=":get_base_data('Enterprise')" id="vo"}
<option value="{$vo.id}" {eq name="$detail.enterprise_id" value="$vo.id"} selected{/eq}>{$vo.title}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<td class="layui-td-gray">合同名称<font>*</font></td>
<td>
<input type="text" name="title" lay-verify="required" autocomplete="off" placeholder="请完善合同名称" lay-reqText="请完善合同名称" class="layui-input" value="{$detail.title|default=''}">
</td>
<td class="layui-td-gray">合同编码<font>*</font></td>
<td>
<input type="text" name="code" lay-verify="required" autocomplete="off" placeholder="请完善合同编码" lay-reqText="请完善合同编码" class="layui-input" value="{$detail.code|default=''}">
</td>
</tr>
<tr>
<td class="layui-td-gray">签订日期<font>*</font></td>
<td>
<input type="text" name="sign_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择签约日期" class="layui-input tool-time" value="{$detail.sign_time|default=''}">
</td>
<td class="layui-td-gray">合同属性<font>*</font></td>
<td>
<select name="properties" lay-verify="required" lay-reqText="请选择合同属性">
<option value="">请选择</option>
{volist name="$properties" id="vo"}
{gt name="$key" value="0"}
<option value="{$key}" {eq name="$detail.properties" value="$key"} selected{/eq}>{$vo}</option>
{/gt}
{/volist}
</select>
</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">合同生效时间<font>*</font></td>
<td>
<input type="text" name="start_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择生效时间" class="layui-input tool-time" value="{$detail.start_time|default=''}">
</td>
<td class="layui-td-gray-2">合同失效时间<font>*</font></td>
<td>
<input type="text" name="end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择失效时间" class="layui-input tool-time" value="{$detail.end_time|default=''}">
</td>
</tr>
{eq name="$detail.cate" value="1"}
<tr>
<td class="layui-td-gray-2">员工试用月数<font>*</font></td>
<td>
<input type="text" name="trial_months" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用月数,仅为数字" class="layui-input" value="{$detail.trial_months|default=''}">
</td>
<td class="layui-td-gray-2">试用结束时间<font>*</font></td>
<td>
<input type="text" name="trial_end_time" readonly lay-verify="required" autocomplete="off" placeholder="请选择" lay-reqText="请选择试用结束时间" class="layui-input tool-time" value="{$detail.trial_end_time|default=''}">
</td>
</tr>
<tr>
<td class="layui-td-gray-2">试用工资(元)<font>*</font></td>
<td>
<input type="text" name="trial_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善试用工资,仅为数字" class="layui-input" value="{$detail.trial_salary|default=''}">
</td>
<td class="layui-td-gray-2">转正工资(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="{$detail.worker_salary|default=''}">
</td>
</tr>
{/eq}
{in name="$detail.cate" value="2,3"}
<tr>
<td class="layui-td-gray-2">工资费用(元)<font>*</font></td>
<td>
<input type="text" name="worker_salary" lay-verify="required|number" autocomplete="off" placeholder="请选择" lay-reqText="请完善转正工资,仅为数字" class="layui-input" value="{$detail.worker_salary|default=''}">
</td>
</tr>
{/in}
<tr>
<td class="layui-td-gray">备注说明</td>
<td colspan="3">
<textarea name="remark" placeholder="请输入备注说明,可空" class="layui-textarea">{$detail.remark|default=''}</textarea>
</td>
</tr>
<tr>
<td class="layui-td-gray"><strong>相关附件</strong> <button class="layui-btn layui-btn-xs add-tr" type="button" data-type="upload" id="uploadBtn">+ 上传附件</button></td>
<td colspan="3">
<div class="layui-row" id="uploadBox">
<input type="hidden" data-type="file" 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" id="uploadFile{$vo.id}">{:file_card($vo)}</div>
{/volist}
{/notempty}
</div>
</td>
</tr>
</table>
<div class="pt-4">
<input type="hidden" name="id" value="{$detail.id|default=0}"/>
<input type="hidden" name="cate" value="{$detail.cate|default=1}"/>
<input type="hidden" name="status" value="{$detail.status|default=1}"/>
<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>
var moduleInit = ['tool','oaPicker','uploadPlus'];
function gouguInit() {
var form = layui.form, tool = layui.tool,uploadPlus=layui.uploadPlus;
//相关附件上传
var attachment = new uploadPlus();
//监听提交
form.on('submit(webform)', function (data) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
tool.sideClose(1000);
}
}
let clickbtn = $(this);
tool.post("/user/laborcontract/add", data.field, callback,clickbtn);
return false;
});
}
</script>
{/block}
<!-- /脚本 -->
+150
View File
@@ -0,0 +1,150 @@
{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<form class="layui-form p-page">
<h3 class="pb-3">员工合同详细信息</h3>
<table class="layui-table layui-table-form">
<tr>
<td class="layui-td-gray">合同类别</td>
<td>{$detail.cate_str}</td>
<td class="layui-td-gray">合同类型</td>
<td>{$detail.types_str}</td>
</tr>
{gt name="$detail.renewal_pid" value="0"}
<tr>
<td class="layui-td-gray">续签母协议</td>
<td colspan="3"><a class="blue" href="/user/laborcontract/view?id={$detail.renewal_pid}">{$detail.renewal_ptitle}</a></td>
</tr>
{/gt}
{gt name="$detail.change_pid" value="0"}
<tr>
<td class="layui-td-gray">变更母协议</td>
<td colspan="3"><a class="blue" href="/user/laborcontract/view?id={$detail.change_pid}">{$detail.change_ptitle}</a></td>
</tr>
{/gt}
<tr>
<td class="layui-td-gray">员工姓名</td>
<td>{$detail.user_name}</td>
<td class="layui-td-gray">签约主体公司</td>
<td>{$detail.enterprise}</td>
</tr>
<tr>
<td class="layui-td-gray">合同名称</td>
<td>{$detail.title}</td>
<td class="layui-td-gray">合同编码</td>
<td>{$detail.code}</td>
</tr>
<tr>
<td class="layui-td-gray">签订日期</td>
<td>{$detail.sign_time}</td>
<td class="layui-td-gray">合同属性</td>
<td>{$detail.properties_str}</td>
</tr>
</tr>
<tr>
<td class="layui-td-gray-2">合同生效时间</td>
<td>{$detail.start_time}</td>
<td class="layui-td-gray-2">合同失效时间</td>
<td>{$detail.end_time}</td>
</tr>
{eq name="$detail.cate" value="1"}
<tr>
<td class="layui-td-gray-2">员工试用月数</td>
<td>{$detail.trial_months}</td>
<td class="layui-td-gray-2">试用结束时间</td>
<td>{$detail.trial_end_time}</td>
</tr>
<tr>
<td class="layui-td-gray-2">试用工资(元)</td>
<td>{$detail.trial_salary}</td>
<td class="layui-td-gray-2">转正工资(元)</td>
<td>{$detail.worker_salary}</td>
</tr>
{/eq}
{in name="$detail.cate" value="2,3"}
<tr>
<td class="layui-td-gray-2">工资费用(元)</td>
<td>{$detail.worker_salary}</td>
</tr>
{/in}
<tr>
<td class="layui-td-gray">备注说明</td>
<td colspan="3">{$detail.remark|default=''}</td>
</tr>
{notempty name="$detail.file_ids"}
<tr>
<td class="layui-td-gray"><strong>相关附件</strong></td>
<td colspan="3">
<div class="layui-row">
{volist name="$detail.file_array" id="vo"}
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
{/volist}
</div>
</td>
</tr>
{/notempty}
<tr>
<td class="layui-td-gray">合同状态</td>
{eq name="$detail.status" value="1"}
<td colspan="3"><span class="green">正常</span><span class="layui-btn layui-bg-red layui-btn-xs set-status" data-status="3">解除合同</span></td>
{/eq}
{eq name="$detail.status" value="2"}
<td colspan="3"><span class="yellow">已到期</span></td>
{/eq}
{eq name="$detail.status" value="3"}
<td colspan="3"><span class="red">已解除</span><span class="layui-btn layui-bg-blue layui-btn-xs set-status" data-status="1">恢复合同</span></td>
{/eq}
</tr>
<tr>
<td class="layui-td-gray">续签状态</td>
{empty name="$renewal"}
<td colspan="3"><span class="green">未续签</span>{eq name="$detail.status" value="1"}<a class="layui-btn layui-btn-xs" href="/user/laborcontract/add_renewal?id={$detail.id}">新增续签合同</a>{/eq}</td>
{else/}
<td colspan="3"><span class="red">已续签</span>,续签日期:{$renewal.create_time|date="Y-m-d"}。<a class="layui-btn layui-bg-blue layui-btn-xs" href="/user/laborcontract/view?id={$renewal.id}">续签合同详情</a></td>
{/empty}
</tr>
<tr>
<td class="layui-td-gray">变更状态</td>
{empty name="$change"}
<td colspan="3"><span class="green">未变更</span>{eq name="$detail.status" value="1"}<a class="layui-btn layui-btn-xs" href="/user/laborcontract/add_change?id={$detail.id}">新增变更合同</a>{/eq}</td>
{else/}
<td colspan="3"><span class="red">已变更</span>,续签日期:{$change.create_time|date="Y-m-d"}。<a class="layui-btn layui-bg-blue layui-btn-xs" href="/user/laborcontract/view?id={$change.id}">变更合同详情</a></td>
{/empty}
</tr>
</table>
</form>
{/block}
<!-- /主体 -->
<!-- 脚本 -->
{block name="script"}
<script>
const id = {$detail.id};
var moduleInit = ['tool'];
function gouguInit() {
var tool = layui.tool;
$('body').on('click','.set-status',function(){
let status = $(this).data('status');
let tips='确定要解除该合同吗?';
if(status==1){
tips='确定要恢复该合同吗?';
}
layer.confirm(tips, { icon: 3, title: '提示' }, function (index) {
let callback = function (e) {
layer.msg(e.msg);
if (e.code == 0) {
if(parent.layui.pageTable){
parent.layui.pageTable.reload();
}
location.reload();
}
}
tool.post("/user/laborcontract/set", {id:id,status:status}, callback);
layer.close(index);
});
})
}
</script>
{/block}
<!-- /脚本 -->