park-detail.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>详情页</title>
  5. <!--#include file="common/_header.html"-->
  6. <style>
  7. .flex-list{
  8. display: flex;
  9. flex-direction:row;
  10. overflow: auto;
  11. flex-wrap: wrap;
  12. }
  13. .flex-list div{
  14. white-space: nowrap;
  15. min-width:150px;
  16. height:20px;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <article id="app" class="page-container">
  22. <form class="form form-horizontal" id="form1">
  23. <input type="hidden" class="input-text" id="parkId" name="parkId">
  24. <div class="row cl">
  25. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>园区名称:</label>
  26. <div class="formControls col-xs-8 col-sm-9">
  27. <input type="text" class="input-text" id="title" name="title">
  28. </div>
  29. </div>
  30. <!-- <div class="row cl">
  31. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>园区介绍:</label>
  32. <div class="formControls col-xs-8 col-sm-9">
  33. <textarea type="text" class="textarea" id="details" name="details" style="height:300px"></textarea>
  34. </div>
  35. </div>-->
  36. <div class="row cl">
  37. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>园区办公室:</label>
  38. <div class="formControls col-xs-8 col-sm-9 skin-minimal flex-list">
  39. <div v-for="item,index in adminList">
  40. <input name="checkedAdmins" type="checkbox" v-model="checkedAdmins" :value="item.id"/>
  41. {{item.realName}}
  42. </div>
  43. </div>
  44. </div>
  45. <div class="row cl">
  46. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>园区单位:</label>
  47. <div class="formControls col-xs-8 col-sm-9 skin-minimal flex-list">
  48. <div v-for="item,index in orgList">
  49. <input name="checkedOrgs" type="checkbox" v-model="checkedOrgs" :value="item.orgId"/>
  50. {{item.orgName}}
  51. </div>
  52. </div>
  53. </div>
  54. <div v-show="showTown" class="row cl">
  55. <label class="form-label col-xs-4 col-sm-3">相关乡镇场:</label>
  56. <div class="formControls col-xs-8 col-sm-9 skin-minimal flex-list">
  57. <div v-for="item,index in townList">
  58. <input name="checkedTowns" type="checkbox" v-model="checkedTowns" :value="item.townId"/>
  59. {{item.townName}}
  60. </div>
  61. </div>
  62. </div>
  63. <div class="row cl">
  64. <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>顺序编号:</label>
  65. <div class="formControls col-xs-8 col-sm-9">
  66. <input type="number" class="input-text" id="orderId" name="orderId" value="0">
  67. </div>
  68. </div>
  69. <div class="row cl">
  70. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
  71. <input class="btn btn-primary radius" type="submit" value="提交">
  72. </div>
  73. </div>
  74. </form>
  75. </article>
  76. <!--_footer 作为公共模版分离出去-->
  77. <!--#include file="common/_footer.html"-->
  78. <!--/_footer 作为公共模版分离出去-->
  79. <!--请在下方写此页面业务相关的脚本-->
  80. <script type="text/javascript" src="lib/jquery.validation/1.14.0/jquery.validate.js"></script>
  81. <script type="text/javascript" src="lib/jquery.validation/1.14.0/validate-methods.js"></script>
  82. <script type="text/javascript" src="lib/jquery.validation/1.14.0/messages_zh.js"></script>
  83. <script type="text/javascript" src="scripts/global.js"></script>
  84. <!-- select2 start-->
  85. <link rel="stylesheet" type="text/css" href="lib/select2/select2.min.css" />
  86. <script src="lib/select2/select2.full.js" type="text/javascript"></script>
  87. <script src="lib/select2/select2.zh-CN.js" type="text/javascript"></script>
  88. <script src="lib/vue/vue.js"></script>
  89. <!-- select2 end -->
  90. <script type="text/javascript">
  91. var path = global_backend_url;
  92. var remoteUrl = "";
  93. $(document).ready(function(){
  94. $("#form1").validate({
  95. rules:{
  96. title:{
  97. required:true
  98. },
  99. details:{
  100. required:true
  101. },
  102. orderId:{
  103. // required:true,
  104. checkedZZS:true
  105. }
  106. },
  107. onkeyup:false,
  108. focusCleanup:true,
  109. success:"valid",
  110. submitHandler:function(form){
  111. var loadingIndex = layer.load(1,{shade:[0.5,'#fff']});
  112. $(form).ajaxSubmit({
  113. type: 'post',
  114. url: remoteUrl,
  115. success: function(data){
  116. layer.close(loadingIndex);
  117. if(data.result){
  118. layer.msg('保存成功!',{icon:1,time:1000});
  119. var index = parent.layer.getFrameIndex(window.name);
  120. if(index>=0){
  121. parent.reloadList();
  122. parent.layer.close(index);
  123. }
  124. }
  125. else{
  126. layer.msg(data.message + "",{icon:1,time:1000});
  127. }
  128. },
  129. error: function(XmlHttpRequest, textStatus, errorThrown){
  130. layer.msg('error!',{icon:1,time:1000});
  131. }
  132. });
  133. }
  134. });
  135. $.validator.addMethod("checkedZZS",function(value,element,params){
  136. var checkedZZS = /^[1-9]\d*$/;
  137. return this.optional(element)||(checkedZZS.test(value));
  138. },"请输入正整数");
  139. });
  140. var vm = new Vue({
  141. el: "#app",
  142. data : {
  143. adminList:[],
  144. orgList:[],
  145. townList:[],
  146. checkedAdmins:[],
  147. checkedOrgs:[],
  148. checkedTowns:[],
  149. showTown: false,
  150. townOrgId:''
  151. },
  152. watch : {
  153. checkedOrgs:function(newVal,oldVal){
  154. if(newVal.indexOf(this.townOrgId)>=0){
  155. this.showTown = true;
  156. }
  157. else{
  158. this.showTown = false;
  159. }
  160. }
  161. },
  162. mounted: function(){
  163. var self = this;
  164. //获取url中传参
  165. var id = getQueryString("id");
  166. var needLoad = false;
  167. remoteUrl = path + "/park/add";
  168. if(id!=null && id.length>0){
  169. remoteUrl = path + "/park/update";
  170. needLoad = true;
  171. }
  172. //读取所有园区办关联账户
  173. $.get(path + "/jpAdmin/findAdminListByRoleName",
  174. {
  175. roleDesc : "YQB"
  176. },function(jsonData){
  177. self.adminList = jsonData.data;
  178. },"json").then(function(){
  179. //读取所有单位
  180. return $.get(path + "/org/allList",null,function(jsonData){
  181. self.orgList= jsonData.data;
  182. },"json");
  183. },"json").then(function(){
  184. var towns = self.orgList.filter(function(org){
  185. return org.orgName=='相关乡镇场';
  186. });
  187. if(towns.length>0){
  188. self.townOrgId = towns[0].orgId;
  189. }
  190. //读取乡镇场对应的具体单位
  191. return $.post(path + "/jpAdmin/findDepartmentByOrgId",{
  192. orgId: self.townOrgId
  193. },function(jsonData){
  194. self.townList = jsonData.data;
  195. },"json");
  196. }).then(function(){
  197. if(needLoad){
  198. var loadingIndex = layer.load(1, {shade: [0.1,'#fff']});
  199. $.get(path + "/park/detail/" + id,null, function(json){
  200. layer.close(loadingIndex);
  201. if(json.result){
  202. json2Form(json.data,"form1");
  203. self.checkedAdmins = json.data.parkAdminList.map(function(item){
  204. return item.adminId;
  205. });
  206. self.checkedOrgs = json.data.parkOrgList.map(function(item){
  207. return item.orgId;
  208. });
  209. self.checkedTowns = json.data.parkTownList.map(function(item){
  210. return item.orgId + "|" + item.name;
  211. });
  212. }
  213. else{
  214. layer.msg(json.message);
  215. }
  216. },"json");
  217. }
  218. });
  219. }
  220. });
  221. </script>
  222. <!--/请在上方写此页面业务相关的脚本-->
  223. </body>
  224. </html>