layui.define(['tool','oaPicker','tinymce'],function(exports){ let layer = layui.layer,tool=layui.tool,laydate = layui.laydate,dropdown = layui.dropdown,oaPicker = layui.oaPicker,tinymce = layui.tinymce; const opts={ "box":'editBox',//编辑容器id "id":0,//编辑容器id "url": '', "dropdown":{}, "callback":function(e){ layer.msg(e.msg); if(e.code==0){ setTimeout(function(){ location.reload(); },1000) } } }; const obj = { log: function (box,name,action_id) { let page=1; let callback = function (res) { if (res.code == 0 && res.data.length > 0) { let itemLog = '',logTime=''; $.each(res.data, function (index, item) { let detail = ""; if(logTime != item.create_time){ if(logTime==''){ itemLog+='
'+item.create_time+'
' } else{ itemLog+='
'+item.create_time+'
' } logTime = item.create_time; } detail= ` ${item.field_name}${item.old_content} ${item.action}为 ${item.new_content}${item.times} `; if(item.field=='new'){ detail= ` 创建了该数据记录${item.times} `; } itemLog+= `
${item.admin_name}${detail}
`; }); itemLog+='
'; if(res.data.length>19){ itemLog+='
'; } $("#"+box).html(itemLog); } else{ if(page ==1){ $("#"+box).html('
暂无记录
'); } } } tool.get("/api/index/load_log", {name:name,action_id:action_id,page:page}, callback); $("#"+box).on('click','.log-more',function(){ page++; tool.get("/api/index/load_log", {name:name,action_id:action_id,page:page}, callback); }); }, //短文本 text: function (that) { let me = this; let field = that.data('field'); let text = that.data('text'); if (typeof(text) == "undefined") { text = that.text(); } $(parent.$('.express-close')).addClass('parent-colse'); layer.open({ type: 1, title: '请输入内容', area: ['360px', '158px'], content: '
', end: function(){ $(parent.$('.express-close')).removeClass('parent-colse'); }, btnAlign: 'c', btn: ['提交保存'], yes: function () { let val = $("#oaEditText").val(); if (val != '') { let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = val; tool.post(me.sets.url,postData,me.sets.callback); } else { layer.msg('请输入内容'); } } }) }, //长文本 textarea: function (that) { let me = this; let field = that.data('field'); let target = that.data('target'); let textarea=''; if (typeof(target) == "undefined") { textarea = that.text(); } else{ textarea = $('#'+target).text(); } $(parent.$('.express-close')).addClass('parent-colse'); layer.open({ type: 1, title: '请输入内容', area: ['600px', '320px'], content: '
', btnAlign: 'c', end: function(){ $(parent.$('.express-close')).removeClass('parent-colse'); }, btn: ['提交保存'], yes: function () { let val = $("#oaEditTextarea").val(); if (val != '') { let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = val; tool.post(me.sets.url,postData,me.sets.callback); } else { layer.msg('请输入内容'); } } }) }, //数字 num: function (that) { let me = this; let field = that.data('field'); let text = that.data('text'); let min = that.data('min'); let max = that.data('max'); if (typeof(min) == "undefined") { min = ''; } if (typeof(max) == "undefined") { max = ''; } if (typeof(text) == "undefined") { text = that.text(); } $(parent.$('.express-close')).addClass('parent-colse'); layer.open({ type: 1, title: '请输入数字', area: ['200px', '158px'], content: '
', end: function(){ $(parent.$('.express-close')).removeClass('parent-colse'); }, btnAlign: 'c', btn: ['提交保存'], yes: function () { let val = $("#oaEditNum").val(); if (val != '') { if(min !='' && valmax){ layer.msg('输入数字不能大于'+max); return false; } let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = val; tool.post(me.sets.url,postData,me.sets.callback); } else { layer.msg('请输入内容'); } } }) }, dropdown: function (that) { let me = this; let field = that.data('field'); let text = that.data('text'); let cancel = that.data('cancel'); let arrayidx = that.data('array'); if (typeof(text) == "undefined") { text = that.text(); } if (typeof(cancel) == "undefined") { cancel = 0; } let data = me.sets.dropdown[arrayidx]; let len = data.length; while (len--) { if (data[len].id == text) { data.splice(len, 1); } } if (data.length == 0) { layer.msg('无可关联的内容'); return false; } if (cancel==1) { data.push({ id: 0, title: '取消关联' }); } dropdown.render({ elem: that, show: true, data: data, click: function (data, othis) { let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = data.id; tool.post(me.sets.url,postData,me.sets.callback); } }); }, oadate: function (that) { let me = this; let type = that.data('type'); let range = that.data('range'); let min = that.data('min'); let max = that.data('max'); if (typeof(type) == "undefined" || type === '') { type = 'date'; } if (typeof(range) == "undefined" || type === '') { range = false; } if (typeof(min) == "undefined" || min === '') { min = '1900-1-1'; } if (typeof(max) == "undefined" || max === '') { max = '2099-1-1'; } let field = that.data('field'); let text = that.data('text'); if (typeof(text) == "undefined") { text = that.text(); } layui.laydate.render({ elem: that, show: true, type: type, range: range, min: min, max: max, fullPanel: true, done: function (val, date) { let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = val; tool.post(me.sets.url,postData,me.sets.callback); } }); }, adminpicker: function (that){ let me = this; let field = that.data('field'); let ids = that.data('ids'); let names = that.data('names'); let type = that.data('type'); if (typeof(type) == "undefined") { type = 1; } oaPicker.employeeInit({ ids:ids.toString(), names:names.toString(), type:type, callback:function(seleted){ let select_id=[],select_name=[]; for(var a=0; a', btnAlign: 'c', btn: ['提交保存'], end: function(){ $(parent.$('.express-close')).removeClass('parent-colse'); }, success:function(){ var edit = tinymce.render({ selector: "#oaEditEditor"+index, images_upload_url: '/api/index/upload/sourse/tinymce',//图片上传接口 height: 480 }); }, yes: function () { let val = tinyMCE.editors['oaEditEditor'+index].getContent(); if (val != '') { let postData = {'id':me.sets.id,'scene':'oaedit'}; postData[field] = val; tool.post(me.sets.url,postData,me.sets.callback); } else { layer.msg('请输入内容'); } } }) }, init: function (options) { this.sets = $.extend({}, opts, options); let me = this; let editBox = $('#'+me.sets.box); editBox.on('click','.click-edit',function(){ let that = $(this); let types = that.data('types'); switch (types) { case "num": me.num(that); break; case "oadate": me.oadate(that); break; case "textarea": me.textarea(that); break; case "dropdown": me.dropdown(that); break; case "adminpicker": me.adminpicker(that); break; case "picker": me.picker(that); break; case "editor": me.editor(that); break; default: me.text(that); } }) } } //输出接口 exports('oaEdit', obj); });