telephone-clients 3.0.77 → 3.0.78

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 (832) hide show
  1. package/.eslintrc.js +16 -16
  2. package/CHANGELOG.md +37 -37
  3. package/README.md +38 -38
  4. package/TelephoneClient.iml +12 -12
  5. package/adapter.min.js +2049 -2049
  6. package/android.html +18 -18
  7. package/build.gradle +15 -15
  8. package/package.json +1 -1
  9. package/release.bat +5 -5
  10. package/src/AndroidApp.vue +33 -33
  11. package/src/App.vue +52 -52
  12. package/src/android-bootstrap/less/navs.less +333 -333
  13. package/src/android.js +17 -17
  14. package/src/androidBase.js +111 -111
  15. package/src/androidTest.js +18 -18
  16. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  17. package/src/bootstrap/less/.csscomb.json +304 -304
  18. package/src/bootstrap/less/.csslintrc +19 -19
  19. package/src/bootstrap/less/alerts.less +73 -73
  20. package/src/bootstrap/less/aofeng/animate.min.css +10 -10
  21. package/src/bootstrap/less/aofeng/standard.less +585 -585
  22. package/src/bootstrap/less/aofeng/themeOne/BinaryTemplate.less +478 -478
  23. package/src/bootstrap/less/aofeng/themeOne/loginStyle.less +1586 -1586
  24. package/src/bootstrap/less/aofeng/themeOne/systemStyle.less +1905 -1905
  25. package/src/bootstrap/less/aofeng/themeTwo/newStyle1.less +415 -415
  26. package/src/bootstrap/less/badges.less +66 -66
  27. package/src/bootstrap/less/bootstrap.less +65 -65
  28. package/src/bootstrap/less/breadcrumbs.less +26 -26
  29. package/src/bootstrap/less/button-groups.less +247 -247
  30. package/src/bootstrap/less/buttons.less +172 -172
  31. package/src/bootstrap/less/carousel.less +269 -269
  32. package/src/bootstrap/less/close.less +34 -34
  33. package/src/bootstrap/less/code.less +69 -69
  34. package/src/bootstrap/less/component-animations.less +33 -33
  35. package/src/bootstrap/less/dropdowns.less +216 -216
  36. package/src/bootstrap/less/forms.less +626 -626
  37. package/src/bootstrap/less/glyphicons.less +305 -305
  38. package/src/bootstrap/less/grid.less +84 -84
  39. package/src/bootstrap/less/input-groups.less +167 -167
  40. package/src/bootstrap/less/jumbotron.less +52 -52
  41. package/src/bootstrap/less/labels.less +64 -64
  42. package/src/bootstrap/less/list-group.less +141 -141
  43. package/src/bootstrap/less/manageStyle/manageChile.less +180 -180
  44. package/src/bootstrap/less/manageStyle/manageStyle.less +1102 -1102
  45. package/src/bootstrap/less/manageStyle/safeStyle.less +498 -498
  46. package/src/bootstrap/less/media.less +66 -66
  47. package/src/bootstrap/less/mixins/alerts.less +14 -14
  48. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  49. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  50. package/src/bootstrap/less/mixins/buttons.less +69 -69
  51. package/src/bootstrap/less/mixins/center-block.less +7 -7
  52. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  53. package/src/bootstrap/less/mixins/forms.less +90 -90
  54. package/src/bootstrap/less/mixins/gradients.less +59 -59
  55. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  56. package/src/bootstrap/less/mixins/grid.less +122 -122
  57. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  58. package/src/bootstrap/less/mixins/image.less +33 -33
  59. package/src/bootstrap/less/mixins/labels.less +12 -12
  60. package/src/bootstrap/less/mixins/list-group.less +30 -30
  61. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  62. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  63. package/src/bootstrap/less/mixins/opacity.less +8 -8
  64. package/src/bootstrap/less/mixins/pagination.less +24 -24
  65. package/src/bootstrap/less/mixins/panels.less +24 -24
  66. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  67. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  68. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  69. package/src/bootstrap/less/mixins/resize.less +6 -6
  70. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  71. package/src/bootstrap/less/mixins/size.less +10 -10
  72. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  73. package/src/bootstrap/less/mixins/table-row.less +44 -44
  74. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  75. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  76. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  77. package/src/bootstrap/less/mixins.less +40 -40
  78. package/src/bootstrap/less/modals.less +151 -151
  79. package/src/bootstrap/less/navbar.less +660 -660
  80. package/src/bootstrap/less/navs.less +285 -285
  81. package/src/bootstrap/less/normalize.less +424 -424
  82. package/src/bootstrap/less/pager.less +76 -76
  83. package/src/bootstrap/less/pagination.less +89 -89
  84. package/src/bootstrap/less/panels.less +275 -275
  85. package/src/bootstrap/less/popovers.less +131 -131
  86. package/src/bootstrap/less/print.less +101 -101
  87. package/src/bootstrap/less/progress-bars.less +87 -87
  88. package/src/bootstrap/less/responsive-embed.less +35 -35
  89. package/src/bootstrap/less/responsive-utilities.less +194 -194
  90. package/src/bootstrap/less/scaffolding.less +161 -161
  91. package/src/bootstrap/less/stand.less +211 -211
  92. package/src/bootstrap/less/standard.less +503 -503
  93. package/src/bootstrap/less/systemStyle.less +860 -860
  94. package/src/bootstrap/less/tables.less +312 -312
  95. package/src/bootstrap/less/theme.less +291 -291
  96. package/src/bootstrap/less/themeOne.less +34 -34
  97. package/src/bootstrap/less/themeTwo.less +27 -27
  98. package/src/bootstrap/less/thumbnails.less +36 -36
  99. package/src/bootstrap/less/tooltip.less +102 -102
  100. package/src/bootstrap/less/type.less +303 -303
  101. package/src/bootstrap/less/utilities.less +55 -55
  102. package/src/bootstrap/less/variables.less +896 -896
  103. package/src/bootstrap/less/wells.less +29 -29
  104. package/src/bus.js +2 -2
  105. package/src/components/CaseContainer.vue +86 -86
  106. package/src/components/ImgSelfTel.vue +126 -126
  107. package/src/components/MaterialsManage/MaterialsBase.vue +163 -163
  108. package/src/components/MaterialsManage/MaterialsList.vue +244 -244
  109. package/src/components/MaterialsManage/MaterialsManage.vue +60 -60
  110. package/src/components/PartialView.vue +44 -44
  111. package/src/components/Test.vue +26 -26
  112. package/src/components/TimelineItem.vue +119 -119
  113. package/src/components/Util/FileUpload.vue +139 -139
  114. package/src/components/Util/ImgSelfSafePlus.vue +156 -156
  115. package/src/components/Util/RightTreeSafe.vue +340 -340
  116. package/src/components/Util/TelePhoneUpload.vue +279 -279
  117. package/src/components/android/AddMyTask.vue +225 -225
  118. package/src/components/android/AppHeader.vue +69 -69
  119. package/src/components/android/CameraImg.vue +111 -111
  120. package/src/components/android/CompletedRepair.vue +264 -264
  121. package/src/components/android/EmployeeInfo.vue +59 -59
  122. package/src/components/android/EmployeePage.vue +71 -71
  123. package/src/components/android/Lbt.vue +103 -103
  124. package/src/components/android/LoginApp.vue +374 -374
  125. package/src/components/changemeter/ChangeMeterAll.vue +189 -189
  126. package/src/components/changemeter/ChangeMeterDetail.vue +300 -300
  127. package/src/components/changemeter/ChangeMeterMain.vue +37 -37
  128. package/src/components/eachart/BarBrokenline.vue +206 -206
  129. package/src/components/eachart/BarChart.vue +165 -165
  130. package/src/components/eachart/PieChart.vue +182 -182
  131. package/src/components/eachart/datesumchart.vue +165 -165
  132. package/src/components/eachart/statework.vue +226 -226
  133. package/src/components/eachart/workorderchart.vue +183 -183
  134. package/src/components/guoxin/Console.vue +316 -316
  135. package/src/components/guoxin/call.state.api.js +215 -215
  136. package/src/components/guoxin/reconnecting-websocket.min.js +1 -1
  137. package/src/components/guoxin/telephone.js +14 -14
  138. package/src/components/map/AMapTrailShowWx.vue +178 -178
  139. package/src/components/map/CriteriaData.vue +81 -81
  140. package/src/components/map/OlMap.vue +831 -831
  141. package/src/components/map/PipeMap.vue +154 -154
  142. package/src/components/map/dragbox.js +234 -234
  143. package/src/components/pay/createQRcode.vue +192 -192
  144. package/src/components/pay/telReadCard.vue +59 -59
  145. package/src/components/pc/AllUser.vue +615 -615
  146. package/src/components/pc/ArrearsList.vue +397 -397
  147. package/src/components/pc/AttendantCallStat.vue +213 -213
  148. package/src/components/pc/AttendantWorkHistory.vue +98 -98
  149. package/src/components/pc/Auxfunc.vue +76 -76
  150. package/src/components/pc/BottleGas/BottleGasManage.vue +304 -304
  151. package/src/components/pc/BottleGasWork.vue +214 -214
  152. package/src/components/pc/BuildReport.vue +60 -60
  153. package/src/components/pc/CallerInfoList.vue +98 -98
  154. package/src/components/pc/ComplainWork.vue +324 -324
  155. package/src/components/pc/Console.vue +617 -617
  156. package/src/components/pc/DelayReply.vue +60 -60
  157. package/src/components/pc/ElseWork.vue +44 -44
  158. package/src/components/pc/ElseWorkList.vue +267 -267
  159. package/src/components/pc/Evaluate.vue +145 -145
  160. package/src/components/pc/EvaluateList.vue +195 -195
  161. package/src/components/pc/EvaluateModel.vue +53 -53
  162. package/src/components/pc/FailureEdit.vue +192 -192
  163. package/src/components/pc/FailureShow.vue +61 -61
  164. package/src/components/pc/FireQuery.vue +165 -165
  165. package/src/components/pc/FootPrintList.vue +40 -40
  166. package/src/components/pc/GroupResend.vue +111 -111
  167. package/src/components/pc/ManageMaterial.vue +282 -282
  168. package/src/components/pc/MessageList.vue +635 -635
  169. package/src/components/pc/MessageManage.vue +136 -136
  170. package/src/components/pc/MessageManageList.vue +127 -127
  171. package/src/components/pc/MessageManageNew.vue +121 -121
  172. package/src/components/pc/MonitorGroup.vue +82 -82
  173. package/src/components/pc/NewRepairPaper.vue +370 -370
  174. package/src/components/pc/ProgressBar.vue +50 -50
  175. package/src/components/pc/QueryJoinlv.vue +136 -136
  176. package/src/components/pc/QueryTeleHistory.vue +95 -95
  177. package/src/components/pc/QueryTextHistory.vue +98 -98
  178. package/src/components/pc/QueryVisitHistory.vue +217 -217
  179. package/src/components/pc/ReVisitList.vue +208 -208
  180. package/src/components/pc/RecordInfoRight.vue +84 -84
  181. package/src/components/pc/RecordList.vue +53 -53
  182. package/src/components/pc/RecordList2.vue +155 -155
  183. package/src/components/pc/RecordListLeft.vue +188 -188
  184. package/src/components/pc/RecordReport.vue +181 -181
  185. package/src/components/pc/ReminderOrder.vue +52 -52
  186. package/src/components/pc/RepairHistoryList.vue +152 -152
  187. package/src/components/pc/RepairsWork.vue +792 -792
  188. package/src/components/pc/ReturnRecord.vue +126 -126
  189. package/src/components/pc/SeatInfo.vue +207 -207
  190. package/src/components/pc/Seekwork.vue +308 -308
  191. package/src/components/pc/ServerAppendixInfo.vue +52 -52
  192. package/src/components/pc/ServiceBack.vue +49 -49
  193. package/src/components/pc/ServiceDetails.vue +53 -53
  194. package/src/components/pc/ServiceDetailsNew.vue +53 -53
  195. package/src/components/pc/SiteBack.vue +84 -84
  196. package/src/components/pc/SiteCase.vue +87 -87
  197. package/src/components/pc/StandServer.vue +25 -25
  198. package/src/components/pc/StandWork.vue +91 -91
  199. package/src/components/pc/TelFindUser.vue +229 -229
  200. package/src/components/pc/TelListener.vue +138 -138
  201. package/src/components/pc/TelMaterSelect.vue +225 -225
  202. package/src/components/pc/TelUserMaterSend.vue +171 -171
  203. package/src/components/pc/TeleInfo.vue +140 -140
  204. package/src/components/pc/TeleList.vue +99 -99
  205. package/src/components/pc/TeleOperKl.vue +91 -91
  206. package/src/components/pc/TemplateMessage.vue +92 -92
  207. package/src/components/pc/TextInfoRight.vue +84 -84
  208. package/src/components/pc/UserDefinedMessage.vue +90 -90
  209. package/src/components/pc/UserDefinedMessageNew.vue +121 -121
  210. package/src/components/pc/UserOperate.vue +48 -48
  211. package/src/components/pc/VideoPlayer.vue +73 -73
  212. package/src/components/pc/VisitInfo.vue +284 -284
  213. package/src/components/pc/WorkCenter.vue +105 -105
  214. package/src/components/pc/WorkCenterContent.vue +100 -100
  215. package/src/components/pc/WorkCenterList.vue +287 -277
  216. package/src/components/pc/WorkFind.vue +128 -128
  217. package/src/components/pc/WorkHistory.vue +542 -542
  218. package/src/components/pc/WorkList.vue +754 -754
  219. package/src/components/pc/WorkListAll.vue +630 -630
  220. package/src/components/pc/WorkListAllNew.vue +685 -685
  221. package/src/components/pc/WorkListNew.vue +706 -706
  222. package/src/components/pc/WorkMsg.vue +105 -105
  223. package/src/components/pc/analysis/AnalysisMain.vue +423 -423
  224. package/src/components/pc/analysis/StateStatistics.vue +292 -292
  225. package/src/components/pc/config/DefaultPrint.js +7 -7
  226. package/src/components/pc/dataManager/KlCatalog.vue +293 -293
  227. package/src/components/pc/dataManager/KlContent.vue +193 -193
  228. package/src/components/pc/dataManager/Knowledge.vue +21 -21
  229. package/src/components/pc/dataManager/OutletsList.vue +85 -85
  230. package/src/components/pc/dataManager/SafeEditor.vue +91 -91
  231. package/src/components/pc/dataManager/SafeList.vue +77 -77
  232. package/src/components/pc/dataManager/ShowMaterials.vue +159 -159
  233. package/src/components/pc/dataManager/StopGasManager.vue +320 -320
  234. package/src/components/pc/imgmove.vue +192 -192
  235. package/src/components/pc/serviceDeleteOrder.vue +53 -53
  236. package/src/components/pc/wx/BookingService.vue +407 -407
  237. package/src/components/pc/wx/CustomMenu.vue +154 -154
  238. package/src/components/pc/wx/SelectMaterial.vue +100 -100
  239. package/src/components/pc/wx/TelOutletsManager.vue +186 -186
  240. package/src/components/pos/Init.vue +213 -213
  241. package/src/components/pos/Main.vue +123 -123
  242. package/src/components/pos/Plugin/AndroidPlugin.js +148 -148
  243. package/src/components/pos/aotePos.js +55 -55
  244. package/src/components/pos/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  245. package/src/components/pos/bootstrap/less/.csscomb.json +304 -304
  246. package/src/components/pos/bootstrap/less/.csslintrc +19 -19
  247. package/src/components/pos/bootstrap/less/alerts.less +73 -73
  248. package/src/components/pos/bootstrap/less/badges.less +66 -66
  249. package/src/components/pos/bootstrap/less/bootstrap.less +56 -56
  250. package/src/components/pos/bootstrap/less/breadcrumbs.less +26 -26
  251. package/src/components/pos/bootstrap/less/button-groups.less +247 -247
  252. package/src/components/pos/bootstrap/less/buttons.less +172 -172
  253. package/src/components/pos/bootstrap/less/carousel.less +269 -269
  254. package/src/components/pos/bootstrap/less/close.less +34 -34
  255. package/src/components/pos/bootstrap/less/code.less +69 -69
  256. package/src/components/pos/bootstrap/less/component-animations.less +33 -33
  257. package/src/components/pos/bootstrap/less/dropdowns.less +216 -216
  258. package/src/components/pos/bootstrap/less/forms.less +626 -626
  259. package/src/components/pos/bootstrap/less/glyphicons.less +305 -305
  260. package/src/components/pos/bootstrap/less/grid.less +84 -84
  261. package/src/components/pos/bootstrap/less/input-groups.less +167 -167
  262. package/src/components/pos/bootstrap/less/jumbotron.less +52 -52
  263. package/src/components/pos/bootstrap/less/labels.less +64 -64
  264. package/src/components/pos/bootstrap/less/list-group.less +141 -141
  265. package/src/components/pos/bootstrap/less/media.less +66 -66
  266. package/src/components/pos/bootstrap/less/mixins/alerts.less +14 -14
  267. package/src/components/pos/bootstrap/less/mixins/background-variant.less +9 -9
  268. package/src/components/pos/bootstrap/less/mixins/border-radius.less +18 -18
  269. package/src/components/pos/bootstrap/less/mixins/buttons.less +69 -69
  270. package/src/components/pos/bootstrap/less/mixins/center-block.less +7 -7
  271. package/src/components/pos/bootstrap/less/mixins/clearfix.less +22 -22
  272. package/src/components/pos/bootstrap/less/mixins/forms.less +90 -90
  273. package/src/components/pos/bootstrap/less/mixins/gradients.less +59 -59
  274. package/src/components/pos/bootstrap/less/mixins/grid-framework.less +92 -92
  275. package/src/components/pos/bootstrap/less/mixins/grid.less +122 -122
  276. package/src/components/pos/bootstrap/less/mixins/hide-text.less +21 -21
  277. package/src/components/pos/bootstrap/less/mixins/image.less +33 -33
  278. package/src/components/pos/bootstrap/less/mixins/labels.less +12 -12
  279. package/src/components/pos/bootstrap/less/mixins/list-group.less +30 -30
  280. package/src/components/pos/bootstrap/less/mixins/nav-divider.less +10 -10
  281. package/src/components/pos/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  282. package/src/components/pos/bootstrap/less/mixins/opacity.less +8 -8
  283. package/src/components/pos/bootstrap/less/mixins/pagination.less +24 -24
  284. package/src/components/pos/bootstrap/less/mixins/panels.less +24 -24
  285. package/src/components/pos/bootstrap/less/mixins/progress-bar.less +10 -10
  286. package/src/components/pos/bootstrap/less/mixins/reset-filter.less +8 -8
  287. package/src/components/pos/bootstrap/less/mixins/reset-text.less +18 -18
  288. package/src/components/pos/bootstrap/less/mixins/resize.less +6 -6
  289. package/src/components/pos/bootstrap/less/mixins/responsive-visibility.less +15 -15
  290. package/src/components/pos/bootstrap/less/mixins/size.less +10 -10
  291. package/src/components/pos/bootstrap/less/mixins/tab-focus.less +9 -9
  292. package/src/components/pos/bootstrap/less/mixins/table-row.less +44 -44
  293. package/src/components/pos/bootstrap/less/mixins/text-emphasis.less +9 -9
  294. package/src/components/pos/bootstrap/less/mixins/text-overflow.less +8 -8
  295. package/src/components/pos/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  296. package/src/components/pos/bootstrap/less/mixins.less +40 -40
  297. package/src/components/pos/bootstrap/less/modals.less +151 -151
  298. package/src/components/pos/bootstrap/less/navbar.less +660 -660
  299. package/src/components/pos/bootstrap/less/navs.less +286 -286
  300. package/src/components/pos/bootstrap/less/normalize.less +424 -424
  301. package/src/components/pos/bootstrap/less/pager.less +76 -76
  302. package/src/components/pos/bootstrap/less/pagination.less +89 -89
  303. package/src/components/pos/bootstrap/less/panels.less +274 -274
  304. package/src/components/pos/bootstrap/less/popovers.less +131 -131
  305. package/src/components/pos/bootstrap/less/print.less +101 -101
  306. package/src/components/pos/bootstrap/less/progress-bars.less +87 -87
  307. package/src/components/pos/bootstrap/less/responsive-embed.less +35 -35
  308. package/src/components/pos/bootstrap/less/responsive-utilities.less +194 -194
  309. package/src/components/pos/bootstrap/less/scaffolding.less +161 -161
  310. package/src/components/pos/bootstrap/less/tables.less +262 -262
  311. package/src/components/pos/bootstrap/less/theme.less +291 -291
  312. package/src/components/pos/bootstrap/less/thumbnails.less +36 -36
  313. package/src/components/pos/bootstrap/less/tooltip.less +102 -102
  314. package/src/components/pos/bootstrap/less/type.less +303 -303
  315. package/src/components/pos/bootstrap/less/utilities.less +55 -55
  316. package/src/components/pos/bootstrap/less/variables.less +895 -895
  317. package/src/components/pos/bootstrap/less/wells.less +29 -29
  318. package/src/components/pos/charge/card/CardInfo.vue +43 -43
  319. package/src/components/pos/charge/card/CheckUser.Vue +116 -116
  320. package/src/components/pos/charge/card/ReadCardInter.vue +177 -177
  321. package/src/components/pos/charge/card/SelectUser.Vue +104 -104
  322. package/src/components/pos/charge/sellgas/AdvertPop.vue +70 -70
  323. package/src/components/pos/charge/sellgas/GudingPrice.vue +38 -38
  324. package/src/components/pos/charge/sellgas/JietiPrice.vue +54 -54
  325. package/src/components/pos/charge/userinfo/ChangeMeterList.vue +43 -43
  326. package/src/components/pos/charge/userinfo/FillGasList.vue +43 -43
  327. package/src/components/pos/charge/userinfo/HistorySellList.vue +90 -90
  328. package/src/components/pos/charge/userinfo/OtherList.vue +43 -43
  329. package/src/components/pos/charge/userinfo/SellList.vue +43 -43
  330. package/src/components/pos/charge/userinfo/TransList.vue +43 -43
  331. package/src/components/pos/charge/userinfo/UserInfo.vue +176 -176
  332. package/src/components/pos/charge/userinfo/WritecardInfo.vue +44 -44
  333. package/src/components/pos/css/bootstrap.less +6757 -6757
  334. package/src/components/pos/css/style.less +158 -158
  335. package/src/components/pos/css/style.less.bak +84 -84
  336. package/src/components/pos/fonts/fontawesome-webfont.svg +2671 -2671
  337. package/src/components/pos/fonts/glyphicons-halflings-regular.svg +287 -287
  338. package/src/components/pos/js/bootstrap.js +2377 -2377
  339. package/src/components/pos/js/bootstrap.min.js +6 -6
  340. package/src/components/pos/js/jquery.chromatable.js +150 -150
  341. package/src/components/pos/js/jquery.min.js +5 -5
  342. package/src/components/pos/js/npm.js +12 -12
  343. package/src/components/pos/ztprint.js +26 -26
  344. package/src/components/qinhua/qhonlineChangeMeter.vue +440 -440
  345. package/src/components/qinhua/qhonlineoperation.vue +227 -227
  346. package/src/components/reli/ChoosePayWay.vue +179 -179
  347. package/src/components/reli/HistorySellLists.vue +128 -128
  348. package/src/components/reli/MachineMain.vue +470 -470
  349. package/src/components/reli/searchSells.vue +446 -446
  350. package/src/components/repaircount/RepairDetail.vue +74 -74
  351. package/src/components/repaircount/RepairPlan.vue +58 -58
  352. package/src/components/repaircount/SelectRepairPlan.vue +189 -189
  353. package/src/components/sale/CardMeterCenter.vue +625 -625
  354. package/src/components/sale/IOTMeterCenter.vue +443 -443
  355. package/src/components/sale/MachineMeterCenter.vue +591 -591
  356. package/src/components/sendsingle/CardChangeFill.vue +338 -338
  357. package/src/components/sendsingle/ChangeSendCard.vue +19 -19
  358. package/src/components/sendsingle/IotChangeFill.vue +471 -471
  359. package/src/components/sendsingle/MachineChangeFill.vue +143 -143
  360. package/src/components/sendsingle/PosMakeGas.vue +342 -342
  361. package/src/components/sendsingle/QueryTemporaryRepair.vue +226 -226
  362. package/src/components/sendsingle/TelLotChangeFill.vue +626 -626
  363. package/src/components/sendsingle/TemporarySingle.vue +480 -480
  364. package/src/components/sendsingle/ceshi.vue +51 -51
  365. package/src/components/sendsingle/onlineBuyGas.vue +632 -632
  366. package/src/components/sendsingle/onlineBuyGasOld.vue +19 -19
  367. package/src/components/sendsingle/onlinemakecard.vue +413 -413
  368. package/src/components/sendsingle/onlineoperation.vue +401 -401
  369. package/src/components/sendsingle/onlinequeryuser.vue +468 -468
  370. package/src/components/sendsingle/posMaintainer.vue +277 -277
  371. package/src/components/shaoguan/DelayReply.vue +60 -60
  372. package/src/components/shaoguan/FailureEdit.vue +172 -172
  373. package/src/components/shaoguan/WorkHistory.vue +346 -346
  374. package/src/components/shaoguan/WorkListAll.vue +521 -521
  375. package/src/components/shaoguan/config/DefaultPrint.js +7 -7
  376. package/src/components/telcount/TelByAttendant.vue +118 -118
  377. package/src/components/telcount/TelByLouQi.vue +113 -113
  378. package/src/components/telcount/TelByLouQiMingxi.vue +117 -117
  379. package/src/components/telcount/TelByOrderMan.vue +105 -105
  380. package/src/components/telcount/TelByWeiXiu.vue +199 -199
  381. package/src/components/telcount/TelByZhiHuan.vue +109 -109
  382. package/src/components/telreport/HotlineMonthly.vue +121 -121
  383. package/src/components/telreport/TelAgentVoiceReport.vue +275 -275
  384. package/src/components/telreport/TelMan.vue +127 -127
  385. package/src/components/telreport/Trafficassess.vue +121 -121
  386. package/src/components/temp/BusinessMessage.vue +60 -60
  387. package/src/components/temp/BusinesscheckInfo.vue +82 -82
  388. package/src/components/temp/CallRecords.vue +86 -86
  389. package/src/components/temp/ChangemeterInfo.vue +87 -87
  390. package/src/components/temp/DeviceInfo.vue +82 -82
  391. package/src/components/temp/DisableInforMation.vue +82 -82
  392. package/src/components/temp/HandplanInfo.vue +78 -78
  393. package/src/components/temp/InstructInfo.vue +86 -86
  394. package/src/components/temp/Main.vue +375 -375
  395. package/src/components/temp/MetereadInfo.vue +83 -83
  396. package/src/components/temp/MetterInfo.vue +92 -92
  397. package/src/components/temp/ParamManager/ParamPage.vue +285 -285
  398. package/src/components/temp/ParamManager/SinglePage.vue +161 -161
  399. package/src/components/temp/SecurityMessage.vue +64 -64
  400. package/src/components/temp/SecuritycheckInfo.vue +73 -73
  401. package/src/components/temp/SellInfo.vue +153 -153
  402. package/src/components/temp/TelList.vue +99 -99
  403. package/src/components/temp/rightview/RecordCancel.vue +103 -103
  404. package/src/components/temp/rightview/carddetail/AddUserDetail.vue +65 -65
  405. package/src/components/temp/rightview/carddetail/BankDKDetail.vue +75 -75
  406. package/src/components/temp/rightview/carddetail/BankPay.vue +75 -75
  407. package/src/components/temp/rightview/carddetail/CancellationDetail.vue +58 -58
  408. package/src/components/temp/rightview/carddetail/CardMeterCenterDetail.vue +58 -58
  409. package/src/components/temp/rightview/carddetail/CardOverUserDetail.vue +62 -62
  410. package/src/components/temp/rightview/carddetail/ChangeMeterDetail.vue +70 -70
  411. package/src/components/temp/rightview/carddetail/OtherChargeDetail.vue +56 -56
  412. package/src/components/temp/rightview/carddetail/RefundDetail.vue +63 -63
  413. package/src/components/temp/rightview/carddetail/ReissueBill.vue +165 -165
  414. package/src/components/temp/rightview/carddetail/SortingQuery.vue +295 -295
  415. package/src/components/temp/rightview/carddetail/UserChangeDetail.vue +77 -77
  416. package/src/components/temp/rightview/carddetail/WeChatPay.vue +75 -75
  417. package/src/components/temp/server/ChangeDeclare.vue +45 -45
  418. package/src/components/temp/server/LoadData.vue +60 -60
  419. package/src/components/temp/server/Login.vue +401 -401
  420. package/src/components/temp/server/ModifyPw.vue +143 -143
  421. package/src/components/tongcheng/InfoTable.vue +55 -55
  422. package/src/components/tongcheng/MetterInfo.vue +90 -90
  423. package/src/components/tongcheng/SellInfo.vue +152 -152
  424. package/src/components/tongcheng/StandServer.vue +24 -24
  425. package/src/components/tongcheng/UserOperate.vue +43 -43
  426. package/src/components/tongcheng/VoiceServer.vue +136 -136
  427. package/src/components/tongcheng/WorkListAll.vue +535 -535
  428. package/src/components/weinan/ComplainMsg.vue +141 -141
  429. package/src/components/weinan/ComplainWork.vue +205 -205
  430. package/src/components/weinan/FailureEdit.vue +182 -182
  431. package/src/components/weinan/InfoTable.vue +67 -67
  432. package/src/components/weinan/RecordList.vue +299 -299
  433. package/src/components/weinan/RepairFirstV.vue +547 -547
  434. package/src/components/weinan/RepairInfo.vue +163 -163
  435. package/src/components/weinan/RepairListTel.vue +96 -96
  436. package/src/components/weinan/RepairOrderV.vue +1447 -1447
  437. package/src/components/weinan/RepairUserInfo.vue +533 -533
  438. package/src/components/weinan/RepairsWork.vue +806 -806
  439. package/src/components/weinan/Seekwork.vue +178 -178
  440. package/src/components/weinan/SiteSend.vue +228 -228
  441. package/src/components/weinan/SiteSendWeixiu.vue +277 -277
  442. package/src/components/weinan/StandWorkWeixiu.vue +91 -91
  443. package/src/components/weinan/TelByAttendant.vue +110 -110
  444. package/src/components/weinan/WorkList.vue +653 -653
  445. package/src/components/weinan/WorkListAll.vue +898 -898
  446. package/src/components/weinan/WorkListWeixiu.vue +608 -608
  447. package/src/components/workOrderApplication/OrderWorkDetail.vue +796 -796
  448. package/src/components/workOrderApplication/orderApplicationManage.vue +98 -98
  449. package/src/components/workOrderApplication/orderApply.vue +57 -57
  450. package/src/components/workOrderApplication/orderTable.vue +214 -214
  451. package/src/components/workOrderApplication/orderWork.vue +114 -114
  452. package/src/components/workorder/AndroidStopGasManager.vue +270 -270
  453. package/src/components/workorder/AppInstallationMaterial.vue +613 -613
  454. package/src/components/workorder/ChangeMeter.vue +546 -546
  455. package/src/components/workorder/ChangeMeterList.vue +236 -236
  456. package/src/components/workorder/CompletedInstall.vue +214 -214
  457. package/src/components/workorder/CompletedRepair.vue +214 -214
  458. package/src/components/workorder/DelayApply.vue +105 -105
  459. package/src/components/workorder/FaultAll.vue +817 -817
  460. package/src/components/workorder/InputSelect.vue +110 -110
  461. package/src/components/workorder/InstallFirst.vue +517 -517
  462. package/src/components/workorder/InstallUpLoad.vue +111 -111
  463. package/src/components/workorder/MaterialSum.vue +238 -238
  464. package/src/components/workorder/MonitorMSend.vue +202 -202
  465. package/src/components/workorder/Othercharge.vue +477 -477
  466. package/src/components/workorder/PhoneGroupResend.vue +88 -88
  467. package/src/components/workorder/PhoneStandWork.vue +354 -354
  468. package/src/components/workorder/PhoneUpDetail.vue +1038 -1038
  469. package/src/components/workorder/PhoneUpUserinfo.vue +1041 -1041
  470. package/src/components/workorder/PhotoWrite.vue +116 -116
  471. package/src/components/workorder/QueryTemporaryRepair.vue +220 -220
  472. package/src/components/workorder/ReadCardPage.vue +217 -217
  473. package/src/components/workorder/RepairDetails22.vue +128 -128
  474. package/src/components/workorder/RepairFirst.vue +170 -170
  475. package/src/components/workorder/RepairFirstOld.vue +410 -410
  476. package/src/components/workorder/RepairFirstV.vue +633 -633
  477. package/src/components/workorder/RepairFirstVnew.vue +542 -542
  478. package/src/components/workorder/RepairInfo.vue +166 -166
  479. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  480. package/src/components/workorder/RepairOrderVnew.vue +868 -868
  481. package/src/components/workorder/RepairSend.vue +264 -264
  482. package/src/components/workorder/Repairpage.vue +100 -100
  483. package/src/components/workorder/RepairsVisit.vue +319 -319
  484. package/src/components/workorder/SubstitFirstV.vue +143 -143
  485. package/src/components/workorder/SubstitutionPage.vue +100 -100
  486. package/src/components/workorder/TemporarySingle.vue +480 -480
  487. package/src/components/workorder/UpLoad.vue +111 -111
  488. package/src/components/workorder/ZHihuanFirst.vue +546 -546
  489. package/src/components/workorder/ZhiCompletedRepair.vue +217 -217
  490. package/src/components/workorder/ZhiUpLoad.vue +136 -136
  491. package/src/expandcss.less +620 -620
  492. package/src/filiale/fugu/pc/FailureEdit.vue +183 -183
  493. package/src/filiale/fugu/telephone.js +16 -16
  494. package/src/filiale/furuike/android/CompletedRepair.vue +210 -210
  495. package/src/filiale/furuike/android/FaultAll.vue +861 -861
  496. package/src/filiale/furuike/android/Materials.vue +410 -410
  497. package/src/filiale/furuike/android/RepairFirstVnew.vue +580 -580
  498. package/src/filiale/furuike/android/RepairOrderVnew.vue +890 -890
  499. package/src/filiale/furuike/pc/CallRcords.vue +109 -109
  500. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  501. package/src/filiale/furuike/pc/FailureEdit.vue +198 -198
  502. package/src/filiale/furuike/pc/InfoTable.vue +134 -134
  503. package/src/filiale/furuike/pc/LineReport.vue +215 -215
  504. package/src/filiale/furuike/pc/MaterialWorkOrder/MaterialWork.vue +400 -400
  505. package/src/filiale/furuike/pc/MaterialWorkOrder/MaterialWorkOrderManage.vue +63 -63
  506. package/src/filiale/furuike/pc/MaterialWorkOrder/WorkOrderMaterial.vue +381 -381
  507. package/src/filiale/furuike/pc/NewRepairPaper.vue +415 -415
  508. package/src/filiale/furuike/pc/ProblemList.vue +170 -170
  509. package/src/filiale/furuike/pc/QueryVisitHistory.vue +183 -183
  510. package/src/filiale/furuike/pc/ReminderOrder.vue +50 -50
  511. package/src/filiale/furuike/pc/RepairList.vue +102 -102
  512. package/src/filiale/furuike/pc/RepairsWork.vue +918 -918
  513. package/src/filiale/furuike/pc/SecuritycheckInfo.vue +128 -128
  514. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  515. package/src/filiale/furuike/pc/TableReport.vue +160 -160
  516. package/src/filiale/furuike/pc/TelFindUser.vue +229 -229
  517. package/src/filiale/furuike/pc/TelLossList.vue +145 -145
  518. package/src/filiale/furuike/pc/TelePhoneUpload.vue +279 -279
  519. package/src/filiale/furuike/pc/TextServer.vue +168 -168
  520. package/src/filiale/furuike/pc/VoiceServer.vue +216 -216
  521. package/src/filiale/furuike/pc/WorkCenter.vue +104 -104
  522. package/src/filiale/furuike/pc/WorkHistory.vue +576 -576
  523. package/src/filiale/furuike/telephone.js +115 -115
  524. package/src/filiale/furuike/telephoneAndroid.js +23 -23
  525. package/src/filiale/gehua/pc/Console.vue +676 -676
  526. package/src/filiale/gehua/pc/TelAgentVoiceReport.vue +285 -285
  527. package/src/filiale/gehua/pc/TelFindUser.vue +214 -214
  528. package/src/filiale/gehua/telephone.js +16 -16
  529. package/src/filiale/gehua/telephoneAndroid.js +9 -9
  530. package/src/filiale/gongyi/android/RepairDetails.vue +542 -542
  531. package/src/filiale/gongyi/android/RepairFirstV.vue +537 -537
  532. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  533. package/src/filiale/gongyi/pc/WorkListAll.vue +632 -632
  534. package/src/filiale/gongyi/telephone.js +13 -13
  535. package/src/filiale/gongyi/telephoneAndroid.js +15 -15
  536. package/src/filiale/guangxi/android/FaultAll.vue +896 -896
  537. package/src/filiale/guangxi/telephoneAndroid.js +13 -13
  538. package/src/filiale/hanzhong/android/Outlay.vue +265 -265
  539. package/src/filiale/hanzhong/android/RepairInfo.vue +167 -167
  540. package/src/filiale/hanzhong/pc/AnalysisMain.vue +477 -477
  541. package/src/filiale/hanzhong/pc/DistributeWork.vue +420 -420
  542. package/src/filiale/hanzhong/pc/FailureEdit.vue +195 -195
  543. package/src/filiale/hanzhong/pc/RecordInfoRight.vue +84 -84
  544. package/src/filiale/hanzhong/pc/RecordList.vue +53 -53
  545. package/src/filiale/hanzhong/pc/RecordListLeft.vue +196 -196
  546. package/src/filiale/hanzhong/pc/Seekwork.vue +318 -318
  547. package/src/filiale/hanzhong/pc/StateStatistics.vue +292 -292
  548. package/src/filiale/hanzhong/pc/TelFindUser.vue +224 -224
  549. package/src/filiale/hanzhong/pc/TelLossList.vue +137 -137
  550. package/src/filiale/hanzhong/pc/TelephoneAnaly.vue +104 -104
  551. package/src/filiale/hanzhong/pc/TelephoneType.vue +269 -269
  552. package/src/filiale/hanzhong/pc/TextServer.vue +157 -157
  553. package/src/filiale/hanzhong/pc/VoiceServer.vue +208 -208
  554. package/src/filiale/hanzhong/pc/message/AllUser.vue +615 -615
  555. package/src/filiale/hanzhong/pc/message/ArrearsList.vue +397 -397
  556. package/src/filiale/hanzhong/pc/message/MessageList.vue +635 -635
  557. package/src/filiale/hanzhong/pc/message/MessageManage.vue +136 -136
  558. package/src/filiale/hanzhong/pc/message/MessageManageList.vue +127 -127
  559. package/src/filiale/hanzhong/pc/message/MessageManageNew.vue +121 -121
  560. package/src/filiale/hanzhong/pc/message/TemplateMessage.vue +92 -92
  561. package/src/filiale/hanzhong/pc/message/UserDefinedMessage.vue +90 -90
  562. package/src/filiale/hanzhong/pc/message/UserDefinedMessageNew.vue +121 -121
  563. package/src/filiale/hanzhong/telephone.js +48 -48
  564. package/src/filiale/hanzhong/telephoneAndroid.js +15 -15
  565. package/src/filiale/kelai/android/Outlay.vue +274 -274
  566. package/src/filiale/kelai/android/RepairFirstV.vue +552 -552
  567. package/src/filiale/kelai/android/RepairOrderV.vue +1446 -1446
  568. package/src/filiale/kelai/android/RepairTypeList.vue +170 -170
  569. package/src/filiale/kelai/android/RepairUserInfo.vue +537 -537
  570. package/src/filiale/kelai/pc/CallReport/CallReportMainPage-Kelai.vue +612 -612
  571. package/src/filiale/kelai/pc/CallReport/CumulativeCalls.vue +128 -128
  572. package/src/filiale/kelai/pc/CallReport/IncomingTimedata.vue +69 -69
  573. package/src/filiale/kelai/pc/CallReport/Incomingcallvolume.vue +82 -82
  574. package/src/filiale/kelai/pc/CallReport/SeatStatus.vue +60 -60
  575. package/src/filiale/kelai/pc/CallReport/Time.vue +107 -107
  576. package/src/filiale/kelai/pc/CallReport/WorkorderTypesum.vue +76 -76
  577. package/src/filiale/kelai/pc/CallReport/timeRunning.vue +66 -66
  578. package/src/filiale/kelai/pc/KeLaiMaintenanceReport.vue +297 -297
  579. package/src/filiale/kelai/pc/RecordListLeft.vue +188 -188
  580. package/src/filiale/kelai/pc/Seekwork.vue +308 -308
  581. package/src/filiale/kelai/pc/TelAgentVoiceReport.vue +276 -276
  582. package/src/filiale/kelai/pc/TelFindUser.vue +214 -214
  583. package/src/filiale/kelai/pc/TelLossList.vue +154 -154
  584. package/src/filiale/kelai/pc/TextServer.vue +157 -157
  585. package/src/filiale/kelai/pc/VisitInfo.vue +268 -268
  586. package/src/filiale/kelai/pc/VoiceServer.vue +227 -227
  587. package/src/filiale/kelai/pc/WorkCenterList.vue +298 -298
  588. package/src/filiale/kelai/pc/WorkListAllNew.vue +679 -679
  589. package/src/filiale/kelai/telephone.js +39 -39
  590. package/src/filiale/kelai/telephoneAndroid.js +17 -17
  591. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  592. package/src/filiale/liaoyuan/telephoneAndroid.js +13 -13
  593. package/src/filiale/meihekou/android/Othercharge.vue +443 -443
  594. package/src/filiale/meihekou/android/createQRcode.vue +192 -192
  595. package/src/filiale/meihekou/android/onlineBuyGas.vue +793 -793
  596. package/src/filiale/meihekou/telephone.js +13 -13
  597. package/src/filiale/meihekou/telephoneAndroid.js +18 -18
  598. package/src/filiale/qianneng/android/Examine.vue +513 -513
  599. package/src/filiale/qianneng/android/FaultAll.vue +873 -873
  600. package/src/filiale/qianneng/android/MaterIialOne.vue +122 -122
  601. package/src/filiale/qianneng/android/PhoneStandWork.vue +360 -360
  602. package/src/filiale/qianneng/android/QueryTemporaryRepair.vue +243 -243
  603. package/src/filiale/qianneng/android/RepairDetails.vue +666 -666
  604. package/src/filiale/qianneng/android/RepairFirstV.vue +615 -615
  605. package/src/filiale/qianneng/android/RepairInfo.vue +147 -147
  606. package/src/filiale/qianneng/android/RepairOrderV.vue +870 -870
  607. package/src/filiale/qianneng/android/TemporarySingle.vue +501 -501
  608. package/src/filiale/qianneng/pc/ComplainWork.vue +324 -324
  609. package/src/filiale/qianneng/pc/DistributeWork.vue +182 -182
  610. package/src/filiale/qianneng/pc/FailureEdit.vue +159 -159
  611. package/src/filiale/qianneng/pc/Indoorinstallation.vue +832 -832
  612. package/src/filiale/qianneng/pc/MaterialDetailed.vue +222 -222
  613. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  614. package/src/filiale/qianneng/pc/Outdoorinstallation.vue +736 -736
  615. package/src/filiale/qianneng/pc/RepairsWork.vue +953 -949
  616. package/src/filiale/qianneng/pc/Seekwork.vue +308 -308
  617. package/src/filiale/qianneng/pc/WorkHistory.vue +562 -562
  618. package/src/filiale/qianneng/pc/WorkListAllNew.vue +679 -679
  619. package/src/filiale/qianneng/telephone.js +20 -20
  620. package/src/filiale/rizhao/android/FaultAll.vue +893 -893
  621. package/src/filiale/rizhao/android/Othercharge.vue +423 -423
  622. package/src/filiale/rizhao/android/RepairFirstV.vue +525 -525
  623. package/src/filiale/rizhao/android/RepairInfo.vue +172 -172
  624. package/src/filiale/rizhao/pc/AnalysisMain.vue +355 -355
  625. package/src/filiale/rizhao/pc/CallRecords.vue +89 -89
  626. package/src/filiale/rizhao/pc/ChangemeterInfo.vue +87 -87
  627. package/src/filiale/rizhao/pc/ComplainWork.vue +357 -357
  628. package/src/filiale/rizhao/pc/Console.vue +456 -456
  629. package/src/filiale/rizhao/pc/DispatchMan.vue +100 -100
  630. package/src/filiale/rizhao/pc/DispatchWork.vue +100 -100
  631. package/src/filiale/rizhao/pc/DistributeWork.vue +188 -188
  632. package/src/filiale/rizhao/pc/FailureEdit.vue +183 -183
  633. package/src/filiale/rizhao/pc/FailureEditFire.vue +169 -169
  634. package/src/filiale/rizhao/pc/FailureEditRepair.vue +174 -174
  635. package/src/filiale/rizhao/pc/NewRepairPaper.vue +377 -377
  636. package/src/filiale/rizhao/pc/RecordListLeft.vue +189 -189
  637. package/src/filiale/rizhao/pc/ReminderOrder.vue +51 -51
  638. package/src/filiale/rizhao/pc/Seekwork.vue +339 -339
  639. package/src/filiale/rizhao/pc/SiteSend.vue +258 -258
  640. package/src/filiale/rizhao/pc/StateStatistics.vue +292 -292
  641. package/src/filiale/rizhao/pc/TelFindUser.vue +243 -243
  642. package/src/filiale/rizhao/pc/TelMan.vue +133 -133
  643. package/src/filiale/rizhao/pc/TeleInfo.vue +142 -142
  644. package/src/filiale/rizhao/pc/TelephoneType.vue +272 -272
  645. package/src/filiale/rizhao/pc/Traffic.vue +91 -91
  646. package/src/filiale/rizhao/pc/UserOperate.vue +49 -49
  647. package/src/filiale/rizhao/pc/WorkCenterList.vue +294 -294
  648. package/src/filiale/rizhao/pc/WorkHistory.vue +541 -541
  649. package/src/filiale/rizhao/pc/WorkListAllNew.vue +668 -668
  650. package/src/filiale/rizhao/telephone.js +57 -57
  651. package/src/filiale/rizhao/telephoneAndroid.js +16 -16
  652. package/src/filiale/rongcheng/CliWorkListAll.vue +667 -667
  653. package/src/filiale/rongcheng/FaultAll.vue +713 -713
  654. package/src/filiale/rongcheng/RepairFirstV.vue +418 -418
  655. package/src/filiale/rongcheng/RepairUserInfo.vue +539 -539
  656. package/src/filiale/rongcheng/ServiceDetails.vue +53 -53
  657. package/src/filiale/rongcheng/batchPrintSafeCheckOrder.vue +303 -303
  658. package/src/filiale/rongcheng/checkmsgZG.vue +243 -243
  659. package/src/filiale/rongcheng/onlineBuyGas.vue +799 -799
  660. package/src/filiale/rongcheng/telephone.js +19 -19
  661. package/src/filiale/shanxian/telephone.js +12 -12
  662. package/src/filiale/shanxian/telephoneAndroid.js +11 -11
  663. package/src/filiale/shaoguan/pc/WorkCenterList.vue +326 -326
  664. package/src/filiale/shaoguan/telephone.js +14 -14
  665. package/src/filiale/shimen/pc/ChangemeterInfo.vue +108 -108
  666. package/src/filiale/shimen/pc/RepairList.vue +109 -109
  667. package/src/filiale/shimen/pc/SellInfo.vue +87 -87
  668. package/src/filiale/shimen/pc/WorkListAllNew.vue +680 -680
  669. package/src/filiale/shimen/telephone.js +23 -23
  670. package/src/filiale/tianke/android/FaultAll.vue +854 -854
  671. package/src/filiale/tianke/android/RepairFirstV.vue +614 -614
  672. package/src/filiale/tianke/android.js +12 -12
  673. package/src/filiale/tianke/pc/DistributeWork.vue +180 -180
  674. package/src/filiale/tianke/pc/NewRepairPaper.vue +370 -370
  675. package/src/filiale/tianke/pc/RepairsWork.vue +794 -794
  676. package/src/filiale/tianke/telephone.js +17 -17
  677. package/src/filiale/tianke/telephoneAndroid.js +13 -13
  678. package/src/filiale/tongchuan/android/AndroidStopGasManager.vue +321 -321
  679. package/src/filiale/tongchuan/android/CompletedRepair.vue +211 -211
  680. package/src/filiale/tongchuan/android/PhoneStandWork.vue +409 -409
  681. package/src/filiale/tongchuan/android/PhoneUpUserinfo.vue +1005 -1005
  682. package/src/filiale/tongchuan/android/RepairInfo.vue +172 -172
  683. package/src/filiale/tongchuan/android/RepairOrderV.vue +1446 -1446
  684. package/src/filiale/tongchuan/pc/AnalysisMain.vue +355 -355
  685. package/src/filiale/tongchuan/pc/CallRecords.vue +96 -96
  686. package/src/filiale/tongchuan/pc/CheckWork.vue +290 -290
  687. package/src/filiale/tongchuan/pc/ComplainWork.vue +324 -324
  688. package/src/filiale/tongchuan/pc/DepRepairManCount.vue +148 -148
  689. package/src/filiale/tongchuan/pc/DistributeWork.vue +179 -179
  690. package/src/filiale/tongchuan/pc/QueryVisitHistory.vue +236 -236
  691. package/src/filiale/tongchuan/pc/RecordListLeft.vue +216 -216
  692. package/src/filiale/tongchuan/pc/RepairList.vue +102 -102
  693. package/src/filiale/tongchuan/pc/RepairWorkReport.vue +133 -133
  694. package/src/filiale/tongchuan/pc/Seekwork.vue +307 -307
  695. package/src/filiale/tongchuan/pc/StateStatistics.vue +292 -292
  696. package/src/filiale/tongchuan/pc/TelFindUser.vue +278 -278
  697. package/src/filiale/tongchuan/pc/TelephoneAnaly.vue +102 -102
  698. package/src/filiale/tongchuan/pc/TelephoneType.vue +272 -272
  699. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  700. package/src/filiale/tongchuan/pc/VisitInfo.vue +305 -305
  701. package/src/filiale/tongchuan/pc/VisitListWork.vue +251 -251
  702. package/src/filiale/tongchuan/pc/VoiceServer.vue +218 -218
  703. package/src/filiale/tongchuan/pc/WorkCenterList.vue +298 -298
  704. package/src/filiale/tongchuan/pc/WorkHistory.vue +572 -572
  705. package/src/filiale/tongchuan/pc/WorkList.vue +865 -865
  706. package/src/filiale/tongchuan/pc/WorkorderCheckDistributePlan.vue +376 -376
  707. package/src/filiale/tongchuan/pc/visitPlanList.vue +342 -342
  708. package/src/filiale/tongchuan/pc/visitPlanManage.vue +599 -599
  709. package/src/filiale/tongchuan/telephoneAndroid.js +22 -22
  710. package/src/filiale/v3new/android/FaultAll.vue +809 -809
  711. package/src/filiale/v3new/android/RepairFirstV.vue +633 -633
  712. package/src/filiale/v3new/pc/SiteBack.vue +83 -83
  713. package/src/filiale/v3new/pc/WorkCenter.vue +104 -104
  714. package/src/filiale/v3new/pc/WorkCenterList.vue +274 -274
  715. package/src/filiale/v3new/pc/WorkHistory.vue +537 -537
  716. package/src/filiale/v3new/pc/WorkList.vue +766 -766
  717. package/src/filiale/v3new/pc/WorkListNew.vue +706 -706
  718. package/src/filiale/v3new/pc/serviceDeleteOrder.vue +51 -51
  719. package/src/filiale/v3new/telephone.js +19 -19
  720. package/src/filiale/v3new/telephoneAndroid.js +15 -15
  721. package/src/filiale/weinanct/android/AppInstallationMaterial.vue +586 -586
  722. package/src/filiale/weinanct/android/RepairFirstV.vue +635 -635
  723. package/src/filiale/weinanct/pc/TelFindUser.vue +213 -213
  724. package/src/filiale/weinanct/pc/VoiceServer.vue +208 -208
  725. package/src/filiale/weinanct/telephone.js +14 -14
  726. package/src/filiale/weinanct/telephoneAndroid.js +20 -20
  727. package/src/filiale/weinanct//350/257/264/346/230/216.txt +1 -1
  728. package/src/filiale/wenxi/android/RepairFirstV.vue +537 -537
  729. package/src/filiale/wenxi/android/RepairInfo.vue +168 -168
  730. package/src/filiale/wenxi/android/RepairOrderV.vue +1419 -1419
  731. package/src/filiale/wenxi/pc/FailureEdit.vue +206 -206
  732. package/src/filiale/wenxi/pc/RepairsWork.vue +759 -759
  733. package/src/filiale/wenxi/pc/TelFindUser.vue +209 -209
  734. package/src/filiale/wenxi/pc/WorkListAll.vue +642 -642
  735. package/src/filiale/wenxi/telephone.js +18 -18
  736. package/src/filiale/wenxi/telephoneAndroid.js +16 -16
  737. package/src/filiale/wuan/Util.js +461 -461
  738. package/src/filiale/wuan/android/AddMyTask.vue +227 -227
  739. package/src/filiale/wuan/android/RepairInfo.vue +136 -136
  740. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  741. package/src/filiale/wuan/pc/BatchList.vue +329 -329
  742. package/src/filiale/wuan/pc/BatchListSanhu.vue +329 -329
  743. package/src/filiale/wuan/pc/BatchOrdersSanhu.vue +115 -115
  744. package/src/filiale/wuan/pc/FailureEdit.vue +174 -174
  745. package/src/filiale/wuan/pc/TelFindUser.vue +229 -229
  746. package/src/filiale/wuan/pc/WorkListAll.vue +642 -642
  747. package/src/filiale/wuan/telephone.js +23 -23
  748. package/src/filiale/wuan/telephoneAndroid.js +17 -17
  749. package/src/filiale/wuhai/pc/CallRcords.vue +109 -109
  750. package/src/filiale/wuhai/pc/Console.vue +432 -432
  751. package/src/filiale/wuhai/pc/FailureEdit.vue +190 -190
  752. package/src/filiale/wuhai/pc/NewRepairPaper.vue +380 -380
  753. package/src/filiale/wuhai/pc/RecordListLeft.vue +202 -202
  754. package/src/filiale/wuhai/pc/SecuritycheckInfo.vue +92 -92
  755. package/src/filiale/wuhai/pc/Seekwork.vue +361 -361
  756. package/src/filiale/wuhai/pc/ServiceRcords.vue +146 -146
  757. package/src/filiale/wuhai/pc/WorkCenter.vue +104 -104
  758. package/src/filiale/wuhai/pc/WorkCenterList.vue +337 -337
  759. package/src/filiale/wuhai/pc/WorkListAllNew.vue +715 -715
  760. package/src/filiale/wuhai/pc/serviceDeleteOrder.vue +54 -54
  761. package/src/filiale/wuhai/telephone.js +35 -35
  762. package/src/filiale/xinkang/android/RepairFirstV.vue +484 -484
  763. package/src/filiale/xinkang/telephoneAndroid.js +14 -14
  764. package/src/filiale/yuansheng/android/RepairFirstV.vue +636 -636
  765. package/src/filiale/yuansheng/android/RepairInfo.vue +166 -166
  766. package/src/filiale/yuansheng/pc/HandplanInfo.vue +78 -78
  767. package/src/filiale/yuansheng/pc/MetereadInfo.vue +83 -83
  768. package/src/filiale/yuansheng/pc/TelFindUser.vue +237 -237
  769. package/src/filiale/yuansheng/pc/VoiceServer.vue +208 -208
  770. package/src/filiale/yuansheng/telephone.js +20 -20
  771. package/src/filiale/yuansheng/telephoneAndroid.js +16 -16
  772. package/src/filiale/zhongsheng/android/FailureShow.vue +61 -61
  773. package/src/filiale/zhongsheng/android/RepairFirstV.vue +464 -464
  774. package/src/filiale/zhongsheng/android/RepairInfo.vue +133 -133
  775. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  776. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  777. package/src/filiale/zhongsheng/pc/TelFindUser.vue +216 -216
  778. package/src/filiale/zhongsheng/pc/WorkList.vue +805 -805
  779. package/src/filiale/zhongsheng/pc/WorkListAll.vue +628 -628
  780. package/src/filiale/zhongsheng/telephone.js +23 -23
  781. package/src/filiale/zhongsheng/telephoneAndroid.js +18 -18
  782. package/src/filiale/zhongyi/android/FaultAll.vue +854 -854
  783. package/src/filiale/zhongyi/android/RepairFirstV.vue +614 -614
  784. package/src/filiale/zhongyi/android.js +12 -12
  785. package/src/filiale/zhongyi/pc/DistributeWork.vue +180 -180
  786. package/src/filiale/zhongyi/pc/NewRepairPaper.vue +370 -370
  787. package/src/filiale/zhongyi/pc/RepairsWork.vue +794 -794
  788. package/src/filiale/zhongyi/pc/WorkListAllNew.vue +672 -672
  789. package/src/filiale/zhongyi/telephone.js +18 -18
  790. package/src/filiale/zhongyi/telephoneAndroid.js +13 -13
  791. package/src/filiale/zhoukou/android/ChargeBill.vue +201 -201
  792. package/src/filiale/zhoukou/android/Othercharge.vue +591 -591
  793. package/src/filiale/zhoukou/android/OtherchargeZhoukou.vue +574 -574
  794. package/src/filiale/zhoukou/android/RepairFirstV.vue +542 -542
  795. package/src/filiale/zhoukou/android/RepairInfo.vue +136 -136
  796. package/src/filiale/zhoukou/android/ZkBill.vue +191 -191
  797. package/src/filiale/zhoukou/android/createQRcode.vue +256 -256
  798. package/src/filiale/zhoukou/android/onlineBuyGas.vue +804 -804
  799. package/src/filiale/zhoukou/android/onlineoperation.vue +416 -416
  800. package/src/filiale/zhoukou/android/onlinequeryuser.vue +468 -468
  801. package/src/filiale/zhoukou/pc/NewRepairPaper.vue +366 -366
  802. package/src/filiale/zhoukou/pc/SiteSend.vue +265 -265
  803. package/src/filiale/zhoukou/pc/WorkHistory.vue +514 -514
  804. package/src/filiale/zhoukou/pc/WorkList.vue +653 -653
  805. package/src/filiale/zhoukou/telephoneAndroid.js +33 -33
  806. package/src/index.js +15 -15
  807. package/src/main.js +1 -1
  808. package/src/plugins/DataSql.js +569 -569
  809. package/src/plugins/EmojiData.js +514 -514
  810. package/src/plugins/EncryptUtil.js +53 -53
  811. package/src/plugins/HttpLoad.js +93 -93
  812. package/src/plugins/LoadData.js +40 -40
  813. package/src/plugins/LoadParams.js +54 -54
  814. package/src/plugins/LocalPagedList.js +107 -107
  815. package/src/plugins/ObjTree.js +532 -532
  816. package/src/plugins/TelGetSaleParams.js +63 -63
  817. package/src/qrcode.js +618 -618
  818. package/src/qrcode.min.js +1 -1
  819. package/src/stores/exportConfig.js +10 -10
  820. package/src/stores/wxconfig.js +10 -10
  821. package/src/telephone-android.js +367 -367
  822. package/src/telephone-shaoguan.js +256 -256
  823. package/src/telephone-tongcheng.js +254 -254
  824. package/src/telephone.js +733 -733
  825. package/src/telephoneanaly.less +704 -704
  826. package/src/utils/LdapHelper.js +99 -99
  827. package/src/weinan-android.js +350 -350
  828. package/src/weinan.js +531 -531
  829. package/static/fonts/font.css +6 -6
  830. package/static/js/adapter.min.js +2049 -2049
  831. package/static/js/janus.js +4034 -4034
  832. package/yarn-error.log +7872 -7872
@@ -1,873 +1,873 @@
1
- <template>
2
- <div class="auto select-overspread form-horizontal repair-bg " style="padding-bottom:5px;">
3
- <div class="bq-parent">
4
- <blockquote class="blockquote">
5
- <p>工单上传<a @click="$parent.mute()" style="float:right" href="javascript:void(0)" class="repair-mute-class"><img
6
- src="../../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a>
7
- </p>
8
- </blockquote>
9
- </div>
10
- <div class="panel panel-default auto repair-info-content"
11
- v-if="showhead && msg.serviceacitivity[0].f_result_status != '已完成'">
12
- <div class="panel-body ">
13
- <div class="row auto compatible">
14
- <div class="row auto">
15
- <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;" v-if="!show">
16
- <div class="col-xs-3 col-sm-3 col-md-3">
17
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='confirm("已完成")'>
18
- 工单完成
19
- </button>
20
- </div>
21
- <div class="col-xs-3 col-sm-3 col-md-3" v-if="isNeedMaterial">
22
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='showmateria'>
23
- 材料收费
24
- </button>
25
- </div>
26
- <div class="col-xs-3 col-sm-3 col-md-3" v-show="sfbutten && service.f_source!='安检'">
27
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='gotoOtherCharge'>
28
- 工单收费
29
- </button>
30
- </div>
31
- <div class="col-xs-3 col-sm-3 col-md-3" v-show="savebutten">
32
- <button type="button" name="button" class="col-sm-3 btn btn-primary"
33
- @click='workOrderSave'>
34
- 临时保存
35
- </button>
36
- </div>
37
- </div>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- <div class="panel panel-default auto repair-info-content"
43
- v-if="msg.serviceacitivity[0].f_result_status == '已完成' && !show">
44
- <div class="panel-body ">
45
- <div class="row auto compatible">
46
- <div class="row auto">
47
- <!-- <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;">-->
48
- <!-- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='confirm("已完成")'>-->
49
- <!-- 审核验收-->
50
- <!-- </button>-->
51
- <!-- </div>-->
52
- <!-- <div class="col-xs-3 col-sm-3 col-md-3" v-if="isNeedMaterial">-->
53
- <!-- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='showmateria'>-->
54
- <!-- 材料收费-->
55
- <!-- </button>-->
56
- <!-- </div>-->
57
- <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;" v-show="false">
58
- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='saveCompeleted()'>
59
- 保存
60
- </button>
61
- </div>
62
- </div>
63
- </div>
64
- </div>
65
- </div>
66
- <div class="panel panel-default auto repair-info-content form-horizontal" v-if="showNorepair">
67
- <div>
68
- <p><big><b>工单未完成</b></big></p>
69
- </div>
70
- <div class="row">
71
- <div class="col-sm-12 form-group form-fix-width">
72
- <label class="control-label">原因</label>
73
- <textarea name="name" rows="2" class="form-control ver-textarea"
74
- v-model="msg.serviceacitivity[0].f_reason"></textarea>
75
- </div>
76
- </div>
77
- <failure-edit :value='msg.serviceacitivity[0].failure' @input='newFailure' v-if="msg.f_workorder_type == '报修单'">
78
- </failure-edit>
79
- <!--<div class="row">-->
80
- <!--<div class="col-sm-12 form-group form-fix-width">-->
81
- <!--<label class="control-label">选择站点</label>-->
82
- <!--<v-select :value.sync="msg.serviceacitivity[0].f_department" :value-single="true"-->
83
- <!--:options='repairers' placeholder='请选择站点'-->
84
- <!--close-on-select></v-select>-->
85
- <!--</div>-->
86
- <!--</div>-->
87
- <div class="form-group">
88
- <button type="button" class="btn btn-default pull-right" @click='close'>取消</button>
89
- <button type="button" class="btn btn-success pull-right" @click='confirm("未完成")'>确认</button>
90
- </div>
91
- </div>
92
- <div class="panel panel-default auto repair-info-content form-horizontal" v-if="showCannotrepair">
93
- <div>
94
- <p><big><b>无法完成</b></big></p>
95
- </div>
96
- <div class="row">
97
- <div class="col-sm-12 form-group form-fix-width">
98
- <label class="control-label">原因</label>
99
- <textarea name="name" rows="2" class="form-control ver-textarea"
100
- v-model="msg.serviceacitivity[0].f_reason"></textarea>
101
- </div>
102
- </div>
103
- <failure-edit :value='msg.serviceacitivity[0].failure' @input='newFailure' v-if="msg.f_workorder_type == '报修单'">
104
- </failure-edit>
105
- <!--<div class="row">-->
106
- <!--<div class="col-sm-12 form-group form-fix-width">-->
107
- <!--<label class="control-label">选择站点</label>-->
108
- <!--<v-select :value.sync="msg.serviceacitivity[0].f_department" :value-single="true"-->
109
- <!--:options='repairers' placeholder='请选择站点'-->
110
- <!--close-on-select></v-select>-->
111
- <!--</div>-->
112
- <!--</div>-->
113
- <div class="row">
114
- <div class="col-sm-12">
115
- <button type="button" class="btn btn-default pull-right" @click='close1'>取消</button>
116
- <button type="button" class="btn btn-success pull-right" @click='cannotRepaer()'>确认</button>
117
- </div>
118
- </div>
119
- </div>
120
- </div>
121
- <modal :show.sync="showmaterial" backdrop="false" style="overflow: scroll;height: 100%">
122
- <header slot="modal-header" class="modal-header text-center">
123
- <button type="button" class="close" @click="close2"><span>&times;</span></button>
124
- <h4 class="modal-title">添加材料</h4>
125
- </header>
126
- <article slot="modal-body">
127
- <appinstallation-material v-if="showmaterial" :selectdata = "selectdata"></appinstallation-material>
128
- </article>
129
- <footer slot="modal-footer"></footer>
130
- </modal>
131
- </template>
132
- <script>
133
- import Vue from 'vue'
134
- import * as Util from '../../../components/Util'
135
- import {HttpResetClass} from 'vue-client'
136
- import FailureEdit from '../pc/FailureEdit'
137
- import AppInstallationMaterial from './AppInstallationMaterial'
138
- export default {
139
- title: '故障汇总',
140
- props: {
141
- msg: {
142
- type: Object
143
- },
144
- savevalid: {
145
- type: Object
146
- },
147
- model: {
148
- type: Object
149
- },
150
- show: {
151
- type: Boolean,
152
- default: false
153
- },
154
- row: {
155
- type: Object
156
- },
157
- system: '',
158
- parentPage:''
159
- },
160
- data() {
161
- return {
162
- savebutten:false, // 工单保存按钮
163
- sfbutten:false, //收费按钮
164
- fileName: '',
165
- datajson: '',
166
- norepair: '',
167
- showNorepair: false,
168
- showCannotrepair: false,
169
- showhead: true,
170
- repairers : this.$appdata.getParam('站点管理员'),
171
- config:{},
172
- othercharge_id: '',
173
- showmaterial:false,
174
- selectdata:{},
175
- isNeedMaterial: this.$appdata.getSingleValue('材料收费') == '是',
176
- }
177
- },
178
- methods: {
179
- // 停止录音
180
- closely(isdelete){
181
- try {
182
- var startOrStopAudioClipStr;
183
- if (isdelete===true) {
184
- //tag
185
- startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止并删除录音') //停止并删除录音
186
- }else {
187
- //tag
188
- startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止录音') //停止录音
189
- }
190
- if (startOrStopAudioClipStr.code == 200) {
191
- //tag
192
- return true;
193
- }else {
194
- return false;
195
- }
196
- } catch (e) {
197
- console.error("关闭录音方法异常")
198
- console.error(e)
199
- return false;
200
- }
201
- },
202
- /* // 录音方法
203
- record() {
204
- //tag
205
- let fileName
206
- if (!this.f_recording1_path) {
207
- fileName = Util.guid() + '.amr'
208
- } else {
209
- fileName = Util.getFileName(this.f_recording1_path)
210
- }
211
- //HostApp.__this__ = this
212
- /!*调用无限制录音模块*!/
213
- let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
214
- //tag
215
- if (startOrStopState.code == 200) {
216
- this.f_recording1_path = "file:///storage/emulated/0/safecheck/" + fileName
217
- console.log("录音文件地址"+this.f_recording1_path)
218
- //tag
219
- return true;
220
- }else {
221
- return false;
222
- }
223
- },*/
224
- // 工单收费
225
- async gotoOtherCharge() {
226
- //tag
227
- let con = {
228
- conndition: ` f_userinfo_id = '${this.msg.f_userinfo_id}' and f_table_state = '正常' `
229
- }
230
- let http1 = new HttpResetClass()
231
- let row = await http1.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/onlinequeryuser`, {data: con},{
232
- resolveMsg: '物联网收费成功!!',
233
- rejectMsg: '物联网收费出错!!!'
234
- })
235
- //tag))
236
- // 去其他收费界面
237
- let _this = this
238
- var pardate = {
239
- _this:_this,
240
- title:'其他收费',
241
- safe:false
242
- }
243
- this.closely(false)
244
- _this.$dispatch('gotoson',pardate)
245
- //tag
246
- _this.$goto('other_charge', {row: row}, 'self',_this.payback)
247
- // _this.$goto('create_qrcode', {row: parameter}, 'self',_this.payback)
248
- },
249
- payback(msg) {
250
- if (msg) {
251
- //tag)
252
- this.othercharge_id = msg
253
- }else {
254
- //tag
255
- this.$showMessage('支付失败!')
256
- }
257
- },
258
- // 工单结案
259
- finishRepair(){
260
- var _this = this
261
- this.$showMessage('请确认该工单结案!', ['confirm', 'cancel']).then((res) => {
262
- if (res === 'confirm') {
263
- this.closely(false)
264
- _this.confirm("结案")
265
- }
266
- })
267
- },
268
- deleteEmptyProperty(object){
269
- for (var i in object) {
270
- var value = object[i];
271
- if (typeof value === 'object') {
272
- if (Array.isArray(value)) {
273
- if (value.length == 0) {
274
- delete object[i];
275
- //tag;
276
- continue;
277
- }
278
- }
279
- this.deleteEmptyProperty(value);
280
- if (this.isEmpty(value)) {
281
- //tag;
282
- delete object[i];
283
- //tag;
284
- }
285
- } else {
286
- if (value === '' || value === null || value === undefined) {
287
- delete object[i];
288
- //tag;
289
- } else {
290
- //tag;
291
- }
292
- }
293
- }
294
- },
295
- isEmpty(object) {
296
- for (var name in object) {
297
- return false;
298
- }
299
- return true;
300
- },
301
- // 从图片中删除
302
- remove(row) {
303
- this.$androidUtil.delfile(row.android_file)
304
- let pos = this.model.imgs.findIndex((value) => {
305
- return value === row
306
- })
307
- this.model.imgs.splice(pos, 1)
308
- },
309
- // fileName: 回传文件名,传入的带安卓路径url
310
- // prop: 传入的字段名,没做改动
311
- cameraCallBack(prop, fileName) {
312
- // 当前this只能通过HostApp.__tis__获取
313
- let self = this.$androidUtil.getCallBack(this)
314
- // 添加新图片
315
- self.model.imgs.push({
316
- android_file: self.fileName,
317
- path: fileName
318
- })
319
- },
320
- takePic() {
321
- let prop = 'repair'
322
- let idx = 'aofeng'
323
- this.fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
324
- this.$sandroidUtil.takePic(this, this.cameraCallBack, this.fileName)
325
- },
326
- newFailure(value) {
327
- this.msg.serviceacitivity[0].failure = value
328
- },
329
- noRepair() {
330
- this.showhead = false
331
- this.showNorepair = true
332
- this.closely()
333
- HostApp.backupDatabase()
334
- },
335
- cannotRepair() {
336
- this.showhead = false
337
- this.showCannotrepair = true
338
- this.closely()
339
- // falg:0, 表示第一次上传,批量上传时,flag:1
340
- // this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
341
- },
342
- // 测试环境下模拟上传失败
343
- fail(param) {
344
- this.msg.serviceacitivity[0].f_result_status = param
345
- this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg, test: true})
346
- },
347
- async workOrderSave(){
348
- this.norepair = false
349
- if (this.hunei && this.hunei.details) {
350
- for (let i = 0; i < this.hunei.details.length; i++) {
351
- if (this.hunei.details[i].f_project === '未维修') {
352
- this.norepair = true
353
- }
354
- }
355
- }
356
- // 用户基本信息转字符串
357
- this.msg.serviceacitivity[0].f_date_leave = Util.toStandardTimeString()
358
- this.msg.serviceacitivity[0].f_result_status = '工单保存'
359
- this.msg.serviceacitivity[0].f_order_man = Vue.user.name
360
- this.closely(true)
361
- console.log("保存本地2"+this.msg.f_recording1_path)
362
- this.deleteEmptyProperty(this.msg)
363
- HostApp.__this__ = this
364
- HostApp.logicWithHint({
365
- // logic别名,key必须为logic
366
- 'logic': 'workOrderSave',
367
- // 回调执行方法名,key必须为callback
368
- 'callback': 'javascript:HostApp.__this__.localSaveCallBack()',
369
- // logic执行需要的业务参数
370
- 'data': {row: this.msg},
371
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
372
- // 执行回调方法传入key为backresult
373
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
374
- 'backresult': 1
375
- })
376
- },
377
- localSaveCallBack(res){
378
- if(res.state == 'ok'){
379
- let result = JSON.parse(res.result)
380
- if(result.result == '成功'){
381
- this.$showMessage('工单保存成功!', ['confirm'])
382
- this.$dispatch('tijiao')
383
- }else{
384
- this.$showMessage(`工单保存失败! ${result.errMsg}`, ['confirm'])
385
- }
386
- this.$dispatch('tijiao')
387
- }else {
388
- this.$showMessage(`保存提交失败!`, ['confirm'])
389
- }
390
- },
391
- must(){
392
- for(let i=0;i<this.model.servicerepair.length;i++){
393
- if(this.model.servicerepair[i].f_type=='换表'){
394
- for(let m=0; m<this.model.servicerepair[i].details.length; m++){
395
- this.model.servicerepair[i].details[m].f_is_must=true
396
- if(this.model.servicerepair[i].details[m].f_is_must==true && this.model.servicerepair[i].details[m].f_content=='' && this.model.servicerepair[i].details[m].type!='picture'){
397
- return this.model.servicerepair[i].details[m].f_project
398
- }else{
399
- if(this.model.servicerepair[i].details[m].f_is_must==true){
400
- if(this.model.servicerepair[i].imgs.length<2){
401
- return '请添加新、旧表照片'
402
- }
403
- }
404
- }
405
- }
406
- }
407
- }
408
- },
409
- // 工单上传
410
- async confirm(param) {
411
- for(let i=0;i<this.model.servicerepair.length;i++){
412
- if(this.model.servicerepair[i].f_type=='换表'){
413
- for(let j=0;j<this.model.servicerepair[i].details.length;j++){
414
- if(this.model.servicerepair[i].details[j].f_project=='是否换表' && this.model.servicerepair[i].details[j].f_content=='是'){
415
- let result=this.must()
416
- if(result){
417
- this.$showMessage(`请录入${result}信息!`, ['confirm'])
418
- return
419
- }
420
- }
421
- }
422
- }
423
- }
424
-
425
- /*//tag)
426
- if(!this.model.ischange) {
427
- this.$showMessage('您还为进行换表操作,工单为完成!,')
428
- return
429
- }*/
430
-
431
- this.norepair = false
432
- if (this.hunei && this.hunei.details) {
433
- for (let i = 0; i < this.hunei.details.length; i++) {
434
- if (this.hunei.details[i].f_project === '未维修') {
435
- this.norepair = true
436
- }
437
- }
438
- }
439
- if(param != '结案'&& (this.msg.f_workorder_type == '置换通气单'||this.msg.f_workorder_type == '安装单')) {
440
- // 检测验证是否必填
441
- var isfinish = this.checkismust()
442
- if(isfinish.ifmust){
443
- this.$showMessage(`请录入${isfinish.msg}信息!`, ['confirm'])
444
- return
445
- }
446
- // 检测签名是否完成
447
- // if(!(this.msg.serviceacitivity[0].f_signname)) {
448
- // this.$showMessage(`请完成客户签名!`, ['confirm'])
449
- // return
450
- // }
451
- // 检测置换作业是否有异常
452
- var yinhuanflag = this.checkzhihuanwork()
453
- if(!yinhuanflag){
454
- var resy = await this.$showMessage('是否确认该户置换作业异常?', ['confirm', 'cancel'])
455
- if(resy == 'cancel'){
456
- return
457
- }
458
- this.msg.f_is_abnormal = '异常'
459
- this.msg.serviceacitivity[0].f_is_abnormal = '异常'
460
- }
461
- // 检测置换照片是否已拍
462
- // var imgflag = this.checkzhihuanimg()
463
- // if(!(imgflag.check)){
464
- // this.$showMessage(`${imgflag.title}未拍照!`, ['confirm'])
465
- // return
466
- // }
467
- }
468
- else if(this.msg.f_workorder_type == '报修单' && param != '结案'){
469
- let isfinish = this.checkismust()
470
- if(isfinish.ifmust){
471
- this.$showMessage(`请录入${isfinish.msg}信息!`, ['confirm'])
472
- return
473
- }
474
- // if(!(this.msg.serviceacitivity[0].f_signname)) {
475
- // this.$showMessage(`请完成客户签名!`, ['confirm'])
476
- // return
477
- // }
478
- // let imgflag = this.checkzhihuanimg()
479
- // if(!(imgflag.check)){
480
- // this.$showMessage(`${imgflag.title}未拍照!`, ['confirm'])
481
- // return
482
- // }
483
- }
484
- // }
485
- // 用户基本信息转字符串
486
- // if ((this.savevalid.uservalid && this.savevalid.doorvalid) || this.norepair || this.liGuanWeiXou || this.sheBeiRepairAll) {
487
- this.msg.serviceacitivity[0].f_date_leave = Util.toStandardTimeString()
488
- this.msg.serviceacitivity[0].f_result_status = param
489
- this.msg.serviceacitivity[0].f_button = '审核验收'
490
- if (this.msg.defname == '审核验收'){
491
- this.msg.serviceacitivity[0].f_button = '维修完成'
492
- }
493
- this.msg.serviceacitivity[0].f_order_man = Vue.user.name
494
- this.msg.loginid = Vue.user.id
495
- // if (!this.savevalid.changetable && this.model.servicerepair && this.model.servicerepair[0].f_if_change) {
496
- // this.$showMessage('未上传收费!', ['confirm'])
497
- // } else {
498
- this.deleteEmptyProperty(this.msg)
499
- //tag
500
- this.closely(false) // 保存本地,不删除录音文件停止录音
501
- // this.msg.f_recording1_path = this.data.f_recording1_path
502
- console.log("保存本地", this.msg.f_recording1_path)
503
- //tag)
504
- HostApp.__this__ = this
505
- HostApp.logicWithHint({
506
- // logic别名,key必须为logic
507
- 'logic': 'upload',
508
- // 回调执行方法名,key必须为callback
509
- 'callback': 'javascript:HostApp.__this__.uploadCallback()',
510
- // logic执行需要的业务参数
511
- 'data': {flag: 0, row: this.msg},
512
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
513
- // 执行回调方法传入key为backresult
514
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
515
- 'backresult': 1
516
- })
517
- // let result = this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
518
- // } else {
519
- // this.$showMessage('有未填写项', ['confirm'])
520
- // }
521
- },
522
- uploadCallback(res){
523
- if(res.state == 'ok'){
524
- let result = JSON.parse(res.result)
525
- if (result.result === '成功') {
526
- this.$showMessage('保存提交成功!', ['confirm'])
527
- } else {
528
- this.$showMessage(`保存提交失败!${result.errMsg}`, ['confirm'])
529
- }
530
- this.showNorepair = false
531
- this.showCannotrepair = false
532
- this.$dispatch('tijiao')
533
- }else {
534
- this.$showMessage(`保存提交失败!`, ['confirm'])
535
- }
536
- },
537
- // 检验是否必填 返回 error:{msg:'111',ismust:true}
538
- checkismust(){
539
- var error ={
540
- msg:'',
541
- ifmust:false
542
- }
543
- for(var i = 0;i<this.msg.serviceacitivity[0].servicerepair.length;i++) {
544
- for (var j = 0; j < this.msg.serviceacitivity[0].servicerepair[i].details.length; j++) {
545
- if(this.msg.serviceacitivity[0].servicerepair[i].details[j].type == 'checkbox'&&this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content == '无'){
546
- break;
547
- }
548
- if(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_is_must == 'true' && this.msg.serviceacitivity[0].servicerepair[i].details[j].type == 'picture' && this.msg.serviceacitivity[0].servicerepair[i].imgs.length == 0){
549
- error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}`
550
- error.ifmust = true
551
- return error
552
- }
553
- if(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_is_must == 'true' && !(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content) && this.msg.serviceacitivity[0].servicerepair[i].details[j].type != 'picture' ){
554
- error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}`
555
- error.ifmust = true
556
- return error
557
- }
558
- }
559
- }
560
- return error
561
- },
562
- // checkzhihuanwork 检测置换作业是否正常
563
- checkzhihuanwork(){
564
- var isstatus = true
565
- if(this.zhihuan){
566
- for(var i = 0;i<this.zhihuan.details.length;i++){
567
- if(this.zhihuan.details[i].type == 'radio' && this.zhihuan.details[i].f_content){
568
- if(this.zhihuan.details[i].f_status == 'false'){
569
- isstatus = false
570
- break;
571
- }
572
- }
573
- }
574
- }
575
- return isstatus
576
- },
577
- checkzhihuanimg(){
578
- var isstatus = {
579
- check: true,
580
- title:''
581
- }
582
- if(Vue.config.telephone.Outlay.data != undefined){
583
- let checkimgs = ''
584
- //tag
585
- //tag+'22222222222222222')
586
- if(this.service.f_user_type == '民用'){
587
- checkimgs = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.msg.f_workorder_type].civil)))
588
- }else{
589
- checkimgs = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.msg.f_workorder_type].nocivil)))
590
- }
591
- if(checkimgs.length>0){
592
- for(var i =0;i<checkimgs.length;i++){
593
- var checkimgstype = checkimgs[i].title
594
- if(checkimgs[i].checkmust){
595
- var flag = false
596
- for(var j =0;j<this.msg.serviceacitivity[0].imgs.length;j++){
597
- if(this.msg.serviceacitivity[0].imgs[j].imgpath == checkimgstype) {
598
- flag = true
599
- break;
600
- }
601
- }
602
- if(!flag){
603
- isstatus.check = false
604
- isstatus.title = checkimgstype
605
- break;
606
- }
607
- }
608
- }
609
- }
610
- }
611
- return isstatus
612
- },
613
- checkservice(){
614
- // 1.先判断灶具
615
- if(this.zaoju){
616
- var iszaoju = false
617
- for(var i = 0;i<this.zaoju.details.length;i++){
618
- if(this.zaoju.details[i].f_project == '有无灶具设备'){
619
- if(this.zaoju.details[i].f_content == '有'||this.zaoju.details[i].f_content == ''){
620
- iszaoju = true
621
- break;
622
- }
623
- }
624
- }
625
- if(iszaoju){
626
- for(var i = 0;i<this.zaoju.details.length;i++){
627
- if(this.zaoju.details[i].type == 'picture'){
628
- //tag
629
- //tag
630
- if(this.zaoju.imgs.length == 0){
631
- this.$showMessage('灶具设备未拍照!', ['confirm'])
632
- return false
633
- }
634
- }else{
635
- if(this.zaoju.details[i].f_content == '' || this.zaoju.details[i].f_content == undefined){
636
- this.$showMessage('灶具设备信息未填写完整!', ['confirm'])
637
- return false
638
- }
639
- }
640
- }
641
- }
642
- }
643
- // 2.判断热水器
644
- if(this.reshuiqi){
645
- var isreshuiqi = false
646
- for(var i = 0;i<this.reshuiqi.details.length;i++){
647
- if(this.reshuiqi.details[i].f_project == '有无热水器设备'){
648
- if(this.reshuiqi.details[i].f_content == '有'||this.reshuiqi.details[i].f_content == ''){
649
- isreshuiqi = true
650
- break;
651
- }
652
- }
653
- }
654
- if(isreshuiqi){
655
- for(var i = 0;i<this.reshuiqi.details.length;i++){
656
- if(this.reshuiqi.details[i].type == 'picture'){
657
- if(this.reshuiqi.imgs.length == 0){
658
- this.$showMessage('热水器设备未拍照!', ['confirm'])
659
- return false
660
- }
661
- }else{
662
- if(this.reshuiqi.details[i].f_content == '' || this.reshuiqi.details[i].f_content == undefined){
663
- this.$showMessage('热水器设备信息未填写完整!', ['confirm'])
664
- return false
665
- }
666
- }
667
- }
668
- }
669
- }
670
- // 3.判断壁挂炉
671
- if(this.bigualu){
672
- var isbigualu = false
673
- for(var i = 0;i<this.bigualu.details.length;i++){
674
- if(this.bigualu.details[i].f_project == '有无壁挂炉设备'){
675
- if(this.bigualu.details[i].f_content == '有'||this.bigualu.details[i].f_content == ''){
676
- isbigualu = true
677
- break;
678
- }
679
- }
680
- }
681
- if(isbigualu){
682
- for(var i = 0;i<this.bigualu.details.length;i++){
683
- if(this.bigualu.details[i].type == 'picture'){
684
- if(this.bigualu.imgs.length == 0){
685
- this.$showMessage('壁挂炉设备未拍照!', ['confirm'])
686
- return false
687
- }
688
- }else{
689
- if(this.bigualu.details[i].f_content == '' || this.bigualu.details[i].f_content == undefined){
690
- this.$showMessage('壁挂炉设备信息未填写完整!', ['confirm'])
691
- return false
692
- }
693
- }
694
- }
695
- }
696
- }
697
- return true
698
- },
699
- cannotRepaer() {
700
- this.msg.serviceacitivity[0].f_service_acitivity_type = '未维修'
701
- this.msg.loginid = Vue.user.id
702
- let result = this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
703
- if (result.result === '成功') {
704
- this.$showMessage('保存提交成功!', ['confirm'])
705
- } else {
706
- this.$showMessage(`保存提交失败!${JSON.stringify(result)}`, ['confirm'])
707
- }
708
- this.showNorepair = false
709
- this.showCannotrepair = false
710
- this.$dispatch('tijiao')
711
- },
712
- saveCompeleted() {
713
- this.msg.serviceacitivity[0].baseuserinfo.f_date_level = Util.toStandardTimeString()
714
- this.closely(false) // 保存本地,不删除录音文件停止录音
715
- this.$androidUtil.bzLogic('SaveCompeleted', { row: this.msg})
716
- },
717
- sortDetais(result, type) {
718
- let door = Object.assign({}, result)
719
- door.details = []
720
- for (let i = 0; i < result.details.length; i++) {
721
- if (typeof (result.details[i].f_contentmessage) === 'object') {
722
- for (let j = 0; j < result.details[i].f_contentmessage.length; j++) {
723
- if (result.details[i].f_contentmessage[j].indexOf('-') !== -1) {
724
- let k = result.details[i].f_contentmessage[j].indexOf('-')
725
- let newObj = {}
726
- newObj.f_content = result.details[i].f_contentmessage[j].substring(k + 1, result.details[i].f_contentmessage[j].length)
727
- newObj.f_contentmessage = result.details[i].f_contentmessage[j].substring(0, k)
728
- newObj.f_project = result.details[i].f_project
729
- newObj.f_type = type
730
- door.details.push(newObj)
731
- }
732
- }
733
- }
734
- if (typeof (result.details[i].f_content) === 'object' && !result.details[i].f_contentmessage) {
735
- // //tag
736
- for (let l = 0; l < result.details[i].f_content.length; l++) {
737
- let new0bj = {}
738
- new0bj.f_content = result.details[i].f_content[l]
739
- new0bj.f_project = result.details[i].f_project
740
- new0bj.f_type = 'a'
741
- door.details.push(new0bj)
742
- }
743
- }
744
- if (typeof(result.details[i].f_content) === 'string') {
745
- door.details.push(result.details[i])
746
- }
747
- }
748
- return door
749
- },
750
- close() {
751
- this.showhead = true
752
- this.showNorepair = false
753
- }
754
- ,
755
- close1() {
756
- this.showhead = true
757
- this.showCannotrepair = false
758
- },
759
- showmateria(){
760
- this.selectdata = {
761
- f_process_id :this.msg.f_processid,
762
- model:this.msg
763
- }
764
- console.log("传递数据",this.msg)
765
- this.showmaterial = true
766
- },
767
- close2(){
768
- this.showmaterial = false
769
- this.selectdata ={}
770
- }
771
- },
772
- async ready () {
773
-
774
- this.savebutten = Vue.config2.telephone.FaultAll.savebutten
775
- this.sfbutten = Vue.config2.telephone.FaultAll.sfbutten?true:false
776
- //tag
777
- // this.wwcbutten = true
778
- // this.wwxbutten = true
779
- // this.savebutten = false
780
- //tag
781
- },
782
- computed: {
783
- stateNoRepair() {
784
- return this.msg.serviceacitivity.find((row) => {
785
- return row.f_result_status === '未维修'
786
- })
787
- },
788
- hunei() {
789
- let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
790
- return row.f_type === '户内维修' // 换表
791
- })
792
- return this.sortDetais(result, 'a')
793
- // return door
794
- },
795
- hitchAll() {
796
- let hitchMsg = []
797
- let obj = this.msg.serviceacitivity[0].servicerepair.find((row) => {
798
- return row.f_type === '户内维修' // 户内维修
799
- })
800
- this.obj.details.forEach((row) => {
801
- hitchMsg.push(row)
802
- })
803
- return hitchMsg
804
- }
805
- ,
806
- gaiGuan() {
807
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
808
- // return row.f_service_type === '改管'
809
- return row.f_type === '改管'
810
- })
811
- }
812
- ,
813
- zhihuan() {
814
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
815
- // return row.f_service_type === '改管'
816
- return row.f_type === '置换作业'
817
- })
818
- },
819
- zaoju() {
820
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
821
- // return row.f_service_type === '立管维修'
822
- return row.f_type === '灶具信息'
823
- })
824
- },
825
- reshuiqi() {
826
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
827
- // return row.f_service_type === '立管维修'
828
- return row.f_type === '热水器信息'
829
- })
830
- },
831
- bigualu() {
832
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
833
- // return row.f_service_type === '立管维修'
834
- return row.f_type === '壁挂炉信息'
835
- })
836
- },
837
- sanhuanzhuang() {
838
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
839
- // return row.f_service_type === '立管维修'
840
- return row.f_type === '散户安装'
841
- })
842
- },
843
- sheBeiRepairAll() {
844
- let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
845
- return row.f_type === '设备维修' // 换表
846
- })
847
- //tag)
848
- return this.sortDetais(result, 'b')
849
- },
850
- zaoJuRepairAll() {
851
- let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
852
- return row.f_type === '灶具维修' // 换表
853
- })
854
- return this.sortDetais(result, 'c')
855
- },
856
- troubleDeal() {
857
- return this.msg.serviceacitivity[0].servicerepair.find((row) => {
858
- return row.f_type === '事故处理'
859
- })
860
- }
861
- }
862
- ,
863
- components: {
864
- 'failure-edit': FailureEdit,
865
- 'appinstallation-material': AppInstallationMaterial
866
- }
867
- }
868
- </script>
869
- <style scoped>
870
- .pd-top {
871
- padding-top: 7px;
872
- }
873
- </style>
1
+ <template>
2
+ <div class="auto select-overspread form-horizontal repair-bg " style="padding-bottom:5px;">
3
+ <div class="bq-parent">
4
+ <blockquote class="blockquote">
5
+ <p>工单上传<a @click="$parent.mute()" style="float:right" href="javascript:void(0)" class="repair-mute-class"><img
6
+ src="../../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a>
7
+ </p>
8
+ </blockquote>
9
+ </div>
10
+ <div class="panel panel-default auto repair-info-content"
11
+ v-if="showhead && msg.serviceacitivity[0].f_result_status != '已完成'">
12
+ <div class="panel-body ">
13
+ <div class="row auto compatible">
14
+ <div class="row auto">
15
+ <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;" v-if="!show">
16
+ <div class="col-xs-3 col-sm-3 col-md-3">
17
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='confirm("已完成")'>
18
+ 工单完成
19
+ </button>
20
+ </div>
21
+ <div class="col-xs-3 col-sm-3 col-md-3" v-if="isNeedMaterial">
22
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='showmateria'>
23
+ 材料收费
24
+ </button>
25
+ </div>
26
+ <div class="col-xs-3 col-sm-3 col-md-3" v-show="sfbutten && service.f_source!='安检'">
27
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='gotoOtherCharge'>
28
+ 工单收费
29
+ </button>
30
+ </div>
31
+ <div class="col-xs-3 col-sm-3 col-md-3" v-show="savebutten">
32
+ <button type="button" name="button" class="col-sm-3 btn btn-primary"
33
+ @click='workOrderSave'>
34
+ 临时保存
35
+ </button>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ <div class="panel panel-default auto repair-info-content"
43
+ v-if="msg.serviceacitivity[0].f_result_status == '已完成' && !show">
44
+ <div class="panel-body ">
45
+ <div class="row auto compatible">
46
+ <div class="row auto">
47
+ <!-- <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;">-->
48
+ <!-- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='confirm("已完成")'>-->
49
+ <!-- 审核验收-->
50
+ <!-- </button>-->
51
+ <!-- </div>-->
52
+ <!-- <div class="col-xs-3 col-sm-3 col-md-3" v-if="isNeedMaterial">-->
53
+ <!-- <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='showmateria'>-->
54
+ <!-- 材料收费-->
55
+ <!-- </button>-->
56
+ <!-- </div>-->
57
+ <div class="col-xs-12 col-sm-12 col-md-12 flex-between" style="margin-top: 20px;" v-show="false">
58
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click='saveCompeleted()'>
59
+ 保存
60
+ </button>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ <div class="panel panel-default auto repair-info-content form-horizontal" v-if="showNorepair">
67
+ <div>
68
+ <p><big><b>工单未完成</b></big></p>
69
+ </div>
70
+ <div class="row">
71
+ <div class="col-sm-12 form-group form-fix-width">
72
+ <label class="control-label">原因</label>
73
+ <textarea name="name" rows="2" class="form-control ver-textarea"
74
+ v-model="msg.serviceacitivity[0].f_reason"></textarea>
75
+ </div>
76
+ </div>
77
+ <failure-edit :value='msg.serviceacitivity[0].failure' @input='newFailure' v-if="msg.f_workorder_type == '报修单'">
78
+ </failure-edit>
79
+ <!--<div class="row">-->
80
+ <!--<div class="col-sm-12 form-group form-fix-width">-->
81
+ <!--<label class="control-label">选择站点</label>-->
82
+ <!--<v-select :value.sync="msg.serviceacitivity[0].f_department" :value-single="true"-->
83
+ <!--:options='repairers' placeholder='请选择站点'-->
84
+ <!--close-on-select></v-select>-->
85
+ <!--</div>-->
86
+ <!--</div>-->
87
+ <div class="form-group">
88
+ <button type="button" class="btn btn-default pull-right" @click='close'>取消</button>
89
+ <button type="button" class="btn btn-success pull-right" @click='confirm("未完成")'>确认</button>
90
+ </div>
91
+ </div>
92
+ <div class="panel panel-default auto repair-info-content form-horizontal" v-if="showCannotrepair">
93
+ <div>
94
+ <p><big><b>无法完成</b></big></p>
95
+ </div>
96
+ <div class="row">
97
+ <div class="col-sm-12 form-group form-fix-width">
98
+ <label class="control-label">原因</label>
99
+ <textarea name="name" rows="2" class="form-control ver-textarea"
100
+ v-model="msg.serviceacitivity[0].f_reason"></textarea>
101
+ </div>
102
+ </div>
103
+ <failure-edit :value='msg.serviceacitivity[0].failure' @input='newFailure' v-if="msg.f_workorder_type == '报修单'">
104
+ </failure-edit>
105
+ <!--<div class="row">-->
106
+ <!--<div class="col-sm-12 form-group form-fix-width">-->
107
+ <!--<label class="control-label">选择站点</label>-->
108
+ <!--<v-select :value.sync="msg.serviceacitivity[0].f_department" :value-single="true"-->
109
+ <!--:options='repairers' placeholder='请选择站点'-->
110
+ <!--close-on-select></v-select>-->
111
+ <!--</div>-->
112
+ <!--</div>-->
113
+ <div class="row">
114
+ <div class="col-sm-12">
115
+ <button type="button" class="btn btn-default pull-right" @click='close1'>取消</button>
116
+ <button type="button" class="btn btn-success pull-right" @click='cannotRepaer()'>确认</button>
117
+ </div>
118
+ </div>
119
+ </div>
120
+ </div>
121
+ <modal :show.sync="showmaterial" backdrop="false" style="overflow: scroll;height: 100%">
122
+ <header slot="modal-header" class="modal-header text-center">
123
+ <button type="button" class="close" @click="close2"><span>&times;</span></button>
124
+ <h4 class="modal-title">添加材料</h4>
125
+ </header>
126
+ <article slot="modal-body">
127
+ <appinstallation-material v-if="showmaterial" :selectdata = "selectdata"></appinstallation-material>
128
+ </article>
129
+ <footer slot="modal-footer"></footer>
130
+ </modal>
131
+ </template>
132
+ <script>
133
+ import Vue from 'vue'
134
+ import * as Util from '../../../components/Util'
135
+ import {HttpResetClass} from 'vue-client'
136
+ import FailureEdit from '../pc/FailureEdit'
137
+ import AppInstallationMaterial from './AppInstallationMaterial'
138
+ export default {
139
+ title: '故障汇总',
140
+ props: {
141
+ msg: {
142
+ type: Object
143
+ },
144
+ savevalid: {
145
+ type: Object
146
+ },
147
+ model: {
148
+ type: Object
149
+ },
150
+ show: {
151
+ type: Boolean,
152
+ default: false
153
+ },
154
+ row: {
155
+ type: Object
156
+ },
157
+ system: '',
158
+ parentPage:''
159
+ },
160
+ data() {
161
+ return {
162
+ savebutten:false, // 工单保存按钮
163
+ sfbutten:false, //收费按钮
164
+ fileName: '',
165
+ datajson: '',
166
+ norepair: '',
167
+ showNorepair: false,
168
+ showCannotrepair: false,
169
+ showhead: true,
170
+ repairers : this.$appdata.getParam('站点管理员'),
171
+ config:{},
172
+ othercharge_id: '',
173
+ showmaterial:false,
174
+ selectdata:{},
175
+ isNeedMaterial: this.$appdata.getSingleValue('材料收费') == '是',
176
+ }
177
+ },
178
+ methods: {
179
+ // 停止录音
180
+ closely(isdelete){
181
+ try {
182
+ var startOrStopAudioClipStr;
183
+ if (isdelete===true) {
184
+ //tag
185
+ startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止并删除录音') //停止并删除录音
186
+ }else {
187
+ //tag
188
+ startOrStopAudioClipStr= HostApp.startOrStopAudioClip("----",'停止录音') //停止录音
189
+ }
190
+ if (startOrStopAudioClipStr.code == 200) {
191
+ //tag
192
+ return true;
193
+ }else {
194
+ return false;
195
+ }
196
+ } catch (e) {
197
+ console.error("关闭录音方法异常")
198
+ console.error(e)
199
+ return false;
200
+ }
201
+ },
202
+ /* // 录音方法
203
+ record() {
204
+ //tag
205
+ let fileName
206
+ if (!this.f_recording1_path) {
207
+ fileName = Util.guid() + '.amr'
208
+ } else {
209
+ fileName = Util.getFileName(this.f_recording1_path)
210
+ }
211
+ //HostApp.__this__ = this
212
+ /!*调用无限制录音模块*!/
213
+ let startOrStopState = HostApp.startOrStopAudioClip(fileName,"开始录音")
214
+ //tag
215
+ if (startOrStopState.code == 200) {
216
+ this.f_recording1_path = "file:///storage/emulated/0/safecheck/" + fileName
217
+ console.log("录音文件地址"+this.f_recording1_path)
218
+ //tag
219
+ return true;
220
+ }else {
221
+ return false;
222
+ }
223
+ },*/
224
+ // 工单收费
225
+ async gotoOtherCharge() {
226
+ //tag
227
+ let con = {
228
+ conndition: ` f_userinfo_id = '${this.msg.f_userinfo_id}' and f_table_state = '正常' `
229
+ }
230
+ let http1 = new HttpResetClass()
231
+ let row = await http1.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/onlinequeryuser`, {data: con},{
232
+ resolveMsg: '物联网收费成功!!',
233
+ rejectMsg: '物联网收费出错!!!'
234
+ })
235
+ //tag))
236
+ // 去其他收费界面
237
+ let _this = this
238
+ var pardate = {
239
+ _this:_this,
240
+ title:'其他收费',
241
+ safe:false
242
+ }
243
+ this.closely(false)
244
+ _this.$dispatch('gotoson',pardate)
245
+ //tag
246
+ _this.$goto('other_charge', {row: row}, 'self',_this.payback)
247
+ // _this.$goto('create_qrcode', {row: parameter}, 'self',_this.payback)
248
+ },
249
+ payback(msg) {
250
+ if (msg) {
251
+ //tag)
252
+ this.othercharge_id = msg
253
+ }else {
254
+ //tag
255
+ this.$showMessage('支付失败!')
256
+ }
257
+ },
258
+ // 工单结案
259
+ finishRepair(){
260
+ var _this = this
261
+ this.$showMessage('请确认该工单结案!', ['confirm', 'cancel']).then((res) => {
262
+ if (res === 'confirm') {
263
+ this.closely(false)
264
+ _this.confirm("结案")
265
+ }
266
+ })
267
+ },
268
+ deleteEmptyProperty(object){
269
+ for (var i in object) {
270
+ var value = object[i];
271
+ if (typeof value === 'object') {
272
+ if (Array.isArray(value)) {
273
+ if (value.length == 0) {
274
+ delete object[i];
275
+ //tag;
276
+ continue;
277
+ }
278
+ }
279
+ this.deleteEmptyProperty(value);
280
+ if (this.isEmpty(value)) {
281
+ //tag;
282
+ delete object[i];
283
+ //tag;
284
+ }
285
+ } else {
286
+ if (value === '' || value === null || value === undefined) {
287
+ delete object[i];
288
+ //tag;
289
+ } else {
290
+ //tag;
291
+ }
292
+ }
293
+ }
294
+ },
295
+ isEmpty(object) {
296
+ for (var name in object) {
297
+ return false;
298
+ }
299
+ return true;
300
+ },
301
+ // 从图片中删除
302
+ remove(row) {
303
+ this.$androidUtil.delfile(row.android_file)
304
+ let pos = this.model.imgs.findIndex((value) => {
305
+ return value === row
306
+ })
307
+ this.model.imgs.splice(pos, 1)
308
+ },
309
+ // fileName: 回传文件名,传入的带安卓路径url
310
+ // prop: 传入的字段名,没做改动
311
+ cameraCallBack(prop, fileName) {
312
+ // 当前this只能通过HostApp.__tis__获取
313
+ let self = this.$androidUtil.getCallBack(this)
314
+ // 添加新图片
315
+ self.model.imgs.push({
316
+ android_file: self.fileName,
317
+ path: fileName
318
+ })
319
+ },
320
+ takePic() {
321
+ let prop = 'repair'
322
+ let idx = 'aofeng'
323
+ this.fileName = Util.guid() + '-valve-' + idx + '-' + prop + '.jpg'
324
+ this.$sandroidUtil.takePic(this, this.cameraCallBack, this.fileName)
325
+ },
326
+ newFailure(value) {
327
+ this.msg.serviceacitivity[0].failure = value
328
+ },
329
+ noRepair() {
330
+ this.showhead = false
331
+ this.showNorepair = true
332
+ this.closely()
333
+ HostApp.backupDatabase()
334
+ },
335
+ cannotRepair() {
336
+ this.showhead = false
337
+ this.showCannotrepair = true
338
+ this.closely()
339
+ // falg:0, 表示第一次上传,批量上传时,flag:1
340
+ // this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
341
+ },
342
+ // 测试环境下模拟上传失败
343
+ fail(param) {
344
+ this.msg.serviceacitivity[0].f_result_status = param
345
+ this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg, test: true})
346
+ },
347
+ async workOrderSave(){
348
+ this.norepair = false
349
+ if (this.hunei && this.hunei.details) {
350
+ for (let i = 0; i < this.hunei.details.length; i++) {
351
+ if (this.hunei.details[i].f_project === '未维修') {
352
+ this.norepair = true
353
+ }
354
+ }
355
+ }
356
+ // 用户基本信息转字符串
357
+ this.msg.serviceacitivity[0].f_date_leave = Util.toStandardTimeString()
358
+ this.msg.serviceacitivity[0].f_result_status = '工单保存'
359
+ this.msg.serviceacitivity[0].f_order_man = Vue.user.name
360
+ this.closely(true)
361
+ console.log("保存本地2"+this.msg.f_recording1_path)
362
+ this.deleteEmptyProperty(this.msg)
363
+ HostApp.__this__ = this
364
+ HostApp.logicWithHint({
365
+ // logic别名,key必须为logic
366
+ 'logic': 'workOrderSave',
367
+ // 回调执行方法名,key必须为callback
368
+ 'callback': 'javascript:HostApp.__this__.localSaveCallBack()',
369
+ // logic执行需要的业务参数
370
+ 'data': {row: this.msg},
371
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
372
+ // 执行回调方法传入key为backresult
373
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
374
+ 'backresult': 1
375
+ })
376
+ },
377
+ localSaveCallBack(res){
378
+ if(res.state == 'ok'){
379
+ let result = JSON.parse(res.result)
380
+ if(result.result == '成功'){
381
+ this.$showMessage('工单保存成功!', ['confirm'])
382
+ this.$dispatch('tijiao')
383
+ }else{
384
+ this.$showMessage(`工单保存失败! ${result.errMsg}`, ['confirm'])
385
+ }
386
+ this.$dispatch('tijiao')
387
+ }else {
388
+ this.$showMessage(`保存提交失败!`, ['confirm'])
389
+ }
390
+ },
391
+ must(){
392
+ for(let i=0;i<this.model.servicerepair.length;i++){
393
+ if(this.model.servicerepair[i].f_type=='换表'){
394
+ for(let m=0; m<this.model.servicerepair[i].details.length; m++){
395
+ this.model.servicerepair[i].details[m].f_is_must=true
396
+ if(this.model.servicerepair[i].details[m].f_is_must==true && this.model.servicerepair[i].details[m].f_content=='' && this.model.servicerepair[i].details[m].type!='picture'){
397
+ return this.model.servicerepair[i].details[m].f_project
398
+ }else{
399
+ if(this.model.servicerepair[i].details[m].f_is_must==true){
400
+ if(this.model.servicerepair[i].imgs.length<2){
401
+ return '请添加新、旧表照片'
402
+ }
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
408
+ },
409
+ // 工单上传
410
+ async confirm(param) {
411
+ for(let i=0;i<this.model.servicerepair.length;i++){
412
+ if(this.model.servicerepair[i].f_type=='换表'){
413
+ for(let j=0;j<this.model.servicerepair[i].details.length;j++){
414
+ if(this.model.servicerepair[i].details[j].f_project=='是否换表' && this.model.servicerepair[i].details[j].f_content=='是'){
415
+ let result=this.must()
416
+ if(result){
417
+ this.$showMessage(`请录入${result}信息!`, ['confirm'])
418
+ return
419
+ }
420
+ }
421
+ }
422
+ }
423
+ }
424
+
425
+ /*//tag)
426
+ if(!this.model.ischange) {
427
+ this.$showMessage('您还为进行换表操作,工单为完成!,')
428
+ return
429
+ }*/
430
+
431
+ this.norepair = false
432
+ if (this.hunei && this.hunei.details) {
433
+ for (let i = 0; i < this.hunei.details.length; i++) {
434
+ if (this.hunei.details[i].f_project === '未维修') {
435
+ this.norepair = true
436
+ }
437
+ }
438
+ }
439
+ if(param != '结案'&& (this.msg.f_workorder_type == '置换通气单'||this.msg.f_workorder_type == '安装单')) {
440
+ // 检测验证是否必填
441
+ var isfinish = this.checkismust()
442
+ if(isfinish.ifmust){
443
+ this.$showMessage(`请录入${isfinish.msg}信息!`, ['confirm'])
444
+ return
445
+ }
446
+ // 检测签名是否完成
447
+ // if(!(this.msg.serviceacitivity[0].f_signname)) {
448
+ // this.$showMessage(`请完成客户签名!`, ['confirm'])
449
+ // return
450
+ // }
451
+ // 检测置换作业是否有异常
452
+ var yinhuanflag = this.checkzhihuanwork()
453
+ if(!yinhuanflag){
454
+ var resy = await this.$showMessage('是否确认该户置换作业异常?', ['confirm', 'cancel'])
455
+ if(resy == 'cancel'){
456
+ return
457
+ }
458
+ this.msg.f_is_abnormal = '异常'
459
+ this.msg.serviceacitivity[0].f_is_abnormal = '异常'
460
+ }
461
+ // 检测置换照片是否已拍
462
+ // var imgflag = this.checkzhihuanimg()
463
+ // if(!(imgflag.check)){
464
+ // this.$showMessage(`${imgflag.title}未拍照!`, ['confirm'])
465
+ // return
466
+ // }
467
+ }
468
+ else if(this.msg.f_workorder_type == '报修单' && param != '结案'){
469
+ let isfinish = this.checkismust()
470
+ if(isfinish.ifmust){
471
+ this.$showMessage(`请录入${isfinish.msg}信息!`, ['confirm'])
472
+ return
473
+ }
474
+ // if(!(this.msg.serviceacitivity[0].f_signname)) {
475
+ // this.$showMessage(`请完成客户签名!`, ['confirm'])
476
+ // return
477
+ // }
478
+ // let imgflag = this.checkzhihuanimg()
479
+ // if(!(imgflag.check)){
480
+ // this.$showMessage(`${imgflag.title}未拍照!`, ['confirm'])
481
+ // return
482
+ // }
483
+ }
484
+ // }
485
+ // 用户基本信息转字符串
486
+ // if ((this.savevalid.uservalid && this.savevalid.doorvalid) || this.norepair || this.liGuanWeiXou || this.sheBeiRepairAll) {
487
+ this.msg.serviceacitivity[0].f_date_leave = Util.toStandardTimeString()
488
+ this.msg.serviceacitivity[0].f_result_status = param
489
+ this.msg.serviceacitivity[0].f_button = '审核验收'
490
+ if (this.msg.defname == '审核验收'){
491
+ this.msg.serviceacitivity[0].f_button = '维修完成'
492
+ }
493
+ this.msg.serviceacitivity[0].f_order_man = Vue.user.name
494
+ this.msg.loginid = Vue.user.id
495
+ // if (!this.savevalid.changetable && this.model.servicerepair && this.model.servicerepair[0].f_if_change) {
496
+ // this.$showMessage('未上传收费!', ['confirm'])
497
+ // } else {
498
+ this.deleteEmptyProperty(this.msg)
499
+ //tag
500
+ this.closely(false) // 保存本地,不删除录音文件停止录音
501
+ // this.msg.f_recording1_path = this.data.f_recording1_path
502
+ console.log("保存本地", this.msg.f_recording1_path)
503
+ //tag)
504
+ HostApp.__this__ = this
505
+ HostApp.logicWithHint({
506
+ // logic别名,key必须为logic
507
+ 'logic': 'upload',
508
+ // 回调执行方法名,key必须为callback
509
+ 'callback': 'javascript:HostApp.__this__.uploadCallback()',
510
+ // logic执行需要的业务参数
511
+ 'data': {flag: 0, row: this.msg},
512
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
513
+ // 执行回调方法传入key为backresult
514
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
515
+ 'backresult': 1
516
+ })
517
+ // let result = this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
518
+ // } else {
519
+ // this.$showMessage('有未填写项', ['confirm'])
520
+ // }
521
+ },
522
+ uploadCallback(res){
523
+ if(res.state == 'ok'){
524
+ let result = JSON.parse(res.result)
525
+ if (result.result === '成功') {
526
+ this.$showMessage('保存提交成功!', ['confirm'])
527
+ } else {
528
+ this.$showMessage(`保存提交失败!${result.errMsg}`, ['confirm'])
529
+ }
530
+ this.showNorepair = false
531
+ this.showCannotrepair = false
532
+ this.$dispatch('tijiao')
533
+ }else {
534
+ this.$showMessage(`保存提交失败!`, ['confirm'])
535
+ }
536
+ },
537
+ // 检验是否必填 返回 error:{msg:'111',ismust:true}
538
+ checkismust(){
539
+ var error ={
540
+ msg:'',
541
+ ifmust:false
542
+ }
543
+ for(var i = 0;i<this.msg.serviceacitivity[0].servicerepair.length;i++) {
544
+ for (var j = 0; j < this.msg.serviceacitivity[0].servicerepair[i].details.length; j++) {
545
+ if(this.msg.serviceacitivity[0].servicerepair[i].details[j].type == 'checkbox'&&this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content == '无'){
546
+ break;
547
+ }
548
+ if(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_is_must == 'true' && this.msg.serviceacitivity[0].servicerepair[i].details[j].type == 'picture' && this.msg.serviceacitivity[0].servicerepair[i].imgs.length == 0){
549
+ error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}`
550
+ error.ifmust = true
551
+ return error
552
+ }
553
+ if(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_is_must == 'true' && !(this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content) && this.msg.serviceacitivity[0].servicerepair[i].details[j].type != 'picture' ){
554
+ error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}`
555
+ error.ifmust = true
556
+ return error
557
+ }
558
+ }
559
+ }
560
+ return error
561
+ },
562
+ // checkzhihuanwork 检测置换作业是否正常
563
+ checkzhihuanwork(){
564
+ var isstatus = true
565
+ if(this.zhihuan){
566
+ for(var i = 0;i<this.zhihuan.details.length;i++){
567
+ if(this.zhihuan.details[i].type == 'radio' && this.zhihuan.details[i].f_content){
568
+ if(this.zhihuan.details[i].f_status == 'false'){
569
+ isstatus = false
570
+ break;
571
+ }
572
+ }
573
+ }
574
+ }
575
+ return isstatus
576
+ },
577
+ checkzhihuanimg(){
578
+ var isstatus = {
579
+ check: true,
580
+ title:''
581
+ }
582
+ if(Vue.config.telephone.Outlay.data != undefined){
583
+ let checkimgs = ''
584
+ //tag
585
+ //tag+'22222222222222222')
586
+ if(this.service.f_user_type == '民用'){
587
+ checkimgs = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.msg.f_workorder_type].civil)))
588
+ }else{
589
+ checkimgs = Object.assign([], JSON.parse(JSON.stringify(Vue.config.telephone.Outlay.data[this.msg.f_workorder_type].nocivil)))
590
+ }
591
+ if(checkimgs.length>0){
592
+ for(var i =0;i<checkimgs.length;i++){
593
+ var checkimgstype = checkimgs[i].title
594
+ if(checkimgs[i].checkmust){
595
+ var flag = false
596
+ for(var j =0;j<this.msg.serviceacitivity[0].imgs.length;j++){
597
+ if(this.msg.serviceacitivity[0].imgs[j].imgpath == checkimgstype) {
598
+ flag = true
599
+ break;
600
+ }
601
+ }
602
+ if(!flag){
603
+ isstatus.check = false
604
+ isstatus.title = checkimgstype
605
+ break;
606
+ }
607
+ }
608
+ }
609
+ }
610
+ }
611
+ return isstatus
612
+ },
613
+ checkservice(){
614
+ // 1.先判断灶具
615
+ if(this.zaoju){
616
+ var iszaoju = false
617
+ for(var i = 0;i<this.zaoju.details.length;i++){
618
+ if(this.zaoju.details[i].f_project == '有无灶具设备'){
619
+ if(this.zaoju.details[i].f_content == '有'||this.zaoju.details[i].f_content == ''){
620
+ iszaoju = true
621
+ break;
622
+ }
623
+ }
624
+ }
625
+ if(iszaoju){
626
+ for(var i = 0;i<this.zaoju.details.length;i++){
627
+ if(this.zaoju.details[i].type == 'picture'){
628
+ //tag
629
+ //tag
630
+ if(this.zaoju.imgs.length == 0){
631
+ this.$showMessage('灶具设备未拍照!', ['confirm'])
632
+ return false
633
+ }
634
+ }else{
635
+ if(this.zaoju.details[i].f_content == '' || this.zaoju.details[i].f_content == undefined){
636
+ this.$showMessage('灶具设备信息未填写完整!', ['confirm'])
637
+ return false
638
+ }
639
+ }
640
+ }
641
+ }
642
+ }
643
+ // 2.判断热水器
644
+ if(this.reshuiqi){
645
+ var isreshuiqi = false
646
+ for(var i = 0;i<this.reshuiqi.details.length;i++){
647
+ if(this.reshuiqi.details[i].f_project == '有无热水器设备'){
648
+ if(this.reshuiqi.details[i].f_content == '有'||this.reshuiqi.details[i].f_content == ''){
649
+ isreshuiqi = true
650
+ break;
651
+ }
652
+ }
653
+ }
654
+ if(isreshuiqi){
655
+ for(var i = 0;i<this.reshuiqi.details.length;i++){
656
+ if(this.reshuiqi.details[i].type == 'picture'){
657
+ if(this.reshuiqi.imgs.length == 0){
658
+ this.$showMessage('热水器设备未拍照!', ['confirm'])
659
+ return false
660
+ }
661
+ }else{
662
+ if(this.reshuiqi.details[i].f_content == '' || this.reshuiqi.details[i].f_content == undefined){
663
+ this.$showMessage('热水器设备信息未填写完整!', ['confirm'])
664
+ return false
665
+ }
666
+ }
667
+ }
668
+ }
669
+ }
670
+ // 3.判断壁挂炉
671
+ if(this.bigualu){
672
+ var isbigualu = false
673
+ for(var i = 0;i<this.bigualu.details.length;i++){
674
+ if(this.bigualu.details[i].f_project == '有无壁挂炉设备'){
675
+ if(this.bigualu.details[i].f_content == '有'||this.bigualu.details[i].f_content == ''){
676
+ isbigualu = true
677
+ break;
678
+ }
679
+ }
680
+ }
681
+ if(isbigualu){
682
+ for(var i = 0;i<this.bigualu.details.length;i++){
683
+ if(this.bigualu.details[i].type == 'picture'){
684
+ if(this.bigualu.imgs.length == 0){
685
+ this.$showMessage('壁挂炉设备未拍照!', ['confirm'])
686
+ return false
687
+ }
688
+ }else{
689
+ if(this.bigualu.details[i].f_content == '' || this.bigualu.details[i].f_content == undefined){
690
+ this.$showMessage('壁挂炉设备信息未填写完整!', ['confirm'])
691
+ return false
692
+ }
693
+ }
694
+ }
695
+ }
696
+ }
697
+ return true
698
+ },
699
+ cannotRepaer() {
700
+ this.msg.serviceacitivity[0].f_service_acitivity_type = '未维修'
701
+ this.msg.loginid = Vue.user.id
702
+ let result = this.$androidUtil.bzLogic('upload', {flag: 0, row: this.msg})
703
+ if (result.result === '成功') {
704
+ this.$showMessage('保存提交成功!', ['confirm'])
705
+ } else {
706
+ this.$showMessage(`保存提交失败!${JSON.stringify(result)}`, ['confirm'])
707
+ }
708
+ this.showNorepair = false
709
+ this.showCannotrepair = false
710
+ this.$dispatch('tijiao')
711
+ },
712
+ saveCompeleted() {
713
+ this.msg.serviceacitivity[0].baseuserinfo.f_date_level = Util.toStandardTimeString()
714
+ this.closely(false) // 保存本地,不删除录音文件停止录音
715
+ this.$androidUtil.bzLogic('SaveCompeleted', { row: this.msg})
716
+ },
717
+ sortDetais(result, type) {
718
+ let door = Object.assign({}, result)
719
+ door.details = []
720
+ for (let i = 0; i < result.details.length; i++) {
721
+ if (typeof (result.details[i].f_contentmessage) === 'object') {
722
+ for (let j = 0; j < result.details[i].f_contentmessage.length; j++) {
723
+ if (result.details[i].f_contentmessage[j].indexOf('-') !== -1) {
724
+ let k = result.details[i].f_contentmessage[j].indexOf('-')
725
+ let newObj = {}
726
+ newObj.f_content = result.details[i].f_contentmessage[j].substring(k + 1, result.details[i].f_contentmessage[j].length)
727
+ newObj.f_contentmessage = result.details[i].f_contentmessage[j].substring(0, k)
728
+ newObj.f_project = result.details[i].f_project
729
+ newObj.f_type = type
730
+ door.details.push(newObj)
731
+ }
732
+ }
733
+ }
734
+ if (typeof (result.details[i].f_content) === 'object' && !result.details[i].f_contentmessage) {
735
+ // //tag
736
+ for (let l = 0; l < result.details[i].f_content.length; l++) {
737
+ let new0bj = {}
738
+ new0bj.f_content = result.details[i].f_content[l]
739
+ new0bj.f_project = result.details[i].f_project
740
+ new0bj.f_type = 'a'
741
+ door.details.push(new0bj)
742
+ }
743
+ }
744
+ if (typeof(result.details[i].f_content) === 'string') {
745
+ door.details.push(result.details[i])
746
+ }
747
+ }
748
+ return door
749
+ },
750
+ close() {
751
+ this.showhead = true
752
+ this.showNorepair = false
753
+ }
754
+ ,
755
+ close1() {
756
+ this.showhead = true
757
+ this.showCannotrepair = false
758
+ },
759
+ showmateria(){
760
+ this.selectdata = {
761
+ f_process_id :this.msg.f_processid,
762
+ model:this.msg
763
+ }
764
+ console.log("传递数据",this.msg)
765
+ this.showmaterial = true
766
+ },
767
+ close2(){
768
+ this.showmaterial = false
769
+ this.selectdata ={}
770
+ }
771
+ },
772
+ async ready () {
773
+
774
+ this.savebutten = Vue.config2.telephone.FaultAll.savebutten
775
+ this.sfbutten = Vue.config2.telephone.FaultAll.sfbutten?true:false
776
+ //tag
777
+ // this.wwcbutten = true
778
+ // this.wwxbutten = true
779
+ // this.savebutten = false
780
+ //tag
781
+ },
782
+ computed: {
783
+ stateNoRepair() {
784
+ return this.msg.serviceacitivity.find((row) => {
785
+ return row.f_result_status === '未维修'
786
+ })
787
+ },
788
+ hunei() {
789
+ let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
790
+ return row.f_type === '户内维修' // 换表
791
+ })
792
+ return this.sortDetais(result, 'a')
793
+ // return door
794
+ },
795
+ hitchAll() {
796
+ let hitchMsg = []
797
+ let obj = this.msg.serviceacitivity[0].servicerepair.find((row) => {
798
+ return row.f_type === '户内维修' // 户内维修
799
+ })
800
+ this.obj.details.forEach((row) => {
801
+ hitchMsg.push(row)
802
+ })
803
+ return hitchMsg
804
+ }
805
+ ,
806
+ gaiGuan() {
807
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
808
+ // return row.f_service_type === '改管'
809
+ return row.f_type === '改管'
810
+ })
811
+ }
812
+ ,
813
+ zhihuan() {
814
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
815
+ // return row.f_service_type === '改管'
816
+ return row.f_type === '置换作业'
817
+ })
818
+ },
819
+ zaoju() {
820
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
821
+ // return row.f_service_type === '立管维修'
822
+ return row.f_type === '灶具信息'
823
+ })
824
+ },
825
+ reshuiqi() {
826
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
827
+ // return row.f_service_type === '立管维修'
828
+ return row.f_type === '热水器信息'
829
+ })
830
+ },
831
+ bigualu() {
832
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
833
+ // return row.f_service_type === '立管维修'
834
+ return row.f_type === '壁挂炉信息'
835
+ })
836
+ },
837
+ sanhuanzhuang() {
838
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
839
+ // return row.f_service_type === '立管维修'
840
+ return row.f_type === '散户安装'
841
+ })
842
+ },
843
+ sheBeiRepairAll() {
844
+ let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
845
+ return row.f_type === '设备维修' // 换表
846
+ })
847
+ //tag)
848
+ return this.sortDetais(result, 'b')
849
+ },
850
+ zaoJuRepairAll() {
851
+ let result = this.msg.serviceacitivity[0].servicerepair.find((row) => {
852
+ return row.f_type === '灶具维修' // 换表
853
+ })
854
+ return this.sortDetais(result, 'c')
855
+ },
856
+ troubleDeal() {
857
+ return this.msg.serviceacitivity[0].servicerepair.find((row) => {
858
+ return row.f_type === '事故处理'
859
+ })
860
+ }
861
+ }
862
+ ,
863
+ components: {
864
+ 'failure-edit': FailureEdit,
865
+ 'appinstallation-material': AppInstallationMaterial
866
+ }
867
+ }
868
+ </script>
869
+ <style scoped>
870
+ .pd-top {
871
+ padding-top: 7px;
872
+ }
873
+ </style>