| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513 |
- {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}
- <!-- /脚本 -->
|