/** * 密码安全策略页面 * @author weidy * @date 2020-08-14 */ layui.define(['layer','element','form','table','dynamicCondition','upload' ],function(exports){ var webUtil = $webUtil; var Class = function(){ this.MODELNAME = "platform/securityManage/SmPasswordStrategy"; this.moduleKey = "SmPasswordStrategy"; this.backPath = configData.compatibility?path:configData.frameworkPath; this.url = { controller:'smPasswordStrategyController/', dataGrid:'gridSmPasswordStrategy', addSave:'addSave', editSave:'editSave', deleteUrl:'delSmPasswordStrategy', downloadImportTemplate:'downloadImportTemplate', importData : 'importData', exportData : 'exportData', getObjectByOid:'getObjectByOid' }; this.getContent=function(){ var that = this; var html = ""; html = [ '
' ].join(""); return html; }; this.getToolbarHtml =function(){ var that = this; var html = [ ' ' ].join(""); return html; }; this.createSearchHtml = function () { var that = this; webUtil.bindDefultButtonLisenter(that, that.id); webUtil.createSearchHtml({id:"编号",name:"名称"} ,$("[layui-filter='toolbar_" + that.id + "']"), "table_" + that.id); }; this.init = function(){ var that = this; webUtil.copyConfig(that,that.moduleKey); that.initMainTable(); that.createSearchHtml(); }; this.initMainTable = function (parentFieldName) { var that = this; var table = layui.table; that.checkColumns(); var tableWidth = $("#border_" + that.id).width(); var options = { elem: '#table_' + that.id, id: 'table_' + that.id, backPath:that.backPath, url: that.url.controller + that.url.dataGrid, page: { limit: 20, page: 1 }, width:tableWidth, selectMode:table.selectMode.muti, cols: [that.columns], done:function(res,cur,total){ if(!that.fristMainLoad ){ table.on('tool(' + that.id + ')',function(obj){ var data = obj.data;//当前选择行的数据 var layEvent = obj.event;//点的是什么按钮 if(layEvent == 'EDIT'){ that.addOrEdit(false,data.oid); } }); }else{ if(total>0) { table.selectRecord('table_' + that.id, {index:0}); } } that.fristMainLoad = true; } }; if(parentFieldName){ options.treeConfig = { treepid:parentFieldName, treeid:'id', showField:'name' }; } table.render(options); document.getElementById("toolbar_column_" + that.id).innerHTML = '编辑'; }; this.checkColumns = function(){ var that = this; var table = layui.table; if(that.columns==null || that.columns.length==0){ that.columns = [table.getIndexColumn(),table.getCheckColumn(), { title: '最小长度', field: 'minLength', width: 100 }, { title: '有效天数', field: 'validDay', width: 100 }, { title: '提醒天数', field: 'remindDay', width: 100 }, { title: '可以重试的次数', field: 'retryTime', width: 100 }, { title: '锁定时间', field: 'lockTime', width: 100 }, { title: '是否为默认', field: 'defaultFlag', width: 60, templet: function (d) { return webUtil.formateBoolean(d.defaultFlag); } }, { title: '密码的最大长度', field: 'maxLength', width: 100 }, { title: '密码字符所需类型', field: 'requireCharTypeText', width: 150 }, { title: '密码所需字符种类个数', field: 'requireCharCount', width: 100 }, { title: '编号', field: 'id', width: 150 }, { title: '名称', field: 'name', width: 150 }, { title: '描述', field: 'description', width: 150 } ]; } }; this.getFormItems = function(onlyShow) { var that = this; var table = layui.table; return [{ field: 'id', title: '编号', required: false, type: 'text', readOnly:onlyShow } , { field: 'name', title: '名称', required: false, type: 'text', readOnly:onlyShow }, { field: 'minLength', title: '最小长度', required: false, verify: 'number', readOnly:onlyShow } , { field: 'validDay', title: '有效天数', required: false, verify: 'number', readOnly:onlyShow } , { field: 'remindDay', title: '提醒天数', required: false, verify: 'number', readOnly:onlyShow } , { field: 'retryTime', title: '可以重试的次数', required: false, verify: 'number', readOnly:onlyShow } , { field: 'lockTime', title: '锁定时间', required: false, verify: 'number', readOnly:onlyShow } , { field: 'maxLength', title: '密码的最大长度', required: false, verify: 'number', readOnly:onlyShow } , { field: 'requireCharType', title: '密码字符所需类型', required: false, type: 'combobox', comboxKey:'requireCharType', isCheckbox:true, useAllWidth:true, labelWidth:150, inputWidth:600, data:[{"key":"upletter","value":"大写字母"},{"key":"lowletter","value":"小写字母"},{"key":"number","value":"数字"},{"key":"character","value":"特殊字符"}], readOnly:onlyShow } , { field: 'requireCharCount', title: '密码所需字符种类个数', required: false, verify: 'number', labelWidth:150, readOnly:onlyShow } , { field: 'defaultFlag', title: '是否为默认', required: false, type: 'truefalse', readOnly:onlyShow } , { field: 'description', title: '描述', required: false, type: 'text', readOnly:onlyShow } ]; }; this.ADD = function () { var that = this; that.addOrEdit(true); }; this.EDIT = function(){ var that = this; var oid = webUtil.getOidFromGrid("table_" + that.id,true,true); if(!oid){ return false; } that.addOrEdit(false,oid); }; this.addOrEdit = function(add,oid) { var that = this; var form = layui.form; var filter ="form_" + that.id; var addSaveIndex =webUtil.dialog({ title:add?'添加密码安全策略':'修改密码安全策略', btn:['保存','取消'], skin:'layui-layer-lan', content:'', area:["900px","500px"], resizing:function(layero){ form.doResize(filter); }, success:function(layero) { form.addItems(filter,that.getFormItems(false), function () { if(!add){ form.load(filter,{ backPath:that.backPath, url:that.url.controller + that.url.getObjectByOid, method:'get', params:{ oid:oid } }); }else{ var defaultValues = {}; //可以手动在此处添加默认值 form.setValues(defaultValues,filter); } }, {}, {defaultColumnOneRow: 2}); }, yes:function(layero){ if(form.validata(filter)){ var values = form.getValues(filter,true); var url = that.url.controller + (add?that.url.addSave:that.url.editSave); webUtil.ajax(add?'post':'put',url,values,function(result){ if(result.success){ webUtil.showMsgFromResult(result,(add ? "添加成功" : "修改成功")); layer.close(addSaveIndex); that.refresh(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); } }, btn2:function(layero){ layer.close(addSaveIndex); } }); }; this.DEL = function(){ var that = this; var oid = webUtil.getOidFromGrid("table_" +that.id,true,true); if(!oid){ return false; } var ts= webUtil.getOidFromGrid("table_" +that.id,false,false,"ts"); webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!",function () { webUtil.deleteRequest(that.url.controller + that.url.deleteUrl,{oid:oid,ts:ts},function(result){ if(result.success){ webUtil.showMsgFromResult(result,"删除成功"); that.refresh(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }); }; this.refresh = function () { var that = this; var that = this; layui.table.reload("table_" + that.id); }; this.EXPORT = function () { var that = this; var iframeId = MD5("export" +webUtil.getSystemVar(webUtil.systemValueKey.currentDateTimeSSS) +webUtil.getSystemVar(webUtil.systemValueKey.userOid)); var data = {}; data[TOKEN_KEY] = $webUtil.getToken() ; data['downloadUUID'] = iframeId; webUtil.fileDownloadPost(that.backPath + that.url.controller + that.url.exportData,data); }; this.IMPORT = function () { var that = this; var filter =that.id + "_upload"; var form = layui.form; var uploadIndex = webUtil.dialog({ title:'导入密码安全策略', btn:['下载导入模板','取消'], content:'', area: ['300px', '300px'], resize:false, success:function(layero){ //如果导入有其他操作,在第二个参数中添加 form.addItems(filter,[],function(){ $("#form_" + filter).append(' '); var upload = layui.upload; //执行实例 var uploadInst = upload.render({ elem: '#' + that.id + '_upload_form_file' //绑定元素 ,accept:'file' ,acceptMime:'file/*' ,exts:'xls|xlsx' ,url: that.backPath + that.url.controller + that.url.importData ,done: function(result){ if(result.success){ layer.close(uploadIndex); webUtil.showMsgFromResult(result,"导入成功"); that.refresh(); }else{ webUtil.showErrorMsg(result.msg); } } ,error: function(){ //请求异常回调 webUtil.showErrorMsg("上传异常"); } }); },{},{ defaultColumnOneRow:1 }); }, yes:function(){ var iframeId = MD5("downloadImportTemplate" +webUtil.getSystemVar(webUtil.systemValueKey.currentDateTimeSSS) +webUtil.getSystemVar(webUtil.systemValueKey.userOid)); webUtil.fileDownload(that.backPath + that.url.controller + that.url.downloadImportTemplate+ "?" + TOKEN_KEY + "=" + $webUtil.getToken() + "&downloadUUID=" + iframeId ); } }); }; this.ADVQUERY = function () { var that = this; var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append(''); var dataFields = that.columns; that.serinorQueryInstance = dynamicCondition.create({ fields : dataFields//查询字段 ,tableId:"table_"+that.id//需要查询的表格 ,type:"complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex ,conditionTextId:"#toolbar"+that.id//高级查询 按钮所在的div ,popupShowQueryBtn: true//显示高级查询按钮 ,queryCallBack:function(requestData){//查询之后的callback //console.log(JSON.stringify(requestData)) } }); }; }; var cs = new Class(); exports(cs.MODELNAME,cs); });