safecheck-client 3.0.34-7 → 3.0.34-71

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. package/package.json +1 -1
  2. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  3. package/src/assets/123.png +0 -0
  4. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  5. package/src/components/LoadData.vue +62 -0
  6. package/src/components/NewDefectList/DefectListNew.vue +1 -0
  7. package/src/components/android/AndroidDefectDeal.vue +1 -0
  8. package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
  9. package/src/components/android/AreaSelect.vue +198 -0
  10. package/src/components/android/BuildingSelect.vue +192 -0
  11. package/src/components/android/CheckPlanSelect.vue +229 -0
  12. package/src/components/android/PaperFeedback.vue +1514 -1481
  13. package/src/components/android/PaperFeedbackTemp.vue +1470 -1470
  14. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  15. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  16. package/src/components/android/SafePlanItem.vue +509 -509
  17. package/src/components/android/SafecheckDevices.vue +1298 -1298
  18. package/src/components/android/SafecheckDevicesTemp.vue +1333 -1333
  19. package/src/components/android/SafecheckOrderV.vue +8 -12
  20. package/src/components/android/UserinfoSelect.vue +714 -0
  21. package/src/components/android/examples/SafeListExamples.vue +96 -0
  22. package/src/components/android/examples/UserExamples.vue +130 -0
  23. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  24. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  25. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  26. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  27. package/src/components/rongcheng/PaperStatem.vue +6 -1
  28. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  29. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  30. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  31. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  32. package/src/components/safecheckNew/android/SafecheckOrderV.vue +2731 -2731
  33. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  34. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  35. package/src/filiale/baiyin/android.js +1 -0
  36. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  37. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  38. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  39. package/src/filiale/bayan/android/PaperFeedback.vue +1651 -1651
  40. package/src/filiale/bayan/android/SafecheckDevices.vue +1303 -1303
  41. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  42. package/src/filiale/bayan/android/SafecheckUserInfo.vue +863 -863
  43. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  44. package/src/filiale/dexin/android/SafecheckDevices.vue +1305 -1305
  45. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  46. package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
  47. package/src/filiale/hanzhong/android/SafecheckDevices.vue +1313 -1313
  48. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  49. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  50. package/src/filiale/huaran/android.js +12 -0
  51. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  52. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  53. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  54. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  55. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  56. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  57. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  58. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  59. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  60. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  61. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  62. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  63. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  64. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  65. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  66. package/src/filiale/huaran/pc.js +27 -0
  67. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  68. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  69. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  70. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  71. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  72. package/src/filiale/jiaxian/android.js +4 -0
  73. package/src/filiale/jingyang/android/PaperFeedback.vue +1493 -1493
  74. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  75. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  76. package/src/filiale/pingxiang/android/PaperFeedback.vue +1399 -1399
  77. package/src/filiale/qingjian/android/SafecheckDevices.vue +1269 -1269
  78. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  79. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
  80. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
  81. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
  82. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
  83. package/src/filiale/qingtongxia/android.js +4 -0
  84. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  85. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  86. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  87. package/src/filiale/ruihua/android.js +11 -0
  88. package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
  89. package/src/filiale/shiquan/android/SafecheckDevices.vue +1269 -1269
  90. package/src/filiale/siyang/android/AddPlanItem.vue +446 -0
  91. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  92. package/src/filiale/siyang/android.js +1 -0
  93. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  94. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  95. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  96. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  97. package/src/filiale/siyang/pc/NewCheckpaper.vue +1938 -1938
  98. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  99. package/src/filiale/siyang/pc/checkUserList.vue +790 -786
  100. package/src/filiale/siyang/pc.js +21 -16
  101. package/src/filiale/tongchuan/android/Select.vue +421 -0
  102. package/src/filiale/tongchuan/android.js +1 -0
  103. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  104. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  105. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  106. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  107. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  108. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  109. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  110. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  111. package/src/filiale/weinan/android/SafecheckDevices.vue +1295 -1295
  112. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  113. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
  114. package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
  115. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  116. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  117. package/src/filiale/weinan/pc/checkUserList.vue +49 -113
  118. package/src/filiale/weinan/pc.js +1 -0
  119. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2240
  120. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -592
  121. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  122. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  123. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  124. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
  125. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +269 -269
  126. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
  127. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +1128 -1128
  129. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +972 -972
  130. package/src/filiale/yangchunboneng/pc/PaperList.vue +773 -773
  131. package/src/filiale/yongzhou/android/PaperFeedback.vue +1519 -1519
  132. package/src/filiale/yongzhou/android/SafecheckDevices.vue +1294 -1294
  133. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  134. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  135. package/src/filiale/yuansheng/android/SwitchValve.vue +322 -322
  136. package/src/filiale/yuansheng/android.js +17 -17
  137. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  138. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1508 -1508
  139. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  140. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +784 -784
  141. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  142. package/src/safecheck-android.js +9 -0
  143. package/src/safecheck-page.js +10 -0
@@ -0,0 +1,714 @@
1
+ <style scoped>
2
+ .app-row {
3
+ background-color: white;
4
+ padding: 10px 10px 0 10px;
5
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
6
+ }
7
+
8
+ .search_input {
9
+ border: 0;
10
+ outline: none;
11
+ }
12
+
13
+ .font {
14
+ font: 15px PingFang-SC-Medium;
15
+ color: #666666;
16
+ }
17
+
18
+ .input-font {
19
+ font: 15px PingFang-SC-Medium;
20
+ color: #333333;
21
+ }
22
+
23
+ .btn-font {
24
+ font: 600 16px PingFang-SC-Bold;
25
+ color: #499EDF;
26
+ }
27
+
28
+ .btn-color {
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px;
31
+ border: 1px solid #499EDF;
32
+ }
33
+
34
+ .app-text {
35
+ font-size: 12px;
36
+ }
37
+
38
+ .panel-self {
39
+ border-radius: 10px;
40
+ border: 1px solid #499EDF;
41
+ background-color: #F8F8F8;
42
+ }
43
+
44
+ .button_shrink_top {
45
+ width: 35px;
46
+ height: 35px;
47
+ background-size: 100%;
48
+ background-image: url("../../../static/newStyle/stretch_top.png")
49
+ }
50
+
51
+ .button_shrink_bottom {
52
+ width: 35px;
53
+ height: 35px;
54
+ background-size: 100%;
55
+ background-image: url("../../../static/newStyle/stretch_bottom.png")
56
+ }
57
+ </style>
58
+ <template>
59
+ <div style="height: auto;width: 100%">
60
+ <criteria-paged :model="model" v-ref:paged>
61
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
62
+ <div partial>
63
+ <form>
64
+ <div class="row app-row">
65
+ <div class="col-xs-4">
66
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
67
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
68
+ </div>
69
+ <div class="col-xs-8">
70
+ <input id="f_userinfo_code" class="search_input input-font"
71
+ v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
72
+ </div>
73
+ </div>
74
+ <div class="row app-row">
75
+ <div class="col-xs-4">
76
+ <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
77
+ <label class="font text-left">用户姓名:</label>
78
+ </div>
79
+ <div class="col-xs-8">
80
+ <input class="search_input input-font" v-model=model.f_user_name
81
+ condition="f_user_name like '%{}%'" />
82
+ </div>
83
+ </div>
84
+
85
+ <div class="row app-row">
86
+ <div class="col-xs-4">
87
+ <img src="../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
88
+ <label class="font text-left">用户证号:</label>
89
+ </div>
90
+ <div class="col-xs-8">
91
+ <input class="search_input input-font" v-model=model.f_enter_number
92
+ condition="f_enter_number like '%{}%'" />
93
+ </div>
94
+ </div>
95
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
96
+ <div class="col-xs-4">
97
+ <img src="../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
98
+ <label for="f_state" class="font text-left">是否已检:</label>
99
+ </div>
100
+ <v-select id="f_state" :value.sync="model.f_state" class="input-font"
101
+ :options='$parent.$parent.check_states' placeholder='是否已检' :width="'60%'"
102
+ v-model="model.f_state" condition="f_state='{}'" close-on-select clear-button>
103
+ </v-select>
104
+ </div>
105
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
106
+ <div class="col-xs-4">
107
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
108
+ <label class="font text-left">表&emsp;&emsp;号:</label>
109
+ </div>
110
+ <div class="col-xs-5">
111
+ <input class="search_input input-font" v-model=model.f_meter_no
112
+ condition="f_meter_no like '%{}%'" />
113
+ </div>
114
+ <div class="col-xs-3">
115
+ <button type="button" class="btn btn-lg btn-font btn-color"
116
+ @click="$parent.$parent.scan()">扫码</button>
117
+ </div>
118
+ </div>
119
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
120
+ <div class="col-xs-4">
121
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
122
+ <label class="font text-left">客户电话:</label>
123
+ </div>
124
+ <div class="col-xs-8">
125
+ <input class="search_input input-font" v-model=model.f_user_phone
126
+ condition="f_user_phone like '%{}%'" />
127
+ </div>
128
+ </div>
129
+
130
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
131
+ <div class="col-xs-4">
132
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
133
+ <label class="font text-left">用户地址:</label>
134
+ </div>
135
+ <div class="col-xs-8">
136
+ <input class="search_input input-font" v-model=model.f_keyword
137
+ condition="f_address like '%{}%'" />
138
+ </div>
139
+ </div>
140
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
141
+ <div class="col-xs-4">
142
+ <img src="../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
143
+ <label for="f_user_type" class="font text-left">用户类型:</label>
144
+ </div>
145
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font" :width="'60%'"
146
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型' v-model="model.f_user_type"
147
+ condition="f_user_type='{}'" close-on-select clear-button></v-select>
148
+ </div>
149
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
150
+ <div class="col-xs-6">
151
+ <img src="../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
152
+ <label class="font text-left">到访不遇:</label>
153
+ </div>
154
+ <div class="col-xs-8">
155
+ <input class="search_input input-font" type="number" v-model=model.f_check_version
156
+ condition="f_check_version <= '{}'" />
157
+ </div>
158
+ </div>
159
+ <div class="row text-center" style="margin-top: 20px;">
160
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
161
+ @click="$parent.$parent.selfSearch">查询</button>
162
+ <div style="float: right;margin-right: 3% " class="button_spacing"
163
+ :class="{ 'button_shrink_top': $parent.$parent.criteriaShow, 'button_shrink_bottom': !$parent.$parent.criteriaShow }"
164
+ @click="$parent.$parent.hidden()"></div>
165
+ <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% "
166
+ @click="$parent.$parent.getNewOrder" src="../../assets/shuaxindaiban1.png"
167
+ style="width: 40px;padding: 5px; float:right">
168
+ </div>
169
+ <div class="col-sm-12">
170
+
171
+ </div>
172
+ <div style="height:30px;"></div>
173
+ </form>
174
+ </div>
175
+ </criteria>
176
+ <list :model="model" partial='list'>
177
+ <div partial>
178
+ <div class="auto app-text" style="margin-top: 5px;">
179
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
180
+ <div class="panel-body panel-self">
181
+ <div class="col-xs-12">
182
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
183
+ <b>用户编号:</b></p>
184
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{
185
+ row.f_userinfo_code }}</p>
186
+ <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
187
+ <input type="checkbox"
188
+ @click="$parent.$parent.$parent.setPlanParam(row.id, $event)" />
189
+ </p>
190
+ </div>
191
+ <div class="col-xs-12">
192
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
193
+ <b>用户名称:</b></p>
194
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
195
+ row.f_user_name }}</p>
196
+ </div>
197
+ <div class="col-xs-6">
198
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
199
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
200
+ </p>
201
+ </div>
202
+ <div class="col-xs-6">
203
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
204
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
205
+ </div>
206
+ <div class="col-xs-12">
207
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b>
208
+ </p>
209
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone
210
+ }}
211
+ <img src="../../assets/phone.png" style="width: 6%"
212
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)' />
213
+ </p>
214
+ </div>
215
+ <div class="col-xs-12">
216
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b>
217
+ </p>
218
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone }}
219
+ <img v-if="row.f_rent_phone" src="../../assets/phone.png" style="width: 6%"
220
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)' />
221
+ </p>
222
+ </div>
223
+ <div class="col-xs-12">
224
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b>
225
+ </p>
226
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone
227
+ }}
228
+ <img v-if="row.f_zuhu_phone" src="../../assets/phone.png" style="width: 6%"
229
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)' />
230
+ </p>
231
+ </div>
232
+ <div class="col-xs-12">
233
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b>
234
+ </p>
235
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}
236
+ </p>
237
+ </div>
238
+ <div class="col-xs-6">
239
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
240
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state ==
241
+ '已检'?'临时保存':row.f_state }}</p>
242
+ </div>
243
+ <div class="col-xs-6">
244
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
245
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
246
+ </div>
247
+ <div class="col-xs-12" v-if="row.f_prearranged_date != null">
248
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left">
249
+ <b>预约时间:</b></p>
250
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{
251
+ row.f_prearranged_date }}</p>
252
+ </div>
253
+ <div class="col-xs-6">
254
+ <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
255
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
256
+ </div>
257
+ <div class="col-xs-12">
258
+ <p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
259
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
260
+ </div>
261
+ <div class="col-xs-12">
262
+ <button type="button" name="button" class="btn btn-primary"
263
+ style="background-color:#499edf;float: right"
264
+ @click="$parent.$parent.$parent.inspectRepair (row)">处理</button>
265
+ </div>
266
+ </div>
267
+ </div>
268
+ </div>
269
+ </div>
270
+ </list>
271
+ </criteria-paged>
272
+ </div>
273
+ </template>
274
+
275
+ <script>
276
+ import LocalPagedList from '../../plugins/LocalPagedList'
277
+ import Vue from 'vue'
278
+ import { PagedList, HttpResetClass } from 'vue-client'
279
+ import * as Util from '../Util'
280
+ import co from 'co'
281
+ let select = function* (self) {
282
+ let http = new HttpResetClass()
283
+ http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
284
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
285
+ userid: Vue.user.id
286
+ }, { resolveMsg: null, rejectMsg: null }).then((res) => {
287
+ self.checkers.push({ label: '全部', value: '' })
288
+ res.data.forEach((checker) => {
289
+ self.checkers.push({ label: checker.name, value: checker.id })
290
+ })
291
+ })
292
+ }
293
+ export default {
294
+ title: 'userinfo-select',
295
+ props: ['row'],
296
+ data() {
297
+ return {
298
+ f_filialeids: '(' + Vue.user.orgid + ')',
299
+ planparam: [],
300
+ check: '',
301
+ plan: '',
302
+ planid: '',
303
+ model: Vue.android ? new LocalPagedList('androidGetuserinfo', 20, { condition: 'this.condition' }) : new PagedList('AndroidRest/rs/sql/androidGetuserinfo', 20, { condition: 'this.condition' }),
304
+ showModal: false,
305
+ showModal2: false,
306
+ showModal3: false,
307
+ needid: '',
308
+ criteriaShow: false,
309
+ planoption: [],
310
+ condition: '',
311
+ checkers: [],
312
+ param: null,
313
+ f_preset_dt: Util.to3339TimeString(),
314
+ flow_direction: [
315
+ { label: '请选择挂表方式', value: '' },
316
+ { label: '左表', value: '左表' },
317
+ { label: '右表', value: '右表' }
318
+ ],
319
+ check_states: [
320
+ { label: '请选择安检状态', value: '' },
321
+ { label: '未检', value: '未检' },
322
+ { label: '临时保存', value: '已检' },
323
+ ],
324
+ last_check_states: [
325
+ { label: '请选择上次安检状态', value: '' },
326
+ { label: '入户', value: '入户' },
327
+ { label: '拒检', value: '拒检' },
328
+ { label: '到访不遇', value: '到访不遇' },
329
+ { label: '未使用天然气', value: '未使用天然气' }
330
+ ],
331
+ upload_states: [
332
+ { label: '请选择上传状态', value: '' },
333
+ { label: '未传', value: '未传' },
334
+ { label: '已传', value: '已传' }
335
+ ],
336
+ user_types: [
337
+ { label: '请选择用户类型', value: '' },
338
+ { label: '民用', value: '民用' },
339
+ { label: '非民用', value: '非民用' },
340
+ ],
341
+ verify_state: [
342
+ { label: '请选择审核状态', value: '' },
343
+ { label: '未审核', value: '未审核' },
344
+ { label: '打回', value: '打回' }
345
+ ],
346
+ residentialAreaOptions: [],
347
+ buildOptions: [],
348
+ unitOptions: [],
349
+ planNameOptions: [],
350
+ upcomingCount: 0,
351
+ doneCount: 0,
352
+ tempSaveCount: 0,
353
+ allPlanCount: 0
354
+ }
355
+ },
356
+ ready() {
357
+ this.selfSearch()
358
+ let gen = select(this)
359
+ co(gen)
360
+ },
361
+ mounted() {
362
+ if (window.history && window.history.pushState) {
363
+ history.pushState(null, null, document.URL);
364
+ window.addEventListener('popstate', this.fun, false)
365
+ }
366
+ },
367
+ destroyed() {
368
+ window.removeEventListener('popstate', this.fun, false)
369
+ },
370
+ methods: {
371
+ inspectRepair(row){
372
+ var _this = this
373
+ let http = new HttpResetClass()
374
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/rs/sql/AndroidDealWith`, {data: {condition: `tcp.f_userinfo_code = '${row.f_userinfo_code}'`,f_filialeids:Vue.user.orgid}},
375
+ {resolveMsg: null, rejectMsg: null}).then(resp=>{
376
+ if (resp.data.length>0){
377
+ this.$showMessage('该用户有隐患未处理,是否先处理隐患?', ['cancel', 'confirm']).then(
378
+ (response) => {
379
+ if (response === 'confirm') {
380
+ var pardate = {
381
+ _this:_this,
382
+ title:'隐患处理',
383
+ safe:true
384
+ }
385
+ _this.$dispatch('gotoson',pardate)
386
+ _this.$goto('android-defect-deal-before-safe', {row: row}, 'self', function () {
387
+ _this.inspect(row)
388
+ })
389
+ }else {
390
+ this.inspect(row)
391
+ }
392
+ }
393
+ )
394
+ }else {
395
+ this.inspect(row)
396
+ }
397
+ }).catch(()=>{
398
+ this.inspect(row)
399
+ })
400
+ },
401
+ scan() {
402
+ HostApp.__this__ = this,
403
+ HostApp.scanCode({ callback: "javascript:HostApp.__this__.getCode();" })
404
+ },
405
+ getCode() {
406
+ const datapa = HostApp.getCode().data;
407
+ this.$refs.paged.$refs.cri.model.f_meter_no = datapa
408
+
409
+ },
410
+ fun() {
411
+
412
+ },
413
+ iscancel() {
414
+ this.showModal2 = false
415
+ this.showModal3 = false
416
+ this.planoption = []
417
+ },
418
+ timeSet(val) {
419
+ return val
420
+ },
421
+ async isok() {
422
+ if (this.planoption.length == 0) {
423
+ this.$showMessage("请选择计划")
424
+ return false
425
+ }
426
+ for (let i = 0; i < this.planoption.length; i++) {
427
+ if (this.planoption[i]["selected"] == true) {
428
+ this.planid = this.planoption[i].value
429
+ break
430
+ }
431
+ }
432
+ if (this.planid == '') {
433
+ this.$showMessage("请选择计划")
434
+ return false
435
+ }
436
+ await this.okput()
437
+ },
438
+ async manyisok() {
439
+ if (this.planoption.length == 0) {
440
+ this.$showMessage("请选择计划")
441
+ return false
442
+ }
443
+ for (let i = 0; i < this.planoption.length; i++) {
444
+ if (this.planoption[i]["selected"] == true) {
445
+ this.planid = this.planoption[i].value
446
+ break
447
+ }
448
+ }
449
+ if (this.planid == '') {
450
+ this.$showMessage("请选择计划")
451
+ return false
452
+ }
453
+ await this.manyokput()
454
+ },
455
+ changenull() {
456
+ this.showModal2 = false
457
+ this.showModal3 = false
458
+ this.planoption = []
459
+ this.plan = ''
460
+ this.check = ''
461
+ },
462
+ async okput() {
463
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
464
+ data: {
465
+ condition: `i.id='` + this.needid + `'`,
466
+ f_plan_id: this.planid,
467
+ switchCheckAll: false,
468
+ checkAll: false,
469
+ f_operator: Vue.user.name
470
+ }
471
+ })
472
+ this.$showMessage("上传成功,请等待审核")
473
+ await this.changenull()
474
+ await this.getNewOrder()
475
+ },
476
+ async manyokput() {
477
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/UpCheckPlanItem`, {
478
+ data: {
479
+ columnName: "i.id",
480
+ condition: "1=1",
481
+ f_plan_id: this.planid,
482
+ switchCheckAll: true,
483
+ param: this.planparam,
484
+ checkAll: false,
485
+ f_operator: Vue.user.name
486
+ }
487
+ })
488
+ await this.changenull()
489
+ await this.getNewOrder()
490
+ },
491
+ async plansearch() {
492
+ this.planoption = []
493
+ let condition = ` f_plan_year=${new Date().getFullYear()}`
494
+ if (this.check) {
495
+ condition += ` and f_checker_id= '${this.check}'`
496
+ }
497
+ if (this.plan) {
498
+ condition += ` and f_plan_name like '%${this.plan}%'`
499
+ }
500
+ let res = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/sql/预约计划下发`, {
501
+ data: {
502
+ condition: condition,
503
+ f_filialeids: this.f_filialeids,
504
+ groupitem: '',
505
+ orderitem: 'id'
506
+ }
507
+ })
508
+ let resoult = res.data
509
+ for (let i = 0; i < resoult.length; i++) {
510
+ this.planoption.push({ label: resoult[i].f_plan_name, selected: false, value: resoult[i].id })
511
+ }
512
+ },
513
+
514
+ select(row, idx) {
515
+ this.$set('planoption[' + idx + '].selected', true)
516
+ for (let i = 0; i < this.planoption.length; i++) {
517
+ if (i != idx) {
518
+ this.planoption[i]["selected"] = false
519
+ }
520
+ }
521
+ },
522
+ planclose() {
523
+ this.showModal2 = false
524
+ this.showModal3 = false
525
+ },
526
+ queryplan(val) {
527
+ this.needid = val
528
+ this.showModal2 = true
529
+ },
530
+ queryplanmany() {
531
+
532
+ this.showModal3 = true
533
+ },
534
+ reload() {
535
+ this.selfSearch()
536
+ },
537
+ cancelReserve(idx, id) {
538
+ if (Vue.android) {
539
+ let res = this.$androidUtil.bzLogic('BookingCheck', { dt: '', id: id })
540
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
541
+ if (res.code == 200) {
542
+ this.$showMessage("取消预约成功")
543
+ }
544
+ } else {
545
+ this.$androidUtil.bzLogic('PCbookingCheck', { dt: '', id: id }).then((repanse) => {
546
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
547
+ if (repanse.data.code == 200) {
548
+ alert("取消预约成功!")
549
+ }
550
+ })
551
+ }
552
+ },
553
+ genuineReserve() {
554
+ if (Vue.android) {
555
+ if (!this.f_preset_dt) {
556
+ this.$showMessage('请选择一个日期')
557
+ return
558
+ }
559
+ let pdt = this.f_preset_dt.replace('T', ' ')
560
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', { id: this.model.rows[this.param].id, dt: pdt })
561
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
562
+ if (respanse.code == 200) {
563
+ this.$showMessage("预约成功!")
564
+ }
565
+ this.showModal = false
566
+ } else {
567
+ if (!this.f_preset_dt) {
568
+ alert('请选择一个日期')
569
+ return
570
+ }
571
+ let pdt = this.f_preset_dt.replace('T', ' ')
572
+ this.$androidUtil.bzLogic('PCbookingCheck', { id: this.model.rows[this.param].id, dt: pdt }).then((res) => {
573
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
574
+ if (res.data.code == 200) {
575
+ alert("预约成功!")
576
+ }
577
+ this.showModal = false
578
+ })
579
+ }
580
+ },
581
+ inspect(row) {
582
+ var _this = this
583
+ let http = new HttpResetClass()
584
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
585
+ data: {
586
+ items: 'id',
587
+ tablename: 't_check_plan_item',
588
+ condition: `id = '${row.id}'`,
589
+ orderitem: ' id '
590
+ }
591
+ }, { resolveMsg: null, rejectMsg: null }).then((getcheckplan) => {
592
+ console.log('getcheckplan=', JSON.stringify(getcheckplan))
593
+ this.getcheckplandata = getcheckplan.data[0]
594
+ if (this.getcheckplandata) {
595
+ if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检')) {
596
+ _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/rs/sql/查询计划项表信息`, { data: { f_userid: row.f_userinfoid } }, { resolveMsg: null, rejectMsg: null }).then((response) => {
597
+ row['f_plan_meters'] = response.data
598
+ var pardate = {
599
+ _this: _this,
600
+ title: '安全检查',
601
+ safe: true
602
+ }
603
+ _this.$dispatch('gotoson', pardate)
604
+ _this.$goto('safecheck-order-v', { f_plan_id: row.f_plan_id, item: row, role: 'inspect', parentPage: 'CurrentCreate' }, 'self', _this.reload)
605
+ }).catch((msg) => {
606
+ this.$showMessage("网络异常,请检查网络后再试!")
607
+ })
608
+ } else {
609
+ this.$showMessage("该安检单已被上传!")
610
+ }
611
+ } else {
612
+ this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
613
+ }
614
+ })
615
+ },
616
+ makeAPhoneCall(phoneNumber) {
617
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
618
+ },
619
+ reserve(idx) {
620
+ this.param = idx
621
+ this.showModal = true
622
+ },
623
+ search(args) {
624
+ this.model.rows = []
625
+ this.model.search(args.condition, args.model)
626
+ },
627
+ selfSearch() {
628
+ let condition = ""
629
+ if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length > 0) {
630
+ condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area[0] + "'"
631
+ } else if (this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area) {
632
+ condition += " and ti.f_residential_area = '" + this.$refs.paged.$refs.cri.model.f_residential_area + "'"
633
+ }
634
+ if (this.$refs.paged.$refs.cri.model.f_building)
635
+ condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
636
+ if (this.$refs.paged.$refs.cri.model.f_unit)
637
+ condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
638
+ if (this.planName) {
639
+ condition += " and f_plan_name like '%" + this.planName + "%'"
640
+ } else {
641
+ if (this.$refs.paged.$refs.cri.model.f_plan_name)
642
+ condition += " and f_plan_name like '%" + this.$refs.paged.$refs.cri.model.f_plan_name + "%'"
643
+ }
644
+ condition += " and ti.f_userinfo_code like '%" + this.$refs.paged.$refs.cri.model.f_userinfo_code + "%'"
645
+ if (this.$refs.paged.$refs.cri.model.f_keyword)
646
+ condition += " and ti.f_address like '%" + this.$refs.paged.$refs.cri.model.f_keyword + "%'"
647
+ if (this.$refs.paged.$refs.cri.model.f_user_name)
648
+ condition += " and ti.f_user_name like '%" + this.$refs.paged.$refs.cri.model.f_user_name + "%'"
649
+ if (this.$refs.paged.$refs.cri.model.f_state[0])
650
+ condition += " and ti.f_state='" + this.$refs.paged.$refs.cri.model.f_state[0] + "'"
651
+ if (this.$refs.paged.$refs.cri.model.f_user_type[0])
652
+ condition += " and ti.f_user_type='" + this.$refs.paged.$refs.cri.model.f_user_type[0] + "'"
653
+ if (this.$refs.paged.$refs.cri.model.f_meter_no)
654
+ condition += " and tm.f_meter_no like '%" + this.$refs.paged.$refs.cri.model.f_meter_no + "%'"
655
+ if (this.$refs.paged.$refs.cri.model.f_user_phone) {
656
+ condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
657
+ }
658
+ if (this.$refs.paged.$refs.cri.model.f_enter_number)
659
+ condition += " and ti.f_enter_number like '%" + this.$refs.paged.$refs.cri.model.f_enter_number + "%'"
660
+ if (this.$refs.paged.$refs.cri.model.f_check_version)
661
+ condition += " and ti.f_check_version <= " + this.$refs.paged.$refs.cri.model.f_check_version
662
+ if (this.row.f_plan_id){
663
+ condition += ` and ti.f_plan_id = '${this.row.f_plan_id}'`
664
+ }
665
+ if(this.row.f_residential_area){
666
+ condition += ` and ti.f_residential_area = '${this.row.f_residential_area}'`
667
+ }else {
668
+ condition += ` and ti.f_residential_area is null`
669
+ }
670
+ if (this.row.f_building){
671
+ condition += ` and ti.f_building = '${this.row.f_building}'`
672
+ }else {
673
+ condition += ` and ti.f_building is null`
674
+ }
675
+ this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
676
+ },
677
+ getNewOrder() {
678
+ HostApp.__this__ = this
679
+ HostApp.logicWithHint({
680
+ 'logic': 'SafeCheckServiceTimeOut',
681
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
682
+ 'data': { params: '' },
683
+ 'backresult': 1
684
+ })
685
+ HostApp.logicWithHint({
686
+ 'logic': 'FreshPlanItem',
687
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
688
+ 'data': { params: '' },
689
+ 'backresult': 1
690
+ })
691
+ },
692
+ getNewOrderCallBack() {
693
+ this.selfSearch()
694
+ },
695
+ hidden() {
696
+ this.criteriaShow = !this.criteriaShow
697
+ },
698
+ setPlanParam(detailsType, event) {
699
+ if (event.srcElement.checked) {
700
+ this.planparam.push(detailsType)
701
+ } else {
702
+ if (this.planparam.length > 0) {
703
+ let planid = this.planparam.findIndex((value) => {
704
+ return value === detailsType
705
+ })
706
+ this.planparam.splice(planid, 1)
707
+
708
+ }
709
+
710
+ }
711
+ }
712
+ }
713
+ }
714
+ </script>