first commit
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-3">
|
||||
<div class="layui-card">
|
||||
<div class="body-table layui-tab layui-tab-brief" lay-filter="tab">
|
||||
<ul class="layui-tab-title" style="border-bottom:none;">
|
||||
<li class="layui-this" data-index="1">车辆费用类型</li>
|
||||
<li data-index="2">其他</li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="padding:0">
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm add-new" type="button">+ 新增内容</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, element = layui.element,form = layui.form;
|
||||
var data_type=1;
|
||||
element.on('tab(tab)', function(data){
|
||||
data_type = data.index+1;
|
||||
layui.pageTable.reload({where:{types:data_type},page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'基础数据列表'
|
||||
,url: "/adm/basic/datalist"
|
||||
,where:{types:data_type}
|
||||
,page: false
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '名称'}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:100,title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
addExpense(obj.data.id,obj.data.title);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该数据吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/basic/set", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该数据吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/basic/set", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.add-new',function(){
|
||||
addExpense(0,'');
|
||||
});
|
||||
|
||||
function addExpense(id,val){
|
||||
var title = '新增内容';
|
||||
if(id>0){
|
||||
title = '编辑内容';
|
||||
}
|
||||
layer.prompt({
|
||||
title: title,
|
||||
value: val,
|
||||
yes: function(index, layero) {
|
||||
// 获取文本框输入的值
|
||||
var value = layero.find(".layui-layer-input").val();
|
||||
if (value) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/basic/add", {id: id,types:data_type,title: value}, callback);
|
||||
layer.close(index);
|
||||
} else {
|
||||
layer.msg('请填写内容');
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,120 @@
|
||||
{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">车辆名称<font>*</font></td>
|
||||
<td><input type="text" name="title" autocomplete="off" placeholder="请输入车辆名称" lay-verify="required" lay-reqText="请输入车辆名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">车牌号码<font>*</font></td>
|
||||
<td><input type="text" name="name" autocomplete="off" placeholder="请输入车牌号码" lay-verify="required" lay-reqText="请输入车牌号码" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2" rowspan="5">
|
||||
车辆缩略图
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="uploadImg">+ 上传图片</button>
|
||||
</td>
|
||||
<td rowspan="5" style="width:252px;">
|
||||
<div id="demo1" style="width: 240px; height:136px; overflow: hidden;">
|
||||
<img src="" style="max-width: 100%; height:136px;" />
|
||||
<input type="hidden" name="thumb" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">购买日期<font>*</font></td>
|
||||
<td><input type="text" name="buy_time" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择购买日期" class="layui-input tool-time" data-max="0"></td>
|
||||
<td class="layui-td-gray-2">购买价格<font>*</font></td>
|
||||
<td><input type="text" name="price" value='' placeholder="请输入购买价格" lay-verify="required|number" lay-reqText="请输入购买价格" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车身颜色<font>*</font></td>
|
||||
<td><input type="text" name="color" value='' placeholder="请输入车身颜色" lay-verify="required" lay-reqText="请输入车身颜色" class="layui-input"></td>
|
||||
<td class="layui-td-gray">座位数<font>*</font></td>
|
||||
<td><input type="text" name="seats" autocomplete="off" placeholder="请输入座位数" lay-verify="required|number" lay-reqText="请输入座位数" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发动机号<font>*</font></td>
|
||||
<td><input type="text" name="engine" autocomplete="off" placeholder="请输入发动机号" lay-verify="required" lay-reqText="请输入发动机号" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">车架号<font>*</font></td>
|
||||
<td><input type="text" name="vin" value='' placeholder="请输入车架号" lay-verify="required" lay-reqText="请输入车架号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车险到期日期<font>*</font></td>
|
||||
<td><input type="text" name="insure_time" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择车险到期日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray-2">车审到期日期<font>*</font></td>
|
||||
<td><input type="text" name="review_time" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择车审到期日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆油耗<font>*</font></td>
|
||||
<td><input type="text" name="oil" autocomplete="off" placeholder="请输入油耗" lay-verify="required" lay-reqText="请输入油耗" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">开始里程数<font>*</font></td>
|
||||
<td><input type="text" name="mileage" value='' placeholder="请输入开始里程数" lay-verify="required|number" lay-reqText="请输入开始里程数" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">驾驶员</td>
|
||||
<td><input type="text" name="driver_name" value='' readonly placeholder="请选择"class="layui-input picker-admin"><input type="hidden" name="driver" value='0'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="5">
|
||||
<textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<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','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus;
|
||||
//单图上传
|
||||
var photoUpload = new uploadPlus({
|
||||
'use':'single',
|
||||
'target':'uploadImg',
|
||||
'callback':function(res){
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
//上传成功
|
||||
$('#demo1 input').attr('value', res.data.id);
|
||||
$('#demo1 img').attr('src', res.data.filepath);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
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("/adm/car/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,110 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="车辆名称/车牌号码" class="layui-input" autocomplete="off" />
|
||||
</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_car" lay-filter="table_car"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/car/add">+ 添加车辆</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_car"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/car/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '车辆名称',width:120}
|
||||
,{field:'name',title: '车牌号码',width:100, align:'center'}
|
||||
,{field:'buy_time',title: '购买日期',width:100, align:'center'}
|
||||
,{field:'price',title: '购买价格',width:100, align:'center'}
|
||||
,{field:'color',title: '车身颜色',width:80, align:'center'}
|
||||
,{field:'seats',title: '座位数',width:60, align:'center'}
|
||||
,{field:'driver_name',title: '驾驶员',width:80, align:'center'}
|
||||
,{field:'oil',title: '油耗',width:60, align:'center'}
|
||||
,{field:'mileage',title: '开始里程数',width:100, align:'center'}
|
||||
,{field:'mileage_now',title: '当前里程数',width:100, align:'center'}
|
||||
,{field:'insure_time',title: '保险到期日期',width:110, align:'center'}
|
||||
,{field:'insure_time_note',title: '保险到期提醒',width:110, align:'center',templet: function(d){
|
||||
var html = '<span class="red">还剩 '+d.insure_time_note+' 天</div>';
|
||||
if(d.insure_time_note==0){
|
||||
html = '<span class="red">已到期</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
,{field:'review_time',title: '车审到期日期',width:110, align:'center'}
|
||||
,{field:'review_time_note',title: '车审到期提醒',width:110, align:'center',templet: function(d){
|
||||
var html = '<span class="red">还剩 '+d.review_time_note+' 天</div>';
|
||||
if(d.review_time_note==0){
|
||||
html = '<span class="red">已到期</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
,{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('tool(table_car)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/car/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/car/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/car/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,126 @@
|
||||
{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">车辆名称<font>*</font></td>
|
||||
<td><input type="text" name="title" value="{$detail.title}" autocomplete="off" placeholder="请输入车辆名称" lay-verify="required" lay-reqText="请输入车辆名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">车牌号码<font>*</font></td>
|
||||
<td><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入车牌号码" lay-verify="required" lay-reqText="请输入车牌号码" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2" rowspan="5">
|
||||
车辆缩略图
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="uploadImg">+ 上传图片</button>
|
||||
</td>
|
||||
<td rowspan="5" style="width:252px;">
|
||||
<div id="demo1" style="width: 240px; height:136px; overflow: hidden;">
|
||||
<img src="{:get_file($detail.thumb)}" style="max-width: 100%; height:136px;" />
|
||||
<input type="hidden" name="thumb" value="{$detail.thumb}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">购买日期<font>*</font></td>
|
||||
<td><input type="text" name="buy_time" value="{$detail.buy_time|date='Y-m-d'}" readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择购买日期" class="layui-input tool-time" data-max="0"></td>
|
||||
<td class="layui-td-gray-2">购买价格(元)<font>*</font></td>
|
||||
<td><input type="text" name="price" value="{$detail.price}" placeholder="请输入购买价格" lay-verify="required|number" lay-reqText="请输入购买价格" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车身颜色<font>*</font></td>
|
||||
<td><input type="text" name="color" value="{$detail.color}" placeholder="请输入车身颜色" lay-verify="required" lay-reqText="请输入车身颜色" class="layui-input"></td>
|
||||
<td class="layui-td-gray">座位数<font>*</font></td>
|
||||
<td><input type="text" name="seats" value="{$detail.seats}" autocomplete="off" placeholder="请输入座位数" lay-verify="required|number" lay-reqText="请输入座位数" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发动机号<font>*</font></td>
|
||||
<td><input type="text" name="engine" value="{$detail.engine}" autocomplete="off" placeholder="请输入发动机号" lay-verify="required" lay-reqText="请输入发动机号" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">车架号<font>*</font></td>
|
||||
<td><input type="text" name="vin" value="{$detail.vin}" placeholder="请输入车架号" lay-verify="required" lay-reqText="请输入车架号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车险到期日期<font>*</font></td>
|
||||
<td><input type="text" name="insure_time" value="{$detail.insure_time|date='Y-m-d'}" readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择车险到期日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray-2">车审到期日期<font>*</font></td>
|
||||
<td><input type="text" name="review_time" value="{$detail.review_time|date='Y-m-d'}" readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择车审到期日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆油耗<font>*</font></td>
|
||||
<td><input type="text" name="oil" value="{$detail.oil}" autocomplete="off" placeholder="请输入油耗" lay-verify="required" lay-reqText="请输入油耗" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">开始里程数</td>
|
||||
<td>{$detail.mileage}</td>
|
||||
<td class="layui-td-gray-2">驾驶员</td>
|
||||
<td><input type="text" name="driver_name" value="{$detail.driver_name|default=''}" readonly placeholder="请选择"class="layui-input picker-admin"><input type="hidden" name="driver" value="{$detail.driver}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{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>
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="5">
|
||||
<textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus;
|
||||
//单图上传
|
||||
var photoUpload = new uploadPlus({
|
||||
'use':'single',
|
||||
'target':'uploadImg',
|
||||
'callback':function(res){
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
//上传成功
|
||||
$('#demo1 input').attr('value', res.data.id);
|
||||
$('#demo1 img').attr('src', res.data.filepath);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
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("/adm/car/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,111 @@
|
||||
{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">
|
||||
{eq name="$cid" value="0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="car_name" readonly lay-verify="required" lay-reqText="请选择车辆" placeholder="请选择" class="layui-input picker-oa" data-types="car">
|
||||
<input type="hidden" name="car_id" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">费用类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="types" lay-verify="required" lay-reqText="选择费用类型">
|
||||
<option value="">选择费用类型</option>
|
||||
{volist name=":get_base_data('basicAdm')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td colspan="3">{$car.title}</td>
|
||||
<td class="layui-td-gray">费用类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="types" lay-verify="required" lay-reqText="选择费用类型">
|
||||
<option value="">选择费用类型</option>
|
||||
{volist name=":get_base_data('basicAdm')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
<tr>
|
||||
<td class="layui-td-gray">费用主题<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="title" lay-verify="required" lay-reqText="请完善费用主题" placeholder="请完善费用主题" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">收费日期<font>*</font></td>
|
||||
<td><input type="text" name="fee_time" readonly placeholder="请选择收费日期" class="layui-input tool-time" data-max="0"></td>
|
||||
<td class="layui-td-gray">费用金额<font>*</font></td>
|
||||
<td><input type="text" name="amount" placeholder="请输入费用金额" lay-verify="required|number" lay-reqText="请输入费用金额" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" readonly lay-verify="required" lay-reqText="请选择经手人" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">收费内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入收费内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善收费内容"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
{gt name="$cid" value="0"}
|
||||
<input type="hidden" name="car_id" value="{$cid}">
|
||||
{/gt}
|
||||
<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','oaPicker'];
|
||||
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,'feeTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/fee_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,95 @@
|
||||
{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 colspan="3">{$detail.car}</td>
|
||||
<td class="layui-td-gray">费用类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="types" lay-verify="required" lay-reqText="选择费用类型">
|
||||
<option value="">选择费用类型</option>
|
||||
{volist name=":get_base_data('basicAdm')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.types"} selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">费用主题<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" lay-reqText="请完善费用主题" placeholder="请完善费用主题" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">费用日期<font>*</font></td>
|
||||
<td><input type="text" name="fee_time" readonly value="{$detail.fee_time|date='Y-m-d'}" readonly placeholder="请选择费用日期" class="layui-input tool-time" lay-verify="required" lay-reqText="请完善费用日期"></td>
|
||||
<td class="layui-td-gray">费用金额<font>*</font></td>
|
||||
<td><input type="text" name="amount" value="{$detail.amount}" placeholder="请输入费用金额" lay-verify="required|number" lay-reqText="请输入费用金额" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" value="{$detail.handled_name}" readonly lay-verify="required" lay-reqText="请选择经手人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled" value="{$detail.handled}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.fileArray"}
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">费用内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入费用内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善收费内容">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker'];
|
||||
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,'feeTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/fee_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,94 @@
|
||||
{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:300px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="费用日期" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:136px;">
|
||||
<select name="types">
|
||||
<option value="">选择费用类型</option>
|
||||
{volist name=":get_base_data('basicAdm')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</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="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/car/fee_add">+ 添加收费记录</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,laydatePlus = layui.laydatePlus;
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.feeTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'收费记录列表'
|
||||
,url: "/adm/car/fee_list"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',minWidth:300,title: '费用主题'}
|
||||
,{field:'fee_time',title: '费用日期',align: 'center',width: 100}
|
||||
,{field:'types_str',title: '费用类型',align: 'center',width: 100}
|
||||
,{field:'amount',width:100, title: '费用金额(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'car',width:120,title: '车辆名称'}
|
||||
,{field:'name',width:100, title: '车牌号码', align:'center'}
|
||||
,{field:'handled_name',title: '跟进人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '记录时间',align: 'center',width: 130}
|
||||
,{width:120,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/car/fee_add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/car/fee_view?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'del'){
|
||||
layer.confirm('确定要删除该收费记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.feeTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/car/fee_del", {id: obj.data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,56 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">车辆收费记录</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td colspan="3">{$detail.car}</td>
|
||||
<td class="layui-td-gray">收费地点</td>
|
||||
<td>{$detail.types_str}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">费用主题</td>
|
||||
<td colspan="5">{$detail.title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">收费日期</td>
|
||||
<td>{$detail.fee_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">收费费用</td>
|
||||
<td>{$detail.amount}</td>
|
||||
<td class="layui-td-gray">跟进人</td>
|
||||
<td>{$detail.handled_name}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.fileArray"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</div></td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">费用内容</td>
|
||||
<td colspan="5">{$detail.content|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,95 @@
|
||||
{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">
|
||||
{eq name="$cid" value="0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="car_name" readonly lay-verify="required" lay-reqText="请选择车辆" placeholder="请选择" class="layui-input picker-oa" data-types="car">
|
||||
<input type="hidden" name="car_id" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">保养地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" lay-verify="required" lay-reqText="请完善保养地点" placeholder="请完善保养地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td>{$car.title}</td>
|
||||
<td class="layui-td-gray">保养地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" lay-verify="required" lay-reqText="请完善保养地点" placeholder="请完善保养地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
<tr>
|
||||
<td class="layui-td-gray">保养日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" readonly placeholder="请选择保养日期" class="layui-input tool-time" data-max="0" lay-verify="required" lay-reqText="请完善保养日期"></td>
|
||||
<td class="layui-td-gray">保养费用<font>*</font></td>
|
||||
<td><input type="text" name="amount" placeholder="请输入保养费用" lay-verify="required|number" lay-reqText="请输入保养费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" readonly lay-verify="required" lay-reqText="请选择经手人" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">保养内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入保养内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善保养内容"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
{gt name="$cid" value="0"}
|
||||
<input type="hidden" name="car_id" value="{$cid}">
|
||||
{/gt}
|
||||
<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','oaPicker'];
|
||||
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,'protectTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/protect_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,84 @@
|
||||
{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.car}</td>
|
||||
<td class="layui-td-gray">保养地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" value="{$detail.address}" lay-verify="required" lay-reqText="请完善保养地点" placeholder="请完善保养地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">保养日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" readonly value="{$detail.repair_time|date='Y-m-d'}" placeholder="请选择保养日期" class="layui-input tool-time" data-max="0" lay-verify="required" lay-reqText="请完善保养日期"></td>
|
||||
<td class="layui-td-gray">保养费用<font>*</font></td>
|
||||
<td><input type="text" name="amount" value="{$detail.amount}" placeholder="请输入保养费用" lay-verify="required|number" lay-reqText="请输入保养费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" value="{$detail.handled_name}" readonly lay-verify="required" lay-reqText="请选择经手人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled" value="{$detail.handled}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.fileArray"}
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">保养内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入保养内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善保养内容">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker'];
|
||||
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,'protectTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/protect_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,84 @@
|
||||
{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:300px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="保养日期" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</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="protectTable" lay-filter="protectTable"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/car/protect_add">+ 添加保养记录</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,laydatePlus = layui.laydatePlus;
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.protectTable = table.render({
|
||||
elem: '#protectTable'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'保养记录列表'
|
||||
,url: "/adm/car/protect_list"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'repair_time',title: '保养日期',align: 'center',width: 100}
|
||||
,{field:'amount',width:100, title: '保养费用(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'car',width:120,title: '车辆名称'}
|
||||
,{field:'name',width:100, title: '车牌号码', align:'center'}
|
||||
,{field:'content',minWidth:300,title: '保养内容'}
|
||||
,{field:'handled_name',title: '跟进人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '记录时间',align: 'center',width: 130}
|
||||
,{width:120,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(protectTable)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/car/protect_add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/car/protect_view?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'del'){
|
||||
layer.confirm('确定要删除该保养记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.protectTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/car/protect_del", {id: obj.data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,52 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">车辆保养记录</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td>{$detail.car}</td>
|
||||
<td class="layui-td-gray">保养地点</td>
|
||||
<td colspan="3">{$detail.address}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">保养日期</td>
|
||||
<td>{$detail.repair_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">保养费用</td>
|
||||
<td>{$detail.amount}</td>
|
||||
<td class="layui-td-gray">跟进人</td>
|
||||
<td>{$detail.handled_name}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.fileArray"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</div></td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray-2" style="vertical-align:top;">保养原因&内容</td>
|
||||
<td colspan="5">{$detail.content|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,95 @@
|
||||
{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">
|
||||
{eq name="$cid" value="0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="car_name" readonly lay-verify="required" lay-reqText="请选择车辆" placeholder="请选择" class="layui-input picker-oa" data-types="car">
|
||||
<input type="hidden" name="car_id" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">维修地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" lay-verify="required" lay-reqText="请完善维修地点" placeholder="请完善维修地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td>{$car.title}</td>
|
||||
<td class="layui-td-gray">维修地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" lay-verify="required" lay-reqText="请完善维修地点" placeholder="请完善维修地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" readonly placeholder="请选择维修日期" class="layui-input tool-time" data-max="0" lay-verify="required" lay-reqText="请完善维修日期"></td>
|
||||
<td class="layui-td-gray">维修费用<font>*</font></td>
|
||||
<td><input type="text" name="amount" placeholder="请输入维修费用" lay-verify="required|number" lay-reqText="请输入维修费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" readonly lay-verify="required" lay-reqText="请选择经手人" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入维修内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善维修内容"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
{gt name="$cid" value="0"}
|
||||
<input type="hidden" name="car_id" value="{$cid}">
|
||||
{/gt}
|
||||
<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','oaPicker'];
|
||||
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,'repairTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/repair_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,84 @@
|
||||
{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.car}</td>
|
||||
<td class="layui-td-gray">维修地点<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" value="{$detail.address}" lay-verify="required" lay-reqText="请完善维修地点" placeholder="请完善维修地点" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" readonly value="{$detail.repair_time|date='Y-m-d'}" placeholder="请选择维修日期" class="layui-input tool-time" data-max="0" lay-verify="required" lay-reqText="请完善维修日期"></td>
|
||||
<td class="layui-td-gray">维修费用<font>*</font></td>
|
||||
<td><input type="text" name="amount" value="{$detail.amount}" placeholder="请输入维修费用" lay-verify="required|number" lay-reqText="请输入维修费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">经手人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="handled_name" value="{$detail.handled_name}" readonly lay-verify="required" lay-reqText="请选择经手人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="handled" value="{$detail.handled}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.fileArray"}
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入维修内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善维修内容">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker'];
|
||||
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,'repairTable');
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/car/repair_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,84 @@
|
||||
{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:300px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="维修日期" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</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="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/car/repair_add">+ 添加维修记录</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,laydatePlus = layui.laydatePlus;
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.repairTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'维修记录列表'
|
||||
,url: "/adm/car/repair_list"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'repair_time',title: '维修日期',align: 'center',width: 100}
|
||||
,{field:'amount',width:100, title: '维修费用(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'car',width:120,title: '车辆名称'}
|
||||
,{field:'name',width:100, title: '车牌号码', align:'center'}
|
||||
,{field:'content',minWidth:300,title: '维修内容'}
|
||||
,{field:'handled_name',title: '跟进人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '记录时间',align: 'center',width: 130}
|
||||
,{width:120,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/car/repair_add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/car/repair_view?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'del'){
|
||||
layer.confirm('确定要删除该维修记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.repairTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/car/repair_del", {id: obj.data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,52 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">车辆维修记录</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td>{$detail.car}</td>
|
||||
<td class="layui-td-gray">维修地点</td>
|
||||
<td colspan="3">{$detail.address}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期</td>
|
||||
<td>{$detail.repair_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">维修费用</td>
|
||||
<td>{$detail.amount}</td>
|
||||
<td class="layui-td-gray">跟进人</td>
|
||||
<td>{$detail.handled_name}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.fileArray"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</div></td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修内容</td>
|
||||
<td colspan="5">{$detail.content|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,390 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-tab-title .layui-this{background-color:#fff;}
|
||||
.layui-tab-card,.layui-card{box-shadow:0 0 0 0 rgb(0 0 0 / 10%); border-radius:0; border-top:none;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-2">车辆信息详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆名称</td>
|
||||
<td>{$detail.title}</td>
|
||||
<td class="layui-td-gray">车牌号码</td>
|
||||
<td>{$detail.name}</td>
|
||||
<td class="layui-td-gray-2" rowspan="5">车辆缩略图</td>
|
||||
<td rowspan="5" style="width:252px;">
|
||||
<div id="demo1" style="width: 240px; height:136px; overflow: hidden;">
|
||||
<img src="{:get_file($detail.thumb)}" style="max-width: 100%; height:136px;" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">购买日期</td>
|
||||
<td>{$detail.buy_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray-2">购买价格</td>
|
||||
<td>{$detail.price}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车身颜色</td>
|
||||
<td>{$detail.color}</td>
|
||||
<td class="layui-td-gray">座位数</td>
|
||||
<td>{$detail.seats}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">发动机号</td>
|
||||
<td>{$detail.engine}</td>
|
||||
<td class="layui-td-gray-2">车架号</td>
|
||||
<td>{$detail.vin}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">车险到期日期</td>
|
||||
<td>{$detail.insure_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray-2">车审到期日期</td>
|
||||
<td>{$detail.review_time|date='Y-m-d'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">车辆油耗</td>
|
||||
<td>{$detail.oil}</td>
|
||||
<td class="layui-td-gray-2">当前里程数</td>
|
||||
<td>{$detail.latestMileage}(开始里程数:{$detail.mileage})</td>
|
||||
<td class="layui-td-gray-2">驾驶员</td>
|
||||
<td>{$detail.driver_name|default=''}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.remark"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">备注信息</td>
|
||||
<td colspan="5">{$detail.remark|default=''}</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td colspan="6"><strong>相关附件<strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{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}
|
||||
</table>
|
||||
|
||||
<div class="layui-tab layui-tab-card" style="margin:0; background-color:#fff;" lay-filter="car" id="carTab">
|
||||
<ul class="layui-tab-title">
|
||||
<li class="layui-this" data-load="true"><strong>里程记录</strong></li>
|
||||
<li><strong>费用记录</strong></li>
|
||||
<li><strong>维修记录</strong></li>
|
||||
<li><strong>保养记录</strong></li>
|
||||
</ul>
|
||||
<div class="layui-tab-content" style="padding:0;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<div class="p-3">
|
||||
<div class="pb-3">
|
||||
<span class="layui-btn layui-btn-sm add-mileage">+ 里程记录</span>
|
||||
</div>
|
||||
<table class="layui-hide" id="mileage" lay-filter="mileage"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="p-3">
|
||||
<div class="pb-3">
|
||||
<span class="layui-btn layui-btn-sm side-a" data-href="/adm/car/fee_add?cid={$detail.id}">+ 费用记录</span>
|
||||
</div>
|
||||
<table class="layui-hide" id="fee" lay-filter="fee"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="p-3">
|
||||
<div class="pb-3">
|
||||
<span class="layui-btn layui-btn-sm side-a" data-href="/adm/car/repair_add?cid={$detail.id}">+ 维修记录</span>
|
||||
</div>
|
||||
<table class="layui-hide" id="repair" lay-filter="repair"></table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-tab-item">
|
||||
<div class="p-3">
|
||||
<div class="pb-3">
|
||||
<span class="layui-btn layui-btn-sm side-a" data-href="/adm/car/protect_add?cid={$detail.id}">+ 保养记录</span>
|
||||
</div>
|
||||
<table class="layui-hide" id="protect" lay-filter="protect"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
var car_id = {$detail.id};
|
||||
var moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var tool = layui.tool,table = layui.table,element = layui.element;
|
||||
element.on('tab(car)', function(data){
|
||||
let index = data.index;
|
||||
if(index == 1){
|
||||
layui.feeTable = table.render({
|
||||
elem: '#fee',
|
||||
title: '费用记录',
|
||||
cellMinWidth: 80,
|
||||
url: "/adm/api/get_car_fee", //数据接口
|
||||
where: { 'car_id': car_id },
|
||||
page: true, //开启分页
|
||||
limit: 10,
|
||||
cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'fee_time',title: '费用日期',align: 'center',width: 100}
|
||||
,{field:'types_str',title: '费用类型',align: 'center',width: 100}
|
||||
,{field:'amount',width:100, title: '费用金额(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'title',minWidth:300,title: '费用主题'}
|
||||
,{field:'handled_name',title: '跟进人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '记录时间',align: 'center',width: 130}
|
||||
,{width:120,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(fee)', function(obj) {
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/car/fee_add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side('/adm/car/fee_view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/car/fee_del", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
if(index == 2){
|
||||
layui.repairTable = table.render({
|
||||
elem: '#repair',
|
||||
title: '维修记录',
|
||||
cellMinWidth: 80,
|
||||
url: "/adm/api/get_car_repair", //数据接口
|
||||
where: { 'car_id': car_id },
|
||||
page: true, //开启分页
|
||||
limit: 10,
|
||||
cols: [[ //表头
|
||||
{ field: 'id', title: '序号', width: 60, align: 'center' }
|
||||
, { field: 'amount', title: '维修金额', style: 'color: #91CC75;', align: 'center', width: 100 }
|
||||
, { field: 'repair_time', title: '维修日期', align: 'center', width: 100 }
|
||||
, { field: 'content', title: '维修内容',minWidth:240}
|
||||
, { field: 'handled_name', title: '经手人', align: 'center', width: 80 }
|
||||
, { field: 'create_time', title: '记录时间', align: 'center', width: 136}
|
||||
, {title: '操作',fixed:'right', align: 'center', width: 124, templet: function (d) {
|
||||
return '<div class="layui-btn-group"><span class="layui-btn layui-btn-xs" lay-event="edit">修改</span><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</span><span class="layui-btn layui-bg-red layui-btn-xs" lay-event="del">删除</span></div>';
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(repair)', function(obj) {
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/car/repair_add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side('/adm/car/repair_view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/car/repair_del", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
if(index == 3){
|
||||
layui.protectTable = table.render({
|
||||
elem: '#protect',
|
||||
title: '保养记录',
|
||||
cellMinWidth: 80,
|
||||
url: "/adm/api/get_car_protect", //数据接口
|
||||
where: { 'car_id': car_id },
|
||||
page: true, //开启分页
|
||||
limit: 10,
|
||||
cols: [[ //表头
|
||||
{ field: 'id', title: '序号', width: 60, align: 'center' }
|
||||
, { field: 'amount', title: '保养金额', style: 'color: #91CC75;', align: 'center', width: 100 }
|
||||
, { field: 'repair_time', title: '保养日期', align: 'center', width: 100 }
|
||||
, { field: 'content', title: '保养内容',minWidth:240}
|
||||
, { field: 'handled_name', title: '经手人', align: 'center', width: 80 }
|
||||
, { field: 'create_time', title: '记录时间', align: 'center', width: 136}
|
||||
, {title: '操作',fixed:'right', align: 'center', width: 124, templet: function (d) {
|
||||
return '<div class="layui-btn-group"><span class="layui-btn layui-btn-xs" lay-event="edit">修改</span><span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</span><span class="layui-btn layui-bg-red layui-btn-xs" lay-event="del">删除</span></div>';
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
//监听行工具事件
|
||||
table.on('tool(protect)', function(obj) {
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/car/protect_add?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side('/adm/car/protect_view?id='+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/car/protect_del", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
layui.mileageTable = table.render({
|
||||
elem: '#mileage',
|
||||
title: '里程记录',
|
||||
cellMinWidth: 80,
|
||||
url: "/adm/api/get_car_mileage", //数据接口
|
||||
where: { 'car_id': car_id },
|
||||
page: true, //开启分页
|
||||
limit: 10,
|
||||
cols: [[ //表头
|
||||
{ field: 'id', title: '序号', width: 60, align: 'center' }
|
||||
, { field: 'mileage', title: '里程数', align: 'center', width: 120}
|
||||
, { field: 'mileage_time', title: '里程月份', align: 'center', width: 120 }
|
||||
, { field: 'admin_name', title: '创建人', align: 'center', width: 120 }
|
||||
, { field: 'create_time', title: '记录时间', align: 'center', minWidth: 150,}
|
||||
, {title: '操作',fixed:'right', align: 'center', width: 124, templet: function (d) {
|
||||
return '<div class="layui-btn-group"><span class="layui-btn layui-btn-xs" lay-event="edit">修改</span><span class="layui-btn layui-bg-red layui-btn-xs" lay-event="del">删除</span></div>';
|
||||
}
|
||||
}
|
||||
]]
|
||||
});
|
||||
|
||||
$('body').on('click','.add-mileage',function(){
|
||||
addMileage(0,'','');
|
||||
});
|
||||
|
||||
function addMileage(id,mileage_time,mileage){
|
||||
var biaoti = '新增里程记录';
|
||||
if(id>0){
|
||||
biaoti = '编辑里程记录';
|
||||
}
|
||||
layer.open({
|
||||
type: 1
|
||||
,title: biaoti
|
||||
,area: '368px;'
|
||||
,id: 'LAY_module' //设定一个id,防止重复弹出
|
||||
,btn: ['确定', '取消']
|
||||
,btnAlign: 'c'
|
||||
,content: '<div style="padding-top:15px;">\
|
||||
<div class="layui-form-item">\
|
||||
<label class="layui-form-label">里程月份</label>\
|
||||
<div class="layui-input-inline">\
|
||||
<input type="hidden" name="id" value="'+id+'">\
|
||||
<input type="text" name="mileage_time" autocomplete="off" value="'+mileage_time+'" placeholder="请输入里程月份" readonly class="layui-input tool-time" data-type="month">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-form-item">\
|
||||
<label class="layui-form-label">里程数</label>\
|
||||
<div class="layui-input-inline">\
|
||||
<input type="text" name="mileage" autocomplete="off" value="'+mileage+'" placeholder="请输入里程数" class="layui-input">\
|
||||
</div>\
|
||||
</div>\
|
||||
</div>'
|
||||
,yes: function(index){
|
||||
let id = $('#LAY_module').find('[name="id"]').val();
|
||||
let mileage_time = $('#LAY_module').find('[name="mileage_time"]').val();
|
||||
let mileage = $('#LAY_module').find('[name="mileage"]').val();
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.mileageTable.reload();
|
||||
layer.close(index);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/car/mileage_add", {
|
||||
id: id,
|
||||
mileage_time: mileage_time,
|
||||
mileage: mileage,
|
||||
car_id:car_id
|
||||
}, callback);
|
||||
}
|
||||
,btn2: function(){
|
||||
layer.closeAll();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(mileage)', function(obj) {
|
||||
var data = obj.data;
|
||||
if(obj.event === 'edit'){
|
||||
addMileage(data.id,data.mileage_time,data.mileage)
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/car/mileage_del", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,373 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-form-pane .layui-form-label{color:#999; width:80px; padding:8px 3px;}
|
||||
.layui-form-item .layui-inline{margin-right:1px; margin-bottom:10px;}
|
||||
.layui-form-item{margin-bottom:5px;}
|
||||
.layui-form-item .layui-btn-danger{display:none; margin-top:-8px}
|
||||
.layui-form-item:hover .layui-btn-danger{display:inline-block;}
|
||||
.select-1,.select-2{display:none;}
|
||||
|
||||
.check-type-1 .flow-tr-2,.check-type-1 .flow-tr-3{display:none;}
|
||||
.check-type-2 .flow-tr-1,.check-type-2 .flow-tr-3{display:none;}
|
||||
.check-type-3 .flow-tr-1,.check-type-3 .flow-tr-2{display:none;}
|
||||
|
||||
.role-1 .select-3,.role-1 .select-4{display:none;}
|
||||
.role-2 .select-3,.role-2 .select-4{display:none;}
|
||||
.role-3 .select-4{display:none;}
|
||||
.role-4 .select-3{display:none;}
|
||||
.role-5 .select-3{display:none;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">审批流程</h3>
|
||||
<table id="flowTable" class="layui-table check-type-{$check_type}">
|
||||
<tr>
|
||||
<td class="layui-td-gray">流程名称<font>*</font></td>
|
||||
<td><input type="text" name="title" value="{$detail.title|default=''}" autocomplete="off" placeholder="请输入审批流程名称" lay-verify="required" lay-reqText="请输入审批流程名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">审批类型<font>*</font></td>
|
||||
<td>
|
||||
{eq name="$id" value="0"}
|
||||
<select name="cate_id" lay-filter="cate" lay-verify="required" lay-reqText="请选择审批类型">
|
||||
<option value="">--请选择审批类型--</option>
|
||||
{volist name=":get_base_data('FlowCate')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
{else/}
|
||||
<select name="cate_id" lay-filter="cate" lay-verify="required" lay-reqText="请选择审批类型">
|
||||
<option value="">--请选择审批类型--</option>
|
||||
{volist name=":get_base_data('FlowCate')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$detail.cate_id" value="$vo.id"}selected=""{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
{/eq}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:80%;">
|
||||
<select id="department_ids" name="department_ids" xm-selected="{$detail.department_ids|default=''}" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<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-2">审批流类型<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="1" title="自由审批流" {eq name="$check_type" value="1"}checked{/eq}>
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="2" title="固定审批流" {eq name="$check_type" value="2"}checked{/eq}>
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="3" title="可回退的审批流" {eq name="$check_type" value="3"}checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr1" class="flow-tr-1">
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div style="padding:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>无需配置审批人,审批时操作人员根据实际情况选择审批人即可,自由度最高。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr2" class="flow-tr-2">
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div id="flowList2">
|
||||
{eq name="$check_type" value="2"}
|
||||
{volist name="detail.flow_list" id="vo"}
|
||||
<div class="layui-form-item layui-form-pane role-{$vo.check_role}">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第{$key+1}级</label>
|
||||
<div class="layui-input-inline" style="width:150px;">
|
||||
<select name="check_role[]" lay-filter="role">
|
||||
<option value="1" {eq name="$vo.check_role" value="1"}selected=""{/eq}>当前部门负责人</option>
|
||||
<option value="2" {eq name="$vo.check_role" value="2"}selected=""{/eq}>上一级部门负责人</option>
|
||||
<option value="3" {eq name="$vo.check_role" value="3"}selected=""{/eq}>指定岗位职称人</option>
|
||||
<option value="4" {eq name="$vo.check_role" value="4"}selected=""{/eq}>指定成员</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-3">
|
||||
<label class="layui-form-label">岗位职称</label>
|
||||
<div class="layui-input-inline" style="width:120px;">
|
||||
<input type="text" name="check_position_title[]" value="{$vo.check_position_title}" autocomplete="off" readonly class="layui-input picker-oa" data-types="position">
|
||||
<input type="hidden" name="check_position_id[]" value="{$vo.check_position_id}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-4">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:320px;">
|
||||
<input type="text" name="check_unames_a[]" value="{$vo.check_unames}" autocomplete="off" readonly class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="check_uids_a[]" value="{$vo.check_uids}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:100px;">同时有多人时</label>
|
||||
<div class="layui-input-inline" style="width:80px;">
|
||||
<select name="check_types[]">
|
||||
<option value="1" {eq name="$vo.check_types" value="1"}selected=""{/eq}>会签</option>
|
||||
<option value="2" {eq name="$vo.check_types" value="2"}selected=""{/eq}>或签</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{gt name="$key" value="0"}
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>
|
||||
{/gt}
|
||||
</div>
|
||||
{/volist}
|
||||
{else/}
|
||||
<div class="layui-form-item layui-form-pane role-1">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第1级</label>
|
||||
<div class="layui-input-inline" style="width:150px;">
|
||||
<select name="check_role[]" lay-filter="role">
|
||||
<option value="1">当前部门负责人</option>
|
||||
<option value="2">上一级部门负责人</option>
|
||||
<option value="3">指定岗位职称人</option>
|
||||
<option value="4">指定成员</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-3">
|
||||
<label class="layui-form-label">岗位职称</label>
|
||||
<div class="layui-input-inline" style="width:120px;">
|
||||
<input type="text" name="check_position_title[]" value="" autocomplete="off" readonly class="layui-input picker-oa" data-types="position">
|
||||
<input type="hidden" name="check_position_id[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-4">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:320px;">
|
||||
<input type="text" name="check_unames_a[]" value="" autocomplete="off" readonly class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="check_uids_a[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:100px;">同时有多人时</label>
|
||||
<div class="layui-input-inline" style="width:80px;">
|
||||
<select name="check_types[]">
|
||||
<option value="1">会签</option>
|
||||
<option value="2" selected="">或签</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/eq}
|
||||
</div>
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加审批层级</span>
|
||||
<div style="padding:10px; margin-top:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>1、当选择<strong> “当前部门负责人” </strong>审批时,有多个当前部门负责人时支持会签、或签模式。</p>
|
||||
<p>2、当选择<strong> “上一级部门负责人” </strong>审批时,有多个上一级部门负责人时支持会签、或签模式</p>
|
||||
<p>3、当选择<strong> “指定岗位职称” </strong>审批时,该岗位职称同时有多个人时支持会签、或签模式</p>
|
||||
<p>4、当选择<strong> “指定成员” </strong>时,有多个人时支持会签、或签模式。</p>
|
||||
<p>5、如果指定用户没有分配查看审批模块的功能权限,系统会通知其审批,但是他无法查看此审批数据信息。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr3" class="flow-tr-3">
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div id="flowList3">
|
||||
{eq name="$check_type" value="3"}
|
||||
{volist name="detail.flow_list" id="vo"}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第{$key+1}级</label>
|
||||
<div class="layui-input-inline" style="width:240px;">
|
||||
<input type="text" name="flow_name[]" value="{$vo.flow_name}" autocomplete="off" placeholder="请输入流程名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:120px;">
|
||||
<input type="text" name="check_unames_b[]" value="{$vo.check_unames}" autocomplete="off" readonly class="layui-input picker-admin" data-type="1">
|
||||
<input type="hidden" name="check_uids_b[]" value="{$vo.check_uids}">
|
||||
</div>
|
||||
</div>
|
||||
{gt name="$key" value="0"}
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>
|
||||
{/gt}
|
||||
</div>
|
||||
{/volist}
|
||||
{else/}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第1级</label>
|
||||
<div class="layui-input-inline" style="width:240px;">
|
||||
<input type="text" name="flow_name[]" value="" autocomplete="off" placeholder="请输入流程名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:120px;">
|
||||
<input type="text" name="check_unames_b[]" value="" readonly class="layui-input picker-admin" data-type="1">
|
||||
<input type="hidden" name="check_uids_b[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/eq}
|
||||
</div>
|
||||
<span id="addFlow3" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加审批层级</span>
|
||||
<div style="padding:10px; margin-top:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>1、<strong>指定人员</strong>单选。后期审批的时候,审批人只能该指定人员。</p>
|
||||
<p>2、该审批流程可<strong>回退</strong>,当拒绝审核时,会自动回退到上一位审批人节点。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">默认抄送人</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="copy_unames" value="{$detail.copy_unames|default=''}" placeholder="请选择" readonly class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="copy_uids" value="{$detail.copy_uids|default=''}">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<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','formSelects','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,formSelects = layui.formSelects;
|
||||
|
||||
//选择应用部门
|
||||
var selcted = $('#department_ids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selcted,
|
||||
});
|
||||
|
||||
|
||||
form.on('radio(checktype)', function(data){
|
||||
$('#flowTable').attr('class','layui-table check-type-'+data.value);
|
||||
});
|
||||
|
||||
form.on('select(role)', function(data){
|
||||
$(data.elem).parents('.layui-form-item').attr('class','layui-form-item layui-form-pane role-'+data.value);
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/add", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$('#addFlow2').on('click',function(){
|
||||
var len = $('#flowList2').find('.layui-form-item').length;
|
||||
var index = len+1;
|
||||
var timestamp=new Date().getTime();
|
||||
var tem='<div class="layui-form-item layui-form-pane role-1">\
|
||||
<div class="layui-inline">\
|
||||
<label class="layui-form-label label-index">第'+index+'级</label>\
|
||||
<div class="layui-input-inline" style="width:150px;">\
|
||||
<select name="check_role[]" lay-filter="role">\
|
||||
<option value="1">当前部门负责人</option>\
|
||||
<option value="2">上一级部门负责人</option>\
|
||||
<option value="3">指定岗位职称人</option>\
|
||||
<option value="4">指定成员</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline select-3">\
|
||||
<label class="layui-form-label">岗位职称</label>\
|
||||
<div class="layui-input-inline" style="width:120px;">\
|
||||
<input type="text" name="check_position_title[]" value="" autocomplete="off" readonly class="layui-input picker-oa" data-types="position">\
|
||||
<input type="hidden" name="check_position_id[]" value="">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline select-4">\
|
||||
<label class="layui-form-label">指定人员</label>\
|
||||
<div class="layui-input-inline" style="width:320px;">\
|
||||
<input type="text" name="check_unames_a[]" value="" autocomplete="off" readonly class="layui-input picker-admin" data-type="2">\
|
||||
<input type="hidden" name="check_uids_a[]" value="">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline">\
|
||||
<label class="layui-form-label" style="width:100px;">同时有多人时</label>\
|
||||
<div class="layui-input-inline" style="width:80px;">\
|
||||
<select name="check_types[]">\
|
||||
<option value="1">会签</option>\
|
||||
<option value="2" selected="">或签</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
</div>\
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>\
|
||||
</div>';
|
||||
$('#flowList2').append(tem);
|
||||
form.render();
|
||||
});
|
||||
|
||||
$('#flowList2').on('click','.layui-btn-danger',function(){
|
||||
$(this).parents('.layui-form-item').remove();
|
||||
var items = $('.label-index').length;
|
||||
if(items>0){
|
||||
$('.label-index').each(function(index,item){
|
||||
$(this).html('第'+(index+2)+'级');
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
//================================
|
||||
$('#addFlow3').on('click',function(){
|
||||
var len = $('#flowList3').find('.layui-form-item').length;
|
||||
var index = len+1;
|
||||
var timestamp=new Date().getTime();
|
||||
var tem='<div class="layui-form-item layui-form-pane">\
|
||||
<div class="layui-inline">\
|
||||
<label class="layui-form-label label-index">第'+index+'级</label>\
|
||||
<div class="layui-input-inline" style="width:240px;">\
|
||||
<input type="text" name="flow_name[]" value="" autocomplete="off" placeholder="请输入流程名称" class="layui-input">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline select-3">\
|
||||
<label class="layui-form-label">指定人员</label>\
|
||||
<div class="layui-input-inline" style="width:120px;">\
|
||||
<input type="text" name="check_unames_b[]" value="" autocomplete="off" readonly class="layui-input picker-admin" data-type="1">\
|
||||
<input type="hidden" name="check_uids_b[]" value="">\
|
||||
</div>\
|
||||
</div>\
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>\
|
||||
</div>';
|
||||
$('#flowList3').append(tem);
|
||||
form.render();
|
||||
});
|
||||
|
||||
$('#flowList3').on('click','.layui-btn-danger',function(){
|
||||
$(this).parents('.layui-form-item').remove();
|
||||
var items = $('.label-index').length;
|
||||
if(items>0){
|
||||
$('.label-index').each(function(index,item){
|
||||
$(this).html('第'+(index+2)+'级');
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,265 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-2">审批类型</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">类型名称<font>*</font></td>
|
||||
<td><input type="text" name="title" value="" lay-verify="required" autocomplete="off" placeholder="请输入审批类型名称" lay-reqText="请输入类型名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">关联审批模块<font>*</font></td>
|
||||
<td>
|
||||
<select name="module_id" lay-verify="required" lay-reqText="请选择要关联的审批模块">
|
||||
<option value="">请选择</option>
|
||||
{volist name=":get_base_data('flow_module')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">类型标识<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="name" value="" lay-verify="required" autocomplete="off" placeholder="请输入类型标识,如:official" lay-reqText="请输入类型标识,只能是小写字母" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:请输入类型标识注意只能是小写字母,唯一)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">数据表名<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="check_table" value="" lay-verify="required" autocomplete="off" placeholder="请输入关联的数据库表名称,如:official_docs" lay-reqText="请输入关联的数据库表名称" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入要关联的数据库表名称,注意不需要表前缀,输错无效)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">新建审批链接<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="add_url" value="" lay-verify="required" autocomplete="off" placeholder="请输入新建审批链接,如:adm/official/add" lay-reqText="请输入新建审批链接" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入新建审批链接,可在【系统管理】的【功能节点】查找,输错无效)</span></td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">查看审批链接<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="view_url" value="" lay-verify="required" autocomplete="off" placeholder="请输入查看审批链接,如:adm/official/view" lay-reqText="请输入查看审批链接" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入查看审批链接,可在【系统管理】的【功能节点】查找,输错无效)</span></td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<select id="department_ids" name="department_ids" xm-selected="" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">消息模板</td>
|
||||
<td>
|
||||
<input type="text" name="template_title" value="" readonly autocomplete="off" class="layui-input picker-oa" data-types='template' placeholder="请选择">
|
||||
<input type="hidden" name="template_id" value="0">
|
||||
</td>
|
||||
<td class="layui-td-gray">展示图标<font>*</font></td>
|
||||
<td>
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input class="layui-input" type="text" name="icon" value="" placeholder="请输入图标" lay-verify="required" lay-reqText="请输入图标" >
|
||||
</div>
|
||||
<a href="/static/assets/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">在工作台快捷显示</td>
|
||||
<td>
|
||||
<input type="radio" name="is_list" value="1" title="显示" checked>
|
||||
<input type="radio" name="is_list" value="0" title="不显示">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批通过后支持通知抄送人</td>
|
||||
<td>
|
||||
<input type="radio" name="is_copy" value="1" title="支持" checked>
|
||||
<input type="radio" name="is_copy" value="0" title="不支持">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">审批过程中支持撤回</td>
|
||||
<td>
|
||||
<input type="radio" name="is_back" value="1" title="支持" checked>
|
||||
<input type="radio" name="is_back" value="0" title="不支持">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批时支持上传附件</td>
|
||||
<td>
|
||||
<input type="radio" name="is_file" value="1" title="支持">
|
||||
<input type="radio" name="is_file" value="0" title="不支持" checked>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">审批通过后支持反确认</td>
|
||||
<td>
|
||||
<input type="radio" name="is_reversed" value="1" title="支持">
|
||||
<input type="radio" name="is_reversed" value="0" title="不支持" checked>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批通过后支持导出PDF打印</td>
|
||||
<td>
|
||||
<input type="radio" name="is_export" value="1" title="支持">
|
||||
<input type="radio" name="is_export" value="0" title="不支持" checked>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">类型名称<font>*</font></td>
|
||||
<td><input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入审批类型名称" lay-reqText="请输入类型名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray-2">关联审批模块<font>*</font></td>
|
||||
<td>
|
||||
<select name="module_id" lay-verify="required" lay-reqText="请选择要关联的审批模块">
|
||||
<option value="">请选择</option>
|
||||
{volist name=":get_base_data('flow_module')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.module_id"}selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">类型标识<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="name" value="{$detail.name}" lay-verify="required" autocomplete="off" placeholder="请输入类型标识,如:official" lay-reqText="请输入类型标识,只能是小写字母" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:请输入类型标识注意只能是小写字母,唯一)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">数据表名<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="check_table" value="{$detail.check_table}" lay-verify="required" autocomplete="off" placeholder="请输入关联的数据库表名称,如:official_docs" lay-reqText="请输入关联的数据库表名称" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入要关联的数据库表名称,注意不需要表前缀,输错无效)</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">新建审批链接<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="add_url" value="{$detail.add_url}" lay-verify="required" autocomplete="off" placeholder="请输入新建审批链接,如:adm/official/add" lay-reqText="请输入新建审批链接" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入新建审批链接,可在【系统管理】的【功能节点】查找,输错无效)</span></td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">查看审批链接<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input type="text" name="view_url" value="{$detail.view_url}" lay-verify="required" autocomplete="off" placeholder="请输入查看审批链接,如:adm/official/view" lay-reqText="请输入查看审批链接" class="layui-input">
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(重要:输入查看审批链接,可在【系统管理】的【功能节点】查找,输错无效)</span></td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<select id="department_ids" name="department_ids" xm-selected="{$detail.department_ids}" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">消息通知模板</td>
|
||||
<td>
|
||||
<input type="text" name="template_title" value="{$detail.template_title|default=''}" readonly autocomplete="off" class="layui-input picker-oa" data-types='template' placeholder="请选择">
|
||||
<input type="hidden" name="template_id" value="{$detail.template_id}">
|
||||
</td>
|
||||
<td class="layui-td-gray">展示图标<font>*</font></td>
|
||||
<td>
|
||||
<div class="layui-input-inline" style="width:50%;">
|
||||
<input class="layui-input" type="text" name="icon" value="{$detail.icon}" placeholder="请输入图标" lay-verify="required" lay-reqText="请输入图标" >
|
||||
</div>
|
||||
<a href="/static/assets/icon/index.html" target="_blank" style="margin-left:10px; color:#007AFF">[查看图标]</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">在工作台快捷显示</td>
|
||||
<td>
|
||||
<input type="radio" name="is_list" value="1" title="显示" {eq name="$detail.is_list" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_list" value="0" title="不显示" {eq name="$detail.is_list" value="0"}checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批通过后支持通知抄送人</td>
|
||||
<td>
|
||||
<input type="radio" name="is_copy" value="1" title="支持" {eq name="$detail.is_copy" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_copy" value="0" title="不支持" {eq name="$detail.is_copy" value="0"}checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">审批过程中支持撤回</td>
|
||||
<td>
|
||||
<input type="radio" name="is_back" value="1" title="支持" {eq name="$detail.is_back" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_back" value="0" title="不支持" {eq name="$detail.is_back" value="0"}checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批时支持上传附件</td>
|
||||
<td>
|
||||
<input type="radio" name="is_file" value="1" title="支持" {eq name="$detail.is_file" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_file" value="0" title="不支持" {eq name="$detail.is_file" value="0"}checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">审批通过后支持反确认</td>
|
||||
<td>
|
||||
<input type="radio" name="is_reversed" value="1" title="支持" {eq name="$detail.is_reversed" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_reversed" value="0" title="不支持" {eq name="$detail.is_reversed" value="0"}checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">审批通过后支持导出PDF打印</td>
|
||||
<td>
|
||||
<input type="radio" name="is_export" value="1" title="支持" {eq name="$detail.is_export" value="1"}checked{/eq}>
|
||||
<input type="radio" name="is_export" value="0" title="不支持" {eq name="$detail.is_export" value="0"}checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<span class="red" style="font-size:12px;">温馨提示:审批类型的配置,如果有不明白的<a class="blue" href="https://blog.gougucms.com/home/book/detail/bid/3/id/242.html" target="_blank">可以点击这里查看</a></span></td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<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','formSelects','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,formSelects=layui.formSelects;
|
||||
//选择应用部门
|
||||
var selcted = $('#department_ids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selcted,
|
||||
});
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/cate_add", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,111 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<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 side-a" type="button" data-href="/adm/flow/cate_add">+ 添加审批类型</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
,title:'审批类型'
|
||||
,url: "/adm/flow/catelist"
|
||||
,limit: 20
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'icon',title: '审批类型名称',width: 150,templet: function(d){
|
||||
var html='<strong class="iconfont '+d.icon+'"></strong> ' +d.title;
|
||||
return html;
|
||||
}}
|
||||
,{field:'module',title: '审批模块',width:80, align:'center'}
|
||||
,{field:'check_table',title: '数据表',width:150}
|
||||
,{field:'name',title: '类型标识',width:150}
|
||||
,{field:'departments',title: '应用部门',minWidth:180}
|
||||
,{field:'add_url',title: '审批新增链接',minWidth:180}
|
||||
,{field:'view_url',title: '审批查看链接',minWidth:180}
|
||||
,{field:'is_list',title: '列表显示',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">显示</span>';
|
||||
var html2='<span class="yellow">不显示</span>';
|
||||
if(d.is_list==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{field:'sort',title: '排序',width:60, align:'center'}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:90,fixed:'right',title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/flow/cate_add?id='+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该审批类型吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/cate_check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该审批类型吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/cate_check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,113 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-3">
|
||||
<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 addNew" type="button">+ 添加审批流程</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
,title:'审批流程列表'
|
||||
,url: "/adm/flow/datalist"
|
||||
,page: true //开启分页
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '流程名称',width:150}
|
||||
,{field:'check_type',title: '审批流类型', align:'center',width:110,templet:function(d){
|
||||
var html = '<span class="green">自由审批流</span>';
|
||||
if(d.check_type==2){
|
||||
html = '<span class="blue">固定审批流</span>';
|
||||
}
|
||||
if(d.check_type==3){
|
||||
html = '<span class="yellow">可回退审批流</span>';
|
||||
}
|
||||
if(d.check_type==4){
|
||||
html = '<span class="red">条件审批流</span>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
,{field:'cate',title: '关联审批类型',width:110, align:'center'}
|
||||
,{field:'module',title: '关联审批模块',width:110, align:'center'}
|
||||
,{field:'departments',title: '应用部门',minWidth:160}
|
||||
,{field:'copy_unames',title: '默认抄送人',minWidth:160}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:90,title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/flow/add?id='+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该流程吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/check", { id: obj.data.id,status: 0 }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该流程吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/check", { id: obj.data.id,status: 1 }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.addNew',function(){
|
||||
tool.side("/adm/flow/add");
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,54 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">审批模块</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<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"></td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td><input type="text" name="sort" autocomplete="off" class="layui-input"></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">模块名称<font>*</font></td>
|
||||
<td><input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入审批模块名称" lay-reqText="请输入模块名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td><input type="text" name="sort" value="{$detail.sort}" autocomplete="off" class="layui-input"></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="pt-2">
|
||||
<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','formSelects'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,formSelects=layui.formSelects;
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/module_add", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,92 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<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 side-a" type="button" data-href="/adm/flow/module_add">+ 添加模块</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
,title:'审批模块'
|
||||
,url: "/adm/flow/modulelist"
|
||||
,limit: 100
|
||||
,page: false
|
||||
,cellMinWidth: 60
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '模块名称'}
|
||||
,{field:'sort',title: '排序',width:60, align:'center'}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:90,title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/flow/module_add?id='+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该模块吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/module_check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该模块吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/module_check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,513 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-form-item{margin-bottom:0}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">审批条件 <span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加审批层级</span></h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
第1级
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件分支</span>
|
||||
</td>
|
||||
<td>
|
||||
条件分支(优先级1)
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件组</span>
|
||||
<div>
|
||||
条件组1<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件字段</span>
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:40px">当</label>
|
||||
<div class="layui-input-inline" style="width:132px">
|
||||
<select name="columns[]" lay-filter="columns" lay-verify="required" lay-reqText="请选择字段">
|
||||
<option value="">选择条件字段</option>
|
||||
{volist name="$columns" id="vo"}
|
||||
<option value="{$vo.Field}">{$vo.Comment|default=$vo.Field}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select name="flow_cate" lay-filter="flowcate" lay-verify="required" lay-reqText="请选择审批模块">
|
||||
<option value="1">等于</option>
|
||||
<option value="2">小于</option>
|
||||
<option value="3">小于等于</option>
|
||||
<option value="4">大于</option>
|
||||
<option value="5">大于等于</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:80px">审批人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="unames[]" value="" autocomplete="off" placeholder="请选择审批人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="uids[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
且
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:40px">当</label>
|
||||
<div class="layui-input-inline" style="width:132px">
|
||||
<select name="columns[]" lay-filter="columns" lay-verify="required" lay-reqText="请选择字段">
|
||||
<option value="">选择条件字段</option>
|
||||
{volist name="$columns" id="vo"}
|
||||
<option value="{$vo.Field}">{$vo.Comment|default=$vo.Field}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select name="flow_cate" lay-filter="flowcate" lay-verify="required" lay-reqText="请选择审批模块">
|
||||
<option value="1">等于</option>
|
||||
<option value="2">小于</option>
|
||||
<option value="3">小于等于</option>
|
||||
<option value="4">大于</option>
|
||||
<option value="5">大于等于</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:80px">审批人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="unames[]" value="" autocomplete="off" placeholder="请选择审批人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="uids[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
条件分支(优先级2)
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件组</span>
|
||||
<div>
|
||||
条件组1<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件字段</span>
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:40px">当</label>
|
||||
<div class="layui-input-inline" style="width:132px">
|
||||
<select name="columns[]" lay-filter="columns" lay-verify="required" lay-reqText="请选择字段">
|
||||
<option value="">选择条件字段</option>
|
||||
{volist name="$columns" id="vo"}
|
||||
<option value="{$vo.Field}">{$vo.Comment|default=$vo.Field}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select name="flow_cate" lay-filter="flowcate" lay-verify="required" lay-reqText="请选择审批模块">
|
||||
<option value="1">等于</option>
|
||||
<option value="2">小于</option>
|
||||
<option value="3">小于等于</option>
|
||||
<option value="4">大于</option>
|
||||
<option value="5">大于等于</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:80px">审批人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="unames[]" value="" autocomplete="off" placeholder="请选择审批人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="uids[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
且
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="width:40px">当</label>
|
||||
<div class="layui-input-inline" style="width:132px">
|
||||
<select name="columns[]" lay-filter="columns" lay-verify="required" lay-reqText="请选择字段">
|
||||
<option value="">选择条件字段</option>
|
||||
{volist name="$columns" id="vo"}
|
||||
<option value="{$vo.Field}">{$vo.Comment|default=$vo.Field}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select name="flow_cate" lay-filter="flowcate" lay-verify="required" lay-reqText="请选择审批模块">
|
||||
<option value="1">等于</option>
|
||||
<option value="2">小于</option>
|
||||
<option value="3">小于等于</option>
|
||||
<option value="4">大于</option>
|
||||
<option value="5">大于等于</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:80px">审批人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="unames[]" value="" autocomplete="off" placeholder="请选择审批人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="uids[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
默认情况分支(优先级3)
|
||||
<div class="layui-form-item layui-form-pane" style="margin-bottom:0">
|
||||
<div class="layui-input-inline" style="width:160px;">
|
||||
<select name="types[]" lay-filter="flowtype">
|
||||
<option value="1">当前部门负责人</option>
|
||||
<option value="2">上一级部门负责人</option>
|
||||
<option value="3">指定人员(多人或签)</option>
|
||||
<option value="4">指定人员(多人会签)</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:80px">审批人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="unames[]" value="" autocomplete="off" placeholder="请选择审批人" readonly class="layui-input picker-admin">
|
||||
<input type="hidden" name="uids[]" value="">
|
||||
</div>
|
||||
<span class="layui-label-inline">
|
||||
如存在未满足其他分支条件的情况,则进入此分支
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
第2级
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加条件分支</span>
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">流程名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" autocomplete="off" placeholder="请输入审批流程名称" lay-verify="required" lay-reqText="请输入审批流程名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">流程标识<font>*</font></td>
|
||||
<td><input type="text" name="name" value="{$detail.name}" autocomplete="off" placeholder="请输入审批流程标识" lay-verify="required" lay-reqText="请输入审批流程标识" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">审批模块<font>*</font></td>
|
||||
<td>
|
||||
<select name="flow_cate" lay-filter="flowcate" lay-verify="required" lay-reqText="请选择审批模块">
|
||||
<option value="">请选择审批模块</option>
|
||||
{volist name=":get_base_data('flow_cate')" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.flow_cate"}selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">审批类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="flow_item" lay-filter="flowitem" lay-verify="required" lay-reqText="请选择审批类型">
|
||||
<option value="">--请选择--</option>
|
||||
{volist name="$detail.flow_item_list" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$detail.flow_item" value="$vo.id"}selected=""{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:80%;">
|
||||
<select id="department_ids" name="department_ids" xm-selected="{$detail.department_ids}" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;">(如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">流程说明</td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" placeholder="请输入流程说明" class="layui-textarea">{$detail.remark}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">审批流类型<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="1" title="自由审批流" {eq name="$detail.check_type" value="1"}checked{/eq}>
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="2" title="固定审批流" {eq name="$detail.check_type" value="2"}checked{/eq}>
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="3" title="可回退的审批流" {eq name="$detail.check_type" value="3"}checked{/eq}>
|
||||
<input type="radio" name="check_type" lay-filter="checktype" value="4" title="条件审批流" {eq name="$detail.check_type" value="4"}checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr1" {neq name="$detail.check_type" value="1"}style="display:none"{/neq}>
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div style="padding:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>无需配置审批人,审批时,根据实际情况选择审批人即可,自由度最高。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr2" {neq name="$detail.check_type" value="2"}style="display:none"{/neq}>
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div id="flowList2">
|
||||
{eq name="$detail.check_type" value="2"}
|
||||
{volist name="detail.flow_list" id="vo"}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第{$key+1}级</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="flowType[]" lay-filter="flowtype">
|
||||
<option value="1" {eq name="$vo.flow_type" value="1"}selected=""{/eq}>当前部门负责人</option>
|
||||
<option value="2" {eq name="$vo.flow_type" value="2"}selected=""{/eq}>上一级部门负责人</option>
|
||||
<option value="3" {eq name="$vo.flow_type" value="3"}selected=""{/eq}>指定人员(多人或签)</option>
|
||||
<option value="4" {eq name="$vo.flow_type" value="4"}selected=""{/eq}>指定人员(多人会签)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-{$vo.flow_type}">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="flowNamesA[]" value="{$vo.flow_unames}" autocomplete="off" readonly class="layui-input picker-more">
|
||||
<input type="hidden" name="flowUidsA[]" value="{$vo.flow_uids}">
|
||||
</div>
|
||||
</div>
|
||||
{gt name="$key" value="0"}
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>
|
||||
{/gt}
|
||||
</div>
|
||||
{/volist}
|
||||
{else/}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第1级</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="flowType[]" lay-filter="flowtype">
|
||||
<option value="1">当前部门负责人</option>
|
||||
<option value="2">上一级部门负责人</option>
|
||||
<option value="3">指定人员(多人或签)</option>
|
||||
<option value="4">指定人员(多人会签)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-1">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="flowNamesA[]" value="" autocomplete="off" readonly class="layui-input picker-more">
|
||||
<input type="hidden" name="flowUidsA[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/eq}
|
||||
</div>
|
||||
<span id="addFlow2" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加审批层级</span>
|
||||
<div style="padding:10px; margin-top:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>1、当选择<strong> “当前部门负责人” </strong>审批时。系统仅会通知当前部门的负责人。</p>
|
||||
<p>2、当选择<strong> “上一级部门负责人” </strong>审批时。系统仅会通知当前部门的上一级部门的负责人。</p>
|
||||
<p>3、当选择<strong> “指定人员(多人或签)” </strong>时,表示指定用户中任意一人审批即可,可单选或多选。</p>
|
||||
<p>4、当选择<strong> “指定人员(多人会签)” </strong>时,表示指定人员中所有人都需要审批,可单选或多选。</p>
|
||||
<p>5、如果指定用户没有分配查看审批模块的功能权限,系统会通知其审批,但是他无法查看此审批数据信息。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="flowTr3" {neq name="$detail.check_type" value="3"}style="display:none"{/neq}>
|
||||
<td class="layui-td-gray">审批流程<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<div id="flowList3">
|
||||
{eq name="$detail.check_type" value="3"}
|
||||
{volist name="detail.flow_list" id="vo"}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第{$key+1}级</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="flowName[]" value="{$vo.flow_name}" autocomplete="off" placeholder="请输入流程名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-3">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="flowNamesB[]" value="{$vo.flow_unames}" autocomplete="off" readonly class="layui-input picker-one">
|
||||
<input type="hidden" name="flowUidsB[]" value="{$vo.flow_uids}">
|
||||
</div>
|
||||
</div>
|
||||
{gt name="$key" value="0"}
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>
|
||||
{/gt}
|
||||
</div>
|
||||
{/volist}
|
||||
{else/}
|
||||
<div class="layui-form-item layui-form-pane">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">第1级</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="flowName[]" value="" autocomplete="off" placeholder="请输入流程名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline select-3">
|
||||
<label class="layui-form-label">指定人员</label>
|
||||
<div class="layui-input-inline" style="width:360px;">
|
||||
<input type="text" name="flowNamesB[]" value="" autocomplete="off" readonly class="layui-input picker-one">
|
||||
<input type="hidden" name="flowUidsB[]" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/eq}
|
||||
</div>
|
||||
<span id="addFlow3" class="layui-btn layui-btn-xs layui-btn-normal">+ 添加审批层级</span>
|
||||
<div style="padding:10px; margin-top:10px; font-size:12px; background-color:#fffcf0">
|
||||
<p><strong>温馨提示</strong></p>
|
||||
<p>1、<strong>指定人员</strong>单选。后期审批的时候,审批人只能该指定人员。</p>
|
||||
<p>2、该审批流程可<strong>回退</strong>,当拒绝审核时,会自动回退到上一位审批人节点。</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">抄送人</td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="copy_unames" value="{$detail.copy_unames}" autocomplete="off" readonly class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="copy_uids" value="{$detail.copy_uids}">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="py-3">
|
||||
<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','formSelects','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,formSelects = layui.formSelects;
|
||||
//选择应用模块
|
||||
form.on('select(flowcate)', function(data){
|
||||
let callback = function (e) {
|
||||
if (e.code == 0) {
|
||||
if(e.data.length>0){
|
||||
let ops='<option value="">--请选择--</option>';
|
||||
for(var i=0;i<e.data.length;i++){
|
||||
ops+='<option value="'+e.data[i].id+'">'+e.data[i].title+'</option>';
|
||||
}
|
||||
$('[name="flow_item"]').html(ops);
|
||||
form.render();
|
||||
}
|
||||
else{
|
||||
$('[name="flow_item"]').html('');
|
||||
form.render();
|
||||
}
|
||||
}
|
||||
}
|
||||
tool.get("/adm/api/get_flow_item", {cate:data.value}, callback);
|
||||
})
|
||||
|
||||
//选择应用部门
|
||||
var selcted = $('#department_ids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selcted,
|
||||
});
|
||||
|
||||
|
||||
form.on('radio(checktype)', function(data){
|
||||
if(data.value==1){
|
||||
$('#flowTr1').show();
|
||||
$('#flowTr2').hide();
|
||||
$('#flowTr3').hide();
|
||||
}
|
||||
else if(data.value==2){
|
||||
$('#flowTr1').hide();
|
||||
$('#flowTr2').show();
|
||||
$('#flowTr3').hide();
|
||||
}
|
||||
else{
|
||||
$('#flowTr1').hide();
|
||||
$('#flowTr2').hide();
|
||||
$('#flowTr3').show();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('select(flowtype)', function(data){
|
||||
$(data.elem).parents('.layui-form-item').find('.layui-inline').eq(1).attr('class','layui-inline select-'+data.value);
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/flow/add", data.field, callback);
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
$('#addFlow2').on('click',function(){
|
||||
var len = $('#flowList2').find('.layui-form-item').length;
|
||||
var index = len+1;
|
||||
var timestamp=new Date().getTime();
|
||||
var tem='<div class="layui-form-item layui-form-pane">\
|
||||
<div class="layui-inline">\
|
||||
<label class="layui-form-label label-index">第'+index+'级</label>\
|
||||
<div class="layui-input-inline">\
|
||||
<select name="flowType[]" lay-filter="flowtype">\
|
||||
<option value="1">当前部门负责人</option>\
|
||||
<option value="2">上一级部门负责人</option>\
|
||||
<option value="3">指定人员(多人或签)</option>\
|
||||
<option value="4">指定人员(多人会签)</option>\
|
||||
</select>\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline select-1">\
|
||||
<label class="layui-form-label">指定人员</label>\
|
||||
<div class="layui-input-inline" style="width:360px;">\
|
||||
<input type="text" name="flowNamesA[]" value="" autocomplete="off" readonly class="layui-input picker-admin" data-type="2">\
|
||||
<input type="hidden" name="flowUidsA[]" value="">\
|
||||
</div>\
|
||||
</div>\
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>\
|
||||
</div>';
|
||||
$('#flowList2').append(tem);
|
||||
form.render();
|
||||
});
|
||||
|
||||
$('#flowList2').on('click','.layui-btn-danger',function(){
|
||||
$(this).parents('.layui-form-item').remove();
|
||||
var items = $('.label-index').length;
|
||||
if(items>0){
|
||||
$('.label-index').each(function(index,item){
|
||||
$(this).html('第'+(index+2)+'级');
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
//================================
|
||||
$('#addFlow3').on('click',function(){
|
||||
var len = $('#flowList3').find('.layui-form-item').length;
|
||||
var index = len+1;
|
||||
var timestamp=new Date().getTime();
|
||||
var tem='<div class="layui-form-item layui-form-pane">\
|
||||
<div class="layui-inline">\
|
||||
<label class="layui-form-label label-index">第'+index+'级</label>\
|
||||
<div class="layui-input-inline">\
|
||||
<input type="text" name="flowName[]" value="" autocomplete="off" placeholder="请输入流程名称" class="layui-input">\
|
||||
</div>\
|
||||
</div>\
|
||||
<div class="layui-inline select-3">\
|
||||
<label class="layui-form-label">指定人员</label>\
|
||||
<div class="layui-input-inline" style="width:360px;">\
|
||||
<input type="text" name="flowNamesB[]" value="" autocomplete="off" readonly class="layui-input picker-one">\
|
||||
<input type="hidden" name="flowUidsB[]" value="">\
|
||||
</div>\
|
||||
</div>\
|
||||
<span class="layui-btn layui-btn-danger layui-btn-sm">删除</span>\
|
||||
</div>';
|
||||
$('#flowList3').append(tem);
|
||||
form.render();
|
||||
});
|
||||
|
||||
$('#flowList3').on('click','.layui-btn-danger',function(){
|
||||
$(this).parents('.layui-form-item').remove();
|
||||
var items = $('.label-index').length;
|
||||
if(items>0){
|
||||
$('.label-index').each(function(index,item){
|
||||
$(this).html('第'+(index+2)+'级');
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,141 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.flow-content{position: fixed;top: 0;left: 0;right: 0;bottom: 0;z-index: 1;overflow-x: scroll;overflow-y: auto;padding:30px 0;background: #F5F5F7;user-select: none;}
|
||||
.flow-box *{margin: 0;padding: 0;box-sizing: border-box;}
|
||||
.remove-node{position: absolute; top: 6px; right: 8px; display: none; font-style:normal}
|
||||
.condition-priority{position: absolute; top: 6px; right: 8px;}
|
||||
.select-icon{position: absolute; top: 42px; right: 3px;}
|
||||
|
||||
.top-left-cover-line{position: absolute;height: 3px;width: 50%;background-color: #f5f5f7;top: -2px;left: -1px;}
|
||||
.bottom-left-cover-line{position: absolute;height: 3px;width: 50%;background-color: #f5f5f7;bottom: -2px;left: -1px;}
|
||||
.top-right-cover-line{position: absolute;height: 3px;width: 50%;background-color: #f5f5f7;top: -2px;right: -1px;}
|
||||
.bottom-right-cover-line{position: absolute;height: 3px;width: 50%;background-color: #f5f5f7;bottom: -2px;right: -1px;}
|
||||
|
||||
.flow-zoom{position: fixed; padding:10px; height: 32px;right: 36px;top: 36px; z-index: 10;font-size: 16px; box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .3);background: #FFFFFF;border-radius: 5px;}
|
||||
.flow-zoom span.zoom-num{padding:0 12px; display: inline-block; height: 30px; line-height:28px;}
|
||||
.flow-zoom span.zoom-ctrl{display: inline-block;width: 30px; height: 30px; line-height:30px; border-radius:50%; border:1px solid #666; font-size: 20px; text-align: center;color: #666;cursor: pointer;}
|
||||
.flow-zoom span.zoom-ctrl:hover{color:#1e9fff;border-color:#1e9fff}
|
||||
.flow-zoom .layui-btn-group{display: inline-block;vertical-align:top; margin-left:12px;}
|
||||
|
||||
.node-wrap{display: inline-flex;flex-direction: column;align-items: center;width: 100%;padding: 0 50px;position: relative;}
|
||||
.node-wrap-box{width: 220px;display: inline-flex;align-items: center;flex-direction: column;background-color: #FFFFFF;border-radius: 5px;box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);cursor: pointer;border: 1px solid #F5F5F5;position: relative;}
|
||||
|
||||
.node-wrap-box:hover{box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .3);transition: all .3s;}
|
||||
.node-wrap-box::before{content: "";position: absolute;top: -8px;left: 50%;-webkit-transform: translateX(-50%);transform: translateX(-50%);width: 0;height: 4px;border-style: solid;border-width: 8px 6px 4px;border-color: #cacaca transparent transparent;background: #f5f5f7;}
|
||||
.node-start::before{display:none;}
|
||||
|
||||
.node-wrap-box:hover .remove-node{display: block;}
|
||||
.node-wrap-box .user-edit{display: inline-block;}
|
||||
.node-wrap-box:hover .user-edit{}
|
||||
.node-wrap-box .node-title{border-radius: 4px 5px 0 0 }
|
||||
.node-wrap-box>div{width: 100%;}
|
||||
.node-wrap-box>div:nth-of-type(1){padding: 6px 10px;color: white;font-size: 12px;position: relative;}
|
||||
.node-wrap-box>div:nth-of-type(2){padding: 15px 10px;display: flex;justify-content: space-between;}
|
||||
|
||||
.node-add-btn-box{position: relative;}
|
||||
.node-add-btn-box::before{content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: -1;margin: auto;width: 2px;height: 100%;background-color: #cacaca;}
|
||||
.add-node-btn{padding: 20px 0 24px;}
|
||||
.add-node-btn button.add-node{border-radius: 50%;background: #1e9fff;font-size: 25px;border-color: #1e9fff;width: 32px;line-height: 30px;padding: 0;margin: 0;color: #fff;display: inline-block;font-weight: 400;text-align: center;white-space: nowrap;vertical-align: middle;touch-action: manipulation;cursor: pointer;border: 1px solid transparent;}
|
||||
.add-node-btn button.add-node:hover{transform: scale(1.2);transition:all .2s }
|
||||
|
||||
.branch-box{display: flex;border-bottom: 2px solid #cccccc;border-top: 2px solid #cccccc;position: relative;}
|
||||
.branch-box-wrap{display: inline-flex;flex-direction: column;align-items: center;width: 100%;}
|
||||
.add-branch{position: absolute;display: inline-block;left: 50%;top: -15px;z-index: 1;border-radius: 15px;color: rgb(50, 150, 250);border: none;box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);background: #FFFFFF;padding: 5px 10px;font-size: 12px;cursor: pointer;line-height: 20px;transform: translateX(-50%);}
|
||||
|
||||
.col-box{display: inline-flex;background: #f5f5f7;;flex-direction: column;align-items: center;position: relative;}
|
||||
.col-box::before{content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;z-index: 0;margin: auto;width: 2px;height: 100%;background-color: #cacaca;}
|
||||
|
||||
.condition-judge{background-color: #FFFFFF;border-radius: 5px;width: 220px;position: relative;box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .1);cursor: pointer;border: 1px solid #FFFFFF;}
|
||||
.condition-judge:hover{border: 1px solid #16b777;transition:all .3s}
|
||||
.condition-judge:hover .remove-node{display: block;}
|
||||
.condition-judge:hover .condition-priority{display:none;}
|
||||
.condition-judge>div:nth-of-type(2){padding: 15px 10px;}
|
||||
|
||||
.condition-node-box{display: inline-flex;flex-direction: column;align-items: center;position: relative;padding: 30px 30px 0 30px;}
|
||||
.condition-node-box::before{content: "";position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;width: 2px;height: 100%;background-color: #cacaca;}
|
||||
.condition-input{line-height: 19px;height: 18px;display: inline-block;width:150 px;padding: 0;padding-left: 5px;font-size: 12px;border: none;}
|
||||
.condition-title{padding: 5px 0;background-color: #ffffff;border-radius: 5px 5px 0 0;color: #15bc83;font-size: 12px;position: relative;}
|
||||
|
||||
.end-node{border-radius: 50%;font-size: 14px;color: rgba(25, 31, 37, .4);text-align: left;}
|
||||
.end-node-circle{width: 10px;height: 10px;margin: auto;border-radius: 50%;background: #dbdcdc;}.end-node-text{margin-top: 5px;text-align: center;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="flow-content">
|
||||
<div id="flowBar" class="flow-zoom" data-zoom="10">
|
||||
<span class="zoom-ctrl" data-type="1"><strong>-</strong></span>
|
||||
<span class="zoom-num">100%</span>
|
||||
<span class="zoom-ctrl" data-type="2">+</span>
|
||||
<div class="layui-btn-group">
|
||||
<button type="button" class="layui-btn layui-btn-sm">预览</button>
|
||||
<button type="button" class="layui-btn layui-btn-sm layui-bg-blue">发布</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="flowBox" class="flow-box" style="transform: scale(1); transform-origin: 50% 0px 0px;">
|
||||
<!-- 发起人 -->
|
||||
<div>
|
||||
<div class="node-wrap">
|
||||
<div class="node-wrap-box node-start">
|
||||
<div class="node-title" style="background: #2f363c;">
|
||||
<span>发起人</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>请设置发起人</span>
|
||||
<i class="select-icon"><?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19 12L31 24L19 36" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 箭头 -->
|
||||
<div class="node-add-btn-box">
|
||||
<div class="add-node-btn">
|
||||
<button class="add-node">+</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 审核人 -->
|
||||
<div>
|
||||
<div class="node-wrap">
|
||||
<div class="node-wrap-box">
|
||||
<div class="node-title" style="background:#ffb800">
|
||||
<span class="user-edit">审核人</span>
|
||||
<i class="remove-node">✖</i>
|
||||
</div>
|
||||
<div>
|
||||
<span>请设置审核人</span>
|
||||
<i class="select-icon"><?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19 12L31 24L19 36" stroke="#333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></i>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 箭头 -->
|
||||
<div class="node-add-btn-box">
|
||||
<div class="add-node-btn">
|
||||
<button class="add-node">+</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 流程结束 -->
|
||||
<div class="end-node">
|
||||
<div class="end-node-circle"></div>
|
||||
<div class="end-node-text">
|
||||
结束流程
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
{block name="copyright"}{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaFlow','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaFlow = layui.oaFlow;
|
||||
oaFlow.init();
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,103 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page" lay-filter="form-outs">
|
||||
<h3 class="pb-2">会议室预定</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">会议主题<font>*</font></td>
|
||||
<td colspan="3"><input name="title" class="layui-input" value="{$detail.title|default=''}" lay-verify="required" placeholder="请输入会议主题" lay-reqText="请输入会议主题"></td>
|
||||
<td class="layui-td-gray">会议地点<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="room" value="{$detail.room|default=''}" readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择会议室" class="layui-input picker-oa" data-types="room">
|
||||
<input type="hidden" name="room_id" value="{$detail.room_id|default=''}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间<font>*</font></td>
|
||||
<td><input id="start_date" name="start_date" class="layui-input" value="{$detail.start_time|default=''}" readonly lay-verify="required" placeholder="请选择开始时间" lay-reqText="请选择开始时间"></td>
|
||||
<td class="layui-td-gray">结束时间<font>*</font></td>
|
||||
<td><input id="end_date" name="end_date" class="layui-input" value="{$detail.end_time|default=''}" readonly lay-verify="required" placeholder="请选择结束时间" lay-reqText="请选择结束时间"></td>
|
||||
<td class="layui-td-gray">会议人数<font>*</font></td>
|
||||
<td><input name="num" class="layui-input" value="{$detail.num|default=''}" lay-verify="required|number" placeholder="请完善会议人数" lay-reqText="请完善会议人数"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议需求<font>*</font></td>
|
||||
<td colspan="5">
|
||||
{empty name="detail"}
|
||||
{volist name="$requirements" id="v"}
|
||||
<input type="checkbox" name="requirement[]" title="{$v.title}" value="{$v.id}" lay-skin="primary">
|
||||
{/volist}
|
||||
{else/}
|
||||
{volist name="$requirements" id="v"}
|
||||
<input type="checkbox" name="requirement[]" title="{$v.title}" value="{$v.id}" lay-skin="primary" {eq name="$v.checked" value="1" }checked{/eq}>
|
||||
{/volist}
|
||||
{/empty}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">其他要求</td>
|
||||
<td colspan="5">
|
||||
<input name="remark" class="layui-input" value="{$detail.remark|default=''}" placeholder="请输入其他要求">
|
||||
</td>
|
||||
</tr>
|
||||
</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>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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>
|
||||
const moduleInit = ['tool','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaCheck=layui.oaCheck,laydate=layui.laydate;
|
||||
oaCheck.init({
|
||||
check_name:'meeting_order',
|
||||
check_btn:0
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#start_date',
|
||||
fullPanel :true,
|
||||
type: 'datetime',
|
||||
format: 'yyyy-MM-dd HH:mm'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: '#end_date',
|
||||
fullPanel :true,
|
||||
type: 'datetime',
|
||||
format: 'yyyy-MM-dd HH:mm'
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
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 = 'meeting_order';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/meeting/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,100 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_meeting" lay-filter="table_meeting"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-group">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/meeting/add">+ 添加会议室预定</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_meeting"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/meeting/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', 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:'title',title: '会议主题',minWidth: 240}
|
||||
,{field:'meeting_date',title: '会议日期/时间',width: 280,align:'center'}
|
||||
,{field:'room',title: '会议室',minWidth: 240}
|
||||
,{field:'num',title: '会议人数',width: 80,align:'center'}
|
||||
,{field: 'check_user', width: 100,title: '当前审核人'}
|
||||
,{field:'admin_name',title: '申请人',width:90,align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:120,fixed:'right',title: '操作', align:'center',ignoreExport:true,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>';
|
||||
html+=btn1;
|
||||
if((d.check_status==0 ||d.check_status==4) && d.admin_id==login_admin){
|
||||
html+=btn2+btn3;
|
||||
}
|
||||
html+='</div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_meeting)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/meeting/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/meeting/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/meeting/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,128 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<style>
|
||||
.layui-table-tool-temp{padding-right:0}
|
||||
</style>
|
||||
<div class="p-page">
|
||||
<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">
|
||||
<div class="layui-input-inline" style="width:300px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="会议日期" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:110px;">
|
||||
<input type="text" name="anchor" placeholder="主持人" class="layui-input picker-admin" readonly />
|
||||
<input type="text" name="anchor_id" value="" style="display:none" />
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:220px;">
|
||||
<input type="text" name="keywords" placeholder="会议主题" class="layui-input"/>
|
||||
</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="test" lay-filter="test"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<span class="layui-btn layui-btn-sm tool-add" data-href="/adm/meeting/records_add">+ 会议纪要</span>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','oaPicker','laydatePlus','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool ,form = layui.form, laydatePlus = layui.laydatePlus;
|
||||
//日期范围
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test',
|
||||
title: '会议纪要列表',
|
||||
toolbar: '#toolbarDemo',
|
||||
defaultToolbar: false,
|
||||
page: true, //开启分页
|
||||
limit: 20,
|
||||
height: 'full-114',
|
||||
url: "/adm/meeting/records", //数据接口
|
||||
cols: [
|
||||
[
|
||||
{type:'checkbox',fixed:'left'},
|
||||
{
|
||||
field: 'id',
|
||||
title: '序号',
|
||||
align: 'center',
|
||||
width: 80
|
||||
}, {
|
||||
field: 'meeting_date',
|
||||
title: '会议日期',
|
||||
align: 'center',
|
||||
width: 100
|
||||
},{
|
||||
field: 'title',
|
||||
title: '会议主题',
|
||||
minWidth:240
|
||||
},{
|
||||
field: 'did_name',
|
||||
title: '主办部门',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'anchor',
|
||||
title: '主持人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'recorder_name',
|
||||
title: '记录人',
|
||||
align: 'center',
|
||||
width: 90
|
||||
},{
|
||||
field: 'right',
|
||||
title: '操作',
|
||||
width: 124,
|
||||
align: 'center',
|
||||
templet: function(d){
|
||||
var btn='<div class="layui-btn-group"><span class="layui-btn layui-btn-xs layui-bg-blue" lay-event="view">查看</span><span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span><span class="layui-btn layui-btn-xs layui-bg-red" lay-event="del">删除</span></div>';
|
||||
return btn;
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
});
|
||||
|
||||
//监听行工具事件
|
||||
table.on('tool(test)', function(obj) {
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/meeting/records_view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/meeting/records_add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定删除该会议纪要吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/meeting/records_del", {id: data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,106 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">新增会议纪要</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议时间<font>*</font></td>
|
||||
<td><input type="text" name="meeting_date" lay-verify="required" readonly lay-reqText="请选择会议时间" placeholder="请选择会议时间" class="layui-input tool-time" data-type="datetime" data-format ="yyyy-MM-dd HH:mm"></td>
|
||||
<td class="layui-td-gray">主持人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="anchor" lay-verify="required" readonly lay-reqText="请选择主持人" placeholder="请选择主持人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="anchor_id">
|
||||
</td>
|
||||
<td class="layui-td-gray">记录人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="recorder" lay-verify="required" readonly lay-reqText="请选择记录人" placeholder="请选择记录人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="recorder_id">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会 议 室<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="room_name" autocomplete="off" readonly placeholder="请选择" lay-verify="required" readonly lay-reqText="请选择会议室" class="layui-input picker-oa" data-types="room">
|
||||
<input type="hidden" name="room_id">
|
||||
</td>
|
||||
<td class="layui-td-gray">主办部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="did_name" autocomplete="off" readonly placeholder="请选择" lay-verify="required" readonly lay-reqText="请选择主办部门" class="layui-input picker-oa" data-types="department">
|
||||
<input type="hidden" name="did">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="join" lay-verify="required" readonly lay-reqText="请选择参会人员" placeholder="请选择参会人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="join_uids">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议主题<font>*</font></td>
|
||||
<td colspan="5"><input type="text" name="title" lay-verify="required" lay-reqText="请输入会议主题" placeholder="请输入会议主题" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">会议内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请输入会议内容"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2" style="vertical-align:top;">下一步<br>工作计划<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="plans" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请输入下一步工作计划"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员签字<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="sign" lay-verify="required" readonly lay-reqText="请选择" placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="sign_uids">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">共享给谁<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="share" lay-verify="required" readonly lay-reqText="请选择" placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="share_uids">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">备注信息</td>
|
||||
<td colspan="5">
|
||||
<textarea name="remarks" placeholder="请输入内容" class="layui-textarea"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="py-3">
|
||||
<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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
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("/adm/meeting/records_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,107 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-3">新增会议纪要</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议时间<font>*</font></td>
|
||||
<td><input type="text" name="meeting_date" value="{$detail.meeting_date|date='Y-m-d H:i:s'}" lay-verify="required" readonly lay-reqText="请选择会议时间" placeholder="请选择会议时间" class="layui-input tool-time" data-type="datetime" data-format ="yyyy-MM-dd HH:mm"></td>
|
||||
<td class="layui-td-gray">主持人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="anchor" value="{$detail.anchor_name}" lay-verify="required" readonly lay-reqText="请选择主持人" placeholder="请选择主持人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="anchor_id" value="{$detail.anchor_id}">
|
||||
</td>
|
||||
<td class="layui-td-gray">记录人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="recorder" value="{$detail.recorder_name}" lay-verify="required" readonly lay-reqText="请选择记录人" placeholder="请选择记录人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="recorder_id" value="{$detail.recorder_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会 议 室<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="room_name" value="{$detail.room}" autocomplete="off" readonly placeholder="请选择" lay-verify="required" readonly lay-reqText="请选择会议室" class="layui-input picker-oa" data-types="room">
|
||||
<input type="hidden" name="room_id" value="{$detail.room_id}">
|
||||
</td>
|
||||
<td class="layui-td-gray">主办部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="did_name" value="{$detail.did_name|default=''}" autocomplete="off" readonly placeholder="请选择" lay-verify="required" readonly lay-reqText="请选择主办部门" class="layui-input picker-oa" data-types="department">
|
||||
<input type="hidden" name="did" value="{$detail.did}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="join" value="{$detail.join_names}" lay-verify="required" readonly lay-reqText="请选择参会人员" placeholder="请选择参会人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="join_uids" value="{$detail.join_uids}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议主题<font>*</font></td>
|
||||
<td colspan="5"><input type="text" name="title" value="{$detail.title}" lay-verify="required" lay-reqText="请输入会议主题" placeholder="请输入会议主题" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">会议内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请输入会议内容">{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2" style="vertical-align:top;">下一步<br>工作计划<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="plans" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请输入下一步工作计划">{$detail.plans}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员签字<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="sign" value="{$detail.sign_names}" lay-verify="required" readonly lay-reqText="请选择" placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="sign_uids" value="{$detail.sign_uids}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">共享给谁<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="share" value="{$detail.share_names}" lay-verify="required" readonly lay-reqText="请选择" placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="share_uids" value="{$detail.share_uids}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">备注信息</td>
|
||||
<td colspan="5">
|
||||
<textarea name="remarks" placeholder="请输入内容" class="layui-textarea">{$detail.remarks|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="py-3">
|
||||
<input type="hidden" name="id" value="{$detail.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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
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("/adm/meeting/records_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,67 @@
|
||||
{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.meeting_date|date='Y-m-d H:i'}</td>
|
||||
<td class="layui-td-gray">主持人</td>
|
||||
<td>{$detail.anchor_name}</td>
|
||||
<td class="layui-td-gray">记录人</td>
|
||||
<td>{$detail.recorder_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会 议 室</td>
|
||||
<td colspan="3">{$detail.room}</td>
|
||||
<td class="layui-td-gray">主办部门</td>
|
||||
<td>{$detail.did_name|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员</td>
|
||||
<td colspan="5">{$detail.join_names}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议主题</td>
|
||||
<td colspan="5">{$detail.title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">会议内容</td>
|
||||
<td colspan="5">{$detail.content}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2" style="vertical-align:top;">下一步<br>工作计划</td>
|
||||
<td colspan="5">{$detail.plans}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">参会人员签字</td>
|
||||
<td colspan="5">{$detail.sign_names}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">共享给谁</td>
|
||||
<td colspan="5">{$detail.share_names}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">备注信息</td>
|
||||
<td colspan="5">{$detail.remarks|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<a href="/api/export/pdf?types=meeting&id={$detail.id}" class="layui-btn" target="_blank"><i class="layui-icon layui-icon-print"></i>导出打印</a>
|
||||
</div>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,114 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</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="roomTable" lay-filter="roomTable"></table>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" data-href="/adm/meeting/room_add">+ 会议室</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,laydatePlus = layui.laydatePlus;
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#roomTable'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'会议室列表'
|
||||
,url: "/adm/meeting/room"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '会议室名称',width:150}
|
||||
,{field:'num',title: '可容纳人数',width:100, align:'center'}
|
||||
,{field:'keep_name',title: '管理员',width:80, align:'center'}
|
||||
,{field:'address',title: '会议室地址',width:300}
|
||||
,{field:'device',title: '会议室设备',minWidth:240,}
|
||||
,{field:'status', title: '状态',width:60,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:180,title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">查看</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn3='<a class="layui-btn layui-btn-xs layui-bg-purple" lay-event="open">启用</a>';
|
||||
var btn4='<a class="layui-btn layui-btn-xs layui-bg-blue" lay-event="use">使用情况</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+btn2+btn4+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+btn3+btn4+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(roomTable)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/meeting/room_add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/meeting/room_view?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'use'){
|
||||
tool.side("/adm/meeting/room_use?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该会议室吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/meeting/room_check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该会议室吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/meeting/room_check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,71 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">新增会议室</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">会议室名称<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="title" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室名称" placeholder="请完善会议室名称" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">地址(楼层)<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室地址(楼层)" placeholder="请输入会议室地址(楼层)" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">管 理 员<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="keep_name" autocomplete="off" readonly lay-verify="required" lay-reqText="请选择会议室管理员" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="keep_uid">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">可容纳人数<font>*</font></td>
|
||||
<td><input type="text" name="num" autocomplete="off" placeholder="请输入可容纳人数" lay-verify="required|number" lay-reqText="请输入可容纳人数" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">内置设备<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="device" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室内置设备" placeholder="请输入会议室内置设备" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">相关描述</td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" placeholder="请输入会议室相关描述" class="layui-textarea"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
//监听提交
|
||||
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("/adm/meeting/room_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,72 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">编辑会议室</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">会议室名称<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="title" value="{$detail.title}" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室名称" placeholder="请完善会议室名称" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">地址(楼层)<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="address" value="{$detail.address}" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室地址(楼层)" placeholder="请输入会议室地址(楼层)" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">管 理 员<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="keep_name" value="{$detail.keep_name}" autocomplete="off" readonly lay-verify="required" lay-reqText="请选择会议室管理员" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="keep_uid" value="{$detail.keep_uid}">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">可容纳人数<font>*</font></td>
|
||||
<td><input type="text" name="num" autocomplete="off" value="{$detail.num}" placeholder="请输入费用金额" lay-verify="required|number" lay-reqText="请输入费用金额" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">内置设备<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="device" value="{$detail.device}" autocomplete="off" lay-verify="required" lay-reqText="请完善会议室内置设备" placeholder="请输入会议室内置设备" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">相关描述</td>
|
||||
<td colspan="3">
|
||||
<textarea name="remark" placeholder="请输入会议室相关描述" class="layui-textarea">{$detail.remark|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<input type="hidden" name="id" value="{$detail.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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
//监听提交
|
||||
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("/adm/meeting/room_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,157 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<link rel="stylesheet" href="{__GOUGU__}/third_party/fullcalendar/main.min.css"/>
|
||||
<style>
|
||||
#calendar {width: 100%;margin: 0 auto; background-color:#fff;
|
||||
-moz-user-select: none; /*火狐*/
|
||||
-webkit-user-select: none; /*webkit浏览器*/
|
||||
}
|
||||
.fc .fc-toolbar.fc-header-toolbar{margin-bottom:0;border:1px solid #eeeeee; border-bottom:none;padding:15px 12px;}
|
||||
.fc-col-header{background-color:#fafafa;}
|
||||
.fc .fc-button-primary {color: #fff; background-color: #1E9FFF; border-color: #1E9FFF;}
|
||||
.fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active { color: #fff; background-color: #FBBC05; border-color: #FBBC05;}
|
||||
.fc .fc-button-primary:focus, .fc .fc-button-primary:not(:disabled).fc-button-active:focus, .fc .fc-button-primary:not(:disabled):active:focus {box-shadow: 0 0 0 0;}
|
||||
.fc .fc-button-primary:hover{color:#fff; background-color:#52B5FF; border-color:#52B5FF;}
|
||||
.fc-daygrid-event-harness{cursor:pointer;}
|
||||
.fc .fc-daygrid-week-number{font-size:12px;}
|
||||
.fc-daygrid-block-event .fc-event-time{font-weight:800}
|
||||
.fc-h-event .fc-event-main{color:#111111}
|
||||
.fc-theme-standard .fc-scrollgrid,.fc-theme-standard td, .fc-theme-standard th{border-color:#eee;}
|
||||
.fc-v-event .fc-event-main-frame{color:#333}
|
||||
/*今天背景色和字体颜色 */
|
||||
.fc .fc-daygrid-day.fc-day-today .fc-event-title,.fc .fc-daygrid-day.fc-day-today .fc-event-time,.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number{font-weight:800;color:#FF5722;}
|
||||
.calendar-select{width:100px; height:40px; position:absolute; top:31px; right:262px; z-index:100;}
|
||||
.calendar-select .layui-input{height: 36px; line-height: 1.2;}
|
||||
.layui-tags-span {padding: 3px 6px;font-size: 12px; background-color:#fff; border-radius: 3px; margin:2px 0; margin-right: 5px; border: 1px solid #e6e6e6; display: inline-block;}
|
||||
.layui-layer-content .layui-table-view .layui-table td,.layui-layer-content .layui-table-view .layui-table th{padding:1px 0;}
|
||||
.layui-unselect dl {max-height:188px;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<script src="{__GOUGU__}/third_party/fullcalendar/main.min.js"></script>
|
||||
<div class="p-page">
|
||||
<div id="calendar"></div>
|
||||
</div>
|
||||
<!-- /主体 -->
|
||||
{/block}
|
||||
{block name="copyright"}{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script type="text/javascript">
|
||||
var id={$detail.id};
|
||||
function addZero(num){
|
||||
if(num<10){
|
||||
num='0'+num;
|
||||
}
|
||||
return num;
|
||||
}
|
||||
const moduleInit = ['tool','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool, oaPicker = layui.oaPicker,laydate = layui.laydate,dropdown = layui.dropdown;
|
||||
//日历
|
||||
var calendarEl = document.getElementById('calendar');
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
views: {
|
||||
dayGrid: {
|
||||
viewDidMount:function(arg){
|
||||
calendar.setOption('height', window.innerHeight-30);
|
||||
}
|
||||
},
|
||||
timeGrid: {
|
||||
viewDidMount:function(arg){
|
||||
calendar.setOption('height', 'auto');
|
||||
}
|
||||
},
|
||||
week: {
|
||||
viewDidMount:function(arg){
|
||||
calendar.setOption('height', 'auto');
|
||||
}
|
||||
},
|
||||
day: {
|
||||
viewDidMount:function(arg){
|
||||
calendar.setOption('height', 'auto');
|
||||
}
|
||||
}
|
||||
},
|
||||
//initialDate: '2020-09-12',//默认显示日期
|
||||
initialView: 'dayGridMonth',//默认显示月视图
|
||||
headerToolbar: {
|
||||
left: 'prev,next',//prev,next today add
|
||||
center: 'title',
|
||||
right: 'dayGridMonth,timeGridWeek,listWeek' //clear dayGridMonth,timeGridWeek,timeGridDay,listWeek
|
||||
},
|
||||
height: 'auto',//自动高度
|
||||
navLinks: true, // can click day/week names to navigate views
|
||||
editable: true,//确定是否可以拖拉调整日历事件的时间。
|
||||
eventResize:function(ev) {
|
||||
var arg = ev.event
|
||||
console.log(arg);
|
||||
},
|
||||
eventDrop:function(ev) {
|
||||
var arg = ev.event
|
||||
console.log(arg);
|
||||
},
|
||||
selectable: true,//拖拉选择日期
|
||||
selectMirror: true,//是否在用户拖动时绘制"占位符"事件。
|
||||
select: function(arg) {
|
||||
console.log(arg);
|
||||
},
|
||||
nowIndicator: true,
|
||||
firstDay: 1,
|
||||
weekNumbers: true,// 是否开启周数
|
||||
displayEventEnd: false, //所有视图显示结束时间
|
||||
eventTimeFormat: { // 事件的时间格式,like '14:30:00'
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
//second: '2-digit',
|
||||
meridiem: false,
|
||||
hour12: false //设置时间为24小时
|
||||
},
|
||||
slotLabelFormat: { // 列表视图左边的时间格式,like '14:30:00'
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
//second: '2-digit',
|
||||
meridiem: false,
|
||||
hour12: false //设置时间为24小时
|
||||
},
|
||||
locale: 'zh-cn',//语言
|
||||
buttonText: {
|
||||
//按钮文本
|
||||
today: '今天',
|
||||
month: '月',
|
||||
week: '周',
|
||||
day: '日',
|
||||
list: '预定列表',
|
||||
},
|
||||
weekText: '周',
|
||||
allDayText: '全天',
|
||||
moreLinkText: function(n) {
|
||||
return '另外 ' + n + ' 个'
|
||||
},
|
||||
noEventsText: '没有预定记录',
|
||||
events: function(fetchInfo, successCallback, failureCallback ){
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url: "/adm/meeting/room_use",
|
||||
dataType:"json",
|
||||
data:{start:fetchInfo.startStr,end:fetchInfo.endStr,id:id},
|
||||
success:function(result){
|
||||
//console.info(result);
|
||||
successCallback(result);
|
||||
},
|
||||
error:function(){
|
||||
failureCallback();
|
||||
}
|
||||
})
|
||||
},
|
||||
eventClick: function(info) {
|
||||
//console.log(info.event);
|
||||
tool.side('/adm/meeting/view?id='+info.event.id);
|
||||
}
|
||||
});
|
||||
calendar.render();
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,44 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">会议室信息</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">会议室名称</td>
|
||||
<td colspan="3">{$detail.title}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">地址(楼层)</td>
|
||||
<td colspan="3">{$detail.address}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">管 理 员</td>
|
||||
<td>{$detail.keep_name}</td>
|
||||
<td class="layui-td-gray-2">可容纳人数</td>
|
||||
<td>{$detail.num}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">内置设备</td>
|
||||
<td colspan="3">{$detail.device}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">相关描述</td>
|
||||
<td colspan="3">{$detail.remark|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,52 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-2">会议室预定</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">会议主题</td>
|
||||
<td colspan="3">{$detail.title|default=''}</td>
|
||||
<td class="layui-td-gray">会议地点</td>
|
||||
<td>{$detail.room|default=''}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">开始时间</td>
|
||||
<td>{$detail.start_time|default=''}</td>
|
||||
<td class="layui-td-gray">结束时间</td>
|
||||
<td>{$detail.end_time|default=''}</td>
|
||||
<td class="layui-td-gray">会议人数</td>
|
||||
<td>{$detail.num|default=''}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">会议需求</td>
|
||||
<td colspan="5">
|
||||
{volist name="$detail.requirements_array" id="v"}
|
||||
{eq name="$v.checked" value="1" }<span class="layui-badge layui-bg-blue">{$v.title}</span>{/eq}
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">其他要求</td>
|
||||
<td colspan="5">{$detail.remark|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="checkBox" data-status="{$detail.check_status}" data-id="{$detail.id}" data-checkflowid="{$detail.check_flow_id}" class="pt-3"></div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
var moduleInit = ['tool','oaCheck'];
|
||||
|
||||
function gouguInit() {
|
||||
var tool = layui.tool,oaCheck = layui.oaCheck;
|
||||
//审批相关
|
||||
oaCheck.init({
|
||||
check_name:'meeting_order',
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,94 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
{eq name="$id" value="0"}
|
||||
<h3 class="pb-3">新增公司新闻</h3>
|
||||
{else/}
|
||||
<h3 class="pb-3">编辑公司新闻</h3>
|
||||
{/eq}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">新闻标题<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="title" lay-verify="required" lay-reqText="请输入新闻标题" placeholder="请输入新闻标题" class="layui-input" value="{$detail.title|default=''}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联链接</td>
|
||||
<td><input type="text" name="src" placeholder="请输入链接" class="layui-input" value="{$detail.src|default=''}"></td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td><input type="text" name="sort" placeholder="请输入排序,数字" class="layui-input" value="{$detail.sort|default=0}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<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>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">新闻内容<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" style="border:0;padding:0">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<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','tinymce'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus = layui.uploadPlus;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//编辑器初始化
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container",
|
||||
images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
|
||||
height: 500
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
data.field.content = tinyMCE.editors['container'].getContent();
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善新闻内容');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/news/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,86 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_news" lay-filter="table_news"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/news/add">+ 添加公司新闻</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_news"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/news/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '名称'}
|
||||
,{field:'admin_name',title: '创建人',width:90,align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:120,fixed:'right',title: '操作', align:'center',ignoreExport:true,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('tool(table_news)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/news/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/news/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/news/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,63 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<link rel="stylesheet" href="{__GOUGU__}/third_party/prism/prism.css"/>
|
||||
<style>
|
||||
.text-detial-ops{line-height: 30px; color:#999; font-size: 12px; padding: 12px 0;}
|
||||
.text-detial-ops span{margin-right: 20px;}
|
||||
.text-detial-ops a{margin-right:10px;}
|
||||
.text-detial-content{padding: 8px 0; color:#333; word-break: break-all; border-top:1px solid #e8e8e8;font-size: 16px!important; line-height: 1.72!important;}
|
||||
.text-detial-content p{padding: 8px 0;}
|
||||
.text-detial-content img{max-width:98%!important; margin:0 auto; display:block; border: 1px solid #e6e6e6; -webkit-box-shadow: 0 2px 6px rgba(26,26,26,.08); box-shadow: 0 2px 6px rgba(26,26,26,.08); border-radius: 4px;}
|
||||
.text-detial-content h1,.text-detial-content h2,.text-detial-content h3,.text-detial-content h4,.text-detial-content h5{margin-top:10px;}
|
||||
.text-detial-content a{color:#186AF2; font-style:italic;}
|
||||
.text-detial-content a:hover{text-decoration:underline;}
|
||||
|
||||
.text-detial-content p code,.blog-detial-content pre{margin:0 3px;font-size: 14px; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; background: #f6f6f6; padding: 10px; border-radius: 2px;}
|
||||
.text-detial-content p code{border: 1px solid #eee;padding: 2px 4px;}
|
||||
.text-detial-content table {border-collapse: collapse; border-spacing: 0; display: block; width: 100%; overflow: auto; word-break: normal;word-break: keep-all; margin-top: 0;margin-bottom: 16px;}
|
||||
.text-detial-content table tr {background-color: #fff;border-top: 1px solid #ccc;}
|
||||
.text-detial-content table tr:nth-child(2n) {background-color: #f8f8f8;}
|
||||
.text-detial-content table td, .blog-detial-content table th { padding: 6px 12px;border: 1px solid #ddd; font-size:14px; }
|
||||
.text-detial-content table th {font-weight: 800;}
|
||||
.text-detial-content li {list-style: initial;margin-left: 20px;}
|
||||
:not(pre)>code[class*=language-], pre[class*=language-]{background:#fff!important;border:1px solid #e8e8e8!important; border-radius:3px;}
|
||||
.upload-file{padding:12px; background-color:#fff; border:1px solid #eee; margin-bottom:12px;}
|
||||
.upload-file h3{margin-bottom:12px;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h1>{$detail.title}</h1>
|
||||
<div class="text-detial-ops">
|
||||
<span>{$detail.admin_name}发表于:{$detail.create_time | date='Y-m-d H:i:s'}</span>
|
||||
</div>
|
||||
<div class="text-detial-content">
|
||||
{$detail.content|raw}
|
||||
</div>
|
||||
{notempty name="$detail.src"}
|
||||
<div class="py-3" style="font-size:16px;">
|
||||
关联链接:<a class="blue" href="{$detail.src}" target="_blank">{$detail.src}</a>
|
||||
</div>
|
||||
{/notempty}
|
||||
{notempty name="$detail.file_ids"}
|
||||
<div class="upload-file layui-row">
|
||||
<h3>相关附件</h3>
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
{/notempty}
|
||||
</div>
|
||||
{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="{__GOUGU__}/third_party/prism/prism.js"></script>
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,124 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
{eq name="$id" value="0"}
|
||||
<h3 class="pb-2">新增公告</h3>
|
||||
{else/}
|
||||
<h3 class="pb-2">编辑公告</h3>
|
||||
{/eq}
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">公告标题<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" lay-verify="required" lay-reqText="请输入公告标题" placeholder="请输入公告标题" class="layui-input" value="{$detail.title|default=''}">
|
||||
</td>
|
||||
<td class="layui-td-gray">公告分类<font>*</font></td>
|
||||
<td>
|
||||
<select name="cate_id" lay-verify="required" lay-reqText="请选择分类">
|
||||
<option value="">请选择分类</option>
|
||||
{if condition="$id eq 0"}
|
||||
{volist name=":get_base_data('note_cate')" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
{else/}
|
||||
{volist name=":get_base_data('note_cate')" id="v"}
|
||||
<option value="{$v.id}" {eq name="$detail.cate_id" value="$v.id" }selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
{/if}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td><input type="text" name="sort" placeholder="排序,数字越大越靠前" class="layui-input" value="{$detail.sort|default=0}"></td>
|
||||
<td class="layui-td-gray">状态<font>*</font></td>
|
||||
<td>
|
||||
{if condition="$id eq 0"}
|
||||
<input type="radio" name="status" value="1" title="正常" checked>
|
||||
<input type="radio" name="status" value="0" title="禁用">
|
||||
{else/}
|
||||
<input type="radio" name="status" value="1" title="正常" {eq name="$detail.status" value="1" } checked{/eq}>
|
||||
<input type="radio" name="status" value="0" title="禁用" {eq name="$detail.status" value="0" } checked{/eq}>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">关联链接</td>
|
||||
<td colspan="3"><input type="text" name="src" placeholder="请输入链接" class="layui-input" value="{$detail.src|default=''}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</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>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">公告内容<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container{$detail.sourse|default=1}">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="pt-3">
|
||||
<input type="hidden" name="id" value="{$id}" />
|
||||
<input type="hidden" name="sourse" value="{$detail.sourse|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>
|
||||
const moduleInit = ['tool','uploadPlus','tinymce'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,laydate = layui.laydate,uploadPlus = layui.uploadPlus;
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//编辑器初始化
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container1",
|
||||
images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
|
||||
height: 500
|
||||
});
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
if (data.field.sourse == 1) {
|
||||
data.field.content = tinyMCE.editors['container1'].getContent();
|
||||
}
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善公告内容');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/note/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,103 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_note" lay-filter="table_note"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/note/add">+ 添加公告通知</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_note"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/note/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 80
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '公告主题'}
|
||||
,{field:'cate',title: '所属分类',width:120,align:'center'}
|
||||
,{field:'course', title: '状态',width:80,align:'center',templet: function(d){
|
||||
if(d.status==1){
|
||||
return '<span class="green">正常</span>';
|
||||
}
|
||||
else{
|
||||
return '<span class="red">禁用</span>';
|
||||
}
|
||||
}}
|
||||
,{field:'admin_name',title: '创建人',width:90,align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{field:'sourse', title: '来源',width:120,align:'center',templet: function(d){
|
||||
if(d.sourse==1){
|
||||
return '发布于PC端';
|
||||
}
|
||||
else{
|
||||
return '发布于手机端';
|
||||
}
|
||||
}}
|
||||
,{width:120,fixed:'right',title: '操作', align:'center',ignoreExport:true,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('tool(table_note)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/note/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/note/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/note/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,67 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<link rel="stylesheet" href="{__GOUGU__}/third_party/prism/prism.css"/>
|
||||
<style>
|
||||
.text-detial-ops{line-height: 30px; color:#999; font-size: 12px; padding: 12px 0;}
|
||||
.text-detial-ops span{margin-right: 20px;}
|
||||
.text-detial-ops a{margin-right:10px;}
|
||||
.text-detial-content{padding: 8px 0; color:#333; word-break: break-all; border-top:1px solid #e8e8e8;font-size: 16px!important; line-height: 1.72!important;}
|
||||
.text-detial-content p{padding: 8px 0;}
|
||||
.text-detial-content img{max-width:98%!important; margin:0 auto; display:block; border: 1px solid #e6e6e6; -webkit-box-shadow: 0 2px 6px rgba(26,26,26,.08); box-shadow: 0 2px 6px rgba(26,26,26,.08); border-radius: 4px;}
|
||||
.text-detial-content h1,.text-detial-content h2,.text-detial-content h3,.text-detial-content h4,.text-detial-content h5{margin-top:10px;}
|
||||
.text-detial-content a{color:#186AF2; font-style:italic;}
|
||||
.text-detial-content a:hover{text-decoration:underline;}
|
||||
|
||||
.text-detial-content p code,.blog-detial-content pre{margin:0 3px;font-size: 14px; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; background: #f6f6f6; padding: 10px; border-radius: 2px;}
|
||||
.text-detial-content p code{border: 1px solid #eee;padding: 2px 4px;}
|
||||
.text-detial-content table {border-collapse: collapse; border-spacing: 0; display: block; width: 100%; overflow: auto; word-break: normal;word-break: keep-all; margin-top: 0;margin-bottom: 16px;}
|
||||
.text-detial-content table tr {background-color: #fff;border-top: 1px solid #ccc;}
|
||||
.text-detial-content table tr:nth-child(2n) {background-color: #f8f8f8;}
|
||||
.text-detial-content table td, .blog-detial-content table th { padding: 6px 12px;border: 1px solid #ddd; font-size:14px; }
|
||||
.text-detial-content table th {font-weight: 800;}
|
||||
.text-detial-content li {list-style: initial;margin-left: 20px;}
|
||||
:not(pre)>code[class*=language-], pre[class*=language-]{background:#fff!important;border:1px solid #e8e8e8!important; border-radius:3px;}
|
||||
.upload-file{padding:12px; background-color:#fff; border:1px solid #eee; margin-bottom:12px;}
|
||||
.upload-file h3{margin-bottom:12px;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-5">
|
||||
<h1>{$detail.title}</h1>
|
||||
<div class="text-detial-ops">
|
||||
<span>{$detail.admin_name}发表于:{$detail.create_time | date='Y-m-d H:i:s'} {$detail.sourse==1?'PC端':'手机端'}</span><span>公告分类:{$detail.cate}</span>
|
||||
</div>
|
||||
<div class="text-detial-content">
|
||||
{eq name="$detail.sourse" value="1"}
|
||||
{$detail.content|raw}
|
||||
{else/}
|
||||
<pre style="font-family:inherit;white-space: pre-wrap;">{$detail.content}</pre>
|
||||
{/eq}
|
||||
</div>
|
||||
{notempty name="$detail.src"}
|
||||
<div class="py-3" style="font-size:16px;">
|
||||
关联链接:<a class="blue" href="{$detail.src}" target="_blank">{$detail.src}</a>
|
||||
</div>
|
||||
{/notempty}
|
||||
{notempty name="$detail.file_ids"}
|
||||
<div class="upload-file layui-row">
|
||||
<h3>相关附件</h3>
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
{/notempty}
|
||||
</div>
|
||||
{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script src="{__GOUGU__}/third_party/prism/prism.js"></script>
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,49 @@
|
||||
{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">公告类别名称<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">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" autocomplete="off" class="layui-input" value="{$detail.sort|default=''}">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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'];
|
||||
|
||||
function gouguInit() {
|
||||
var form = layui.form, tool = layui.tool;
|
||||
//监听提交
|
||||
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("/adm/notecate/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,124 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
|
||||
<div class="p-page">
|
||||
<table class="layui-hide" id="table_note_cate" lay-filter="table_note_cate"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm add-new" type="button">+ 添加公告类别</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_note_cate"
|
||||
,toolbar: '#toolbarDemo'
|
||||
,url: "/adm/notecate/datalist"
|
||||
,page: false
|
||||
,limit: 999
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '类型名称'}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:100,title: '操作', align:'center',ignoreExport:true,templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_note_cate)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
add_cate(obj.data.id,obj.data.title);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/notecate/set", {id:obj.data.id,status: 0}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/notecate/set", {id:obj.data.id,status:1}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.add-new',function(){
|
||||
add_cate(0,'');
|
||||
});
|
||||
|
||||
function add_cate(id,val){
|
||||
var title = '新增类型';
|
||||
if(id>0){
|
||||
title = '编辑类型';
|
||||
}
|
||||
layer.prompt({
|
||||
title: title,
|
||||
value: val,
|
||||
yes: function(index, layero) {
|
||||
// 获取文本框输入的值
|
||||
var value = layero.find(".layui-layer-input").val();
|
||||
if (value) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/notecate/add", {id: id,title: value}, callback);
|
||||
layer.close(index);
|
||||
} else {
|
||||
layer.msg('请填写类型名称');
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,16 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-3">公告类别详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">公告类别名称</td>
|
||||
<td>{$detail.title|default=''}"></td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>{$detail.sort|default=0}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
@@ -0,0 +1,130 @@
|
||||
{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">公文名称<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" autocomplete="off" placeholder="请输入公文名称" lay-verify="required" lay-reqText="请输入公文名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">公文文号<font>*</font></td>
|
||||
<td><input type="text" name="code" autocomplete="off" placeholder="请输入公文文号" lay-verify="required" lay-reqText="请输入公文文号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">拟稿人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="draft_name" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="draft_uid" value=''>
|
||||
</td>
|
||||
<td class="layui-td-gray">拟稿部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="draft_dame" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿部门" class="layui-input picker-oa" data-types="department">
|
||||
<input type="hidden" name="did" value=''>
|
||||
</td>
|
||||
<td class="layui-td-gray">拟稿日期<font>*</font></td>
|
||||
<td><input type="text" name="draft_time" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">主送人员<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="send_names" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择主送人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="send_uids" value=''>
|
||||
</td>
|
||||
<td class="layui-td-gray">抄送人员</td>
|
||||
<td>
|
||||
<input type="text" name="copy_names" value='' readonly placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="copy_uids" value=''>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">共享可查阅人</td>
|
||||
<td>
|
||||
<input type="text" name="share_names" value='' readonly placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="share_uids" value=''>
|
||||
</td>
|
||||
<td class="layui-td-gray">密级程度<font>*</font></td>
|
||||
<td>
|
||||
<input type="radio" name="secrets" value="1" title="公开">
|
||||
<input type="radio" name="secrets" value="2" title="秘密">
|
||||
<input type="radio" name="secrets" value="3" title="机密">
|
||||
</td>
|
||||
<td class="layui-td-gray">紧急程度<font>*</font></td>
|
||||
<td>
|
||||
<input type="radio" name="urgency" value="1" title="普通">
|
||||
<input type="radio" name="urgency" value="2" title="紧急">
|
||||
<input type="radio" name="urgency" value="3" title="加急">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">公文内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" style="border:0;padding:0"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<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','oaPicker','tinymce'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus,tinymce= layui.tinymce;
|
||||
//编辑器初始化
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container",
|
||||
images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
|
||||
height: 500
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
data.field.content = tinyMCE.editors['container'].getContent();
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善公文内容');
|
||||
return false;
|
||||
}
|
||||
if (!data.field.secrets || data.field.secrets == '') {
|
||||
layer.msg('请选择密级程度');
|
||||
return false;
|
||||
}
|
||||
if (!data.field.urgency || data.field.urgency == '') {
|
||||
layer.msg('请选择紧急程度');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/official/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,147 @@
|
||||
{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" id="barsearchform">
|
||||
<div class="layui-input-inline" style="width:128px">
|
||||
<select name="secrets">
|
||||
<option value="">选择秘密程度</option>
|
||||
{volist name="$secrets" id="vo"}
|
||||
{gt name="$key" value="0"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/gt}
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:128px">
|
||||
<select name="urgency">
|
||||
<option value="">选择重要程度</option>
|
||||
{volist name="$urgency" id="vo"}
|
||||
{gt name="$key" value="0"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/gt}
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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="table_official" lay-filter="table_official"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/official/add">+ 添加公文</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool, element = layui.element;
|
||||
//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: "#table_official"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/official/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-154'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', 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:'title',title: '公文主题',minWidth:240}
|
||||
,{field:'code',title: '公文编号',width:160}
|
||||
,{field:'secrets_str',title: '密级程度',width:80, align:'center'}
|
||||
,{field:'urgency_str',title: '紧急程度',width:80, align:'center'}
|
||||
,{field:'draft_name',title: '拟稿人',width:80, align:'center'}
|
||||
,{field:'draft_time',title: '拟稿日期',width:100, align:'center'}
|
||||
,{field:'draft_dname',title: '拟稿部门',width:100, 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>';
|
||||
if((d.check_status==0 || d.check_status==4)&& d.admin_id == login_admin){
|
||||
html = '<div class="layui-btn-group">'+btn1+btn2+btn3+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn1+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(table_official)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
tool.side("/adm/official/add");
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
table.on('tool(table_official)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/official/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/official/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/official/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,128 @@
|
||||
{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">公文名称<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" value="{$detail.title}" autocomplete="off" placeholder="请输入公文名称" lay-verify="required" lay-reqText="请输入公文名称" class="layui-input"></td>
|
||||
<td class="layui-td-gray">公文文号<font>*</font></td>
|
||||
<td><input type="text" name="code" value="{$detail.code}" autocomplete="off" placeholder="请输入公文文号" lay-verify="required" lay-reqText="请输入公文文号" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">拟稿人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="draft_name" value='{$detail.draft_name}' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="draft_uid" value='{$detail.draft_uid}'>
|
||||
</td>
|
||||
<td class="layui-td-gray">拟稿部门<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="draft_dame" value='{$detail.draft_dame}' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿部门" class="layui-input picker-oa" data-types="department">
|
||||
<input type="hidden" name="did" value='{$detail.did}'>
|
||||
</td>
|
||||
<td class="layui-td-gray">拟稿日期<font>*</font></td>
|
||||
<td><input type="text" name="draft_time" value='{$detail.draft_time|date="Y-m-d"}' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择拟稿日期" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">主送人员<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="send_names" value='{$detail.send_names}' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择主送人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="send_uids" value='{$detail.send_uids}'>
|
||||
</td>
|
||||
<td class="layui-td-gray">抄送人员</td>
|
||||
<td>
|
||||
<input type="text" name="copy_names" value='{$detail.copy_names}' readonly placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="copy_uids" value='{$detail.copy_uids}'>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">共享可查阅人</td>
|
||||
<td>
|
||||
<input type="text" name="share_names" value='{$detail.share_names}' readonly placeholder="请选择" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="share_uids" value='{$detail.share_uids}'>
|
||||
</td>
|
||||
<td class="layui-td-gray">密级程度<font>*</font></td>
|
||||
<td>
|
||||
<input type="radio" name="secrets" value="1" title="公开" {eq name="$detail.secrets" value="1"} checked{/eq}>
|
||||
<input type="radio" name="secrets" value="2" title="秘密" {eq name="$detail.secrets" value="2"} checked{/eq}>
|
||||
<input type="radio" name="secrets" value="3" title="机密" {eq name="$detail.secrets" value="3"} checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray">紧急程度<font>*</font></td>
|
||||
<td>
|
||||
<input type="radio" name="urgency" value="1" title="普通" {eq name="$detail.urgency" value="1"} checked{/eq}>
|
||||
<input type="radio" name="urgency" value="2" title="紧急" {eq name="$detail.urgency" value="2"} checked{/eq}>
|
||||
<input type="radio" name="urgency" value="3" title="加急" {eq name="$detail.urgency" value="3"} checked{/eq}>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.file_array"}
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">公文内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container" style="border:0;padding:0">{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-4">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker','tinymce'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus,tinymce= layui.tinymce;
|
||||
//编辑器初始化
|
||||
var editor = layui.tinymce;
|
||||
var edit = editor.render({
|
||||
selector: "#container",
|
||||
images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口
|
||||
height: 500
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
data.field.content = tinyMCE.editors['container'].getContent();
|
||||
if (data.field.content == '') {
|
||||
layer.msg('请先完善公文内容');
|
||||
return false;
|
||||
}
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.sideClose(1000);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/official/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,64 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_official" lay-filter="table_official"></table>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_official"
|
||||
,toolbar: false
|
||||
,url: "/adm/official/pending"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '公文主题',minWidth:240}
|
||||
,{field:'code',title: '公文编号',width:160}
|
||||
,{field:'secrets_str',title: '密级程度',width:80, align:'center'}
|
||||
,{field:'urgency_str',title: '紧急程度',width:80, align:'center'}
|
||||
,{field:'draft_name',title: '拟稿人',width:80, align:'center'}
|
||||
,{field:'draft_time',title: '拟稿日期',width:100, align:'center'}
|
||||
,{field:'draft_dname',title: '拟稿部门',width:100, align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:80,fixed:'right',title: '操作', align:'center',templet: function(d){
|
||||
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</a>';
|
||||
return btn1;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_official)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/official/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,64 @@
|
||||
{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:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_official" lay-filter="table_official"></table>
|
||||
</div>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_official"
|
||||
,toolbar: false
|
||||
,url: "/adm/official/reviewed"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '公文主题',minWidth:240}
|
||||
,{field:'code',title: '公文编号',width:160}
|
||||
,{field:'secrets_str',title: '密级程度',width:80, align:'center'}
|
||||
,{field:'urgency_str',title: '紧急程度',width:80, align:'center'}
|
||||
,{field:'draft_name',title: '拟稿人',width:80, align:'center'}
|
||||
,{field:'draft_time',title: '拟稿日期',width:100, align:'center'}
|
||||
,{field:'draft_dname',title: '拟稿部门',width:100, align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:80,fixed:'right',title: '操作', align:'center',templet: function(d){
|
||||
var btn1='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详细</a>';
|
||||
return btn1;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_official)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/official/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,110 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-2">公文详情</h3>
|
||||
<table class="layui-table layui-table-form">
|
||||
<tr>
|
||||
<td class="layui-td-gray">公文名称</td>
|
||||
<td colspan="3">{$detail.title}</td>
|
||||
<td class="layui-td-gray">公文文号</td>
|
||||
<td>{$detail.code}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">拟稿人</td>
|
||||
<td>{$detail.draft_name}</td>
|
||||
<td class="layui-td-gray">拟稿部门</td>
|
||||
<td>{$detail.draft_dame}</td>
|
||||
<td class="layui-td-gray">拟稿日期</td>
|
||||
<td>{$detail.draft_time|date="Y-m-d"}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">主送人员</td>
|
||||
<td colspan="3">{$detail.send_names}</td>
|
||||
<td class="layui-td-gray">抄送人员</td>
|
||||
<td>{$detail.copy_names|default='-'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">共享可查阅人</td>
|
||||
<td>{$detail.share_names|default='-'}
|
||||
{eq name="$auth_office" value="1"}
|
||||
<span id="shares" data-ids="{$detail.share_uids}" data-names="{$detail.share_names}" class="layui-btn layui-btn-xs layui-btn-normal ml-1">更改</span>
|
||||
{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray">密级程度</td>
|
||||
<td>
|
||||
{eq name="$detail.secrets" value="1"}公开{/eq}
|
||||
{eq name="$detail.secrets" value="2"}秘密{/eq}
|
||||
{eq name="$detail.secrets" value="3"}机密{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray">紧急程度</td>
|
||||
<td>
|
||||
{eq name="$detail.urgency" value="1"}普通{/eq}
|
||||
{eq name="$detail.urgency" value="2"}紧急{/eq}
|
||||
{eq name="$detail.urgency" value="3"}加急{/eq}
|
||||
</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">相关附件</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">公文内容</td>
|
||||
<td colspan="5">{$detail.content|raw}</td>
|
||||
</tr>
|
||||
</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>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
var detail_id = {$detail.id};
|
||||
const moduleInit = ['tool','oaCheck','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,oaCheck=layui.oaCheck,oaPicker=layui.oaPicker;
|
||||
oaCheck.init({
|
||||
check_name:'official_docs',
|
||||
check_copy:0
|
||||
});
|
||||
|
||||
let eventCallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
parent.layui.pageTable.reload();
|
||||
setTimeout(function(){
|
||||
location.reload();
|
||||
},1200)
|
||||
}
|
||||
//选择共享成员弹窗
|
||||
$('body').on('click','#shares',function () {
|
||||
let that = $(this);
|
||||
let ids=$(this).data('ids')+'',names = $(this).data('names')+'';
|
||||
oaPicker.employeeInit({
|
||||
ids:ids,
|
||||
names:names,
|
||||
type:2,//1是单选,2是多选
|
||||
callback:function(data){
|
||||
let select_id=[],select_name=[];
|
||||
for(var a=0; a<data.length;a++){
|
||||
select_id.push(data[a].id);
|
||||
select_name.push(data[a].name);
|
||||
}
|
||||
tool.post("/adm/official/add", {'id':detail_id,'share_uids':select_id.join(','),'scene':'change'}, eventCallback);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,184 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">新增资产</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="title" placeholder="请输入资产名称" lay-verify="required" lay-reqText="请输入资产名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2" rowspan="5">
|
||||
资产缩略图
|
||||
<button type="button" class="layui-btn layui-btn-sm" id="uploadImg">+ 上传图片</button>
|
||||
</td>
|
||||
<td rowspan="5" style="width:252px;">
|
||||
<div id="demo1" style="width: 240px; height:136px; overflow: hidden;">
|
||||
<img src="" style="max-width: 100%; height:136px;" />
|
||||
<input type="hidden" name="thumb" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产编码<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="code" value="{:get_codeno('ZC')}" class="layui-input" lay-verify="required">
|
||||
</td>
|
||||
<td class="layui-td-gray">资产型号<font>*</font></td>
|
||||
<td><input type="text" name="model" value="" class="layui-input" lay-verify="required"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">资产分类<font>*</font></td>
|
||||
<td>
|
||||
<select name="cate_id" lay-verify="required" lay-reqText="请选择资产分类">
|
||||
<option value="">请选择大分类</option>
|
||||
{volist name=":set_recursion(get_base_data('PropertyCate'))" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">资产品牌<font>*</font></td>
|
||||
<td>
|
||||
<select name="brand_id" lay-verify="required" lay-reqText="请选择品牌">
|
||||
<option value="">请选择品牌</option>
|
||||
{volist name=":get_base_data('PropertyBrand')" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">质保到期日<font>*</font></td>
|
||||
<td><input type="text" name="quality_time" readonly placeholder="请选择质保到期日" class="layui-input tool-time" lay-verify="required" lay-reqText="请完善质保到期日"></td>
|
||||
<td class="layui-td-gray">资产单位<font>*</font></td>
|
||||
<td>
|
||||
<select name="unit_id" lay-verify="required" lay-reqText="请选择资产单位">
|
||||
<option value="">请选择单位</option>
|
||||
{volist name=":get_base_data('PropertyUnit')" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">使用人员</td>
|
||||
<td>
|
||||
<input type="text" name="users_name" readonly placeholder="请选择使用人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="user_ids" value="">
|
||||
</td>
|
||||
<td class="layui-td-gray">使用部门</td>
|
||||
<td><select id="user_dids" name="user_dids" xm-selected="" xm-select="select1" xm-select-skin="default"></select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">购买价格<font>*</font></td>
|
||||
<td><input type="text" name="price" placeholder="请输入购买价格" lay-verify="required|number" lay-reqText="请输入购买价格" class="layui-input"></td>
|
||||
<td class="layui-td-gray">购买日期<font>*</font></td>
|
||||
<td><input type="text" name="buy_time" readonly placeholder="请选择购买日期" lay-verify="required" lay-reqText="请选择购买日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">年折旧率(%)<font>*</font></td>
|
||||
<td><input type="text" name="rate" placeholder="请输入年折旧率,不需要输入%" lay-verify="required|number" lay-reqText="请输入年折旧率,不需要%" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产状态<font>*</font></td>
|
||||
<td colspan="5">
|
||||
{volist name="$status" id="vo"}
|
||||
<input type="radio" name="status" value="{$key}" title="{$vo}">
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产来源<font>*</font></td>
|
||||
<td colspan="5">
|
||||
{volist name="$source" id="vo"}
|
||||
{gt name="$key" value="0"}
|
||||
<input type="radio" name="source" value="{$key}" title="{$vo}">
|
||||
{/gt}
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">放置地址</td>
|
||||
<td colspan="5"><input type="text" name="address" placeholder="请输入放置地址" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">资产描述</td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<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','formSelects','uploadPlus','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus = layui.uploadPlus, formSelects = layui.formSelects;
|
||||
|
||||
//选择部门
|
||||
var selected = $('#department_ids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selected
|
||||
});
|
||||
//单图上传
|
||||
var photoUpload = new uploadPlus({
|
||||
'use':'single',
|
||||
'target':'uploadImg',
|
||||
'callback':function(res){
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
//上传成功
|
||||
$('#demo1 input').attr('value', res.data.id);
|
||||
$('#demo1 img').attr('src', res.data.filepath);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
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);
|
||||
}
|
||||
}
|
||||
if(!data.field.status){
|
||||
layer.msg('请选择资产状态');
|
||||
return false;
|
||||
}
|
||||
if(!data.field.source){
|
||||
layer.msg('请选择资产来源');
|
||||
return false;
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/property/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,164 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.tree-left{width:220px; float:left; height:calc(100% - 40px); overflow: scroll; border:1px solid #eeeeee; background-color:#fff; padding:12px 12px 12px 5px;}
|
||||
.tree-left h3{font-size:16px; height:30px; padding-left:10px; font-weight:800}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page" style="height:100%; box-sizing: border-box;">
|
||||
<div class="tree-left">
|
||||
<h3>资产分类</h3>
|
||||
<div id="cate"></div>
|
||||
</div>
|
||||
<div class="body-table" style="margin-left:248px; overflow:hidden;">
|
||||
<form class="layui-form gg-form-bar border-t border-x" lay-filter="barsearchform">
|
||||
<div class="layui-input-inline" style="width:120px">
|
||||
<select name="brand_id">
|
||||
<option value="">资产品牌</option>
|
||||
{volist name=":get_base_data('PropertyBrand')" id="v"}
|
||||
<option value="{$v.id}">{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:100px">
|
||||
<select name="status">
|
||||
<option value="">资产状态</option>
|
||||
{volist name="$status" id="vo"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">重置</button>
|
||||
</div>
|
||||
</form>
|
||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/property/add">+ 添加资产</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
{block name="copyright"}{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const status_types = [{"id":0,"title":"闲置"},{"id":1,"title":"在用"},{"id":2,"title":"维修"},{"id":3,"title":"报废"},{"id":4,"title":"丢失"}];
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,tree = layui.tree,form = layui.form,dropdown = layui.dropdown;
|
||||
$.ajax({
|
||||
url: "/adm/api/get_propertycate_tree",
|
||||
type:'get',
|
||||
success:function(res){
|
||||
//仅节点左侧图标控制收缩
|
||||
tree.render({
|
||||
elem: '#cate',
|
||||
data: res.trees,
|
||||
onlyIconControl: true, //是否仅允许节点左侧图标控制展开收缩
|
||||
click: function(obj){
|
||||
//layer.msg(JSON.stringify(obj.data));
|
||||
$('#cate').find('.layui-tree-main').removeClass('on');
|
||||
$(obj.elem).find('.layui-tree-main').eq(0).addClass('on');
|
||||
layui.pageTable.reload({
|
||||
where: {cate_id: obj.data.id},
|
||||
page:{curr:1}
|
||||
});
|
||||
$('[name="keywords"]').val('');
|
||||
$('[name="brand_id"]').val('');
|
||||
$('[name="status"]').val('');
|
||||
form.render();
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
$('[lay-filter="reset"]').click(function(){
|
||||
$('#cate').find('.layui-tree-main').removeClass('on');
|
||||
});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'资产列表'
|
||||
,url: "/adm/property/datalist"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-88'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'code',width:160, title: '资产编码', align:'center'}
|
||||
,{field:'cate',width:120, title: '资产分类', align:'center'}
|
||||
,{field:'title',minWidth:240,title: '资产名称'}
|
||||
,{field:'brand',title: '品牌',align: 'center',width: 100}
|
||||
,{field:'model',title: '型号',align: 'center',width: 100}
|
||||
,{field:'unit',title: '单位',align: 'center',width: 60}
|
||||
,{field:'price',width:100, title: '价格(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'status_str', title: '状态',width:60,align:'center'}
|
||||
,{field:'create_name',title: '创建人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '创建时间',align: 'center',width: 150}
|
||||
,{field:'update_name',title: '最后修改人',align: 'center',width: 100}
|
||||
,{field:'update_time_str',title: '最后修改时间',align: 'center',width: 150}
|
||||
,{width:200,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="set">设置状态 <i class="layui-icon layui-icon-down layui-font-12"></i></a>';
|
||||
var btn2='<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="repair">维修</a>';
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+btn2+'</div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/property/add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/property/view?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'repair'){
|
||||
tool.side("/adm/property/repair_add?pid="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'set'){
|
||||
dropdown.render({
|
||||
elem: that,
|
||||
show: true, // 外部事件触发即显示
|
||||
data: status_types,
|
||||
click: function(item){
|
||||
layer.confirm('确定要修改该资产状态为【'+item.title+'】吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/property/check", { id: obj.data.id,status: item.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(webform)', function(data){
|
||||
layui.pageTable.reload({where:data.field,page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,190 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">编辑资产</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称<font>*</font></td>
|
||||
<td colspan="3">
|
||||
<input type="text" name="title" value="{$detail.title}" placeholder="请输入资产名称" lay-verify="required" lay-reqText="请输入资产名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2" rowspan="5">
|
||||
缩略图
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadImg">+ 上传缩略图</button>
|
||||
</td>
|
||||
<td rowspan="5" style="width:252px;">
|
||||
<div class="layui-upload-list" id="demo1" style="width: 240px; height:136px; overflow: hidden;">
|
||||
<img src="{:get_file($detail.thumb)}" style="max-width: 100%; height:136px;" />
|
||||
<input type="hidden" name="thumb" value="{$detail.thumb}">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产编码<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="code" value="{$detail.code}" class="layui-input" lay-verify="required">
|
||||
</td>
|
||||
<td class="layui-td-gray">资产型号<font>*</font></td>
|
||||
<td><input type="text" name="model" value="{$detail.model}" class="layui-input" lay-verify="required"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">资产分类<font>*</font></td>
|
||||
<td>
|
||||
<select name="cate_id" lay-verify="required" lay-reqText="请选择分类">
|
||||
<option value="">请选择分类</option>
|
||||
{volist name=":set_recursion(get_base_data('PropertyCate'))" id="v"}
|
||||
<option value="{$v.id}" {eq name="$v.id" value="$detail.cate_id"} selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">资产品牌<font>*</font></td>
|
||||
<td>
|
||||
<select name="brand_id" lay-verify="required" lay-reqText="请选择品牌">
|
||||
<option value="">请选择品牌</option>
|
||||
{volist name=":get_base_data('PropertyBrand')" id="v"}
|
||||
<option value="{$v.id}" {eq name="v.id" value="$detail.brand_id"} selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">质保到期日<font>*</font></td>
|
||||
<td><input type="text" name="quality_time" value="{$detail.quality_time|date='Y-m-d'}" readonly placeholder="请选择质保到期日" class="layui-input tool-time" lay-verify="required" lay-reqText="请完善质保到期日"></td>
|
||||
<td class="layui-td-gray">单位<font>*</font></td>
|
||||
<td>
|
||||
<select name="unit_id" lay-verify="required" lay-reqText="请选择单位">
|
||||
<option value="">请选择单位</option>
|
||||
{volist name=":get_base_data('PropertyUnit')" id="v"}
|
||||
<option value="{$v.id}" {eq name="v.id" value="$detail.unit_id"} selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">使用人员</td>
|
||||
<td>
|
||||
<input type="text" name="users_name" value="{$detail.users_name|default=''}" readonly placeholder="请选择使用人员" class="layui-input picker-admin" data-type="2">
|
||||
<input type="hidden" name="user_ids" value="{$detail.user_ids}">
|
||||
</td>
|
||||
<td class="layui-td-gray">使用部门</td>
|
||||
<td><select id="user_dids" name="user_dids" xm-selected="{$detail.user_dids}" xm-select="select1" xm-select-skin="default"></select></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">购买价格<font>*</font></td>
|
||||
<td><input type="text" name="price" value="{$detail.price}" placeholder="请输入购买价格" lay-verify="required|number" lay-reqText="请输入购买价格" class="layui-input"></td>
|
||||
<td class="layui-td-gray">购买日期<font>*</font></td>
|
||||
<td><input type="text" name="buy_time" value="{$detail.buy_time|date='Y-m-d'}" readonly placeholder="请选择购买日期" lay-verify="required" lay-reqText="请选择购买日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">年折旧率(%)<font>*</font></td>
|
||||
<td><input type="text" name="rate" value="{$detail.rate}" placeholder="请输入年折旧率,不需要输入%" lay-verify="required|number" lay-reqText="请输入年折旧率,不需要%" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产状态<font>*</font></td>
|
||||
<td colspan="5">
|
||||
{volist name="$status" id="vo"}
|
||||
<input type="radio" name="status" value="{$key}" title="{$vo}" {eq name="$key" value="$detail.status"} checked{/eq}>
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产来源<font>*</font></td>
|
||||
<td colspan="5">
|
||||
{volist name="$source" id="vo"}
|
||||
{gt name="$key" value="0"}
|
||||
<input type="radio" name="source" value="{$key}" title="{$vo}" {eq name="$key" value="$detail.source"} checked{/eq}>
|
||||
{/gt}
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">放置地址</td>
|
||||
<td colspan="5"><input type="text" name="address" value="{$detail.address}" placeholder="请输入放置地址" class="layui-input"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">资产附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.fileArray"}
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="uploadFile{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">资产描述</td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" id="container">{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<input type="hidden" name="id" value="{$detail.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','formSelects','uploadPlus','oaPicker'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus = layui.uploadPlus, formSelects = layui.formSelects;
|
||||
|
||||
//选择部门
|
||||
var selected = $('#user_dids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selected
|
||||
});
|
||||
//单图上传
|
||||
var photoUpload = new uploadPlus({
|
||||
'use':'single',
|
||||
'target':'uploadImg',
|
||||
'callback':function(res){
|
||||
layer.msg(res.msg);
|
||||
if (res.code == 0) {
|
||||
//上传成功
|
||||
$('#demo1 input').attr('value', res.data.id);
|
||||
$('#demo1 img').attr('src', res.data.filepath);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
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);
|
||||
}
|
||||
}
|
||||
if(!data.field.status){
|
||||
layer.msg('请选择资产状态');
|
||||
return false;
|
||||
}
|
||||
if(!data.field.source){
|
||||
layer.msg('请选择资产来源');
|
||||
return false;
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/property/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,87 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">新增资产维修记录</h3>
|
||||
<table class="layui-table">
|
||||
{eq name="$pid" value="0"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<input type="text" name="property_name" readonly lay-verify="required" lay-reqText="请选择资产" placeholder="请选择" class="layui-input picker-oa" data-types="property">
|
||||
<input type="hidden" name="property_id" value="">
|
||||
</td>
|
||||
</tr>
|
||||
{else/}
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称</td>
|
||||
<td colspan="5">{$property.title}</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" readonly placeholder="请选择维修日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">维修费用<font>*</font></td>
|
||||
<td><input type="text" name="cost" placeholder="请输入维修费用" lay-verify="required|number" lay-reqText="请输入维修费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">跟进人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="director_name" readonly lay-verify="required" lay-reqText="请选择负责人" placeholder="请选择" class="layui-input picker-admin">
|
||||
<input type="hidden" name="director_id">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修原因<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善维修原因"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
{gt name="$pid" value="0"}
|
||||
<input type="hidden" name="property_id" value="{$pid}">
|
||||
{/gt}
|
||||
<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','oaPicker'];
|
||||
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("/adm/property/repair_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,80 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">编辑资产维修记录</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称</td>
|
||||
<td colspan="5">{$detail.property}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期<font>*</font></td>
|
||||
<td><input type="text" name="repair_time" value="{$detail.repair_time|date='Y-m-d'}" readonly placeholder="请选择维修日期" class="layui-input picker"></td>
|
||||
<td class="layui-td-gray">维修费用<font>*</font></td>
|
||||
<td><input type="text" name="cost" value="{$detail.cost}" placeholder="请输入维修费用" lay-verify="required|number" lay-reqText="请输入维修费用" class="layui-input"></td>
|
||||
<td class="layui-td-gray">跟进人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="director_name" value="{$detail.director_name}" readonly lay-verify="required" lay-reqText="请选择负责人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="director_id" value="{$detail.director_id}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.fileArray"}
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo)}</div>
|
||||
{/volist}
|
||||
{/notempty}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修原因<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善维修原因">{$detail.content|default=''}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="pt-2">
|
||||
<input type="hidden" name="id" value="{$detail.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','oaPicker'];
|
||||
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("/adm/property/repair_add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,91 @@
|
||||
{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:300px;">
|
||||
<input type="text" class="layui-input" id="diff_time" placeholder="维修日期" readonly name="diff_time">
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:150px">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
|
||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="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 tool-add" type="button" data-href="/adm/property/repair_add">+ 添加维修记录</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus','laydatePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool,form = layui.form,laydatePlus = layui.laydatePlus;
|
||||
var diff_time = new laydatePlus({'target':'diff_time'});
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'维修记录列表'
|
||||
,url: "/adm/property/repair_list"
|
||||
,is_excel: true
|
||||
,page: true
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'repair_time',title: '维修日期',align: 'center',width: 100}
|
||||
,{field:'cost',width:100, title: '维修费用(元)', align:'center',style:"color:#16b777"}
|
||||
,{field:'title',minWidth:240,title: '资产名称'}
|
||||
,{field:'cate',width:120, title: '资产分类', align:'center'}
|
||||
,{field:'brand',title: '资产品牌',align: 'center',width: 100}
|
||||
,{field:'model',title: '资产型号',align: 'center',width: 100}
|
||||
,{field:'director_name',title: '跟进人',align: 'center',width: 80}
|
||||
,{field:'create_time',title: '记录时间',align: 'center',width: 150}
|
||||
,{width:120,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='<div class="layui-btn-group"><a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a></div>';
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
var that = this;
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/property/repair_add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'view'){
|
||||
tool.side("/adm/property/repair_view?id="+obj.data.id);
|
||||
}
|
||||
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.post("/adm/property/repair_del", {id: obj.data.id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
//监听搜索提交
|
||||
form.on('submit(webform)', function(data){
|
||||
layui.pageTable.reload({where:data.field,page:{curr:1}});
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,50 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-page">
|
||||
<h3 class="pb-1">资产维修记录</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称</td>
|
||||
<td colspan="5">{$detail.property}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">维修日期</td>
|
||||
<td>{$detail.repair_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">维修费用</td>
|
||||
<td>{$detail.cost}</td>
|
||||
<td class="layui-td-gray">跟进人</td>
|
||||
<td>{$detail.director_name}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.fileArray"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">相关附件</div></td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">维修原因</td>
|
||||
<td colspan="5">{$detail.content|default=''}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,141 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-table-min th{text-align:center; background-color:#f8f8f8;}
|
||||
.layui-table-min td{padding:6px;text-align:center;}
|
||||
</style>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<h3 class="pb-1">资产详情</h3>
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产名称</td>
|
||||
<td colspan="3">{$detail.title}</td>
|
||||
<td class="layui-td-gray">资产编码</td>
|
||||
<td>{$detail.code}</td>
|
||||
<td class="layui-td-gray" rowspan="5">缩略图</td>
|
||||
<td rowspan="5" style="width:180px;">
|
||||
<div class="layui-upload-list" style="width: 180px; height:160px; overflow: hidden;">
|
||||
<img src="{:get_file($detail.thumb)}" style="max-width: 100%; height:160px;" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产分类</td>
|
||||
<td>{$detail.cate|default=""}</td>
|
||||
<td class="layui-td-gray">资产品牌</td>
|
||||
<td>{$detail.brand|default=""}</td>
|
||||
<td class="layui-td-gray">资产型号</td>
|
||||
<td>{$detail.model|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">购买价格</td>
|
||||
<td>{$detail.price} 元</td>
|
||||
<td class="layui-td-gray">购买日期</td>
|
||||
<td>{$detail.buy_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">年折旧率</td>
|
||||
<td>{$detail.rate}%</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">质保日期</td>
|
||||
<td>{$detail.quality_time|date='Y-m-d'}</td>
|
||||
<td class="layui-td-gray">使用人员</td>
|
||||
<td>{$detail.users_name|default="-"}</td>
|
||||
<td class="layui-td-gray">使用部门</td>
|
||||
<td>{$detail.dids_title|default="-"}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">放置地址</td>
|
||||
<td colspan="3">{$detail.address}</td>
|
||||
<td class="layui-td-gray">单位</td>
|
||||
<td>{$detail.unit|default=""}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">资产来源</td>
|
||||
<td colspan="3">{$detail.source_str}</td>
|
||||
<td class="layui-td-gray">当前状态</td>
|
||||
<td colspan="3">{$detail.status_str}</td>
|
||||
</tr>
|
||||
{notempty name="$detail.file_ids"}
|
||||
<tr>
|
||||
<td class="layui-td-gray" colspan="8" style="text-align:left; color:#666"><strong>资产附件</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
{volist name="$detail.fileArray" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{:file_card($vo,'view')}</div>
|
||||
{/volist}
|
||||
</td>
|
||||
</tr>
|
||||
{/notempty}
|
||||
<tr>
|
||||
<td class="layui-td-gray" colspan="8" style="text-align:left; color:#666"><strong>资产描述</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">{:nl2br($detail.content)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" colspan="8" style="text-align:left; color:#666"><strong>维修记录</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="8">
|
||||
<table id="repair" class="layui-table layui-table-min" style="margin:0">
|
||||
<tr>
|
||||
<th width="90">维修日期</th>
|
||||
<th width="100">维修费用(元)</th>
|
||||
<th width="80">跟进人</th>
|
||||
<th>原因说明</th>
|
||||
<th width="120">记录时间</th>
|
||||
<th width="120">操作</th>
|
||||
</tr>
|
||||
{empty name="$detail.repair"}
|
||||
<tr class="tr-none">
|
||||
<td colspan="6">暂无维修记录</td>
|
||||
</tr>
|
||||
{else/}
|
||||
{volist name="$detail.repair" id="vo"}
|
||||
<tr>
|
||||
<td>{$vo.repair_time|date="Y-m-d"}</td>
|
||||
<td>{$vo.cost}</td>
|
||||
<td>{$vo.director_name}</td>
|
||||
<td style="text-align:left;">{$vo.content|default="-"}</td>
|
||||
<td>{$vo.create_time|date="Y-m-d H:i"}</td>
|
||||
<td><div class="layui-btn-group"><a class="layui-btn layui-btn-xs side-a" data-href="/adm/property/repair_add?id={$vo.id}">编辑</a><a class="layui-btn layui-btn-normal layui-btn-xs side-a" data-href="/adm/property/repair_view?id={$vo.id}">详情</a><a class="layui-btn layui-btn-danger layui-btn-xs del" data-id="{$vo.id}">删除</a></div></td>
|
||||
</tr>
|
||||
{/volist}
|
||||
{/empty}
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var tool = layui.tool;
|
||||
$('#repair').on('click','.del',function(){
|
||||
let id=$(this).data('id');
|
||||
layer.confirm('确定要删除该维修记录吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
tool.reload(1000);
|
||||
}
|
||||
}
|
||||
tool.post("/adm/property/repair_del", {id: id}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
})
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,71 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">资产品牌</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<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">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="3"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">品牌名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入资产品牌名称" lay-reqText="请输入资产品牌名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="3"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea">{$detail.desc}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="py-3">
|
||||
<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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
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("/adm/propertybrand/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,95 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-3">
|
||||
<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 add-new" type="button">+ 添加资产品牌</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'资产品牌列表'
|
||||
,url: "/adm/propertybrand/datalist"
|
||||
,page: true
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '名称',width:150}
|
||||
,{field:'desc',title: '描述'}
|
||||
,{field:'sort',width:100,title: '排序', align:'center'}
|
||||
,{field:'status', title: '状态',width:100,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:132,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/propertybrand/add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该资产品牌吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/propertybrand/check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该资产品牌吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/propertybrand/check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.add-new',function(){
|
||||
tool.side("/adm/propertybrand/add");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,91 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">资产分类</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">父级分类<font>*</font></td>
|
||||
<td>
|
||||
<select name="pid" lay-verify="required" lay-reqText="请选择父级分类">
|
||||
<option value="0">作为顶级分类</option>
|
||||
{volist name="$cates" id="v"}
|
||||
<option value="{$v.id}" {eq name="$pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<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">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="5"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">父级分类<font>*</font></td>
|
||||
<td>
|
||||
<select name="pid" lay-verify="required" lay-reqText="请选择父级分类">
|
||||
<option value="0">作为顶级分类</option>
|
||||
{volist name="$cates" id="v"}
|
||||
<option value="{$v.id}" {eq name="$detail.pid" value="$v.id"}selected=""{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">分类名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入分类名称" lay-reqText="请输入分类名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="5"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea">{$detail.desc}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="pt-3">
|
||||
<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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
setTimeout(function () {
|
||||
parent.location.reload();
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/propertycate/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,86 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-3">
|
||||
<div class="gg-form-bar border-t border-x" style="padding-bottom:10px;">
|
||||
<button class="layui-btn layui-btn-sm add-menu">+ 添加资产分类</button>
|
||||
</div>
|
||||
<div>
|
||||
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/html" id="switchStatus">
|
||||
<input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="status" {{ d.status == 1 ? 'checked' : '' }}>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var treeTable = layui.treeTable, tool = layui.tool;
|
||||
|
||||
layui.pageTable = treeTable.render({
|
||||
elem: '#treeTable'
|
||||
,url: "/adm/propertycate/datalist"
|
||||
,tree: { // treeTable 特定属性集
|
||||
customName: {name:'title'},
|
||||
data: {},
|
||||
view: {
|
||||
showIcon:false,
|
||||
expandAllDefault:true
|
||||
},
|
||||
async: {},
|
||||
callback: {}
|
||||
}
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field: 'sort', title: '排序',align:'center', width:80}
|
||||
,{field:'title', width:240, title: '分类名称'}
|
||||
,{field:'pid', title: '父级ID', width:80, align:'center'}
|
||||
,{field:'desc', title: '描述', }
|
||||
,{width:160,title: '操作', align:'center',templet: function(d){
|
||||
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="add">添加子分类</button><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></span>';
|
||||
return html;
|
||||
}
|
||||
}
|
||||
]]
|
||||
,page:false
|
||||
//,skin:'line'
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
$('.add-menu').on('click', function(){
|
||||
tool.side('/adm/propertycate/add');
|
||||
return;
|
||||
});
|
||||
|
||||
//操作按钮
|
||||
treeTable.on('tool(treeTable)', function (obj) {
|
||||
if (obj.event === 'add') {
|
||||
tool.side('/adm/propertycate/add?pid='+obj.data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side('/adm/propertycate/add?id='+obj.data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete('/adm/propertycate/del', { id: obj.data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,71 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">资产单位</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<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">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="3"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">单位名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入单位名称" lay-reqText="请输入单位名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">排序</td>
|
||||
<td>
|
||||
<input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" value="0" autocomplete="off" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">描述</td>
|
||||
<td colspan="3"><textarea name="desc" placeholder="请输入描述,可空" class="layui-textarea">{$detail.desc}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="pt-3">
|
||||
<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'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool;
|
||||
//监听提交
|
||||
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("/adm/propertyunit/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,95 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-3">
|
||||
<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 addNew" type="button">+ 添加资产单位</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,title:'资产单位列表'
|
||||
,url: "/adm/propertyunit/datalist"
|
||||
,page: true
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '名称',width:150}
|
||||
,{field:'desc',title: '描述'}
|
||||
,{field:'sort',width:100,title: '排序', align:'center'}
|
||||
,{field:'status', title: '状态',width:100,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:132,fixed:'right', title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side("/adm/propertyunit/add?id="+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该资产单位吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/propertyunit/check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该资产单位吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/propertyunit/check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.addNew',function(){
|
||||
tool.side("/adm/propertyunit/add");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,122 @@
|
||||
{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">申请主题<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" autocomplete="off" placeholder="请输入用章申请主题" lay-verify="required" lay-reqText="请输入用申请主题" class="layui-input"></td>
|
||||
<td class="layui-td-gray">用印部门</td>
|
||||
<td>{$user.department}({$user.name})<input type="hidden" name="did" value="{$user.did}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">盖章次数<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="num" value='' placeholder="请输入盖章次数" lay-verify="required|number" lay-reqText="请输入盖章次数" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">预期用印日期<font>*</font></td>
|
||||
<td><input type="text" name="use_time" value='' readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择预期用印日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray-2">印章类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="seal_cate_id" lay-verify="required" lay-reqText="请输入印章类型">
|
||||
<option value="">选择印章类型</option>
|
||||
{volist name="$sealcate" 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="radio" name="is_borrow" value="0" title="否" checked>
|
||||
<input type="radio" name="is_borrow" value="1" title="是">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">印章借用日期</td>
|
||||
<td><input type="text" name="start_time" value='' readonly placeholder="请选择" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">结束借用日期</td>
|
||||
<td><input type="text" name="end_time" value='' readonly placeholder="请选择" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">盖章内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea" lay-verify="required" lay-reqText="请完善盖章内容"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</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>
|
||||
|
||||
<div class="pt-4">
|
||||
<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','oaPicker','formSelects','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus,formSelects= layui.formSelects,oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'seal',
|
||||
check_btn:0
|
||||
});
|
||||
//选择用印部门
|
||||
var selected_a = $('#did').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selected_a
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
if (data.field.is_borrow==1 && data.field.start_time == '') {
|
||||
layer.msg('请完善印章借用日期');
|
||||
return false;
|
||||
}
|
||||
if (data.field.is_borrow==1 && data.field.end_time == '') {
|
||||
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 = 'seal';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/seal/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,149 @@
|
||||
{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" id="barsearchform">
|
||||
<div class="layui-input-inline" style="width:128px">
|
||||
<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:128px">
|
||||
<select name="seal_cate_id">
|
||||
<option value="">选择印章类型</option>
|
||||
{volist name=":get_base_data('seal_cate')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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="table_seal" lay-filter="table_seal"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm tool-add" type="button" data-href="/adm/seal/add">+ 用章申请</button>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool, element = layui.element;
|
||||
//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: "#table_seal"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/seal/datalist"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-154'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'check_status',title: '审批状态',width:112, align:'center',templet: function(d){
|
||||
var html = '<span class="check-status-color-'+d.check_status+'">『'+d.check_status_str+'』</span>';
|
||||
return html;
|
||||
}}
|
||||
,{field:'title',title: '用章申请主题',minWidth:240}
|
||||
,{field:'seal_cate',title: '用章类型',width:100, align:'center'}
|
||||
,{field:'is_borrow',title: '是否外借',width:80, align:'center',templet: function(d){
|
||||
if(d.is_borrow==1){
|
||||
return '<div class="red">是</div>';
|
||||
}
|
||||
else{
|
||||
return '<div class="green">否</div>';
|
||||
}
|
||||
}}
|
||||
,{field:'use_dname',title: '用印部门',width:100, align:'center'}
|
||||
,{field:'num',title: '盖章次数',width:80, align:'center'}
|
||||
,{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>';
|
||||
if((d.check_status==0||d.check_status==4) && d.admin_id == login_admin){
|
||||
return '<div class="layui-btn-group">'+btn1+btn2+btn3+'</div>';
|
||||
}
|
||||
else{
|
||||
return '<div class="layui-btn-group">'+btn1+'</div>';
|
||||
}
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
//表头工具栏事件
|
||||
table.on('toolbar(table_seal)', function(obj){
|
||||
if (obj.event === 'add') {
|
||||
tool.side("/adm/seal/add");
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
table.on('tool(table_seal)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/seal/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'edit') {
|
||||
tool.side("/adm/seal/add?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'del') {
|
||||
layer.confirm('确定要删除该内容吗?', { icon: 3, title: '提示' }, function (index) {
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
tool.delete("/adm/seal/del", { id: data.id }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,126 @@
|
||||
{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">申请主题<font>*</font></td>
|
||||
<td colspan="3"><input type="text" name="title" value="{$detail.title}" autocomplete="off" placeholder="请输入用章申请主题" lay-verify="required" lay-reqText="请输入用申请主题" class="layui-input"></td>
|
||||
<td class="layui-td-gray">用印部门</td>
|
||||
<td>{$user.department}({$user.name})<input type="hidden" name="did" value="{$user.did}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">盖章次数<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="num" value='{$detail.num}' placeholder="请输入盖章次数" lay-verify="required|number" lay-reqText="请输入盖章次数" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray-2">预期用印日期<font>*</font></td>
|
||||
<td><input type="text" name="use_time" value="{$detail.use_time|date='Y-m-d'}" readonly placeholder="请选择" lay-verify="required" lay-reqText="请选择预期用印日期" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray-2">印章类型<font>*</font></td>
|
||||
<td>
|
||||
<select name="seal_cate_id" lay-verify="required" lay-reqText="请输入印章类型">
|
||||
<option value="">选择印章类型</option>
|
||||
{volist name="$sealcate" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$detail.seal_cate_id"}selected{/eq}>{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">印章是否外借<font>*</font></td>
|
||||
<td>
|
||||
<input type="radio" name="is_borrow" value="0" title="否" {eq name="$detail.is_borrow" value="0"}checked{/eq}>
|
||||
<input type="radio" name="is_borrow" value="1" title="是" {eq name="$detail.is_borrow" value="1"}checked{/eq}>
|
||||
</td>
|
||||
<td class="layui-td-gray-2">印章借用日期</td>
|
||||
<td><input type="text" name="start_time" value="{$detail.start_time}" readonly placeholder="请选择" class="layui-input tool-time"></td>
|
||||
<td class="layui-td-gray">结束借用日期</td>
|
||||
<td><input type="text" name="end_time" value="{$detail.end_time}" readonly placeholder="请选择" class="layui-input tool-time"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">盖章内容<font>*</font></td>
|
||||
<td colspan="5">
|
||||
<textarea name="content" placeholder="请输入内容" class="layui-textarea">{$detail.content}</textarea>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
<div class="layui-input-inline">
|
||||
<button type="button" class="layui-btn layui-btn-xs" id="uploadBtn"><i class="layui-icon"></i></button>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{notempty name="$detail.file_array"}
|
||||
{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 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="{$detail.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','oaPicker','formSelects','oaCheck'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,uploadPlus= layui.uploadPlus,formSelects= layui.formSelects,oaCheck=layui.oaCheck;
|
||||
oaCheck.init({
|
||||
check_name:'seal',
|
||||
check_btn:0
|
||||
});
|
||||
//选择用印部门
|
||||
var selected_a = $('#did').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selected_a
|
||||
});
|
||||
|
||||
//相关附件上传
|
||||
var attachment = new uploadPlus();
|
||||
//监听提交
|
||||
form.on('submit(webform)', function(data){
|
||||
if (data.field.is_borrow==1 && data.field.start_time == '') {
|
||||
layer.msg('请完善印章借用日期');
|
||||
return false;
|
||||
}
|
||||
if (data.field.is_borrow==1 && data.field.end_time == '') {
|
||||
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 = 'seal';
|
||||
data.field.action_id = e.data.return_id;
|
||||
oaCheck.submit(data.field,checkCallback);
|
||||
}
|
||||
}
|
||||
let clickbtn = $(this);
|
||||
tool.post("/adm/seal/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,155 @@
|
||||
{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:128px">
|
||||
<select name="check_status">
|
||||
<option value="">选择用章状态</option>
|
||||
{volist name="status" id="vo"}
|
||||
<option value="{$key}">{$vo}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:128px">
|
||||
<select name="seal_cate_id">
|
||||
<option value="">选择印章类型</option>
|
||||
{volist name=":get_base_data('seal_cate')" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-input-inline" style="width:300px">
|
||||
<input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off" />
|
||||
</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_seal" lay-filter="table_seal"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="toolbarDemo">
|
||||
<div>
|
||||
<h3>用章记录</h3>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tablePlus'];
|
||||
function gouguInit() {
|
||||
var table = layui.tablePlus, tool = layui.tool;
|
||||
|
||||
layui.pageTable = table.render({
|
||||
elem: "#table_seal"
|
||||
, toolbar: "#toolbarDemo"
|
||||
,url: "/adm/seal/record"
|
||||
,page: true
|
||||
,limit: 20
|
||||
,cellMinWidth: 60
|
||||
,height: 'full-114'
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'check_status',title: '用章状态',width:90, align:'center',templet: function(d){
|
||||
let status_str = '未使用';
|
||||
if(d.status == 1){
|
||||
status_str = '已使用';
|
||||
if(d.is_borrow==1){
|
||||
status_str = '已外借';
|
||||
}
|
||||
}
|
||||
if(d.status == 2){
|
||||
status_str = '已归还';
|
||||
}
|
||||
return html = '<span class="check-status-color-'+d.status+'">『'+status_str+'』</span>';
|
||||
}}
|
||||
,{field:'title',title: '用章申请主题',minWidth:240}
|
||||
,{field:'seal_cate',title: '用章类型',width:100, align:'center'}
|
||||
,{field:'is_borrow',title: '是否外借',width:80, align:'center',templet: function(d){
|
||||
if(d.is_borrow==1){
|
||||
return '<div class="red">是</div>';
|
||||
}
|
||||
else{
|
||||
return '<div class="green">否</div>';
|
||||
}
|
||||
}}
|
||||
,{field:'use_dname',title: '用印部门',width:100, align:'center'}
|
||||
,{field:'num',title: '盖章次数',width:80, align:'center'}
|
||||
,{field:'admin_name',title: '申请人',width:90, align:'center'}
|
||||
,{field:'create_time', title: '创建时间',width:150,align:'center'}
|
||||
,{width:168,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="use">使用登记</a>';
|
||||
var btn3='<a class="layui-btn layui-btn-xs" lay-event="use">出借登记</a>';
|
||||
var btn4='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="back">归还登记</a>';
|
||||
|
||||
if(d.status == 0){
|
||||
if(d.is_borrow==1){
|
||||
html = '<div class="layui-btn-group">'+btn1+btn3+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn1+btn2+'</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if(d.status == 1){
|
||||
if(d.is_borrow==1){
|
||||
html = '<div class="layui-btn-group">'+btn1+btn4+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn1+'</div>';
|
||||
}
|
||||
}
|
||||
if(d.status == 2){
|
||||
html = '<div class="layui-btn-group">'+btn1+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(table_seal)',function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
|
||||
var data = obj.data;
|
||||
if (obj.event === 'view') {
|
||||
tool.side("/adm/seal/view?id="+data.id);
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'use') {
|
||||
layer.confirm('确定要修改用章状态吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/api/set_seal_status", { id: obj.data.id,status: 1 }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (obj.event === 'back') {
|
||||
layer.confirm('确定要修改用章状态吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/api/set_seal_status", { id: obj.data.id,status: 2 }, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,75 @@
|
||||
{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 colspan="3">{$detail.title}</td>
|
||||
<td class="layui-td-gray">印章类型</td>
|
||||
<td>{$detail.seal_cate}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">盖章次数</td>
|
||||
<td>{$detail.num}</td>
|
||||
<td class="layui-td-gray">用印部门</td>
|
||||
<td>{$detail.use_dname|default='-'}({$create_user.name})</td>
|
||||
<td class="layui-td-gray-2">预期用印日期</td>
|
||||
<td>{$detail.use_time|date='Y-m-d'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">印章是否外借</td>
|
||||
<td>
|
||||
{eq name="$detail.is_borrow" value="0"}否{/eq}
|
||||
{eq name="$detail.is_borrow" value="1"}是{/eq}
|
||||
</td>
|
||||
<td class="layui-td-gray-2">印章借用日期</td>
|
||||
<td>{$detail.start_time|default='-'}</td>
|
||||
<td class="layui-td-gray">结束借用日期</td>
|
||||
<td>{$detail.end_time|default='-'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray" style="vertical-align:top;">盖章内容</td>
|
||||
<td colspan="5">{:nl2br($detail.content)}</td>
|
||||
</tr>
|
||||
{eq name="detail.check_status" value="2"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">用章状态</td>
|
||||
<td colspan="5"><span class="check-status-color-{$detail.status}">『{$detail.status_str}』</span></td>
|
||||
</tr>
|
||||
{/eq}
|
||||
{notempty name="$detail.file_array"}
|
||||
<tr>
|
||||
<td class="layui-td-gray-2">
|
||||
<div class="layui-input-inline">相关附件</div>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<div class="layui-row" id="uploadBox">
|
||||
<input type="hidden" data-type="file" name="file_ids" value="{$detail.file_ids}">
|
||||
{volist name="$detail.file_array" id="vo"}
|
||||
<div class="layui-col-md4" id="fileItem{$vo.id}">{: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:'seal'
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,97 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<form class="layui-form p-4">
|
||||
<h3 class="pb-1">印章管理</h3>
|
||||
{eq name="$id" value="0"}
|
||||
<table class="layui-table">
|
||||
<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">
|
||||
</td>
|
||||
<td class="layui-td-gray">保管人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="keep_name" placeholder="请选择" value="" readonly lay-verify="required" lay-reqText="请选择保管人" class="layui-input picker-admin">
|
||||
<input type="hidden" name="keep_uid">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:80%;">
|
||||
<select id="dids" name="dids" xm-selected="" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;"> (如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">用途简述</td>
|
||||
<td colspan="3"><textarea name="remark" placeholder="请输入用途简述,可空" class="layui-textarea"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{else/}
|
||||
<table class="layui-table">
|
||||
<tr>
|
||||
<td class="layui-td-gray">印章名称<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="title" value="{$detail.title}" lay-verify="required" autocomplete="off" placeholder="请输入印章名称" lay-reqText="请输入印章名称" class="layui-input">
|
||||
</td>
|
||||
<td class="layui-td-gray">保管人<font>*</font></td>
|
||||
<td>
|
||||
<input type="text" name="keep_name" placeholder="请选择" value="{$detail.keep_name}" autocomplete="off" class="layui-input picker-admin">
|
||||
<input type="hidden" name="keep_uid" value="{$detail.keep_uid}">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">应用部门</td>
|
||||
<td colspan="3">
|
||||
<div class="layui-input-inline" style="width:80%;">
|
||||
<select id="dids" name="dids" xm-selected="{$detail.dids}" xm-select="select1" xm-select-skin="default"></select>
|
||||
</div>
|
||||
<span class="red" style="font-size:12px;"> (如果不选,默认是全公司)</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="layui-td-gray">用途简述</td>
|
||||
<td colspan="3"><textarea name="remark" placeholder="请输入用途简述,可空" class="layui-textarea">{$detail.remark|default=''}</textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
{/eq}
|
||||
<div class="py-3">
|
||||
<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','formSelects'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,tool=layui.tool,formSelects= layui.formSelects;
|
||||
//选择用印部门
|
||||
var selected_a = $('#dids').attr('xm-selected');
|
||||
formSelects.data('select1', 'server', {
|
||||
url: '/api/index/get_department_select',
|
||||
keyword: selected_a
|
||||
});
|
||||
//监听提交
|
||||
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("/adm/sealcate/add", data.field, callback,clickbtn);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
@@ -0,0 +1,97 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="p-page">
|
||||
<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 addNew" type="button">+ 添加印章</button>
|
||||
</div>
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /主体 -->
|
||||
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool'];
|
||||
function gouguInit() {
|
||||
var table = layui.table, tool = layui.tool, form = layui.form;
|
||||
layui.pageTable = table.render({
|
||||
elem: '#test'
|
||||
,toolbar: '#toolbarDemo'
|
||||
,defaultToolbar: false
|
||||
,title:'印章列表'
|
||||
,url: "/adm/sealcate/datalist"
|
||||
,page: false
|
||||
,cellMinWidth: 80
|
||||
,cols: [[
|
||||
{field:'id',width:80, title: 'ID号', align:'center'}
|
||||
,{field:'title',title: '印章名称'}
|
||||
,{field:'departments',title: '应用部门'}
|
||||
,{field:'name',title: '保管人',width:100, align:'center'}
|
||||
,{field:'department',title: '保管部门',width:120}
|
||||
,{field:'status', title: '状态',width:80,align:'center',templet: function(d){
|
||||
var html1='<span class="green">正常</span>';
|
||||
var html2='<span class="yellow">禁用</span>';
|
||||
if(d.status==1){
|
||||
return html1;
|
||||
}
|
||||
else{
|
||||
return html2;
|
||||
}
|
||||
}}
|
||||
,{width:90,title: '操作', align:'center',templet: function(d){
|
||||
var html='';
|
||||
var btn='<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
|
||||
var btn1='<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
|
||||
var btn2='<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
|
||||
if(d.status==1){
|
||||
html = '<div class="layui-btn-group">'+btn+btn1+'</div>';
|
||||
}
|
||||
else{
|
||||
html = '<div class="layui-btn-group">'+btn+btn2+'</div>';
|
||||
}
|
||||
return html;
|
||||
}}
|
||||
]]
|
||||
});
|
||||
|
||||
table.on('tool(test)',function (obj) {
|
||||
if(obj.event === 'edit'){
|
||||
tool.side('/adm/sealcate/add?id='+obj.data.id);
|
||||
}
|
||||
if(obj.event === 'disable'){
|
||||
layer.confirm('确定要禁用该印章吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/sealcate/check", { id: obj.data.id,status: 0,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
if(obj.event === 'open'){
|
||||
layer.confirm('确定要启用该印章吗?', {icon: 3, title:'提示'}, function(index){
|
||||
let callback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
if (e.code == 0) {
|
||||
layui.pageTable.reload();
|
||||
}
|
||||
}
|
||||
tool.post("/adm/sealcate/check", { id: obj.data.id,status: 1,title: obj.data.title}, callback);
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click','.addNew',function(){
|
||||
tool.side('/adm/sealcate/add');
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user