apply-clients 3.2.48 → 3.2.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. package/package.json +4 -3
  2. package/src/AndroidApp.vue +2 -2
  3. package/src/apply.js +7 -0
  4. package/src/components/app_apply/Process/AppExplorationUser.vue +200 -200
  5. package/src/components/app_apply/Supervisory/AppProcessSupervisory.vue +1 -1
  6. package/src/components/image/tubiao2.png +0 -0
  7. package/src/components/product/Ledger/ContractManagement/PurchaseContract/PurchaseContractInformation.vue +103 -7
  8. package/src/components/product/Ledger/FacilityManagement/FacilityInventory/FacilityInventoryInformation.vue +7 -3
  9. package/src/components/product/Ledger/Function/InstallInfoSelect.vue +1 -1
  10. package/src/components/product/Ledger/MaterialManagement/DeliveryRecord/DeliveryRecordList.vue +11 -4
  11. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/InventoryInformationList.vue +11 -0
  12. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutStock.vue +9 -1
  13. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/MaterialOutboundOrder.vue +56 -14
  14. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseMaterial.vue +9 -1
  15. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/PurchaseOrder.vue +9 -1
  16. package/src/components/product/Ledger/MaterialManagement/InventoryInformation/ReturnMaterial.vue +149 -2
  17. package/src/components/product/Ledger/MaterialManagement/OutboundOrder/OutboundOrderInformation.vue +17 -5
  18. package/src/components/product/Ledger/MaterialManagement/OutboundOrder/PrintMaterialBill.vue +10 -8
  19. package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PrintPurchaseOrder.vue +10 -6
  20. package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsInformation.vue +20 -9
  21. package/src/components/product/Ledger/MaterialManagement/PurchaseRecords/PurchaseRecordsList.vue +10 -60
  22. package/src/components/product/Ledger/MaterialManagement/WarehousingRecord/WarehousingRecordList.vue +4 -4
  23. package/src/components/product/Ledger/Process/ProcessBusiness.vue +8 -0
  24. package/src/components/product/Ledger/Process/ProcessSelect.vue +39 -14
  25. package/src/components/product/Ledger/Process/Service/ServiceControl.vue +33 -7
  26. package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingAddingMaterial.vue +330 -0
  27. package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingInformation.vue +117 -25
  28. package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingMaterialDepot.vue +113 -0
  29. package/src/components/product/Ledger/QinhuaMaterial/PickingRecord/PickingMaterialList.vue +143 -0
  30. package/src/components/product/Ledger/Supervisory/ProcessSupervisory.vue +8 -0
  31. package/src/components/product/Ledger/Supervisory/Service/PrepareContract.vue +233 -0
  32. package/src/components/product/Ledger/Supervisory/Service/SupervisoryServiceControl.vue +2 -7
  33. package/src/components/product/Ledger/Supervisory/SupervisoryList.vue +37 -4
  34. package/src/components/product/ServiceView.vue +1 -3
  35. package/dist-android/index.html +0 -3
  36. package/dist-android/static/.gitkeep +0 -0
  37. package/dist-android/static/0.js +0 -2
  38. package/dist-android/static/0.js.map +0 -1
  39. package/dist-android/static/1.js +0 -2
  40. package/dist-android/static/1.js.map +0 -1
  41. package/dist-android/static/10.js +0 -2
  42. package/dist-android/static/10.js.map +0 -1
  43. package/dist-android/static/100.js +0 -2
  44. package/dist-android/static/100.js.map +0 -1
  45. package/dist-android/static/11.js +0 -2
  46. package/dist-android/static/11.js.map +0 -1
  47. package/dist-android/static/12.js +0 -2
  48. package/dist-android/static/12.js.map +0 -1
  49. package/dist-android/static/13.js +0 -2
  50. package/dist-android/static/13.js.map +0 -1
  51. package/dist-android/static/14.js +0 -2
  52. package/dist-android/static/14.js.map +0 -1
  53. package/dist-android/static/15.js +0 -2
  54. package/dist-android/static/15.js.map +0 -1
  55. package/dist-android/static/16.js +0 -2
  56. package/dist-android/static/16.js.map +0 -1
  57. package/dist-android/static/17.js +0 -2
  58. package/dist-android/static/17.js.map +0 -1
  59. package/dist-android/static/18.js +0 -2
  60. package/dist-android/static/18.js.map +0 -1
  61. package/dist-android/static/19.js +0 -2
  62. package/dist-android/static/19.js.map +0 -1
  63. package/dist-android/static/2.js +0 -2
  64. package/dist-android/static/2.js.map +0 -1
  65. package/dist-android/static/20.js +0 -2
  66. package/dist-android/static/20.js.map +0 -1
  67. package/dist-android/static/21.js +0 -2
  68. package/dist-android/static/21.js.map +0 -1
  69. package/dist-android/static/22.js +0 -2
  70. package/dist-android/static/22.js.map +0 -1
  71. package/dist-android/static/23.js +0 -2
  72. package/dist-android/static/23.js.map +0 -1
  73. package/dist-android/static/24.js +0 -2
  74. package/dist-android/static/24.js.map +0 -1
  75. package/dist-android/static/25.js +0 -2
  76. package/dist-android/static/25.js.map +0 -1
  77. package/dist-android/static/26.js +0 -2
  78. package/dist-android/static/26.js.map +0 -1
  79. package/dist-android/static/27.js +0 -2
  80. package/dist-android/static/27.js.map +0 -1
  81. package/dist-android/static/28.js +0 -2
  82. package/dist-android/static/28.js.map +0 -1
  83. package/dist-android/static/29.js +0 -2
  84. package/dist-android/static/29.js.map +0 -1
  85. package/dist-android/static/3.js +0 -2
  86. package/dist-android/static/3.js.map +0 -1
  87. package/dist-android/static/30.js +0 -2
  88. package/dist-android/static/30.js.map +0 -1
  89. package/dist-android/static/31.js +0 -2
  90. package/dist-android/static/31.js.map +0 -1
  91. package/dist-android/static/32.js +0 -2
  92. package/dist-android/static/32.js.map +0 -1
  93. package/dist-android/static/33.js +0 -2
  94. package/dist-android/static/33.js.map +0 -1
  95. package/dist-android/static/34.js +0 -2
  96. package/dist-android/static/34.js.map +0 -1
  97. package/dist-android/static/35.js +0 -2
  98. package/dist-android/static/35.js.map +0 -1
  99. package/dist-android/static/36.js +0 -2
  100. package/dist-android/static/36.js.map +0 -1
  101. package/dist-android/static/37.js +0 -2
  102. package/dist-android/static/37.js.map +0 -1
  103. package/dist-android/static/38.js +0 -2
  104. package/dist-android/static/38.js.map +0 -1
  105. package/dist-android/static/39.js +0 -2
  106. package/dist-android/static/39.js.map +0 -1
  107. package/dist-android/static/4.js +0 -2
  108. package/dist-android/static/4.js.map +0 -1
  109. package/dist-android/static/40.js +0 -2
  110. package/dist-android/static/40.js.map +0 -1
  111. package/dist-android/static/41.js +0 -2
  112. package/dist-android/static/41.js.map +0 -1
  113. package/dist-android/static/42.js +0 -2
  114. package/dist-android/static/42.js.map +0 -1
  115. package/dist-android/static/43.js +0 -2
  116. package/dist-android/static/43.js.map +0 -1
  117. package/dist-android/static/44.js +0 -2
  118. package/dist-android/static/44.js.map +0 -1
  119. package/dist-android/static/45.js +0 -2
  120. package/dist-android/static/45.js.map +0 -1
  121. package/dist-android/static/46.js +0 -2
  122. package/dist-android/static/46.js.map +0 -1
  123. package/dist-android/static/47.js +0 -2
  124. package/dist-android/static/47.js.map +0 -1
  125. package/dist-android/static/48.js +0 -2
  126. package/dist-android/static/48.js.map +0 -1
  127. package/dist-android/static/49.js +0 -2
  128. package/dist-android/static/49.js.map +0 -1
  129. package/dist-android/static/5.js +0 -2
  130. package/dist-android/static/5.js.map +0 -1
  131. package/dist-android/static/50.js +0 -2
  132. package/dist-android/static/50.js.map +0 -1
  133. package/dist-android/static/51.js +0 -2
  134. package/dist-android/static/51.js.map +0 -1
  135. package/dist-android/static/52.js +0 -2
  136. package/dist-android/static/52.js.map +0 -1
  137. package/dist-android/static/53.js +0 -2
  138. package/dist-android/static/53.js.map +0 -1
  139. package/dist-android/static/54.js +0 -2
  140. package/dist-android/static/54.js.map +0 -1
  141. package/dist-android/static/55.js +0 -2
  142. package/dist-android/static/55.js.map +0 -1
  143. package/dist-android/static/56.js +0 -2
  144. package/dist-android/static/56.js.map +0 -1
  145. package/dist-android/static/57.js +0 -2
  146. package/dist-android/static/57.js.map +0 -1
  147. package/dist-android/static/58.js +0 -2
  148. package/dist-android/static/58.js.map +0 -1
  149. package/dist-android/static/59.js +0 -2
  150. package/dist-android/static/59.js.map +0 -1
  151. package/dist-android/static/6.js +0 -2
  152. package/dist-android/static/6.js.map +0 -1
  153. package/dist-android/static/60.js +0 -2
  154. package/dist-android/static/60.js.map +0 -1
  155. package/dist-android/static/61.js +0 -2
  156. package/dist-android/static/61.js.map +0 -1
  157. package/dist-android/static/62.js +0 -2
  158. package/dist-android/static/62.js.map +0 -1
  159. package/dist-android/static/63.js +0 -2
  160. package/dist-android/static/63.js.map +0 -1
  161. package/dist-android/static/64.js +0 -2
  162. package/dist-android/static/64.js.map +0 -1
  163. package/dist-android/static/65.js +0 -2
  164. package/dist-android/static/65.js.map +0 -1
  165. package/dist-android/static/66.js +0 -2
  166. package/dist-android/static/66.js.map +0 -1
  167. package/dist-android/static/67.js +0 -2
  168. package/dist-android/static/67.js.map +0 -1
  169. package/dist-android/static/68.js +0 -2
  170. package/dist-android/static/68.js.map +0 -1
  171. package/dist-android/static/69.js +0 -2
  172. package/dist-android/static/69.js.map +0 -1
  173. package/dist-android/static/7.js +0 -6
  174. package/dist-android/static/7.js.map +0 -1
  175. package/dist-android/static/70.js +0 -2
  176. package/dist-android/static/70.js.map +0 -1
  177. package/dist-android/static/71.js +0 -2
  178. package/dist-android/static/71.js.map +0 -1
  179. package/dist-android/static/72.js +0 -2
  180. package/dist-android/static/72.js.map +0 -1
  181. package/dist-android/static/73.js +0 -2
  182. package/dist-android/static/73.js.map +0 -1
  183. package/dist-android/static/74.js +0 -2
  184. package/dist-android/static/74.js.map +0 -1
  185. package/dist-android/static/75.js +0 -2
  186. package/dist-android/static/75.js.map +0 -1
  187. package/dist-android/static/76.js +0 -2
  188. package/dist-android/static/76.js.map +0 -1
  189. package/dist-android/static/77.js +0 -2
  190. package/dist-android/static/77.js.map +0 -1
  191. package/dist-android/static/78.js +0 -2
  192. package/dist-android/static/78.js.map +0 -1
  193. package/dist-android/static/79.js +0 -2
  194. package/dist-android/static/79.js.map +0 -1
  195. package/dist-android/static/8.js +0 -2
  196. package/dist-android/static/8.js.map +0 -1
  197. package/dist-android/static/80.js +0 -2
  198. package/dist-android/static/80.js.map +0 -1
  199. package/dist-android/static/81.js +0 -2
  200. package/dist-android/static/81.js.map +0 -1
  201. package/dist-android/static/82.js +0 -2
  202. package/dist-android/static/82.js.map +0 -1
  203. package/dist-android/static/83.js +0 -2
  204. package/dist-android/static/83.js.map +0 -1
  205. package/dist-android/static/84.js +0 -2
  206. package/dist-android/static/84.js.map +0 -1
  207. package/dist-android/static/85.js +0 -2
  208. package/dist-android/static/85.js.map +0 -1
  209. package/dist-android/static/86.js +0 -2
  210. package/dist-android/static/86.js.map +0 -1
  211. package/dist-android/static/87.js +0 -2
  212. package/dist-android/static/87.js.map +0 -1
  213. package/dist-android/static/88.js +0 -2
  214. package/dist-android/static/88.js.map +0 -1
  215. package/dist-android/static/89.js +0 -2
  216. package/dist-android/static/89.js.map +0 -1
  217. package/dist-android/static/9.js +0 -3
  218. package/dist-android/static/9.js.map +0 -1
  219. package/dist-android/static/90.js +0 -2
  220. package/dist-android/static/90.js.map +0 -1
  221. package/dist-android/static/91.js +0 -2
  222. package/dist-android/static/91.js.map +0 -1
  223. package/dist-android/static/92.js +0 -2
  224. package/dist-android/static/92.js.map +0 -1
  225. package/dist-android/static/93.js +0 -2
  226. package/dist-android/static/93.js.map +0 -1
  227. package/dist-android/static/94.js +0 -2
  228. package/dist-android/static/94.js.map +0 -1
  229. package/dist-android/static/95.js +0 -2
  230. package/dist-android/static/95.js.map +0 -1
  231. package/dist-android/static/96.js +0 -2
  232. package/dist-android/static/96.js.map +0 -1
  233. package/dist-android/static/97.js +0 -2
  234. package/dist-android/static/97.js.map +0 -1
  235. package/dist-android/static/98.js +0 -2
  236. package/dist-android/static/98.js.map +0 -1
  237. package/dist-android/static/99.js +0 -2
  238. package/dist-android/static/99.js.map +0 -1
  239. package/dist-android/static/app.css +0 -2
  240. package/dist-android/static/app.css.map +0 -1
  241. package/dist-android/static/app.js +0 -80
  242. package/dist-android/static/app.js.map +0 -1
  243. package/dist-android/static/batchleft.png +0 -0
  244. package/dist-android/static/batchright.png +0 -0
  245. package/dist-android/static/bluemainbg.jpg +0 -0
  246. package/dist-android/static/config.json +0 -7
  247. package/dist-android/static/denglu.png +0 -0
  248. package/dist-android/static/glyphicons-halflings-regular.eot +0 -0
  249. package/dist-android/static/glyphicons-halflings-regular.svg +0 -288
  250. package/dist-android/static/glyphicons-halflings-regular.ttf +0 -0
  251. package/dist-android/static/glyphicons-halflings-regular.woff +0 -0
  252. package/dist-android/static/glyphicons-halflings-regular.woff2 +0 -0
  253. package/dist-android/static/huangtengbiaozhi.png +0 -0
  254. package/dist-android/static/jingyin.jpg +0 -0
  255. package/dist-android/static/login_bg.jpg +0 -0
  256. package/dist-android/static/login_title.png +0 -0
  257. package/dist-android/static/login_title1.png +0 -0
  258. package/dist-android/static/loginbg.jpg +0 -0
  259. package/dist-android/static/loginlogo.png +0 -0
  260. package/dist-android/static/main_logo.png +0 -0
  261. package/dist-android/static/mainbg.jpg +0 -0
  262. package/dist-android/static/menulogo.png +0 -0
  263. package/dist-android/static/newmainbg.jpg +0 -0
  264. package/dist-android/static/psicon.png +0 -0
  265. package/dist-android/static/singleleft.png +0 -0
  266. package/dist-android/static/singleright.png +0 -0
  267. package/dist-android/static/treeopen.png +0 -0
  268. package/dist-android/static/treeout.png +0 -0
  269. package/dist-android/static/treeset.png +0 -0
  270. package/dist-android/static/usericon.png +0 -0
  271. package/dist-android/static/workflow_apply.json +0 -766
  272. package/dist-android/static/xinxi.png +0 -0
  273. package/dist-android/static//344/277/256/346/224/271/345/257/206/347/240/201.png +0 -0
  274. package/dist-android/static//345/256/211/346/243/200/345/257/274/350/210/252/347/253/226/345/261/2173.png +0 -0
  275. package/dist-android/static//345/257/274/345/207/272/346/225/260/346/215/256.png +0 -0
  276. package/dist-android/static//346/270/205/347/251/272/346/225/260/346/215/256.png +0 -0
@@ -7,7 +7,7 @@
7
7
  <div class="form-group col-sm-3">
8
8
  <label class="font_normal_body">项目名称:</label>
9
9
  <input type="text" class="input_search" style="width: 60%" v-model="model.f_entry_name"
10
- v-on:keyup.enter="$parent.$parent.search()" condition="u.f_entry_name like '%{}%'" placeholder='项目名称'>
10
+ v-on:keyup.enter="$parent.$parent.search()" placeholder='项目名称' condition="CHARINDEX('{}',u.f_entry_name)>0">
11
11
  </div>
12
12
  <div class="form-group col-sm-3">
13
13
  <label class="font_normal_body">工程编号:</label>
@@ -26,6 +26,7 @@
26
26
  v-if="this.$login.f.f_role_name.includes('信息录入')"
27
27
  @click="$parent.$parent.showModal = !$parent.$parent.showModal">工程发起</button>
28
28
  <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
29
+ <button class="button_search button_spacing" @click="$parent.$parent.comeback()" v-el:cx>返回</button>
29
30
  <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
30
31
  <div
31
32
  :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
@@ -90,6 +91,18 @@
90
91
  style="width: 60%"
91
92
  condition="u.f_address like '%{}%'">
92
93
  </div>
94
+ <div class="form-group col-sm-3">
95
+ <label class="font_normal_body">是否填写过交底时间</label>
96
+ <v-select
97
+ v-model="model.isnull"
98
+ placeholder='项目区域'
99
+ condition="u.f_confess_time is not null and u.f_confess_time !='' and defname='工程前期' and f_apply_type='客户项目'"
100
+ :value.sync="model.isnull"
101
+ :options='$parent.$parent.isnull'
102
+ class="select select_list"
103
+ :value-single="true"
104
+ close-on-select ></v-select>
105
+ </div>
93
106
  </div>
94
107
  </div>
95
108
  </criteria>
@@ -111,41 +124,41 @@
111
124
  </tr>
112
125
  </template>
113
126
  <template partial='body'>
114
- <tr >
115
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
127
+ <tr>
128
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
116
129
  <nobr><font>{{$index+1}}</font></nobr>
117
130
  </td>
118
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
131
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
119
132
  <nobr><font>{{row.f_entry_name}}</font></nobr>
120
133
  </td>
121
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
134
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
122
135
  <nobr><font>{{row.f_project_number}}</font></nobr>
123
136
  </td>
124
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
137
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
125
138
  <nobr><font>{{row.f_apply_type}}</font></nobr>
126
139
  </td>
127
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
140
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
128
141
  <nobr><font>{{row.f_project_type}}</font></nobr>
129
142
  </td>
130
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
143
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
131
144
  <nobr><font>{{row.f_project_area}}</font></nobr>
132
145
  </td>
133
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
146
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
134
147
  <nobr><font>{{row.f_contact}}</font></nobr>
135
148
  </td>
136
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
149
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
137
150
  <nobr><font>{{row.f_phone}}</font></nobr>
138
151
  </td>
139
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
152
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
140
153
  <nobr><font>{{row.f_cea_number}}</font></nobr>
141
154
  </td>
142
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
155
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
143
156
  <nobr><font>{{row.defname}}</font></nobr>
144
157
  </td>
145
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
158
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
146
159
  <nobr><font>{{row.f_address}}</font></nobr>
147
160
  </td>
148
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
161
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]&& [row.isnull==='有'?'you':'wu']" style="text-align: center;">
149
162
  <dropdown>
150
163
  <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
151
164
  <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
@@ -202,6 +215,7 @@
202
215
  applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('项目类型')], // 所有报建类型
203
216
  projectTypes: [{label: '全部', value: ''},...this.$appdata.getParam('工程类型')],
204
217
  projectAreas: [{label: '全部', value: ''}, ...this.$appdata.getParam('项目区域')], // 所有报建类型
218
+ isnull: [{label:'有',value: '有'}],
205
219
  defnames: [{label: '全部', value: ''}], // 流程节点
206
220
  model: new PagedList('rs/sql/checkuser', 20, {
207
221
  data: {
@@ -231,6 +245,9 @@
231
245
  search () {
232
246
  this.$dispatch('search')
233
247
  },
248
+ comeback(){
249
+ this.$dispatch('comeback')
250
+ },
234
251
  // 根据项目类型获取对应的流程节点
235
252
  applyTypeChange () {
236
253
  if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
@@ -334,6 +351,14 @@
334
351
  color: #dc0b12;
335
352
  font-weight:bold
336
353
  }
354
+ .you {
355
+ color: #a94442;
356
+ font-weight:bold
357
+ }
358
+ .wu {
359
+ color: #222222;
360
+ font-weight:bold
361
+ }
337
362
  .p {
338
363
  color: #ffaf4f;
339
364
  }
@@ -296,6 +296,19 @@
296
296
  }
297
297
  },
298
298
  events: {
299
+ //工程前期限制事件
300
+ async 'limit'(){
301
+ debugger
302
+ let rolename=this.$login.f.f_role_name
303
+ debugger
304
+ if(rolename.includes('工程前期申报内容填写权限')) {
305
+ for (const item of this.show_data.fields) {
306
+ if (item.label === '申报单编码' || item.label === '申报单完成时间') {
307
+ item.disabled = false
308
+ }
309
+ }
310
+ }
311
+ },
299
312
  async 'addPEWelding'(index) {
300
313
  let data = {
301
314
  f_process_id : this.show_data.f_process_id,
@@ -458,6 +471,23 @@
458
471
  // 失去焦点出触发事件
459
472
  async 'onchange'(index) {
460
473
 
474
+ // cea号重复提醒
475
+ if(this.show_data.defname==='信息录入'){
476
+ if (this.show_data.fields[index].label==='CEA号'){
477
+ const cea=this.getLableValue('CEA号')
478
+ if(cea){
479
+ let pcdText =`and f_cea_number = '${cea}'`
480
+ new HttpResetClass().load("POST", `${this.$androidUtil.getProxyUrl()}/rs/sql/singleTable`, {data:{items:"*",tablename:"t_apply",condition:` f_sub_state != '终止' ${pcdText} `}}, {resolveMsg: null, rejectMsg: null}).then((res)=>{
481
+ console.log('请求发送完成!!!!!'+JSON.stringify(res))
482
+ if(res.data.length>0){
483
+ this.$showAlert('该cea已经存在!!!', 'warning', 3000)
484
+ }
485
+ })
486
+
487
+ }
488
+ }
489
+ }
490
+
461
491
  if (this.show_data.defname === '编制合同') {
462
492
  if (this.show_data.fields[index].label==='室外安装费'|| this.show_data.fields[index].label==='室外甲供材'|| this.show_data.fields[index].label==='室外设备费'||this.show_data.fields[index].label==='室内安装费'|| this.show_data.fields[index].label==='室内甲供材'|| this.show_data.fields[index].label==='室内设备费') {
463
493
 
@@ -477,19 +507,15 @@
477
507
  let a1 = this.getLableValue('室外安装费')
478
508
  let b1 = this.getLableValue('室外甲供材')
479
509
  let c1=this.getLableValue('室外设备费')
480
- if(this.show_data.f_project_type==='支线'||this.show_data.f_project_type==='主体') {
510
+
481
511
  this.setLabelValue('室外税金', parseFloat(parseFloat(a1) * 0.03).toFixed(2))
482
- this.setLabelValue('室外造价', parseFloat(parseFloat(a1) + parseFloat(b1) + parseFloat(c1) + parseFloat(a1) * 0.03).toFixed(2))
483
- }else{
484
- this.setLabelValue('室外税金', parseFloat(parseFloat(parseFloat(a1) + parseFloat(b1) + parseFloat(c1)) * 0.03).toFixed(2))
485
- this.setLabelValue('室外造价', parseFloat(parseFloat(a1) + parseFloat(b1) + parseFloat(c1)).toFixed(2))
512
+ this.setLabelValue('室外造价', parseFloat(parseFloat(a1) + parseFloat(b1) + parseFloat(c1)).toFixed(2))
486
513
  }
487
- }
488
514
  if(this.show_data.fields[index].label==='室内安装费'|| this.show_data.fields[index].label==='室内甲供材'|| this.show_data.fields[index].label==='室内设备费'){
489
515
  let a2 = this.getLableValue('室内安装费')
490
516
  let b2 = this.getLableValue('室内甲供材')
491
517
  let c2=this.getLableValue('室内设备费')
492
- this.setLabelValue('室内税金', parseFloat(parseFloat(parseFloat(a2) + parseFloat(b2) + parseFloat(c2)) * 0.03).toFixed(2))
518
+ this.setLabelValue('室内税金', parseFloat(parseFloat(a2) * 0.03).toFixed(2))
493
519
  this.setLabelValue('室内造价',parseFloat(parseFloat(a2) + parseFloat(b2) + parseFloat(c2)).toFixed(2))
494
520
  }
495
521
 
@@ -0,0 +1,330 @@
1
+ <template>
2
+ <div class="select-overspread" style="background-color: #ffffff;padding: 20px;overflow: scroll">
3
+ <form class="form-horizontal">
4
+ <div class="form-group">
5
+ <!-- 添加设备 -->
6
+ <validator name="v">
7
+ <div class="col-sm-12">
8
+ <data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
9
+ <template partial='head'>
10
+ <tr>
11
+ <th style="white-space: nowrap;">序号</th>
12
+ <th style="white-space: nowrap;">材料编码</th>
13
+ <th style="white-space: nowrap;">材料名称</th>
14
+ <th style="white-space: nowrap;">材料型号</th>
15
+ <th style="white-space: nowrap;">材料规格</th>
16
+ <th style="white-space: nowrap;">单位</th>
17
+ <th style="white-space: nowrap;">备注</th>
18
+ <th style="white-space: nowrap;">
19
+ <button @click="$parent.$parent.openModal()" type="button" class="btn btn-info">
20
+ <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
21
+ </button>
22
+ <a href="/download/秦华材料批量导入模板.xlsx" type="button" class="btn btn-info">模板下载</a>
23
+ <button @click="$parent.$parent.showFile = !$parent.$parent.showFile" type="button" class="btn btn-info">批量导入</button>
24
+ </th>
25
+ </tr>
26
+ </template>
27
+ <template partial='body'>
28
+ <tr>
29
+ <td style="text-align: center;">{{$index+1}}</td>
30
+ <td style="text-align: center;">{{row.f_qhmaterial_coding}}</td>
31
+ <td style="text-align: center;">{{row.f_qhmaterial_name}}</td>
32
+ <td style="text-align: center;">{{row.f_qhmaterial_model}}</td>
33
+ <td style="text-align: center;">{{row.f_qhmaterial_norm}}</td>
34
+ <td style="text-align: center;">{{row.f_qhunit}}</td>
35
+ <td style="text-align: center;">{{row.f_qhremarks}}</td>
36
+ <td style="text-align: center;">
37
+ <button type="button" name="button" class="btn btn-link" @click="$parent.$parent.openUpdateFacility($index,row)">修改</button>
38
+ <button type="button" name="button" class="btn btn-link" @click="$parent.$parent.deleteFacility($index)">删除</button>
39
+ </td>
40
+ </tr>
41
+ </template>
42
+ </data-grid>
43
+ </div>
44
+ <div class="col-sm-12 form-group" style="text-align: center">
45
+ <button class="btn btn-primary" :disabled='!($v.valid && model.data.length > 0)' @click.prevent="addoldFacility()">保存</button>
46
+ </div>
47
+ </validator>
48
+
49
+ <validator name="mv">
50
+ <modal v-if="showFacility" :show.sync="showFacility" backdrop="false" large>
51
+ <header slot="modal-header" class="modal-header">
52
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
53
+ <span class="modal-title"><font size="3">添加材料</font></span>
54
+ </header>
55
+ <article slot="modal-body" class="form-horizontal modal-body clearfix">
56
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhmaterial_coding.required ? 'has-error' : '']">
57
+ <label class="control-label col-sm-2">材料编码</label>
58
+ <div class="col-sm-9">
59
+ <input class="form-control" type="text" v-validate:f_qhmaterial_coding = "['required']" v-model="facility.f_qhmaterial_coding" :value="facility.f_qhmaterial_coding"/>
60
+ </div>
61
+ </div>
62
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhmaterial_name.required ? 'has-error' : '']">
63
+ <label class="control-label col-sm-2">材料名称</label>
64
+ <div class="col-sm-9">
65
+ <input class="form-control" type="text" v-validate:f_unit = "['required']" v-model="facility.f_qhmaterial_name" :value="facility.f_qhmaterial_name"/>
66
+ </div>
67
+ </div>
68
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhmaterial_model.required ? 'has-error' : '']">
69
+ <label class="control-label col-sm-2">材料型号</label>
70
+ <div class="col-sm-9">
71
+ <input class="form-control" type="text" v-validate:f_unit = "['required']" v-model="facility.f_qhmaterial_model" :value="facility.f_qhmaterial_model"/>
72
+ </div>
73
+ </div>
74
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhmaterial_norm.required ? 'has-error' : '']">
75
+ <label class="control-label col-sm-2">材料规格</label>
76
+ <div class="col-sm-9">
77
+ <input class="form-control" type="text" v-validate:f_unit = "['required']" v-model="facility.f_qhmaterial_norm" :value="facility.f_qhmaterial_norm"/>
78
+ </div>
79
+ </div>
80
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhunit.required ? 'has-error' : '']">
81
+ <label class="control-label col-sm-2">单位</label>
82
+ <div class="col-sm-9">
83
+ <input class="form-control" type="text" v-validate:f_unit = "['required']" v-model="facility.f_qhunit" :value="facility.f_qhunit"/>
84
+ </div>
85
+ </div>
86
+ <div class="col-sm-12 form-group" :class="[$mv.f_qhremarks.required ? 'has-error' : '']">
87
+ <label class="control-label col-sm-2">备注</label>
88
+ <div class="col-sm-9">
89
+ <input class="form-control" type="text" v-model="facility.f_qhremarks" :value="facility.f_qhremarks"/>
90
+ </div>
91
+ </div>
92
+ </article>
93
+ <footer slot="modal-footer" class="modal-footer">
94
+ <button class="btn btn-primary" type="button" @click.prevent="saveOrUpdateFacility()" :disabled='!$mv.valid'>确认</button>
95
+ </footer>
96
+ </modal>
97
+ </validator>
98
+ <modal :show.sync="showFile" v-ref:modal backdrop="true" title="选择文件">
99
+ <header slot="modal-header" class="modal-header">
100
+ <button type="button" class="close" @click="closeFile"><span>&times;</span></button>
101
+ <h4 class="modal-title">选择文件</h4>
102
+ </header>
103
+ <article slot="modal-body" class="modal-body">
104
+ <div class="form-group">
105
+ <file-upload class="my-file-uploader" name="useraddressUploadFile" action="rs/file/uploadFile" tagname="确定" multiple v-ref:file></file-upload>
106
+ </div>
107
+ </article>
108
+ <footer slot="modal-footer" class="modal-footer"></footer>
109
+ </modal>
110
+ </div>
111
+ </form>
112
+ </div>
113
+ </template>
114
+
115
+ <script>
116
+ import {HttpResetClass} from 'vue-client'
117
+ import {isEmpty} from '../../../../Util'
118
+ export default {
119
+ title: '设备信息',
120
+ data () {
121
+ return {
122
+ showFile:false,
123
+ contractList: [],
124
+ contract: {},
125
+ material: {},
126
+ contractFacility: [],
127
+ model: {
128
+ data: []
129
+ },
130
+ showFacility: false,
131
+ facility: {},
132
+ index: null
133
+ }
134
+ },
135
+ ready () {
136
+ },
137
+ methods: {
138
+ closeFile () {
139
+ this.showFile = false
140
+ // 将选的文件清空
141
+ this.$refs.file.$el.querySelector('input').value = ''
142
+ },
143
+ // 添加设备
144
+ addoldFacility () {
145
+ let data = {
146
+ contract: this.contract,
147
+ data: this.model.data
148
+ }
149
+ this.$dispatch('addoldFacility', data)
150
+ },
151
+ // 打开修改
152
+ async openUpdateFacility (index, facility) {
153
+ await this.getContractFacility()
154
+
155
+ this.index = index
156
+ this.facility = JSON.parse(JSON.stringify(facility))
157
+
158
+ this.showFacility = true
159
+ },
160
+ // 删除
161
+ async deleteFacility (index) {
162
+ this.index = index
163
+ await this.$showMessage('您确定要删除这条记录吗?').then((res) => {
164
+ if (res === 'confirm') {
165
+ this.model.data.splice(this.index, 1)
166
+ }
167
+ })
168
+ this.closeModal()
169
+ },
170
+ // 添加或修改
171
+ saveOrUpdateFacility () {
172
+ debugger
173
+ let flag = this.model.data.some(item => {
174
+ debugger
175
+ if (
176
+ item.f_qhmaterial_coding === this.facility.f_qhmaterial_coding &&
177
+ item.f_qhmaterial_name === this.facility.f_qhmaterial_name &&
178
+ item.f_qhmaterial_norm === this.facility.f_qhmaterial_norm &&
179
+ item.f_qhmaterial_model === this.facility.f_qhmaterial_model &&
180
+ item.f_qhunit === this.facility.f_qhunit
181
+ ) {
182
+ return true
183
+ }
184
+ return false
185
+ })
186
+ if (flag) {
187
+ if (isEmpty(i)) {
188
+ this.$showAlert('该材料已经存在!!!', 'warning', 3000)
189
+ } else {
190
+ throw `第${i}行材料已经存在!!!`
191
+ }
192
+
193
+ } else {
194
+ if (isEmpty(this.index)) {
195
+ this.model.data.push(this.facility)
196
+ } else {
197
+ this.model.data.splice(this.index, 1, this.facility)
198
+ }
199
+ }
200
+ this.closeModal()
201
+ },
202
+ // 关闭
203
+ closeModal () {
204
+ this.showFacility = false
205
+ this.index = null
206
+ this.facility = null
207
+ this.contractFacility = []
208
+ },
209
+ async openModal () {
210
+ this.showFacility = true
211
+ },
212
+ async getContractFacility () {
213
+ let data = {
214
+ tablename: 't_qinhua_material',
215
+ condition: `1=1`
216
+ }
217
+
218
+ let res = await this.$resetpost(
219
+ `rs/sql/singleTable`,
220
+ {data: data},
221
+ {resolveMsg: null, rejectMsg: '材料查询失败!!!'}
222
+ )
223
+ debugger
224
+ res.data.forEach(item => {
225
+ this.contractFacility.push({
226
+ 'label': `$${item.f_qhmaterial_coding}--${item.f_qhmaterial_name}$--${item.qhmaterial_model}--${item.f_qhmaterial_norm}--${item.f_qhunit}`,
227
+ 'value': item
228
+ })
229
+ })
230
+ },
231
+ },
232
+ events: {
233
+ async 'onFileUpload'(file, result) {
234
+ let data = {
235
+ filepath: result.f_downloadpath
236
+ }
237
+ let res = await this.$resetpost(`rs/logic/addQhDaoru`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败', silent: true}, 0)
238
+
239
+ console.log('----------解析内容--------------')
240
+ console.log(res.data)
241
+
242
+ let i = 1
243
+ for (const item of res.data) {
244
+ debugger
245
+ this.facility = item.qinhua_material
246
+
247
+ try {
248
+ this.saveOrUpdateFacility(i)
249
+ } catch (e) {
250
+ this.$showAlert(e, 'danger', 3000)
251
+ this.closeFile()
252
+ return
253
+ }
254
+ i++
255
+ }
256
+
257
+ this.$showAlert(`成功导入${i}条数据`, 'success', 3000)
258
+ this.closeFile()
259
+ }
260
+ }
261
+ }
262
+ </script>
263
+
264
+ <style scoped>
265
+ .item{
266
+ height: 40px;
267
+ margin-bottom: 20px;
268
+ }
269
+
270
+ th{
271
+ font-size: 15px !important;
272
+ text-align: center !important;
273
+ background-color: #dfedfb!important;
274
+ color: #666666 !important;
275
+ font-family: PINGFANG-BOLD !important;
276
+ font-weight: normal!important;
277
+ }
278
+ /*清除model中的浮动*/
279
+ .clearfix:after,.clearfix:before{
280
+ display: table;
281
+ }
282
+ .clearfix:after{
283
+ clear: both;
284
+ }
285
+
286
+ .input_view{
287
+ padding: 8px;
288
+ background-color: #ffffff;
289
+ border-radius: 2px;
290
+ border: solid 1px #c7c7c7!important;
291
+ color: #333333!important;
292
+ font-size: 15px!important;
293
+ }
294
+
295
+ .input_view[readonly]{
296
+ border: 1px solid #DDD!important;
297
+ /*background-color: #F5F5F5;*/
298
+ color:#ACA899!important;
299
+ }
300
+ .input_view:disabled{
301
+ border: 1px solid #DDD!important;
302
+ /*background-color: #F5F5F5;*/
303
+ color:#ACA899!important;
304
+ }
305
+
306
+ .control-label-justify {
307
+ display: inline-block;
308
+ vertical-align: top;
309
+ width: 110px;
310
+ text-align: justify;
311
+ font-family: PingFang-SC-Bold;
312
+ }
313
+
314
+ .control-label-justify::after {
315
+ content: "";
316
+ display: inline-block;
317
+ width: 70px;
318
+ overflow: hidden;
319
+ height: 0;
320
+ }
321
+
322
+ input::-webkit-outer-spin-button,
323
+ input::-webkit-inner-spin-button {
324
+ -webkit-appearance: none;
325
+ }
326
+
327
+ input[type="number"] {
328
+ -moz-appearance: textfield;
329
+ }
330
+ </style>