editSubInfo.jsp 71 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409
  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8" %>
  3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  4. <!DOCTYPE html>
  5. <html>
  6. <head>
  7. <jsp:include page="../../common/common-meta-include.jsp"></jsp:include>
  8. <jsp:include page="../../common/common-js-include.jsp"></jsp:include>
  9. <jsp:include page="../../common/common-css-include.jsp"></jsp:include>
  10. <!--[if lt IE 9]>
  11. <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  12. <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  13. <![endif]-->
  14. <style type="text/css">
  15. .layui-colla-content {
  16. border-width: 0px;
  17. left: 11px;
  18. top: 0px;
  19. width: -webkit-fill-available;
  20. height: 522px;
  21. background: inherit;
  22. background-color: rgba(255, 255, 255, 0.996078431372549);
  23. border: none;
  24. border-radius: 12px;
  25. -moz-box-shadow: none;
  26. -webkit-box-shadow: none;
  27. box-shadow: none;
  28. }
  29. .table_box h2 {
  30. margin-left: 30px;
  31. margin-top: 20px;
  32. height: 25px;
  33. width: 200px;
  34. font-size: 16px;
  35. color: #1c56a3;
  36. }
  37. #addAmt {
  38. font-size: 50px;
  39. }
  40. .layui-form-label {
  41. color: #6E6F80 !important;
  42. }
  43. .layui-colla-content {
  44. background: none;
  45. padding: 10px 0;
  46. }
  47. .layui-form-label {
  48. width: 130px;
  49. text-align: justify;
  50. text-align-last: justify;
  51. display: flex;
  52. justify-content: end;
  53. align-items: center;
  54. color: #666;
  55. padding: 9px 15px;
  56. }
  57. .layui-input {
  58. height: 38px;
  59. }
  60. .layui-input-block {
  61. display: flex;
  62. width: auto;
  63. }
  64. .layui-layout-admin {
  65. padding: 20px 40px;
  66. }
  67. .layui-show {
  68. height: auto;
  69. border: none;
  70. }
  71. .layui-input-block xm-select {
  72. height: 38px !important;
  73. }
  74. .layui-table-body .layui-table-cell {
  75. /*padding: 10px !important;*/
  76. }
  77. .layui-table-cell {
  78. height: 42px !important;
  79. line-height: 42px;
  80. }
  81. /*.table_box .layui-form{*/
  82. /* width: 90.2%;*/
  83. /*}*/
  84. </style>
  85. </head>
  86. <body>
  87. <div id="app"></div>
  88. <input type="hidden" id="id" value="${id}"/>
  89. <template id="template">
  90. <div>
  91. <div class="right_title">
  92. <%-- <div class="btn_group">--%>
  93. <%-- <button class="btn btn1" :class="{active: tabActive === 1}" @click="onChangeActive(1)">项目信息</button>--%>
  94. <%-- <button class="btn btn2" :class="{active: tabActive === 2}" @click="onChangeActive(2)">监管单位</button>--%>
  95. <%-- </div>--%>
  96. <div class="layui-collapse">
  97. <div class="layui-colla-item">
  98. <h2 class="layui-colla-title return">
  99. <button class="btn" @click="addManage" v-if="tabActive === 2"
  100. style="margin: 0 10px 0 0; padding: 3px 8px 5px; background: #3362c9"><i
  101. class="layui-icon layui-icon-addition"></i>新增监管单位
  102. </button>
  103. <button class="btn" @click="closeWin">返回</button>
  104. </h2>
  105. </div>
  106. </div>
  107. </div>
  108. <form class="layui-form" lay-filter="formData" style="padding: 0 20px">
  109. <div class="layui-colla-content layui-show" style="height: auto;">
  110. <div class="table_box">
  111. <%-- <div class="layui-row">
  112. <h2>项目基本情况</h2>
  113. </div>--%>
  114. <div class="layui-row">
  115. <div class="layui-col-xs6 layui-col-sm6">
  116. <div class="layui-form-item">
  117. <label class="layui-form-label required"
  118. >项目代码</label>
  119. <div class="layui-input-block">
  120. <input type="text" required lay-verify="required" placeholder="请输入"
  121. autocomplete="off" class="layui-input" v-model="subInfo.subCode">
  122. </div>
  123. </div>
  124. </div>
  125. <div class="layui-col-xs6 layui-col-sm6">
  126. <div class="layui-form-item">
  127. <label class="layui-form-label required">项目名称</label>
  128. <div class="layui-input-block">
  129. <input type="text" required lay-verify="required" placeholder="请输入"
  130. autocomplete="off" class="layui-input" v-model="subInfo.subName">
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. <div class="layui-row">
  136. <div class="layui-col-xs6 layui-col-sm6">
  137. <div class="layui-form-item">
  138. <label class="layui-form-label required">建设性质</label>
  139. <div class="layui-input-block">
  140. <select lay-verify="required" lay-filter="status" v-model="subInfo.status">
  141. <option value="">请选择</option>
  142. <c:forEach items="${JSXZ}" var="js">
  143. <option value="${js.code }">${js.title }</option>
  144. </c:forEach>
  145. </select>
  146. </div>
  147. </div>
  148. </div>
  149. <div class="layui-col-xs6 layui-col-sm6">
  150. <div class="layui-form-item">
  151. <label class="layui-form-label required"
  152. >所属行业</label>
  153. <div class="layui-input-block">
  154. <select lay-verify="required" id="indusKind" lay-search="" name="indusKind"
  155. v-model="subInfo.indusKind" lay-filter="indusKind">
  156. <option value="">请选择</option>
  157. <c:forEach items="${HYFL }" var="hy">
  158. <option value="${hy.id }">${hy.title}</option>
  159. </c:forEach>
  160. </select>
  161. </div>
  162. </div>
  163. </div>
  164. <div class="layui-col-xs6 layui-col-sm6">
  165. </div>
  166. <div class="layui-col-xs6 layui-col-sm6">
  167. <div class="layui-form-item">
  168. <label class="layui-form-label required"
  169. >项目所在地</label>
  170. <div class="layui-input-block">
  171. <select lay-verify="required" v-model="subInfo.subjectId" lay-filter="subjectId"
  172. id="subjectId">
  173. <option value="">请选择</option>
  174. <c:forEach items="${JSDD }" var="dd">
  175. <option value="${dd.code }" ztdw="${dd.unitId}">${dd.title }</option>
  176. </c:forEach>
  177. </select>
  178. </div>
  179. </div>
  180. </div>
  181. <div class="layui-col-xs6 layui-col-sm6">
  182. <div class="layui-form-item">
  183. <label class="layui-form-label required"
  184. >项目单位</label>
  185. <div class="layui-input-block">
  186. <select lay-verify="required" lay-search="" v-model="subInfo.unitId"
  187. lay-filter="unitId" id="unitId">
  188. <c:forEach items="${allUnit }" var="un">
  189. <option value="${un.id }" nameLead="${un.nameLead}"
  190. tel="${un.tel}">${un.title }</option>
  191. </c:forEach>
  192. </select>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. <div class="layui-row">
  198. <div class="layui-col-xs12 layui-col-sm12">
  199. <div class="layui-form-item">
  200. <label class="layui-form-label required"
  201. >建设内容及规模</label>
  202. <div class="layui-input-block">
  203. <textarea required lay-verify="required" autocomplete="off" class="layui-textarea"
  204. v-model="subInfo.content"></textarea>
  205. </div>
  206. </div>
  207. </div>
  208. </div>
  209. <%-- <div class="layui-row">
  210. <div class="layui-col-xs6 layui-col-sm6">
  211. <div class="layui-form-item">
  212. <label class="layui-form-label" >备注</label>
  213. <div class="layui-input-block">
  214. <input type="text" placeholder="" autocomplete="off" class="layui-input"
  215. v-model="subInfo.remark">
  216. </div>
  217. </div>
  218. </div>
  219. </div>--%>
  220. <div class="layui-row">
  221. <h2 style="width: 80%;background-color: #EDE9EC;margin-bottom: 20px;margin-top: 20px">资金信息</h2>
  222. </div>
  223. <div class="layui-row">
  224. <div class="layui-col-xs6 layui-col-sm6">
  225. <div class="layui-form-item">
  226. <label class="layui-form-label required"
  227. >投资类型</label>
  228. <div class="layui-input-block">
  229. <select lay-verify="required" lay-filter="kindNature" v-model="subInfo.kindNature">
  230. <option value="">请选择</option>
  231. <c:forEach items="${TZXZ }" var="tz">
  232. <option value="${tz.code }">${tz.title }</option>
  233. </c:forEach>
  234. </select>
  235. </div>
  236. </div>
  237. </div>
  238. <%-- <div class="layui-col-xs6 layui-col-sm6" style="display: none;">
  239. <div class="layui-form-item">
  240. <label class="layui-form-label required" >年度计划投资金额(万元)</label>
  241. <div class="layui-input-block">
  242. <input type="number" placeholder="请输入" autocomplete="off" class="layui-input"
  243. v-model="subInfo.amtYear">
  244. </div>
  245. </div>
  246. </div>--%>
  247. </div>
  248. <%-- <div class="layui-row">
  249. <div class="layui-col-xs6 layui-col-sm6">
  250. <div class="layui-form-item">
  251. <label class="layui-form-label required" style="width: 186px;margin-left: 30px;">项目资金来源(万元)</label>
  252. <div class="layui-input-block">
  253. <span id="addAmt" @click="addAmt" class="layui-btn layui-btn-sm layui-btn-normal">
  254. <i class="layui-icon">&#xe654;</i>
  255. </span>
  256. </div>
  257. </div>
  258. </div>
  259. </div>--%>
  260. <%-- <div class="layui-row">
  261. <div class="layui-col-xs12 layui-col-sm12">
  262. <div class="layui-form-item">
  263. <label class="layui-form-label"
  264. style="width: 186px;margin-left: 30px;color: transparent !important;;">总投资金额(万元)</label>
  265. <div class="layui-input-block">
  266. <table class="layui-table" id="amtSource" lay-filter="amtSource"
  267. style="width: 0"></table>
  268. </div>
  269. </div>
  270. </div>
  271. </div>--%>
  272. <div class="layui-row">
  273. <div class="layui-col-xs6 layui-col-sm6">
  274. <div class="layui-form-item">
  275. <label class="layui-form-label required">总投资金额(万元)</label>
  276. <div class="layui-input-block">
  277. <input type="number" name="totalInvestment" id="totalInvestment" placeholder="请输入"
  278. autocomplete="off" required lay-verify="required" class="layui-input"
  279. v-model="subInfo.amtTotal">
  280. </div>
  281. </div>
  282. </div>
  283. <%-- <div class="layui-col-xs6 layui-col-sm6">
  284. <div class="layui-form-item">
  285. <label class="layui-form-label"
  286. style="width: 196px; margin-left: 20px;">到位资金(万元)</label>
  287. <div class="layui-input-block">
  288. <input type="number" placeholder="请输入" autocomplete="off" class="layui-input"
  289. v-model="subInfo.amtComptotal">
  290. </div>
  291. </div>
  292. </div>--%>
  293. </div>
  294. <div class="layui-row" id="isFix" name="isFix" style="display: none">
  295. <div class="layui-col-xs6 layui-col-sm6">
  296. <div class="layui-form-item">
  297. <label class="layui-form-label required">是否纳入年度固定资产投资项目库:</label>
  298. <div class="layui-input-block">
  299. <select lay-verify="required" v-model="subInfo.isFix" lay-filter="isFix">
  300. <option value="1">是</option>
  301. <option value="0">否</option>
  302. </select>
  303. </div>
  304. </div>
  305. </div>
  306. <div class="layui-col-xs6 layui-col-sm6" id="stateFix" name="stateFix" style="display: none">
  307. <div class="layui-form-item">
  308. <label class="layui-form-label required">项目性质:</label>
  309. <div class="layui-input-block">
  310. <select lay-verify="required" v-model="subInfo.stateFix" lay-filter="stateFix">
  311. <option value="1">新建项目</option>
  312. <option value="3">储备项目</option>
  313. </select>
  314. </div>
  315. </div>
  316. </div>
  317. </div>
  318. <div class="layui-row">
  319. <h2 style="width: 80%;background-color: #EDE9EC;margin-bottom: 20px;margin-top: 20px">项目进度</h2>
  320. </div>
  321. <div class="layui-row">
  322. <div class="layui-col-xs6 layui-col-sm6">
  323. <div class="layui-form-item">
  324. <label class="layui-form-label required">计划开工时间</label>
  325. <div class="layui-input-block">
  326. <input type="text" id=beginDate readonly="readonly" required lay-verify="required"
  327. placeholder="请输入" autocomplete="off" class="layui-input"
  328. v-model="subInfo.beginDate">
  329. </div>
  330. </div>
  331. </div>
  332. <div class="layui-col-xs6 layui-col-sm6">
  333. <div class="layui-form-item">
  334. <label class="layui-form-label required"
  335. >计划竣工时间</label>
  336. <div class="layui-input-block">
  337. <input type="text" id="endDate" readonly="readonly" required lay-verify="required"
  338. placeholder="请输入" autocomplete="off" class="layui-input"
  339. v-model="subInfo.endDate">
  340. </div>
  341. </div>
  342. </div>
  343. </div>
  344. <div class="layui-row">
  345. <div class="layui-col-xs6 layui-col-sm6">
  346. <div class="layui-form-item">
  347. <label class="layui-form-label required"
  348. >平台联系人</label>
  349. <div class="layui-input-block">
  350. <input type="text" required lay-verify="required" placeholder="平台项目信息录入人姓名"
  351. autocomplete="off" class="layui-input" v-model="subInfo.nameZrr">
  352. </div>
  353. </div>
  354. </div>
  355. <div class="layui-col-xs6 layui-col-sm6">
  356. <div class="layui-form-item">
  357. <label class="layui-form-label required">平台联系人电话</label>
  358. <div class="layui-input-block">
  359. <input type="text" required lay-verify="required" placeholder="平台项目信息录入人电话"
  360. autocomplete="off" class="layui-input" v-model="subInfo.tel">
  361. </div>
  362. </div>
  363. </div>
  364. </div>
  365. <div class="layui-row">
  366. <div class="layui-col-xs6 layui-col-sm6">
  367. <div class="layui-form-item">
  368. <label class="layui-form-label required"
  369. >项目总负责人</label>
  370. <div class="layui-input-block">
  371. <input type="text" required lay-verify="required" placeholder="请输入"
  372. autocomplete="off" class="layui-input" v-model="subInfo.nameLead">
  373. </div>
  374. </div>
  375. </div>
  376. <div class="layui-col-xs6 layui-col-sm6">
  377. <div class="layui-form-item">
  378. <label class="layui-form-label required">总负责人联系电话</label>
  379. <div class="layui-input-block">
  380. <input type="text" required lay-verify="required" placeholder="请输入"
  381. autocomplete="off" class="layui-input" v-model="subInfo.telLead">
  382. </div>
  383. </div>
  384. </div>
  385. </div>
  386. <div class="layui-row">
  387. <div class="layui-col-xs12 layui-col-sm12">
  388. <div class="layui-form-item">
  389. <label class="layui-form-label required"
  390. >项目进展情况</label>
  391. <div class="layui-input-block">
  392. <textarea required lay-verify="required" autocomplete="off" class="layui-textarea"
  393. v-model="subInfo.progress"></textarea>
  394. </div>
  395. </div>
  396. </div>
  397. </div>
  398. <%-- <div class="layui-row">--%>
  399. <%-- <div class="layui-col-xs12 layui-col-sm12">--%>
  400. <%-- <div class="layui-form-item">--%>
  401. <%-- <label class="layui-form-label required"--%>
  402. <%-- >项目基本情况</label>--%>
  403. <%-- <div class="layui-input-block">--%>
  404. <%-- <textarea required lay-verify="required" autocomplete="off" class="layui-textarea"--%>
  405. <%-- v-model="subInfo.content"></textarea>--%>
  406. <%-- </div>--%>
  407. <%-- </div>--%>
  408. <%-- </div>--%>
  409. <%-- </div>--%>
  410. <div class="layui-row">
  411. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  412. <div class="layui-form-item">
  413. <label class="layui-form-label required">ABC类</label>
  414. <div class="layui-input-block">
  415. <select v-model="subInfo.abc" lay-filter="abc" lay-verify="required">
  416. <option value="">请选择</option>
  417. <option value="A">A类</option>
  418. <option value="B">B类</option>
  419. <option value="C">C类</option>
  420. </select>
  421. </div>
  422. </div>
  423. </div>
  424. </div>
  425. <div class="layui-row">
  426. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  427. <div class="layui-form-item">
  428. <label class="layui-form-label required">状态</label>
  429. <div class="layui-input-block">
  430. <select v-model="subInfo.cbStatus" lay-filter="cbStatus" lay-verify="required">
  431. <option value="">请选择</option>
  432. <option value="1">正在谋划</option>
  433. <option value="2">正在洽谈</option>
  434. <option value="3">已签约</option>
  435. <option value="4">已备案</option>
  436. <option value="5">已核准</option>
  437. </select>
  438. </div>
  439. </div>
  440. </div>
  441. </div>
  442. <div class="layui-row">
  443. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  444. <div class="layui-form-item">
  445. <label class="layui-form-label required">签约日期</label>
  446. <div class="layui-input-block">
  447. <input type="text" id=qyDate readonly="readonly" required lay-verify="required"
  448. placeholder="请输入" autocomplete="off" class="layui-input"
  449. v-model="subInfo.qyDate">
  450. </div>
  451. </div>
  452. </div>
  453. </div>
  454. <div class="layui-row">
  455. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  456. <div class="layui-form-item">
  457. <label class="layui-form-label required">储备转新建周期</label>
  458. <div class="layui-input-block">
  459. <input type="number" name="cbNum" id="cbNum" placeholder="请输入"
  460. autocomplete="off" required lay-verify="required" class="layui-input"
  461. v-model="subInfo.cbNum">
  462. </div>
  463. </div>
  464. </div>
  465. </div>
  466. <div class="layui-row">
  467. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  468. <div class="layui-form-item">
  469. <label class="layui-form-label required">新建转在建周期</label>
  470. <div class="layui-input-block">
  471. <input type="number" name="xjNum" id="xjNum" placeholder="请输入"
  472. autocomplete="off" required lay-verify="required" class="layui-input"
  473. v-model="subInfo.xjNum">
  474. </div>
  475. </div>
  476. </div>
  477. </div>
  478. <div class="layui-row">
  479. <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
  480. <div class="layui-form-item">
  481. <label class="layui-form-label required">在建转投产周期</label>
  482. <div class="layui-input-block">
  483. <input type="number" name="zjNum" id="zjNum" placeholder="请输入"
  484. autocomplete="off" required lay-verify="required" class="layui-input"
  485. v-model="subInfo.zjNum">
  486. </div>
  487. </div>
  488. </div>
  489. </div>
  490. <div class="layui-row">
  491. <div class='layui-form-item'>
  492. <label class="layui-form-label">备注</label>
  493. <div class="layui-input-block" style="padding: 0 10px 0 0;">
  494. <input type="text" class="layui-input" v-model="subInfo.remark">
  495. </div>
  496. </div>
  497. </div>
  498. <div class="layui-row" style="display: none;">
  499. <div class="layui-col-xs6 layui-col-sm6">
  500. <div class="layui-form-item">
  501. <label class="layui-form-label required" style="width: 186px;">是否入库</label>
  502. <div class="layui-input-block" style="margin-left: 216px;">
  503. <input type="radio" lay-verify="required" value="1" checked="checked"
  504. lay-filter="isRk" name="isRk" title="是"/>
  505. <input type="radio" lay-verify="required" value="2" lay-filter="isRk" name="isRk"
  506. title="否">
  507. </div>
  508. </div>
  509. </div>
  510. </div>
  511. <div class="btn_group">
  512. <input type="button" class="btn btn1" style="color: #fff; background-color: #3362c9;"
  513. value="提交项目信息" lay-submit lay-filter="saveSubInfo"/>
  514. </div>
  515. </div>
  516. </div>
  517. </form>
  518. <div id="amtSourceEdit" style="display: none; padding: 10px 0 0;">
  519. <div class="layuimini-main">
  520. <div class="layui-form" lay-filter="amtSourceEdit" action=""
  521. onkeydown="if(event.keyCode==13){return false;}">
  522. <div class="layui-row">
  523. <div class="layui-col-xs11 layui-col-sm11">
  524. <div class='layui-form-item'>
  525. <label class="layui-form-label required" style="width: 90px">资金来源</label>
  526. <div class="layui-input-block">
  527. <select id="testAmt" name="testAmt" lay-filter="testAmt">
  528. <option value="">请选择</option>
  529. <c:forEach items="${ZJLY }" var="zj">
  530. <option value="${zj.id }">${zj.title }</option>
  531. </c:forEach>
  532. </select>
  533. </div>
  534. </div>
  535. </div>
  536. </div>
  537. <div class="layui-row">
  538. <div class="layui-col-xs11 layui-col-sm11">
  539. <div class='layui-form-item'>
  540. <label class="layui-form-label required" style="width: 90px">金额(万元)</label>
  541. <div class="layui-input-block">
  542. <input id="zjAmt" min="0" class="layui-input" type="number"/>
  543. </div>
  544. </div>
  545. </div>
  546. </div>
  547. <div class="layui-row">
  548. <div class="layui-col-xs11 layui-col-sm11">
  549. <div class='layui-form-item'>
  550. <label class="layui-form-label required" style="width: 90px">到位金额(万元)</label>
  551. <div class="layui-input-block">
  552. <input id="zjAmtSj" min="0" class="layui-input" type="number"/>
  553. </div>
  554. </div>
  555. </div>
  556. </div>
  557. <div class="layui-row">
  558. <div class="layui-form-item">
  559. <label class="layui-form-label" style="width: 90px"></label>
  560. <div class="layui-input-block">
  561. <button class="layui-btn-submit" @click="closePane">取消</button>
  562. <button class="layui-btn-submit" style="margin-left: 10px" lay-submit
  563. lay-filter="amtConfirm">确定
  564. </button>
  565. </div>
  566. </div>
  567. </div>
  568. </div>
  569. </div>
  570. </div>
  571. <div id="planEdit" style="display: none; padding: 10px 0 0;">
  572. <form class="layui-form" lay-filter="planEdit">
  573. <div class="table_box">
  574. <div class="layui-row">
  575. <div class='layui-form-item'>
  576. <label class="layui-form-label required">结束时间</label>
  577. <div class="layui-input-block" style="padding: 0 10px 0 0;">
  578. <input type="text" id="planEndDate" readonly="readonly" required lay-verify="required"
  579. class="layui-input" v-model="planEditInfo.endDate">
  580. </div>
  581. </div>
  582. </div>
  583. <div class="layui-row">
  584. <div class='layui-form-item'>
  585. <label class="layui-form-label required">工作内容</label>
  586. <div class="layui-input-block" style="padding: 0 10px 0 0;">
  587. <textarea v-model="planEditInfo.content" class="layui-textarea" required
  588. lay-verify="required"></textarea>
  589. </div>
  590. </div>
  591. </div>
  592. <div class="layui-row">
  593. <div class='layui-form-item'>
  594. <label class="layui-form-label required">进度权重</label>
  595. <div class="layui-input-block" style="padding: 0 10px 0 0;">
  596. <input type="number" min="1" max="10" required lay-verify="required" class="layui-input"
  597. v-model="planEditInfo.numRate">
  598. </div>
  599. </div>
  600. </div>
  601. <div class="layui-row">
  602. <div class="layui-form-item" style="text-align: right; padding: 0 67px 10px;">
  603. <input type="button" value="取消" class="layui-btn btn btn1" @click="closePane"/>
  604. <input type="button" value="保存" class="layui-btn btn btn1" lay-submit
  605. lay-filter="planConfirm"/>
  606. </div>
  607. </div>
  608. </div>
  609. </form>
  610. </div>
  611. <div id="manageEdit" style="display: none">
  612. <div class="layuimini-main">
  613. <form class="layui-form" lay-filter="manageEdit">
  614. <div class="table_box">
  615. <div class="layui-row">
  616. <div class="layui-form-item">
  617. <label class="layui-form-label required">监管单位</label>
  618. <div class="layui-input-block" id="gzsm">
  619. <select name="manageId" required lay-verify="required" lay-filter="manageId"
  620. v-model="currObjData.manageId" lay-search>
  621. <option value="">--请选择--</option>
  622. <c:forEach items="${unit }" var="un">
  623. <option value="${un.id }" nameLead="${un.nameLead}"
  624. tel="${un.tel}">${un.title }</option>
  625. </c:forEach>
  626. </select>
  627. </div>
  628. </div>
  629. </div>
  630. <div class="layui-row">
  631. <div class="layui-form-item">
  632. <label class="layui-form-label">责任科室</label>
  633. <div class="layui-input-block">
  634. <select name="departId" lay-filter="departId" v-model="currObjData.departId">
  635. <option value="">--请选择--</option>
  636. </select>
  637. </div>
  638. </div>
  639. </div>
  640. <div class="layui-row">
  641. <div class="layui-form-item">
  642. <label class="layui-form-label required">责任领导</label>
  643. <div class="layui-input-block">
  644. <input type="text" name="nameLead" required lay-verify="required" placeholder="请输入"
  645. autocomplete="off" class="layui-input" v-model="currObjData.nameLead">
  646. </div>
  647. </div>
  648. </div>
  649. <div class="layui-row">
  650. <div class="layui-form-item">
  651. <label class="layui-form-label required">责任电话</label>
  652. <div class="layui-input-block">
  653. <input type="text" name="tel" required lay-verify="required" placeholder="请输入"
  654. autocomplete="off" class="layui-input" v-model="currObjData.tel">
  655. </div>
  656. </div>
  657. </div>
  658. <div class="layui-row">
  659. <div class="layui-form-item">
  660. <label class="layui-form-label"></label>
  661. <div class="layui-input-block">
  662. <button type="button" class="layui-btn-submit" @click="closePane">取消</button>
  663. <button type="button" class="layui-btn-submit" style="margin-left: 10px" lay-submit
  664. lay-filter="manageConfirm">保存
  665. </button>
  666. </div>
  667. </div>
  668. </div>
  669. </div>
  670. </form>
  671. </div>
  672. </div>
  673. </div>
  674. </template>
  675. <script type="text/text" id="amtToolBar">
  676. <div class="toolBar">
  677. <span javascript:void(0); lay-event="delAmt">删除</span>
  678. </div>
  679. </script>
  680. <script type="text/html" id="planToolBar">
  681. <div class="toolBar">
  682. <span title="编辑" lay-event="planEdit">编辑</span>
  683. {{#if(d.id == null || d.statusSp == '0') { }}
  684. <span title="删除" lay-event="delPlan">删除</span>
  685. {{#}}}
  686. </div>
  687. </script>
  688. <script type="text/html" id="manageToolBar">
  689. <div class="toolBar"><span title="删除" lay-event="delManage">删除</span></div>
  690. </script>
  691. <script type="text/javascript">
  692. new Vue({
  693. el: "#app",
  694. template: "#template",
  695. data: {
  696. tabActive: 1,
  697. subInfo: {
  698. unitId: "${currUnitId}",
  699. subjectId: "",
  700. indusKind: "",
  701. mainId: "",
  702. subName: "",
  703. kindNature: "",
  704. isRk: "1",
  705. propKind: "",
  706. kind: "",
  707. abc: "",
  708. },
  709. kindAmt: {},
  710. testAmt: "",
  711. testAmtName: "",
  712. amtSource: [],
  713. delAmtSource: [],
  714. closeMark: false,
  715. kindSelect: null,
  716. planList: [],
  717. planEditInfo: {},
  718. currObjData: {},
  719. delPlanList: [],
  720. manageList: [],
  721. delManageList: []
  722. },
  723. mounted: function () {
  724. this.init();
  725. },
  726. methods: {
  727. init: function () {
  728. var self = this;
  729. layui.laydate.render({
  730. elem: "#qyDate",
  731. type: "date",
  732. theme: layDateTheme,
  733. done: function (value) {
  734. self.subInfo.qyDate = value
  735. }
  736. });
  737. layui.laydate.render({
  738. elem: "#beginDate",
  739. type: "date",
  740. theme: layDateTheme,
  741. done: function (value) {
  742. if (self.subInfo.endDate != null) {
  743. var endDate = new Date(self.subInfo.endDate);
  744. var beginDate = new Date(value);
  745. if (endDate >= beginDate) {
  746. self.subInfo.beginDate = value;
  747. } else {
  748. layer.msg("开始时间必须小于结束时间");
  749. self.subInfo.beginDate = value;
  750. }
  751. } else {
  752. self.subInfo.beginDate = value;
  753. }
  754. }
  755. });
  756. layui.form.on("select(unitId)", function (data) {
  757. self.subInfo.unitId = data.value;
  758. });
  759. layui.laydate.render({
  760. elem: "#endDate",
  761. type: "date",
  762. theme: layDateTheme,
  763. done: function (value) {
  764. if (self.subInfo.beginDate != null) {
  765. var endDate = new Date(value);
  766. var beginDate = new Date(self.subInfo.beginDate);
  767. if (beginDate <= endDate) {
  768. self.subInfo.endDate = value;
  769. } else {
  770. layer.msg("结束时间必须大于开始时间");
  771. self.subInfo.endDate = value;
  772. }
  773. } else {
  774. self.subInfo.endDate = value;
  775. }
  776. }
  777. });
  778. layui.laydate.render({
  779. elem: "#planEndDate",
  780. type: "date",
  781. theme: layDateTheme,
  782. done: function (value) {
  783. self.planEditInfo.endDate = value;
  784. }
  785. });
  786. layui.form.on("submit(amtConfirm)", function (obj) {
  787. var amt = $("#zjAmt").val();
  788. if (!isNumber(amt) || Number(amt) < 0) {
  789. App.msg.warn("请填写正数的金额");
  790. return;
  791. }
  792. var amtSj = $("#zjAmtSj").val();
  793. if (!isNumber(amtSj) || Number(amtSj) < 0) {
  794. App.msg.warn("请填写正数的到位金额");
  795. return;
  796. }
  797. //获取选择的值。
  798. if (self.amtSource.filter((item, index) => {
  799. return item.sourceId == self.testAmt;
  800. }).length > 0) {
  801. //存在,阻断
  802. App.msg.warn("该类型已被选择");
  803. } else {
  804. self.amtSource.push({
  805. sourceId: self.testAmt,
  806. sourceName: self.testAmtName,
  807. amt: amt,
  808. amtSj: amtSj
  809. });
  810. self.initAmtSource();
  811. self.closePane();
  812. }
  813. });
  814. layui.form.on("submit(planConfirm)", function (obj) {
  815. self.addPlanData();
  816. });
  817. layui.form.on("select(subjectId)", function (data) {
  818. var ztdw = $("#subjectId option:checked").attr("ztdw");
  819. self.subInfo.subjectId = data.value;
  820. self.subInfo.mainId = ztdw;
  821. });
  822. layui.form.on("select(abc)", function (data) {
  823. self.subInfo.abc = data.value;
  824. });
  825. layui.form.on("select(cbStatus)", function (data) {
  826. self.subInfo.cbStatus = data.value;
  827. });
  828. layui.form.on("select(kindNature)", function (data) {
  829. self.subInfo.kindNature = data.value;
  830. self.chooseTzxz(data.value);
  831. });
  832. var kind = [];
  833. <c:forEach items="${XMLX}" var="xm">
  834. kind.push({value: "${xm.code}", name: "${xm.title}"});
  835. </c:forEach>
  836. /* this.kindSelect = layui.xmSelect.render({
  837. el:'#kind',
  838. language:'zn',
  839. data: kind
  840. });*/
  841. layui.form.on("select(indusKind)", function (data) {
  842. self.subInfo.indusKind = data.value;
  843. });
  844. layui.form.on("select(propKind)", function (data) {
  845. self.subInfo.propKind = data.value;
  846. });
  847. //layui监听input内容变动
  848. $(function () {
  849. //输入框的值改变时触发
  850. $("#totalInvestment").on("input", function (e) {
  851. //获取input输入的值
  852. var totalInvestment = e.delegateTarget.value;
  853. var query = ${queryType};
  854. if (totalInvestment >= 500 && query == '1') {
  855. var select = document.getElementById('isFix'); // 获取下拉框的DOM元素
  856. // 根据值的大小显示或隐藏下拉框
  857. if (totalInvestment >= 500) {
  858. select.style.display = 'block'; // 显示下拉框
  859. layui.form.render('select'); // 更新下拉框的渲染
  860. } else {
  861. select.style.display = 'none'; // 隐藏下拉框
  862. layui.form.render('select'); // 更新下拉框的渲染
  863. }
  864. }
  865. })
  866. });
  867. layui.form.on("select(isFix)", function (data) {
  868. self.subInfo.isFix = data.value;
  869. if (data.value == "1") {
  870. var select = document.getElementById('stateFix'); // 获取下拉框的DOM元素
  871. select.style.display = 'block'; // 显示下拉框
  872. layui.form.render('select'); // 更新下拉框的渲染
  873. } else {
  874. var select = document.getElementById('stateFix'); // 获取下拉框的DOM元素
  875. select.style.display = 'none'; // 显示下拉框
  876. layui.form.render('select'); // 更新下拉框的渲染
  877. }
  878. });
  879. layui.form.on("select(stateFix)", function (data) {
  880. self.subInfo.stateFix = data.value;
  881. });
  882. layui.form.on("select(testAmt)", function (data) {
  883. self.testAmt = data.value;
  884. self.testAmtName = this.innerText;
  885. });
  886. layui.form.on("submit(saveSubInfo)", function (obj) {
  887. self.saveSubInfo();
  888. });
  889. layui.form.on("submit(savePlan)", function (obj) {
  890. self.savePlan();
  891. });
  892. layui.form.on("submit(saveManage)", function (obj) {
  893. self.saveManage();
  894. });
  895. layui.form.on("submit(manageConfirm)", function (obj) {
  896. if (self.manageList.filter(item => {
  897. return item.manageId === self.currObjData.manageId;
  898. }).length > 0) {
  899. App.msg.warn("该监管单位已存在");
  900. return;
  901. }
  902. self.addManageData();
  903. });
  904. layui.form.on("select(manageId)", function (data) {
  905. self.currObjData.manageId = data.value;
  906. self.currObjData.manageName = this.innerText;
  907. self.currObjData.nameLead = $("select[name='manageId']").find("option:selected").eq(0).attr("nameLead");
  908. self.currObjData.tel = $("select[name='manageId']").find("option:selected").eq(0).attr("tel");
  909. self.currObjData.departId = "";
  910. $("input[name='nameLead']").val(self.currObjData.nameLead);
  911. $("input[name='tel']").val(self.currObjData.tel);
  912. self.setJgDept(data.value);
  913. });
  914. layui.form.on("select(departId)", function (data) {
  915. self.currObjData.departId = data.value;
  916. self.currObjData.departName = this.innerText;
  917. });
  918. layui.table.on("edit(amtSource)", function (obj) {
  919. var oldText = $(this).prev().text();
  920. if (obj.value != '' && !isNumber(obj.value)) {
  921. App.msg.warn("请填写数字");
  922. $(this).val(oldText);
  923. obj.value = oldText;
  924. obj.data[obj.field] = oldText;
  925. obj.update(obj.data);
  926. self.amtSource = layui.table.getData("amtSource");
  927. } else {
  928. self.amtSource = layui.table.getData("amtSource");
  929. }
  930. });
  931. this.getForm();
  932. },
  933. initAmtSource: function () {
  934. var self = this;
  935. layui.table.render({
  936. elem: '#amtSource', // 指定原始表格元素选择器(推荐id选择器)
  937. even: true,
  938. cols: [[ // 设置表头
  939. {type: 'numbers', title: '序号'},
  940. {field: 'sourceName', title: '资金来源'},
  941. {field: 'amt', title: '资金(万元)', edit: 'text'},
  942. {field: 'amtSj', title: '到位资金(万元)', edit: 'text'},
  943. {title: '操作', align: 'center', toolbar: '#amtToolBar'}
  944. ]],
  945. limit: self.amtSource.length,
  946. data: self.amtSource
  947. });
  948. layui.table.on("tool(amtSource)", function (obj) {
  949. self[obj.event].call(this, obj);
  950. });
  951. },
  952. delAllAmt: function () {
  953. for (var i = 0; i < this.amtSource.length; i++) {
  954. if (this.amtSource[i].id) {
  955. this.amtSource[i].logicDeleteFlag = 1;
  956. this.delAmtSource.push(this.amtSource[i]);
  957. }
  958. }
  959. this.amtSource = [];
  960. },
  961. delAmt: function (obj) {
  962. if (obj.data.id) {
  963. obj.data.logicDeleteFlag = 1;
  964. this.delAmtSource.push(obj.data);
  965. obj.del();
  966. } else {
  967. obj.del();
  968. }
  969. this.amtSource = layui.table.getData("amtSource");
  970. this.initAmtSource();
  971. },
  972. chooseTzxz: function (kindNature) {
  973. /*var self = this;
  974. if (kindNature=="2"){
  975. $("#addAmt").hide();
  976. //设置企业投资
  977. if(self.amtSource.length == 1 && self.amtSource[0].sourceName == '社会资金') {
  978. return;
  979. }
  980. self.delAllAmt();
  981. var qyzj = $("#testAmt").find("option").filter((index,item)=>{return item.innerText == '社会资金';}).eq(0);
  982. self.amtSource.push({sourceId:qyzj.val(),sourceName:qyzj.text().trim()});
  983. this.initAmtSource();
  984. }else{
  985. $("#addAmt").show();
  986. //非企业投资
  987. if(self.amtSource.length == 1 && self.amtSource[0].sourceName == '社会资金') {
  988. self.delAllAmt();
  989. this.initAmtSource();
  990. return;
  991. }
  992. }*/
  993. },
  994. getForm: function () {
  995. var id = $("#id").val();
  996. var self = this;
  997. if (id == "") {
  998. App.msg.warn("请从正规页面进入");
  999. return;
  1000. } else {
  1001. App.postJson("/api/subject/subInfo/getById", {id: id}, function (res) {
  1002. if (res.success) {
  1003. console.log(res.data, "+++++++++++++")
  1004. self.subInfo = res.data;
  1005. // console.log(self.subInfo.qyDate, "========================")
  1006. /* self.kindSelect.setValue(self.subInfo.kind.split(","));*/
  1007. self.amtSource = res.data.subSource || [];
  1008. // alert(JSON.stringify(self.amtSource))
  1009. self.initAmtSource();
  1010. var total = self.subInfo.amtTotal;
  1011. self.chooseTotal(total, ${queryType});
  1012. setTimeout(function () {
  1013. layui.form.render();
  1014. }, 200);
  1015. }
  1016. });
  1017. /* App.postJson("/api/subject/process/getPlanList",{subId : id}, function(res){
  1018. if(res.success){
  1019. self.planList = res.data;
  1020. self.loadPlanTable();
  1021. }
  1022. }); */
  1023. App.postJson("/api/subject/subInfo/getManageList", {subId: id}, function (res) {
  1024. if (res.success) {
  1025. self.manageList = res.data;
  1026. self.loadManageTable();
  1027. }
  1028. });
  1029. }
  1030. },
  1031. chooseTotal(totalInvestment, queryType) {
  1032. if (totalInvestment >= 500 && queryType == '1') {
  1033. var select = document.getElementById('isFix'); // 获取下拉框的DOM元素
  1034. // 根据值的大小显示或隐藏下拉框
  1035. if (totalInvestment >= 500) {
  1036. select.style.display = 'block'; // 显示下拉框
  1037. layui.form.render('select'); // 更新下拉框的渲染
  1038. } else {
  1039. select.style.display = 'none'; // 隐藏下拉框
  1040. layui.form.render('select'); // 更新下拉框的渲染
  1041. }
  1042. }
  1043. },
  1044. addAmt: function () {
  1045. var self = this;
  1046. $("#zjAmt").val("");
  1047. $("#zjAmtSj").val("");
  1048. this.planEditPanl = layer.open({
  1049. title: "资金选择",
  1050. type: 1,
  1051. content: $("#amtSourceEdit"),
  1052. area: ['400px', '320px']
  1053. });
  1054. },
  1055. closePane: function () {
  1056. layer.close(this.planEditPanl);
  1057. },
  1058. // onChangeActive: function(ind){
  1059. // this.tabActive = ind;
  1060. // $(".layui-colla-content").removeClass("layui-show");
  1061. // $($(".layui-colla-content")[ind -1]).addClass("layui-show");
  1062. // },
  1063. saveSubInfo: function () {
  1064. var self = this;
  1065. var beginDate = new Date(self.subInfo.beginDate);
  1066. var endDate = new Date(self.subInfo.endDate);
  1067. if (beginDate > endDate) {
  1068. layer.msg("开始时间必须小于结束时间");
  1069. return;
  1070. }
  1071. var saveUrl = "/api/subject/subInfo/saveEditSubInfo";
  1072. //项目资金来源
  1073. if (this.amtSource.length == 0) {
  1074. App.msg.warn("项目资金来源至少选择一项");
  1075. return;
  1076. }
  1077. var totalSourceAmt = 0;
  1078. for (var i = 0; i < this.amtSource.length; i++) {
  1079. if (this.amtSource[i].amt == null || this.amtSource[i].amt == undefined) {
  1080. App.msg.warn(this.amtSource[i].sourceName + "资金不能为空");
  1081. return;
  1082. }
  1083. if (this.amtSource[i].amtSj == null || this.amtSource[i].amtSj == undefined) {
  1084. App.msg.warn(this.amtSource[i].sourceName + "到位资金不能为空");
  1085. return;
  1086. }
  1087. totalSourceAmt += Number(this.amtSource[i].amt);
  1088. }
  1089. if (totalSourceAmt > this.subInfo.amtTotal) {
  1090. App.msg.warn("资金来源不能大于总投资");
  1091. return;
  1092. }
  1093. var saveAmtSource = this.amtSource.concat(this.delAmtSource);
  1094. this.subInfo.subSource = saveAmtSource;
  1095. /* this.subInfo.kind = this.kindSelect.getValue("value").sort().join(",");*/
  1096. /* if(this.subInfo.kind == "") {
  1097. App.msg.warn("项目类型不能为空");
  1098. return;
  1099. }*/
  1100. /*if (self.subInfo.mainId == undefined || self.subInfo.mainId == null) {
  1101. App.msg.warn("您选择的建设地点还未分配监管单位");
  1102. return;
  1103. }*/
  1104. App.msg.confirm("确认提交项目信息吗?", function () {
  1105. console.log(self.subInfo)
  1106. App.postJson(saveUrl, {subInfo: self.subInfo}, function (res) {
  1107. if (res.success) {
  1108. self.closeMark = true;
  1109. App.msg.success("保存成功");
  1110. App.postJson("/api/subject/subInfo/getById", {id: self.subInfo.id}, function (resc) {
  1111. if (resc.success) {
  1112. self.subInfo = resc.data;
  1113. /* self.kindSelect.setValue(self.subInfo.kind.split(","));*/
  1114. self.amtSource = resc.data.subSource || [];
  1115. self.initAmtSource();
  1116. self.delAmtSource = [];
  1117. setTimeout(function () {
  1118. layui.form.render();
  1119. }, 200);
  1120. self.closeWin();
  1121. }
  1122. });
  1123. }
  1124. });
  1125. })
  1126. },
  1127. addPlan: function () {
  1128. var self = this;
  1129. this.edit = false;
  1130. this.planEditInfo = {
  1131. numRate: 1
  1132. };
  1133. this.planEditPanl = layer.open({
  1134. title: "新增计划",
  1135. type: 1,
  1136. content: $("#planEdit"),
  1137. area: ['500px', 'auto']
  1138. })
  1139. },
  1140. addPlanData: function () {
  1141. if (this.planEditInfo.numRate > 10 || this.planEditInfo.numRate <= 0 || this.planEditInfo.numRate % 1 != 0) {
  1142. layer.msg("进度权重必须是1-10的整数", {icon: 5, time: 2000});
  1143. return;
  1144. }
  1145. var startDate = $("#beginDate").val();
  1146. var endDate = new Date(this.planEditInfo.endDate);
  1147. if (startDate > endDate) {
  1148. layer.msg("计划结束时间不能小于项目开始时间!!! 项目开始时间" + startDate);
  1149. return;
  1150. }
  1151. if (this.edit) {
  1152. var dataIndex = this.currPlanObj.tr[0].dataset.index;
  1153. if (this.planList.filter((item, index) => {
  1154. return index != dataIndex && item.endDate == this.planEditInfo.endDate
  1155. }).length > 0) {
  1156. App.msg.warn(this.planEditInfo.endDate + "结束时间已存在,不能重复");
  1157. return;
  1158. }
  1159. this.currPlanObj.update(this.planEditInfo);
  1160. } else {
  1161. if (this.planList.filter(item => {
  1162. return item.endDate == this.planEditInfo.endDate
  1163. }).length > 0) {
  1164. App.msg.warn(this.planEditInfo.endDate + "结束时间已存在,不能重复");
  1165. return;
  1166. }
  1167. this.planList.push(this.planEditInfo);
  1168. }
  1169. this.sort();
  1170. this.closePane();
  1171. },
  1172. planEdit: function (obj) {
  1173. this.currPlanObj = obj;
  1174. this.edit = true;
  1175. this.planEditInfo = obj.data;
  1176. var self = this;
  1177. this.planEditPanl = layer.open({
  1178. title: "新增计划",
  1179. type: 1,
  1180. content: $("#planEdit"),
  1181. area: ["500px", "500px"]
  1182. });
  1183. },
  1184. delPlan: function (obj) {
  1185. var self = this;
  1186. App.msg.confirm("确认删除该计划吗?", function () {
  1187. if (obj.data.id) {
  1188. obj.data.logicDeleteFlag = 1;
  1189. self.delPlanList.push(obj.data);
  1190. obj.del();
  1191. self.planList = layui.table.getData("planList");
  1192. } else {
  1193. obj.del();
  1194. self.planList = layui.table.getData("planList");
  1195. }
  1196. self.sort();
  1197. })
  1198. },
  1199. /* loadPlanTable : function(){
  1200. var self = this;
  1201. layui.table.render({
  1202. elem: '#planList', // 指定原始表格元素选择器(推荐id选择器)
  1203. even: true,
  1204. cols: [[ // 设置表头
  1205. {type: 'numbers',title:'序号'},
  1206. {field: 'beginDate', title: '开始时间', minWidth: 120},
  1207. {field: 'endDate', title: '结束时间', minWidth: 120},
  1208. {field: 'content', title: '工作内容', minWidth: 200},
  1209. {field: 'numRate', title: '进度权重', minWidth: 100},
  1210. {field: 'remark', title: '备注', width: 250},
  1211. {title: '操作', align:'center', toolbar: '#planToolBar'}
  1212. ]],
  1213. data : self.planList
  1214. });
  1215. layui.table.on("tool(planList)", function(obj){
  1216. self[obj.event].call(this, obj);
  1217. })
  1218. }, */
  1219. sort: function () {
  1220. var beginDate = $("#beginDate").val();
  1221. this.planList.sort(function (a, b) {
  1222. var date1 = new Date(a.endDate);
  1223. var date2 = new Date(b.endDate);
  1224. return date1.getTime() > date2.getTime() ? 1 : -1;
  1225. });
  1226. for (var i = 0; i < this.planList.length; i++) {
  1227. if (i == 0) {
  1228. this.planList[i].beginDate = beginDate;
  1229. } else {
  1230. var endDate = new Date(this.planList[i - 1].endDate);
  1231. endDate = endDate.addDays(1);
  1232. this.planList[i].beginDate = layui.util.toDateString(endDate, "yyyy-MM-dd");
  1233. }
  1234. }
  1235. this.loadPlanTable();
  1236. },
  1237. savePlan: function () {
  1238. var plans = this.planList;
  1239. var subId = this.subInfo.id;
  1240. for (var i = 0; i < this.delPlanList.length; i++) {
  1241. plans.push(this.delPlanList[i]);
  1242. }
  1243. this.planList = plans;
  1244. var self = this;
  1245. var data = {
  1246. subId: subId,
  1247. list: self.planList
  1248. }
  1249. App.msg.confirm("确认提交计划吗?", function () {
  1250. App.postJson("/api/subject/subInfo/saveEditSubInfo", {planList: data}, function (res) {
  1251. if (res.success) {
  1252. App.msg.warn("提交成功");
  1253. App.postJson("/api/subject/process/getPlanList", {subId: subId}, function (resc) {
  1254. if (resc.success) {
  1255. self.planList = resc.data;
  1256. self.delPlanList = [];
  1257. self.loadPlanTable();
  1258. }
  1259. });
  1260. }
  1261. });
  1262. });
  1263. },
  1264. addManage: function () {
  1265. var self = this;
  1266. this.currObjData = {
  1267. manageId: "",
  1268. departId: "",
  1269. nameLead: "",
  1270. tel: ""
  1271. };
  1272. $("select[name='manageId']").next().find("input").eq(0).val("")
  1273. this.setJgDept("");
  1274. layui.form.render();
  1275. layui.use('form', function () {
  1276. layui.form.render('select');
  1277. })
  1278. this.planEditPanl = layer.open({
  1279. title: "新增监管单位",
  1280. type: 1,
  1281. content: $("#manageEdit"),
  1282. area: ['500px', 'auto']
  1283. })
  1284. },
  1285. loadManageTable: function () {
  1286. var self = this;
  1287. layui.table.render({
  1288. elem: '#manageList', // 指定原始表格元素选择器(推荐id选择器)
  1289. even: true,
  1290. cols: [[ // 设置表头
  1291. {type: 'numbers', title: '序号', align: 'center'},
  1292. {field: 'manageName', title: '监管单位'},
  1293. {field: 'departName', title: '责任科室'},
  1294. {field: 'nameLead', title: '责任领导',},
  1295. {field: 'tel', title: '联系电话'},
  1296. {title: '操作', align: 'center', toolbar: '#manageToolBar'}
  1297. ]],
  1298. data: self.manageList
  1299. });
  1300. layui.table.on("tool(manageList)", function (obj) {
  1301. self[obj.event].call(this, obj);
  1302. })
  1303. },
  1304. setJgDept: function (unitId) {
  1305. $("select[name='departId']").html("<option value=''>--请选择--</option>");
  1306. layui.form.render();
  1307. if (unitId != '') {
  1308. App.postJson("/api/jdepart/listByUnit", {unitId: unitId}, function (res) {
  1309. for (var i = 0; i < res.data.length; i++) {
  1310. let cuData = res.data[i];
  1311. $("select[name='departId']")
  1312. .append("<option value='" + cuData.id + "' tel='" + cuData.tel + "' nameLead='" + cuData.nameLead + "'>" + cuData.title + "</option>");
  1313. }
  1314. layui.form.render();
  1315. });
  1316. }
  1317. },
  1318. addManageData: function () {
  1319. this.manageList.push(this.currObjData);
  1320. this.loadManageTable();
  1321. this.closePane();
  1322. },
  1323. delManage: function (obj) {
  1324. var self = this;
  1325. App.msg.confirm("确认删除该监管单位吗?", function () {
  1326. if (obj.data.id) {
  1327. obj.data.logicDeleteFlag = 1;
  1328. self.delManageList.push(obj.data);
  1329. obj.del();
  1330. self.manageList = layui.table.getData("manageList");
  1331. } else {
  1332. obj.del();
  1333. self.manageList = layui.table.getData("manageList");
  1334. }
  1335. })
  1336. },
  1337. saveManage: function () {
  1338. var manages = this.manageList;
  1339. var subId = this.subInfo.id;
  1340. for (var i = 0; i < this.delManageList.length; i++) {
  1341. manages.push(this.delManageList[i]);
  1342. }
  1343. var data = {
  1344. subId: subId,
  1345. manage: manages
  1346. };
  1347. var self = this;
  1348. App.msg.confirm("确认提交监管单位信息吗?", function () {
  1349. App.postJson("/api/subject/subInfo/saveEditSubInfo", {manage: data}, function (res) {
  1350. if (res.success) {
  1351. App.msg.warn("提交成功");
  1352. App.postJson("/api/subject/subInfo/getManageList", {subId: subId}, function (resc) {
  1353. if (resc.success) {
  1354. self.manageList = resc.data;
  1355. self.delManageList = [];
  1356. self.loadManageTable();
  1357. }
  1358. });
  1359. }
  1360. });
  1361. });
  1362. },
  1363. closeWin: function () {
  1364. var self = this;
  1365. if (!this.closeMark) {
  1366. App.msg.confirm("当前信息未保存或未保存成功,确认关闭?", function () {
  1367. window.history.back(-1);
  1368. });
  1369. } else {
  1370. window.history.back(-1);
  1371. }
  1372. }
  1373. }
  1374. })
  1375. </script>
  1376. </body>
  1377. </html>