safecheck-client 3.0.34-79 → 3.0.34-81

Sign up to get free protection for your applications and to get access to all the features.
Files changed (267) 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/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/androidTest.js +20 -20
  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/forms.less +626 -626
  134. package/src/bootstrap/less/grid.less +84 -84
  135. package/src/bootstrap/less/input-groups.less +167 -167
  136. package/src/bootstrap/less/jumbotron.less +52 -52
  137. package/src/bootstrap/less/labels.less +64 -64
  138. package/src/bootstrap/less/list-group.less +141 -141
  139. package/src/bootstrap/less/media.less +66 -66
  140. package/src/bootstrap/less/mixins/alerts.less +14 -14
  141. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  142. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  143. package/src/bootstrap/less/mixins/buttons.less +69 -69
  144. package/src/bootstrap/less/mixins/center-block.less +7 -7
  145. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  146. package/src/bootstrap/less/mixins/forms.less +90 -90
  147. package/src/bootstrap/less/mixins/gradients.less +59 -59
  148. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  149. package/src/bootstrap/less/mixins/grid.less +122 -122
  150. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  151. package/src/bootstrap/less/mixins/image.less +33 -33
  152. package/src/bootstrap/less/mixins/labels.less +12 -12
  153. package/src/bootstrap/less/mixins/list-group.less +30 -30
  154. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  155. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  156. package/src/bootstrap/less/mixins/opacity.less +8 -8
  157. package/src/bootstrap/less/mixins/pagination.less +24 -24
  158. package/src/bootstrap/less/mixins/panels.less +24 -24
  159. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  160. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  161. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  162. package/src/bootstrap/less/mixins/resize.less +6 -6
  163. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  164. package/src/bootstrap/less/mixins/size.less +10 -10
  165. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  166. package/src/bootstrap/less/mixins/table-row.less +44 -44
  167. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  168. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  169. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  170. package/src/bootstrap/less/mixins.less +40 -40
  171. package/src/bootstrap/less/modals.less +151 -151
  172. package/src/bootstrap/less/navbar.less +660 -660
  173. package/src/bootstrap/less/normalize.less +424 -424
  174. package/src/bootstrap/less/pager.less +76 -76
  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 +617 -617
  193. package/src/components/android/AddressList.vue +61 -61
  194. package/src/components/android/AttendanceTally.vue +116 -116
  195. package/src/components/android/Blank.vue +10 -10
  196. package/src/components/android/CheckUnplanPage.vue +56 -56
  197. package/src/components/android/Checker.vue +12 -12
  198. package/src/components/android/CheckerAnnual.vue +81 -81
  199. package/src/components/android/CheckerAvarta.vue +82 -82
  200. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  201. package/src/components/android/EquipmentInspection.vue +348 -348
  202. package/src/components/android/FootprintMap.vue +120 -120
  203. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  204. package/src/components/android/MasterMain.vue +77 -77
  205. package/src/components/android/Menu.vue +132 -132
  206. package/src/components/android/NavBottom.vue +157 -157
  207. package/src/components/android/PaperAlarm.vue +85 -85
  208. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  209. package/src/components/android/PlumberAnnual.vue +83 -83
  210. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  211. package/src/components/android/PlumberMonthly.vue +84 -84
  212. package/src/components/android/PostMap.vue +83 -83
  213. package/src/components/android/QueryCheckHistory.vue +122 -122
  214. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  215. package/src/components/android/RepairMain.vue +60 -60
  216. package/src/components/android/Repairman.vue +12 -12
  217. package/src/components/android/SafecheckOrderV.vue +2805 -2805
  218. package/src/components/android/StationMaster.vue +12 -12
  219. package/src/components/android/examples/SafeListExamples.vue +9 -9
  220. package/src/components/android/examples/ViewDetailsExamples.vue +0 -16
  221. package/src/components/defects/DefectModal.vue +101 -101
  222. package/src/components/defects/DevicesAndItem.vue +39 -39
  223. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  224. package/src/components/notice/NoticeForm.vue +100 -100
  225. package/src/components/notice/NoticeIssue.vue +20 -20
  226. package/src/components/paper/PicViewer.vue +18 -18
  227. package/src/components/pc/SafeVisitInfo.vue +261 -261
  228. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  229. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  230. package/src/components/phonestate/PostMap.vue +82 -82
  231. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  232. package/src/components/rongcheng/CheckSearchUser.vue +936 -936
  233. package/src/components/userfile/MeterFile.vue +145 -145
  234. package/src/components/userfile/MeterModify.vue +46 -46
  235. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  236. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  237. package/src/filiale/shanxian/android/SafecheckOrderV.vue +2979 -2979
  238. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  239. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
  240. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  241. package/src/filiale/siyang/android.js +14 -13
  242. package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
  243. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -667
  244. package/src/filiale/siyang/pc.js +1 -0
  245. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  246. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
  247. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  248. package/src/filiale/weinan/pc/checkUserList.vue +712 -712
  249. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1336 -1332
  250. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +21 -1
  251. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +659 -659
  252. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +1046 -1046
  253. package/src/main.js +33 -33
  254. package/src/plugins/LoadData.js +10 -10
  255. package/src/plugins/LoadParams.js +24 -24
  256. package/src/safecheck-android.js +306 -306
  257. package/src/safecheck.js +898 -898
  258. package/src/stores/wxconfig.js +10 -10
  259. package/src/utils/getNowDate.js +33 -33
  260. package/test/e2e/custom-assertions/elementCount.js +26 -26
  261. package/test/e2e/nightwatch.conf.js +40 -40
  262. package/test/e2e/runner.js +30 -30
  263. package/test/e2e/specs/test.js +13 -13
  264. package/test/unit/.eslintrc +5 -5
  265. package/test/unit/TestUtil.js +62 -62
  266. package/test/unit/context.html +20 -20
  267. package/test/unit/index.js +13 -13
@@ -1,261 +1,261 @@
1
- <template xmlns="http://www.w3.org/1999/html">
2
- <div class="auto select-overspread form-horizontal auto">
3
- <div class="row workOrderInfo" >
4
- <div class="row">
5
- <blockquote class="bg-info">
6
- 回访
7
- </blockquote>
8
- </div>
9
- <div class="row roee">
10
- <div class="col-sm-6 form-group form-input-group" >
11
- <label class="font_normal_body" style="width: 25%">回&ensp;访&ensp;员</label>
12
- <input type="text" class="form-control" v-model="model.f_visitman" placeholder='回访员' >
13
- </div>
14
- <div class="col-sm-6 form-group form-input-group" >
15
- <label class="font_normal_body" style="width: 25%">回访时间</label>
16
- <datepicker placeholder="回访时间"
17
- :value.sync="model.f_visitdate"
18
- :format="'yyyy-MM-dd HH:mm:ss'"
19
- ></datepicker>
20
- </div>
21
- <!-- <div class="col-sm-6 form-group form-input-group">-->
22
- <!-- <label class="font_normal_body" style="width: 25%">质量满意度</label>-->
23
- <!-- <v-select :value.sync="model.f_qualitycore"-->
24
- <!-- :value-single="true"-->
25
- <!-- :options='qualitycase'-->
26
- <!-- placeholder='质量满意情况'-->
27
- <!-- close-on-select>-->
28
- <!-- </v-select>-->
29
- <!-- </div>-->
30
- <!-- <div class="col-sm-6 form-group form-input-group">-->
31
- <!-- <label class=" font_normal_body" style="width: 25%">服务满意度</label>-->
32
- <!-- <v-select :value.sync="model.f_servicescore"-->
33
- <!-- v-model="model.f_servicescore"-->
34
- <!-- :value-single="true"-->
35
- <!-- :options='servicecase'-->
36
- <!-- placeholder='服务态度满意情况'-->
37
- <!-- close-on-select>-->
38
- <!-- </v-select>-->
39
- <!-- </div>-->
40
- <!-- <div class="col-sm-6 form-group form-input-group">-->
41
- <!-- <label class="font_normal_body" style="width: 25%">联系电话</label>-->
42
- <!-- <input type="text" v-model='model.f_phone' class="form-control"/>-->
43
- <!-- <button class="button_search button_spacing" @click="callout(model.f_phone)">呼出</button>-->
44
- <!-- </div>-->
45
- <div class="col-sm-6 form-group form-input-group">
46
- <label class="font_normal_body" style="width: 25%">地址</label>
47
- <input type="text" :value='row.f_address' class="form-control" disabled/>
48
- </div>
49
- <div class="col-sm-12 form-input-group">
50
- <label class="font_normal_body" style="width: 12.5%">客户意见</label>
51
- <textarea name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea"
52
- style="width: 80%"></textarea>
53
- </div>
54
- <div class="col-sm-12 form-input-group" style="margin-top: 6px">
55
- <label class="font_normal_body" style="width: 12.5%">备注</label>
56
- <textarea name="name" rows="4" v-model="model.f_bz" class="form-control ver-textarea"
57
- style="width: 80%"></textarea>
58
- </div>
59
- <div class="row button-range form-group form-input-group">
60
- <button type="button" name="button"
61
- class="button_search button_spacing" @click="saveVisit">提交</button>
62
- <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
63
- class="button_spacing button_search" @click="clearVisit">取消</button>
64
- </div>
65
- </div>
66
- </div>
67
- <modal :show.sync="showcalloutResult" width="50%" backdrop="false">
68
- <header slot="modal-header" class="modal-header">
69
- <center><h4 class="modal-title ">{{showTitle}}结果</h4></center>
70
- </header>
71
- <article slot="modal-body" class="modal-body" style="height: 100px;padding-top: 15px!important;">
72
- <div v-show="!calloutResult"><label>正在{{ showTitle }},请稍后。。。。。。</label></div>
73
- <div v-show="calloutResult">
74
- <div class="row auto" v-show="calloutResult.area">
75
- <label>真实归属地:</label><span>{{calloutResult.area}}</span>
76
- </div>
77
- <div class="row auto" v-show="calloutResult.calloutNo">
78
- <label>真实呼出号码:</label><span>{{calloutResult.calloutNo}}</span>
79
- </div>
80
- <div class="row auto" v-show="calloutResult.err">
81
- <label>其他信息:</label><span>{{calloutResult.err}}</span>
82
- </div>
83
- </div>
84
- </article>
85
- <footer slot="modal-footer" class="modal-footer">
86
- <button type="button" class="btn btn-success" @click='calloutConfirm()'>确认</button>
87
- </footer>
88
- </modal>
89
- </div>
90
- </template>
91
-
92
- <script>
93
- import { HttpResetClass } from 'vue-client'
94
- import * as Util from '../Util'
95
- import wxcon from '../../stores/wxconfig'
96
- export default {
97
- title: '回访单',
98
- props: {
99
- contextxianshi:null,
100
- row:Object,
101
- phone:'',
102
- idwavfile:'',
103
- outltime:'',
104
- showcalloutResult:false,
105
- calloutResult:null,
106
- showTitle:'呼出',
107
- userip:'000.000.000.000'
108
-
109
- },
110
- data () {
111
- return {
112
-
113
- model:{
114
- f_again_revisit: '是',
115
- f_visitman:'',
116
- f_visitdate:this.getNowFormatDate(),
117
- f_qualitycore:'满意',
118
- f_servicescore:'满意',
119
- f_phone:'',
120
- f_remarks:'',
121
- f_type:'回访',
122
- f_record_sound:'',
123
- f_bz:''
124
- },
125
- idwavfile:'',
126
- loginUser: this.$login.f,
127
- aChannel:0,
128
- aModule:1,
129
- qualitycase: this.$appdata.getParam('质量满意情况'),
130
- servicecase: this.$appdata.getParam('服务态度满意情况')
131
- }
132
- },
133
- methods: {
134
- calloutConfirm(){
135
- this.calloutResult=null
136
- this.showcalloutResult=false
137
- },
138
- //获取当前时间
139
- getNowFormatDate() {
140
- var date = new Date();
141
- var seperator1 = "-";
142
- var seperator2 = ":";
143
- var month = date.getMonth() + 1;
144
- var strDate = date.getDate();
145
- var hour = date.getHours();
146
- var min = date.getMinutes();
147
- var second = date.getSeconds();
148
- if (month >= 1 && month <= 9) {
149
- month = "0" + month;
150
- }
151
- if (strDate >= 0 && strDate <= 9) {
152
- strDate = "0" + strDate;
153
- }
154
- if (hour >= 0 && hour <= 9) {
155
- hour = "0" + hour;
156
- }
157
- if (min >= 0 && min <= 9) {
158
- min = "0" + min;
159
- }
160
- if (second >= 0 && second <= 9) {
161
- second = "0" + second;
162
- }
163
- var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
164
- + " " + hour + seperator2 + min
165
- + seperator2 + second;
166
- return currentdate;
167
- },
168
- // 提交
169
- saveVisit () {
170
- let sql = `update t_devices_items set f_is_visit = '是',f_visitdate='${this.model.f_visitdate}',f_visitman='${this.model.f_visitman}',f_remarks='${this.model.f_remarks}',f_bz='${this.model.f_bz}',f_qualitycore='${this.model.f_qualitycore}',f_servicescore='${this.model.f_servicescore}' where id = '${this.row.f_defect_id}' `
171
- let http = new HttpResetClass()
172
- http.load('POST', 'rs/logic/runSQL', {data: {sql: sql}},
173
- {resolveMsg: null, rejectMsg: null}).then(resp=>{
174
- this.$showMessage('提交完成')
175
- this.$emit('visitback','nodo')
176
- }).catch(error=>{
177
- this.$showMessage('提交失败')
178
- })
179
- },
180
- // 取消
181
- clearVisit () {
182
- this.$emit('show-obj',{})
183
- },
184
- callout(telnum){
185
- if(telnum){
186
- let http = new HttpResetClass()
187
- try{
188
- http.load('POST', wxcon.voiceUrl, {
189
- aId: this.$login.f.id,
190
- aChannel: this.aChannel,
191
- aModule: this.aModule,
192
- aBzType:"callout",
193
- bzExtra: telnum,
194
- bzId: telnum,
195
- aName: this.$login.f.name,
196
- RoleId:this.$login.f.rolesnames,
197
- sendTime:Util.toStandardTimeString()
198
- }, {resolveMsg: null, rejectMsg: null}).then((req) => {
199
- this.calloutResult = req.data.calloutResult
200
- if (req.data.desc === '呼出失败') {
201
- this.$showAlert(`呼出${telnum}失败`, 'danger', 0)
202
- }else{
203
- this.showcalloutResult=true
204
- this.showTitle='呼出'
205
- // 返回录音ID 存在回访数据里
206
- this.model.f_record_sound = req.data.RecordsID
207
- }
208
- })
209
- }catch(e){
210
- this.$showAlert(`${e.data},呼出失败`, 'danger', 0)
211
- this.callContent = '呼出失败'
212
- }
213
- }else{
214
- this.$showAlert(`无电话号码`, 'danger', 0)
215
- this.callContent = '呼出失败'
216
- }
217
- },
218
- },
219
- watch: {
220
- 'phone'(val){
221
- this.model.f_phone = val
222
- }
223
- },
224
- ready(){
225
- let sql = 'tel_singleTable_OrderBy'
226
- let condition = {
227
- items: 'tongdao,mokuai',
228
- tablename: 'T_IPTONGDAO',
229
- condition: `loginip = '${this.userip}'`,
230
- orderitem: 'id'
231
- }
232
- //tag
233
- let http = new HttpResetClass()
234
- http.load('POST', `rs/logic/tel_getOneData`, {data: {sql: sql, params: condition}}, {resolveMsg: null, rejectMsg: null}).then((req) => {
235
- this.aChannel = parseInt(req.data.tongdao)
236
- this.aModule = parseInt(req.data.mokuai)
237
- })
238
- this.model.f_visitman = this.$login.f.name
239
- this.model.f_phone = this.phone
240
- this.model.f_bz = this.row ? this.row.f_remarks:''
241
- }
242
- }
243
- </script>
244
- <style scoped lang="less">
245
- .workOrderInfo{
246
- .roee {
247
- div {
248
- margin-top: 10px;
249
- padding-right: 3px;
250
- }
251
- label {
252
- display: inline-block;
253
- height: 100%;
254
- min-width: 100px;
255
- text-align: justify;
256
- text-align-last: justify;
257
- }
258
- }
259
- }
260
- </style>
261
-
1
+ <template xmlns="http://www.w3.org/1999/html">
2
+ <div class="auto select-overspread form-horizontal auto">
3
+ <div class="row workOrderInfo" >
4
+ <div class="row">
5
+ <blockquote class="bg-info">
6
+ 回访
7
+ </blockquote>
8
+ </div>
9
+ <div class="row roee">
10
+ <div class="col-sm-6 form-group form-input-group" >
11
+ <label class="font_normal_body" style="width: 25%">回&ensp;访&ensp;员</label>
12
+ <input type="text" class="form-control" v-model="model.f_visitman" placeholder='回访员' >
13
+ </div>
14
+ <div class="col-sm-6 form-group form-input-group" >
15
+ <label class="font_normal_body" style="width: 25%">回访时间</label>
16
+ <datepicker placeholder="回访时间"
17
+ :value.sync="model.f_visitdate"
18
+ :format="'yyyy-MM-dd HH:mm:ss'"
19
+ ></datepicker>
20
+ </div>
21
+ <!-- <div class="col-sm-6 form-group form-input-group">-->
22
+ <!-- <label class="font_normal_body" style="width: 25%">质量满意度</label>-->
23
+ <!-- <v-select :value.sync="model.f_qualitycore"-->
24
+ <!-- :value-single="true"-->
25
+ <!-- :options='qualitycase'-->
26
+ <!-- placeholder='质量满意情况'-->
27
+ <!-- close-on-select>-->
28
+ <!-- </v-select>-->
29
+ <!-- </div>-->
30
+ <!-- <div class="col-sm-6 form-group form-input-group">-->
31
+ <!-- <label class=" font_normal_body" style="width: 25%">服务满意度</label>-->
32
+ <!-- <v-select :value.sync="model.f_servicescore"-->
33
+ <!-- v-model="model.f_servicescore"-->
34
+ <!-- :value-single="true"-->
35
+ <!-- :options='servicecase'-->
36
+ <!-- placeholder='服务态度满意情况'-->
37
+ <!-- close-on-select>-->
38
+ <!-- </v-select>-->
39
+ <!-- </div>-->
40
+ <!-- <div class="col-sm-6 form-group form-input-group">-->
41
+ <!-- <label class="font_normal_body" style="width: 25%">联系电话</label>-->
42
+ <!-- <input type="text" v-model='model.f_phone' class="form-control"/>-->
43
+ <!-- <button class="button_search button_spacing" @click="callout(model.f_phone)">呼出</button>-->
44
+ <!-- </div>-->
45
+ <div class="col-sm-6 form-group form-input-group">
46
+ <label class="font_normal_body" style="width: 25%">地址</label>
47
+ <input type="text" :value='row.f_address' class="form-control" disabled/>
48
+ </div>
49
+ <div class="col-sm-12 form-input-group">
50
+ <label class="font_normal_body" style="width: 12.5%">客户意见</label>
51
+ <textarea name="name" rows="3" v-model="model.f_remarks" class="form-control ver-textarea"
52
+ style="width: 80%"></textarea>
53
+ </div>
54
+ <div class="col-sm-12 form-input-group" style="margin-top: 6px">
55
+ <label class="font_normal_body" style="width: 12.5%">备注</label>
56
+ <textarea name="name" rows="4" v-model="model.f_bz" class="form-control ver-textarea"
57
+ style="width: 80%"></textarea>
58
+ </div>
59
+ <div class="row button-range form-group form-input-group">
60
+ <button type="button" name="button"
61
+ class="button_search button_spacing" @click="saveVisit">提交</button>
62
+ <button type="button" name="button" style="background-color: #5ac0d9;border-radius: 4px;"
63
+ class="button_spacing button_search" @click="clearVisit">取消</button>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <modal :show.sync="showcalloutResult" width="50%" backdrop="false">
68
+ <header slot="modal-header" class="modal-header">
69
+ <center><h4 class="modal-title ">{{showTitle}}结果</h4></center>
70
+ </header>
71
+ <article slot="modal-body" class="modal-body" style="height: 100px;padding-top: 15px!important;">
72
+ <div v-show="!calloutResult"><label>正在{{ showTitle }},请稍后。。。。。。</label></div>
73
+ <div v-show="calloutResult">
74
+ <div class="row auto" v-show="calloutResult.area">
75
+ <label>真实归属地:</label><span>{{calloutResult.area}}</span>
76
+ </div>
77
+ <div class="row auto" v-show="calloutResult.calloutNo">
78
+ <label>真实呼出号码:</label><span>{{calloutResult.calloutNo}}</span>
79
+ </div>
80
+ <div class="row auto" v-show="calloutResult.err">
81
+ <label>其他信息:</label><span>{{calloutResult.err}}</span>
82
+ </div>
83
+ </div>
84
+ </article>
85
+ <footer slot="modal-footer" class="modal-footer">
86
+ <button type="button" class="btn btn-success" @click='calloutConfirm()'>确认</button>
87
+ </footer>
88
+ </modal>
89
+ </div>
90
+ </template>
91
+
92
+ <script>
93
+ import { HttpResetClass } from 'vue-client'
94
+ import * as Util from '../Util'
95
+ import wxcon from '../../stores/wxconfig'
96
+ export default {
97
+ title: '回访单',
98
+ props: {
99
+ contextxianshi:null,
100
+ row:Object,
101
+ phone:'',
102
+ idwavfile:'',
103
+ outltime:'',
104
+ showcalloutResult:false,
105
+ calloutResult:null,
106
+ showTitle:'呼出',
107
+ userip:'000.000.000.000'
108
+
109
+ },
110
+ data () {
111
+ return {
112
+
113
+ model:{
114
+ f_again_revisit: '是',
115
+ f_visitman:'',
116
+ f_visitdate:this.getNowFormatDate(),
117
+ f_qualitycore:'满意',
118
+ f_servicescore:'满意',
119
+ f_phone:'',
120
+ f_remarks:'',
121
+ f_type:'回访',
122
+ f_record_sound:'',
123
+ f_bz:''
124
+ },
125
+ idwavfile:'',
126
+ loginUser: this.$login.f,
127
+ aChannel:0,
128
+ aModule:1,
129
+ qualitycase: this.$appdata.getParam('质量满意情况'),
130
+ servicecase: this.$appdata.getParam('服务态度满意情况')
131
+ }
132
+ },
133
+ methods: {
134
+ calloutConfirm(){
135
+ this.calloutResult=null
136
+ this.showcalloutResult=false
137
+ },
138
+ //获取当前时间
139
+ getNowFormatDate() {
140
+ var date = new Date();
141
+ var seperator1 = "-";
142
+ var seperator2 = ":";
143
+ var month = date.getMonth() + 1;
144
+ var strDate = date.getDate();
145
+ var hour = date.getHours();
146
+ var min = date.getMinutes();
147
+ var second = date.getSeconds();
148
+ if (month >= 1 && month <= 9) {
149
+ month = "0" + month;
150
+ }
151
+ if (strDate >= 0 && strDate <= 9) {
152
+ strDate = "0" + strDate;
153
+ }
154
+ if (hour >= 0 && hour <= 9) {
155
+ hour = "0" + hour;
156
+ }
157
+ if (min >= 0 && min <= 9) {
158
+ min = "0" + min;
159
+ }
160
+ if (second >= 0 && second <= 9) {
161
+ second = "0" + second;
162
+ }
163
+ var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
164
+ + " " + hour + seperator2 + min
165
+ + seperator2 + second;
166
+ return currentdate;
167
+ },
168
+ // 提交
169
+ saveVisit () {
170
+ let sql = `update t_devices_items set f_is_visit = '是',f_visitdate='${this.model.f_visitdate}',f_visitman='${this.model.f_visitman}',f_remarks='${this.model.f_remarks}',f_bz='${this.model.f_bz}',f_qualitycore='${this.model.f_qualitycore}',f_servicescore='${this.model.f_servicescore}' where id = '${this.row.f_defect_id}' `
171
+ let http = new HttpResetClass()
172
+ http.load('POST', 'rs/logic/runSQL', {data: {sql: sql}},
173
+ {resolveMsg: null, rejectMsg: null}).then(resp=>{
174
+ this.$showMessage('提交完成')
175
+ this.$emit('visitback','nodo')
176
+ }).catch(error=>{
177
+ this.$showMessage('提交失败')
178
+ })
179
+ },
180
+ // 取消
181
+ clearVisit () {
182
+ this.$emit('show-obj',{})
183
+ },
184
+ callout(telnum){
185
+ if(telnum){
186
+ let http = new HttpResetClass()
187
+ try{
188
+ http.load('POST', wxcon.voiceUrl, {
189
+ aId: this.$login.f.id,
190
+ aChannel: this.aChannel,
191
+ aModule: this.aModule,
192
+ aBzType:"callout",
193
+ bzExtra: telnum,
194
+ bzId: telnum,
195
+ aName: this.$login.f.name,
196
+ RoleId:this.$login.f.rolesnames,
197
+ sendTime:Util.toStandardTimeString()
198
+ }, {resolveMsg: null, rejectMsg: null}).then((req) => {
199
+ this.calloutResult = req.data.calloutResult
200
+ if (req.data.desc === '呼出失败') {
201
+ this.$showAlert(`呼出${telnum}失败`, 'danger', 0)
202
+ }else{
203
+ this.showcalloutResult=true
204
+ this.showTitle='呼出'
205
+ // 返回录音ID 存在回访数据里
206
+ this.model.f_record_sound = req.data.RecordsID
207
+ }
208
+ })
209
+ }catch(e){
210
+ this.$showAlert(`${e.data},呼出失败`, 'danger', 0)
211
+ this.callContent = '呼出失败'
212
+ }
213
+ }else{
214
+ this.$showAlert(`无电话号码`, 'danger', 0)
215
+ this.callContent = '呼出失败'
216
+ }
217
+ },
218
+ },
219
+ watch: {
220
+ 'phone'(val){
221
+ this.model.f_phone = val
222
+ }
223
+ },
224
+ ready(){
225
+ let sql = 'tel_singleTable_OrderBy'
226
+ let condition = {
227
+ items: 'tongdao,mokuai',
228
+ tablename: 'T_IPTONGDAO',
229
+ condition: `loginip = '${this.userip}'`,
230
+ orderitem: 'id'
231
+ }
232
+ //tag
233
+ let http = new HttpResetClass()
234
+ http.load('POST', `rs/logic/tel_getOneData`, {data: {sql: sql, params: condition}}, {resolveMsg: null, rejectMsg: null}).then((req) => {
235
+ this.aChannel = parseInt(req.data.tongdao)
236
+ this.aModule = parseInt(req.data.mokuai)
237
+ })
238
+ this.model.f_visitman = this.$login.f.name
239
+ this.model.f_phone = this.phone
240
+ this.model.f_bz = this.row ? this.row.f_remarks:''
241
+ }
242
+ }
243
+ </script>
244
+ <style scoped lang="less">
245
+ .workOrderInfo{
246
+ .roee {
247
+ div {
248
+ margin-top: 10px;
249
+ padding-right: 3px;
250
+ }
251
+ label {
252
+ display: inline-block;
253
+ height: 100%;
254
+ min-width: 100px;
255
+ text-align: justify;
256
+ text-align-last: justify;
257
+ }
258
+ }
259
+ }
260
+ </style>
261
+
@@ -1,66 +1,66 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='search'>
5
- <div novalidate class="form-inline auto" partial>
6
- <div class="form-group">
7
- <label class="col-sm-12 control-label">选择年月:</label>
8
- <div class="col-sm-12">
9
- <datepicker placeholder="请选择年月"
10
- :value.sync="$parent.$parent.model.f_ym"
11
- :disabled-days-of-Week="[]"
12
- :format="'yyyy-MM'">
13
- </datepicker>
14
- <button class="btn btn-default" @click="search()">查询</button>
15
- <div class="form-group">
16
- 部门:
17
- <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
18
- </div>
19
- {{$parent.$parent.model.chosenOrg.fullname}}
20
- </div>
21
- </div>
22
- </div>
23
- </criteria>
24
- <data-grid :model="model" partial='list' v-ref:grid>
25
- <template partial='head'>
26
- <tr>
27
- <th>手机使用者</th>
28
- <th>流量Mb</th>
29
- </tr>
30
- </template>
31
- <template partial='body'>
32
- <td v-on:click.stop.prevent='$parent.$parent.$parent.dailyTraffic(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
- <td>{{row.f_traffic}}</td>
34
- </template>
35
- </data-grid>
36
- </criteria-paged>
37
- </div>
38
- </template>
39
-
40
- <script>
41
- import { PagedList } from 'vue-client'
42
- import * as Util from '../Util'
43
-
44
- export default {
45
- title: '月流量统计',
46
- props: ['f'],
47
- data () {
48
- let model = new PagedList('rs/rcq/月度流量统计', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id', f_ym: 'this.f_ym'})
49
- model.f_ym = Util.toStandardYearMonth()
50
- model.chosenOrg = {id:0}
51
- return {
52
- model: model,
53
- }
54
- },
55
- methods: {
56
- dailyTraffic (row) {
57
- this.$goto('daily-traffic', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name, f_ym: this.model.f_ym}, 'self')
58
- }
59
- },
60
- ready () {
61
- this.model.f_loggedOnUserId = this.f.id
62
- this.model.chosenOrg.id = this.f.parent.id
63
- this.model.search()
64
- }
65
- }
66
- </script>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search'>
5
+ <div novalidate class="form-inline auto" partial>
6
+ <div class="form-group">
7
+ <label class="col-sm-12 control-label">选择年月:</label>
8
+ <div class="col-sm-12">
9
+ <datepicker placeholder="请选择年月"
10
+ :value.sync="$parent.$parent.model.f_ym"
11
+ :disabled-days-of-Week="[]"
12
+ :format="'yyyy-MM'">
13
+ </datepicker>
14
+ <button class="btn btn-default" @click="search()">查询</button>
15
+ <div class="form-group">
16
+ 部门:
17
+ <chooser :userid.sync='$parent.$parent.f.id' resource-type="organization" :width='200' :select-data.sync='$parent.$parent.model.chosenOrg'></chooser>
18
+ </div>
19
+ {{$parent.$parent.model.chosenOrg.fullname}}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </criteria>
24
+ <data-grid :model="model" partial='list' v-ref:grid>
25
+ <template partial='head'>
26
+ <tr>
27
+ <th>手机使用者</th>
28
+ <th>流量Mb</th>
29
+ </tr>
30
+ </template>
31
+ <template partial='body'>
32
+ <td v-on:click.stop.prevent='$parent.$parent.$parent.dailyTraffic(row)'>{{row.f_user_name}}&nbsp;&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-option-horizontal"></span></td>
33
+ <td>{{row.f_traffic}}</td>
34
+ </template>
35
+ </data-grid>
36
+ </criteria-paged>
37
+ </div>
38
+ </template>
39
+
40
+ <script>
41
+ import { PagedList } from 'vue-client'
42
+ import * as Util from '../Util'
43
+
44
+ export default {
45
+ title: '月流量统计',
46
+ props: ['f'],
47
+ data () {
48
+ let model = new PagedList('rs/rcq/月度流量统计', 20, {f_loggedOnUserId: 'this.f_loggedOnUserId', f_loggedOnOrgId: 'this.chosenOrg.id', f_ym: 'this.f_ym'})
49
+ model.f_ym = Util.toStandardYearMonth()
50
+ model.chosenOrg = {id:0}
51
+ return {
52
+ model: model,
53
+ }
54
+ },
55
+ methods: {
56
+ dailyTraffic (row) {
57
+ this.$goto('daily-traffic', {f_userinfoid: row.f_userinfoid, f_user_name: row.f_user_name, f_ym: this.model.f_ym}, 'self')
58
+ }
59
+ },
60
+ ready () {
61
+ this.model.f_loggedOnUserId = this.f.id
62
+ this.model.chosenOrg.id = this.f.parent.id
63
+ this.model.search()
64
+ }
65
+ }
66
+ </script>