/**
* 集团码导入映射页面
* @author lihang
* @date 2022-03-10
*/
layui.define(['layer', 'element', 'form', 'table', 'dynamicCondition'], function (exports) {
var webUtil = $webUtil;
var Class = function () {
this.MODELNAME = "mdm/CodeGroupExportRule";
this.moduleKey = "CodeGroupExportRule";
this.backPath = configData.compatibility ? path : configData.mdmService;
this.url = {
map: {
controller: 'codeClassifyTempMapController/',
dataGrid: 'gridCodeClassifyTemplateMap',
addSave: 'addSave',
editSave: 'editSave',
deleteUrl: 'deleteData',
getObjectByOid: 'getObjectByOid',
listDataByOids: 'listDataByOids'
},
mapItem: {
controller: 'codeClsTempMapItemController/',
dataGrid: 'gridCodeClassifyTempMapItem',
addSave: 'addSave',
editSave: 'editSave',
deleteUrl: 'deleteData',
getObjectByOid: 'getObjectByOid',
listDataByOids: 'listDataByOids'
}
};
this.getContent = function () {
var that = this;
return '
';
};
this.showContent = function () {
var that = this;
var html = "";
html = [
'',
'
',
'
',
that.getToolbarHtml(),
'
',
'
',
'
',
'
',
'
',
that.getSecToolbarHtml(),
'
',
'
',
'
',
'
'
].join("");
$("#UIContent_" + that.id).html(html);
};
this.getToolbarHtml = function () {
var that = this;
var html = [
'',
'',
'',
'',
// '',
// '',
'',
'',
'
'
].join("");
return html;
};
this.getSecToolbarHtml = function () {
var that = this;
var html = [
'',
'',
'',
'',
'',
'',
'
'
].join("");
return html;
};
this.createSearchHtml = function () {
var that = this;
webUtil.bindDefultButtonLisenter(that, that.id);
webUtil.bindDefultButtonLisenter(that, "sec_" + 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);
setTimeout(function () {
that.showContent();
var easyuiLayout = $('#easyuiLayout_' + that.id)
easyuiLayout.css({height: $('#portal_body').height() - 43, width: $('#portal_body').width() - 15})
easyuiLayout.layout();
that.initMainTable();
that.createSearchHtml();
that.initSecTable();
}, 1);
};
this.initMainTable = function (parentFieldName) {
var that = this;
var table = layui.table;
that.checkColumns();
var options = {
elem: '#table_' + that.id,
id: 'table_' + that.id,
backPath: that.backPath,
url: that.url.map.controller + that.url.map.dataGrid,
page: {
limit: 20,
page: 1
},
extraParams: {
"conditionMap['codeMapRuleType']": 'code_map_group_export'
},
selectMode: table.selectMode.muti,
cols: [that.columns],
method: 'get',
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;
},
rowClick: function (thisTableFilter, record) {
table.reload("sec_" + that.id, {
extraParams: {
"conditionMap['classifyTemplateMapOid']": record.oid
}
});
}
};
if (parentFieldName) {
options.treeConfig = {
treepid: parentFieldName,
treeid: 'id',
showField: 'name'
};
}
table.render(options);
};
this.initSecTable = function () {
var that = this;
var table = layui.table;
that.checkSecColumns();
var tableWidth = $("#border_" + that.id).width();
var options = {
elem: '#sec_' + that.id,
id: 'sec_' + that.id,
backPath: that.backPath,
url: that.url.mapItem.controller + that.url.mapItem.dataGrid,
limit: -1,
width: tableWidth,
selectMode: table.selectMode.muti,
cols: [that.secColumns],
method: 'get',
done: function (res, cur, total) {
table.on('tool(sec_' + that.id + ')', function (obj) {
var data = obj.data;//当前选择行的数据
var layEvent = obj.event;//点的是什么按钮
if (layEvent == 'EDIT') {
that.addOrEditSec(false, data);
} else if (layEvent == 'UP') {
obj.index != 0 && layui.table.moveData('sec_' + that.id, obj.index, obj.index - 1)
} else if (layEvent == 'DOWN') {
obj.index != layui.table.getData('sec_' + that.id).length - 1 && layui.table.moveData(filter, obj.index, obj.index + 1)
} else if (layEvent == 'SECVALUE') {
that.SECVALUE(data)
}
});
}
};
table.render(options);
};
this.checkColumns = function () {
var that = this;
var table = layui.table;
if (that.columns == null || that.columns.length == 0) {
that.columns = [table.getIndexColumn(), table.getCheckColumn(), {
field: 'id',
title: '编号',
width: 150,
sort: true
}, {
field: 'name',
title: '名称',
width: 200,
sort: true
},{
field: 'classifyTemplateName',
title: '所属模板',
width: 160,
sort: true
}, {
field: 'description',
title: '描述',
width: 160,
sort: true
}, {
field: 'lcStatusText',
title: '状态',
width: 90,
sortField: 'lcstatus',
sort: true
},{
field: 'codemapruletypeText',
title: '映射类型',
width: 90
}, {
field: 'options',
title: '操作',
width: 80,
templet: function (d) {
return '编辑';
}
}];
}
};
this.checkSecColumns = function () {
var that = this;
var table = layui.table;
if (that.secColumns == null || that.secColumns.length == 0) {
that.secColumns = [table.getIndexColumn(), table.getCheckColumn(),
{
field: 'groupcodeattrid',
title: '集团码属性key',
width: 200,
sort: true
}, {
field: 'groupcodeattrname',
title: '集团码属性key',
width: 200,
sort: true
}, {
field: 'classifyAttrId',
title: '分类模板属性key',
width: 200,
sort: true
}, {
field: 'classifyAttrName',
title: '分类模板属性名称',
width: 200,
sort: true
}, {
field: 'targetdateformat',
title: '时间格式',
width: 200,
sort: true
}, {
field: 'switcheval',
title: '转换公式',
width: 200,
sort: true
}, {
field: 'switchclassname',
title: '转换的自定义类',
width: 200,
sort: true
}, {
field: 'options',
title: '操作',
width: 150,
templet: function (d) {
if (d.sectype == 'codeclassifysec' || d.sectype == 'codefixedsec') {
return '编辑码值管理';
} else {
return '编辑';
}
}
}];
}
};
this.getFormItems = function (onlyShow) {
var that = this;
var table = layui.table;
return [
{
field: 'id',
title: '编号',
required: true
}, {
field: 'name',
title: '名称',
required: true
},{
field: 'classifyTemplateOid',
title: '所属模板',
width: 160,
type: 'refer',
showField:'classifyTemplateName',
referConfig: {
type:'mdm/refer/CodeClassTemplateRefer',
valueField: 'oid',
textField: 'name'
},
defaultValue: "",
readOnly: onlyShow
},
{
field: 'description',
title: '描述',
type: 'textarea',
inputWidth: 475
}
];
};
this.getSecFormItems = function (onlyShow,templateOid) {
var that = this;
var table = layui.table;
return [
{
field: 'classifytemplateattroid',
title: '分类模板属性',
required: true,
type: 'refer',
showField: 'classifyAttrName',
referConfig: {
type:'grid',
referBo:'codeclstempattr',
url: "codeClassifyTempAttrController/gridCodeClassifyTemplateAttr",
backPath:that.backPath,
textField:'name',
valueField:'oid',
extraParams:{
conditionMap:{classifyTemplateOid:templateOid}
},
isMuti:false,
tableConfig:{
page:{
limit:15,
page:1
},
cols:[table.getIndexColumn(),table.getCheckColumn(),{
field:'id',
title:'分类模板属性key',
},{
field:'name',
title:'分类模板属性名称',
}],
queryColumns:[{
field:'id',
title:'分类模板属性key'
}]
}
},
defaultValue:"",
readOnly:onlyShow
} , {
field: 'groupcodeattrid',
title: '集团码属性key',
type: 'text',
defaultValue:"",
required: true,
readOnly:onlyShow
} , {
field: 'groupcodeattrname',
title: '集团码属性名称',
type: 'text',
defaultValue:"",
required: true,
readOnly:onlyShow
} , {
field: 'switchclassname',
title: '转换的自定义类',
type: 'text',
defaultValue:"",
readOnly:onlyShow
} , {
field: 'switcheval',
title: '转换公式',
type: 'text',
defaultValue:"",
readOnly:onlyShow
} , {
field: 'targetdateformat',
title: '目标端的时间格式',
type: 'text',
defaultValue:"",
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: ['保存', '取消'],
content: '',
resizing: function (layero) {
form.doResize(filter);
},
success: function (layero, layerIndex, classP) {
form.addItems(filter, that.getFormItems(false),
function () {
if (add) {
var defaultValues = {};
//可以手动在此处添加默认值
form.setValues(defaultValues, filter);
} else {
form.load(filter, {
backPath: that.backPath,
url: that.url.map.controller + that.url.map.getObjectByOid,
method: 'get',
params: {
oid: oid
}
});
}
webUtil.relocationOpen(classP)
}, {}, {defaultColumnOneRow: 2});
},
yes: function (layero) {
if (form.validata(filter)) {
var values = form.getValues(filter, true);
if (!add){
values.oid = oid;
}else {
values.codeMapRuleType ='code_map_group_export';
}
var url = that.url.map.controller + (add ? that.url.map.addSave : that.url.map.editSave);
webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(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.map.controller + that.url.map.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;
layui.table.reload("table_" + that.id);
};
this.ADVQUERY = function () {
var that = this;
if (!that.serinorQueryInstance) {
var dynamicCondition = layui.dynamicCondition;
$('[layui-filter="toolbar_' + that.id + '"]').append('');
that.checkColumns();
var dataFields = [];
for (var i = 0; i < that.columns.length; i++) {
dataFields[i] = that.columns[i];
}
that.serinorQueryInstance = dynamicCondition.create({
fields: dataFields//查询字段
, tableId: "table_" + that.id//需要查询的表格
, type: "complex" //type:"simple"/"complex" 查询的方法 暂时写死为 complex
, queryCallBack: function (requestData) {//查询之后的callback
}
});
}
that.serinorQueryInstance.open();
};
this.ADDSEC = function () {
this.addOrEditSec(true)
};
this.EDITSEC = function () {
var that = this;
var secData = layui.table.checkStatus("sec_" + that.id).data;
if (secData.length != 1) {
webUtil.showErrorMsg('请选择一条映射明细数据');
return false;
}
this.addOrEditSec(false,secData[0])
};
this.DELSEC = function () {
var that = this;
var oid = webUtil.getOidFromGrid("sec_" + that.id, true, true);
if (!oid) {
return false;
}
var ts = webUtil.getOidFromGrid("sec_" + that.id, false, false, "ts");
webUtil.showConfirmMsg("是否删除这条数据?如果被引用将不能被删除!", function () {
webUtil.deleteRequest(that.url.mapItem.controller + that.url.mapItem.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.addOrEditSec = function (add,codeData) {
var that = this;
var checkData = layui.table.checkStatus("table_" + that.id).data;
if (checkData.length != 1) {
webUtil.showErrorMsg('请选择一条映射规则数据');
return false;
}
var oid=codeData?codeData.oid:'';
var templateOid = checkData[0].classifyTemplateOid? checkData[0].classifyTemplateOid : '';
var form = layui.form;
var filter = "form_" + that.id;
var addSaveIndex = webUtil.dialog({
title: add ? '添加映射明细' : '修改映射明细',
btn: ['保存', '取消'],
area:['500px','580px'],
content: '',
resizing: function (layero) {
form.doResize(filter);
},
success: function (layero, layerIndex, classP) {
form.addItems(filter, that.getSecFormItems(false,templateOid),
function () {
if (!add){
form.setValues(codeData)
}else {
var defaultValues = {};
form.setValues(defaultValues,filter);
}
}, {}, {defaultColumnOneRow: 1, labelWidth: 130});
},
yes: function (layero) {
if (form.validata(filter) && form.validata("sec_" + filter)) {
var values = form.getValues(filter, true);
console.log(values);
var secvalues = form.getValues("sec_" + filter, true);
console.log(secvalues);
var newvalues = $.extend({}, values, secvalues);
console.log(checkData[0].oid);
newvalues.classifytemplatemapoid = checkData[0].oid;
if (!add) {
newvalues.oid = codeData.oid;
}
var url = that.url.mapItem.controller + (add ? that.url.mapItem.addSave : that.url.mapItem.editSave);
webUtil.manualAjax(add ? 'post' : 'put', url, JSON.stringify(newvalues), function (result) {
if (result.success) {
webUtil.showMsgFromResult(result, (add ? "添加成功" : "修改成功"));
layer.close(addSaveIndex);
that.refreshSEC();
} else {
webUtil.showErrorMsg(result.msg);
}
}, function (xhr, err) {
webUtil.showErrorMsg("请求服务出现了错误,可能服务器未开启");
}, that.backPath);
}
},
btn2: function (layero) {
layer.close(addSaveIndex);
}
});
};
this.refreshSEC = function (){
var that = this;
layui.table.reload("sec_" + that.id);
}
};
var cs = new Class();
exports(cs.MODELNAME, cs);
});