/** * 供应商基本信息页面 * @author renky * @date 2020-08-17 */ layui.define(['layer','element','form','table','dynamicCondition','upload' ,'tree'],function(exports){ var webUtil = $webUtil; var Class = function(){ this.MODELNAME = "platform/basedoc/BdSupplier"; this.moduleKey = "BdSupplier"; this.backPath = configData.compatibility?path:configData.frameworkPath; this.url = { controller:'supplierController/', dataGrid:'getDataGridSupplier', tree:'supplierClassifyController/referTreeSupplierClassify', addSave:'insert', editSave:'update', delSvae:'delete', checkIsCanDelete:'checkIsCanDelete', referTree:'referTree' , deleteUrl:'delete', enableData: 'enable', disableData: 'disable', downloadImportTemplate:'downloadImportTemplate', importData : 'importData', exportData : 'exportData', getObjectByOid:'getByOid' }; this.getContent=function(){ var that = this; var html = ""; html = [ '
' ].join(""); return html; }; this.getWestToolbarHtml = function(){ var that = this; var html = [ ' ' ].join(""); return html; }; this.createWestSearchHtml = function () { var that = this; }; 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.initTree(); that.initMainTable(); that.createSearchHtml(); that.advancedQuery(); }; this.initTree = function () { var that = this; var tree = layui.tree; var scrollHeight = window.innerHeight; var treeUL = $('[layui-filter="tree_' + that.id + '"]'); var treeHeight = scrollHeight - 200; treeUL.parent().height(treeHeight); tree.init("tree_" + that.id, treeUL, { url: /*that.url.controller +*/ that.url.tree, backPath: that.backPath, extraParams: { isMuti: false, isQueryAllColumn: true }, showSearch:true, click: function (item, elem, options) { that.currentItemOid = item.oid; that.currentItemAttributes = item.attributes; layui.table.reload('table_' + that.id,{ extraParams:{parentSupplier:that.currentItemAttributes.oid} }); } }); }; this.initMainTable = function (parentFieldName) { var that = this; var table = layui.table; that.checkColumns(); var tableWidth = $("#border_" + that.id).width()-225; 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: 'id', width: 150 },{ title: '名称', field: 'name', width: 150 },{ title: '供应商基本分类', field: 'pkSupplierClassifyText', width: 150 },{ title: '供应商类型', field: 'supplierTypeText', width: 150 },{ title: '供应商准入状态', field: 'pkSupplierAdmittanceText', width: 150 },{ title: '地区分类', field: 'pkAreaClassifyText', width: 150 },{ title: '联系地址', field: 'address', width: 150 },{ title: '主要联系人', field: 'contactor', width: 150 },{ title: '主要联系方式', field: 'contacts', width: 150 },{ title: '网址', field: 'web', width: 150 },{ title: '电子信箱', field: 'email', width: 150 },{ title: '法人', field: 'legal', width: 60 },{ title: '税类', field: 'tax', width: 90 },{ title: '传真', field: 'fax', width: 100 },{ title: '注册资金', field: 'registermoney', width: 90 },{ title: '纳税人登记号', field: 'taxcode', width: 100 },{ title: '最新评分总分', field: 'rateInfo', width: 100 },{ title: '供应商品信息', field: 'supplierMateriel', width: 150 },{ title: '所属行业', field: 'trade', width: 150 },{ title: '加工能力描述', field: 'workingAbility', width: 150 },{ title: '描述', field: 'description', width: 150 },{ title: '状态', field: 'lcStatusText', width: 70 },{ title: '密级', field: 'secretGradeText', width: 60 }]; } }; this.setFormValues = function () { var that = this; layui.form.setValues({parentSupplier:that.currentItemAttributes.oid},"form_" + that.id); }; this.getFormItems = function(onlyShow) { var that = this; var table = layui.table; return [ { field: 'id', title: '编号', required: true, type: 'text', readOnly:onlyShow } , { field: 'name', title: '名称', required: true, type: 'text', readOnly:onlyShow } , { field: 'pkSupplierClassify', title: '供应商基本分类', required: true, type: 'refer', showField: 'pkSupplierClassifyText', referConfig: { textField: 'name', valueField: 'oid', backPath: that.backPath,//注意这里需要修改参照的对应路径 isMuti: false, type: 'tree', url: that.url.tree }, readOnly:onlyShow } , { field: 'supplierType', title: '供应商类型', required: true, type: 'combox', comboxKey: 'supplierType', defaultValue:'supplier', readOnly:onlyShow } , { field: 'pkSupplierAdmittance', title: '供应商准入状态', type: 'refer', showField: 'pkSupplierAdmittanceText', required: true, referConfig: { textField: 'name', valueField: 'oid', backPath: that.backPath,//注意这里需要修改参照的对应路径 isMuti: false, type: 'tree', url: 'supplierAdmittanceController/referTreeSupplierAdmittance' }, readOnly:onlyShow } , { field: 'pkSupplierImporttance', title: '供应商重要度', type: 'refer', required: true, showField: 'pkSupplierImporttanceText', referConfig: { textField: 'name', valueField: 'oid', backPath: that.backPath,//注意这里需要修改参照的对应路径 isMuti: false, type: 'tree', url: 'supplierImporttanceController/referTreeImportance' }, readOnly:onlyShow } , { field: 'pkAreaClassify', title: '地区分类', type: 'refer', showField: 'pkAreaClassifyText', referConfig: { textField: 'name', valueField: 'oid', backPath: that.backPath,//注意这里需要修改参照的对应路径 isMuti: false, type: 'tree', url: 'areaClassifyController/referTreeAreaClassify' }, readOnly:onlyShow } // , { // field: 'parentSupplier', // title: '上级供应商', // type: 'refer', // showField: 'parentSupplierText', // referConfig: { // textField: 'name', // valueField: 'oid', // backPath: that.backPath,//注意这里需要修改参照的对应路径 // isMuti: false, // type: 'tree', // url: '' // }, // readOnly:onlyShow // } , { field: 'address', title: '联系地址', type: 'text', readOnly:onlyShow } , { field: 'contactor', title: '主要联系人', type: 'text', readOnly:onlyShow } , { field: 'contacts', title: '主要联系方式', type: 'text', readOnly:onlyShow } , { field: 'web', title: '网址', type: 'text', readOnly:onlyShow } , { field: 'email', title: '电子信箱', type: 'text', readOnly:onlyShow } , { field: 'legal', title: '法人', type: 'text', readOnly:onlyShow } , { field: 'tax', title: '税类', type: 'text', readOnly:onlyShow } , { field: 'fax', title: '传真', type: 'text', readOnly:onlyShow } , { field: 'registermoney', title: '注册资金', type: 'text', readOnly:onlyShow } , { field: 'taxcode', title: '纳税人登记号', type: 'text', readOnly:onlyShow } , { field: 'supplierMateriel', title: '供应商品信息', type: 'text', readOnly:onlyShow } , { field: 'trade', title: '所属行业', type: 'text', readOnly:onlyShow } , { field: 'workingAbility', title: '加工能力描述', type: 'text', readOnly:onlyShow } , { field: 'description', title: '描述', type: 'text', readOnly:onlyShow }]; }; this.ADD = function () { var that = this; that.addOrEdit(true); }; this.EDIT = function(){ var that = this; var selectData = layui.table.checkStatus("table_" + that.id).data[0]; if(selectData == undefined){ webUtil.showErrorMsg("请先选择一条数据!"); return false; } that.addOrEdit(false,selectData); }; this.addOrEdit = function(add,selectData) { var that = this; var form = layui.form; var filter ="form_" + that.id; var addSaveIndex =webUtil.dialog({ title:add?'添加供应商基本信息':'修改供应商基本信息', btn:['保存','取消'], skin:'layui-layer-lan', content:'', fullScreen:true, resizing:function(layero){ form.doResize(filter); }, success:function(layero) { form.addItems(filter,that.getFormItems(false), function () { if(!add){ form.setValues(selectData,filter); }else{ var defaultValues = {}; defaultValues["parentSupplier"] = that.currentItemOid; defaultValues["parentSupplier" + "Name"] = that.currentItemAttributes.name; //可以手动在此处添加默认值 form.setValues(defaultValues,filter); } }, {}, {defaultColumnOneRow: 3}); }, yes:function(layero){ if(form.validata(filter)){ var values = form.getValues(filter,true); values['secretGrade'] = "10"; // 密级 values.pkSupplierClassifyName = values.pkSupplierClassifyText values.pkSupplierAdmittanceName = values.pkSupplierAdmittanceText values.pkSupplierImporttanceName = values.pkSupplierImporttanceText values.pkAreaClassifyName = values.pkAreaClassifyText values.parentSupplierName = values.parentSupplierText // return false 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 selectData = layui.table.checkStatus("table_" + that.id).data[0]; if(selectData == undefined){ webUtil.showErrorMsg("请先选择一条数据!"); return false; } webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!",function () { var submitValue = {oid:selectData.oid,ts:selectData.ts}; webUtil.deleteRequest(that.url.controller + that.url.delSvae,submitValue,function(result){ if(result.success) { if ('true' == result.obj || true == result.obj) { webUtil.showConfirmMsg("当前数据包含有下级数据,要删除的话会和下级数据一起删除,你确认继续?", function () { that.doDelete(submitValue); }); } else { //说明可以删除 that.doDelete(submitValue); } }else { webUtil.showErrorMsg(result.msg); } },function (xhr,error) { webUtil.showErrorMsg("校验删除出现了错误,可能是服务器未启动") },that.backPath); }); }; this.doDelete = function (submitValue) { var that = this; webUtil.deleteRequest(that.url.controller + that.url.deleteUrl,submitValue,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 (buttonid,parentNodeOid) { var that = this; var tree = layui.tree; if(webUtil.isNotNull(parentNodeOid)){ tree.reloadNode("tree_" + that.id,parentNodeOid); }else { tree.reload("tree_" + that.id); } }; this.DISABLE = function () { var that = this; that.disableOrEnable(false); }; this.ENABLE = function () { var that = this; that.disableOrEnable(true); }; this.disableOrEnable = function (enable) { var that = this; var oid ; var ts ; var selectData = layui.table.checkStatus("table_" + that.id).data[0]; if(selectData == undefined){ webUtil.showErrorMsg("请先选择一条数据!"); return false; } oid = selectData.oid; ts = selectData.ts; webUtil.post(that.url.controller + (enable?that.url.enableData:that.url.disableData),{ oid:oid, ts:ts },function(result){ if(result.success){ webUtil.showMsgFromResult(result,(enable?'启用成功':'停用成功')); that.refresh(); }else{ webUtil.showErrorMsg(result.msg); } },function(xhr,err){ webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启"); },that.backPath); }; 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; that.serinorQueryInstance.open(); }; this.advancedQuery = function () { var that = this; var dynamicCondition = layui.dynamicCondition; $('[layui-filter="toolbar_' + that.id + '"]').append(''); var smUserTable = JSON.parse(JSON.stringify(that.columns)); that.serinorQueryInstance = dynamicCondition.create({ fields : smUserTable//查询字段 ,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)) } }); }; this.refresh = function(){ var that = this; layui.table.reload("table_" + that.id); }; }; var cs = new Class(); exports(cs.MODELNAME,cs); });