objList.jsp 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077
  1. <%@ taglib prefix="ss" uri="/ssTag" %>
  2. <%@ page language="java" pageEncoding="UTF-8" isELIgnored="false" %>
  3. <%@ taglib uri="/ssTag" prefix="ss"%>
  4. <%pageContext.setAttribute("wdpageinformation","{'hastab':'0'}");%>
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta http-equiv="pragma" content="no-cache">
  9. <meta http-equiv="cache-control" content="no-cache">
  10. <meta http-equiv="expires" content="0">
  11. <script>window.loginStatus="${empty sessionScope['ssUser']?'0':'1'}"</script>
  12. <ss:skin file='main.css'/>
  13. <script type="text/javascript" src="/ss/jquery/jquery.js"></script>
  14. <script type="text/javascript" src="/ss/artdialog/artDialogUtil.js"></script>
  15. <script type="text/javascript" src="/ss/js/base.js"></script>
  16. <script> if(!window.wd) var wd={}; if(!wd.display) wd.display={}; wd.display.wdDialogId="objList"; if(!wd.app) wd.app={}; wd.app.name='pms';</script>
  17. <script type="text/javascript" src="/ss/js/masklayer.js"></script>
  18. <script type="text/javascript" src="/ss/js/wdDialogInit.js"></script>
  19. <script type="text/javascript" src="/ss/js/common.js"></script>
  20. <script type="text/javascript" src="/ss/js/display.js"></script>
  21. <script type="text/javascript" src="/ss/js/edit.js"></script>
  22. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.js"></script>
  23. <script type="text/javascript" src="/ss/nicescroll/jquery.nicescroll.iframehelper.min.js"></script>
  24. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhtmlxwindows.css">
  25. <link rel="stylesheet" type="text/css" href="/ss/window/theme/dhx_blue/dhtmlxwindows_dhx_blue.css">
  26. <script type="text/javascript" src="/ss/window/dhtmlxcommon.js"></script>
  27. <script type="text/javascript" src="/ss/window/dhtmlxwindows.js"></script>
  28. <script type="text/javascript" src="/ss/window/dhtmlxcontainer.js"></script>
  29. <script type="text/javascript" src="/ss/js/common.js"></script>
  30. <script type="text/javascript" src="/ss/js/display.js"></script>
  31. <script type="text/javascript" src="/ss/js/edit.js"></script>
  32. <ssDlg setPval="true"/> <%-- setValue="true" close="true"。Lin --%>
  33. <script type="text/javascript" src="/ss/jquery/jquery.ellipsis.js"></script>
  34. <%-- 新UI引入的JS --%>
  35. <script src="/js/load.js"></script> <%-- ="/newUI/ss/js/base.js"。Lin(新UI) --%>
  36. <script src="/js/pageC.js"></script> <%-- 对象变动、修改、查看页,左则选项卡宽度 在里面定义 Ben(20251213) --%>
  37. <%-- 改为 <data@ss name="prt"/>。Lin
  38. <tab@ss name="print" enable="viewobject.funcMap.play.print"/> --%>
  39. <ss:data name='prt'/><%-- 初始化弹出窗口的打印按钮的后台数据 Ben--%>
  40. <%--批量打印--%>
  41. <%-- 去掉,改为 <jsp@ss file="/ss/prtIcon.jsp"/>。Lin
  42. 不用 "wdBatchPrint",统一用 "wdPrint" -- 写在 prtIcon.jsp 里
  43. <equal@ss val="${empty prt}" val2="false">
  44. <script>
  45. $(function(){
  46. try{
  47. var wdDialogId=wd.display.getwdDialogId();
  48. var win=wd.topWindow.dhxWins.window(wdDialogId);
  49. win.button("wdBatchPrint").show();
  50. win.button("wdBatchPrint").onclick=function(){
  51. <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}"/>
  52. }
  53. }catch(e){
  54. console.log(e);
  55. }
  56. })
  57. </script>
  58. </equal@ss>
  59. --%>
  60. <%@include file="/ss/clip/prtIcon.jsp"%><%-- 引入初始化弹出窗口的打印按钮的JS Ben--%>
  61. <script>
  62. window.ss.dom.formElemConfig = window.ss.dom.formElemConfig || {};
  63. </script>
  64. </head>
  65. <body>
  66. <div id="app">
  67. <form class="page-container" id="myForm" action="<ss:serv name='${currentService.service}' dest='${currentService.dest}' parm='${currentService.param}'/>" method="post">
  68. <input type="hidden" name="isAnd" value='${isAnd}'/>
  69. <input name="management" type="hidden" value="${management}"/>
  70. <input name="isFulltext" type="hidden" value="${isFulltext}"/>
  71. <%--搜索条件start--%>
  72. <div class="search-bar">
  73. <ss-breadcrumb></ss-breadcrumb>
  74. <div class="search-bar-contaienr">
  75. <%--新UI 单对象查询翻页end Ben --%>
  76. <%--关键词--%>
  77. <%-- 再去掉 -- 只支持一行。Lin
  78. <ss:rpt name='searchableFields' id='fieldsList'>
  79. --%>
  80. <ss:rpt name='fieldsList' id='searchItem'>
  81. <%
  82. ss.obj.ObjFieldB f= (ss.obj.ObjFieldB)pageContext.getAttribute("searchItem");
  83. pageContext.setAttribute("searchItemValue",request.getParameter(f.name));
  84. %>
  85. <%--codebook 使用select下拉--%>
  86. <ss:equal val='${empty searchItem.cbName}' val2='false'>
  87. <%-- 旧的objecPicker
  88. <input type="text" name="${searchItem.name}" value="${searchItemValue}"/>
  89. <input type="text" name="${searchItem.name}Name" placeholder="${searchItem.desc}" style="width:${searchItem.width};min-width: 108px;"/>
  90. <ss:equal val='${empty cadcadingInputs[searchItem.name]}' val2='true'>
  91. <ss:objp name='${searchItem.name}' cb='${searchItem.cbName}' inp='true' filterField='${searchItem.filterFieldStr}'/>
  92. </ss:equal> --%>
  93. <%-- 新UI --%>
  94. <!-- <ss-objp
  95. v-model="${searchItem.name}"
  96. name="${searchItem.name}"
  97. :options="${searchItem.name}Option"
  98. placeholder="${searchItem.desc}"
  99. width="120"
  100. input="true"
  101. ></ss-objp> -->
  102. <ss-objp
  103. v-model="${searchItem.name}"
  104. name="${searchItem.name}"
  105. :opt="${searchItem.name}Option"
  106. placeholder="${searchItem.desc}"
  107. width="150px"
  108. inp="true"
  109. url="/service?ssServ=loadObjpOpt&objectpickerdropdown1=1"
  110. cb="${searchItem.cbName}"
  111. ></ss-objp>
  112. <script>
  113. /**
  114. * objectPicker(如:性别码)
  115. * optUrl:加载下拉菜单option选项的url
  116. */
  117. window.ss.dom.formElemConfig.${searchItem.name}={desc:'${searchItem.desc}',value:'${searchItemValue}',optUrl:'123456',type: 2};//放当前页面表单元素配置的变量
  118. </script>
  119. </ss:equal>
  120. <%--codebook 使用input输入框--%>
  121. <ss:equal val='${empty searchItem.cbName}' val2='true'>
  122. <%--日期--%>
  123. <ss:equal val='${searchItem.type}' valList='3,11'> <%-- 改 equal:val1='true' val2='${searchItem.type == "time"}'。Lin --%>
  124. <!-- <div class="input-inside"> -->
  125. <%--年度--%>
  126. <%--
  127. <ss:equal val='${searchItem.enrolDate}' val2='true'>
  128. <input type='hidden' placeholder="${searchItem.desc}" name='${searchItem.name}'
  129. value="<ss:txt val='${searchItemValue}'/>"/>
  130. <div><input type="text" name="${searchItem.name}_year" autocomplete="off" />
  131. <input name="${searchItem.name}_month" type="button" value="春季" ssVal="3"/>
  132. <input name="${searchItem.name}_month" type="button" value="秋季" ssVal="9"/>
  133. </div><script>(function(){wd.edit.onoffInit('radio','${searchItem.name}_month','',false,null,null,null,'edit');})();</script>
  134. <script>(function(){
  135. wd.display.initEnrolDate('${searchItem.name}','edit');
  136. })()
  137. </script>
  138. </ss:equal>
  139. --%>
  140. <%--日期--%>
  141. <ss:equal val='${searchItem.type==11}' val2='true'>
  142. <%--<input type='text' autocomplete="off" placeholder="${searchItem.desc}" name='${searchItem.name}'
  143. value='<ss:txt val='${searchItemValue}'/>' format="${searchItem.fmt}"/>
  144. <input type="button" ssType="date" ssName="${searchItem.name}"/>--%>
  145. <!-- <ss-date-picker
  146. v-model="${searchItem.name}"
  147. name="${searchItem.name}"
  148. type="date"
  149. placeholder="${searchItem.desc}"
  150. width="120px"
  151. ></ss-date-picker> -->
  152. <ss-search-date-picker
  153. v-model="${searchItem.name}"
  154. name="${searchItem.name}"
  155. type="date"
  156. placeholder="${searchItem.desc}"
  157. width="100px"
  158. fmt="${searchItem.fmt}"
  159. ></ss-search-date-picker>
  160. <script>
  161. //日期类型(出生日期)
  162. window.ss.dom.formElemConfig.${searchItem.name}={desc:'${searchItem.desc}',value:'${searchItemValue}',type:3, name:'${searchItem.name}'};//放当前页面表单元素配置的变量
  163. </script>
  164. </ss:equal>
  165. <!-- </div> -->
  166. </ss:equal>
  167. <%--文本--%>
  168. <%-- 改 equal:val1='false' val2='${searchItem.type == "time"}'。Lin --%>
  169. <ss:notEqual val='${searchItem.type}' valList='3,11'>
  170. <%--<input name='${searchItem.name}' placeholder="${searchItem.desc}" type='text'
  171. value='<ss:txt val='${searchItemValue}'/>'/>
  172. <input type="hidden" ssType="and" ssName="${searchItem.name}"/>--%>
  173. <%--<script>wd.edit.addClearTextButton("${searchItem.name}");</script>--%>
  174. <ss-search-input
  175. name="${searchItem.name}"
  176. placeholder="${searchItem.desc}"
  177. v-model="${searchItem.name}"
  178. width="100px"
  179. >
  180. </ss-search-input>
  181. </ss:notEqual>
  182. </ss:equal>
  183. </ss:rpt>
  184. <%-- 再去掉 -- 只支持一行。Lin
  185. </ss:rpt>
  186. --%>
  187. <%--
  188. <ss:rpt name='cadcadingName' id='item'>
  189. <ss:ccp name='${item}'/>
  190. </ss:rpt>
  191. --%>
  192. <ss:equal val='${hasKeyWord}' val2='true'>
  193. <%--
  194. <input name="ssKeyword" value="${ssKeyword}" type="text" placeholder="关键词"/>
  195. <script>wd.edit.addClearTextButton("ssKeyword");</script>
  196. --%>
  197. <!-- <ss-search-input
  198. name="ssKeyword"
  199. placeholder="关键词"
  200. v-model="form.keyword"
  201. width="120"
  202. >
  203. </ss-search-input> -->
  204. <ss-search-input
  205. name="ssKeyword"
  206. placeholder="关键词"
  207. v-model="ssKeyword"
  208. width="100px"
  209. @search="search"
  210. >
  211. </ss-search-input>
  212. <script>
  213. //关键词
  214. window.ss.dom.formElemConfig.ssKeyword={value:'${ssKeyword}',name:"ssKeyword",desc:"关键词",type:31};//放当前页面表单元素配置的变量
  215. </script>
  216. </ss:equal>
  217. <ss-search-button
  218. text="所有"
  219. icon-class="nav-icon-search"
  220. :opt="searchButtonConfig"
  221. :check-id="searchButtonConfigCheckId"
  222. ></ss-search-button>
  223. <%-- 新UI 单对象查询 选项卡、翻页start Ben --%>
  224. <ss:equal val='${"1"==isReady && !isMultipleObject}' val2='true'>
  225. <%--
  226. <ss:equal val='${hasScope}' val2='true'>
  227. <ul style="list-style: none;display: inline-block;">
  228. <li ssType="searchScope" ssVal=99>所有</li>
  229. <li ssType="searchScope" ssVal=2>管理</li>
  230. <li ssType="searchScope" ssVal=1>创建</li>
  231. <li ssType="searchScope" ssVal=3>已办</li>
  232. <li ssType="searchScope" ssVal=55>停用</li>
  233. </ul>
  234. </ss:equal>
  235. --%>
  236. </ss:equal>
  237. <%--
  238. <input type="submit" name="ssSearch" value="搜索" class="content-invertButton"/>
  239. --%>
  240. <!-- <ss-search-button text="搜索" @click="console.log('这里改成提交表单')">
  241. </ss-search-button> -->
  242. <script>
  243. <%-- 根按钮(管理按钮) --%>
  244. window.ss.dom.btnElemConfig = window.ss.dom.btnElemConfig || {};
  245. </script>
  246. <%--多对像搜索隐藏全文按钮--%>
  247. <%--
  248. <ss:equal val='${isMultipleObject}' val2='false'>
  249. --%><%--
  250. <input type="hidden" ssType="fts" ssName="fts" value="全文"/>--%> <%-- wdType="isFulltext" wdName="isFulltext"。Lin --%>
  251. <%--</ss:equal>--%>
  252. <%--根按钮(管理按钮)start--%>
  253. <ss:rpt name='buttonList' id='button'>
  254. <ss:auth serv='${button.service}'>
  255. <ss:equal val='${empty button.pluginList}' val2='true'>
  256. <%--
  257. <input type="button" name="${button.name}" value="${button.buttonName}" class="content-button"
  258. 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}"});'/>
  259. --%>
  260. <!-- <ss-search-button
  261. text="${button.name}"
  262. icon-class="nav-icon-add"
  263. ></ss-search-button> -->
  264. <script>
  265. function ${button.id}handleClick() {
  266. wd.display.showComponent({
  267. show:["wdDialog"],
  268. url:"<ss:serv name='${button.service}' dest='${button.dest}' parm='${button.param}'/>",
  269. title:"${button.title}",
  270. width:"${button.width}",
  271. height:"${button.height}",
  272. minHeight:"${button.minHeight}",
  273. maxHeight:"${button.maxHeight+100}",
  274. showTitle:"${button.showTitle}"
  275. });
  276. }
  277. <%-- 实际没用上,注释掉 Ben(20251225)
  278. window.ss.dom.btnElemConfig.${button.id}={
  279. desc:"${button.buttonName}",
  280. id:"${button.id}",
  281. dropOptions:[],
  282. onclick: () => {
  283. 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}"});
  284. }
  285. };
  286. --%>
  287. </script>
  288. <ss-search-button
  289. text="${button.buttonName}"
  290. icon-class="nav-icon-add"
  291. :opt="[]"
  292. :check-id="0"
  293. onclick="${button.id}handleClick()"
  294. ></ss-search-button>
  295. </ss:equal>
  296. <ss:equal val='${empty button.pluginList}' val2='false'>
  297. <ss:rpt name='${button.pluginList}' id='plugin'>
  298. <span style="display:none;" class="${button.id}children" value="${plugin.plugin.desc}"
  299. 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}"});'>
  300. </span>
  301. </ss:rpt>
  302. <%-- <input type="button" id="${button.id}" name="${button.name}" value="${button.buttonName}" class="content-button" onclick='void(0)'/>
  303. <span style=" display:inline-table; width: 60px; ">
  304. <input type="button" id="${button.id}" name="${button.name}" value="${button.buttonName}" class="content-button" onclick='void(0)'/>
  305. <span class="icon-dimPoint" style="margin-right: 7px;margin-top: -25px;position: relative;">
  306. </span>
  307. </span>
  308. <script>wd.display.attachButton("${button.id}","${button.id}children",null,false,true)</script>--%>
  309. <%-- 新UI start Ben --%>
  310. <!-- <ss-search-button
  311. text="${plugin.plugin.desc}"
  312. icon-class="nav-icon-add"
  313. :options="${button.id}DropOptions"
  314. ></ss-search-button> -->
  315. <%-- :opt改为取vue.data中的变量,而不取window.ss.dom.btnElemConfig(因为取不到),onclick改为:onclick xu(20251209) --%>
  316. <ss-search-button
  317. text="${button.buttonName}"
  318. icon-class="nav-icon-add"
  319. :opt="btnElemConfig.${button.id}.dropOptions"
  320. check-id="${management}"
  321. onclick="${button.id}handleClick()"
  322. ></ss-search-button>
  323. <script>
  324. function ${button.id}handleClick() {
  325. 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}"});
  326. }
  327. <%-- 实际没用上,注释掉 Ben(20251225)
  328. window.ss.dom.btnElemConfig.${button.id}={id:"${button.id}",dropOptions:[],
  329. onclick: () => {
  330. 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}"});
  331. }
  332. };
  333. --%>
  334. <%-- 循环生成按钮数组 --%>
  335. <ss:rpt name='${button.pluginList}' id='plugin'>
  336. window.ss.dom.btnElemConfig.${button.id}.dropOptions.push(
  337. {
  338. desc:'${plugin.plugin.desc}',<%-- 按钮名 --%>
  339. callback: function(){
  340. 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}"});
  341. }
  342. }
  343. );
  344. </ss:rpt>
  345. </script>
  346. <%-- 新UI end Ben --%>
  347. </ss:equal>
  348. </ss:auth>
  349. </ss:rpt>
  350. <%--管理按钮end--%>
  351. </div>
  352. </div>
  353. <%-- <div class="search-bar">
  354. <ss-breadcrumb></ss-breadcrumb>
  355. <div class="search-bar-contaienr">
  356. <!-- <ss-objp
  357. v-model="csd"
  358. name="csd"
  359. :options="[{ label: '广东', value: '1' },{ label: '广西', value: '2' }]"
  360. placeholder="省份"
  361. width="150"
  362. input="true"
  363. ></ss-objp> -->
  364. <!-- <ss-search-input
  365. name="keyword"
  366. placeholder="关键词"
  367. v-model="form.keyword"
  368. width="200px"
  369. >
  370. </ss-search-input> -->
  371. <template v-for="item in formElemConfig">
  372. <template v-if="item.type == systemType.SEARCHDATE">
  373. <ss-search-date-picker
  374. v-model="item.value"
  375. :name="item.name"
  376. type="date"
  377. :placeholder="item.desc"
  378. width="100px"
  379. ></ss-search-date-picker>
  380. </template>
  381. <template v-if="item.type == systemType.SEARCHTIME">
  382. <ss-search-date-picker
  383. v-model="item.value"
  384. :name="item.name"
  385. type="time"
  386. :placeholder="item.desc"
  387. width="100px"
  388. ></ss-search-date-picker>
  389. </template>
  390. <template v-if="item.type == systemType.SEARCHDATETIME">
  391. <ss-search-date-picker
  392. v-model="item.value"
  393. :name="item.name"
  394. type="datetime"
  395. :placeholder="item.desc"
  396. width="200px"
  397. ></ss-search-date-picker>
  398. </template>
  399. <template v-if="item.type == systemType.OBJPICKER">
  400. <ss-objp
  401. v-model="item.value"
  402. :name="item.name"
  403. :options="item.options"
  404. :placeholder="item.desc"
  405. width="150"
  406. input="true"
  407. ></ss-objp>
  408. </template>
  409. <template v-if="item.type == systemType.SEARCHINPUT">
  410. <ss-search-input
  411. :name="item.name"
  412. :placeholder="item.desc"
  413. v-model="item.value"
  414. width="100px"
  415. >
  416. </ss-search-input>
  417. </template>
  418. </template>
  419. <ss-search-button
  420. text="所有"
  421. icon-class="nav-icon-search"
  422. :options="searchButtonConfig"
  423. :check-id="searchButtonConfigCheckId"
  424. ></ss-search-button>
  425. <template v-for="item in btnElemConfig">
  426. <ss-search-button
  427. :text="item.desc"
  428. icon-class="nav-icon-add"
  429. :options="item.dropOptions"
  430. :check-id="item.dropOptionsCheckId"
  431. onclick="item.onclick"
  432. ></ss-search-button>
  433. </template>
  434. <!-- <ss-search-button
  435. text="新增(无下拉)"
  436. icon-class="nav-icon-add"
  437. onclick="console.log('点击了')"
  438. ></ss-search-button> -->
  439. </div>
  440. </div> --%>
  441. <%--搜索条件end--%>
  442. <%--个人统计表start${!isMultipleObject}--%>
  443. <ss:equal val='${"1"!=isReady && !isMultipleObject}' val2='true'>
  444. <input name="addgrtjUrl" type="hidden" value='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='addPcht' parm='{"wdConfirmationCaptchaService":"0","dxm":"${ssObjName}","use_grtjmbid":"${use_grtjmbid}"}' dest='pchtSet'/>",title:"挑选统计图指标",width:800,height:580});'/>
  445. <input name="grtjSizeUrl" type="hidden" value="<ss:serv name='savePstatSize' parm='{"wdConfirmationCaptchaService":"0","dxm":"${ssObjName}","grtjSize":"ssVal{grtjSize}","use_grtjmbid":"${use_grtjmbid}"}'/>"/>
  446. <input name="getgrtjJsonUrl" type="hidden" value="<ss:serv name='getgrtjJson' parm='{"wdConfirmationCaptchaService":"0"}'/>"/>
  447. <input name="getEChartData" type="hidden" value="<ss:serv name='wrPchtPlay' parm='{"wdConfirmationCaptchaService":"0"}'/>"/> <%-- name='getEChartData' --%>
  448. <div class="graph scrollbar" style="padding-right: 16px;display: block;width: 100%;height: 100%;overflow: auto;text-align: left;-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none;-khtml-user-select: none;user-select: none;font-size: 0px;box-sizing: border-box;padding:15px 20px">
  449. <ss:rpt name='${grtjList}' id='item'>
  450. <div class="graph-list plugin-invertDiv" grtjid="${item.grtjid}" grtjlbm="${item.grtjlbm}" style="min-width:120px;min-height:65px;width:${item.kd}px;height:${item.gd}px;overflow: auto;position: relative;margin: 2px;" onclick="checkChart(this)">
  451. <ss:equal val='${item.grtjlbm}' val2='1'>
  452. <div class="graph-list-body" id="tjt-${item.grtjid}" style="height:48px;width: 100%;">${item.mc} </div>
  453. <span class="graph-list-mask" style="position: absolute;display: flex;width: 100%;height: 48px;top: 0px;left: 0px;">
  454. <span class="shortcutPlugin-icon plugin-icon" style="margin-left:5px;position: relative;left: 0;top: 0px;width: 48px;height: 48px;" onclick='refreshTjt("${item.grtjid}")'>
  455. </span>
  456. <div style="display:inline-block;position: relative;left: 0;top: 0px;width: 200px;height: 48px;background-color: white;font-size: 16px;font-weight: bold;display: flex;align-items: center;">${item.mc} </div>
  457. <span class="icon-set-statistics" style="position: absolute;right: 0px;top: 0px;width: 48px;height: 48px;"
  458. onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='initPchtSet' parm='{"wdConfirmationCaptchaService":"0","grtjid":"${item.grtjid}","dxm":"${ssObjName}"}' dest='pchtSet'/>",title:"挑选统计图指标",width:800,height:580});'>
  459. </span>
  460. </span>
  461. </ss:equal>
  462. <ss:equal val='${item.grtjlbm}' val2='51'> <%-- 为什么会写成 <ss:equal???Lin --%>
  463. <span class="graph-list-body" style="height:40px;width: 100%;">${item.mc}</span>
  464. <span class="icon-set" style="position: absolute;right: 0px;top: 0px;width: 70px;height: 40px;"
  465. onclick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='initPformSet' parm='{"wdConfirmationCaptchaService":"0","grtjid":"${item.grtjid}","dxm":"${ssObjName}"}' dest='pformSet'/>",title:"挑选统计表",width:800,height:580});'>
  466. </span>
  467. <%-- Start 抄自下方的的原统计表列表。原对象首页的下半部分,已被去掉。Lin --%>
  468. <table class="scrollbar" style="max-height: 100%;width: 100%;">
  469. <tbody style="width: 100%;padding: 0px 16px 0px 11px;box-sizing: border-box;" ssFith='{list:true,rowHeight:35}'>
  470. <ss:rpt name='${item.grtjmxList}' id='item2'>
  471. <tr>
  472. <ss:equal val='${empty item2.page}' val2='true'> <%-- 使用表格模板工具。Lin --%>
  473. <td class="hLine"
  474. onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='stat_tableDesign_bb' parm='{"wdConfirmationCaptchaService":"0","bgmbid":"${item2.bgmbid}"}' dest='bgmb_xsmb'/>",title:"显示模板",width:1010,height:750});'>
  475. </ss:equal>
  476. <ss:equal val='${empty item2.page}' val2='false'> <%-- 高级表格。Lin --%>
  477. <td class="hLine"
  478. onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='${item2.serv}' dest='${item2.page}'/>",title:"${item2.mc}",width:"${item2.width}",height:"${item2.height}",minHeight:"${item2.height}",maxHeight:"${item2.height}",showTitle:"${item2.mc}"});'>
  479. </ss:equal>
  480. <div class="longCardList-info" style="font-size: 0px;display: inline-block;float: left;">
  481. <span class="longCardList-highlight" style="margin-bottom: 3px;">
  482. <a>${item2.mc}</a>
  483. </span>
  484. <div id="${item2.bgmbid}" class="longCardList-dim growHeightDiv" width='750'>
  485. <ss:txt val='${item2.ms}'/>
  486. </div>
  487. <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>
  488. <script type="text/javascript" charset="utf-8" src="/ss/js/display.js"></script>
  489. <script type="text/javascript" charset="utf-8" >
  490. wd.display.initGrowHigh('${item2.bgmbid}','80px',{},null,false);
  491. </script>
  492. <div id="lmms${item2.bgmbid}$" class="longCardList" width='750' height='18px'>
  493. <ss:txt val='${item2.lmms}'/>
  494. </div>
  495. <script type="text/javascript" charset="utf-8" src="/ss/js/growHeight.js"></script>
  496. <script type="text/javascript" charset="utf-8" src="/ss/js/display.js"></script>
  497. <script type="text/javascript" charset="utf-8" >
  498. wd.display.initGrowHigh('lmms${item2.bgmbid}','80px',{},null,false);
  499. </script>
  500. </div>
  501. </td>
  502. </tr>
  503. </ss:rpt>
  504. </tbody>
  505. </table>
  506. </ss:equal>
  507. <%-- <span class="graph-list-resize plugin-drag" style="position: absolute;right: 0px;bottom: 0px;"></span> --%>
  508. <%-- <span class="vLine" style="height: 40px;width: 1px;position: absolute;right: 70px;top: 0px"></span> --%>
  509. <%-- <span class="hLine-highlight" style="width: 100%;height: 0px;position: absolute;top: 40px;left: 0px;"></span> --%>
  510. </div>
  511. </ss:rpt>
  512. <div>
  513. <div class="button icon-add graphButton" style="height: 60px;line-height: 82px;float: right;margin-top: 0px;margin-right: 0px;"
  514. <%-- 再改为 WebC.REQ_objName,避免与数据表里的 对象名 字段重名。用到再确认。Lin
  515. 传到 objList.ss.jsp 的是 ${ssObjName},传给 pformSet 的是 dxm(统计指标.对象名、个人统计.对象名)
  516. onClick='<serv@ss dlg="true" dest="env_search_bgmb_zj" parm="{dxm:&quot;${dxm}&quot;}" title="添加表格模板"/>'> --%>
  517. onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='addPform' parm='{"wdConfirmationCaptchaService":"0","dxm":"${ssObjName}"}' dest='pformSet'/>",title:"设置统计表",width:800,height:580});'>
  518. 增加表
  519. </div>
  520. <div class="button icon-add graphButton" style="height: 60px;float: right;margin-top: 0px;margin-right: 0px;line-height: 82px;"
  521. onClick='wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='addPcht' parm='{"wdConfirmationCaptchaService":"0","dxm":"${ssObjName}","use_grtjmbid":"${use_grtjmbid}"}' dest='pchtSet'/>",title:"设置统计图",width:800,height:580});'>
  522. 增加图</div>
  523. </div>
  524. </div>
  525. </ss:equal>
  526. <%--个人统计表end--%>
  527. <div style="clear: both;"></div>
  528. <script type="text/javascript" src="/ss/js/myEcharts.js"></script>
  529. <script type="text/javascript" src="/ss/env/env_search.js"></script><%-- 旧UI初始化查询列表的js,新UI做好后,要被删掉的 --%>
  530. <%-- 新UI初始化查询列表数据的JS --%>
  531. <script>
  532. window.ss.dom.listConfig = window.ss.dom.listConfig || {};
  533. //二级对象 草稿箱
  534. window.ss.dom.listConfig.draftbox = [];
  535. <%-- 草稿箱start --%>
  536. <ss:rpt name='cgxList' id='item'>
  537. {
  538. let item = {};
  539. window.ss.dom.listConfig.draftbox.push(item);
  540. <%-- 下面的titlexxx是原来td的一个属性,不知道有啥用 --%>
  541. <ss:equal val='${not empty item.service.play && empty item.service.update && empty item.service.change}' val2='true'>
  542. item.titlexxx="${item.service.play.title}";
  543. item.onclick=function (){
  544. 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}"});
  545. };
  546. </ss:equal>
  547. <ss:equal val='${item.service.lbm}' val2='1'>
  548. <ss:equal val='${empty item.service.update}' val2='false'>
  549. item.titlexxx="${item.service.update.title}";
  550. item.onclick=function (){
  551. 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}"});
  552. };
  553. </ss:equal>
  554. </ss:equal>
  555. <ss:equal val='${item.service.lbm}' val2='11'>
  556. <ss:equal val='${empty item.service.change}' val2='false'>
  557. item.titlexxx="${item.service.change.title}";
  558. item.onclick=function (){
  559. 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}"});
  560. };
  561. </ss:equal>
  562. </ss:equal>
  563. item.buttons=[];
  564. <ss:equal val='${item.service.lbm}' val2='1'>
  565. item.buttons.push(
  566. {
  567. class: "cart-list-setting",
  568. title: "增加",
  569. onclick: () => {
  570. console.log("点击了增加");
  571. }
  572. }
  573. );
  574. </ss:equal>
  575. <ss:equal val='${item.service.lbm}' val2='11'>
  576. item.buttons.push(
  577. {
  578. class: "cart-list-setting",
  579. title: "变动",
  580. onclick: () => {
  581. console.log("点击了变动");
  582. }
  583. }
  584. );
  585. </ss:equal>
  586. <ss:equal val='${item.service.lbm}' val2='51'>
  587. item.buttons.push(
  588. {
  589. class: "cart-list-setting",
  590. title: "停用",
  591. onclick: () => {
  592. console.log("点击了停用");
  593. }
  594. }
  595. );
  596. </ss:equal>
  597. <ss:equal val='${item.service.lbm}' val2='55'>
  598. item.buttons.push(
  599. {
  600. class: "cart-list-setting",
  601. title: "启用",
  602. onclick: () => {
  603. console.log("点击了启用");
  604. }
  605. }
  606. </ss:equal>
  607. <ss:equal val='${item.service.lbm}' valList='51,55'>
  608. item.buttons.push(
  609. {
  610. class: "cart-list-setting",
  611. title: "还原",
  612. onclick: () => {
  613. wd.display.showComponent({show:["wdDialog"],url:"<ss:serv name='deleteSq' parm='{"wdConfirmationCaptchaService":"0","sqid":"${item.sqid}"}' dest='info'/>",title:"提示信息",width:715,height:483});
  614. }
  615. }
  616. </ss:equal>
  617. console.log('###item.thumbnail:${item.thumbnail}');
  618. <%--缩略图--%>
  619. <ss:equal val='${empty item.thumbnail}' val2='false'>
  620. <ss:equal val='${item.service.state}' val2='0'>
  621. item.thumb="${sessionScope['ssUser'].skinDir}image/object/default-${item.ssObjName}.png" onerror="javascript:this.src='${sessionScope['ssUser'].skinDir}image/default-photo.png';this.onerror=null;";
  622. </ss:equal>
  623. <ss:notEqual val='${item.service.state}' val2='0'>
  624. item.thumb="<ss:serv name='dlByHttp' parm='{"wdConfirmationCaptchaService":"0","path":"${item.thumbnail.value}","type":"img"}'/>";
  625. </ss:notEqual>
  626. </ss:equal>
  627. <%-- 列标题 --%>
  628. <ss:equal val='${empty item.first}' val2='false'> <%-- 改 equal:val1="true" val2="${not empty item.first}"。Lin --%>
  629. <%--不带codebook--%>
  630. <ss:equal val='${empty item.first.field.cbName}' val2='true'>
  631. item.title="<ss:txt val='${item.first.value}' miniDate='false' fmt='${item.first.field.fmt}'/>";
  632. </ss:equal>
  633. <%--带codebook--%>
  634. <ss:equal val='${empty item.first.field.cbName}' val2='false'>
  635. item.title="<ss:cbTrans cb='${item.first.field.cbName}' val='${item.first.value}'/>";
  636. </ss:equal>
  637. </ss:equal>
  638. <%--列标题:缺标题显示属性start--%>
  639. <ss:equal val='${empty item.first && not empty item.third}' val2='true'>
  640. item.title='';
  641. <ss:rpt name='${item.third}' id='itemList'>
  642. <ss:rpt name='${itemList}' id='item2'>
  643. item.title+='${item2.field.desc}:';
  644. <%--不带codebook--%>
  645. <ss:equal val='${empty item2.field.cbName}' val2='true'>
  646. item.title+='<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/>&nbsp;';
  647. </ss:equal>
  648. <%--带codebook--%>
  649. <ss:equal val='${empty item2.field.cbName}' val2='false'>
  650. item.title+='<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>&nbsp;';
  651. </ss:equal>
  652. </ss:rpt>
  653. </ss:rpt>
  654. </ss:equal>
  655. <%--缺标题显示属性end--%>
  656. <%--正文或摘要--%>
  657. <ss:equal val='${empty item.second}' val2='false'>
  658. item.summary='${item.second.value}';
  659. </ss:equal>
  660. <%-- 列表底部的对象属性(tags) --%>
  661. <ss:equal val='${empty item.first || empty item.third}' val2='false'>
  662. item.tags=[];
  663. <ss:rpt name='${item.third}' id='itemList'>
  664. <ss:rpt name='${itemList}' id='item2'>
  665. {
  666. let v;
  667. <%--不带codebook--%>
  668. <ss:equal val='${empty item2.field.cbName}' val2='true'>
  669. v='<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/>';
  670. </ss:equal>
  671. <%--带codebook--%>
  672. <ss:equal val='${empty item2.field.cbName}' val2='false'>
  673. v='<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>';
  674. </ss:equal>
  675. item.tags.push({'${item2.field.desc}':v});
  676. }
  677. </ss:rpt>
  678. </ss:rpt>
  679. </ss:equal>
  680. <%-- 对象变动前后属性列表 --%>
  681. item.changeItems=[];
  682. <ss:rpt name='${item.forth}' id='item3'>
  683. item.changeItems.push({name:'${item3.name}',oldValue:'${item3.oldValue}',newValue:'${item3.newValue}'});
  684. </ss:rpt>
  685. }
  686. </ss:rpt>
  687. <%-- 草稿箱end --%>
  688. //在用或停用的对象列表
  689. window.ss.dom.listConfig.list = [];
  690. <ss:rpt name='objectList' id='item'><%-- 循环一次生成一行列表 start --%>
  691. {
  692. let item = {};//列表的其中一行的属性
  693. window.ss.dom.listConfig.list.push(item);
  694. <ss:equal val='${item.service.state}' val2='0'><%-- 借阅 --%>
  695. item.onclick=function(){
  696. 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});
  697. }
  698. </ss:equal>
  699. <ss:equal val='${empty item.service.play}' val2='false'><%-- 有权查看,不需要借阅的情况 --%>
  700. item.titlexxx="${item.service.play.title}";
  701. item.onclick=function(){
  702. wd.display.showComponent({getSize:1,width:((${item.service.play.width}+DOM_SIZE_objInfoTabWidth)+""),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}",height:"${item.service.play.height}",minHeight:"${item.service.play.minHeight}",maxHeight:"${item.service.play.maxHeight}"});
  703. }
  704. </ss:equal>
  705. <ss:equal val='${empty item.thumbnail}' val2='false'><%-- 缩略图 --%>
  706. <ss:equal val='${item.service.state}' val2='0'><%-- 借阅 --%>
  707. item.thumb="${sessionScope['ssUser'].skinDir}image/object/default-${item.ssObjName}.png";
  708. </ss:equal>
  709. <ss:notEqual val='${item.service.state}' val2='0'>
  710. console.log('@@@图片:${item.thumbnail.value}');
  711. item.thumb="<ss:serv name='dlByHttp' parm='{"wdConfirmationCaptchaService":"0","path":"${item.thumbnail.value}","type":"img"}'/>";
  712. </ss:notEqual>
  713. </ss:equal>
  714. <%-- 标题 --%>
  715. <ss:equal val='${empty item.first}' val2='false'> <%-- 改 equal:val1="true" val2="${not empty item.first}"。Lin --%>
  716. <%--不带codebook--%>
  717. <ss:equal val='${empty item.first.field.cbName}' val2='true'>
  718. item.title="<ss:txt val='${item.first.value}' miniDate='false' fmt='${item.first.field.fmt}'/>";
  719. </ss:equal>
  720. <%--带codebook--%>
  721. <ss:equal val='${empty item.first.field.cbName}' val2='false'>
  722. item.title="<ss:cbTrans cb='${item.first.field.cbName}' val='${item.first.value}'/>";
  723. </ss:equal>
  724. </ss:equal>
  725. <%--缺标题显示属性当标题start--%>
  726. <ss:equal val='${empty item.first && not empty item.third}' val2='true'>
  727. item.title='';
  728. <ss:rpt name='${item.third}' id='itemList'>
  729. <ss:rpt name='${itemList}' id='item2'>
  730. item.title+='${item2.field.desc}:';<%--属性名--%>
  731. <%--不带codebook--%><%--属性值--%>
  732. <ss:equal val='${empty item2.field.cbName}' val2='true'>
  733. item.title+="<ss:txt val='${item2.value}' fmt='${item2.field.fmt}' miniDate='false'/>&nbsp;";
  734. </ss:equal>
  735. <%--带codebook--%><%--属性值--%>
  736. <ss:equal val='${empty item2.field.cbName}' val2='false'>
  737. item.title+="<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>&nbsp;";
  738. </ss:equal>
  739. </ss:rpt>
  740. </ss:rpt>
  741. </ss:equal>
  742. <%--缺标题显示属性当标题end--%>
  743. <%-- 摘要 --%>
  744. <ss:equal val='${empty item.second}' val2='false'>
  745. item.summary = '${item.second.value}';
  746. </ss:equal>
  747. <%-- 列表底部的对象标签组 --%>
  748. item.tags=[];<%-- 提到条件外面 Ben(20251230) --%>
  749. <ss:equal val='${empty item.first || empty item.third}' val2='false'>
  750. <%--item.tags=[]; 提到条件外面,不然列表报 Mount failed:TypeError: Cannot read properties of undefined (reading 'map') Ben(20251230) --%>
  751. <ss:rpt name='${item.third}' id='itemList'>
  752. <ss:rpt name='${itemList}' id='item2'>
  753. {
  754. let v;
  755. <%--不带codebook--%>
  756. <ss:equal val='${empty item2.field.cbName}' val2='true'>
  757. v='<ss:txt val='${item2.value}' miniDate='false' fmt='${item2.field.fmt}'/>';
  758. </ss:equal>
  759. <%--带codebook--%>
  760. <ss:equal val='${empty item2.field.cbName}' val2='false'>
  761. v='<ss:cbTrans cb='${item2.field.cbName}' val='${item2.value}'/>';
  762. </ss:equal>
  763. item.tags.push({${item2.field.desc}:v});
  764. }
  765. </ss:rpt>
  766. </ss:rpt>
  767. </ss:equal>
  768. <%--按钮--%>
  769. <ss:equal val='${empty item.service.btnList}' val2='false'>
  770. item.buttons=[];
  771. <ss:rpt name='${item.service.btnList}' id='btn'>
  772. item.buttons.push(
  773. {
  774. id:"${btn.btnID}",
  775. titlexxx:"${btn.title}",
  776. class: "cart-list-setting",
  777. title: "${btn.name}",
  778. onclick: () => {
  779. <%--列表的变动按钮就在这里,下面的width会根据不同业务对象而不同
  780. 弹窗参数加上getSize=1,使showComponent弹窗方法不再通过ajax从后台取宽高 --%>
  781. wd.display.showComponent({getSize:1,width:((${btn.width}+DOM_SIZE_objInfoTabWidth)+""),show:["wdDialog"],url:"<ss:serv name='${btn.service}' dest='${btn.dest}' parm='${btn.param}'/>",title:"${btn.title}",height:"${btn.height}",minHeight:"${btn.minHeight}",maxHeight:"${btn.maxHeight}"});
  782. }
  783. }
  784. );
  785. <%--
  786. <ss:equal val='${index}' val2='0'>
  787. </ss:equal>
  788. <ss:notEqual val='${index}' val2='0'>
  789. </ss:notEqual>
  790. 改为不区分是否第1个变动按钮,都输出相同json数据 --%>
  791. </ss:rpt>
  792. </ss:equal>
  793. }
  794. </ss:rpt><%-- 循环一次生成一行列表 end --%>
  795. </script>
  796. <%--搜索结果start--%>
  797. <div class="content-area item-content-area" style="gap: 20px">
  798. <template v-for="(item, i) in listConfig.draftbox" :key="i">
  799. <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
  800. <ss-list-card v-else :item="item"></ss-list-card>
  801. </template>
  802. <template v-for="(item, i) in listConfig.list" :key="i">
  803. <ss-folder-card v-if="item.children" :item="item"></ss-folder-card>
  804. <ss-list-card v-else :item="item"></ss-list-card>
  805. </template>
  806. <ss-page
  807. v-show="${ssPaging.rowNum}"
  808. :total="${ssPaging.rowNum==null?0:ssPaging.rowNum}"
  809. :size="${ssPaging.rowNumPer==null?wdRowCountPerPage:ssPaging.rowNumPer}"
  810. :page="${ssPaging.pageNo==null?1:ssPaging.pageNo}"
  811. @change="handlePageChange" >
  812. </ss-page>
  813. </div>
  814. </form>
  815. </div>
  816. </body>
  817. </html>
  818. <script type="module">
  819. <%-- 打印新UI相关json对象 --%>
  820. function objectPickMockAjax(url) {
  821. return new Promise((resolve) => {
  822. setTimeout(() => {
  823. resolve([
  824. { label: '学校领导', value: '190'},
  825. { label: '业务部', value: '101241' },
  826. { label: '男', value: '1' },
  827. { label: '女', value: '2' }
  828. ]);
  829. }, 1000);
  830. });
  831. }
  832. // 定义 objPickerLoad 函数
  833. async function objPickerLoad(url, optionsName) {
  834. const result = await objectPickMockAjax(url);
  835. return result;
  836. }
  837. window.ss.dom.formElemConfig.testtime = {
  838. type: '34',
  839. desc: '时间',
  840. name: 'testtime',
  841. value: '',
  842. };
  843. window.ss.dom.formElemConfig.testdatetime = {
  844. type: '35',
  845. desc: '日期时间',
  846. name: 'testdatetime',
  847. value: '',
  848. };
  849. console.log(window.ss.dom.formElemConfig);
  850. const data = {
  851. systemType: window.ss.dom.TYPE,
  852. listConfig:window.ss.dom.listConfig,
  853. formElemConfig:window.ss.dom.formElemConfig,
  854. <%-- 实际没用上,注释掉 Ben(20251225) btnElemConfig:window.ss.dom.btnElemConfig, --%>
  855. searchButtonConfigCheckId:'${management}',
  856. searchButtonConfig:[
  857. {
  858. id:"99",
  859. desc: "所有",
  860. callback: () => {
  861. $("[name=pageNo]").val('1');
  862. $("[name=management]").val('99');
  863. $("#myForm").submit();
  864. },
  865. },
  866. {
  867. id:"2",
  868. desc: "管理",
  869. callback: () => {
  870. $("[name=pageNo]").val('1');
  871. $("[name=management]").val('2');
  872. $("#myForm").submit();
  873. },
  874. },
  875. {
  876. id:"1",
  877. desc: "创建",
  878. callback: () => {
  879. $("[name=pageNo]").val('1');
  880. $("[name=management]").val('1');
  881. $("#myForm").submit();
  882. },
  883. },
  884. {
  885. id:"3",
  886. desc: "已办",
  887. callback: () => {
  888. $("[name=pageNo]").val('1');
  889. $("[name=management]").val('3');
  890. $("#myForm").submit();
  891. },
  892. },
  893. {
  894. id:"55",
  895. desc: "停用",
  896. callback: () => {
  897. $("[name=pageNo]").val('1');
  898. $("[name=management]").val('55');
  899. $("#myForm").submit();
  900. },
  901. },
  902. ],
  903. }
  904. if (window.ss.dom.formElemConfig) {
  905. Object.entries(window.ss.dom.formElemConfig).forEach(([key, config]) => {
  906. data[key] = config.value;
  907. // 处理 objPicker
  908. if (config.type === window.ss.dom.TYPE.OBJPICKER) {
  909. data[key + "ObjPicker"] = true;
  910. data[key + "Option"] = [];
  911. data[key + "Url"] = config.optUrl;
  912. }
  913. })
  914. }
  915. console.log('data:'+JSON.stringify(data));
  916. SS.ready(function () {
  917. window.ss.dom.initializeFormApp({
  918. el: "#app",
  919. data(){
  920. return data;
  921. },
  922. methods: {
  923. handlePageChange({pageNo, rowNumPer, rowNum}) {
  924. // 更新隐藏表单值
  925. document.getElementsByName('pageNo')[0].value = pageNo;
  926. document.getElementsByName('rowNumPer')[0].value = rowNumPer;
  927. document.getElementsByName('rowNum')[0].value = rowNum;
  928. // 提交表单
  929. document.getElementById('myForm').submit();
  930. },
  931. search(){
  932. document.getElementById('myForm').submit();
  933. }
  934. },
  935. mounted(){
  936. const self = this;
  937. // 在这里可以使用 Vue 实例
  938. Object.entries(this.$data).forEach(([key, value]) => {
  939. // 处理 objPicker
  940. if (key.includes('ObjPicker')) {
  941. const originalKey = key.replace('ObjPicker', '');
  942. if (value) {
  943. objPickerLoad(value, key).then(result => {
  944. if(self.formElemConfig[originalKey]) {
  945. self.formElemConfig[originalKey].name = originalKey;
  946. self.formElemConfig[originalKey].options = result;
  947. }
  948. });
  949. }
  950. }
  951. });
  952. }
  953. });
  954. });
  955. <%-- 原有的清令牌 --%>
  956. tokenCleanser("<ss:serv name='ss.clearPageToken'/>", {tokenList:"<%= pageContext.getAttribute(ss.page.PageC.PAGE_tokenList)%>"});
  957. </script>