| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653 |
- <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
- <%@ taglib uri="/ssTag" prefix="ss" %>
- <%pageContext.setAttribute("wdpageinformation", "{'hastab':'0'}");%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <script>window.loginStatus = "${empty sessionScope['ssUser']?'0':'1'}"</script>
- <ss:skin file='main.css'/>
- <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
- <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
- <script type="text/javascript" src="/ss/js/base.js"></script>
- <script> if (!window.wd) var wd = {};
- if (!wd.display) wd.display = {};
- wd.display.wdDialogId = "cobjList";
- if (!wd.app) wd.app = {};
- wd.app.name = 'pms';</script>
- <script type="text/javascript" src="/ss/js/masklayer.js"></script>
- <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
- <script type="text/javascript" src="/ss/js/common.js"></script>
- <script type="text/javascript" src="/ss/js/display.js"></script>
- <script type="text/javascript" src="/ss/js/edit.js"></script>
- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
- <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
- <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
- <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
- <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
- <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
- <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
- <script type="text/javascript" src="/ss/js/common.js"></script>
- <script type="text/javascript" src="/ss/js/display.js"></script>
- <script type="text/javascript" src="/ss/datePicker/WdatePicker.js"></script>
- <script type="text/javascript" src="/ss/js/edit.js"></script>
- <ssDlg setPval="true"/>
- <%-- setValue="true" close="true"。Lin --%>
- <script type="text/javascript" src="/ss/js/growHeight.js"></script>
- <script type="text/javascript" src="/ss/jquery/jquery.ellipsis.js"></script>
- <script type="text/javascript" src="/ss/datePicker/WdatePicker.js"></script>
- <script type="text/javascript" src="/ss/js/edit.js"></script>
- <script type="text/javascript" src="/ss/echarts/echarts.js"></script>
- <%-- 新UI引入的JS --%>
- <script src="/js/load.js"></script>
- <%-- ="/newUI/ss/js/base.js"。Lin(新UI) --%>
- <script src="/js/pageC.js"></script>
- <%-- 对象变动、修改、查看页,左则选项卡宽度 在里面定义 Ben(20251213) --%>
- <style>
- <%--巨大div--%>
- <%--报表样式--%>
- <%--内容--%>
- <%--调大小手柄--%>
- <%--设置报表--%>
- <%--page--%>
- .pagination {
- margin-right: 20px;
- }
- .icon-openFolder {
- line-height: 40px !important;
- }
- <%-- // 功能说明:二级列表搜索/翻页 loading 动效(参考 objList 样式并居中展示) by xu 20260115 --%>
- /* 功能说明:二级列表搜索/翻页 loading 动效(避免点“所有/搜索”无反馈) by xu 20260115 */
- .cobj-loading {
- width: 100%;
- min-height: 260px;
- flex: 1 0 100%;
- box-sizing: border-box;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .cobj-spinner {
- width: 18px;
- height: 18px;
- border-radius: 50%;
- border: 2px solid rgba(0, 0, 0, 0.2);
- border-top-color: rgba(0, 0, 0, 0.65);
- animation: cobjSpin 0.8s linear infinite;
- }
- @keyframes cobjSpin {
- from {
- transform: rotate(0deg);
- }
- to {
- transform: rotate(360deg);
- }
- }
- </style>
- <%-- 改为 <data@ss name="prt"/>。Lin
- <tab@ss name="print" enable="viewobject.funcMap.play.print"/> --%>
- <ss:data name='prt'/>
- <%--批量打印--%>
- <%-- 去掉,改为 <jsp@ss file="/ss/prtIcon.jsp"/>。Lin
- 不用 "wdBatchPrint",统一用 "wdPrint" -- 写在 prtIcon.jsp 里
- <equal@ss val="${empty prt}" val2="false">
- <script>
- $(function(){
- try{
- var wdDialogId=wd.display.getwdDialogId();
- var win=wd.topWindow.dhxWins.window(wdDialogId);
- win.button("wdBatchPrint").show();
- win.button("wdBatchPrint").onclick=function(){
- <varServ@ss dlg="true" name="${prt.service}" dest="${prt.dest}" parm="${prt.param}" title="${prt.title}" width="${prt.width}" height="${prt.height}" minHeight="${prt.minHeight}" maxHeight="${prt.maxHeight}"/>
- }
- }catch(e){
- console.log(e);
- }
- })
- </script>
- </equal@ss>
- --%>
- <%@include file="/ss/clip/prtIcon.jsp" %>
- <script>
- window.SS.dom.formElemConfig = window.SS.dom.formElemConfig || {};
- </script>
- </head>
- <body>
- <div id="app">
- <form class="page-container" id="myForm"
- action="<ss:serv name='${currentService.service}' dest='${currentService.dest}' parm='${currentService.param}'/>"
- method="post">
- <input type="hidden" name="isAnd" value='${isAnd}'/>
- <input name="management" type="hidden" value="${management}"/>
- <input name="isFulltext" type="hidden" value="${isFulltext}"/>
- <%-- // 功能说明:补齐分页隐藏字段,供前端翻页/序列化入参使用 by xu 20260115 --%>
- <input type="hidden" name="pageNo" v-model="ssPaging.pageNo"/>
- <input type="hidden" name="rowNumPer" v-model="ssPaging.rowNumPer"/>
- <input type="hidden" name="rowNum" v-model="ssPaging.rowNum"/>
- <%--搜索条件start--%>
- <div class="search-bar">
- <ss-breadcrumb></ss-breadcrumb>
- <div class="search-bar-contaienr">
- <%-- // 功能说明:优先用接口返回的 searchFieldList 渲染搜索条件(无右侧栏) by xu 20260115 --%>
- <template v-if="searchFieldList && searchFieldList.length">
- <template v-for="f in searchFieldList" :key="f.name">
- <template v-if="f && f.cbName">
- <%-- // 功能说明:下拉选项由前端拉取并绑定 opt,保证选择后能回显选中项 by xu 20260115 --%>
- <ss-objp
- v-model="searchForm[f.name]"
- :name="f.name"
- :opt="searchFieldOptMap[f.name] || []"
- :placeholder="f.desc || ''"
- width="120"
- inp="true"
- url="/service?ssServ=loadObjpOpt&objectpickerdropdown1=1"
- :cb="f.cbName"
- ></ss-objp>
- </template>
- <template v-else>
- <ss-search-input
- :name="f.name"
- :placeholder="f.desc || ''"
- v-model="searchForm[f.name]"
- width="100px"
- @search="doSearch"
- ></ss-search-input>
- </template>
- </template>
- <template v-if="hasKeyWord">
- <ss-search-input
- name="ssKeyword"
- placeholder="关键词"
- v-model="searchForm.ssKeyword"
- width="100px"
- @search="doSearch"
- ></ss-search-input>
- </template>
- </template>
- <template v-else>
- <%--关键词--%>
- <%-- 再去掉 -- 只支持一行。Lin
- <ss:rpt name='searchableFields' id='fieldsList'>
- --%>
- <ss:rpt name='fieldsList' id='searchItem'>
- <%
- ss.obj.ObjFieldB f = (ss.obj.ObjFieldB) pageContext.getAttribute("searchItem");
- pageContext.setAttribute("searchItemValue", request.getParameter(f.getName()));
- %>
- <%--codebook 使用select下拉--%>
- <ss:equal val='${empty searchItem.cbName}' val2='false'>
- <%--<input type="text" name="${searchItem.name}" value="${searchItemValue}"/>
- <input type="text" name="${searchItem.name}Name" placeholder="${searchItem.desc}" style="width:${searchItem.width};min-width: 108px;"/>
- <ss:equal val='${empty cadcadingInputs[searchItem.name]}' val2='true'>
- <ss:objp name='${searchItem.name}' cb='${searchItem.cbName}' inp='true'/>
- </ss:equal>--%>
- <ss-objp
- v-model="${searchItem.name}"
- name="${searchItem.name}"
- :opt="${searchItem.name}Option"
- placeholder="${searchItem.desc}"
- width="120"
- inp="true"
- url="/service?ssServ=loadObjpOpt&objectpickerdropdown1=1"
- cb="${searchItem.cbName}"
- ></ss-objp>
- <script>
- /**
- * objectPicker(如:性别码)
- * optUrl:加载下拉菜单option选项的url
- */
- window.SS.dom.formElemConfig.${searchItem.name} = {
- desc: '${searchItem.desc}',
- value: '${searchItemValue}',
- optUrl: '123456',
- type: 2
- };//放当前页面表单元素配置的变量
- </script>
- </ss:equal>
- <%--codebook 使用input输入框--%>
- <ss:equal val='${empty searchItem.cbName}' val2='true'>
- <%--日期--%>
- <ss:equal val='${searchItem.type}'
- valList='3,11'> <%-- 改 equal:val1="true" val2='${searchItem.type == "time"}'。Lin --%>
- <div class="input-inside">
- <%--年度--%>
- <%--
- <ss:equal val='${searchItem.enrolDate}' val2='true'>
- <input type='hidden' placeholder="${searchItem.desc}" name='${searchItem.name}'
- value='<ss:txt val='${searchItemValue}'/>'/>
- <div><input type="text" name="${searchItem.name}_year" autocomplete="off" />
- <input name="${searchItem.name}_month" type="button" value="春季" ssVal="3"/>
- <input name="${searchItem.name}_month" type="button" value="秋季" ssVal="9"/>
- </div><script>(function(){wd.edit.onoffInit('radio','${searchItem.name}_month','',false,null,null,null,'edit');})();</script>
- <script>(function(){
- wd.display.initEnrolDate('${searchItem.name}','edit');
- })()
- </script>
- </ss:equal>--%>
- <%--日期--%>
- <ss:equal val='${searchItem.type==11}' val2='true'>
- <%--<input type='text' autocomplete="off" placeholder="${searchItem.desc}" name='${searchItem.name}'
- value='<ss:txt val='${searchItemValue}'/>' format="${searchItem.fmt}"/>
- <input type="button" ssType="date" ssName="${searchItem.name}"/>--%>
- <ss-search-date-picker
- v-model="${searchItem.name}"
- name="${searchItem.name}"
- type="date"
- placeholder="${searchItem.desc}"
- width="100px"
- ></ss-search-date-picker>
- <script>
- //日期类型(如:出生日期)
- window.SS.dom.formElemConfig.${searchItem.name} = {
- desc: '${searchItem.desc}',
- value: '${searchItemValue}',
- type: 3,
- name: '${searchItem.name}'
- };//放当前页面表单元素配置的变量
- </script>
- </ss:equal>
- </div>
- </ss:equal>
- <%--文本--%>
- <ss:notEqual val='${searchItem.type}'
- valList='3,11'> <%-- 改 equal:val1="false" val2='${searchItem.type == "time"}'。Lin --%>
- <%--<input name='${searchItem.name}' placeholder="${searchItem.desc}" type='text'
- value='<ss:txt val='${searchItemValue}'/>'/>
- <input type="hidden" ssType="and" ssName="${searchItem.name}"/>--%>
- <%--<script>wd.edit.addClearTextButton("${searchItem.name}");</script>--%>
- <ss-search-input
- name="${searchItem.name}"
- placeholder="${searchItem.desc}"
- v-model="${searchItem.name}"
- width="100px"
- >
- </ss-search-input>
- <script>
- //日期类型(如:出生日期)
- window.SS.dom.formElemConfig.${searchItem.name} = {
- desc: '${searchItem.desc}',
- value: '${searchItemValue}',
- type: 31,
- name: '${searchItem.name}'
- };//放当前页面表单元素配置的变量
- </script>
- </ss:notEqual>
- </ss:equal>
- </ss:rpt>
- <%-- 再去掉 -- 只支持一行。Lin
- </ss:rpt>
- --%>
- <ss:rpt name='cadcadingName' id='item'><%-- 级联菜单,还不知道怎么出来的 --%>
- <ss:ccp name='${item}'/>
- </ss:rpt>
- <ss:equal val='${hasKeyWord}' val2='true'>
- <%--<input name="ssKeyword" value="${ssKeyword}" type="text" placeholder="关键词"/>
- <script>wd.edit.addClearTextButton("ssKeyword");</script>--%>
- <ss-search-input
- name="ssKeyword"
- placeholder="关键词"
- v-model="ssKeyword"
- width="100px"
- >
- </ss-search-input>
- <script>
- //关键词
- window.SS.dom.formElemConfig.ssKeyword = {
- value: '${ssKeyword}',
- name: "ssKeyword",
- desc: "关键词",
- type: 31
- };//放当前页面表单元素配置的变量
- </script>
- </ss:equal>
- </template>
- <ss-search-button
- text="所有"
- icon-class="nav-icon-search"
- :opt="searchButtonConfig"
- :check-id="searchButtonConfigCheckId"
- ></ss-search-button>
- <%-- // 功能说明:优先用接口返回的 rootFuncList 渲染根按钮 by xu 20260115 --%>
- <template v-if="rootFuncList && rootFuncList.length">
- <template v-for="func in rootFuncList" :key="func.id || func.servName">
- <ss-search-button
- :text="func.desc || func.title || ''"
- icon-class="nav-icon-add"
- :opt="[]"
- :check-id="0"
- @click="openServiceDialog(func)"
- ></ss-search-button>
- </template>
- </template>
- <%--<input type="submit" name="ssSearch" value="搜索" class="content-invertButton"/>--%>
- <%--跨对象搜索隐藏全文按钮--%>
- <ss:equal val='${isMultipleObject}' val2='false'>
- <%-- "全文" 按钮,"button" 改为 "hidden"。
- 原来的会加上 style="display: none;",不知在哪加的???Lin
- objList.ss.jsp 里,原来就有 type="hidden"
- --%>
- <input type="hidden" ssType="fts" ssName="fts"
- value="全文"/> <%-- wdType="isFulltext" wdName="isFulltext"。Lin --%>
- </ss:equal>
- <%-- // 功能说明:rootFuncList 由接口返回时,隐藏旧 JSP 注入的 buttonList(避免重复按钮) by xu 20260115 --%>
- <template v-if="!rootFuncList || !rootFuncList.length">
- <%--管理按钮start--%>
- <script>
- <%-- 根按钮(管理按钮) --%>
- window.SS.dom.btnElemConfig = window.SS.dom.btnElemConfig || {};
- </script>
- <ss:rpt name='buttonList' id='button'>
- <ss:equal val='${dataType}'
- valList='normal,update,change,bdplay'> <%-- 增加,查看时隐去管理按钮。原来会去掉管理按钮,不知在哪去掉的???Lin --%>
- <ss:auth serv='${button.service}'>
- <ss:equal val='${empty button.pluginList}' val2='true'>
- <%--<input type="button" name="${button.name}" value="${button.buttonName}" class="content-button"
- onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='${button.service}' dest='${button.dest}' parm='${button.param}'/>",title:"${button.title}",width:"${button.width}",height:"${button.height}",minHeight:"${button.minHeight}",maxHeight:"${button.maxHeight}",showTitle:"${button.showTitle}"});'/>--%>
- <script>
- function ${button.id}handleClick() {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${button.service}' dest='${button.dest}' parm='${button.param}'/>",
- title: "${button.title}",
- width: "${button.width}",
- height: "${button.height}",
- minHeight: "${button.minHeight}",
- maxHeight: "${button.maxHeight+100}",
- showTitle: "${button.showTitle}"
- });
- }
- window.SS.dom.btnElemConfig.${button.id} = {
- desc: "${button.buttonName}",
- id: "${button.id}",
- dropOptions: [],
- onclick: () => {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${button.service}' dest='${button.dest}' parm='${button.param}'/>",
- title: "${button.title}",
- width: "${button.width}",
- height: "${button.height}",
- minHeight: "${button.minHeight}",
- maxHeight: "${button.maxHeight+100}",
- showTitle: "${button.showTitle}"
- });
- }
- };
- </script>
- <ss-search-button
- text="${button.buttonName}"
- icon-class="nav-icon-add"
- :opt="[]"
- :check-id="0"
- onclick="${button.id}handleClick()"
- ></ss-search-button>
- </ss:equal>
- <ss:equal val='${empty button.pluginList}' val2='false'>
- <ss:rpt name='${button.pluginList}' id='plugin'>
- <%--<span style="display:none;" class="${button.id}children" value="${plugin.plugin.desc}"
- onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='${plugin.service}' dest='${plugin.dest}' parm='${plugin.param}'/>",title:"${plugin.title}",width:"${plugin.width}",height:"${plugin.height}",minHeight:"${plugin.minHeight}",maxHeight:"${plugin.maxHeight}",showTitle:"${plugin.showTitle}"});'>
- </span>
- </ss:rpt>
- <input type="button" id="${button.id}" name="${button.name}" value="${button.buttonName}" class="content-button" onclick='void(0)'/>
- <script>wd.display.attachButton("${button.id}","${button.id}children",null,false,true)</script>
- --%>
- <%-- window.SS.dom.btnElemConfig.${button.id}.onclick --%>
- <%-- :opt改为取vue.data中的变量,而不取window.ss.dom.btnElemConfig(因为取不到),onclick改为:onclick xu(20251209) --%>
- <ss-search-button
- text="${button.buttonName}"
- icon-class="nav-icon-add"
- :opt="btnElemConfig.${button.id}.dropOptions"
- check-id="${management}"
- onclick="${button.id}handleClick()"
- ></ss-search-button>
- <script><%-- 新UI生成按钮下拉菜单 --%>
- function ${button.id}handleClick() {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${plugin.service}' dest='${plugin.dest}' parm='${plugin.param}'/>",
- title: "${plugin.title}",
- width: "${plugin.width}",
- height: "${plugin.height}",
- minHeight: "${plugin.minHeight}",
- maxHeight: "${plugin.maxHeight}",
- showTitle: "${plugin.showTitle}"
- });
- }
- window.SS.dom.btnElemConfig.${button.id} = {
- id: "${button.id}", dropOptions: [],
- onclick: () => {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${plugin.service}' dest='${plugin.dest}' parm='${plugin.param}'/>",
- title: "${plugin.title}",
- width: "${plugin.width}",
- height: "${plugin.height}",
- minHeight: "${plugin.统计minHeight}",
- maxHeight: "${plugin.maxHeight}",
- showTitle: "${plugin.showTitle}"
- });
- }
- };
- <%-- 循环生成按钮数组 --%>
- <ss:rpt name='${button.pluginList}' id='plugin'>
- window.SS.dom.btnElemConfig
- .${button.id}.
- dropOptions.push(
- {
- desc: '${plugin.plugin.desc}', <%-- 按钮名 --%>
- callback: function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${plugin.service}' dest='${plugin.dest}' parm='${plugin.param}'/>",
- title: "${plugin.title}",
- width: "${plugin.width}",
- height: "${plugin.height}",
- minHeight: "${plugin.minHeight}",
- maxHeight: "${plugin.maxHeight}",
- showTitle: "${plugin.showTitle}"
- });
- }
- }
- );
- </ss:rpt>
- </script>
- <%-- 新UI end Ben --%>
- </ss:rpt>
- </ss:equal>
- </ss:auth>
- </ss:equal>
- </ss:rpt>
- <%--管理按钮end--%>
- </template>
- <%--</div>--%>
- <%--管理类别start--%>
- <%-- <ss:equal val='${dataType}' valList='normal,update,change,bdplay'>--%>
- <%-- <ss:equal val='${"1"==isReady && !isMultipleObject && isTopObject}' val2='true'>--%>
- <%-- <div class="hLine" style="height: 48px;margin: 0px 17px 0px 11px;padding-left: 14px;padding-top:11px;box-sizing: border-box;">--%>
- <%-- <ul style="list-style: none;display: inline-block;">--%>
- <%--<%– 再改,management(String) 为 scopeType(int) -- 0 为未指定,99 为所有(原为 "0")。Lin--%>
- <%-- <li wdType="manage" wdVal="0">所有</li> –%>--%>
- <%-- <li ssType="searchScope" ssVal=99>所有</li>--%>
- <%-- <%– <li wdType="manage" wdVal="2">管理</li>–%>--%>
- <%--<%– 再改,management(String) 为 scopeType(int) -- 0 为未指定,99 为所有(原为 "0")。Lin--%>
- <%-- <li wdType="manage" wdVal="1">创建</li> –%>--%>
- <%-- <li ssType="searchScope" ssVal=1>创建</li>--%>
- <%-- <%–<li wdType="manage" wdVal="3">已办</li>–%>--%>
- <%--<%– 再改,management(String) 为 scopeType(int) -- 0 为未指定,99 为所有(原为 "0")。Lin--%>
- <%-- <li wdType="manage" wdVal="55">停用</li> –%>--%>
- <%-- <li ssType="searchScope" ssVal=55>停用</li>--%>
- <%-- </ul>--%>
- <%-- </div>--%>
- <%-- </ss:equal>--%>
- <%-- </ss:equal>--%>
- <%--管理类别end--%>
- <%--翻页--%>
- <%-- <%@include file="/ss/clip/paging.jsp"%> --%>
- </div>
- </div>
- <%--搜索条件end--%>
- <%--个人统计表start${!isMultipleObject}--%>
- <ss:equal val='${"1"!=isReady && !isMultipleObject}' val2='true'>
- <%-- 再改为 WebC.REQ_objName,避免与数据表里的 对象名 字段重名。用到再确认。Lin
- 传到 objList.ss.jsp 的是 ${ssObjName},传给 addPstat 的是 dxm(统计指标.对象名、个人统计.对象名)
- <input name="addgrtjUrl" type="hidden" value="<serv@ss name='add_grtj' parm='{dxm:"${dxm}"}'/>"/> --%>
- <input name="addgrtjUrl" type="hidden"
- value="<ss:serv name='addPcht' parm='{"wdConfirmationCaptchaService":"0","dxm":"${ssObjName}"}'/>"/>
- <input name="grtjSizeUrl" type="hidden"
- value="<ss:serv name='savePstatSize' parm='{"wdConfirmationCaptchaService":"0","grtjSize":"ssVal{grtjSize}"}'/>"/> <%-- name='save_grtjSize'。Lin --%>
- <input name="getgrtjJsonUrl" type="hidden"
- value="<ss:serv name='getgrtjJson' parm='{"wdConfirmationCaptchaService":"0"}'/>"/>
- <div class="graph scrollbar" style="padding-right: 16px;">
- <ss:rpt name='${grtjList}' id='item'>
- <div class="graph-list" grtjid="${item.grtjid}" style="width:${item.kd};height:${item.gd};">
- <div class="graph-list-body" style="height: 100%;">${item.mc}</div>
- <span class="graph-list-mask"></span>
- <span class="graph-list-resize"></span>
- <span class="vLine"
- style="height: 40px;width: 1px;position: absolute;right: 70px;top: 0px"></span>
- <span class="hLine-highlight"
- style="width: 100%;height: 0px;position: absolute;top: 40px;left: 0px;"></span>
- <span class="icon-set" style="position: absolute;right: 0px;top: 0px;width: 70px;height: 40px;"
- <%-- 再改为 WebC.REQ_objName,避免与数据表里的 对象名 字段重名。用到再确认。Lin
- onclick='<serv@ss dlg="true" name="getZbInfo" dest="grtj_sz" parm="{grtjid:"${item.grtjid}",dxm:"${dxm}"}"/>'> --%>
- onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='getZbInfo'
- parm='{"wdConfirmationCaptchaService":"0","grtjid":"${item.grtjid}","ssObjName":"${ssObjName}"}'
- dest='grtj_sz'/>",title:"挑选指标",width:1000,height:800});'>
- </span>
- </div>
- </ss:rpt>
- <div>
- <%--<div class="graphButton button icon-add" style="height: 60px;line-height: 82px;float: right;margin-right: 0px;margin-top: 0px;">增加</div>
- <input name="initTj" onclick='@service{name:"initTj",dest:"sys_info",show:"wdDialog"}@' value="初始化" type="button" />--%>
- </div>
- </div>
- </ss:equal>
- <%--个人统计表end--%>
- <div style="clear: both;"></div>
- <script type="text/javascript" src="/ss/env/env_search.js"></script>
- <%--搜索结果start--%>
- <%--<div class="longCardList-div" style="box-sizing: border-box;" ssFith="true">
- <table class="scrollbar" style="max-height: 100%;width: 100%;">
- <tbody style="width: 100%;padding: 0px 16px 0px 11px;box-sizing: border-box;" ssFith='{list:true,rowHeight:35}'>--%><%-- 去掉 id="wdTbody0",好像没用到。Lin --%>
- <%-- <ss:rpt name='bgmbList' id='item'>--%>
- <%-- <tr>--%>
- <%-- <td class="hLine"--%>
- <%-- onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='stat_tableDesign_bb' parm='{"wdConfirmationCaptchaService":"0","bgmbid":"${item.bgmbid}"}' dest='bgmb_xsmb'/>",title:"显示模板",width:1010,height:750});'>--%>
- <%-- <div class="longCardList-info bb" style="font-size: 0px;display: inline-block;float: left;">--%>
- <%-- <span class="longCardList-highlight" style="margin-bottom: 3px;">--%>
- <%-- <a>${item.mc}</a>--%>
- <%-- </span>--%>
- <%-- <div id="${item.bgmbid}" class="longCardList-dim growHeightDiv" width='750' height='45px'>--%>
- <%-- <ss:txt val='${item.ms}'/>--%>
- <%-- </div>--%>
- <%-- <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>--%>
- <%--<script type="text/javascript" charset="utf-8" src="/ss/js/display.js"></script>--%>
- <%--<script type="text/javascript" charset="utf-8" >--%>
- <%--wd.display.initGrowHigh('${item.bgmbid}','80px',{},null,false);--%>
- <%--</script>--%>
- <%-- <div id="${item.bgmbid}${index}" class="longCardList" width='750' height='18px'>--%>
- <%-- <ss:txt val='${item.lmms}'/>--%>
- <%-- </div>--%>
- <%-- <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>--%>
- <%--<script type="text/javascript" charset="utf-8" src="/ss/js/display.js"></script>--%>
- <%--<script type="text/javascript" charset="utf-8" >--%>
- <%--wd.display.initGrowHigh('${item.bgmbid}${index}','80px',{},null,false);--%>
- <%--</script>--%>
- <%-- </div>--%>
- <%-- <a class="button icon-change"--%>
- <%-- onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='stat_tableDesign_load' parm='{"wdConfirmationCaptchaService":"0","bgmbid":"${item.bgmbid}"}' dest='bgmb_sj'/>",title:"变动表格模板",width:1010,height:780});'>--%>
- <%-- 变动--%>
- <%-- </a>--%>
- <%-- </td>--%>
- <%-- </tr>--%>
- <%-- </ss:rpt>--%>
- <%-- 新UI初始化查询列表数据的JS --%>
- <script>
- <%-- 打印新UI相关json对象 --%>
- window.SS.dom.listConfig = window.SS.dom.listConfig || {};
- //二级对象 草稿箱
- window.SS.dom.listConfig.draftbox = [];
- <%-- 草稿箱start --%>
- <ss:rpt name='cgxList' id='item'>
- {
- let item = {};
- window.SS.dom.listConfig.draftbox.push(item);
- item.tags = [];
- <%-- item.tags如果值为空,则会vue组件初始化失败,把item.tags的初始化变为提到条件之外,变成一定会初始化 Ben --%>
- <%-- 查看事件 --%>
- <ss:equal val='${empty item.service.play}' val2='false'>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.play.service}' dest='${item.service.play.dest}' parm='${item.service.play.param}'/>",
- title: "${item.service.play.title}",
- width: "${item.service.play.width}",
- height: "${item.service.play.height}",
- minHeight: "${item.service.play.minHeight}",
- maxHeight: "${item.service.play.maxHeight}"
- });
- };
- </ss:equal>
- <ss:equal val='${item.service.lbm==1 && not empty item.service.update}' val2='true'>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.update.service}' dest='${item.service.update.dest}' parm='${item.service.update.param}'/>",
- title: "${item.service.update.title}",
- width: "${item.service.update.width}",
- height: "${item.service.update.height}",
- minHeight: "${item.service.update.minHeight}",
- maxHeight: "${item.service.update.maxHeight}"
- });
- };
- </ss:equal>
- <ss:equal val='${item.service.lbm==11 && not empty item.service.change}' val2='true'>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.change.service}' dest='${item.service.change.dest}' parm='${item.service.change.param}'/>",
- title: "${item.service.change.title}",
- width: "${item.service.change.width}",
- height: "${item.service.change.height}",
- minHeight: "${item.service.change.minHeight}",
- maxHeight: "${item.service.change.maxHeight}"
- });
- };
- </ss:equal>
- <ss:equal val='${dataType}' valList='normal,change'>
- <ss:equal val='${item.service.lbm}' valList='51,55'>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='delChildChg' parm='{"wdConfirmationCaptchaService":"0","sqid":"${item.sqid}"}' dest='childChgDelSure'/>",
- title: "删除二级对象的变动",
- width: 901,
- height: 380,
- minHeight: 53,
- maxHeight: 432
- });
- };
- </ss:equal>
- </ss:equal>
- <%-- 增加,审核时查看 基本情况变动。Start。Lin --%>
- <ss:equal val='${dataType}' val2='bdplay'>
- <ss:equal val='${item.service.lbm}' val2='11'>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='selChgInfo' parm='{"wdConfirmationCaptchaService":"0","sqid":"${item.sqid}"}' dest='childChgInfo'/>",
- title: "二级对象的变动信息",
- width: 1020,
- height: 215,
- minHeight: 200,
- maxHeight: 660
- });
- };
- </ss:equal>
- </ss:equal>
- <%-- 增加,审核时查看 基本情况变动。End。Lin --%>
- <%--图标--%>
- <ss:equal val='${item.service.lbm}' val2='1'>
- item.titlexxx = "增加";
- item.icon = "icon-add";
- </ss:equal>
- <ss:equal val='${item.service.lbm}' val2='11'>
- item.titlexxx = "变动";
- item.icon = "icon-change";
- </ss:equal>
- <ss:equal val='${item.service.lbm}' val2='51'>
- item.titlexxx = "停用";
- item.icon = "icon-disable";
- </ss:equal>
- <ss:equal val='${item.service.lbm}' val2='55'>
- item.titlexxx = "启用";
- item.icon = "icon-enable";
- </ss:equal>
- <%--缩略图--%>
- <ss:equal val='${empty item.thumbnail}' val2='false'>
- <ss:equal val='${item.service.state}' val2='0'>
- item.thumb = "${sessionScope['ssUser'].skinDir}image/object/default-${item.ssObjName}.png";
- </ss:equal>
- <ss:notEqual val='${item.service.state}' val2='0'>
- item.thumb = "<ss:serv name='dlByHttp' parm='{"wdConfirmationCaptchaService":"0","path":"${item.thumbnail.value}","type":"img"}'/>";
- </ss:notEqual>
- item.errorThumb = '${sessionScope['ssUser'].skinDir}image/object/default.png';
- </ss:equal>
- <%--标题--%>
- <ss:equal val='${empty item.first}' val2='false'> <%-- 改 equal:val1="true" val2="${not empty item.first}"。Lin --%>
- <%--不带codebook--%>
- <ss:equal val='${empty item.first.field.cbName}' val2='true'>
- item.title = '<ss:txt val='${item.first.value}' fmt='${item.first.field.fmt}'/>';
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item.first.field.cbName}' val2='false'>
- item.title = '<ss:cbTrans cb='${item.first.field.cbName}' val='${item.first.value}'/>';
- </ss:equal>
- </ss:equal>
- <%--缺标题显示属性start--%>
- <ss:equal val='${empty item.first && not empty item.third}' val2='true'>
- <ss:rpt name='${item.third}' id='itemList'>
- <ss:rpt name='${itemList}' id='item2'>
- item.title = '${item2.field.desc}:';
- <%--不带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='true'>
- item.title += '<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/> ';
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='false'>
- item.title += '<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/> ';
- </ss:equal>
- </ss:rpt>
- </ss:rpt>
- </ss:equal>
- <%--正文或摘要--%>
- <ss:equal val='${empty item.second}' val2='false'>
- item.summary = '${item.second.value}';
- </ss:equal>
- <%-- 列表底部的对象属性(tags) --%>
- <ss:equal val='${empty item.first || empty item.third}' val2='false'>
- <%-- item.tags=[]; item.tags如果值为空,则会vue组件初始化失败,把item.tags的初始化变为提到条件之外,变成一定会初始化 Ben --%>
- <ss:rpt name='${item.third}' id='itemList'>
- <ss:rpt name='${itemList}' id='item2'>
- {
- let v;
- <%--不带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='true'>
- v = '<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/>';
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='false'>
- v = '<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>';
- </ss:equal>
- item.tags.push({'${item2.field.desc}': v});
- }
- </ss:rpt>
- </ss:rpt>
- </ss:equal>
- <%-- 对象变动前后属性列表 --%>
- item.changeItems = [];
- <ss:rpt name='${item.forth}' id='item3'>
- item.changeItems.push({
- name: '${item3.name}', oldValue: '${item3.oldValue}', newValue: '${item3.newValue}',
- onclick: function () {
- <ss:equal val='${item3.field["type"]}' val2='8'> <%-- ="html" --%>
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv parm='{"wdConfirmationCaptchaService":"0","newValue":"${item3.newValue}","oldValue":"${item3.oldValue}","type":"html"}' dest='bd_zwdb'/>",
- title: "正文对比",
- width: 1010,
- height: 540
- });
- </ss:equal>
- <ss:equal val='${item3.field["type"]}' valList='5,6'> <%-- ="picture,photo" --%>
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv parm='{"wdConfirmationCaptchaService":"0","newValue":"${item3.newValue}","oldValue":"${item3.oldValue}"}' dest='bd_tpdb'/>",
- title: "图片对比",
- width: 1010,
- height: 530
- });
- </ss:equal>
- <ss:equal val='${item3.field["type"]}' valList='2,3,1,9'> <%-- ="number,time,text,cms" --%>
- <%-- 原代码这里什么也没 --%>
- </ss:equal>
- }
- });
- </ss:rpt>
- <%-- 二级对象申请查看页面 --%>
- <ss:equal val='${dataType}' val2='bdplay'>
- item.buttons = [];
- item.buttons.push(
- {
- id: "${btn.btnID}",
- titlexxx: "申请查看",
- class: "cart-list-setting",
- title: "申请查看",
- onclick: () => {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${btn.service}' dest='${btn.dest}' parm='${btn.param}'/>",
- title: "${btn.title}",
- width: "${btn.width}",
- height: "${btn.height}",
- minHeight: "${btn.minHeight}",
- maxHeight: "${btn.maxHeight}"
- });
- }
- }
- );
- </ss:equal>
- }
- </ss:rpt>
- <%-- 草稿箱end --%>
- //在用或停用的对象列表
- window.SS.dom.listConfig.list = [];
- <ss:rpt name='objectList' id='item'><%-- 循环一次生成一行列表 start --%>
- {
- let item = {};//列表的其中一行的属性
- window.SS.dom.listConfig.list.push(item);
- item.tags = [];
- <%-- item.tags如果值为空,则会vue组件初始化失败,把item.tags的初始化变为提到条件之外,变成一定会初始化 Ben --%>
- <ss:equal val='${item.service.state}' val2='0'><%-- 借阅 --%>
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='ydsq_tj' parm='{"wdConfirmationCaptchaService":"0","ssObjId":"${item.ssObjId}","ssObjName":"${item.ssObjName}"}' dest='ydsq_tj'/>",
- title: "借阅",
- width: 613,
- height: 387
- });
- }
- </ss:equal>
- <ss:equal val='${empty item.service.play}' val2='false'><%-- 查看播放 --%>
- item.titlexxx = '${item.service.play.title}';
- item.onclick = function () {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.play.service}' dest='${item.service.play.dest}' parm='${item.service.play.param}'/>",
- title: "${item.service.play.title}",
- width: ((${item.service.play.width}+DOM_SIZE_objInfoTabWidth) + ""),
- height: "${item.service.play.height}",
- minHeight: "${item.service.play.minHeight}",
- maxHeight: "${item.service.play.maxHeight}"
- });
- }
- </ss:equal>
- <%-- 缩略图 --%>
- <ss:equal val='${empty item.thumbnail}' val2='false'>
- <ss:equal val='${item.service.state}' val2='0'> <%-- 改 equal:val1="${item.service.state==0}" val2="true"。Lin --%>
- item.thumb = "${sessionScope['ssUser'].skinDir}image/object/default-${item.ssObjName}.png";
- item.errorThumb = '${sessionScope['ssUser'].skinDir}image/object/default.png';
- </ss:equal>
- <ss:notEqual val='${item.service.state}' val2='0'>
- item.thumb = "<ss:serv name='dlByHttp' parm='{"wdConfirmationCaptchaService":"0","path":"${item.thumbnail.value}","type":"img"}'/>";
- </ss:notEqual>
- </ss:equal>
- <%-- 标题 --%>
- <ss:equal val='${empty item.first}' val2='false'>
- <%--不带codebook--%>
- <ss:equal val='${empty item.first.field.cbName}' val2='true'>
- item.title = "<ss:txt val='${item.first.value}' fmt='${item.first.field.fmt}' miniDate='false'/>";
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item.first.field.cbName}' val2='false'>
- item.title = "<ss:cbTrans cb='${item.first.field.cbName}' val='${item.first.value}'/>";
- </ss:equal>
- </ss:equal>
- <%--缺标题显示属性start--%>
- <ss:equal val='${empty item.first && not empty item.third}' val2='true'>
- item.title = '';
- <ss:rpt name='${item.third}' id='itemList'>
- <ss:rpt name='${itemList}' id='item2'>
- item.title += '${item2.field.desc}:';
- <%--属性名--%>
- <%--不带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='true'>
- item.title += "<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/> ";
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='false'>
- item.title += "<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/> ";
- </ss:equal>
- </ss:rpt>
- </ss:rpt>
- </ss:equal>
- <%--缺标题显示属性end--%>
- <%-- 摘要 --%>
- <ss:equal val='${empty item.second}' val2='false'>
- item.summary = '${item.second.value}';
- </ss:equal>
- <%-- 列表底部的对象标签组 --%>
- <ss:equal val='${empty item.first || empty item.third}' val2='false'>
- <%--item.tags=[]; item.tags如果值为空,则会vue组件初始化失败,把item.tags的初始化变为提到条件之外,变成一定会初始化 Ben --%>
- <ss:rpt name='${item.third}' id='itemList'>
- <ss:rpt name='${itemList}' id='item2'>
- {
- let v;
- <%--不带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='true'>
- v = '<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/>';
- </ss:equal>
- <%--带codebook--%>
- <ss:equal val='${empty item2.field.cbName}' val2='false'>
- v = '<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>';
- </ss:equal>
- item.tags.push({
- ${item2.field.desc}:
- v
- })
- ;
- }
- </ss:rpt>
- </ss:rpt>
- </ss:equal>
- <%--按钮--%>
- item.buttons = [];
- <ss:equal val='${empty item.service.change}' val2='false'>
- item.buttons.push(
- {
- id: "${'chg'==item.service.change.function.name?'change':'enable'}",
- titlexxx: "${item.service.change.title}",
- class: "cart-list-setting",
- title: "${'submRes'==item.service.change.function.name?'启用':'变动'}",
- onclick: () => {
- <%-- 下面的宽度width,如果是变动,则加上选项卡宽度 Ben(20251214) --%>
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.change.service}' dest='${item.service.change.dest}' parm='${item.service.change.param}'/>",
- title: "${item.service.change.title}",
- width: ((${item.service.change.width}+${'chg'==item.service.change.function.name?'DOM_SIZE_objInfoTabWidth':'0'}) + ""),
- height: "${item.service.change.height}",
- minHeight: "${item.service.change.minHeight}",
- maxHeight: "${item.service.change.maxHeight}"
- });
- }
- }
- );
- </ss:equal>
- <ss:equal val='${empty item.service.update}' val2='false'>
- item.buttons.push(
- {
- id: "update",
- titlexxx: "${item.service.update.title}",
- class: "cart-list-setting",
- title: "修改",
- onclick: () => {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: "<ss:serv name='${item.service.update.service}' dest='${item.service.update.dest}' parm='${item.service.update.param}'/>",
- title: "${item.service.update.title}",
- width: ((${item.service.update.width}+DOM_SIZE_objInfoTabWidth) + ""),
- height: "${item.service.update.height}",
- minHeight: "${item.service.update.minHeight}",
- maxHeight: "${item.service.update.maxHeight}"
- });
- }
- }
- );
- </ss:equal>
- }
- </ss:rpt><%-- 循环一次生成一行列表 end --%>
- </script>
- <%-- <div class="search-bar">--%>
- <%-- <ss-breadcrumb></ss-breadcrumb>--%>
- <%-- <div class="search-bar-contaienr">--%>
- <!-- <ss-objp
- v-model="csd"
- name="csd"
- :opt="[{ label: '广东', value: '1' },{ label: '广西', value: '2' }]"
- placeholder="省份"
- width="150"
- input="true"
- ></ss-objp> -->
- <!-- <ss-search-input
- name="keyword"
- placeholder="关键词"
- v-model="form.keyword"
- width="200px"
- >
- </ss-search-input> -->
- <%-- <template v-for="item in formElemConfig">
- <template v-if="item.type == systemType.SEARCHDATE">
- <ss-search-date-picker
- v-model="item.value"
- :name="item.name"
- type="date"
- :placeholder="item.desc"
- width="100px"
- ></ss-search-date-picker>
- </template>
- <template v-if="item.type == systemType.SEARCHTIME">
- <ss-search-date-picker
- v-model="item.value"
- :name="item.name"
- type="time"
- :placeholder="item.desc"
- width="100px"
- ></ss-search-date-picker>
- </template>
- <template v-if="item.type == systemType.SEARCHDATETIME">
- <ss-search-date-picker
- v-model="item.value"
- :name="item.name"
- type="datetime"
- :placeholder="item.desc"
- width="200px"
- ></ss-search-date-picker>
- </template>
- <template v-if="item.type == systemType.OBJPICKER">
- <ss-objp
- v-model="item.value"
- :name="item.name"
- :opt="item.options"
- :placeholder="item.desc"
- width="150"
- input="true"
- ></ss-objp>
- </template>
- <template v-if="item.type == systemType.SEARCHINPUT">
- <ss-search-input
- :name="item.name"
- :placeholder="item.desc"
- v-model="item.value"
- width="100px"
- >
- </ss-search-input>
- </template>
- </template>
- <ss-search-button
- text="所有"
- icon-class="nav-icon-search"
- :opt="searchButtonConfig"
- :check-id="searchButtonConfigCheckId"
- ></ss-search-button>
- <template v-for="item in btnElemConfig">
- <ss-search-button
- :text="item.desc"
- icon-class="nav-icon-add"
- :opt="item.dropOptions"
- :check-id="item.dropOptionsCheckId"
- :onclick="item.onclick"
- ></ss-search-button>
- </template> --%>
- <!-- <ss-search-button
- text="新增(无下拉)"
- icon-class="nav-icon-add"
- onclick="console.log('点击了')"
- ></ss-search-button> -->
- <%-- </div>--%>
- <%-- </div>--%>
- <div class="content-area item-content-area" style="gap: 20px">
- <%-- // 功能说明:二级列表加载中提示(搜索/翻页走接口刷新) by xu 20260115 --%>
- <div v-if="loadingCobj" class="cobj-loading">
- <div class="cobj-spinner"></div>
- </div>
- <template v-else>
- <template v-for="(item, i) in listConfig.draftbox" :key="i">
- <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
- <ss-cobj-card-list v-else :item="item" :ss-obj-name="ssObjName"></ss-cobj-card-list>
- <!-- // 功能说明:二级对象列表使用 ss-cobj-card-list(新卡片样式但仅查看) by xu 20260115 -->
- </template>
- <template v-for="(item, i) in listConfig.list" :key="i">
- <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
- <ss-cobj-card-list v-else :item="item" :ss-obj-name="ssObjName"></ss-cobj-card-list>
- <!-- // 功能说明:二级对象列表使用 ss-cobj-card-list(新卡片样式但仅查看) by xu 20260115 -->
- </template>
- <%-- // 功能说明:二级对象翻页:改用前端 ssPaging(接口返回)驱动分页组件 by xu 20260115 --%>
- <ss-page
- v-show="Number(ssPaging && ssPaging.rowNum || 0) > 0"
- :total="Number(ssPaging && ssPaging.rowNum || 0)"
- :size="Number(ssPaging && ssPaging.rowNumPer || 12)" <%-- // 功能说明:分页默认每页12条 by xu 20260116 --%>
- :page="Number(ssPaging && ssPaging.pageNo || 1)"
- @change="handlePageChange">
- </ss-page>
- </template>
- </div>
- <input name='wdComponentID' type='hidden' value='cobjList'/>
- </form>
- </div>
- <script>
- var all = $("tr[searchid][searchpid='']");
- for (var i = 0; i < all.length; i++) {
- var searchid = $(all[i]).attr("searchid");
- var child = $("tr[searchpid='" + searchid + "' ]").length;
- console.log(child);
- $("tr[searchid][searchpid='']").eq(i).find('.listnumber').html(child);
- }
- </script>
- <script type="text/javascript">var wdRecordValue = '${wdRecordValue}';</script>
- <script type="text/javascript" src="/ss/js/wdRecord.js"></script>
- <script type="text/javascript">(function () {
- wdRecord("cobjList");
- })();</script>
- <script type="text/javascript" src="/ss/js/wdFitHeight.js"></script>
- <script type="text/javascript">initWdFitHeight(100)</script>
- <script type="text/javascript">initWdFitHeightFunction = function () {
- initWdFitHeight(100);
- };</script>
- <ss:equal val="${empty resizeComponent}" val2="false">
- <script>{
- var iframe = wd.display.getFrameOfWindow();
- if (iframe && iframe.contentWindow == window)
- wd.display.resizeComponent(${resizeComponent.width}, ${resizeComponent.height}, ${empty resizeComponent.minHeight?'null':resizeComponent.minHeight}, ${empty resizeComponent.maxHeight?'null':resizeComponent.maxHeight});
- }</script>
- </ss:equal>
- <ss:help/>
- </body>
- <script type="text/javascript">
- try {
- wd.display.showMsgPopup('${msg}');
- } catch (err) {
- console.error(err);
- }
- </script>
- <ss:equal val="${empty wdclosewindowparam}" val2="false">
- <script type="text/javascript">
- try {
- wd.display.setCloseWindowParam('${wdclosewindowparam}');
- } catch (err) {
- console.error(err);
- }
- </script>
- </ss:equal>
- </html>
- <script type="module">
- <%-- 打印新UI相关json对象 --%>
- console.log('搜索条件:' + JSON.stringify(window.SS.dom.formElemConfig));
- console.log('按钮:' + JSON.stringify(window.SS.dom.btnElemConfig));
- console.log('列表:' + JSON.stringify(window.SS.dom.listConfig));
- function objectPickMockAjax(url) {
- return new Promise((resolve) => {
- setTimeout(() => {
- resolve([
- {label: '学校领导', value: '190'},
- {label: '业务部', value: '101241'},
- {label: '男', value: '1'},
- {label: '女', value: '2'}
- ]);
- }, 1000);
- });
- }
- // 定义 objPickerLoad 函数
- async function objPickerLoad(url, optionsName) {
- const result = await objectPickMockAjax(url);
- return result;
- }
- console.log(window.SS.dom.formElemConfig);
- const data = {
- systemType: window.SS.dom.TYPE,
- listConfig: window.SS.dom.listConfig,
- formElemConfig: window.SS.dom.formElemConfig,
- btnElemConfig: window.SS.dom.btnElemConfig,
- // 功能说明:二级对象查询服务名(首次/后续统一一个),用于初始化时调接口打印返回 by xu 20260115
- ssSearchCobjServName: "${ssSearchCobjServName}",
- // 功能说明:从 JSP 注入当前对象信息,供二级对象初始化接口拼参使用(key=ssObjName+'id') by xu 20260115
- ssObjName: "${ssObjName}",
- ssObjId: "${ssObjId}",
- // 功能说明:二级对象页面:接口返回的搜索/按钮/草稿/列表/翻页数据(无右侧栏) by xu 20260115
- searchFieldList: [],
- rootFuncList: [],
- hasKeyWord: false,
- searchForm: {},
- // 功能说明:搜索条件下拉 option 映射(key=字段名,value=options数组),用于回显选中 by xu 20260115
- searchFieldOptMap: {},
- // 功能说明:缩略图类型(与 objList 一致:1=thumbnail,2=photo),用于卡片占位区域判断 by xu 20260115
- thnType: 0,
- ssPaging: {pageNo: 1, rowNumPer: 12, rowNum: 0}, // 功能说明:默认每页12条 by xu 20260116
- // 功能说明:二级列表接口加载状态(搜索/翻页) by xu 20260115
- loadingCobj: false,
- // 功能说明:二级列表请求序号,避免并发返回覆盖(取最后一次) by xu 20260115
- cobjReqId: 0,
- searchButtonConfigCheckId: '${management}',
- searchButtonConfig: [
- {id: "99", desc: "所有"},
- {id: "2", desc: "管理"},
- {id: "1", desc: "创建"},
- {id: "3", desc: "已办"},
- {id: "55", desc: "停用"},
- ],
- }
- if (window.SS.dom.formElemConfig) {
- Object.entries(window.SS.dom.formElemConfig).forEach(([key, config]) => {
- data[key] = config.value;
- // 处理 objPicker
- if (config.type === window.SS.dom.TYPE.OBJPICKER) {
- data[key + "ObjPicker"] = true;
- data[key + "Option"] = [];
- data[key + "Url"] = config.optUrl;
- }
- })
- }
- console.log('data:' + JSON.stringify(data));
- SS.ready(function () {
- try {
- window.ss.dom.initializeFormApp({
- el: "#app",
- data() {
- return data;
- },
- methods: {
- // 功能说明:从表单提取参数,供二级对象初始化接口调用 by xu 20260115
- getSearchFormParams() {
- var params = {};
- // 功能说明:二级对象初始化接口仅传查询相关参数,过滤统计图等无关隐藏字段 by xu 20260115
- // 功能说明:分页参数以 pageNo/rowNumPer/rowNum 为准,过滤旧分页/组件标识字段,避免入参混乱 by xu 20260115
- // 功能说明:rowNum/pageCount/rowCountPerPage 这类为回显/统计字段,初始化查询不需要传给后端 by xu 20260115
- var skip = {
- addgrtjUrl: 1,
- grtjSizeUrl: 1,
- getgrtjJsonUrl: 1,
- pageCount: 1,
- rowCountPerPage: 1,
- wdComponentID: 1,
- rowNum: 1
- };
- try {
- var arr = $("#myForm").serializeArray();
- arr.forEach(function (it) {
- if (!it || !it.name) return;
- if (skip[it.name]) return;
- params[it.name] = it.value;
- });
- } catch (e) {
- console.log("getSearchFormParams failed", e);
- }
- // 功能说明:接口驱动搜索条件时,searchForm 可能不落到 DOM input,上行序列化取不到;这里补充合并 by xu 20260115
- try {
- var sf = this.searchForm || {};
- Object.keys(sf).forEach(function (k) {
- var v = sf[k];
- if (v === undefined || v === null) return;
- if (typeof v === "object") return;
- params[k] = String(v);
- });
- } catch (e) {
- }
- // 功能说明:分页参数以页面 ssPaging 为准(仅传 pageNo/rowNumPer),避免把 rowNum(总数) 回传后端 by xu 20260115
- try {
- if (this.ssPaging) {
- params.pageNo = Number(this.ssPaging.pageNo || 1);
- params.rowNumPer = Number(this.ssPaging.rowNumPer || 12); // 功能说明:分页默认每页12条 by xu 20260116
- }
- } catch (e) {
- }
- return params;
- },
- // 功能说明:触发搜索(重置页码并重新调用接口) by xu 20260115
- doSearch() {
- try {
- this.ssPaging.pageNo = 1;
- } catch (e) {
- }
- this.loadCobjInit();
- },
- // 功能说明:切换范围(所有/管理/创建/已办/停用)不再提交表单,改为走接口刷新 by xu 20260115
- switchScope(management) {
- try {
- document.getElementsByName("management")[0].value = String(management);
- } catch (e) {
- }
- try {
- this.searchButtonConfigCheckId = String(management);
- } catch (e) {
- }
- this.doSearch();
- },
- // 功能说明:调用 /service?ssServ=... 并解析 JSON,供二级对象初始化调试使用 by xu 20260115
- callSsService(ssServ, extraParams) {
- if (!ssServ) return Promise.resolve(null);
- var p = extraParams || {};
- return new Promise(function (resolve) {
- $.ajax({
- type: "get",
- url: "/service",
- data: Object.assign({ssServ: ssServ}, p),
- dataType: "text",
- })
- .done(function (text) {
- if (typeof text !== "string") return resolve(text);
- var t = String(text || "").trim();
- if (!t) return resolve(null);
- try {
- return resolve(JSON.parse(t));
- } catch (e) {
- return resolve(text);
- }
- })
- .fail(function (xhr, status, err) {
- console.log("callSsService failed", ssServ, status, err);
- resolve(null);
- });
- });
- },
- // 功能说明:二级对象页面初始化时调用 ssSearchCobjServName 并打印返回(仅联调用) by xu 20260115
- loadCobjInit() {
- var self = this;
- var ssServ = this.ssSearchCobjServName;
- if (!ssServ) return;
- // 功能说明:进入 loading,并递增请求序号(只处理最后一次返回) by xu 20260115
- var reqId = (this.cobjReqId = Number(this.cobjReqId || 0) + 1);
- var startedAt = Date.now();
- this.loadingCobj = true;
- var params = this.getSearchFormParams();
- // 功能说明:二级对象查询额外携带“当前对象id”(key=ssObjName+'id',value=ssObjId),由 JSP 注入 by xu 20260115
- try {
- var objName = String(this.ssObjName || "").trim();
- var objId = String(this.ssObjId || "").trim();
- if (objName && objId) params[objName + "id"] = objId;
- } catch (e) {
- }
- // 功能说明:打印最终请求参数,避免不清楚拼接了什么 by xu 20260115
- try {
- console.log("[cobj] init params", params);
- console.log("[cobj] init qs", $.param(Object.assign({ssServ: ssServ}, params)));
- } catch (e) {
- }
- this.callSsService(ssServ, params)
- .then(function (res) {
- if (reqId !== self.cobjReqId) return;
- console.log("[cobj] init", ssServ, res);
- // 功能说明:将接口返回写回页面(搜索条件/根按钮/草稿箱/列表/翻页),用于二级对象新UI渲染 by xu 20260115
- try {
- var ssData = res && typeof res === "object" ? (res.ssData || res) : null;
- if (ssData) self.applyCobjData(ssData);
- } catch (e) {
- }
- })
- .finally(function () {
- if (reqId !== self.cobjReqId) return;
- var delay = Math.max(0, 200 - (Date.now() - startedAt));
- setTimeout(function () {
- if (reqId !== self.cobjReqId) return;
- self.loadingCobj = false;
- }, delay);
- });
- },
- // 功能说明:将 cobjList 接口返回映射到页面状态(无右侧栏) by xu 20260115
- applyCobjData(ssData) {
- if (!ssData || typeof ssData !== "object") return;
- this.searchFieldList = Array.isArray(ssData.searchFieldList) ? ssData.searchFieldList : [];
- this.rootFuncList = Array.isArray(ssData.rootFuncList) ? ssData.rootFuncList : [];
- this.hasKeyWord = !!ssData.hasKeyWord;
- // 功能说明:缩略图类型 thnType 由接口返回(若存在),用于统一控制卡片是否保留缩略图区域 by xu 20260115
- try {
- if (ssData.thnType != null) this.thnType = Number(ssData.thnType || 0);
- } catch (e) {
- }
- // 功能说明:根据 searchFieldList 拉取下拉选项(cbName),用于回显选中项 by xu 20260115
- this.loadSearchFieldOptions();
- if (ssData.ssPaging && typeof ssData.ssPaging === "object") {
- this.ssPaging = {
- pageNo: Number(ssData.ssPaging.pageNo || 1),
- rowNumPer: Number(ssData.ssPaging.rowNumPer || 12), // 功能说明:分页默认每页12条 by xu 20260116
- rowNum: Number(ssData.ssPaging.rowNum || 0),
- };
- }
- var self = this;
- // 功能说明:二级对象卡片字段规范化(title/catList 支持 fmt 时间格式化),逻辑参考 objList by xu 20260115
- function pad2(n) {
- return String(n).padStart(2, "0");
- }
- function toDate(val) {
- if (val == null) return null;
- if (val instanceof Date) return isNaN(val.getTime()) ? null : val;
- try {
- var s = String(val);
- s = s.replace(/\u00a0|\u202f/g, " ").replace(/ /g, " ").trim();
- var d = new Date(s);
- return isNaN(d.getTime()) ? null : d;
- } catch (e) {
- return null;
- }
- }
- function formatValByFmt(val, fmt) {
- if (!fmt) return String(val == null ? "" : val);
- var d = toDate(val);
- if (!d) return String(val == null ? "" : val);
- var yyyy = String(d.getFullYear());
- var MM = pad2(d.getMonth() + 1);
- var dd = pad2(d.getDate());
- var HH = pad2(d.getHours());
- var mm = pad2(d.getMinutes());
- var ss = pad2(d.getSeconds());
- var map = {
- "yyyy": yyyy,
- "MM": MM,
- "dd": dd,
- "HH": HH,
- "mm": mm,
- "ss": ss,
- "M": String(d.getMonth() + 1),
- "d": String(d.getDate()),
- "H": String(d.getHours()),
- "m": String(d.getMinutes()),
- "s": String(d.getSeconds()),
- };
- var out = String(fmt);
- Object.keys(map).sort(function (a, b) {
- return b.length - a.length;
- }).forEach(function (k) {
- out = out.split(k).join(map[k]);
- });
- return out;
- }
- function normalizeVal(v) {
- if (v === undefined || v === null) return "";
- if (typeof v === "string" || typeof v === "number" || typeof v === "boolean") return String(v);
- if (typeof v === "object") {
- if (v.val != null) {
- if (v.fmt) return formatValByFmt(v.val, v.fmt);
- return String(v.val);
- }
- }
- return String(v);
- }
- function normalizeTitle(t) {
- return normalizeVal(t);
- }
- function normalizeCard(raw) {
- var card = raw && typeof raw === "object" ? Object.assign({}, raw) : {};
- card.title = normalizeTitle(raw && raw.title);
- // 功能说明:二级对象卡片缩略图规则参考 objList:用 thumbType 控制“是否保留缩略图区域”,thumb 有值才渲染图片(无图显示占位) by xu 20260115
- try {
- var thnType = Number(self.thnType || 0);
- if (thnType === 1) card.thumbType = "thumbnail";
- else if (thnType === 2) card.thumbType = "photo";
- } catch (e) {
- }
- // 功能说明:thn 不为空 => 有图片(否则组件按 thumbType 显示占位 icon);URL 走 dlByHttp by xu 20260115
- try {
- var thn = raw && raw.thn;
- if (thn) card.thumb = self.buildThumbUrl(thn);
- } catch (e) {
- }
- // 功能说明:二级对象卡片标签:由 catList(desc/val) 映射到组件 item.tags(key:desc, value:val) by xu 20260115
- card.tags = [];
- try {
- var catList = raw && Array.isArray(raw.catList) ? raw.catList : [];
- card.tags = catList.map(function (c) {
- if (!c || typeof c !== "object") return null;
- var k = c.desc != null ? String(c.desc) : "";
- if (!k) return null;
- var v = c.fmt ? formatValByFmt(c.val, c.fmt) : normalizeVal(c.val);
- var o = {};
- o[k] = v;
- return o;
- }).filter(Boolean);
- } catch (e) {
- }
- card.buttons = [];
- if (raw && raw.chg) {
- card.buttons.push({
- id: "change",
- class: "cart-list-setting",
- title: "变动",
- onclick: function () {
- self.openServiceDialog(raw.chg);
- },
- });
- }
- card.onclick = function () {
- if (raw && raw.play) return self.openServiceDialog(raw.play);
- };
- return card;
- }
- var draftList = Array.isArray(ssData.draftList) ? ssData.draftList : [];
- var objList = Array.isArray(ssData.objList) ? ssData.objList : [];
- this.listConfig = this.listConfig || {};
- this.listConfig.draftbox = draftList.map(normalizeCard);
- this.listConfig.list = objList.map(normalizeCard);
- // 功能说明:强制触发一次 listConfig 更新,避免 Vue 不刷新 by xu 20260115
- this.listConfig = Object.assign({}, this.listConfig);
- },
- // 功能说明:缩略图 URL 构建(参考 objList:dlByHttp 直出图片) by xu 20260115
- buildThumbUrl(thn) {
- if (!thn) return "";
- var v = thn;
- try {
- if (typeof thn === "object" && thn.val != null) v = thn.val;
- else if (typeof thn === "object" && thn.value != null) v = thn.value;
- } catch (e) {
- }
- return "/service?ssServ=dlByHttp&type=img&path=" + encodeURIComponent(String(v));
- },
- // 功能说明:拉取 searchFieldList 中 cbName 下拉的 options,并写入 searchFieldOptMap by xu 20260115
- loadSearchFieldOptions() {
- var self = this;
- var list = Array.isArray(this.searchFieldList) ? this.searchFieldList : [];
- if (!list.length) return;
- list.forEach(function (f) {
- if (!f || !f.name || !f.cbName) return;
- if (self.searchFieldOptMap && Array.isArray(self.searchFieldOptMap[f.name]) && self.searchFieldOptMap[f.name].length) return;
- self.callSsService("loadObjpOpt", {
- objectpickerdropdown1: 1,
- cb: f.cbName
- }).then(function (res) {
- var raw = null;
- if (Array.isArray(res)) raw = res;
- else if (res && typeof res === "object") raw = res.ssData || res.data || res.dataArray || null;
- if (!Array.isArray(raw)) raw = [];
- var opts = raw.map(function (it) {
- if (!it || typeof it !== "object") return null;
- var label = it.label != null ? it.label : (it.mc != null ? it.mc : (it.desc != null ? it.desc : ""));
- var value = it.value != null ? it.value : (it.val != null ? it.val : (it.id != null ? it.id : (it.bm != null ? it.bm : "")));
- if (label == null || label === "") label = String(value || "");
- return {label: String(label), value: String(value)};
- }).filter(Boolean);
- self.searchFieldOptMap = Object.assign({}, (self.searchFieldOptMap || {}), {[f.name]: opts});
- });
- });
- },
- // 功能说明:二级对象页面打开服务(兼容 ssToken 与 servName/dest/parm) by xu 20260115
- openServiceDialog(srv) {
- if (!srv) return;
- var ssToken = srv.ssToken;
- var url = "";
- if (ssToken) {
- url = "/service?ssToken=" + encodeURIComponent(String(ssToken));
- } else {
- var servName = srv.servName || srv.service;
- var dest = srv.dest || "";
- var parm = srv.parm || srv.param || "";
- url = "/service?ssServ=" + encodeURIComponent(String(servName || ""));
- if (dest) url += "&ssDest=" + encodeURIComponent(String(dest));
- if (parm) url += "&parm=" + encodeURIComponent(String(parm));
- }
- try {
- console.log("[cobj] openServiceDialog url", url, srv);
- } catch (e) {
- }
- try {
- wd.display.showComponent({
- show: ["wdDialog"],
- url: url,
- title: srv.title || srv.desc || "",
- width: String(srv.width || 880),
- height: String(srv.height || 650),
- minHeight: String(srv.minHeight || 100),
- maxHeight: String(srv.maxHeight || 800),
- showTitle: String(srv.showTitle || false),
- });
- } catch (e) {
- console.log("openServiceDialog failed", e);
- }
- },
- handlePageChange({pageNo, rowNumPer, rowNum}) {
- // 功能说明:二级对象翻页:更新 ssPaging 后重新调用接口刷新列表 by xu 20260115
- this.ssPaging.pageNo = pageNo;
- this.ssPaging.rowNumPer = rowNumPer;
- this.ssPaging.rowNum = rowNum;
- this.loadCobjInit();
- }
- },
- mounted() {
- const self = this;
- // 功能说明:修复“点击所有/管理后页面消失”:禁止 form submit,改为回调 switchScope 走接口刷新 by xu 20260115
- try {
- if (Array.isArray(this.searchButtonConfig)) {
- this.searchButtonConfig = this.searchButtonConfig.map((opt) => Object.assign({}, opt, {callback: () => this.switchScope(opt.id)}));
- }
- } catch (e) {
- }
- // 功能说明:mounted 时先调二级对象接口打印返回,便于对齐字段 by xu 20260115
- this.loadCobjInit();
- // 在这里可以使用 Vue 实例
- Object.entries(this.$data).forEach(([key, value]) => {
- // 处理 objPicker
- if (key.includes('ObjPicker')) {
- const originalKey = key.replace('ObjPicker', '');
- if (value) {
- objPickerLoad(value, key).then(result => {
- if (self.formElemConfig[originalKey]) {
- self.formElemConfig[originalKey].name = originalKey;
- self.formElemConfig[originalKey].options = result;
- }
- });
- }
- }
- }
- );
- }
- });
- } catch (e) {
- console.log("cobjList error:", e)
- }
- });
- tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList: "<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});
- </script>
|