| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- <html>
- <head>
- <style>
- .dragList{
- float: right;
- }
- .objectPickerNameDiv-business {
- margin-left: 7px;
- margin-bottom: 6px;
- }
- </style>
- </head>
- <script>
- $(function(){
- var dataList='${dataList}';
- if(dataList){
- dataList=eval("("+dataList+")");
- //dataList=[{business:"ry",name:"ry",desc:"人员",optionList:[{name:"xm",desc:"姓名",selected:"1"},{name:"csrq",desc:"出生日期"}]}];
- //dataList.push({business:"ry",name:"bm",desc:"部门",optionList:[{name:"mc",desc:"名称"},{name:"csrq",desc:"出生日期"}]});
- }else{
- return;
- }
- var selectedObj;
- //记录当前选项
- function renewedDataList(){
- if(selectedObj){
- var items=DM.getDrager().selectedList.getAllItems()
- var selectedItems={};
- for(var i=0;i<items.length;i++){
- if(selectedObj==items[i].parentid){
- selectedItems[items[i].id]=1;
- }
- }
- for(var i=0;i<dataList.length;i++){
- var data=dataList[i];
- if(data.name!=selectedObj)continue;
- for(var j=0;j<data.optionList.length;j++){
- var optionData=data.optionList[j];
- if(selectedItems[selectedObj+"-"+optionData.name]){
- optionData.selected="1";
- }else{
- optionData.selected="0";
- }
- }
- }
- }
- console.log(dataList);
- selectedObj=null;
- DM.getDrager().optionList.empty();
- $("[name=dataList]").val(JSON.stringify(dataList));
- return dataList;
- }
- function appendSelectedList(html){
- var $dom=$(html);
- DM.getDrager().selectedList.append($dom[0]);
- }
- function appendOptionList(html){
- var $dom=$(html);
- DM.getDrager().optionList.append($dom[0]);
- }
- // 更新当前页面的选择的数据
- function updatedataList(){
- var data = eval("("+$("[name=dataList]").val()+")");
- var yx = [];
- var idd = [];
- var items=DM.getDrager().selectedList.getAllItems();
- for(var i=0;i<items.length;i++){
- if (items[i].parentid != null) {
- yx.push(items[i].id);
- } else {
- idd.push(items[i].id);
- }
- }
- //console.log(yx);
- for (var i = 0; i < data.length; i++) {
- var name = data[i].name;
- var options = data[i].optionList;
- if (idd.indexOf(name) == -1) continue;
- for (var j = 0; j < options.length; j++) {
- var id = name+'-'+options[j].name;
- if (yx.indexOf(id) > -1) {
- options[j].selected='1';
- console.log("好");
- } else {
- options[j].selected='0';
- }
- }
- }
- dataList = data;
- console.log(dataList);
- $("[name=dataList]").val(JSON.stringify(dataList));
- }
- //第一步,选业务
- function businessChange(){
- // 存储已经拖好的数据
- updatedataList();
- var v=this.getValue();
- showObjectList(v);
- }
- //按业务过滤列出对象
- function showObjectList(business){
- renewedDataList();
- DM.getDrager().selectedList.empty();
- for(var i=0;i<dataList.length;i++){
- var data=dataList[i];
- if(business&&data.business!=business)
- continue;
- appendSelectedList('<div dxm="'+data.name+'" ssObjId="'+data.name+'" class="item dragList list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"><span>'+data.desc+'</span></div>');
- for(var j=0;j<data.optionList.length;j++){
- var optionData=data.optionList[j];
- if("1"!=optionData.selected)
- continue;
- appendSelectedList('<div ssPobjId="'+data.name+'" ssObjId="'+data.name+'-'+optionData.name+'" class="item dragList list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"><span>'+optionData.desc+'</span></div>');
- }
- }
- DM.getDrager().selectedList.reload();
- }
- //第二步,选对象
- function itemClick(){
- var dxm=this.element.getAttribute("dxm");
- if(this.parentid||!dxm)
- return;
- renewedDataList();
- selectedObj=dxm;
- for(var i=0;i<dataList.length;i++){
- var data=dataList[i];
- if(data.name!=selectedObj)
- continue;
- for(var j=0;j<data.optionList.length;j++){
- var optionData=data.optionList[j];
- if("1"==optionData.selected)
- continue;
- appendOptionList('<div ssObjId="'+data.name+'-'+optionData.name+'" class="item dragList list-background list" style="min-height: 41px;line-height: 41px;width:100%;box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"><span>'+optionData.desc+'</span></div>');
- }
- }
- DM.getDrager().optionList.reload();
- }
- $("#save").on("click",function(){
- // renewedDataList();
- updatedataList();
- $("form").submit();
- })
- DM.getDrager().itemClick=itemClick;
- wd.edit.objectPicker.getInstance("business").onchange=businessChange;
- showObjectList();
- })
- </script>
- <body>
- <form action="<serv.ss name='gwSjxc_save' dest='info' parm='{gwid:"${gwid}"}'/>" method="post">
- <input name="dataList" type="hidden" value=""/>
- <div class="content-div" ssFith="true">
- <input name="business" type="hidden" width="200px" placeholder="业务"/>
- <objp.ss name="business" cb="biz" />
- <div id="container" class="dragList-div">
- <div class="box">
- <p class="label">对象</p>
- <div class="list-body " style="position: relative;overflow-x: hidden;width: 100%;height: 200px;">
- <div id="sjxSelected" class="scrollbar" style="height:100%">
- </div>
- </div>
- </div>
- <div class="box">
- <p class="label">属性</p>
- <div class="list-body " style="position: relative;overflow-x: hidden;width: 100%;height: 200px;">
- <div id="sjxOption" class="scrollbar" style="height:100%">
- </div>
- </div>
- </div>
- </div>
- <drag.ss name="sjx" grp="true" func="editGroup,editOrder"/>
- <div class='bottom-div'>
- <div class="bottom-down-div border-top">
- <%-- 再改为 valList=。Lin
- <equal.ss val1='${dataType eq "change" || dataType eq "update"}' val2="true"> --%>
- <equal.ss val="${dataType}" valList="change,update">
- <input type="button" value="保存" class="bottom-button" id="save">
- </equal.ss>
- </div>
- </div>
- </div>
- </form>
- </body>
- </html>
|