ddpEdit.ss.jsp 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. </head>
  5. <body>
  6. <%-- Start。抄自 cobjList.ss.jsp 查询条件部分。Lin --%>
  7. <%-- dest='$@{currentService.dest}' 改为 'ddpOptList',送到备选框。同时需要加 id="ddpOptionForm"。Lin --%>
  8. <form id="ddpOptionForm" action="<varServ.ss name='${currentService.service}' dest='ddpOptList' parm='${currentService.param}'/>" method="post">
  9. <%-- 去掉隐藏 <input:"isAnd"(${isAnd})、"management"(${management})、"isFulltext"(${isFulltext})。Lin --%>
  10. <%--搜索条件start--%>
  11. <div class="search-div">
  12. <div class="hLine-dashed" style="padding: 15px 25px 12px 25px;">
  13. <%--关键词--%>
  14. <%-- Start 再增加,支持二级对象。Lin --%>
  15. <%-- 再改用 Request."hasPobj",srcPobj 有可能没有查询条件。Lin
  16. <equal@ss val="${empty pFieldList}" val2="false"> --%>
  17. <equal.ss val="${hasPobj}" val2="true">
  18. <rpt.ss name="pFieldList" id="pSearchItem">
  19. <%--codebook 使用select下拉--%>
  20. <equal.ss val="${empty pSearchItem.cbName}" val2="false">
  21. <input type="text" name="${pSearchItem.name}" value="${pSearchItemValue}"/>
  22. <input type="text" name="${pSearchItem.name}Name" placeholder="${pSearchItem.desc}" style="width:${searchItem.width};min-width: 108px;"/>
  23. <equal.ss val="${empty cadcadingInputs[pSearchItem.name]}" val2="true">
  24. <objp.ss name="${pSearchItem.name}" cb="${pSearchItem.cbName}" inp="true"/>
  25. </equal.ss>
  26. </equal.ss>
  27. <%--codebook 使用input输入框--%>
  28. <equal.ss val="${empty pSearchItem.cbName}" val2="true">
  29. <%--日期--%>
  30. <equal.ss val="${pSearchItem.type}" valList="3,11"> <%-- 改 equal:val1="true" val2='${searchItem.type == "time"}'。Lin --%>
  31. <div class="input-inside">
  32. <%--年度--%>
  33. <equal.ss val="${pSearchItem.isDate39}" val2="true">
  34. <input type='hidden' placeholder="${pSearchItem.desc}" name='${pSearchItem.name}'
  35. value='<txt.ss val="${pSearchItemValue}"/>'/>
  36. <date39.ss name="${pSearchItem.name}"/>
  37. </equal.ss>
  38. <%--日期--%>
  39. <equal.ss val="${pSearchItem.isDate39}" val2="false">
  40. <input type='text' autocomplete="off" placeholder="${pSearchItem.desc}" name='${pSearchItem.name}'
  41. value='<txt.ss val="${pSearchItemValue}"/>' format="${pSearchItem.fmt}"/>
  42. <input type="button" ssType="date" ssName="${pSearchItem.name}"/>
  43. </equal.ss>
  44. </div>
  45. </equal.ss>
  46. <%--文本--%>
  47. <notEqual.ss val="${pSearchItem.type}" valList="3,11"> <%-- 改 equal:val1="false" val2='${searchItem.type == "time"}'。Lin --%>
  48. <input name='${pSearchItem.name}' placeholder="${pSearchItem.desc}" type='text'
  49. value='<txt.ss val="${pSearchItemValue}"/>'/>
  50. <input type="hidden" ssType="and" ssName="${pSearchItem.name}"/>
  51. <%--<script>wd.edit.addClearTextButton("${searchItem.name}");</script>--%>
  52. </notEqual.ss>
  53. </equal.ss>
  54. <script>
  55. $("[name=${pSearchItem.name}]").on("change",function(){
  56. selectValue['${pSearchItem.name}']=this.value;//用下拉菜单ID作为key,在全局变量保存下拉菜单选中值
  57. }).trigger("change");
  58. </script>
  59. </rpt.ss>
  60. <rpt.ss name="pCadcadingName" id="pItem">
  61. <ccp.ss name="${pItem}"/>
  62. </rpt.ss>
  63. <equal.ss val="${pHasKeyWord}" val2="true">
  64. <input name="pSsKeyword" value="${pSsKeyword}" type="text" placeholder="关键词"/>
  65. <script>wd.edit.addClearTextButton("pSsKeyword");</script>
  66. </equal.ss>
  67. <%-- 二级对象的 父ID 下拉列表,值来自上面的查询结果。Lin --%>
  68. <select id="pobjSelect" name="ddpSelPobjId" style="width: 200px; padding: 8px;">
  69. <option value="">点击加载...</option>
  70. </select>
  71. <script>
  72. var selectValue = {};//全局保存下拉菜单值的对象(类似map)
  73. // 初始化加载
  74. window.onload = function() {
  75. const select = document.getElementById('pobjSelect');
  76. select.addEventListener("mousedown", function () {
  77. $.ajax({
  78. type: "POST",
  79. url: "<serv.ss name='ss.searchDdpPobj'/>",
  80. data: {
  81. parm: JSON.stringify(${currentService.param}),
  82. pobjSearchKey: JSON.stringify(selectValue)
  83. },
  84. async: true,
  85. dataType: "json",
  86. success: function(data) {
  87. if (data.ssCode != 0) { // 统一 Ajax 返回标准 -- .ssCode、.ssMsg、.ssData。Lin
  88. alert(data.ssMsg);
  89. return;
  90. }
  91. // 加载 一级对象查询结果 到 一级对象下拉列表
  92. select.innerHTML = '';
  93. data.ssData.forEach(item => {
  94. const option = document.createElement('option');
  95. option.value = item.ddpid;
  96. option.textContent = item.ddpdesc;
  97. select.appendChild(option);
  98. })
  99. }
  100. });
  101. });
  102. };
  103. </script>
  104. <%-- --%>
  105. </equal.ss>
  106. <%-- End 再增加,支持二级对象。Lin --%>
  107. <%-- 再去掉 -- 只支持一行。Lin
  108. <rpt.ss name="searchableFields" id="fieldsList">
  109. --%>
  110. <rpt.ss name="fieldsList" id="searchItem">
  111. <%
  112. ss.obj.ObjFieldB f= (ss.obj.ObjFieldB)pageContext.getAttribute("searchItem");
  113. pageContext.setAttribute("searchItemValue",request.getParameter(f.getTitle()));
  114. %>
  115. <%--codebook 使用select下拉--%>
  116. <equal.ss val="${empty searchItem.cbName}" val2="false">
  117. <input type="text" name="${searchItem.name}" value="${searchItemValue}"/>
  118. <input type="text" name="${searchItem.name}Name" placeholder="${searchItem.desc}" style="width:${searchItem.width};min-width: 108px;"/>
  119. <equal.ss val="${empty cadcadingInputs[searchItem.name]}" val2="true">
  120. <objp.ss name="${searchItem.name}" cb="${searchItem.cbName}" inp="true"/>
  121. </equal.ss>
  122. </equal.ss>
  123. <%--codebook 使用input输入框--%>
  124. <equal.ss val="${empty searchItem.cbName}" val2="true">
  125. <%--日期--%>
  126. <equal.ss val="${searchItem.type}" valList="3,11"> <%-- 改 equal:val1="true" val2='${searchItem.type == "time"}'。Lin --%>
  127. <div class="input-inside">
  128. <%--年度--%>
  129. <equal.ss val="${searchItem.isDate39}" val2="true">
  130. <input type='hidden' placeholder="${searchItem.desc}" name='${searchItem.name}'
  131. value='<txt.ss val="${searchItemValue}"/>'/>
  132. <date39.ss name="${searchItem.name}"/>
  133. </equal.ss>
  134. <%--日期--%>
  135. <equal.ss val="${searchItem.isDate39}" val2="false">
  136. <input type='text' autocomplete="off" placeholder="${searchItem.desc}" name='${searchItem.name}'
  137. value='<txt.ss val="${searchItemValue}"/>' format="${searchItem.fmt}"/>
  138. <input type="button" ssType="date" ssName="${searchItem.name}"/>
  139. </equal.ss>
  140. </div>
  141. </equal.ss>
  142. <%--文本--%>
  143. <notEqual.ss val="${searchItem.type}" valList="3,11"> <%-- 改 equal:val1="false" val2='${searchItem.type == "time"}'。Lin --%>
  144. <input name='${searchItem.name}' placeholder="${searchItem.desc}" type='text'
  145. value='<txt.ss val="${searchItemValue}"/>'/>
  146. <input type="hidden" ssType="and" ssName="${searchItem.name}"/>
  147. <%--<script>wd.edit.addClearTextButton("${searchItem.name}");</script>--%>
  148. </notEqual.ss>
  149. </equal.ss>
  150. </rpt.ss>
  151. <%-- 再去掉 -- 只支持一行。Lin
  152. </rpt.ss>
  153. --%>
  154. <rpt.ss name="cadcadingName" id="item">
  155. <ccp.ss name="${item}"/>
  156. </rpt.ss>
  157. <equal.ss val="${hasKeyWord}" val2="true">
  158. <input name="ssKeyword" value="${ssKeyword}" type="text" placeholder="关键词"/>
  159. <script>wd.edit.addClearTextButton("ssKeyword");</script>
  160. </equal.ss>
  161. <input type="submit" name="ssSearch" value="搜索" class="content-invertButton"/>
  162. <%--跨对象搜索隐藏全文按钮--%>
  163. <%-- 再去掉,不会跨对象。Lin
  164. <equal.ss val="${isMultipleObject}" val2="false">
  165. --%>
  166. <%-- "全文" 按钮,"button" 改为 "hidden"。
  167. 原来的会加上 style="display: none;",不知在哪加的???Lin
  168. objList.ss.jsp 里,原来就有 type="hidden"
  169. --%>
  170. <input type="hidden" ssType="fts" ssName="fts" value="全文"/> <%-- wdType="isFulltext" wdName="isFulltext"。Lin --%>
  171. <%-- 再去掉,不会跨对象。Lin
  172. </equal.ss>
  173. --%>
  174. <%--管理按钮start--%>
  175. <%-- 去掉管理按钮。Lin --%>
  176. <%--管理按钮end--%>
  177. <%--翻页--%>
  178. <jsp.ss file="/ss/paging.jsp"/> <%-- 需要翻页。Lin --%>
  179. </div>
  180. <%--管理类别start--%>
  181. <%-- 去掉管理类别:所有、创建、停用。Lin --%>
  182. <%--管理类别end--%>
  183. <%--翻页--%>
  184. <%-- 去掉翻页。Lin
  185. <jsp@ss file="/ss/paging.jsp"/> --%>
  186. </div>
  187. <%--搜索条件end--%>
  188. <%-- End。抄自 cobjList.ss.jsp 查询条件部分。Lin --%>
  189. </form>
  190. <%-- === 拖放选择框。Lin --%>
  191. <%-- action='@service{name:"qz_xg_cy_save",dest:"sys_info"}@'。Lin --%>
  192. <%-- 再改 action=,改用 <对象名>_saveDdp,需要授权。Lin
  193. <form id="myform" action="<serv.ss name='ss.saveDdp' dest='info' parm='{ddpPobjIdVal:"${ddpPobjIdVal}",ddpCobjName:"${ddpCobjName}",ddpSrcObjName:"${ddpSrcObjName}",requestParentViewObject:"${requestParentViewObject}"}'/>" method="POST"> --%>
  194. <form id="myform" action="<varServ.ss name='${ddpSaveServ.name}' dest='info' parm='${ddpSaveServ.parm}'/>" method="POST">
  195. <%-- 先去掉。Lin
  196. <input type="hidden" name="qzid" value="${param.qzid}"/> --%> <%-- value="${param.qzid}" --%>
  197. <input type="hidden" name="ddpSelectedId" value=""/> <%-- name="rySelectedid"。再改为统一的名字 -- 同一页面,不会有多个拖放选择。Lin --%>
  198. <div class="dragList-div" id="container" ssFith="true">
  199. <div class="box">
  200. <p class="label">已选成员<span id="ddpDropAll" class="icon-allRight"></span></p> <%-- "ryDropAll"。Lin --%>
  201. <div class="list-body" style="position: relative;overflow-x: hidden;width: 100%;height: 380px;">
  202. <div id="ddpSelected" style="height: 100%;" ssSelClazz="list-checkedIcon" class="scrollbar"> <%-- "rySelected"。Lin --%>
  203. <rpt.ss name="selList" id="item"> <%-- "yxList"。Lin --%>
  204. <div ssObjId="${item.ddpid}" class="list-background list" style="min-height: 41px;line-height: 41px;width: calc(100% - 4px);box-sizing: border-box;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"> <%-- "$@{item.ryid}"。Lin --%>
  205. <span><txt.ss val="${item.ddpdesc}"/></span> <%-- "$@{item.xm}"。Lin --%>
  206. </div>
  207. </rpt.ss>
  208. </div>
  209. </div>
  210. </div>
  211. <div class="box">
  212. <p class="label">可选成员<span id="ddpPickAll" class="icon-allLeft" ></span></p> <%-- "ryPickAll"。Lin --%>
  213. <div class="list-body" style="position: relative;overflow-x: hidden;width: 100%;height: 380px;">
  214. <div id="ddpOption" style="height: 100%;" ssSelClazz="list-checkedIcon" class="scrollbar"> <%-- "ryOption"。Lin --%>
  215. </div>
  216. </div>
  217. </div>
  218. </div>
  219. <equal.ss val='${dataType == "play" || dataType == "bdplay"}' val2="false">
  220. <div class='bottom-div'>
  221. <div class='bottom-down-div'>
  222. <input type='submit' value='保存' class="bottom-button" />
  223. <input type="button" name="button" onclick="wd.display.closeDialog();" value="取消" class="bottom-button" />
  224. </div>
  225. </div>
  226. </equal.ss>
  227. </form>
  228. <%-- <wd:write type="drag" name="ry" group="true" function="'editOrder'" />。Lin --%>
  229. <drag.ss name="ddp" grp="true" func="editOrder"/> <%-- name="ry"。再改为统一的名字 -- 同一页面,不会有多个拖放选择。Lin --%>
  230. </body>
  231. </html>