safecheck-client 4.0.1-1 → 4.0.1-11

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 (275) 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 +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/FileUpload.vue +696 -696
  188. package/src/components/Hello.vue +39 -39
  189. package/src/components/LeftTree.vue +27 -27
  190. package/src/components/NewDefectList/DefectListNew.vue +3 -0
  191. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  192. package/src/components/Util/SafecheckUpload.vue +281 -281
  193. package/src/components/android/AttendanceTally.vue +116 -116
  194. package/src/components/android/Blank.vue +10 -10
  195. package/src/components/android/CheckUnplanPage.vue +56 -56
  196. package/src/components/android/Checker.vue +12 -12
  197. package/src/components/android/CheckerAnnual.vue +81 -81
  198. package/src/components/android/CheckerAvarta.vue +82 -82
  199. package/src/components/android/EquipmentInspection.vue +348 -348
  200. package/src/components/android/FootprintMap.vue +120 -120
  201. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  202. package/src/components/android/MasterMain.vue +77 -77
  203. package/src/components/android/Menu.vue +132 -132
  204. package/src/components/android/PaperAlarm.vue +85 -85
  205. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  206. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  207. package/src/components/android/PlumberAnnual.vue +83 -83
  208. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  209. package/src/components/android/PlumberMonthly.vue +84 -84
  210. package/src/components/android/PostMap.vue +83 -83
  211. package/src/components/android/QueryCheckHistory.vue +122 -122
  212. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  213. package/src/components/android/RepairMain.vue +60 -60
  214. package/src/components/android/Repairman.vue +12 -12
  215. package/src/components/android/SafeRightTree.vue +4 -3
  216. package/src/components/android/SafecheckDevices.vue +1340 -1340
  217. package/src/components/android/StationMaster.vue +12 -12
  218. package/src/components/android/SwitchValve.vue +323 -323
  219. package/src/components/defects/DefectModal.vue +101 -101
  220. package/src/components/defects/DevicesAndItem.vue +39 -39
  221. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  222. package/src/components/notice/NoticeForm.vue +100 -100
  223. package/src/components/notice/NoticeIssue.vue +20 -20
  224. package/src/components/paper/PaperList.vue +797 -797
  225. package/src/components/paper/PicViewer.vue +18 -18
  226. package/src/components/pc/CheckBook.vue +303 -303
  227. package/src/components/pc/CheckBookArea.vue +146 -146
  228. package/src/components/pc/CheckBookCompany.vue +144 -144
  229. package/src/components/pc/CheckBookDetails.vue +161 -161
  230. package/src/components/pc/CheckBookEntry.vue +60 -60
  231. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  232. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  233. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  234. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  235. package/src/components/pc/CheckBookUser.vue +337 -333
  236. package/src/components/pc/PaperDefectMain.vue +880 -880
  237. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  238. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  239. package/src/components/phonestate/PostMap.vue +82 -82
  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/pc/CheckBookList.vue +2 -2
  245. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  246. package/src/filiale/jinhong/pc/checkUserList.vue +1 -2
  247. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  248. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  249. package/src/filiale/meihekou/android/CurrentCreate.vue +1038 -1038
  250. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -1542
  251. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -1340
  252. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2431 -2421
  253. package/src/filiale/meihekou/android.js +22 -22
  254. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2027 -2027
  255. package/src/filiale/minsheng/android/SwitchValve.vue +497 -497
  256. package/src/filiale/qianneng/android/SwitchValve.vue +370 -370
  257. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1 -0
  258. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  259. package/src/filiale/taiyuan/android.js +10 -0
  260. package/src/filiale/tongchuan/android/SwitchValve.vue +284 -284
  261. package/src/filiale/yuansheng/android/SwitchValve.vue +322 -322
  262. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2 -0
  263. package/src/main.js +33 -33
  264. package/src/plugins/LoadData.js +10 -10
  265. package/src/plugins/LoadParams.js +24 -24
  266. package/src/stores/wxconfig.js +10 -10
  267. package/src/utils/getNowDate.js +33 -33
  268. package/test/e2e/custom-assertions/elementCount.js +26 -26
  269. package/test/e2e/nightwatch.conf.js +40 -40
  270. package/test/e2e/runner.js +30 -30
  271. package/test/e2e/specs/test.js +13 -13
  272. package/test/unit/.eslintrc +5 -5
  273. package/test/unit/TestUtil.js +62 -62
  274. package/test/unit/context.html +20 -20
  275. package/test/unit/index.js +13 -13
@@ -1,333 +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 upAddress = `update t_user_address set f_check_book_id = null where 1 = 2 `
308
- if (this.bookAll){
309
- upAddress = `update t_user_address set f_check_book_id = null where f_check_book_id = '${this.row.id}'`
310
- }else if (this.bookList.length > 0){
311
- let codes = this.bookList.map( item => { return `'${item}'` } ).join()
312
- upAddress = `update t_user_address set f_check_book_id = null where id in (${codes})`
313
- }
314
- this.$showMessage('确认移出安检册', ['confirm', 'cancel']).then((res) => {
315
- if (res === 'confirm') {
316
- let http = new HttpResetClass()
317
- http.load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: upAddress}},
318
- {resolveMsg: null, rejectMsg: '移出安检册失败'}).then(resp=>{
319
- this.$showMessage('移出成功')
320
- this.$refs.paged.$refs.criteria.search()
321
- }).catch(error=>{
322
- this.$showMessage('移出失败',error)
323
-
324
- })
325
- }
326
- })
327
- }catch (e) {
328
- this.$showMessage('移出失败',e)
329
- }
330
- }
331
- }
332
- }
333
- </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>