Files
xinhu/webmain/flow/input/inputjs/mode_flowelement.js
2025-12-24 10:03:51 +08:00

176 lines
5.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//流程模块【flowelement.表单元素管理】下录入页面自定义js页面,初始函数
function initbodys(){
c.fieldshide('xiaoshu');
if(mid==0){
form('mid').value = js.request('mkid');
if(!form('mid').value){
js.msgerror('没有选择模块,无法新增');
c.formdisabled();
return;
}
}
form('attr').readOnly=false;
form('fields').readOnly=false;
form('dev').readOnly=false;
c.onselectdata['attr']=function(sav,sna,sid){
form('attr').value = sid;
}
c.onselectdata['fields']=function(sav,sna,sid){
if(sav.subname)form('name').value = sav.subname;
}
$(form('fieldstype')).change(function(){
c.changetypes();
});
var s = '<button type="button" onclick="setdatabtn()" class="webbtn btn-danger btn-xs">设置数据源</button>';
$('#div_data').append(s);
}
c.onselectdatabefore=function(fid){
if(fid=='fields')return {mkid:form('mid').value,iszb:form('iszb').value};
}
c.changetypes=function(){
var val = form('fieldstype').value;
if(val=='number'){
c.fieldsshow('xiaoshu');
}else{
c.fieldshide('xiaoshu');
}
}
function changesubmit(d){
if(d.fieldstype.indexOf('change')==0){
if(d.data=='' || d.data==d.fields){
form('data').value = ''+d.fields+'id';
return '此字段元素类型时数据源必须填写用来存储选择来的Id请填写为'+d.fields+'id';
}
}
if(d.islu=='1' && d.fields=='id')return 'id字段是不可以做录入项字段';
}
c.xuanchangs=function(){
var val = form('fieldstype').value;
if(val.indexOf('change')==0){
var cans1 = {
idobj:form('gongsi')
};
js.changeuser('AltS', 'deptusercheck', '选择范围', cans1);
}else{
js.msg('msg','元素类型不是选择人员部门的');
}
}
var cmode = false;
function setdatabtn(){
var lx = form('fieldstype').value;
var fid = form('fields').value;
if(!lx){
js.msg('msg','请先选择“字段元素类型”');
return;
}
if(lx.indexOf('change')==0){
if(!fid){
js.msg('msg','请先输入“对应字段”');
return;
}
form('data').value = ''+fid+'id';
return;
}
cmode = false;
var shjyx = ',text,select,selectdatafalse,selectdatatrue,radio,checkboxall,textarea,';
if(shjyx.indexOf(','+lx+',')==-1){
js.msg('msg','此字段类型,无需设置数据源,或者可直接输入');
return;
}
var s = '<div class="flex"><div style="width:100px" align="right">数据源模块:</div><input readonly onclick="xuanmode(this)" style="flex:1" placeholder="-请选择模块V-" class="input"></div>';
s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">数据源条件:</div><select id="modewhere" style="flex:1" class="input"><option value="">-选择条件-</option></select></div>';
s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">显示内容:</div><input style="flex:1" id="modeshowname" placeholder="如:{title}" class="input"></div>';
s+='<div class="flex"><div style="width:100px" align="right"></div><div style="flex:1" id="modeshownamediv"></div></div>';
s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">存储主键字段:</div><input style="flex:1" placeholder="默认的id不用去改" readonly ondblclick="this.readOnly=false" value="" class="input" id="modeshowval"></div>';
s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">子内容显示:</div><input style="flex:1" placeholder="留空就好了" value="" class="input" id="modeshownames" readonly ondblclick="this.readOnly=false"></div>';
js.tanbody('databody','使用模块数据做数据源',400,300,{
html:'<div style="overflow:auto;max-height:450px"><div style="padding:15px"><form autocomplete="off" name="dataform">'+s+'</form></div></div>',
btn:[{text:'确定选择'}]
});
$('#databody_btn0').click(function(){
setdatabtnok();
});
}
function setdatabtnok(){
if(!cmode)return;
var tj = get('modewhere').value;
if(!tj){
js.msg('msg','请选择数据源条件');
return;
}
var zd = get('modeshowname').value;
if(!zd){
js.msg('msg','请输入显示内容字段');
return;
}
var acta = form('data').value.split(',');
var vzd = get('modeshowval').value;
if(!vzd)vzd='id';
var s = 'rmod:'+cmode.num+'|'+tj+'|'+zd+'|'+vzd+'';
vzd = get('modeshownames').value;
if(vzd)s+='|'+vzd+'';
if(acta[1])s+=','+acta[1]+'';
form('data').value = s;
js.tanclose('databody');
}
function xuanmode(o1){
js.selectmode(o1, o1, function(sna,val,d){
cmode = d;
changeflowwhere(d.id);
});
}
function changeflowwhere(id1){
var o1 = get('modewhere');
o1.length = 1;
$('#modeshownamediv').html('');
js.ajax(geturlact('modewhere'),{modeid:id1},function(ret){
js.setselectdata(o1, ret.wheredata, 'num');
var farr = ret.fieldsarr,s='';
for(var i=0;i<farr.length;i++){
s+='<label><input type="checkbox" onclick="changeziduansv(this)" name="selfieldsabc" value="{'+farr[i].fields+'}">'+farr[i].name+'('+farr[i].fields+')</label>&nbsp;&nbsp;';
}
$('#modeshownamediv').html(s);
js.resizetan('databody');
}, 'get,json');
}
function changeziduansv(){
var val = js.getchecked('selfieldsabc');
val = val.replace(/[\,]/gi,'');
get('modeshowname').value = val;
}
js.selectmode = function(obj, naobj, fun){
this.chajian('rockselect', {
viewobj:obj,
num:'getmodearr',limit:20,
url:js.getajaxurl('getmodearr','flow','main'),
onitemclick:function(sna,val,d){fun(sna,val,d)},
ondatachuli:function(da){
var len=da.length,i,csd,types='',ds=[],dt=[];
for(i=0;i<len;i++){
csd = da[i];
if(types!=csd.type){
ds.push({name:csd.type,style:'font-weight:bold',disabled:true});
dt.push({name:csd.type,value:csd.type,type:csd.type});
}
types = csd.type;
csd.padding='24';
ds.push(csd);
}
this.setSelectData(dt,'所有分类', 'type');
return ds;
},
nameobj:naobj
});
}