safecheck-client 3.1.1-gaomi-5 → 4.0.1

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 (696) hide show
  1. package/build/dev-server.js +70 -41
  2. package/build/example-server.js +4 -4
  3. package/build/webpack.base.conf.js +3 -1
  4. package/docs/FormPrint.md +1 -1
  5. package/docs/GridTree.md +4 -4
  6. package/docs/PrintFile.md +2 -2
  7. package/docs/tree.md +2 -2
  8. package/examples/ChangeConfig/comp.js +1 -1
  9. package/examples/PhoneSafePlan/comp.js +1 -1
  10. package/examples/SafePlan/App.vue +28 -58
  11. package/examples/SafePlan/comp.js +135 -334
  12. package/examples/SafePlan/index.html +0 -1
  13. package/examples/SafePlan-aode/App.vue +68 -17
  14. package/examples/SafePlan-aode/comp.js +496 -87
  15. package/examples/SafePlan-aode/index.html +1 -0
  16. package/examples/SafePlan-aode-ts/App.vue +90 -0
  17. package/examples/{SafePlan-liaoyuan → SafePlan-aode-ts}/comp.js +633 -501
  18. package/examples/{SafePlan-liaoyuan → SafePlan-aode-ts}/index.html +2 -2
  19. package/examples/SafePlan-aodezx/App.vue +89 -0
  20. package/examples/SafePlan-aodezx/comp.js +1538 -0
  21. package/examples/{SafePlan-shaoguan → SafePlan-aodezx}/index.html +2 -2
  22. package/examples/SafePlan-aodezx-ts/App.vue +89 -0
  23. package/examples/SafePlan-aodezx-ts/comp.js +1532 -0
  24. package/examples/{SafePlanrongcheng → SafePlan-aodezx-ts}/index.html +2 -2
  25. package/examples/SafePlanItem/comp.js +2 -2
  26. package/examples/UserFiles/comp.js +4 -4
  27. package/package.json +9 -11
  28. package/src/AndroidApp.vue +10 -8
  29. package/src/App.vue +10 -3
  30. package/src/android.js +8 -2
  31. package/src/assets/Excelformat.png +0 -0
  32. package/src/assets/addnew.png +0 -0
  33. package/src/assets/addpic.png +0 -0
  34. package/src/assets/banner.jpg +0 -0
  35. package/src/assets/baochi.png +0 -0
  36. package/src/assets/baoxiuxinxi.png +0 -0
  37. package/src/assets/bg_mobile_foot.png +0 -0
  38. package/src/assets/bg_mobile_head.png +0 -0
  39. package/src/assets/caozuo.png +0 -0
  40. package/src/assets/chongxinpaifa.png +0 -0
  41. package/src/assets/cqzm.png +0 -0
  42. package/src/assets/cqzm1.png +0 -0
  43. package/src/assets/daibangongdan.png +0 -0
  44. package/src/assets/dancheng.png +0 -0
  45. package/src/assets/doc.jpg +0 -0
  46. package/src/assets/doubledown.png +0 -0
  47. package/src/assets/edit.png +0 -0
  48. package/src/assets/excel.jpg +0 -0
  49. package/src/assets/feiyong.png +0 -0
  50. package/src/assets/gongdantixing.png +0 -0
  51. package/src/assets/guaduan.png +0 -0
  52. package/src/assets/guanbishengyin.png +0 -0
  53. package/src/assets/guandao.png +0 -0
  54. package/src/assets/guzhanghuizong.png +0 -0
  55. package/src/assets/heart.png +0 -0
  56. package/src/assets/horse.mp3 +0 -0
  57. package/src/assets/huchu.png +0 -0
  58. package/src/assets/huifang.png +0 -0
  59. package/src/assets/huiyi.png +0 -0
  60. package/src/assets/huneiweixiu.png +0 -0
  61. package/src/assets/jianting.png +0 -0
  62. package/src/assets/jinbenxinxi.png +0 -0
  63. package/src/assets/jingyin.png +0 -0
  64. package/src/assets/juxing.png +0 -0
  65. package/src/assets/kaixiaochai.jpg +0 -0
  66. package/src/assets/lingsheng.mp3 +0 -0
  67. package/src/assets/list.png +0 -0
  68. package/src/assets/logo.png +0 -0
  69. package/src/assets/luyi.png +0 -0
  70. package/src/assets/movie.ogg +0 -0
  71. package/src/assets/mp3.png +0 -0
  72. package/src/assets/nopic.png +0 -0
  73. package/src/assets/novoice.png +0 -0
  74. package/src/assets/pdf.jpg +0 -0
  75. package/src/assets/person.png +0 -0
  76. package/src/assets/play.png +0 -0
  77. package/src/assets/psicon.png +0 -0
  78. package/src/assets/qrcode_no.png +0 -0
  79. package/src/assets/qrcode_no1.png +0 -0
  80. package/src/assets/quxiaobaochi.png +0 -0
  81. package/src/assets/quxiaojingyin.png +0 -0
  82. package/src/assets/scanCode.png +0 -0
  83. package/src/assets/search.png +0 -0
  84. package/src/assets/searchhover.png +0 -0
  85. package/src/assets/serachactive.png +0 -0
  86. package/src/assets/shangchuan.png +0 -0
  87. package/src/assets/shebeiweixiu.png +0 -0
  88. package/src/assets/shengyin1.png +0 -0
  89. package/src/assets/shengyin2.png +0 -0
  90. package/src/assets/shengyin3.png +0 -0
  91. package/src/assets/shipin1.mp4 +0 -0
  92. package/src/assets/shipinst1.jpg +0 -0
  93. package/src/assets/success.png +0 -0
  94. package/src/assets/telphonesend.png +0 -0
  95. package/src/assets/titleicon01.png +0 -0
  96. package/src/assets/usericon.png +0 -0
  97. package/src/assets/video.png +0 -0
  98. package/src/assets/waibo.png +0 -0
  99. package/src/assets/x.png +0 -0
  100. package/src/assets/xiangcheng.png +0 -0
  101. package/src/assets/xiaoxitixing.png +0 -0
  102. package/src/assets/xihua.png +0 -0
  103. package/src/assets/yinpin.mp3 +0 -0
  104. package/src/assets/zhimang.png +0 -0
  105. package/src/assets/zhixian.png +0 -0
  106. package/src/assets/zhoukou.png +0 -0
  107. package/src/assets/zhuan.png +0 -0
  108. package/src/assets/zhuanjie.png +0 -0
  109. package/src/assets/zhuanyi.png +0 -0
  110. package/src/assets//344/270/212/344/274/240.png +0 -0
  111. package/src/assets//344/270/213/347/256/255/345/244/264.png +0 -0
  112. package/src/assets//344/270/252/344/272/272/344/272/214/347/273/264/347/240/201.png +0 -0
  113. package/src/assets//344/273/273/345/212/241-hover.png +0 -0
  114. package/src/assets//344/273/273/345/212/241.png +0 -0
  115. package/src/assets//344/273/273/345/212/241/344/270/212/344/274/240-hover.png +0 -0
  116. package/src/assets//344/273/273/345/212/241/344/270/212/344/274/240.png +0 -0
  117. package/src/assets//344/277/235/345/255/230.png +0 -0
  118. package/src/assets//344/277/235/351/231/251/346/234/215/345/212/241.png +0 -0
  119. package/src/assets//345/205/266/344/273/226/345/212/237/350/203/275-hover.png +0 -0
  120. package/src/assets//345/205/266/344/273/226/345/212/237/350/203/275.png +0 -0
  121. package/src/assets//345/205/266/344/273/226/346/224/266/350/264/271.png +0 -0
  122. package/src/assets//345/205/266/344/273/226/346/224/266/350/264/2711.png +0 -0
  123. package/src/assets//345/215/225/345/205/203.png +0 -0
  124. package/src/assets//345/215/225/351/200/211/350/242/253/351/200/211@3x.png +0 -0
  125. package/src/assets//345/215/225/351/200/211/351/273/230/350/256/244@3x.png +0 -0
  126. package/src/assets//345/215/241/345/217/267 (1).png +0 -0
  127. package/src/assets//345/215/241/345/217/267.png +0 -0
  128. package/src/assets//345/216/206/345/217/262/346/237/245/350/257/242-hover.png +0 -0
  129. package/src/assets//345/216/206/345/217/262/346/237/245/350/257/242.png +0 -0
  130. package/src/assets//345/216/213/345/212/233.png +0 -0
  131. package/src/assets//345/217/226/346/266/210.png +0 -0
  132. package/src/assets//345/217/263/351/224/256/345/244/264.png +0 -0
  133. package/src/assets//345/220/216/351/200/200.png +0 -0
  134. package/src/assets//345/222/250/350/257/242/345/215/225.png +0 -0
  135. package/src/assets//345/224/256/346/260/2241.png +0 -0
  136. package/src/assets//345/233/236/346/224/266/347/253/231.png +0 -0
  137. package/src/assets//345/234/206/350/247/222/347/237/251/345/275/242-7.png +0 -0
  138. package/src/assets//345/244/251/347/204/266/346/260/224.png +0 -0
  139. package/src/assets//345/260/217/345/214/272.png +0 -0
  140. package/src/assets//345/260/217/345/214/272/350/223/235/350/211/262.png +0 -0
  141. package/src/assets//345/267/245/345/215/225/344/270/212/344/274/240.png +0 -0
  142. package/src/assets//345/267/245/345/215/225/347/273/237/350/256/241.png +0 -0
  143. package/src/assets//345/267/256/345/200/274.png +0 -0
  144. package/src/assets//345/267/262/345/212/236/345/267/245/345/215/225.png +0 -0
  145. package/src/assets//345/267/262/345/217/226/346/266/210/345/267/245/345/215/225.png +0 -0
  146. package/src/assets//345/267/262/345/256/214/346/210/220/345/267/245/345/215/225.png +0 -0
  147. package/src/assets//345/267/262/345/256/214/347/273/223/345/267/245/345/215/225.png +0 -0
  148. package/src/assets//345/267/262/351/200/276/346/234/237/345/267/245/345/215/225.png +0 -0
  149. package/src/assets//345/274/200/345/247/213/346/227/266/351/227/264.png +0 -0
  150. package/src/assets//345/275/242/347/212/266-2.png +0 -0
  151. package/src/assets//345/275/242/347/212/266-4.png +0 -0
  152. package/src/assets//345/275/242/347/212/266-6.png +0 -0
  153. package/src/assets//345/276/205/345/212/236/345/267/245/345/215/225.png +0 -0
  154. package/src/assets//346/210/221-hover.png +0 -0
  155. package/src/assets//346/210/221.png +0 -0
  156. package/src/assets//346/211/213/346/234/272/346/212/204/350/241/250/347/263/273/347/273/237.png +0 -0
  157. package/src/assets//346/211/253/344/270/200/346/211/253.png +0 -0
  158. package/src/assets//346/211/253/347/240/2012.png +0 -0
  159. package/src/assets//346/212/204/350/241/250/344/273/273/345/212/241-hover.png +0 -0
  160. package/src/assets//346/212/204/350/241/250/344/273/273/345/212/241.png +0 -0
  161. package/src/assets//346/212/225/350/257/211/345/215/225.png +0 -0
  162. package/src/assets//346/213/215/347/205/247/347/255/276/345/220/215.png +0 -0
  163. package/src/assets//346/215/242/350/241/250.png +0 -0
  164. package/src/assets//346/215/242/350/241/2501.png +0 -0
  165. package/src/assets//346/224/266/350/264/271.png +0 -0
  166. package/src/assets//346/225/260/346/215/256.png +0 -0
  167. package/src/assets//346/237/245/350/257/242.png +0 -0
  168. package/src/assets//346/240/207/351/242/230.png +0 -0
  169. package/src/assets//346/243/200/346/237/245/345/215/225.png +0 -0
  170. package/src/assets//346/245/274/345/261/202.png +0 -0
  171. package/src/assets//346/266/210/346/201/257-hover.png +0 -0
  172. package/src/assets//346/266/210/346/201/257.png +0 -0
  173. package/src/assets//346/270/251/345/272/246.png +0 -0
  174. package/src/assets//347/205/247/347/211/207.png +0 -0
  175. package/src/assets//347/207/203/346/260/224/345/231/250/345/205/267/344/277/241/346/201/257.png +0 -0
  176. package/src/assets//347/207/203/346/260/224/350/241/250.png +0 -0
  177. package/src/assets//347/224/250/346/210/267ID.png +0 -0
  178. package/src/assets//347/224/250/346/210/267/345/247/223/345/220/215-/350/223/235/350/211/262.png +0 -0
  179. package/src/assets//347/224/250/346/210/267/345/247/223/345/220/215.png +0 -0
  180. package/src/assets//347/224/250/346/210/267/346/237/245/350/257/242-hover.png +0 -0
  181. package/src/assets//347/224/250/346/210/267/346/237/245/350/257/242.png +0 -0
  182. package/src/assets//347/224/250/346/210/267/347/261/273/345/236/213.png +0 -0
  183. package/src/assets//347/224/250/346/210/267/347/274/226/345/217/267.png +0 -0
  184. package/src/assets//347/236/254/346/227/266.png +0 -0
  185. package/src/assets//347/264/257/350/256/241.png +0 -0
  186. package/src/assets//347/264/257/350/256/241/345/215/225/346/225/260.png +0 -0
  187. package/src/assets//347/273/2045.png +0 -0
  188. package/src/assets//347/273/223/346/235/237/346/227/266/351/227/264.png +0 -0
  189. package/src/assets//347/273/264/344/277/256/345/215/225.png +0 -0
  190. package/src/assets//347/274/226/350/276/221.png +0 -0
  191. package/src/assets//347/274/264/350/264/271/350/257/246/346/203/205.png +0 -0
  192. package/src/assets//350/241/245/345/215/241 1.png +0 -0
  193. package/src/assets//350/241/245/345/215/241.png +0 -0
  194. package/src/assets//350/241/245/345/215/2411.png +0 -0
  195. package/src/assets//350/241/250/345/217/267.png +0 -0
  196. package/src/assets//350/241/250/345/220/215.png +0 -0
  197. package/src/assets//350/241/250/347/261/273/345/236/213.png +0 -0
  198. package/src/assets//350/241/250/347/261/273/345/236/213icon.png +0 -0
  199. package/src/assets//350/256/242/345/215/225/347/212/266/346/200/201.png +0 -0
  200. package/src/assets//350/256/276/347/275/256-hover.png +0 -0
  201. package/src/assets//350/256/276/347/275/256.png +0 -0
  202. package/src/assets//350/257/273/345/215/241.png +0 -0
  203. package/src/assets//350/257/273/345/215/2411.png +0 -0
  204. package/src/assets//350/264/255/346/260/224/347/274/264/350/264/271.png +0 -0
  205. package/src/assets//350/277/233/350/241/214/344/270/255/345/267/245/345/215/225.png +0 -0
  206. package/src/assets//351/200/232/350/256/257/345/275/225-hover.png +0 -0
  207. package/src/assets//351/200/232/350/256/257/345/275/225.png +0 -0
  208. package/src/assets//351/227/250/347/211/214.png +0 -0
  209. package/src/assets//351/231/204/345/261/236/350/256/276/345/244/207/344/277/241/346/201/257.png +0 -0
  210. package/src/bootstrap/fonts/PINGFANG LIGHT.TTF +0 -0
  211. package/src/bootstrap/fonts/PingFangSC-Regular.ttf +0 -0
  212. package/src/bootstrap/fonts/pingfang-bold.ttf +0 -0
  213. package/src/bootstrap/fonts/pingfang-medium.ttf +0 -0
  214. package/src/bootstrap/fonts/pingfang-regular.ttf +0 -0
  215. package/src/bootstrap/fonts/trendstrends.ttf +0 -0
  216. package/src/bootstrap/less/bootstrap.less +3 -2
  217. package/src/bootstrap/less/fonts-list.less +25 -0
  218. package/src/bootstrap/less/glyphicons.less +2 -2
  219. package/src/bootstrap/less/stand.less +2 -2
  220. package/src/bootstrap/less/variables.less +2 -2
  221. package/src/components/Test.vue +49 -551
  222. package/src/components/Util/ImageViewer.vue +369 -0
  223. package/src/components/Util/ImgSelfSafe.vue +744 -81
  224. package/src/components/Util.js +86 -0
  225. package/src/components/android/AddGas.vue +2 -2
  226. package/src/components/android/AddPlanItem.vue +105 -224
  227. package/src/components/android/AdviseCommit.vue +1 -1
  228. package/src/components/android/AndroidCheckResult.vue +1 -1
  229. package/src/components/android/Announcement.vue +43 -42
  230. package/src/components/android/AreaPlan.vue +20 -34
  231. package/src/components/android/CheckMeterAlreadyReading.vue +475 -0
  232. package/src/components/android/CheckMeterReading.vue +657 -0
  233. package/src/components/android/CheckMeterReadingNoncivil.vue +1097 -0
  234. package/src/components/android/CheckNotice.vue +1 -1
  235. package/src/components/android/CheckPlan.vue +2 -2
  236. package/src/components/android/CheckPlanDown.vue +83 -34
  237. package/src/components/android/CheckPlanItems.vue +2 -2
  238. package/src/components/android/CheckerMonthly.vue +1 -1
  239. package/src/components/android/CurrentCreate.vue +1194 -985
  240. package/src/{filiale/wuan/android/CurrentCreate.vue → components/android/DailyworkloadQuery.vue} +172 -380
  241. package/src/components/android/Devices.vue +1 -2
  242. package/src/components/android/DevicesItemm.vue +28 -13
  243. package/src/components/android/Devicesm.vue +29 -8
  244. package/src/components/android/DoorService.vue +3 -3
  245. package/src/components/android/ExtractCheckPlan.vue +1 -1
  246. package/src/components/android/ExtractPlanItem.vue +61 -99
  247. package/src/components/android/InsureManagement.vue +258 -0
  248. package/src/components/android/LcheckUnplan.vue +1 -1
  249. package/src/components/android/Login.vue +1 -1
  250. package/src/components/android/PaperFeedback.vue +470 -566
  251. package/src/components/android/PaperFeedbackm.vue +5 -16
  252. package/src/components/android/PaperMessage.vue +62 -60
  253. package/src/components/android/PaperMessageNocivil.vue +79 -61
  254. package/src/components/android/PaperMeter.vue +1 -1
  255. package/src/components/android/PaperMeterNoncivil.vue +1 -1
  256. package/src/components/android/PaperSet.vue +5 -5
  257. package/src/components/android/PaperSetNoncivil.vue +4 -4
  258. package/src/components/android/PaperUser.vue +1 -1
  259. package/src/components/android/PaperUserNoncivil.vue +1 -1
  260. package/src/components/android/PhoneChangemeterInfo.vue +1 -1
  261. package/src/components/android/PhoneSellInfo.vue +1 -1
  262. package/src/components/android/PhoneState.vue +2 -2
  263. package/src/components/android/PhoneUserFind.vue +1 -1
  264. package/src/components/android/PlanChooserAndroid.vue +133 -0
  265. package/src/components/android/PrearrangedPlan.vue +1 -1
  266. package/src/components/android/QueryCheckHandplanAlreadyList.vue +408 -0
  267. package/src/components/android/QueryCheckHandplanList.vue +426 -0
  268. package/src/components/android/RepairList.vue +4 -4
  269. package/src/components/android/RepairQuery.vue +1 -1
  270. package/src/components/android/ResAreaList.vue +1 -1
  271. package/src/components/android/SafecheckDevices.vue +386 -80
  272. package/src/components/android/SafecheckOrderV.vue +1530 -412
  273. package/src/components/android/SafecheckState.vue +1 -1
  274. package/src/components/android/SafecheckUser.vue +1 -1
  275. package/src/components/android/SelectTask.vue +244 -0
  276. package/src/components/android/SystemSetting.vue +1 -1
  277. package/src/components/android/TableAnomalyRecords.vue +122 -0
  278. package/src/components/android/UploadImgList.vue +249 -0
  279. package/src/components/android/UploadPage.vue +44 -12
  280. package/src/components/android/changePlanId.vue +504 -0
  281. package/src/components/android/checkPlanResult.vue +2 -2
  282. package/src/components/android/old/PaperFeedback.vue +4 -4
  283. package/src/components/android/userinfo/PhoneUpUserinfo.vue +1120 -0
  284. package/src/components/android/userinfo/SafecheckUserInfo.vue +246 -241
  285. package/src/components/android/wasm/comp.js +1 -1
  286. package/src/components/attendance/DailyAttendance.vue +1 -1
  287. package/src/components/attendance/MonthlyAttendance.vue +4 -4
  288. package/src/components/callincheck/CallInCheckMain.vue +1 -1
  289. package/src/components/callincheck/CallInPlan.vue +1 -1
  290. package/src/components/callincheck/UserFileList.vue +1 -1
  291. package/src/components/checkerphonestate/Checker.vue +1 -1
  292. package/src/components/checkerphonestate/CheckerState.vue +1 -1
  293. package/src/components/checkplan/CheckDetail.vue +4 -21
  294. package/src/components/checkplan/CheckPlan.vue +12 -13
  295. package/src/components/checkplan/SelectCheckPlan.vue +200 -182
  296. package/src/components/checkplan/SelectMessage.vue +1 -1
  297. package/src/components/checkplan/checkmsg.vue +163 -354
  298. package/src/components/cockpit/Splash.vue +1 -1
  299. package/src/components/cockpit/SplashDetail.vue +1 -1
  300. package/src/components/createcheckplan/CreatePlan.vue +11 -11
  301. package/src/components/createcheckplan/DelPlanRepeat.vue +5 -5
  302. package/src/components/createcheckplan/PlanList.vue +6 -6
  303. package/src/components/createcheckplan/PlanUersList.vue +4 -4
  304. package/src/components/defect/DefectDetail.vue +3 -3
  305. package/src/components/defect/DefectList.vue +92 -39
  306. package/src/components/defect/DefectMain.vue +10 -20
  307. package/src/components/defect/DefectPaper.vue +499 -403
  308. package/src/components/defect/ImgButton.vue +7 -3
  309. package/src/components/defects/AddDefectModal.vue +2 -2
  310. package/src/components/defects/AddDevice.vue +1 -1
  311. package/src/components/defects/CheckPaperItem.vue +4 -4
  312. package/src/components/defects/CheckPaperItems.vue +1 -1
  313. package/src/components/defects/CheckPaperSearch.vue +3 -74
  314. package/src/components/defects/DefectSeting.vue +2 -2
  315. package/src/components/defects/DefectsQuery.vue +1 -1
  316. package/src/components/defects/DevicesSeting.vue +1 -1
  317. package/src/components/discrepancy/differenceMain.vue +47 -0
  318. package/src/components/discrepancy/differencePaper.vue +554 -0
  319. package/src/components/equipment/BoilerUsage.vue +1 -1
  320. package/src/components/equipment/CheckRate.vue +7 -7
  321. package/src/components/equipment/CheckerRate.vue +6 -6
  322. package/src/components/equipment/CookerUsage.vue +1 -1
  323. package/src/components/equipment/DeviceUsage.vue +1 -1
  324. package/src/components/equipment/FurnaceUsage.vue +1 -1
  325. package/src/components/equipment/GasMeterUsage.vue +1 -1
  326. package/src/components/equipment/HeaterUsage.vue +1 -1
  327. package/src/components/equipment/MonthCheckRate.vue +6 -6
  328. package/src/components/gasusage/GasUsage.vue +1 -1
  329. package/src/components/issueplan/IssuePlanAction.vue +2 -2
  330. package/src/components/issueplan/IssuePlanQuery.vue +1 -1
  331. package/src/components/levelplan/AdjustPlan.vue +3 -3
  332. package/src/components/levelplan/CheckerLeft.vue +2 -2
  333. package/src/components/levelplan/CheckerPlanAdjust.vue +94 -42
  334. package/src/components/levelplan/CheckerRight.vue +2 -2
  335. package/src/components/map/FootPrintList.vue +2 -2
  336. package/src/components/map/PersonTrack.vue +224 -0
  337. package/src/components/map/douglasPeuckerForAMap.js +88 -0
  338. package/src/components/metterfiles/AddUserfiles.vue +1 -1
  339. package/src/components/metterfiles/MetterFiles.vue +3 -3
  340. package/src/components/metterfiles/MetterfilesChange.vue +1 -1
  341. package/src/components/metterfiles/UserFiles.vue +2 -2
  342. package/src/components/metterfiles/Userfileschange.vue +3 -3
  343. package/src/components/newfile/NewfileList.vue +114 -0
  344. package/src/components/newfile/NewfileList1.vue +84 -0
  345. package/src/components/newfile/NewfileList2.vue +112 -0
  346. package/src/components/newfile/NewfileList3.vue +111 -0
  347. package/src/components/newfile/NewfileList4.vue +118 -0
  348. package/src/components/newfile/NewfileList5.vue +89 -0
  349. package/src/components/newfile/NewfileMain.vue +89 -0
  350. package/src/components/newfile/NewfilePaper.vue +160 -0
  351. package/src/components/newuser/MonthlyMeterReadingStatistics.vue +742 -0
  352. package/src/components/newuser/SearchCompanyCompletion.vue +212 -0
  353. package/src/components/newuser/SearchCompanyComprehensiveCompletionPJ.vue +251 -0
  354. package/src/components/newuser/SearchCompanyComprehensiveCompletionZX.vue +233 -0
  355. package/src/components/newuser/SearchComprehensivePlanSummary.vue +233 -0
  356. package/src/components/newuser/SearchGas.vue +576 -0
  357. package/src/components/newuser/SearchGasWlw.vue +291 -0
  358. package/src/components/newuser/SearchLargeAreaCompletion.vue +338 -0
  359. package/src/components/newuser/UserCheckState.vue +60 -0
  360. package/src/components/newuser/WorkCount.vue +58 -0
  361. package/src/components/newuser/common/TabButton.vue +152 -0
  362. package/src/components/newuser/common/Tabs.vue +67 -0
  363. package/src/components/niandu/CheckPaperListND.vue +129 -0
  364. package/src/components/{rongcheng/CheckPaperSearchUserNo.vue → niandu/CheckPaperSearchUserND.vue} +14 -6
  365. package/src/components/niandu/CheckSearchUserND.vue +739 -0
  366. package/src/components/notice/NoticeQuery.vue +1 -1
  367. package/src/components/outsideSafecheck/android/androidCheckPlanDown/CheckPlanDownTS.vue +253 -0
  368. package/src/components/{rongcheng/AspiratedAreaPlan.vue → outsideSafecheck/android/safecheckAlreadyDoneWork/AreaPlanTS.vue} +50 -44
  369. package/src/components/outsideSafecheck/android/safecheckUpload/UploadPageTS.vue +317 -0
  370. package/src/components/outsideSafecheck/android/safecheckWaitWork/CurrentCreateTS.vue +1166 -0
  371. package/src/components/{rongcheng/AspPaperFeedback.vue → outsideSafecheck/android/safecheckWaitWork/PaperFeedbackTS.vue} +233 -125
  372. package/src/components/{rongcheng/SafecheckDevices.vue → outsideSafecheck/android/safecheckWaitWork/SafecheckDevicesTS.vue} +368 -177
  373. package/src/{filiale/wenxi/android/SafecheckOrderV.vue → components/outsideSafecheck/android/safecheckWaitWork/SafecheckOrderVTS.vue} +814 -268
  374. package/src/components/{rongcheng/SafecheckUserInfo.vue → outsideSafecheck/android/safecheckWaitWork/SafecheckUserInfoTS.vue} +126 -65
  375. package/src/components/outsideSafecheck/pc/HiddenDangerView/DefectDetailTS.vue +177 -0
  376. package/src/components/{shaoguan/DefectList.vue → outsideSafecheck/pc/HiddenDangerView/DefectListTS.vue} +146 -94
  377. package/src/components/outsideSafecheck/pc/HiddenDangerView/DefectMainTS.vue +53 -0
  378. package/src/components/outsideSafecheck/pc/HiddenDangerView/DefectPaperTS.vue +607 -0
  379. package/src/components/outsideSafecheck/pc/HiddenDangerView/PlanChooserTS.vue +137 -0
  380. package/src/components/outsideSafecheck/pc/aggregateQuery/CheckPlanAreaListTS.vue +404 -0
  381. package/src/components/{CheckerCount/CheckCountAreaManage.vue → outsideSafecheck/pc/aggregateQuery/CheckPlanAreaManageTS.vue} +3 -6
  382. package/src/components/{shaoguan/CheckPlanUserList.vue → outsideSafecheck/pc/aggregateQuery/CheckPlanUserListTS.vue} +44 -16
  383. package/src/components/outsideSafecheck/pc/planadjustment/CheckerPlanAdjustTS.vue +354 -0
  384. package/src/components/outsideSafecheck/pc/planadjustment/SafecheckVisitInfoTS.vue +219 -0
  385. package/src/components/outsideSafecheck/pc/report/HiddenSituationTS.vue +135 -0
  386. package/src/components/outsideSafecheck/pc/report/SearchCompanyCompletionTS.vue +212 -0
  387. package/src/components/outsideSafecheck/pc/report/SearchCompanyComprehensiveCompletionPJTS.vue +251 -0
  388. package/src/components/outsideSafecheck/pc/report/SearchCompanyComprehensiveCompletionZXTS.vue +233 -0
  389. package/src/components/outsideSafecheck/pc/report/SearchComprehensivePlanSummaryTS.vue +223 -0
  390. package/src/components/outsideSafecheck/pc/report/SearchGasTS.vue +575 -0
  391. package/src/components/outsideSafecheck/pc/report/SearchLargeAreaCompletionTS.vue +338 -0
  392. package/src/components/outsideSafecheck/pc/safecheckAssess/CheckDetailTS.vue +74 -0
  393. package/src/components/outsideSafecheck/pc/safecheckAssess/CheckPlanTS.vue +58 -0
  394. package/src/components/outsideSafecheck/pc/safecheckAssess/SelectCheckPlanTS.vue +242 -0
  395. package/src/components/outsideSafecheck/pc/safecheckResultView/NewCheckpaperTS.vue +1256 -0
  396. package/src/components/outsideSafecheck/pc/safecheckResultView/PaperListTS.vue +553 -0
  397. package/src/components/outsideSafecheck/pc/userSafecheckSituation/CheckPaperListTS.vue +129 -0
  398. package/src/components/outsideSafecheck/pc/userSafecheckSituation/CheckPaperSearchUserTS.vue +63 -0
  399. package/src/components/outsideSafecheck/pc/userSafecheckSituation/CheckSearchUserTS.vue +805 -0
  400. package/src/components/paper/PaperList.vue +468 -504
  401. package/src/components/paper/PaperVerify.vue +1 -1
  402. package/src/components/paper/PlanChooser.vue +13 -7
  403. package/src/components/paper/RepairVerify.vue +1 -1
  404. package/src/components/paper/RepairVerifyForm.vue +1 -1
  405. package/src/components/paper/VerifyForm.vue +3 -3
  406. package/src/components/pc/AnnouncementPC.vue +51 -22
  407. package/src/components/pc/CheckHandPlanAllList.vue +1246 -0
  408. package/src/components/pc/CheckHandPlanAreaItemInfo.vue +177 -0
  409. package/src/components/pc/CheckHandPlanAreaList.vue +296 -0
  410. package/src/components/pc/CheckHandPlanAreaMain.vue +57 -0
  411. package/src/components/pc/DeviceChange.vue +140 -122
  412. package/src/components/pc/NewCheckpaper.vue +704 -569
  413. package/src/components/pc/PlanListStatistics.vue +321 -0
  414. package/src/components/pc/SafeFinInfo.vue +30 -0
  415. package/src/components/pc/SafeTreatment/SafeTreatmentList.vue +150 -0
  416. package/src/components/pc/SafeTreatment/SafeTreatmentMain.vue +53 -0
  417. package/src/components/pc/SafeTreatment/SafeTreatmentPaper.vue +136 -0
  418. package/src/components/pc/SafecheckResponseTimeList.vue +396 -0
  419. package/src/components/pc/SafecheckVisitHistory.vue +142 -0
  420. package/src/components/pc/SafecheckVisitInfo.vue +299 -0
  421. package/src/components/pc/SearchOverdueNoSafeCheck.vue +280 -0
  422. package/src/components/phonestate/DailyTraffic.vue +1 -1
  423. package/src/components/phonestate/FootprintMap.vue +1 -1
  424. package/src/components/phonestate/LastKnownState.vue +1 -1
  425. package/src/components/plan/RetailMain.vue +44 -0
  426. package/src/components/plan/Retailitem.vue +99 -0
  427. package/src/components/plan/Retailplan.vue +150 -0
  428. package/src/components/planmanage/PlanManage.vue +861 -0
  429. package/src/components/{Util → planmanage}/RightTreeSafe.vue +6 -1
  430. package/src/components/planmanage/checkPlanList.vue +397 -0
  431. package/src/components/planmanage/checkUserList.vue +773 -0
  432. package/src/components/planmanage/zxplan/PlanManageZX.vue +21 -0
  433. package/src/components/planmanagets/PlanManage.vue +862 -0
  434. package/src/components/planmanagets/checkPlanList.vue +397 -0
  435. package/src/components/planmanagets/checkUserList.vue +772 -0
  436. package/src/components/planmanagets/zxplan/PlanManageZX.vue +21 -0
  437. package/src/components/querycheckpaper/CheckPaperList.vue +6 -19
  438. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +10 -2
  439. package/src/components/querycheckpaper/CheckSearchUser.vue +374 -90
  440. package/src/components/querycheckpaper/PaperItems.vue +1 -1
  441. package/src/components/report/CheckPlanAreaList.vue +282 -252
  442. package/src/components/report/CheckPlanAreaManage.vue +0 -2
  443. package/src/components/report/CheckPlanUserList.vue +58 -43
  444. package/src/components/report/HiddenSituation.vue +49 -19
  445. package/src/components/report/MeterReadingRate.vue +131 -0
  446. package/src/components/report/ReportSql1.vue +345 -0
  447. package/src/components/report/SafePlanSale.vue +1 -1
  448. package/src/components/report/SafePlanStatistics.vue +1 -1
  449. package/src/components/rongcheng/AddPlanItem.vue +4 -13
  450. package/src/components/rongcheng/AspiratedCurrentCreate.vue +21 -72
  451. package/src/components/rongcheng/CheckCurrentCreate.vue +133 -201
  452. package/src/components/rongcheng/CheckSearchUser.vue +45 -302
  453. package/src/components/rongcheng/CheckSearchUserNo.vue +53 -240
  454. package/src/components/rongcheng/PaperListAJ.vue +25 -65
  455. package/src/components/rongcheng/PaperListNPAJ.vue +18 -56
  456. package/src/components/rongcheng/PaperListNPSQ.vue +17 -43
  457. package/src/components/rongcheng/PaperListSQ.vue +16 -42
  458. package/src/components/rongcheng/SafecheckOrderV.vue +108 -217
  459. package/src/components/rongcheng/UploadPage.vue +13 -17
  460. package/src/components/{rongcheng/AspiratedPaperFeedbackm.vue → shaoguan/PaperFeedbackm.vue} +15 -23
  461. package/src/components/task/RepairAnnual.vue +1 -1
  462. package/src/components/task/RepairAnnualDetail.vue +1 -1
  463. package/src/components/task/RepairMonthly.vue +1 -1
  464. package/src/components/task/TaskAnnual.vue +1 -1
  465. package/src/components/task/TaskAnnualDetail.vue +1 -1
  466. package/src/components/task/TaskMonthly.vue +1 -1
  467. package/src/components/tongcheng/AreaPlan.vue +2 -2
  468. package/src/components/tongcheng/CurrentCreate.vue +2 -2
  469. package/src/components/tongcheng/PaperFeedback.vue +4 -4
  470. package/src/components/tongcheng/PaperSet.vue +5 -5
  471. package/src/components/tongcheng/PaperUser.vue +1 -1
  472. package/src/components/userfile/InfoModifyModal.vue +3 -3
  473. package/src/components/userfile/UserFile.vue +2 -2
  474. package/src/components/userfile/UserInfoAudit.vue +5 -5
  475. package/src/components/userfile/UserfileChange.vue +2 -2
  476. package/src/components/userfileaudit/UserFileaudit.vue +1 -1
  477. package/src/components/userfileaudit/UserfileChangeaudit.vue +2 -2
  478. package/src/components/userplan/UserplanList.vue +166 -0
  479. package/src/components/userplan/UserplanMain.vue +71 -0
  480. package/src/components/userplan/UserplanPaper.vue +182 -0
  481. package/src/components/zhuanxiang/CheckPaperListZX.vue +129 -0
  482. package/src/components/{rongcheng/CheckPaperSearchUser.vue → zhuanxiang/CheckPaperSearchUserZX.vue} +14 -6
  483. package/src/components/zhuanxiang/CheckSearchUserZX.vue +739 -0
  484. package/src/expandcssAndroid.less +1 -1
  485. package/src/index.js +6 -0
  486. package/src/main.js +4 -3
  487. package/src/plugins/LocalPagedList.js +1 -2
  488. package/src/safecheck-android.js +39 -24
  489. package/src/safecheck.js +411 -149
  490. package/static/ManageHomePic//346/244/255/345/234/2064.png +0 -0
  491. package/static/ManagementControl/echarts10.png +0 -0
  492. package/static/ManagementControl/echarts11.png +0 -0
  493. package/static/ManagementControl/echarts12.png +0 -0
  494. package/static/ManagementControl/echarts13.png +0 -0
  495. package/static/ManagementControl/echarts14.png +0 -0
  496. package/static/ManagementControl/echarts15.png +0 -0
  497. package/static/ManagementControl/echarts16.png +0 -0
  498. package/static/ManagementControl/echarts17.png +0 -0
  499. package/static/ManagementControl/echarts18.png +0 -0
  500. package/static/ManagementControl/echarts4.png +0 -0
  501. package/static/ManagementControl/echarts5.png +0 -0
  502. package/static/ManagementControl/echarts51.png +0 -0
  503. package/static/ManagementControl/echarts6.png +0 -0
  504. package/static/ManagementControl/echarts7.png +0 -0
  505. package/static/ManagementControl/echarts71.png +0 -0
  506. package/static/ManagementControl/echarts8.png +0 -0
  507. package/static/ManagementControl//345/233/276/345/261/20211/346/213/267/350/264/235.png +0 -0
  508. package/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2353.png +0 -0
  509. package/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2355.png +0 -0
  510. package/static/ManagementControl//347/237/251/345/275/2425/346/213/267/350/264/2356.png +0 -0
  511. package/static/batchleft.png +0 -0
  512. package/static/batchright.png +0 -0
  513. package/static/bluemainbg.jpg +0 -0
  514. package/static/huangtengbiaozhi.png +0 -0
  515. package/static/jcwx.jpg +0 -0
  516. package/static/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  517. package/static/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  518. package/static/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  519. package/static/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  520. package/static/lefticon//345/233/276/345/261/202577.png +0 -0
  521. package/static/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  522. package/static/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  523. package/static/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  524. package/static/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  525. package/static/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  526. package/static/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  527. package/static/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  528. package/static/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  529. package/static/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  530. package/static/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  531. package/static/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  532. package/static/lefticon//347/237/251/345/275/2421183.png +0 -0
  533. package/static/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  534. package/static/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  535. package/static/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  536. package/static/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  537. package/static/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  538. package/static/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  539. package/static/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  540. package/static/login_bg.jpg +0 -0
  541. package/static/login_title.png +0 -0
  542. package/static/login_title1.png +0 -0
  543. package/static/loginbg.jpg +0 -0
  544. package/static/loginbg1.jpg +0 -0
  545. package/static/loginbg_jincheng.jpg +0 -0
  546. package/static/loginbgmain.jpg +0 -0
  547. package/static/loginlogo.png +0 -0
  548. package/static/main_logo.png +0 -0
  549. package/static/mainbg.jpg +0 -0
  550. package/static/mainicon/adddevice.png +0 -0
  551. package/static/mainicon/addmeter.png +0 -0
  552. package/static/mainicon/bank.png +0 -0
  553. package/static/mainicon/biaopan.png +0 -0
  554. package/static/mainicon/cad.jpg +0 -0
  555. package/static/mainicon/chaobiaoyuan.png +0 -0
  556. package/static/mainicon/danganguanli.png +0 -0
  557. package/static/mainicon/deletedevice.png +0 -0
  558. package/static/mainicon/excel.jpg +0 -0
  559. package/static/mainicon/huizong.png +0 -0
  560. package/static/mainicon/jibiaoguanli.png +0 -0
  561. package/static/mainicon/jibiaoguanli2.png +0 -0
  562. package/static/mainicon/jiezhang.png +0 -0
  563. package/static/mainicon/loginbg.jpg +0 -0
  564. package/static/mainicon/shouqishoufei.png +0 -0
  565. package/static/mainicon/treeopen.png +0 -0
  566. package/static/mainicon/treeout.png +0 -0
  567. package/static/mainicon/treeset.png +0 -0
  568. package/static/mainicon/word.jpg +0 -0
  569. package/static/mainicon/wulianwang.png +0 -0
  570. package/static/mainicon/yingyechaxun.png +0 -0
  571. package/static/mainicon/zongheyewu.png +0 -0
  572. package/static/menulogo.png +0 -0
  573. package/static/newStyle/fife.png +0 -0
  574. package/static/newStyle/hidden.png +0 -0
  575. package/static/newStyle/label-clear.png +0 -0
  576. package/static/newStyle/left-img.png +0 -0
  577. package/static/newStyle/login-f.png +0 -0
  578. package/static/newStyle/loginbg.gif +0 -0
  579. package/static/newStyle/loginbg1366.gif +0 -0
  580. package/static/newStyle/loginbg_1.gif +0 -0
  581. package/static/newStyle/searchin.png +0 -0
  582. package/static/newStyle/searchout.png +0 -0
  583. package/static/newStyle/setting.png +0 -0
  584. package/static/newStyle/setting1.png +0 -0
  585. package/static/newStyle/shirk.png +0 -0
  586. package/static/newStyle/system-off.png +0 -0
  587. package/static/newStyle//350/261/252/344/275/263/347/207/203/346/260/224.png +0 -0
  588. package/static/newStyle.7z +0 -0
  589. package/static/newStyle.zip +0 -0
  590. package/static/newmainbg.jpg +0 -0
  591. package/static/psicon.png +0 -0
  592. package/static/refresh.png +0 -0
  593. package/static/singleleft.png +0 -0
  594. package/static/singleright.png +0 -0
  595. package/static/static.zip +0 -0
  596. package/static/treeclose.png +0 -0
  597. package/static/treeopen.png +0 -0
  598. package/static/treeout.png +0 -0
  599. package/static/treeset.png +0 -0
  600. package/static/usericon.png +0 -0
  601. package/static/xinxi.png +0 -0
  602. package/.npmignore +0 -15
  603. package/examples/SafePlan-liaoyuan/App.vue +0 -53
  604. package/examples/SafePlan-shaoguan/App.vue +0 -52
  605. package/examples/SafePlan-shaoguan/comp.js +0 -1190
  606. package/examples/SafePlanrongcheng/App.vue +0 -52
  607. package/examples/SafePlanrongcheng/comp.js +0 -1041
  608. package/package-lock.json +0 -10779
  609. package/src/assets/JsonEditor/jsoneditor.css +0 -930
  610. package/src/assets/JsonEditor/jsoneditor.js +0 -36377
  611. package/src/assets/bj.jpg +0 -0
  612. package/src/assets/jt.jpg +0 -0
  613. package/src/assets/marrio.jpg +0 -0
  614. package/src/assets/ss.jpg +0 -0
  615. package/src/assets/xl.jpg +0 -0
  616. package/src/assets//346/230/237/347/220/203/350/203/214/346/231/257.jpg +0 -0
  617. package/src/assets//351/232/220/346/202/243/345/210/206/346/236/220.png +0 -0
  618. package/src/components/CheckerCount/CheckCountAreaList.vue +0 -298
  619. package/src/components/CheckerCount/CheckCountUserList.vue +0 -144
  620. package/src/components/ExportExcel.vue +0 -201
  621. package/src/components/android/SwitchValve.vue +0 -189
  622. package/src/components/checkAreaClassification.vue +0 -285
  623. package/src/components/checkplan/checkmsgZG.vue +0 -519
  624. package/src/components/filialCircle/AddCircleFiliale.vue +0 -114
  625. package/src/components/filialCircle/CircleList.vue +0 -139
  626. package/src/components/filialCircle/CircleManage.vue +0 -69
  627. package/src/components/json-editor/SafeJsonEditor.vue +0 -212
  628. package/src/components/json-editor/assets/img/jsoneditor-icons.svg +0 -893
  629. package/src/components/json-editor/assets/jsoneditor-minimalist.js +0 -9751
  630. package/src/components/json-editor/assets/jsoneditor.css +0 -930
  631. package/src/components/json-editor/assets/jsoneditor.js +0 -36377
  632. package/src/components/json-editor/example/App.vue +0 -53
  633. package/src/components/json-editor/example/index.html +0 -9
  634. package/src/components/json-editor/example/main.js +0 -10
  635. package/src/components/json-editor/package.json +0 -71
  636. package/src/components/json-editor/vue-json-editor.vue +0 -189
  637. package/src/components/pc/HiddenChart.vue +0 -189
  638. package/src/components/pc/RoleSelector.vue +0 -89
  639. package/src/components/plan/PlanLeft.vue +0 -320
  640. package/src/components/plan/PlanManage.vue +0 -50
  641. package/src/components/plan/PlanRightUp.vue +0 -185
  642. package/src/components/plan/PlanRightdown.vue +0 -239
  643. package/src/components/plan/testss.vue +0 -116
  644. package/src/components/plancheck/CheckPlanAreaManage.vue +0 -116
  645. package/src/components/plancheck/CheckPlanList.vue +0 -282
  646. package/src/components/report/ManageBusSummary.vue +0 -242
  647. package/src/components/rongcheng/AreaPlan.vue +0 -463
  648. package/src/components/rongcheng/AspPaperStatem.vue +0 -339
  649. package/src/components/rongcheng/AspiratedDevices.vue +0 -965
  650. package/src/components/rongcheng/AspiratedOrderV.vue +0 -2361
  651. package/src/components/rongcheng/AspiratedPaperMessage.vue +0 -1378
  652. package/src/components/rongcheng/AspiratedPaperMessageNocivil.vue +0 -1288
  653. package/src/components/rongcheng/AspiratedUserInfo.vue +0 -399
  654. package/src/components/rongcheng/DefectList.vue +0 -560
  655. package/src/components/rongcheng/DefectPaper.vue +0 -582
  656. package/src/components/rongcheng/PaperFeedback.vue +0 -1318
  657. package/src/components/rongcheng/PaperMessage.vue +0 -1186
  658. package/src/components/rongcheng/PaperMessageNocivil.vue +0 -1211
  659. package/src/components/rongcheng/PaperStateNoncivilm.vue +0 -366
  660. package/src/components/rongcheng/PaperStatem.vue +0 -343
  661. package/src/components/rongcheng/PhoneDevicesInfo.vue +0 -233
  662. package/src/components/rongcheng/SafecheckOrderVCli.vue +0 -2538
  663. package/src/components/rongcheng/checkerplan/SelectCheckPlan.vue +0 -245
  664. package/src/components/rongcheng/report/CheckPlanAreaList.vue +0 -419
  665. package/src/components/rongcheng/report/CheckPlanUserList.vue +0 -190
  666. package/src/components/shaoguan/DefectDetail.vue +0 -177
  667. package/src/components/shaoguan/DefectMain.vue +0 -53
  668. package/src/components/shaoguan/DefectPaper.vue +0 -217
  669. package/src/components/shaoguan/PaperList.vue +0 -532
  670. package/src/components/shaoguan/SafecheckOrderV.vue +0 -2140
  671. package/src/components/tongcheng/PaperMessage.vue +0 -1270
  672. package/src/components/tongcheng/PaperMessageNocivil.vue +0 -1228
  673. package/src/filiale/Util.js +0 -325
  674. package/src/filiale/liaoyuan/android/SafecheckDevices.vue +0 -928
  675. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +0 -2383
  676. package/src/filiale/liaoyuan/android.js +0 -13
  677. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +0 -1020
  678. package/src/filiale/liaoyuan/pc/PaperList.vue +0 -628
  679. package/src/filiale/liaoyuan/pc.js +0 -13
  680. package/src/filiale/wenxi/android.js +0 -9
  681. package/src/filiale/wenxi/pc/PaperList.vue +0 -627
  682. package/src/filiale/wenxi/pc/checkmsg.vue +0 -229
  683. package/src/filiale/wenxi/pc.js +0 -12
  684. package/src/filiale/wuan/android/SafecheckOrderV.vue +0 -2235
  685. package/src/filiale/wuan/android.js +0 -14
  686. package/src/filiale/wuan/pc/PaperList.vue +0 -625
  687. package/src/filiale/wuan/pc.js +0 -12
  688. package/src/rongcheng-android.js +0 -186
  689. package/src/rongcheng.js +0 -303
  690. /package/examples/{SafePlan-liaoyuan → SafePlan-aode-ts}/TestData.js +0 -0
  691. /package/examples/{SafePlan-liaoyuan → SafePlan-aode-ts}/main.js +0 -0
  692. /package/examples/{SafePlanrongcheng → SafePlan-aodezx}/TestData.js +0 -0
  693. /package/examples/{SafePlanrongcheng → SafePlan-aodezx}/main.js +0 -0
  694. /package/examples/{SafePlan-shaoguan → SafePlan-aodezx-ts}/TestData.js +0 -0
  695. /package/examples/{SafePlan-shaoguan → SafePlan-aodezx-ts}/main.js +0 -0
  696. /package/{git → static/.gitkeep} +0 -0
@@ -1,985 +1,1194 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
- .app-row {
8
- background-color: white;
9
- padding: 10px 10px 0 10px;
10
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
- }
12
- .search_input {
13
- border: 0;
14
- outline: none;
15
- }
16
- .font{
17
- font: 15px PingFang-SC-Medium;
18
- color: #666666;
19
- }
20
- .input-font{
21
- font: 15px PingFang-SC-Medium;
22
- color: #333333;
23
- }
24
- .btn-font{
25
- font:600 16px PingFang-SC-Bold;
26
- color: #499EDF;
27
- }
28
- .btn-color{
29
- background-color: #FFFFFF;
30
- border-radius: 10px ;
31
- border: 1px solid #499EDF;
32
- }
33
- .app-text {
34
- font-size: 12px;
35
- }
36
- .panel-self{
37
- border-radius: 10px;
38
- border:1px solid #499EDF;
39
- background-color: #F8F8F8;
40
- }
41
- .yybtn-color{
42
- background-color:#499edf;
43
- border-radius: 4px ;
44
- border: 1px solid #499EDF;
45
- color: #FFFFFF;
46
- font: 14px PingFang-SC-Bold;
47
- }
48
- .qxbtn-color{
49
- background-color: #FFFFFF;
50
- border-radius: 4px ;
51
- color: #499edf;
52
- font: 14px PingFang-SC-Bold;
53
- border: 1px solid #499EDF;
54
- }
55
-
56
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_top.png")}
57
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_bottom.png")}
58
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_left.png")}
59
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../static/newStyle/stretch_right.png")}
60
- </style>
61
-
62
- <template>
63
- <div style="height: auto;width: 100%">
64
- <criteria-paged :model="model" v-ref:paged>
65
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
66
- <div partial>
67
- <form>
68
- <div class="row app-row">
69
- <!--小区名称-->
70
- <v-select :value.sync="model.f_residential_area"
71
- class="input-font"
72
- :options='$parent.$parent.residentialAreaOptions'
73
- placeholder='小区名称'
74
- :width="'32.5%'"
75
- v-model="model.f_residential_area"
76
- condition="ti.f_residential_area = '{}'"
77
- @change="$parent.$parent.getbuilds"
78
- close-on-select clear-button>
79
- </v-select>
80
- <!--楼栋-->
81
- <v-select :value.sync="model.f_building"
82
- class="input-font"
83
- :options='$parent.$parent.buildOptions'
84
- placeholder='楼栋'
85
- :width="'32.5%'"
86
- v-model="model.f_building"
87
- condition="ti.f_building = '{}'"
88
- @change="$parent.$parent.getUnits"
89
- close-on-select clear-button>
90
- </v-select>
91
- <!--单元-->
92
- <v-select :value.sync="model.f_unit"
93
- class="input-font"
94
- :options='$parent.$parent.unitOptions'
95
- placeholder='单元'
96
- :width="'32.5%'"
97
- v-model="model.f_unit"
98
- condition="ti.f_unit = '{}'"
99
- close-on-select clear-button>
100
- </v-select>
101
- </div>
102
- <div class="row app-row">
103
- <div class="col-xs-4">
104
- <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
105
- <label class="font text-left">用户姓名:</label>
106
- </div>
107
- <div class="col-xs-8" >
108
- <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'" />
109
- </div>
110
- </div>
111
-
112
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
113
- <div class="col-xs-4">
114
- <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
115
- <label for="f_plan_name" class="font text-left">计划名称:</label>
116
- </div>
117
- <v-select
118
- id="f_plan_name"
119
- :value.sync="model.f_plan_name"
120
- class="input-font"
121
- :options='$parent.$parent.planNameOptions'
122
- placeholder='计划名称'
123
- :width="'60%'"
124
- v-model="model.f_plan_name"
125
- condition="f_plan_name like '%{}%'"
126
- close-on-select clear-button>
127
- </v-select>
128
- </div>
129
-
130
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
131
- <div class="col-xs-4">
132
- <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
133
- <label for="f_state" class="font text-left">是否已检:</label>
134
- </div>
135
- <v-select id="f_state"
136
- :value.sync="model.f_state"
137
- class="input-font"
138
- :options='$parent.$parent.check_states'
139
- placeholder='是否已检'
140
- :width="'60%'"
141
- v-model="model.f_state"
142
- condition="f_state='{}'"
143
- close-on-select clear-button>
144
- </v-select>
145
- </div>
146
-
147
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
148
- <div class="col-xs-4">
149
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
150
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
151
- </div>
152
- <div class="col-xs-8" >
153
- <input id="f_userinfo_code" class="search_input input-font"
154
- v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
155
- </div>
156
- </div>
157
-
158
- <!--<div class="row app-row">-->
159
- <!--<div class="col-xs-4">-->
160
- <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
161
- <!--<label for="f_plan_year" class="font text-left">计划年份:</label>-->
162
- <!--</div>-->
163
- <!--<div class="col-xs-8" >-->
164
- <!--<input id="f_plan_year" class="search_input input-font"-->
165
- <!--v-model="model.f_plan_year" condition="f_plan_year = '{}'" />-->
166
- <!--</div>-->
167
- <!--</div>-->
168
- <!--<div class="row app-row">-->
169
- <!--<div class="col-xs-4">-->
170
- <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
171
- <!--<label for="f_plan_month" class="font text-left">计划月份:</label>-->
172
- <!--</div>-->
173
- <!--<div class="col-xs-8" >-->
174
- <!--<input id="f_plan_month" class="search_input input-font"-->
175
- <!--v-model="model.f_plan_month" condition="f_plan_month = '{}'" />-->
176
- <!--</div>-->
177
- <!--</div>-->
178
-
179
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
180
- <div class="col-xs-4">
181
- <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
182
- <label class="font text-left">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
183
- </div>
184
- <div class="col-xs-8" >
185
- <input class="search_input input-font"
186
- v-model=model.f_meter_no condition="f_meter_no like '%{}%'" />
187
- </div>
188
- </div>
189
-
190
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
191
- <div class="col-xs-4">
192
- <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
193
- <label class="font text-left">用户地址:</label>
194
- </div>
195
- <div class="col-xs-8" >
196
- <input class="search_input input-font"
197
- v-model=model.f_keyword condition="f_address like '%{}%'" />
198
- </div>
199
- </div>
200
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
201
- <div class="col-xs-4">
202
- <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
203
- <label for="f_user_type" class="font text-left">用户类型:</label>
204
- </div>
205
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
206
- :width="'60%'"
207
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
208
- v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select clear-button></v-select>
209
- </div>
210
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
211
- <div class="col-xs-6" style="text-align: center">
212
- <span class="font text-left">待办{{$parent.$parent.upcomingCount}}条</span>
213
- </div>
214
- <div class="col-xs-6" style="text-align: center">
215
- <span class="font text-left">已办{{$parent.$parent.doneCount}}条</span>
216
- </div>
217
- <div class="col-xs-6" style="text-align: center">
218
- <span class="font text-left">临时保存{{$parent.$parent.tempSaveCount}}条</span>
219
- </div>
220
- <div class="col-xs-6" style="text-align: center">
221
- <span class="font text-left">总共{{$parent.$parent.allPlanCount}}条</span>
222
- </div>
223
- </div>
224
- <!--<div class="row app-row">-->
225
- <!--<div class="col-xs-4">-->
226
- <!--<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
227
- <!--<label class="font text-left">挂表方式:</label>-->
228
- <!--</div>-->
229
- <!--<div class="col-xs-8" >-->
230
- <!--<v-select :value.sync="model.f_flow_direction"-->
231
- <!--:options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'-->
232
- <!--v-model="model.f_flow_direction" condition="f_flow_direction='{}'" close-on-select clear-button></v-select>-->
233
- <!--</div>-->
234
- <!--</div>-->
235
- <!--<div class="row app-row">-->
236
- <!--<div class="col-xs-4">-->
237
- <!--<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
238
- <!--<label for="f_last_state" class="font text-left">安检状态:</label>-->
239
- <!--</div>-->
240
- <!--<div class="col-xs-8" >-->
241
- <!--<v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"-->
242
- <!--:options='$parent.$parent.last_check_states' placeholder='请选择安检状态'-->
243
- <!--v-model="model.f_last_state" condition="f_last_check_state='{}'" close-on-select clear-button></v-select>-->
244
- <!--</div>-->
245
- <!--</div>-->
246
- <!-- <div class="row app-row">
247
- <div class="col-xs-4">
248
- <img src="../../assets/审核状态.png" style="width: 20px;margin-bottom: 5px" alt="">
249
- <label for="f_approved" class="font text-left">审核状态:</label>
250
- </div>
251
- <div class="col-xs-8" >
252
- <v-select id="f_approved" :value.sync="model.f_approved" class="input-font"
253
- :options='$parent.$parent.verify_state' placeholder='请选择审核状态'
254
- v-model="model.f_approved" condition="f_approved='{}'" close-on-select clear-button></v-select>
255
- </div>
256
- </div>-->
257
- <div class="row text-center" style="margin-top: 20px;">
258
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
259
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px" @click="$parent.$parent.queryplanmany">转发</button>
260
- <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
261
- <img style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
262
- </div>
263
- <div class="col-sm-12">
264
-
265
- </div>
266
- <!--<div class="row app-btn">-->
267
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
268
- <!--</div>-->
269
- <div style="height:30px;"></div>
270
- </form>
271
- </div>
272
- </criteria>
273
- <list :model="model" partial='list'>
274
- <div partial>
275
- <div class="auto app-text" style="margin-top: 5px;">
276
- <div class="panel" style="padding: 10px 10px 5px 10px;">
277
- <div class="panel-body panel-self">
278
-
279
- <div class="col-xs-12">
280
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
281
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
282
- <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
283
- <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
284
- </p>
285
- </div>
286
- <div class="col-xs-12">
287
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
288
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
289
- </div>
290
- <div class="col-xs-6">
291
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
292
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
293
- </p>
294
- </div>
295
- <div class="col-xs-6">
296
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
297
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
298
- </div>
299
- <!-- <div class="col-xs-6">-->
300
- <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
301
- <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
302
- <!-- </div>-->
303
- <div class="col-xs-12">
304
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
305
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
306
- <img src="../../assets/phone.png" style="width: 6%" v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
307
- </p>
308
- </div>
309
-
310
- <div class="col-xs-12">
311
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
312
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
313
- </div>
314
-
315
- <!-- <div class="row">-->
316
- <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
317
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
318
- <!-- </div>-->
319
- <!-- <div class="row">-->
320
- <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
321
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
322
- <!-- </div>-->
323
- <!-- <div class="row">-->
324
- <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
325
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
326
- <!-- </div>-->
327
- <!--<div class="row">-->
328
- <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
329
- <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
330
- <!--</div>-->
331
- <div class="col-xs-6">
332
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
333
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state == '已检'?'临时保存':row.f_state }}</p>
334
- </div>
335
- <div class="col-xs-6">
336
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
337
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
338
- </div>
339
- <div class="col-xs-6">
340
- <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
341
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
342
- </div>
343
- <!--<div class="col-xs-12">-->
344
- <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
345
- <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
346
- <!--</div>-->
347
- <div class="col-xs-12">
348
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理</button>
349
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>
350
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
351
- </div>
352
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
353
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
354
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
355
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
356
- <!-- </div>-->
357
- </div>
358
- </div>
359
- </div>
360
- </div>
361
- </list>
362
- </criteria-paged>
363
- <modal :show.sync="showModal">
364
- <div slot="modal-header" class="modal-header">
365
- <h4 class="modal-title">
366
- 选择预约时间
367
- </h4>
368
- </div>
369
- <div slot="modal-body" class="modal-body">
370
- <input type="datetime-local" v-model="f_preset_dt">
371
- </div>
372
- <div slot="modal-footer" class="modal-footer">
373
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
374
- </div>
375
- </modal>
376
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
377
- <modal :show.sync="showModal2" v-ref:modal>
378
- <div slot="modal-header" class="modal-header">
379
- <h4 class="modal-title">
380
- 选择计划
381
- </h4>
382
- </div>
383
- <div slot="modal-body" class="modal-body">
384
- <div class="col-xs-12">
385
-
386
- <div class="col-xs-4">
387
- <v-select :value.sync="check" v-model='check'
388
- :value-single="true"
389
- class="select_list select"
390
- :options='checkers' placeholder='安检员'
391
- close-on-select width="100%"></v-select>
392
- </div>
393
-
394
- <div class="col-xs-1">
395
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
396
- </div>
397
- <div class="col-xs-4" style="padding-left: 2px">
398
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
399
- </div>
400
- <div class="col-xs-1" >
401
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
402
- </div>
403
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
404
- <div class="col-xs-2" style="float: right">
405
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
406
- </div>
407
- </div>
408
- <table class="table table_sy">
409
- <thead>
410
- <tr>
411
- <th style="width: 30px"></th>
412
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
413
- </tr>
414
- </thead>
415
- <tbody>
416
- <tr v-for="row in planoption">
417
- <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
418
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
419
-
420
-
421
- </tr>
422
- </tbody>
423
- </table>
424
- </div>
425
- <div slot="modal-footer" class="modal-footer">
426
- <button class="btn btn-default" @click="isok()">确认</button>
427
- <button class="btn btn-default" @click="iscancel()">取消</button>
428
- </div>
429
- </modal>
430
- <modal :show.sync="showModal3" v-ref:modal>
431
- <div slot="modal-header" class="modal-header">
432
- <h4 class="modal-title">
433
- 选择计划
434
- </h4>
435
- </div>
436
- <div slot="modal-body" class="modal-body">
437
- <div class="col-xs-12">
438
-
439
- <div class="col-xs-4">
440
- <v-select :value.sync="check" v-model='check'
441
- :value-single="true"
442
- class="select_list select"
443
- :options='checkers' placeholder='安检员'
444
- close-on-select width="100%"></v-select>
445
- </div>
446
-
447
- <div class="col-xs-1">
448
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
449
- </div>
450
- <div class="col-xs-4" style="padding-left: 2px">
451
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
452
- </div>
453
- <div class="col-xs-1" >
454
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
455
- </div>
456
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
457
- <div class="col-xs-2" style="float: right">
458
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
459
- </div>
460
- </div>
461
- <table class="table table_sy">
462
- <thead>
463
- <tr>
464
- <th style="width: 30px"></th>
465
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
466
- </tr>
467
- </thead>
468
- <tbody>
469
- <tr v-for="row in planoption">
470
- <td @click="select(row, $index)" >{{row.selected==true ? '' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
471
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
472
-
473
-
474
- </tr>
475
- </tbody>
476
- </table>
477
- </div>
478
- <div slot="modal-footer" class="modal-footer">
479
- <button class="btn btn-default" @click="manyisok()">确认</button>
480
- <button class="btn btn-default" @click="iscancel()">取消</button>
481
- </div>
482
- </modal>
483
- </div>
484
-
485
- </template>
486
-
487
- <script>
488
- import LocalPagedList from '../../plugins/LocalPagedList'
489
- import Vue from 'vue'
490
- import { PagedList,HttpResetClass } from 'vue-client'
491
- import * as Util from '../Util'
492
- import co from 'co'
493
- let select = function * (self) {
494
- let http = new HttpResetClass()
495
- http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
496
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
497
- userid: Vue.user.id
498
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
499
- console.log('获取安检员', res)
500
- self.checkers.push({label:'全部',value:''})
501
- res.data.forEach((checker)=>{
502
- self.checkers.push({label:checker.name,value:checker.id})
503
- })
504
- })
505
- }
506
- export default {
507
- title: '无计划安检查询',
508
- data() {
509
- return {
510
- f_filialeids:'('+Vue.user.orgid+')',
511
- //f_filialeids:'(305)',
512
- planparam:[],
513
- check:'',
514
- plan:'',
515
- planid:'',
516
- model:Vue.android? new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}): new PagedList( 'AndroidRest/rs/sql/androidGetuserinfo',20,{condition:'this.condition'}),
517
- showModal: false,
518
- showModal2:false,
519
- showModal3:false,
520
- needid:'',
521
- criteriaShow: false,
522
- planoption:[],
523
- condition:'',
524
- checkers:[],
525
- param: null,
526
- f_preset_dt : Util.to3339TimeString(),
527
- flow_direction:[
528
- {label: '请选择挂表方式', value: ''},
529
- {label: '左表', value: '左表'},
530
- {label: '右表', value: '右表'}
531
- ],
532
- check_states: [
533
- {label: '请选择安检状态', value: ''},
534
- {label: '未检', value: '未检'},
535
- {label: '临时保存', value: '已检'},
536
- ],
537
- last_check_states: [
538
- {label: '请选择上次安检状态', value: ''},
539
- {label: '入户', value: '入户'},
540
- {label: '拒检', value: '拒检'},
541
- {label: '到访不遇', value: '到访不遇'},
542
- {label: '未使用天然气', value: '未使用天然气'}
543
- ],
544
- upload_states: [
545
- {label: '请选择上传状态', value: ''},
546
- {label: '未传', value: '未传'},
547
- {label: '已传', value: '已传'}
548
- ],
549
- user_types: [
550
- {label: '请选择用户类型', value: ''},
551
- {label: '民用', value: '民用'},
552
- {label: '非民用', value: '非民用'},
553
- ],
554
- verify_state: [
555
- {label: '请选择审核状态', value: ''},
556
- {label: '未审核', value: '未审核'},
557
- {label: '打回', value: '打回'}
558
- ],
559
- residentialAreaOptions: [],
560
- buildOptions: [],
561
- unitOptions: [],
562
- planNameOptions: [],
563
- upcomingCount: 0,
564
- doneCount: 0,
565
- tempSaveCount: 0,
566
- allPlanCount: 0
567
- }
568
- },
569
- ready(){
570
- this.getAllArea()
571
- this.getAllPlanName()
572
- this.selfSearch()
573
- let gen = select(this)
574
- co(gen)
575
- },
576
- mounted(){
577
- console.log('66666监听返回事件')
578
- if (window.history && window.history.pushState) {
579
- history.pushState(null, null, document.URL);
580
- window.addEventListener('popstate', this.fun, false);//false阻止默认事件
581
- }
582
- },
583
- destroyed(){
584
- console.log('页面销毁 取消监听')
585
- window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
586
- },
587
- methods: {
588
- fun () {
589
- console.log('111111111111')
590
- console.log('监听手机返回')
591
- },
592
- iscancel(){
593
- this.showModal2=false
594
- this.showModal3=false
595
- this.planoption=[]
596
- },
597
- timeSet(val){
598
- return val
599
- },
600
- async isok(){
601
- if(this.planoption.length==0){
602
- this.$showMessage("请选择计划")
603
- return false
604
- }
605
- for (let i = 0; i <this.planoption.length ; i++) {
606
- if (this.planoption[i]["selected"]==true){
607
- this.planid=this.planoption[i].value
608
- break
609
- }
610
- }
611
- if(this.planid==''){
612
- this.$showMessage("请选择计划")
613
- return false
614
- }
615
- await this.okput()
616
- },
617
- async manyisok(){
618
- if(this.planoption.length==0){
619
- this.$showMessage("请选择计划")
620
- return false
621
- }
622
- for (let i = 0; i <this.planoption.length ; i++) {
623
- if (this.planoption[i]["selected"]==true){
624
- this.planid=this.planoption[i].value
625
- break
626
- }
627
- }
628
- if(this.planid==''){
629
- this.$showMessage("请选择计划")
630
- return false
631
- }
632
- await this.manyokput()
633
- },
634
- changenull(){
635
- this.showModal2=false
636
- this.showModal3=false
637
- this.planoption=[]
638
- this.plan=''
639
- this.check=''
640
- },
641
- async okput(){
642
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
643
-
644
- condition:`it.id='`+this.needid+`'`,
645
- f_plan_id:this.planid,
646
- switchCheckAll:false,
647
- checkAll:false,
648
- f_operator:Vue.user.name
649
- }
650
- })
651
- await this.changenull()
652
- await this.getNewOrder()
653
- },
654
- async manyokput(){
655
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {data:{
656
- columnName:"it.id",
657
- condition:"1=1",
658
- f_plan_id:this.planid,
659
- switchCheckAll:true,
660
- param:this.planparam,
661
- checkAll:false,
662
- f_operator:Vue.user.name
663
- }
664
- })
665
- await this.changenull()
666
- await this.getNewOrder()
667
- },
668
- async plansearch(){
669
- this.planoption=[]
670
- let condition=`f_checker_id=`+this.check+` and f_plan_name like '%`+this.plan+`%'`
671
- if (!this.check){
672
- condition=`f_plan_name like '%`+this.plan+`%'`
673
- }
674
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {data:{
675
- condition:condition,
676
- f_filialeids:this.f_filialeids,
677
- groupitem:'',
678
- orderitem:'id'
679
- }})
680
- let resoult=res.data
681
- for (let i = 0; i < resoult.length; i++) {
682
- this.planoption.push({label: resoult[i].f_plan_name,selected:false, value: resoult[i].id})
683
- }
684
- },
685
-
686
- select(row, idx) {
687
- this.$set('planoption[' + idx + '].selected', true)
688
- for (let i = 0; i <this.planoption.length ; i++) {
689
- if (i!=idx){
690
- this.planoption[i]["selected"]=false
691
- }
692
- }
693
- },
694
- planclose(){
695
- this.showModal2=false
696
- this.showModal3=false
697
- },
698
- queryplan(val){
699
- this.needid=val
700
- this.showModal2 = true
701
- },
702
- queryplanmany(){
703
-
704
- this.showModal3 = true
705
- },
706
- reload(){
707
- this.getAllArea()
708
- this.getAllPlanName()
709
- this.selfSearch()
710
- },
711
- cancelReserve (idx, id) {
712
- if(Vue.android){
713
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
714
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
715
- if (res.code == 200) {
716
- this.$showMessage("取消预约成功")
717
- }
718
- }else {
719
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
720
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
721
- if (repanse.data.code == 200) {
722
- alert("取消预约成功!")
723
- }
724
- })
725
- }},
726
- genuineReserve () {
727
- if(Vue.android){
728
- if (!this.f_preset_dt) {
729
- this.$showMessage('请选择一个日期')
730
- return
731
- }
732
- let pdt = this.f_preset_dt.replace('T', ' ')
733
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
734
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
735
- if(respanse.code == 200) {
736
- this.$showMessage("预约成功!")
737
- }
738
- this.showModal = false
739
- }else {
740
- if (!this.f_preset_dt) {
741
- alert('请选择一个日期')
742
- return
743
- }
744
- let pdt = this.f_preset_dt.replace('T', ' ')
745
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
746
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
747
- if(res.data.code == 200) {
748
- alert("预约成功!")
749
- }
750
- this.showModal = false
751
- })
752
- }
753
- },
754
- inspect(row) {
755
- var _this = this
756
- console.log('进入inspect')
757
- if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检' ) ) {
758
- _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
759
- console.log(JSON.stringify(response))
760
- row['f_plan_meters'] = response.data
761
- var pardate = {
762
- _this:_this,
763
- title:'入户安检',
764
- safe:true
765
- }
766
- _this.$dispatch('gotoson',pardate)
767
- console.log('进入safecheck-order-v')
768
- _this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect'}, 'self', _this.reload)
769
- })
770
- }else(
771
- this.$showMessage("该安检单已被上传!")
772
- )
773
- },
774
- makeAPhoneCall(phoneNumber) {
775
- this.$androidUtil.makeAPhoneCall(phoneNumber)
776
- },
777
- reserve (idx) {
778
- this.param = idx
779
- this.showModal = true
780
- },
781
- search(args) {
782
- this.model.rows = []
783
- this.model.search(args.condition, args.model)
784
- },
785
- selfSearch () {
786
- this.getPlanCount()
787
- let condition = ""
788
- if(this.$refs.paged.$refs.cri.model.f_residential_area)
789
- condition += " and ti.f_residential_area like '%"+this.$refs.paged.$refs.cri.model.f_residential_area+"%'"
790
- if(this.$refs.paged.$refs.cri.model.f_building)
791
- condition += " and ti.f_building like '%"+this.$refs.paged.$refs.cri.model.f_building+"%'"
792
- if(this.$refs.paged.$refs.cri.model.f_unit)
793
- condition += " and ti.f_unit like '%"+this.$refs.paged.$refs.cri.model.f_unit+"%'"
794
- if(this.$refs.paged.$refs.cri.model.f_plan_name)
795
- condition += " and f_plan_name like '%"+this.$refs.paged.$refs.cri.model.f_plan_name +"%'"
796
- // if(this.$refs.paged.$refs.cri.model.f_plan_year)
797
- // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
798
- // if(this.$refs.paged.$refs.cri.model.f_plan_month)
799
- // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
800
- if(this.$refs.paged.$refs.cri.model.f_userinfo_code)
801
- condition += " and ti.f_userinfo_code like '%"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"%'"
802
- if(this.$refs.paged.$refs.cri.model.f_keyword)
803
- condition += " and ti.f_address like '%"+this.$refs.paged.$refs.cri.model.f_keyword+"%'"
804
- if(this.$refs.paged.$refs.cri.model.f_user_name)
805
- condition += " and ti.f_user_name like '%"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
806
- if(this.$refs.paged.$refs.cri.model.f_state[0])
807
- condition += " and ti.f_state='"+this.$refs.paged.$refs.cri.model.f_state[0]+"'"
808
- // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
809
- // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
810
- if(this.$refs.paged.$refs.cri.model.f_user_type[0])
811
- condition += " and ti.f_user_type='"+this.$refs.paged.$refs.cri.model.f_user_type[0]+"'"
812
- if(this.$refs.paged.$refs.cri.model.f_meter_no)
813
- condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
814
- // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
815
- // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
816
- console.log('condition ===> '+ condition)
817
- this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
818
- },
819
- getNewOrder(){
820
- HostApp.__this__ = this
821
- HostApp.logicWithHint({
822
- // logic别名,key必须为logic
823
- 'logic': 'SafeCheckServiceTimeOut',
824
- // 回调执行方法名,key必须为callback
825
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
826
- // logic执行需要的业务参数
827
- 'data': {params: ''},
828
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
829
- // 执行回调方法传入key为backresult
830
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
831
- 'backresult': 1
832
- })
833
- },
834
- getNewOrderCallBack() {
835
- this.selfSearch()
836
- this.getAllArea()
837
- this.getAllPlanName()
838
- },
839
- hidden() {
840
- this.criteriaShow = !this.criteriaShow
841
- },
842
- getAllArea(){
843
- this.residentialAreaOptions = []
844
- this.buildOptions = []
845
- this.unitOptions = []
846
- this.$refs.paged.$refs.cri.model.f_residential_area = ''
847
- this.$refs.paged.$refs.cri.model.f_building = ''
848
- this.$refs.paged.$refs.cri.model.f_unit = ''
849
- let criteria = {
850
- items: 'f_residential_area',
851
- tablename: 't_check_plan_item',
852
- condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
853
- groupitem: 'f_residential_area'
854
- }
855
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
856
- console.log('result ===> ' + JSON.stringify(result))
857
- if(result.code == 200){
858
- result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
859
- }
860
- console.log('this.residentialAreaOptions ===> ' + JSON.stringify(this.residentialAreaOptions))
861
- },
862
- getbuilds(f_residential_area){
863
- console.log('f_residential_area ===> ' + JSON.stringify(f_residential_area))
864
- this.buildOptions = []
865
- this.unitOptions = []
866
- this.$refs.paged.$refs.cri.model.f_building = ''
867
- this.$refs.paged.$refs.cri.model.f_unit = ''
868
- if(!f_residential_area){
869
- return
870
- }
871
- let criteria = {
872
- items: 'f_building',
873
- tablename: 't_check_plan_item',
874
- condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
875
- groupitem: 'f_building'
876
- }
877
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
878
- if(result.code == 200){
879
- result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
880
- }
881
- console.log('this.buildOptions ===> ' + JSON.stringify(this.buildOptions))
882
- },
883
- getUnits(f_building){
884
- f_building = f_building[0]
885
- console.log('f_building ===> ' + JSON.stringify(f_building))
886
- this.unitOptions = []
887
- this.$refs.paged.$refs.cri.model.f_unit = ''
888
- if(!f_building){
889
- return
890
- }
891
- let criteria = {
892
- items: 'f_unit',
893
- tablename: 't_check_plan_item',
894
- condition: `f_unit IS NOT NULL AND f_unit != '' AND f_state <> '已检' AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
895
- groupitem: 'f_unit'
896
- }
897
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
898
- if(result.code == 200){
899
- result.data.rows.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
900
- }
901
- console.log('this.unitOptions ===> ' + JSON.stringify(this.unitOptions))
902
- },
903
- getPlanCount(){
904
- this.upcomingCount = 0
905
- this.tempSaveCount = 0
906
- this.doneCount = 0
907
- this.allPlanCount = 0
908
- let criteria = {
909
- items: 'count(id) count',
910
- tablename: 't_check_plan_item',
911
- condition: `f_state = '未检'`,
912
- groupitem: 'f_state'
913
- }
914
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
915
- if(result.code && result.code == 200){
916
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
917
- this.upcomingCount = result.data.rows[0].count
918
- }
919
- }
920
- criteria = {
921
- items: 'count(id) count',
922
- tablename: 't_check_plan_item',
923
- condition: `(f_complete = '' or f_complete = null or f_complete = '未完成') AND f_state = '已检'`,
924
- groupitem: 'f_state'
925
- }
926
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
927
- if(result.code && result.code == 200){
928
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
929
- this.tempSaveCount = result.data.rows[0].count
930
- }
931
- }
932
- criteria = {
933
- items: 'count(id) count',
934
- tablename: 't_check_plan_item',
935
- condition: `f_complete = '已完成' AND f_state = '已检'`,
936
- groupitem: 'f_state'
937
- }
938
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
939
- if(result.code && result.code == 200){
940
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
941
- this.doneCount = result.data.rows[0].count
942
- }
943
- }
944
- this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
945
-
946
- console.log('this.upcomingCount ===> ' + this.upcomingCount)
947
- console.log('this.tempSaveCount ===> ' + this.tempSaveCount)
948
- console.log('this.doneCount ===> ' + this.doneCount)
949
- console.log('this.allPlanCount ===> ' + this.allPlanCount)
950
- },
951
- getAllPlanName(){
952
- this.planNameOptions = []
953
- this.$refs.paged.$refs.cri.model.f_plan_name = ''
954
- let criteria = {
955
- items: 'f_plan_name',
956
- tablename: 't_check_plan',
957
- condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
958
- groupitem: 'f_plan_name'
959
- }
960
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
961
- console.log('result ===> ' + JSON.stringify(result))
962
- if(result.code == 200){
963
- result.data.rows.forEach(item => this.planNameOptions.push({label:item.f_plan_name,value:item.f_plan_name}))
964
- }
965
- console.log('this.planNameOptions ===> ' + JSON.stringify(this.planNameOptions))
966
- },
967
- setPlanParam(detailsType, event) {
968
- if (event.srcElement.checked) {
969
- this.planparam.push(detailsType)
970
- console.log(this.planparam)
971
- } else {
972
- if(this.planparam.length>0){
973
- let planid= this.planparam.findIndex((value) => {
974
- return value === detailsType
975
- })
976
- this.planparam.splice(planid, 1)
977
- console.log(this.planparam)
978
-
979
- }
980
-
981
- }
982
- }
983
- }
984
- }
985
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+
8
+ .app-row {
9
+ background-color: white;
10
+ padding: 10px 10px 0 10px;
11
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
12
+ }
13
+
14
+ .search_input {
15
+ border: 0;
16
+ outline: none;
17
+ }
18
+
19
+ .font {
20
+ font: 15px PingFang-SC-Medium;
21
+ color: #666666;
22
+ }
23
+
24
+ .input-font {
25
+ font: 15px PingFang-SC-Medium;
26
+ color: #333333;
27
+ }
28
+
29
+ .btn-font {
30
+ font: 600 16px PingFang-SC-Bold;
31
+ color: #499EDF;
32
+ }
33
+
34
+ .btn-color {
35
+ background-color: #FFFFFF;
36
+ border-radius: 10px;
37
+ border: 1px solid #499EDF;
38
+ }
39
+
40
+ .app-text {
41
+ font-size: 12px;
42
+ }
43
+
44
+ .panel-self {
45
+ border-radius: 10px;
46
+ border: 1px solid #499EDF;
47
+ background-color: #F8F8F8;
48
+ }
49
+
50
+ .yybtn-color {
51
+ background-color: #499edf;
52
+ border-radius: 4px;
53
+ border: 1px solid #499EDF;
54
+ color: #FFFFFF;
55
+ font: 14px PingFang-SC-Bold;
56
+ }
57
+
58
+ .qxbtn-color {
59
+ background-color: #FFFFFF;
60
+ border-radius: 4px;
61
+ color: #499edf;
62
+ font: 14px PingFang-SC-Bold;
63
+ border: 1px solid #499EDF;
64
+ }
65
+
66
+ .button_shrink_top {
67
+ width: 35px;
68
+ height: 35px;
69
+ background-size: 100%;
70
+ background-image: url("../../../static/newStyle/stretch_top.png")
71
+ }
72
+
73
+ .button_shrink_bottom {
74
+ width: 35px;
75
+ height: 35px;
76
+ background-size: 100%;
77
+ background-image: url("../../../static/newStyle/stretch_bottom.png")
78
+ }
79
+
80
+ .button_shrink_left {
81
+ width: 35px;
82
+ height: 35px;
83
+ background-size: 100%;
84
+ background-image: url("../../../static/newStyle/stretch_left.png")
85
+ }
86
+
87
+ .button_shrink_right {
88
+ width: 35px;
89
+ height: 35px;
90
+ background-size: 100%;
91
+ background-image: url("../../../static/newStyle/stretch_right.png")
92
+ }
93
+ </style>
94
+
95
+ <template>
96
+ <div style="height: auto;width: 100%">
97
+ <criteria-paged :model="model" v-ref:paged>
98
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
99
+ <div partial>
100
+ <form>
101
+ <div class="row app-row">
102
+ <!--小区名称-->
103
+ <v-select :value.sync="model.f_residential_area"
104
+ class="input-font"
105
+ :options='$parent.$parent.residentialAreaOptions'
106
+ placeholder='小区名称'
107
+ :width="'32.5%'"
108
+ v-model="model.f_residential_area"
109
+ condition="ti.f_residential_area = '{}'"
110
+ @change="$parent.$parent.getbuilds"
111
+ close-on-select clear-button>
112
+ </v-select>
113
+ <!--楼栋-->
114
+ <v-select :value.sync="model.f_building"
115
+ class="input-font"
116
+ :options='$parent.$parent.buildOptions'
117
+ placeholder='楼栋'
118
+ :width="'32.5%'"
119
+ v-model="model.f_building"
120
+ condition="ti.f_building = '{}'"
121
+ @change="$parent.$parent.getUnits"
122
+ close-on-select clear-button>
123
+ </v-select>
124
+ <!--单元-->
125
+ <v-select :value.sync="model.f_unit"
126
+ class="input-font"
127
+ :options='$parent.$parent.unitOptions'
128
+ placeholder='单元'
129
+ :width="'32.5%'"
130
+ v-model="model.f_unit"
131
+ condition="ti.f_unit = '{}'"
132
+ close-on-select clear-button>
133
+ </v-select>
134
+ </div>
135
+ <div class="row app-row">
136
+ <div class="col-xs-4">
137
+ <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
138
+ <label class="font text-left">用户姓名:</label>
139
+ </div>
140
+ <div class="col-xs-8">
141
+ <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'"/>
142
+ </div>
143
+ </div>
144
+
145
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
146
+ <div class="col-xs-4">
147
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
148
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
149
+ </div>
150
+ <v-select
151
+ id="f_plan_name"
152
+ :value.sync="model.f_plan_name"
153
+ class="input-font"
154
+ :options='$parent.$parent.planNameOptions'
155
+ placeholder='计划名称'
156
+ :width="'60%'"
157
+ v-model="model.f_plan_name"
158
+ condition="f_plan_name like '%{}%'"
159
+ close-on-select clear-button>
160
+ </v-select>
161
+ </div>
162
+
163
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
164
+ <div class="col-xs-4">
165
+ <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
166
+ <label for="f_state" class="font text-left">是否已检:</label>
167
+ </div>
168
+ <v-select id="f_state"
169
+ :value.sync="model.f_state"
170
+ class="input-font"
171
+ :options='$parent.$parent.check_states'
172
+ placeholder='是否已检'
173
+ :width="'60%'"
174
+ v-model="model.f_state"
175
+ condition="f_state='{}'"
176
+ close-on-select clear-button>
177
+ </v-select>
178
+ </div>
179
+
180
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
181
+ <div class="col-xs-4">
182
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
183
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
184
+ </div>
185
+ <div class="col-xs-8">
186
+ <input id="f_userinfo_code" class="search_input input-font"
187
+ v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'"/>
188
+ </div>
189
+ </div>
190
+
191
+ <!--<div class="row app-row">-->
192
+ <!--<div class="col-xs-4">-->
193
+ <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
194
+ <!--<label for="f_plan_year" class="font text-left">计划年份:</label>-->
195
+ <!--</div>-->
196
+ <!--<div class="col-xs-8" >-->
197
+ <!--<input id="f_plan_year" class="search_input input-font"-->
198
+ <!--v-model="model.f_plan_year" condition="f_plan_year = '{}'" />-->
199
+ <!--</div>-->
200
+ <!--</div>-->
201
+ <!--<div class="row app-row">-->
202
+ <!--<div class="col-xs-4">-->
203
+ <!--<img src="../../assets/shijian.png" style="width: 20px;margin-bottom: 5px" alt="">-->
204
+ <!--<label for="f_plan_month" class="font text-left">计划月份:</label>-->
205
+ <!--</div>-->
206
+ <!--<div class="col-xs-8" >-->
207
+ <!--<input id="f_plan_month" class="search_input input-font"-->
208
+ <!--v-model="model.f_plan_month" condition="f_plan_month = '{}'" />-->
209
+ <!--</div>-->
210
+ <!--</div>-->
211
+
212
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
213
+ <div class="col-xs-4">
214
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
215
+ <label class="font text-left">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</label>
216
+ </div>
217
+ <div class="col-xs-6">
218
+ <input class="search_input input-font"
219
+ v-model=model.f_meter_no condition="ti.f_meter_no like '%{}%'"/>
220
+ </div>
221
+ <div class="col-xs-2">
222
+ <img src="../../assets/扫一扫.png" style="width: 20px;margin-bottom: 5px" @click="$parent.$parent.scan()">
223
+ </div>
224
+ </div>
225
+
226
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
227
+ <div class="col-xs-4">
228
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
229
+ <label class="font text-left">用户地址:</label>
230
+ </div>
231
+ <div class="col-xs-8">
232
+ <input class="search_input input-font"
233
+ v-model=model.f_keyword condition="f_address like '%{}%'"/>
234
+ </div>
235
+ </div>
236
+
237
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
238
+ <div class="col-xs-4">
239
+ <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
240
+ <label for="f_user_type" class="font text-left">用户类型:</label>
241
+ </div>
242
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
243
+ :width="'60%'"
244
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
245
+ v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select
246
+ clear-button></v-select>
247
+ </div>
248
+
249
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
250
+ <div class="col-xs-4">
251
+ <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
252
+ <label for="safechecktype" class="font text-left">安检类型:</label>
253
+ </div>
254
+ <v-select id="safechecktype" :value.sync="model.f_safecheck_type" class="input-font"
255
+ :width="'60%'"
256
+ :options='$parent.$parent.safechecktypes' placeholder='请选择安检类型'
257
+ v-model="model.f_safecheck_type" condition="f_safecheck_type ='{}'" close-on-select
258
+ clear-button></v-select>
259
+ </div>
260
+
261
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
262
+ <div class="col-xs-6" style="text-align: center">
263
+ <span class="font text-left">待办{{ $parent.$parent.upcomingCount }}条</span>
264
+ </div>
265
+ <div class="col-xs-6" style="text-align: center">
266
+ <span class="font text-left">已办{{ $parent.$parent.doneCount }}条</span>
267
+ </div>
268
+ <div class="col-xs-6" style="text-align: center">
269
+ <span class="font text-left">临时保存{{ $parent.$parent.tempSaveCount }}条</span>
270
+ </div>
271
+ <div class="col-xs-6" style="text-align: center">
272
+ <span class="font text-left">总共{{ $parent.$parent.allPlanCount }}条</span>
273
+ </div>
274
+ </div>
275
+
276
+ <!--<div class="row app-row">-->
277
+ <!--<div class="col-xs-4">-->
278
+ <!--<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
279
+ <!--<label class="font text-left">挂表方式:</label>-->
280
+ <!--</div>-->
281
+ <!--<div class="col-xs-8" >-->
282
+ <!--<v-select :value.sync="model.f_flow_direction"-->
283
+ <!--:options='$parent.$parent.flow_direction' placeholder='请选择挂表方式'-->
284
+ <!--v-model="model.f_flow_direction" condition="f_flow_direction='{}'" close-on-select clear-button></v-select>-->
285
+ <!--</div>-->
286
+ <!--</div>-->
287
+ <!--<div class="row app-row">-->
288
+ <!--<div class="col-xs-4">-->
289
+ <!--<img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">-->
290
+ <!--<label for="f_last_state" class="font text-left">安检状态:</label>-->
291
+ <!--</div>-->
292
+ <!--<div class="col-xs-8" >-->
293
+ <!--<v-select id="f_last_state" :value.sync="model.f_last_state" class="input-font"-->
294
+ <!--:options='$parent.$parent.last_check_states' placeholder='请选择安检状态'-->
295
+ <!--v-model="model.f_last_state" condition="f_last_check_state='{}'" close-on-select clear-button></v-select>-->
296
+ <!--</div>-->
297
+ <!--</div>-->
298
+ <!-- <div class="row app-row">
299
+ <div class="col-xs-4">
300
+ <img src="../../assets/审核状态.png" style="width: 20px;margin-bottom: 5px" alt="">
301
+ <label for="f_approved" class="font text-left">审核状态:</label>
302
+ </div>
303
+ <div class="col-xs-8" >
304
+ <v-select id="f_approved" :value.sync="model.f_approved" class="input-font"
305
+ :options='$parent.$parent.verify_state' placeholder='请选择审核状态'
306
+ v-model="model.f_approved" condition="f_approved='{}'" close-on-select clear-button></v-select>
307
+ </div>
308
+ </div>-->
309
+ <div class="row text-center" style="margin-top: 20px;">
310
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
311
+ @click="$parent.$parent.selfSearch">查询
312
+ </button>
313
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px"
314
+ @click="$parent.$parent.queryplanmany">转发
315
+ </button>
316
+ <div style="float: right;margin-right: 3% " class="button_spacing"
317
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
318
+ @click="$parent.$parent.hidden()"></div>
319
+ <img style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder"
320
+ src="../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
321
+ </div>
322
+ <div class="row">
323
+ <div style="float: right;margin-right: 30px;margin-top: 5px;display: flex;padding: 8px;border: 1px solid #499EDF;border-radius: 5px;">
324
+ <span class="font text-left">
325
+ <input type="checkbox" id="multiple-check-id" class="search_input input-font" @click="$parent.$parent.selcheckAll($event)" />
326
+ </span>
327
+ <label for="multiple-check-id" class="font text-left" style="font: 600 15px PingFang-SC-Bold; color: #499EDF;padding: 0;margin: 0;">
328
+ [已选{{ $parent.$parent.planparam.length }}]
329
+ </label>
330
+ </div>
331
+ </div>
332
+ <!--<div class="row app-btn">-->
333
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
334
+ <!--</div>-->
335
+ <div style="height:30px;"></div>
336
+ </form>
337
+ </div>
338
+ </criteria>
339
+ <list :model="model" partial='list'>
340
+ <div partial>
341
+ <div class="auto app-text" style="margin-top: 5px;">
342
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
343
+ <div class="panel-body panel-self">
344
+
345
+ <div class="col-xs-12">
346
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
347
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
348
+ <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
349
+ <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"
350
+ :checked="$parent.$parent.$parent.planparam.includes(row.id)"/>
351
+ </p>
352
+ </div>
353
+ <div class="col-xs-12">
354
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
355
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
356
+ </div>
357
+ <div class="col-xs-6">
358
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
359
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
360
+ </p>
361
+ </div>
362
+ <div class="col-xs-6">
363
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
364
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
365
+ </div>
366
+ <!-- <div class="col-xs-6">-->
367
+ <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
368
+ <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
369
+ <!-- </div>-->
370
+ <div class="col-xs-12">
371
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
372
+ <p class="panel-title text-left input-font" style="width: 77%">
373
+ {{ row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone }}
374
+ <img src="../../assets/phone.png" style="width: 6%"
375
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone2 ? row.f_user_phone2 : row.f_user_phone)'></img>
376
+ </p>
377
+ </div>
378
+
379
+ <div class="col-xs-12">
380
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
381
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
382
+ </div>
383
+
384
+ <!-- <div class="row">-->
385
+ <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
386
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
387
+ <!-- </div>-->
388
+ <!-- <div class="row">-->
389
+ <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
390
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
391
+ <!-- </div>-->
392
+ <!-- <div class="row">-->
393
+ <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
394
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
395
+ <!-- </div>-->
396
+ <!--<div class="row">-->
397
+ <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
398
+ <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
399
+ <!--</div>-->
400
+ <div class="col-xs-6">
401
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
402
+ <p class="panel-title col-xs-7 text-left input-font">
403
+ {{ row.f_state == '已检' ? '临时保存' : row.f_state }}</p>
404
+ </div>
405
+ <div class="col-xs-6">
406
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
407
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
408
+ </div>
409
+ <div class="col-xs-6">
410
+ <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
411
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
412
+ </div>
413
+ <div class="col-xs-6">
414
+ <p class="panel-title col-xs-5 text-left font"><b>投保日期:</b></p>
415
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_insurance_gas_date }}</p>
416
+ </div>
417
+ <div class="col-xs-12">
418
+ <p class="panel-title col-xs-5 text-left font"><b>备注:</b></p>
419
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_remark }}</p>
420
+ </div>
421
+ <!--<div class="col-xs-12">-->
422
+ <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
423
+ <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
424
+ <!--</div>-->
425
+ <div class="col-xs-12">
426
+ <button type="button" name="button" class="btn btn-primary"
427
+ style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理
428
+ </button>
429
+ <button type="button" name="button" class="btn btn-primary"
430
+ style="background-color:#499edf;float: right;margin-right:10px;"
431
+ @click="$parent.$parent.$parent.queryplan(row.id)">转发
432
+ </button>
433
+ <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
434
+ </div>
435
+ <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
436
+ <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
437
+ <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
438
+ <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
439
+ <!-- </div>-->
440
+ </div>
441
+ </div>
442
+ </div>
443
+ </div>
444
+ </list>
445
+ </criteria-paged>
446
+ <modal :show.sync="showModal">
447
+ <div slot="modal-header" class="modal-header">
448
+ <h4 class="modal-title">
449
+ 选择预约时间
450
+ </h4>
451
+ </div>
452
+ <div slot="modal-body" class="modal-body">
453
+ <input type="datetime-local" v-model="f_preset_dt">
454
+ </div>
455
+ <div slot="modal-footer" class="modal-footer">
456
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
457
+ </div>
458
+ </modal>
459
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
460
+ <modal :show.sync="showModal2" v-ref:modal :backdrop="false">
461
+ <div slot="modal-header" class="modal-header">
462
+ <h4 class="modal-title">
463
+ 选择计划
464
+ </h4>
465
+ </div>
466
+ <div slot="modal-body" class="modal-body">
467
+ <div class="col-xs-12">
468
+
469
+ <div class="col-xs-4">
470
+ <v-select :value.sync="check" v-model='check'
471
+ :value-single="true"
472
+ class="select_list select"
473
+ :options='checkers' placeholder='安检员'
474
+ close-on-select width="100%"></v-select>
475
+ </div>
476
+
477
+ <div class="col-xs-1">
478
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
479
+ </div>
480
+ <div class="col-xs-4" style="padding-left: 2px">
481
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
482
+ style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
483
+ </div>
484
+ <div class="col-xs-1">
485
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
486
+ </div>
487
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
488
+ <div class="col-xs-2" style="float: right">
489
+ <button type="button" class="btn btn-primary" @click="plansearch"
490
+ style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
491
+ 查询
492
+ </button>
493
+ </div>
494
+ </div>
495
+ <table class="table table_sy">
496
+ <thead>
497
+ <tr>
498
+ <th style="width: 30px"></th>
499
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
500
+ </tr>
501
+ </thead>
502
+ <tbody>
503
+ <tr v-for="row in planoption">
504
+ <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
505
+ <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
506
+
507
+
508
+ </tr>
509
+ </tbody>
510
+ </table>
511
+ </div>
512
+ <div slot="modal-footer" class="modal-footer">
513
+ <button class="btn btn-default" @click="isok()">确认</button>
514
+ <button class="btn btn-default" @click="iscancel()">取消</button>
515
+ </div>
516
+ </modal>
517
+ <modal :show.sync="showModal3" v-ref:modal>
518
+ <div slot="modal-header" class="modal-header">
519
+ <h4 class="modal-title">
520
+ 选择计划
521
+ </h4>
522
+ </div>
523
+ <div slot="modal-body" class="modal-body">
524
+ <div class="col-xs-12">
525
+
526
+ <div class="col-xs-4">
527
+ <v-select :value.sync="check" v-model='check'
528
+ :value-single="true"
529
+ class="select_list select"
530
+ :options='checkers' placeholder='安检员'
531
+ close-on-select width="100%"></v-select>
532
+ </div>
533
+
534
+ <div class="col-xs-1">
535
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
536
+ </div>
537
+ <div class="col-xs-4" style="padding-left: 2px">
538
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan"
539
+ style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
540
+ </div>
541
+ <div class="col-xs-1">
542
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
543
+ </div>
544
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
545
+ <div class="col-xs-2" style="float: right">
546
+ <button type="button" class="btn btn-primary" @click="plansearch"
547
+ style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">
548
+ 查询
549
+ </button>
550
+ </div>
551
+ </div>
552
+ <table class="table table_sy">
553
+ <thead>
554
+ <tr>
555
+ <th style="width: 30px"></th>
556
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
557
+ </tr>
558
+ </thead>
559
+ <tbody>
560
+ <tr v-for="row in planoption">
561
+ <td @click="select(row, $index)">{{ row.selected == true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;' }}</td>
562
+ <td @click="select(row, $index)" style="text-align: center">{{ row.label }}</td>
563
+
564
+
565
+ </tr>
566
+ </tbody>
567
+ </table>
568
+ </div>
569
+ <div slot="modal-footer" class="modal-footer">
570
+ <button class="btn btn-default" @click="manyisok()">确认</button>
571
+ <button class="btn btn-default" @click="iscancel()">取消</button>
572
+ </div>
573
+ </modal>
574
+ </div>
575
+
576
+ </template>
577
+
578
+ <script>
579
+ import LocalPagedList from '../../plugins/LocalPagedList'
580
+ import Vue from 'vue'
581
+ import {HttpResetClass, PagedList} from 'vue-client'
582
+ import * as Util from '../Util'
583
+ import co from 'co'
584
+
585
+ let select = function * (self) {
586
+ let http = new HttpResetClass()
587
+ http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
588
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
589
+ userid: Vue.user.id
590
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
591
+ console.log('获取安检员', res)
592
+ self.checkers.push({label: '全部', value: ''})
593
+ res.data.forEach((checker) => {
594
+ self.checkers.push({label: checker.name, value: checker.id})
595
+ })
596
+ })
597
+ }
598
+ export default {
599
+ title: '无计划安检查询',
600
+ data () {
601
+ return {
602
+ f_filialeids: `('${Vue.user.orgid}')`,
603
+ // f_filialeids:'(305)',
604
+ planparam: [],
605
+ check: '',
606
+ plan: '',
607
+ planid: '',
608
+ model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, {condition: 'this.condition'}) : new PagedList('AndroidRest/api/af-safecheck/sql/androidGetuserinfo', 20, {condition: 'this.condition'}),
609
+ showModal: false,
610
+ showModal2: false,
611
+ showModal3: false,
612
+ needid: '',
613
+ criteriaShow: false,
614
+ planoption: [],
615
+ condition: '',
616
+ checklistcodes: [],
617
+ checkers: [],
618
+ enableButton: false,
619
+ param: null,
620
+ f_preset_dt: Util.to3339TimeString(),
621
+ flow_direction: [
622
+ {label: '请选择挂表方式', value: ''},
623
+ {label: '左表', value: '左表'},
624
+ {label: '右表', value: '右表'}
625
+ ],
626
+ check_states: [
627
+ {label: '请选择安检状态', value: ''},
628
+ {label: '未检', value: '未检'},
629
+ {label: '临时保存', value: '已检'}
630
+ ],
631
+ last_check_states: [
632
+ {label: '请选择上次安检状态', value: ''},
633
+ {label: '入户', value: '入户'},
634
+ {label: '拒检', value: '拒检'},
635
+ {label: '到访不遇', value: '到访不遇'},
636
+ {label: '未使用天然气', value: '未使用天然气'}
637
+ ],
638
+ upload_states: [
639
+ {label: '请选择上传状态', value: ''},
640
+ {label: '未传', value: '未传'},
641
+ {label: '已传', value: '已传'}
642
+ ],
643
+ user_types: [
644
+ {label: '请选择用户类型', value: ''},
645
+ {label: '民用', value: '民用'},
646
+ {label: '非民用', value: '非民用'}
647
+ ],
648
+ safechecktypes: [
649
+ {label: '请选择安检类型', value: ''},
650
+ {label: '年度普检', value: '年度普检'},
651
+ {label: '专项计划', value: '专项计划'}
652
+ ],
653
+ verify_state: [
654
+ {label: '请选择审核状态', value: ''},
655
+ {label: '未审核', value: '未审核'},
656
+ {label: '打回', value: '打回'}
657
+ ],
658
+ residentialAreaOptions: [],
659
+ buildOptions: [],
660
+ unitOptions: [],
661
+ planNameOptions: [],
662
+ upcomingCount: 0,
663
+ doneCount: 0,
664
+ tempSaveCount: 0,
665
+ allPlanCount: 0
666
+ }
667
+ },
668
+ ready () {
669
+ this.getAllArea()
670
+ this.getAllPlanName()
671
+ this.selfSearch()
672
+ let gen = select(this)
673
+ co(gen)
674
+ },
675
+ methods: {
676
+ scan() {
677
+ HostApp.__this__ = this,
678
+ HostApp.scanCode({callback: "javascript:HostApp.__this__.getCode();"})
679
+ },
680
+ getCode() {
681
+ var datapa = HostApp.getCode().data;
682
+ this.$refs.paged.$refs.cri.model.f_meter_no = datapa
683
+ },
684
+ checkAllClick(e) {
685
+ console.log(e)
686
+ },
687
+ getNowDate (f_time) {
688
+ let year = ''
689
+ let month = ''
690
+ let day = ''
691
+ let hour = ''
692
+ let minutes = ''
693
+ let seconds = ''
694
+ let mydate = new Date(f_time)
695
+ let mymonth = mydate.getMonth() + 1
696
+ let myday = mydate.getDate()
697
+ let myyear = mydate.getYear()
698
+ let myhour = mydate.getHours()
699
+ let myminutes = mydate.getMinutes()
700
+ let myseconds = mydate.getSeconds()
701
+ year = (myyear > 200) ? myyear : 1900 + myyear
702
+ month = (mymonth > 9) ? mymonth : '0' + mymonth
703
+ day = (myday > 9) ? myday : '0' + myday
704
+ hour = (myhour > 9) ? myhour : '0' + myhour
705
+ minutes = (myminutes > 9) ? myminutes : '0' + myminutes
706
+ seconds = (myseconds > 9) ? myseconds : '0' + myseconds
707
+ // document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
708
+ return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds
709
+ },
710
+ iscancel () {
711
+ this.showModal2 = false
712
+ this.showModal3 = false
713
+ this.planoption = []
714
+ },
715
+ timeSet (val) {
716
+ return val
717
+ },
718
+ async isok () {
719
+ if (this.planoption.length == 0) {
720
+ this.$showMessage('请选择计划')
721
+ return false
722
+ }
723
+ for (let i = 0; i < this.planoption.length; i++) {
724
+ if (this.planoption[i]['selected'] == true) {
725
+ this.planid = this.planoption[i].value
726
+ break
727
+ }
728
+ }
729
+ if (this.planid == '') {
730
+ this.$showMessage('请选择计划')
731
+ return false
732
+ }
733
+ await this.okput()
734
+ },
735
+ async manyisok () {
736
+ if (this.planoption.length == 0) {
737
+ this.$showMessage('请选择计划')
738
+ return false
739
+ }
740
+ for (let i = 0; i < this.planoption.length; i++) {
741
+ if (this.planoption[i]['selected'] == true) {
742
+ this.planid = this.planoption[i].value
743
+ break
744
+ }
745
+ }
746
+ if (this.planid == '') {
747
+ this.$showMessage('请选择计划')
748
+ return false
749
+ }
750
+ await this.manyokput()
751
+ },
752
+ changenull () {
753
+ this.showModal2 = false
754
+ this.showModal3 = false
755
+ this.planoption = []
756
+ this.plan = ''
757
+ this.check = ''
758
+ },
759
+ async okput () {
760
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
761
+ data: {
762
+
763
+ condition: `it.id='` + this.needid + `'`,
764
+ f_plan_id: this.planid,
765
+ switchCheckAll: false,
766
+ checkAll: false,
767
+ f_operator: Vue.user.name
768
+ }
769
+ })
770
+ await this.changenull()
771
+ await this.getNewOrder()
772
+ },
773
+ async manyokput () {
774
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {
775
+ data: {
776
+ columnName: 'it.id',
777
+ condition: '1=1',
778
+ f_plan_id: this.planid,
779
+ switchCheckAll: true,
780
+ param: this.planparam,
781
+ checkAll: false,
782
+ f_operator: Vue.user.name
783
+ }
784
+ })
785
+ await this.changenull()
786
+ await this.getNewOrder()
787
+ },
788
+ async plansearch () {
789
+ this.planoption = []
790
+ let condition = `f_checker_id='` + this.check + `' and f_plan_name like '%` + this.plan + `%'`
791
+ if (!this.check) {
792
+ condition = `f_plan_name like '%` + this.plan + `%'`
793
+ }
794
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/预约计划下发`, {
795
+ data: {
796
+ condition: condition,
797
+ f_filialeids: this.f_filialeids,
798
+ groupitem: '',
799
+ orderitem: 'id'
800
+ }
801
+ })
802
+ let resoult = res.data
803
+ for (let i = 0; i < resoult.length; i++) {
804
+ this.planoption.push({label: resoult[i].f_plan_name, selected: false, value: resoult[i].id})
805
+ }
806
+ },
807
+
808
+ select (row, idx) {
809
+ this.$set('planoption[' + idx + '].selected', true)
810
+ for (let i = 0; i < this.planoption.length; i++) {
811
+ if (i != idx) {
812
+ this.planoption[i]['selected'] = false
813
+ }
814
+ }
815
+ },
816
+ planclose () {
817
+ this.showModal2 = false
818
+ this.showModal3 = false
819
+ },
820
+ queryplan (val) {
821
+ this.needid = val
822
+ this.showModal2 = true
823
+ },
824
+ queryplanmany () {
825
+
826
+ this.showModal3 = true
827
+ },
828
+ reload () {
829
+ // this.getAllArea()
830
+ // this.getAllPlanName()
831
+ // this.selfSearch()
832
+ this.$refs.paged.loadPage(this.model.pageIndex)
833
+ },
834
+ cancelReserve (idx, id) {
835
+ if (Vue.android) {
836
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
837
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
838
+ if (res.code == 200) {
839
+ this.$showMessage('取消预约成功')
840
+ }
841
+ } else {
842
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
843
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
844
+ if (repanse.data.code == 200) {
845
+ alert('取消预约成功!')
846
+ }
847
+ })
848
+ }
849
+ },
850
+ genuineReserve () {
851
+ if (Vue.android) {
852
+ if (!this.f_preset_dt) {
853
+ this.$showMessage('请选择一个日期')
854
+ return
855
+ }
856
+ let pdt = this.f_preset_dt.replace('T', ' ')
857
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
858
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
859
+ if (respanse.code == 200) {
860
+ this.$showMessage('预约成功!')
861
+ }
862
+ this.showModal = false
863
+ } else {
864
+ if (!this.f_preset_dt) {
865
+ alert('请选择一个日期')
866
+ return
867
+ }
868
+ let pdt = this.f_preset_dt.replace('T', ' ')
869
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
870
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
871
+ if (res.data.code == 200) {
872
+ alert('预约成功!')
873
+ }
874
+ this.showModal = false
875
+ })
876
+ }
877
+ },
878
+ inspect (row) {
879
+ if (this.enableButton) {
880
+ return
881
+ }
882
+ if (row.f_plan_year != new Date().getFullYear()) {
883
+ this.$showMessage('该安检单不是本年安检单,请联系内勤调整!')
884
+ return
885
+ }
886
+ this.enableButton = true
887
+ var _this = this
888
+ if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检')) {
889
+ new HttpResetClass().load('POST', `${_this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}}).then((response) => {
890
+ console.log(JSON.stringify(response))
891
+ row['f_plan_meters'] = response.data
892
+ var pardate = {
893
+ _this: _this,
894
+ title: '安检单',
895
+ safe: true
896
+ }
897
+ _this.$dispatch('gotoson', pardate)
898
+ console.log('进入safecheck-order-v')
899
+ this.enableButton = false
900
+ _this.$goto('safecheck-order-v', {
901
+ f_plan_id: row.f_plan_id,
902
+ item: row,
903
+ role: 'inspect',
904
+ buttonState: Vue.user.rolestr.includes('安检临时保存')
905
+ }, 'self', _this.reload)
906
+ }).catch((msg) => {
907
+ _this.$showMessage('网络故障,请稍候再试!')
908
+ this.enableButton = false
909
+ })
910
+ } else {
911
+ this.$showMessage('该安检单已被上传!')
912
+ this.enableButton = false
913
+ }
914
+ },
915
+ makeAPhoneCall (phoneNumber) {
916
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
917
+ },
918
+ reserve (idx) {
919
+ this.param = idx
920
+ this.showModal = true
921
+ },
922
+ search (args) {
923
+ this.model.rows = []
924
+ this.model.search(args.condition, args.model)
925
+ },
926
+ selfSearch () {
927
+ this.getPlanCount()
928
+ let condition = ''
929
+ if (this.$refs.paged.$refs.cri.model.f_residential_area) {
930
+ if (this.$refs.paged.$refs.cri.model.f_residential_area.toString().trim()) {
931
+ condition += ' and ti.f_residential_area = \'' + this.$refs.paged.$refs.cri.model.f_residential_area + '\''
932
+ }
933
+ }
934
+ if (this.$refs.paged.$refs.cri.model.f_building) {
935
+ if (this.$refs.paged.$refs.cri.model.f_building.toString().trim()) {
936
+ condition += ' and ti.f_building = \'' + this.$refs.paged.$refs.cri.model.f_building + '\''
937
+ }
938
+ }
939
+ if (this.$refs.paged.$refs.cri.model.f_unit) {
940
+ if (this.$refs.paged.$refs.cri.model.f_unit.toString().trim()) {
941
+ condition += ' and ti.f_unit = \'' + this.$refs.paged.$refs.cri.model.f_unit + '\''
942
+ }
943
+ }
944
+ if (this.$refs.paged.$refs.cri.model.f_plan_name) {
945
+ if (this.$refs.paged.$refs.cri.model.f_plan_name.toString().trim()) {
946
+ condition += ' and f_plan_name like \'%' + this.$refs.paged.$refs.cri.model.f_plan_name + '%\''
947
+ }
948
+ }
949
+ if (this.$refs.paged.$refs.cri.model.f_userinfo_code) {
950
+ if (this.$refs.paged.$refs.cri.model.f_userinfo_code.toString().trim()) {
951
+ condition += ' and ti.f_userinfo_code like \'%' + this.$refs.paged.$refs.cri.model.f_userinfo_code + '%\''
952
+ }
953
+ }
954
+ if (this.$refs.paged.$refs.cri.model.f_keyword) {
955
+ if (this.$refs.paged.$refs.cri.model.f_keyword.toString().trim()) {
956
+ condition += ' and ti.f_address like \'%' + this.$refs.paged.$refs.cri.model.f_keyword + '%\''
957
+ }
958
+ }
959
+ if (this.$refs.paged.$refs.cri.model.f_user_name) {
960
+ if (this.$refs.paged.$refs.cri.model.f_user_name.toString().trim()) {
961
+ condition += ' and ti.f_user_name like \'%' + this.$refs.paged.$refs.cri.model.f_user_name + '%\''
962
+ }
963
+ }
964
+ if (this.$refs.paged.$refs.cri.model.f_state[0]) {
965
+ if (this.$refs.paged.$refs.cri.model.f_state[0].toString().trim()) {
966
+ condition += ' and ti.f_state=\'' + this.$refs.paged.$refs.cri.model.f_state[0] + '\''
967
+ }
968
+ }
969
+ if (this.$refs.paged.$refs.cri.model.f_user_type[0]) {
970
+ if (this.$refs.paged.$refs.cri.model.f_user_type[0].toString().trim()) {
971
+ condition += ' and ti.f_user_type=\'' + this.$refs.paged.$refs.cri.model.f_user_type[0] + '\''
972
+ }
973
+ }
974
+ if (this.$refs.paged.$refs.cri.model.f_meter_no) {
975
+ if (this.$refs.paged.$refs.cri.model.f_meter_no.toString().trim()) {
976
+ condition += ' and tm.f_meter_no like \'%' + this.$refs.paged.$refs.cri.model.f_meter_no + '%\''
977
+ }
978
+ }
979
+ if (this.$refs.paged.$refs.cri.model.f_safecheck_type) {
980
+ if (this.$refs.paged.$refs.cri.model.f_safecheck_type.toString().trim()) {
981
+ condition += ' and ti.f_safecheck_type = \'' + this.$refs.paged.$refs.cri.model.f_safecheck_type + '\''
982
+ }
983
+ }
984
+
985
+ // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
986
+ // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
987
+ console.log('condition ===> ' + condition)
988
+ this.model.search('((f_complete = \'\' or f_complete = null or f_complete = \'未完成\') or (f_state = \'未检\')) and ti.f_no_checkplan = \'有计划安检\'' + condition)
989
+ },
990
+ getNewOrder () {
991
+ HostApp.__this__ = this
992
+ HostApp.logicWithHint({
993
+ // logic别名,key必须为logic
994
+ 'logic': 'SafeCheckServiceTimeOut',
995
+ // 回调执行方法名,key必须为callback
996
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
997
+ // logic执行需要的业务参数
998
+ 'data': {params: ''},
999
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
1000
+ // 执行回调方法传入key为backresult
1001
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
1002
+ 'backresult': 1
1003
+ })
1004
+ },
1005
+ getNewOrderCallBack () {
1006
+ this.selfSearch()
1007
+ this.getAllArea()
1008
+ this.getAllPlanName()
1009
+ },
1010
+ hidden () {
1011
+ this.criteriaShow = !this.criteriaShow
1012
+ },
1013
+ getAllArea () {
1014
+ this.residentialAreaOptions = []
1015
+ this.buildOptions = []
1016
+ this.unitOptions = []
1017
+ this.$refs.paged.$refs.cri.model.f_residential_area = ''
1018
+ this.$refs.paged.$refs.cri.model.f_building = ''
1019
+ this.$refs.paged.$refs.cri.model.f_unit = ''
1020
+ let criteria = {
1021
+ items: 'f_residential_area',
1022
+ tablename: 't_check_plan_item',
1023
+ condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND ((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检'))`,
1024
+ groupitem: 'f_residential_area'
1025
+ }
1026
+ let result = HostApp._executeTask({
1027
+ 'type': 'sql',
1028
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1029
+ })
1030
+ console.log('result ===> ' + JSON.stringify(result))
1031
+ if (result.code == 200) {
1032
+ result.data.rows.forEach(item => this.residentialAreaOptions.push({
1033
+ label: item.f_residential_area,
1034
+ value: item.f_residential_area
1035
+ }))
1036
+ }
1037
+ console.log('this.residentialAreaOptions ===> ' + JSON.stringify(this.residentialAreaOptions))
1038
+ },
1039
+ getbuilds (f_residential_area) {
1040
+ console.log('f_residential_area ===> ' + JSON.stringify(f_residential_area))
1041
+ this.buildOptions = []
1042
+ this.unitOptions = []
1043
+ this.$refs.paged.$refs.cri.model.f_building = ''
1044
+ this.$refs.paged.$refs.cri.model.f_unit = ''
1045
+ if (!f_residential_area) {
1046
+ return
1047
+ }
1048
+ let criteria = {
1049
+ items: 'f_building',
1050
+ tablename: 't_check_plan_item',
1051
+ condition: `f_building IS NOT NULL AND f_building != '' AND ((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) AND f_residential_area = '${f_residential_area}'`,
1052
+ groupitem: 'f_building'
1053
+ }
1054
+ let result = HostApp._executeTask({
1055
+ 'type': 'sql',
1056
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1057
+ })
1058
+ if (result.code == 200) {
1059
+ result.data.rows.forEach(item => this.buildOptions.push({label: item.f_building, value: item.f_building}))
1060
+ }
1061
+ console.log('this.buildOptions ===> ' + JSON.stringify(this.buildOptions))
1062
+ },
1063
+ getUnits (f_building) {
1064
+ f_building = f_building[0]
1065
+ console.log('f_building ===> ' + JSON.stringify(f_building))
1066
+ this.unitOptions = []
1067
+ this.$refs.paged.$refs.cri.model.f_unit = ''
1068
+ if (!f_building) {
1069
+ return
1070
+ }
1071
+ let criteria = {
1072
+ items: 'f_unit',
1073
+ tablename: 't_check_plan_item',
1074
+ condition: `f_unit IS NOT NULL AND f_unit != '' AND ((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
1075
+ groupitem: 'f_unit'
1076
+ }
1077
+ let result = HostApp._executeTask({
1078
+ 'type': 'sql',
1079
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1080
+ })
1081
+ if (result.code == 200) {
1082
+ result.data.rows.forEach(item => this.unitOptions.push({label: item.f_unit, value: item.f_unit}))
1083
+ }
1084
+ console.log('this.unitOptions ===> ' + JSON.stringify(this.unitOptions))
1085
+ },
1086
+ getPlanCount () {
1087
+ this.upcomingCount = 0
1088
+ this.tempSaveCount = 0
1089
+ this.doneCount = 0
1090
+ this.allPlanCount = 0
1091
+ let criteria = {
1092
+ items: 'count(id) count',
1093
+ tablename: 't_check_plan_item',
1094
+ condition: `f_state = '未检'`,
1095
+ groupitem: 'f_state'
1096
+ }
1097
+ let result = HostApp._executeTask({
1098
+ 'type': 'sql',
1099
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1100
+ })
1101
+ if (result.code && result.code == 200) {
1102
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1103
+ this.upcomingCount = result.data.rows[0].count
1104
+ }
1105
+ }
1106
+ criteria = {
1107
+ items: 'count(id) count',
1108
+ tablename: 't_check_plan_item',
1109
+ condition: `(f_complete = '' or f_complete = null or f_complete = '未完成') AND f_state = '已检'`,
1110
+ groupitem: 'f_state'
1111
+ }
1112
+ result = HostApp._executeTask({
1113
+ 'type': 'sql',
1114
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1115
+ })
1116
+ if (result.code && result.code == 200) {
1117
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1118
+ this.tempSaveCount = result.data.rows[0].count
1119
+ }
1120
+ }
1121
+ criteria = {
1122
+ items: 'count(id) count',
1123
+ tablename: 't_check_plan_item',
1124
+ condition: `f_complete = '已完成' AND f_state = '已检'`,
1125
+ groupitem: 'f_state'
1126
+ }
1127
+ result = HostApp._executeTask({
1128
+ 'type': 'sql',
1129
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1130
+ })
1131
+ if (result.code && result.code == 200) {
1132
+ if (result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1133
+ this.doneCount = result.data.rows[0].count
1134
+ }
1135
+ }
1136
+ this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1137
+
1138
+ console.log('this.upcomingCount ===> ' + this.upcomingCount)
1139
+ console.log('this.tempSaveCount ===> ' + this.tempSaveCount)
1140
+ console.log('this.doneCount ===> ' + this.doneCount)
1141
+ console.log('this.allPlanCount ===> ' + this.allPlanCount)
1142
+ },
1143
+ getAllPlanName () {
1144
+ this.planNameOptions = []
1145
+ this.$refs.paged.$refs.cri.model.f_plan_name = ''
1146
+ let criteria = {
1147
+ items: 'f_plan_name',
1148
+ tablename: 't_check_plan',
1149
+ condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1150
+ groupitem: 'f_plan_name'
1151
+ }
1152
+ let result = HostApp._executeTask({
1153
+ 'type': 'sql',
1154
+ 'data': {'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}
1155
+ })
1156
+ console.log('result ===> ' + JSON.stringify(result))
1157
+ if (result.code == 200) {
1158
+ result.data.rows.forEach(item => this.planNameOptions.push({label: item.f_plan_name, value: item.f_plan_name}))
1159
+ }
1160
+ console.log('this.planNameOptions ===> ' + JSON.stringify(this.planNameOptions))
1161
+ },
1162
+ setPlanParam (detailsType, event) {
1163
+ if (event.srcElement.checked) {
1164
+ this.planparam.push(detailsType)
1165
+ } else {
1166
+ if (this.planparam.length > 0) {
1167
+ let planid = this.planparam.findIndex((value) => {
1168
+ return value === detailsType
1169
+ })
1170
+ this.planparam.splice(planid, 1)
1171
+ }
1172
+ }
1173
+ },
1174
+ selcheckAll (event) {
1175
+ if (event.srcElement.checked) {
1176
+ const ids = [];
1177
+ for (const row of this.$refs.paged.model.rows) {
1178
+ ids.push(row.id)
1179
+ }
1180
+ this.planparam = [...this.planparam, ...ids]
1181
+ } else {
1182
+ if (this.planparam.length > 0 && this.$refs.paged.model.rows.length > 0) {
1183
+ for (const planparamElement of this.$refs.paged.model.rows) {
1184
+ const planid = this.planparam.findIndex((value) => {
1185
+ return value === planparamElement.id
1186
+ })
1187
+ this.planparam.splice(planid, 1)
1188
+ }
1189
+ }
1190
+ }
1191
+ }
1192
+ }
1193
+ }
1194
+ </script>