safecheck-client 4.0.1-7 → 4.0.1-70

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 (304) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +5 -5
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/Widget.vue +13 -13
  49. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  50. package/src/android-bootstrap/less/.csscomb.json +304 -304
  51. package/src/android-bootstrap/less/.csslintrc +19 -19
  52. package/src/android-bootstrap/less/alerts.less +73 -73
  53. package/src/android-bootstrap/less/badges.less +66 -66
  54. package/src/android-bootstrap/less/bootstrap.less +56 -56
  55. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  56. package/src/android-bootstrap/less/button-groups.less +247 -247
  57. package/src/android-bootstrap/less/buttons.less +173 -173
  58. package/src/android-bootstrap/less/carousel.less +269 -269
  59. package/src/android-bootstrap/less/close.less +34 -34
  60. package/src/android-bootstrap/less/code.less +69 -69
  61. package/src/android-bootstrap/less/component-animations.less +33 -33
  62. package/src/android-bootstrap/less/grid.less +84 -84
  63. package/src/android-bootstrap/less/input-groups.less +167 -167
  64. package/src/android-bootstrap/less/jumbotron.less +52 -52
  65. package/src/android-bootstrap/less/labels.less +64 -64
  66. package/src/android-bootstrap/less/list-group.less +141 -141
  67. package/src/android-bootstrap/less/media.less +66 -66
  68. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  69. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  70. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  71. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  72. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  73. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  74. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  75. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  76. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  77. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  78. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  79. package/src/android-bootstrap/less/mixins/image.less +33 -33
  80. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  81. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  82. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  83. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  84. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  85. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  86. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  87. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  88. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  89. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  90. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  91. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  92. package/src/android-bootstrap/less/mixins/size.less +10 -10
  93. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  94. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  95. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  96. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  97. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  98. package/src/android-bootstrap/less/mixins.less +40 -40
  99. package/src/android-bootstrap/less/modals.less +151 -151
  100. package/src/android-bootstrap/less/navbar.less +660 -660
  101. package/src/android-bootstrap/less/navs.less +290 -290
  102. package/src/android-bootstrap/less/normalize.less +424 -424
  103. package/src/android-bootstrap/less/pager.less +76 -76
  104. package/src/android-bootstrap/less/pagination.less +89 -89
  105. package/src/android-bootstrap/less/panels.less +274 -274
  106. package/src/android-bootstrap/less/popovers.less +131 -131
  107. package/src/android-bootstrap/less/print.less +101 -101
  108. package/src/android-bootstrap/less/progress-bars.less +87 -87
  109. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  110. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  111. package/src/android-bootstrap/less/scaffolding.less +161 -161
  112. package/src/android-bootstrap/less/tables.less +262 -262
  113. package/src/android-bootstrap/less/theme.less +291 -291
  114. package/src/android-bootstrap/less/thumbnails.less +36 -36
  115. package/src/android-bootstrap/less/tooltip.less +102 -102
  116. package/src/android-bootstrap/less/type.less +303 -303
  117. package/src/android-bootstrap/less/utilities.less +55 -55
  118. package/src/android-bootstrap/less/variables.less +896 -896
  119. package/src/android-bootstrap/less/wells.less +29 -29
  120. package/src/assets//350/255/246/345/221/212 (3).png +0 -0
  121. package/src/assets//350/255/246/345/221/212 (4).png +0 -0
  122. package/src/assets//350/255/246/345/221/212 (5).png +0 -0
  123. package/src/bootstrap/less/.csscomb.json +304 -304
  124. package/src/bootstrap/less/.csslintrc +19 -19
  125. package/src/bootstrap/less/alerts.less +73 -73
  126. package/src/bootstrap/less/badges.less +66 -66
  127. package/src/bootstrap/less/breadcrumbs.less +26 -26
  128. package/src/bootstrap/less/button-groups.less +247 -247
  129. package/src/bootstrap/less/buttons.less +172 -172
  130. package/src/bootstrap/less/carousel.less +269 -269
  131. package/src/bootstrap/less/close.less +34 -34
  132. package/src/bootstrap/less/code.less +69 -69
  133. package/src/bootstrap/less/component-animations.less +33 -33
  134. package/src/bootstrap/less/dropdowns.less +216 -216
  135. package/src/bootstrap/less/grid.less +84 -84
  136. package/src/bootstrap/less/input-groups.less +167 -167
  137. package/src/bootstrap/less/jumbotron.less +52 -52
  138. package/src/bootstrap/less/labels.less +64 -64
  139. package/src/bootstrap/less/list-group.less +141 -141
  140. package/src/bootstrap/less/media.less +66 -66
  141. package/src/bootstrap/less/mixins/alerts.less +14 -14
  142. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  143. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  144. package/src/bootstrap/less/mixins/buttons.less +69 -69
  145. package/src/bootstrap/less/mixins/center-block.less +7 -7
  146. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  147. package/src/bootstrap/less/mixins/forms.less +90 -90
  148. package/src/bootstrap/less/mixins/gradients.less +59 -59
  149. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  150. package/src/bootstrap/less/mixins/grid.less +122 -122
  151. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  152. package/src/bootstrap/less/mixins/image.less +33 -33
  153. package/src/bootstrap/less/mixins/labels.less +12 -12
  154. package/src/bootstrap/less/mixins/list-group.less +30 -30
  155. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  156. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  157. package/src/bootstrap/less/mixins/opacity.less +8 -8
  158. package/src/bootstrap/less/mixins/pagination.less +24 -24
  159. package/src/bootstrap/less/mixins/panels.less +24 -24
  160. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  161. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  162. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  163. package/src/bootstrap/less/mixins/resize.less +6 -6
  164. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  165. package/src/bootstrap/less/mixins/size.less +10 -10
  166. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  167. package/src/bootstrap/less/mixins/table-row.less +44 -44
  168. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  169. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  170. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  171. package/src/bootstrap/less/mixins.less +40 -40
  172. package/src/bootstrap/less/modals.less +151 -151
  173. package/src/bootstrap/less/navbar.less +660 -660
  174. package/src/bootstrap/less/normalize.less +424 -424
  175. package/src/bootstrap/less/pagination.less +89 -89
  176. package/src/bootstrap/less/panels.less +275 -275
  177. package/src/bootstrap/less/popovers.less +131 -131
  178. package/src/bootstrap/less/print.less +101 -101
  179. package/src/bootstrap/less/progress-bars.less +87 -87
  180. package/src/bootstrap/less/responsive-embed.less +35 -35
  181. package/src/bootstrap/less/responsive-utilities.less +194 -194
  182. package/src/bootstrap/less/scaffolding.less +161 -161
  183. package/src/bootstrap/less/theme.less +291 -291
  184. package/src/bootstrap/less/thumbnails.less +36 -36
  185. package/src/bootstrap/less/tooltip.less +102 -102
  186. package/src/bootstrap/less/type.less +303 -303
  187. package/src/bootstrap/less/utilities.less +55 -55
  188. package/src/bootstrap/less/wells.less +29 -29
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/NewDefectList/DefectListNew.vue +22 -3
  193. package/src/components/android/AndroidDefectDeal.vue +356 -323
  194. package/src/components/android/AndroidDefectDetails.vue +3 -3
  195. package/src/components/android/AppInstallationMaterial.vue +865 -0
  196. package/src/components/android/AttendanceTally.vue +116 -116
  197. package/src/components/android/Blank.vue +10 -10
  198. package/src/components/android/CheckUnplanPage.vue +56 -56
  199. package/src/components/android/Checker.vue +12 -12
  200. package/src/components/android/CheckerAnnual.vue +81 -81
  201. package/src/components/android/CheckerAvarta.vue +82 -82
  202. package/src/components/android/DailyworkloadQuery.vue +2 -1
  203. package/src/components/android/EquipmentInspection.vue +348 -348
  204. package/src/components/android/FootprintMap.vue +120 -120
  205. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  206. package/src/components/android/MasterMain.vue +77 -77
  207. package/src/components/android/Menu.vue +132 -132
  208. package/src/components/android/NewCheckpaperAndroid.vue +22 -48
  209. package/src/components/android/PaperAlarm.vue +85 -85
  210. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  211. package/src/components/android/PlumberAnnual.vue +83 -83
  212. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  213. package/src/components/android/PlumberMonthly.vue +84 -84
  214. package/src/components/android/PostMap.vue +83 -83
  215. package/src/components/android/QueryCheckHistory.vue +122 -122
  216. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  217. package/src/components/android/RepairMain.vue +60 -60
  218. package/src/components/android/Repairman.vue +12 -12
  219. package/src/components/android/StationMaster.vue +12 -12
  220. package/src/components/android/SwitchValve.vue +1 -1
  221. package/src/components/checkplan/CheckDetail.vue +1 -1
  222. package/src/components/defects/DefectModal.vue +101 -101
  223. package/src/components/defects/DevicesAndItem.vue +39 -39
  224. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  225. package/src/components/map/SecurityCheckCoordinates.vue +361 -0
  226. package/src/components/notice/NoticeForm.vue +100 -100
  227. package/src/components/notice/NoticeIssue.vue +20 -20
  228. package/src/components/paper/PicViewer.vue +18 -18
  229. package/src/components/pc/CheckBookUser.vue +337 -337
  230. package/src/components/pc/DefectDeal.vue +1 -0
  231. package/src/components/pc/DefectMaterialLook.vue +98 -0
  232. package/src/components/pc/PaperDefectMain.vue +26 -1
  233. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  234. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  235. package/src/components/phonestate/PostMap.vue +82 -82
  236. package/src/components/planmanage/PlanManage.vue +1 -0
  237. package/src/components/querycheckpaper/CheckPaperList.vue +6 -4
  238. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +30 -4
  239. package/src/components/querycheckpaper/CheckSearchUser.vue +6 -1
  240. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  241. package/src/components/userfile/MeterFile.vue +145 -145
  242. package/src/components/userfile/MeterModify.vue +46 -46
  243. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  244. package/src/filiale/jinhong/android/CurrentCreate.vue +66 -22
  245. package/src/filiale/jinhong/pc/CheckBookList.vue +10 -7
  246. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  247. package/src/filiale/jinhong/pc/checkUserList.vue +30 -6
  248. package/src/filiale/libo/android/PaperFeedback.vue +1579 -0
  249. package/src/filiale/libo/android/PhoneUpUserinfo.vue +1249 -0
  250. package/src/filiale/libo/android/SafecheckOrderV.vue +2302 -0
  251. package/src/filiale/libo/android.js +14 -0
  252. package/src/filiale/libo/pc/NewCheckpaper.vue +1987 -0
  253. package/src/filiale/libo/pc.js +12 -0
  254. package/src/filiale/meihekou/android/CurrentCreate.vue +1 -1
  255. package/src/filiale/meihekou/android/MeterReading.vue +9 -5
  256. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +3 -2
  257. package/src/filiale/meihekou/android/SafecheckDevices.vue +5 -5
  258. package/src/filiale/meihekou/android/SafecheckOrderV.vue +324 -311
  259. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -2
  260. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -0
  261. package/src/filiale/meihekou/pc/PaperList.vue +1205 -0
  262. package/src/filiale/meihekou/pc.js +2 -0
  263. package/src/filiale/minsheng/android/SwitchValve.vue +1 -1
  264. package/src/filiale/qianneng/android/SwitchValve.vue +1 -1
  265. package/src/filiale/qingjian/pc/checkUserList.vue +35 -0
  266. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  267. package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1259 -0
  268. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2341 -0
  269. package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +776 -0
  270. package/src/filiale/taiyuan/android.js +13 -0
  271. package/src/filiale/taiyuan/pc/DefectDeal.vue +1034 -0
  272. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -0
  273. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -0
  274. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -0
  275. package/src/filiale/taiyuan/pc.js +15 -0
  276. package/src/filiale/tongchuan/android/SwitchValve.vue +1 -1
  277. package/src/filiale/xinkang/android/AddPlanItem.vue +244 -196
  278. package/src/filiale/xinkang/android/AndroidDefectDeal.vue +1 -0
  279. package/src/filiale/xinkang/android/SafecheckDevices.vue +52 -22
  280. package/src/filiale/xinkang/android/SafecheckOrderV.vue +24 -80
  281. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +1 -1
  282. package/src/filiale/xinkang/pc/CheckSearchUser.vue +12 -12
  283. package/src/filiale/xinkang/pc/NewCheckpaper.vue +20 -44
  284. package/src/filiale/xinkang/pc/PaperList.vue +2 -9
  285. package/src/filiale/yuansheng/android/SwitchValve.vue +1 -1
  286. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1030 -1030
  287. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +4 -4
  288. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -0
  289. package/src/filiale/yunchengminsheng/pc.js +1 -0
  290. package/src/main.js +33 -33
  291. package/src/plugins/LoadData.js +10 -10
  292. package/src/plugins/LoadParams.js +24 -24
  293. package/src/safecheck-android.js +4 -0
  294. package/src/safecheck.js +6 -0
  295. package/src/stores/wxconfig.js +10 -10
  296. package/src/utils/getNowDate.js +33 -33
  297. package/test/e2e/custom-assertions/elementCount.js +26 -26
  298. package/test/e2e/nightwatch.conf.js +40 -40
  299. package/test/e2e/runner.js +30 -30
  300. package/test/e2e/specs/test.js +13 -13
  301. package/test/unit/.eslintrc +5 -5
  302. package/test/unit/TestUtil.js +62 -62
  303. package/test/unit/context.html +20 -20
  304. package/test/unit/index.js +13 -13
@@ -1,337 +1,337 @@
1
- <template>
2
- <div class="auto select-overspread">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="form-group col-sm-3">
8
- <label class="font_normal_body">客户编号</label>
9
- <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
- placeholder='客户编号'
11
- condition="f_userinfo_code = '{}'" @keyup.enter="search()">
12
- </div>
13
- <div class="form-group col-sm-2 button-range">
14
- <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
15
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.createAndSend()">下发</button>
16
- </div>
17
- <div class="form-group col-sm-2 button-range">
18
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.delOfCheckBook()" v-el:cba>移出</button>
19
-
20
- </div>
21
- </div>
22
- </div>
23
- </criteria>
24
- <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
25
- <template partial='head'>
26
- <tr>
27
- <th>
28
- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
29
- </th>
30
- <th>
31
- <nobr>序号</nobr>
32
- </th>
33
- <th>
34
- <nobr>用户编号</nobr>
35
- </th>
36
- <th>
37
- <nobr>用户姓名</nobr>
38
- </th>
39
- <th>
40
- <nobr>用户电话</nobr>
41
- </th>
42
- <th>
43
- <nobr>用户地址</nobr>
44
- </th>
45
-
46
- </tr>
47
- </template>
48
- <template partial='body'>
49
- <tr>
50
- <td style="text-align: center">
51
- <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
52
- @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
53
- </nobr>
54
- </td>
55
- <td style="text-align:center;">{{ $index + 1 }}</td>
56
- <td style="text-align:center">{{ row.f_userinfo_code }}</td>
57
- <td style="text-align:center">{{ row.f_user_name }}</td>
58
- <td style="text-align:center">{{ row.f_user_phone }}</td>
59
- <td style="text-align:center">{{ row.f_address }}</td>
60
- </tr>
61
- </template>
62
- <template partial='foot'></template>
63
- </data-grid>
64
- </criteria-paged>
65
- <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
66
- <div slot="modal-header" class="modal-header">
67
- <h4 class="modal-title">
68
- 新建计划
69
- </h4>
70
- </div>
71
- <div slot="modal-body" class="modal-body">
72
- <div class="row">
73
- <div class="form-group col-sm-4" >
74
- <label class="font_normal_body">计划名称:</label>
75
- <input type="text" class="input_search" v-model="createPlan.f_plan_name"
76
- style="width: 60%" placeholder="请选择" />
77
- </div>
78
- <div class="form-group col-sm-4" >
79
- <label class="font_normal_body">计划年份:</label>
80
- <v-select
81
- class="select select_list"
82
- :value.sync="createPlan.f_plan_year"
83
- v-model="createPlan.f_plan_year"
84
- :search="false"
85
- :options='yearList'
86
- close-on-select
87
- value-single
88
- >
89
- </v-select>
90
- </div>
91
- <div class="form-group col-sm-4" >
92
- <label class="font_normal_body">计划月份:</label>
93
- <v-select
94
- class="select select_list"
95
- :value.sync="createPlan.f_plan_month"
96
- v-model="createPlan.f_plan_month"
97
- :search="false"
98
- :options='monthList'
99
- close-on-select
100
- value-single>
101
- </v-select>
102
- </div>
103
- <div class="form-group col-sm-4" >
104
- <label class="font_normal_body">是否共享:</label>
105
- <v-select
106
- class="select select_list"
107
- :search="false"
108
- :value.sync="createPlan.isShare"
109
- v-model="createPlan.isShare"
110
- :options='isAndNot'
111
- placeholder='请选择'
112
- close-on-select
113
- value-single
114
- >
115
- </v-select>
116
- </div>
117
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
118
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
119
- <v-select
120
- class="select select_list"
121
- :value.sync="createPlan.checker"
122
- v-model="createPlan.checker"
123
- :options='checker'
124
- close-on-select
125
- value-single
126
- >
127
- </v-select>
128
- </div>
129
- <div class="form-group col-sm-4" >
130
- <label class="font_normal_body">计划开始:</label>
131
- <datepicker
132
- placeholder='请选择'
133
- style="width:60%"
134
- :disabled-days-of-week="[]"
135
- :format="'yyyy-MM-dd'"
136
- :show-rest-button="reset"
137
- :value.sync="createPlan.f_start_time"
138
- v-model="createPlan.f_start_time">
139
- </datepicker>
140
- </div>
141
- <div class="form-group col-sm-4" >
142
- <label class="font_normal_body">计划结束:</label>
143
- <datepicker
144
- placeholder='请选择'
145
- style="width:60%"
146
- :disabled-days-of-week="[]"
147
- :format="'yyyy-MM-dd'"
148
- :show-rest-button="reset"
149
- :value.sync="createPlan.f_end_time"
150
- v-model="createPlan.f_end_time">
151
- </datepicker>
152
- </div>
153
- </div>
154
- </div>
155
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
156
- <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
157
- <button class="button_search" @click="cancelCreatePlan">取消</button>
158
- </div>
159
- </modal>
160
- </div>
161
- </template>
162
-
163
- <script>
164
- import {HttpResetClass, PagedList} from 'vue-client'
165
- import Vue from 'vue'
166
- import * as Util from '../../components/Util'
167
-
168
- export default {
169
- title: '安检记录列表',
170
- props: ['row'],
171
- data() {
172
- return {
173
- createPlan:{
174
- f_safecheck_type:"年度普检",
175
- checker:{},
176
- isShare:"否",
177
- f_usertype:"",
178
- f_issued:'是',
179
- f_end_time:Util.toStandardDateString().replace(new Date().getFullYear().toString(),(new Date().getFullYear()+1).toString()),
180
- f_start_time:Util.toStandardDateString(),
181
- f_plan_month:(new Date().getMonth()+1).toString(),
182
- f_plan_year:new Date().getFullYear().toString(),
183
- f_plan_name:""
184
- },
185
- checker:[],
186
- isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
187
- yearList:[{label:"2020",value:"2020"},{label:"2021",value:"2021"},{label:"2022",value:"2022"},{label:"2023",value:"2023"},{label:"2024",value:"2024"},{label:"2025",value:"2025"},{label:"2026",value:"2026"},{label:"2027",value:"2027"},{label:"2028",value:"2028"},{label:"2029",value:"2029"},{label:"2030",value:"2030"}],
188
- monthList:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"},{label:"9",value:"9"},{label:"10",value:"10"},{label:"11",value:"11"},{label:"12",value:"12"}],
189
- rowdata: this.row,
190
- bookAll: false,
191
- bookList:[],
192
- showCreatePlan: false,
193
- model: new PagedList('api/af-safecheck/sql/safe_singleTable_OrderBy', 50,
194
- {
195
- items: '"ua.id,ua.f_address,tui.f_userinfo_code,tui.f_user_name,tui.f_user_phone,tui.f_userinfo_id"',
196
- tablename: '"t_user_address ua left join t_userinfo tui on ua.f_userinfo_id = tui.f_userinfo_id"',
197
- orderitem: '"ua.id desc"'
198
- }
199
- )
200
- }
201
- },
202
- ready() {
203
- if (this.row) {
204
- let condition = ''
205
- condition = `ua.f_check_book_id =${this.row.id}`
206
- this.model.search(condition)
207
- //只显示用户页面
208
- this.row.f_check_book_type = '用户'
209
- }
210
- this.searchChecker()
211
- },
212
- watch: {
213
- 'row'(val) {
214
- if (val) {
215
- this.rowdata = val
216
- let condition = ''
217
- condition = `ua.f_check_book_id =${val.id} `
218
- this.model.search(condition)
219
- }
220
- }
221
- },
222
- methods: {
223
- async searchChecker(){
224
- console.log(this.$login.f.orgid)
225
- let res=await new HttpResetClass().load('POST', '/rs/search', {
226
- data:{
227
- source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
228
- userid: this.$login.f.id
229
- }
230
- }, {resolveMsg: null, rejectMsg: null})
231
- res.data.forEach((resRow) => {
232
- this.checker.push({label:resRow.name,value:resRow})
233
- })
234
- },
235
- async addNewPlan(){
236
- this.createPlan.f_plan_type='预约计划'
237
- this.createPlan.f_subcompany=this.$login.f.orgstr
238
- this.createPlan.f_filialeid=this.$login.f.orgid
239
- this.createPlan.f_create_operator=this.$login.f.name
240
- this.createPlan.f_create_time=Util.toStandardTimeString()
241
- this.createPlan.f_book_id = this.row.id
242
- console.log(this.createPlan)
243
- const addPlan = {
244
- f_operator:this.$login.f.name,
245
- f_filialeid:this.$login.f.orgid,
246
- f_subscribe_date:'',
247
- condition:this.model.condition,
248
- switchCheckAll:true,
249
- checkAll:this.bookAll,
250
- param:this.bookList,
251
- columnName: "ua.id"
252
- }
253
- if(this.createPlan.isShare=="是"){
254
- this.createPlan.f_checker_id=null
255
- this.createPlan.f_checker=null
256
- }else{
257
- this.createPlan.f_checker_id=this.createPlan.checker.id
258
- this.createPlan.f_checker=this.createPlan.checker.name
259
- }
260
- new HttpResetClass().load("POST",'/api/af-safecheck/logic/createAndAddPlan',{createPlan:this.createPlan,addPlan}).then(res=>{
261
- if(res.data.code==200){
262
- this.$showMessage("计划下发成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
263
- this.cancelCreatePlan()
264
- }else{
265
- this.$showMessage("计划下发失败!")
266
- }
267
- })
268
- },
269
- createAndSend(){
270
- if(this.model.rows.length==0){
271
- Vue.showMessage("未检测到列表中有用户!")
272
- return
273
- }
274
- if(!this.bookAll && this.bookList.length==0){
275
- Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
276
- return
277
- }
278
- this.showCreatePlan = true
279
- },
280
- cancelCreatePlan(){
281
- this.showCreatePlan = false
282
- },
283
- selfSearch(args) {
284
- if (this.rowdata.id) {
285
- args.condition += `and ua.f_check_book_id =${this.rowdata.id}`
286
- this.model.search(args.condition)
287
- } else {
288
- this.$showMessage('请选择片区')
289
- }
290
- },
291
- checkModel (row) {
292
- if (this.bookAll) {
293
- return true
294
- } else {
295
- return this.bookList.findIndex(res => res === row.id) !== -1;
296
- }
297
- },
298
- checkChange (row, e) {
299
- if (e.target.checked) {
300
- this.bookList.push(row.id)
301
- } else {
302
- this.bookList.splice(this.bookList.findIndex(res => res === row.id), 1)
303
- }
304
- },
305
- delOfCheckBook(){
306
- try {
307
- let condata = {
308
- condition :null,
309
- bookAll:'false'
310
- }
311
- if (this.bookAll){
312
- condata.bookAll = 'true'
313
- condata.condition = this.row.id
314
- }else if (this.bookList.length > 0){
315
- let codes = this.bookList.map( item => { return `'${item}'` } ).join()
316
- condata.condition = `(${codes})`
317
- }
318
- this.$showMessage('确认移出安检册', ['confirm', 'cancel']).then((res) => {
319
- if (res === 'confirm') {
320
- let http = new HttpResetClass()
321
- http.load('POST', 'api/af-safecheck/logic/CheckBookUserRemove', {data:condata},
322
- {resolveMsg: null, rejectMsg: '移出安检册失败'}).then(resp=>{
323
- this.$showMessage('移出成功')
324
- this.$refs.paged.$refs.criteria.search()
325
- }).catch(error=>{
326
- this.$showMessage('移出失败',error)
327
-
328
- })
329
- }
330
- })
331
- }catch (e) {
332
- this.$showMessage('移出失败',e)
333
- }
334
- }
335
- }
336
- }
337
- </script>
1
+ <template>
2
+ <div class="auto select-overspread">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="form-group col-sm-3">
8
+ <label class="font_normal_body">客户编号</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
+ placeholder='客户编号'
11
+ condition="f_userinfo_code = '{}'" @keyup.enter="search()">
12
+ </div>
13
+ <div class="form-group col-sm-2 button-range">
14
+ <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
15
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.createAndSend()">下发</button>
16
+ </div>
17
+ <div class="form-group col-sm-2 button-range">
18
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.delOfCheckBook()" v-el:cba>移出</button>
19
+
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </criteria>
24
+ <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
25
+ <template partial='head'>
26
+ <tr>
27
+ <th>
28
+ <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
29
+ </th>
30
+ <th>
31
+ <nobr>序号</nobr>
32
+ </th>
33
+ <th>
34
+ <nobr>用户编号</nobr>
35
+ </th>
36
+ <th>
37
+ <nobr>用户姓名</nobr>
38
+ </th>
39
+ <th>
40
+ <nobr>用户电话</nobr>
41
+ </th>
42
+ <th>
43
+ <nobr>用户地址</nobr>
44
+ </th>
45
+
46
+ </tr>
47
+ </template>
48
+ <template partial='body'>
49
+ <tr>
50
+ <td style="text-align: center">
51
+ <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
52
+ @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
53
+ </nobr>
54
+ </td>
55
+ <td style="text-align:center;">{{ $index + 1 }}</td>
56
+ <td style="text-align:center">{{ row.f_userinfo_code }}</td>
57
+ <td style="text-align:center">{{ row.f_user_name }}</td>
58
+ <td style="text-align:center">{{ row.f_user_phone }}</td>
59
+ <td style="text-align:center">{{ row.f_address }}</td>
60
+ </tr>
61
+ </template>
62
+ <template partial='foot'></template>
63
+ </data-grid>
64
+ </criteria-paged>
65
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
66
+ <div slot="modal-header" class="modal-header">
67
+ <h4 class="modal-title">
68
+ 新建计划
69
+ </h4>
70
+ </div>
71
+ <div slot="modal-body" class="modal-body">
72
+ <div class="row">
73
+ <div class="form-group col-sm-4" >
74
+ <label class="font_normal_body">计划名称:</label>
75
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name"
76
+ style="width: 60%" placeholder="请选择" />
77
+ </div>
78
+ <div class="form-group col-sm-4" >
79
+ <label class="font_normal_body">计划年份:</label>
80
+ <v-select
81
+ class="select select_list"
82
+ :value.sync="createPlan.f_plan_year"
83
+ v-model="createPlan.f_plan_year"
84
+ :search="false"
85
+ :options='yearList'
86
+ close-on-select
87
+ value-single
88
+ >
89
+ </v-select>
90
+ </div>
91
+ <div class="form-group col-sm-4" >
92
+ <label class="font_normal_body">计划月份:</label>
93
+ <v-select
94
+ class="select select_list"
95
+ :value.sync="createPlan.f_plan_month"
96
+ v-model="createPlan.f_plan_month"
97
+ :search="false"
98
+ :options='monthList'
99
+ close-on-select
100
+ value-single>
101
+ </v-select>
102
+ </div>
103
+ <div class="form-group col-sm-4" >
104
+ <label class="font_normal_body">是否共享:</label>
105
+ <v-select
106
+ class="select select_list"
107
+ :search="false"
108
+ :value.sync="createPlan.isShare"
109
+ v-model="createPlan.isShare"
110
+ :options='isAndNot'
111
+ placeholder='请选择'
112
+ close-on-select
113
+ value-single
114
+ >
115
+ </v-select>
116
+ </div>
117
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
118
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
119
+ <v-select
120
+ class="select select_list"
121
+ :value.sync="createPlan.checker"
122
+ v-model="createPlan.checker"
123
+ :options='checker'
124
+ close-on-select
125
+ value-single
126
+ >
127
+ </v-select>
128
+ </div>
129
+ <div class="form-group col-sm-4" >
130
+ <label class="font_normal_body">计划开始:</label>
131
+ <datepicker
132
+ placeholder='请选择'
133
+ style="width:60%"
134
+ :disabled-days-of-week="[]"
135
+ :format="'yyyy-MM-dd'"
136
+ :show-rest-button="reset"
137
+ :value.sync="createPlan.f_start_time"
138
+ v-model="createPlan.f_start_time">
139
+ </datepicker>
140
+ </div>
141
+ <div class="form-group col-sm-4" >
142
+ <label class="font_normal_body">计划结束:</label>
143
+ <datepicker
144
+ placeholder='请选择'
145
+ style="width:60%"
146
+ :disabled-days-of-week="[]"
147
+ :format="'yyyy-MM-dd'"
148
+ :show-rest-button="reset"
149
+ :value.sync="createPlan.f_end_time"
150
+ v-model="createPlan.f_end_time">
151
+ </datepicker>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
156
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
157
+ <button class="button_search" @click="cancelCreatePlan">取消</button>
158
+ </div>
159
+ </modal>
160
+ </div>
161
+ </template>
162
+
163
+ <script>
164
+ import {HttpResetClass, PagedList} from 'vue-client'
165
+ import Vue from 'vue'
166
+ import * as Util from '../../components/Util'
167
+
168
+ export default {
169
+ title: '安检记录列表',
170
+ props: ['row'],
171
+ data() {
172
+ return {
173
+ createPlan:{
174
+ f_safecheck_type:"年度普检",
175
+ checker:{},
176
+ isShare:"否",
177
+ f_usertype:"",
178
+ f_issued:'是',
179
+ f_end_time:Util.toStandardDateString().replace(new Date().getFullYear().toString(),(new Date().getFullYear()+1).toString()),
180
+ f_start_time:Util.toStandardDateString(),
181
+ f_plan_month:(new Date().getMonth()+1).toString(),
182
+ f_plan_year:new Date().getFullYear().toString(),
183
+ f_plan_name:""
184
+ },
185
+ checker:[],
186
+ isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
187
+ yearList:[{label:"2020",value:"2020"},{label:"2021",value:"2021"},{label:"2022",value:"2022"},{label:"2023",value:"2023"},{label:"2024",value:"2024"},{label:"2025",value:"2025"},{label:"2026",value:"2026"},{label:"2027",value:"2027"},{label:"2028",value:"2028"},{label:"2029",value:"2029"},{label:"2030",value:"2030"}],
188
+ monthList:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"},{label:"9",value:"9"},{label:"10",value:"10"},{label:"11",value:"11"},{label:"12",value:"12"}],
189
+ rowdata: this.row,
190
+ bookAll: false,
191
+ bookList:[],
192
+ showCreatePlan: false,
193
+ model: new PagedList('api/af-safecheck/sql/safe_singleTable_OrderBy', 50,
194
+ {
195
+ items: '"ua.id,ua.f_address,tui.f_userinfo_code,tui.f_user_name,tui.f_user_phone,tui.f_userinfo_id"',
196
+ tablename: '"t_user_address ua left join t_userinfo tui on ua.f_userinfo_id = tui.f_userinfo_id"',
197
+ orderitem: '"ua.id desc"'
198
+ }
199
+ )
200
+ }
201
+ },
202
+ ready() {
203
+ if (this.row) {
204
+ let condition = ''
205
+ condition = `ua.f_check_book_id =${this.row.id}`
206
+ this.model.search(condition)
207
+ //只显示用户页面
208
+ this.row.f_check_book_type = '用户'
209
+ }
210
+ this.searchChecker()
211
+ },
212
+ watch: {
213
+ 'row'(val) {
214
+ if (val) {
215
+ this.rowdata = val
216
+ let condition = ''
217
+ condition = `ua.f_check_book_id =${val.id} `
218
+ this.model.search(condition)
219
+ }
220
+ }
221
+ },
222
+ methods: {
223
+ async searchChecker(){
224
+ console.log(this.$login.f.orgid)
225
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
226
+ data:{
227
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
228
+ userid: this.$login.f.id
229
+ }
230
+ }, {resolveMsg: null, rejectMsg: null})
231
+ res.data.forEach((resRow) => {
232
+ this.checker.push({label:resRow.name,value:resRow})
233
+ })
234
+ },
235
+ async addNewPlan(){
236
+ this.createPlan.f_plan_type='预约计划'
237
+ this.createPlan.f_subcompany=this.$login.f.orgstr
238
+ this.createPlan.f_filialeid=this.$login.f.orgid
239
+ this.createPlan.f_create_operator=this.$login.f.name
240
+ this.createPlan.f_create_time=Util.toStandardTimeString()
241
+ this.createPlan.f_book_id = this.row.id
242
+ console.log(this.createPlan)
243
+ const addPlan = {
244
+ f_operator:this.$login.f.name,
245
+ f_filialeid:this.$login.f.orgid,
246
+ f_subscribe_date:'',
247
+ condition:this.model.condition,
248
+ switchCheckAll:true,
249
+ checkAll:this.bookAll,
250
+ param:this.bookList,
251
+ columnName: "ua.id"
252
+ }
253
+ if(this.createPlan.isShare=="是"){
254
+ this.createPlan.f_checker_id=null
255
+ this.createPlan.f_checker=null
256
+ }else{
257
+ this.createPlan.f_checker_id=this.createPlan.checker.id
258
+ this.createPlan.f_checker=this.createPlan.checker.name
259
+ }
260
+ new HttpResetClass().load("POST",'/api/af-safecheck/logic/createAndAddPlan',{createPlan:this.createPlan,addPlan}).then(res=>{
261
+ if(res.data.code==200){
262
+ this.$showMessage("计划下发成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
263
+ this.cancelCreatePlan()
264
+ }else{
265
+ this.$showMessage("计划下发失败!")
266
+ }
267
+ })
268
+ },
269
+ createAndSend(){
270
+ if(this.model.rows.length==0){
271
+ Vue.showMessage("未检测到列表中有用户!")
272
+ return
273
+ }
274
+ if(!this.bookAll && this.bookList.length==0){
275
+ Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
276
+ return
277
+ }
278
+ this.showCreatePlan = true
279
+ },
280
+ cancelCreatePlan(){
281
+ this.showCreatePlan = false
282
+ },
283
+ selfSearch(args) {
284
+ if (this.rowdata.id) {
285
+ args.condition += `and ua.f_check_book_id =${this.rowdata.id}`
286
+ this.model.search(args.condition)
287
+ } else {
288
+ this.$showMessage('请选择片区')
289
+ }
290
+ },
291
+ checkModel (row) {
292
+ if (this.bookAll) {
293
+ return true
294
+ } else {
295
+ return this.bookList.findIndex(res => res === row.id) !== -1;
296
+ }
297
+ },
298
+ checkChange (row, e) {
299
+ if (e.target.checked) {
300
+ this.bookList.push(row.id)
301
+ } else {
302
+ this.bookList.splice(this.bookList.findIndex(res => res === row.id), 1)
303
+ }
304
+ },
305
+ delOfCheckBook(){
306
+ try {
307
+ let condata = {
308
+ condition :null,
309
+ bookAll:'false'
310
+ }
311
+ if (this.bookAll){
312
+ condata.bookAll = 'true'
313
+ condata.condition = this.row.id
314
+ }else if (this.bookList.length > 0){
315
+ let codes = this.bookList.map( item => { return `'${item}'` } ).join()
316
+ condata.condition = `(${codes})`
317
+ }
318
+ this.$showMessage('确认移出安检册', ['confirm', 'cancel']).then((res) => {
319
+ if (res === 'confirm') {
320
+ let http = new HttpResetClass()
321
+ http.load('POST', 'api/af-safecheck/logic/CheckBookUserRemove', {data:condata},
322
+ {resolveMsg: null, rejectMsg: '移出安检册失败'}).then(resp=>{
323
+ this.$showMessage('移出成功')
324
+ this.$refs.paged.$refs.criteria.search()
325
+ }).catch(error=>{
326
+ this.$showMessage('移出失败',error)
327
+
328
+ })
329
+ }
330
+ })
331
+ }catch (e) {
332
+ this.$showMessage('移出失败',e)
333
+ }
334
+ }
335
+ }
336
+ }
337
+ </script>