var form = {};
form.type = {};
form.formSelects = null;
formPriv = {};
var map = new Map();
// var $ = layui.jquery
formPriv.initType = function () {
map.put("1", "textinput");
map.put("2", "textinput");
map.put("3", "textinput");
map.put("4", "radio");
map.put("5", "checkbox");
map.put("6", "select");
map.put("7", "userSelect");
map.put("8", "attach");
map.put("9", "editor");
map.put("10", "autoRow");
map.put("11", "autoRow-Column");
map.put("12", "suggest");
map.put("13", "button");
map.put("14", "container");
map.put("-1", "textinput");
}
formPriv.doView = function (){
var jqueryForm = "form";
var formObj = layui.jquery(jqueryForm);
if (formObj.length == 0) {
Feng.error("没有找到对应的表单")
return;
}
formObj = layui.jquery(formObj[0]);
formObj.find("[viewForm]").each(function () {
var item = layui.jquery(this);
var itemType = layui.jquery(this).attr("viewForm");
formPriv.type[itemType].read(item);
});
layui.jquery("#closeBtn").html(" 关闭 ")
return;
}
//各个组件的状态判断
formPriv.type = {};
formPriv.type["hidden"] = {
hide: function (obj) {
},
read: function (obj) {
}
}
formPriv.type["textinput"] = {
hide: function (obj) {
formPriv.removeStar(obj);
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
if (obj.is('input') || obj.is('textarea')) {
/* var label = obj.val();
label = label.replace(/\r\n/g, "
");
label = label.replace(/\n/g, "
");
var ip = layui.jquery("").addClass("layui-input layui-disabled").attr("value", obj.attr("name")).val( label );
obj.parent().html(ip)*/
// obj.attr("readonly", "readonly");
var label = obj.val();
var style = obj.attr("style");
label = label.replace(/\r\n/g, "
");
label = label.replace(/\n/g, "
");
if(!label){
label = " "
}
if(obj.is('input')){
label = ""+label+"";
}else{
label = ""+label+""; //layui-disabled
}
obj.parent().html(label);
} else {
var label = obj.find('input').val();
var style = obj.find('input').attr("style");
/* var ip = layui.jquery("").addClass("layui-input layui-disabled").attr("value", obj.attr("name")).val( label );
obj.html(ip);*/
// label.attr("readonly", "readonly");
if(!label){
label = " "
}
label = ""+label+"";
obj.html(label);
}
}
}
formPriv.type["input-url"] = {
hide: function (obj) {
formPriv.removeStar(obj);
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
if (obj.is('input') || obj.is('textarea')) {
var label = obj.val();
if(!label){
label = " "
}else{
label = ""+label+"";
}
if(obj.is('input')){
label = ""+label+"";
}else{
label = ""+label+""; //layui-disabled
}
obj.parent().html(label);
} else {
var label = obj.find('input').val();
if(!label){
label = " "
}else{
label = ""+label+"";
}
label = ""+label+"";
obj.html(label);
}
}
}
formPriv.type["radio"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
var checkedLabel = "";
var checkEle = obj.find("input:radio:checked");
if (checkEle.length == 1) {
checkedLabel = checkEle.attr("label");
if(checkedLabel==undefined){
checkedLabel = checkEle.attr("title");
}
}
checkedLabel = ""+checkedLabel+"";
obj.html(checkedLabel);
}
}
formPriv.type["xm-select"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
var xm_select = obj.attr("xm-ele-id");
obj.find("input.xm-input[placeholder='请选择']").removeAttr('placeholder')
form.formSelects.disabled(xm_select)
/*formPriv.removeStar(obj);
var label = "";
var xm_select = obj.find("dd.xm-select-this");
debugger
layui.jquery.each(xm_select, function (i, xm_span) {
debugger
var span = layui.jquery(xm_span).find("span").attr("name")
label += span + ",";
})
if (label.length > 0) {
label = label.substring(0, label.length - 1);
}
if(!label){
label = " "
}
label = ""+label+"";
obj.html(label);*/
}
}
formPriv.type["tags-input"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
obj.find("#tags_tagsinput").find("span.tag").find("a").remove();
obj.find("#tags_tagsinput").find("#tags_addTag").remove();
}
}
formPriv.type["user-head"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
obj.addClass("user-info-head-no-hover").removeClass("user-info-head")
var img = obj.find("img").attr("src");
obj.unbind("click");
obj.bind("click",function(){
var imgData = {
"alt": "头像",
"src": img, //原图地址
"thumb": img //缩略图地址
}
var json = {
photos: {
title: "头像",
data: [imgData]
}
,zIndex:99999999
,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
,shade: .1
,closeBtn: true
}
top.indexModule.photos(JSON.stringify(json));
});
}
}
formPriv.type["checkbox"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
var checkedLabel = "";
var checkboxs = obj.find("input[type=checkbox]");
layui.jquery.each(checkboxs, function (i, checkbox) {
if(layui.jquery(checkbox).is(":checked")){
checkedLabel += layui.jquery(checkbox).attr("title") + ",";
}
})
if (checkedLabel.length > 0) {
checkedLabel = checkedLabel.substring(0, checkedLabel.length - 1);
}
checkedLabel = ""+checkedLabel+"";
obj.html(checkedLabel);
}
}
formPriv.type["attach"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
if (obj.is('button')) {
obj.remove();
} else {
var button = obj.find('button');
obj.find('a').first().remove();
layui.jquery(button).remove();
}
}
}
formPriv.type["select"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
var selectLabel = "";
obj.find("select:not(.noneWorkflow) option:checked").each(function (index, item) {
if (layui.jquery(item).val() == null || layui.jquery(item).val().length == 0) {
selectLabel = "";
} else {
selectLabel = layui.jquery(item).html();
}
});
if(!selectLabel){
selectLabel = " "
}
selectLabel = ""+selectLabel+"";
obj.html(selectLabel);
}
}
formPriv.type["button"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
//暂时没有添加只读操作
obj.hide();
}
}
//人员选择框
formPriv.type["userSelect"] = {
hide: function (obj) {
obj.remove();
},
read: function (obj) {
formPriv.removeStar(obj);
if (obj.is('input') || obj.is('textarea')) {
obj.unbind("click"); //移除click事件
var label = obj.val();
label = label.replace(/\r\n/g, "
");
label = label.replace(/\n/g, "
");
if(!label){
label = " "
}
label = ""+label+"";
obj.parent().html(label);
} else {
obj.find('input').unbind("click"); //移除click事件
var label = obj.find('input').val();
if(!label){
label = " "
}
label = ""+label+"";
obj.html(label);
}
}
}
formPriv.type["suggest"]={
hide:function(obj){
obj.hide();
},
read:function(obj){
formPriv.removeStar(obj);
if (obj.is('input') || obj.is('textarea')) {
obj.addClass("layui-disabled").attr("readonly", "readonly").removeAttr("name").removeAttr("lay-verify").removeAttr("placeholder");
} else {
var label = obj.find('input');
if(label==null||label.length==0){
label = obj.find('textarea');
}
label.addClass("layui-disabled").attr("readonly", "readonly").removeAttr("name").removeAttr("lay-verify").removeAttr("placeholder");
}
}
}
formPriv.type["container"]={
hide:function(obj){
obj.remove();
// obj.hide();
},
read:function(obj){
}
}
formPriv.removeStar = function(obj){
if(obj.length>0){
if(obj.is('div')&&obj.hasClass('workflow-form-item')){
var star = layui.jquery(obj).prev();
if(star){
if(layui.jquery(star).find('span').hasClass('required')){
layui.jquery(star).find('span').remove();
}
}
}else{
obj = obj.parent();
formPriv.removeStar(obj);
}
}
}
function Map() {
this.container = new Object();
}
Map.prototype.put = function (key, value) {
this.container[key] = value;
}
Map.prototype.get = function (key) {
return this.container[key];
}
Map.prototype.remove = function (key) {
delete this.container[key];
}
layui.use(['form', 'admin', 'ax', 'formSelects'], function () {
var $ = layui.jquery;
form.formSelects = layui.formSelects;
// var $ax = layui.ax;
/* var openType = $("#formOpenType_").val();
if(openType == "view"){
formPriv.doView()
}*/
});