safecheck-client 3.0.34-9 → 3.0.34-90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) 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/AddPlanItemYy.vue +451 -0
  8. package/src/components/android/AndroidDefectDeal.vue +634 -634
  9. package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
  10. package/src/components/android/AreaSelect.vue +198 -0
  11. package/src/components/android/BuildingSelect.vue +192 -0
  12. package/src/components/android/CheckPlanSelect.vue +229 -0
  13. package/src/components/android/CurrentCreateYy.vue +1051 -0
  14. package/src/components/android/PaperFeedback.vue +33 -0
  15. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  16. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  17. package/src/components/android/SafecheckDevices.vue +2 -2
  18. package/src/components/android/SafecheckOrderV.vue +8 -12
  19. package/src/components/android/UserinfoSelect.vue +714 -0
  20. package/src/components/android/examples/410.png +0 -0
  21. package/src/components/android/examples/SafeListExamples.vue +279 -0
  22. package/src/components/android/examples/UserExamples.vue +137 -0
  23. package/src/components/android/examples/ViewDetailsExamples.vue +1235 -0
  24. package/src/components/android/examples/touxiang.png +0 -0
  25. package/src/components/pc/SafeVisitInfo.vue +261 -0
  26. package/src/components/rongcheng/AddPlanItem.vue +8 -0
  27. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  28. package/src/components/rongcheng/CheckSearchUser.vue +46 -16
  29. package/src/components/rongcheng/PaperStatem.vue +6 -1
  30. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  31. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  32. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  33. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  34. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  35. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  36. package/src/filiale/baiyin/android.js +1 -0
  37. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  38. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  39. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  40. package/src/filiale/bayan/android/AddPlanItem.vue +8 -0
  41. package/src/filiale/bayan/android/PaperFeedback.vue +63 -49
  42. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +40 -40
  43. package/src/filiale/bayan/android/SafecheckOrderV.vue +58 -58
  44. package/src/filiale/bayan/android/SafecheckUserInfo.vue +5 -0
  45. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  46. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  47. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  48. package/src/filiale/huaran/android.js +12 -0
  49. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  50. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  51. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  52. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  53. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  54. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  55. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  56. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  57. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  58. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  59. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  60. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  61. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  62. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  63. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  64. package/src/filiale/huaran/pc.js +27 -0
  65. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  66. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  67. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  68. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  69. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  70. package/src/filiale/jiaxian/android.js +4 -0
  71. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  72. package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -1080
  73. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  74. package/src/filiale/jingyang/android.js +15 -15
  75. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  76. package/src/filiale/qianneng/android/SafecheckOrderV.vue +1 -1
  77. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
  78. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
  79. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
  80. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
  81. package/src/filiale/qingtongxia/android.js +14 -10
  82. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  83. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  84. package/src/filiale/ruihua/android.js +11 -0
  85. package/src/filiale/shanxian/android/SafecheckOrderV.vue +1 -1
  86. package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
  87. package/src/filiale/siyang/android/AddPlanItem.vue +450 -0
  88. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
  89. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
  90. package/src/filiale/siyang/android.js +15 -11
  91. package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
  92. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -0
  93. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  94. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -0
  95. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  96. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  97. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  98. package/src/filiale/siyang/pc.js +22 -16
  99. package/src/filiale/tongchuan/android/Select.vue +421 -0
  100. package/src/filiale/tongchuan/android.js +1 -0
  101. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  102. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  103. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  104. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  105. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  106. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  107. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  108. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  109. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  110. package/src/filiale/weinan/android/SafecheckOrderV.vue +6 -2
  111. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
  112. package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
  113. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  114. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  115. package/src/filiale/weinan/pc/checkUserList.vue +49 -113
  116. package/src/filiale/weinan/pc.js +1 -0
  117. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2240
  118. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -592
  119. package/src/filiale/xilan/pc/checkUserList.vue +772 -0
  120. package/src/filiale/xilan/pc.js +12 -0
  121. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +10 -6
  122. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +21 -1
  123. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +23 -11
  124. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  125. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
  126. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  127. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +84 -10
  129. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  130. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  131. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  132. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  133. package/src/main.js +34 -33
  134. package/src/safecheck-android.js +11 -0
  135. package/src/safecheck-page.js +12 -0
  136. package/src/safecheck.js +3 -0
@@ -0,0 +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
+
@@ -162,6 +162,14 @@
162
162
  <p class="panel-title col-xs-4 text-left font">最后安检状态</p>
163
163
  <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>
164
164
  </div>
165
+ <div class="col-xs-12">
166
+ <p class="panel-title col-xs-5 text-left font"><b>隐患处理结果:</b></p>
167
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_rectificationed ? row.f_rectificationed : '' }}</p>
168
+ </div>
169
+ <div class="col-xs-12">
170
+ <p class="panel-title col-xs-5 text-left font"><b>隐患情况:</b></p>
171
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_last_check_result }}</p>
172
+ </div>
165
173
  </div>
166
174
  </div>
167
175
 
@@ -163,7 +163,7 @@
163
163
  title: '设备查看',
164
164
  safe: false
165
165
  })
166
- this.$parent.$parent.$goto('PhoneDevicesInfo', {f_userinfo_id: f_userinfo_id})
166
+ this.$parent.$parent.$goto('PhoneDevicesInfo', {f_userinfo_id: f_userinfo_id,f_user_type:this.userinfo.f_check_type})
167
167
  },
168
168
  cameraCallBack(prop, fileName) {
169
169
  HostApp.__this__.$set(prop, fileName + '?' + Math.random())
@@ -230,6 +230,30 @@
230
230
  v-model="$parent.$parent.check_itemValue"
231
231
  close-on-select clear-button> </v-select>
232
232
  </div>
233
+ <div class="col-sm-4" style="width: 20%">
234
+ <label class="font_normal_body">安检员</label>
235
+ <v-select
236
+ placeholder='安检员'
237
+ :value-single="true"
238
+ class="select select_list"
239
+ :value.sync="model.f_checker_id"
240
+ :options='$parent.$parent.checkersid'
241
+ v-model="model.f_checker_id"
242
+ condition="f_checker_id = '{}'"
243
+ close-on-select clear-button> </v-select>
244
+ </div>
245
+ <!-- <div class="col-sm-4" style="width: 20%">-->
246
+ <!-- <label class="font_normal_body">安检状态</label>-->
247
+ <!-- <v-select-->
248
+ <!-- placeholder='安检状态'-->
249
+ <!-- :value-single="true"-->
250
+ <!-- class="select select_list"-->
251
+ <!-- :value.sync="model.f_entry"-->
252
+ <!-- :options='$parent.$parent.f_entry_status'-->
253
+ <!-- v-model="model.f_entry"-->
254
+ <!-- condition="f_last_check_state= '{}'"-->
255
+ <!-- close-on-select clear-button> </v-select>-->
256
+ <!-- </div>-->
233
257
  <div class="col-sm-8"></div>
234
258
  <div style="float: right;margin-right: 10px">
235
259
  <export-excel-safe :data="$parent.$parent.searchData"
@@ -374,19 +398,18 @@ import * as Util from './../Util'
374
398
  import Vue from 'vue'
375
399
  import {toStandardDateString} from "./../Util";
376
400
 
377
- // let select = function * (self,userid) {
378
- // let http = new HttpResetClass()
379
- // let getGasman = yield http.load('POST','/rs/search', {
380
- // source: 'this.getChildByName($安检员$).getUsers()',
381
- // userid: userid
382
- // }, {resolveMsg: null, rejectMsg: null})
383
- // console.log('获取安检员', getGasman)
384
- // getGasman.data.forEach((checker)=>{
385
- // self.checkersid.push({label:checker.name,value:checker.id})
386
- // })
387
- // self.checkersid.push({label:'全部',value:''})
388
- // }
389
-
401
+ let select = function* (self) {
402
+ let http = new HttpResetClass()
403
+ let getGasman = yield http.load('POST','/rs/search', {
404
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
405
+ userid: self.$login.f.id
406
+ }, {resolveMsg: null, rejectMsg: null})
407
+ //tag
408
+ self.checkersid.push({label: '全部', value: ''})
409
+ getGasman.data.forEach((checker) => {
410
+ self.checkersid.push({label: checker.name, value: checker.id})
411
+ })
412
+ }
390
413
 
391
414
  export default {
392
415
  title: '民用用户安检情况',
@@ -435,7 +458,7 @@ export default {
435
458
  SafeCheckXZs: [{label: '全部', value: ''},{label: '已入户', value: '已入户'}, {label: '未入户', value: '未入户'}], // 安检筛选选项
436
459
  safe_rhs: [{label: '全部', value: ''},{label: '今年已入户', value: '今年已入户'}, {label: '今年未入户', value: '今年未入户'}], // 安检筛选选项
437
460
  SafeCheckSXs: [{label: '是', value: '是'}, {label: '否', value: '否'}, {label: '全部', value: ''},],
438
- checkstatus:[{label: '全部', value: ''},{label: '到访不遇', value: '到访不遇'}, {label: '拒检', value: '拒检'}],
461
+ checkstatus:[{label: '全部', value: ''},{label: '到访不遇', value: '到访不遇'}, {label: '拒检', value: '拒检'},{label: '激光检漏', value: '激光检漏'},{label: '立杠保压', value: '立杠保压'},{label: '室外关阀', value: '室外关阀'}],
439
462
  IsShares: [{label: '是', value: '是'}, {label: '否', value: '否'}],
440
463
  IsShare:'否',
441
464
  checker: {},
@@ -471,7 +494,8 @@ export default {
471
494
  hasHousehold:'',
472
495
  check_items:[{label: '全部', value: ''}, ...this.$appdata.getParam('安检项名')],
473
496
  check_item:'',
474
- check_itemValue:''
497
+ check_itemValue:'',
498
+ // f_entry_status: this.$appdata.getParam('安检状态'),
475
499
  }
476
500
  },
477
501
  props: {
@@ -496,6 +520,8 @@ export default {
496
520
  this.initVillage()
497
521
  this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStandardDateString()
498
522
  this.$refs.paged.$refs.criteria.model.f_check_end = Util.toStandardDateString()
523
+ let gen = select(this)
524
+ co(gen)
499
525
  // this.$refs.paged.$refs.criteria.search();
500
526
  },
501
527
  methods: {
@@ -612,12 +638,13 @@ export default {
612
638
  let con1='1=1 '
613
639
  let con2='1=1 '
614
640
  if(this.SafeCheckXZ == '已入户'){
615
- args.condition += " and r > 0"
641
+ args.condition += " and r > 0 and f_last_check_state = '入户'"
616
642
  con1 += ` and f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
617
643
  con2 += ` and f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
618
644
  //args.condition += " and ( f_last_check_date > '"+ args.model.f_check_end + " 23:59:00' or f_last_check_date < '"+ args.model.f_check_start + " 00:00:00' or f_last_check_date is null)"
619
645
  } else if(this.SafeCheckXZ == '未入户') {
620
646
  args.condition += " and r < 1"
647
+ args.condition += " and f_last_check_state != '入户'"
621
648
  con1 += ` and f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
622
649
  con2 += ` and f_offsite_time > '${args.model.f_check_start}' and f_offsite_time < '${args.model.f_check_end}'`
623
650
  if(args.model.f_check_state=='到访不遇'){
@@ -626,6 +653,9 @@ export default {
626
653
  args.condition += " and j > 0"
627
654
  }
628
655
  }
656
+ if (args.model.f_check_state){
657
+ args.condition += ` and f_last_check_state = '${args.model.f_check_state}'`
658
+ }
629
659
  this.model.check_item=this.check_item
630
660
  this.model.check_itemValue=this.check_itemValue
631
661
  /*if(this.hasHousehold=='今年已入户'){
@@ -54,7 +54,12 @@
54
54
  <label class="text-left font">到访不遇照片:</label>
55
55
  <img-self :src="item.f_noanswer_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
56
56
  <img-self :src="item.f_noanswertwo_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
57
-
57
+ <img-self :src="item.f_noanswer3_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
58
+ <img-self :src="item.f_noanswer4_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
59
+ <img-self :src="item.f_noanswer5_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
60
+ <img-self :src="item.f_noanswer6_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
61
+ <img-self :src="item.f_noanswer7_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
62
+ <img-self :src="item.f_noanswer8_path" alt="到访不遇照片" style=" display: inline-block" width="150" height="200"> </img-self>
58
63
  </div>
59
64
  <div class="col-sm-4 col-xs-4">
60
65
  <div class="auto">
@@ -77,7 +77,8 @@
77
77
  row: Object,
78
78
  userinfo:Object,
79
79
  wid:"60%",
80
- devices_types:[{label:'热水器',value:'热水器'},{label:'壁挂炉',value:'壁挂炉'},{label:'灶具',value:'灶具'}],
80
+ devices_types:Vue.$appdata.getParam('设备类型')?Vue.$appdata.getParam('设备类型'):[{label:'热水器',value:'热水器'},{label:'壁挂炉',value:'壁挂炉'},{label:'灶具',value:'灶具'}],
81
+ // devices_types:[{label:'热水器',value:'热水器'},{label:'壁挂炉',value:'壁挂炉'},{label:'灶具',value:'灶具'}],
81
82
  pipe_types:[{label:'橡胶管',value:'橡胶管'},{label:'波纹管',value:'波纹管'},{label:'钢管',value:'钢管'}],
82
83
  update:false
83
84
  }
@@ -86,6 +87,7 @@
86
87
  user: {
87
88
  type: Object
88
89
  },
90
+ f_user_type:'',
89
91
  f_userinfo_id:''
90
92
  },
91
93
  methods: {
@@ -148,6 +150,19 @@
148
150
 
149
151
  },
150
152
  save(){
153
+ if (this.f_user_type == "非民用") {
154
+ let hasAlarmOrValve = false;
155
+ for (let i = 0; i < this.model.length; i++) {
156
+ if (this.model[i].f_devices_type === '报警器' || this.model[i].f_devices_type === '切断阀') {
157
+ hasAlarmOrValve = true;
158
+ break;
159
+ }
160
+ }
161
+ if (!hasAlarmOrValve) {
162
+ this.$showMessage("请添加报警器或切断阀! ")
163
+ return;
164
+ }
165
+ }
151
166
  if(this.model.length==0){
152
167
  this.$showMessage("请添加设备信息后再点击保存!")
153
168
  return
@@ -300,98 +300,6 @@
300
300
  </div>
301
301
  </div>
302
302
  </div>
303
- <div class="panel auto">
304
- <div class="panel-heading" @click="selectVal('设备信息')" style="background-color: #ffffff">
305
- <span class="spanboder"><img src="../../assets/list.png" style="width: 22px;margin-right: 8px;">设备信息<img
306
- class="butt3" :src="imgback('设备信息')"></span>
307
- </div>
308
- <div class="panel-body" v-show="headername == '设备信息'">
309
- <div class="row" v-for="(idx, row) in devicemodel"
310
- style="border:2px solid #A2C2EB; border-top:10px solid #A2C2EB; box-shadow: #00b3ee;margin-bottom: 10px">
311
- <div class="row auto" style="margin: 5px 0">
312
- <label class="righttxt">设备类型:</label>
313
- <v-select class="rightipt" :value.sync="row.f_devices_type" v-model="row.f_devices_type" placeholder='请选择'
314
- :width='wid' readonly :options="device_type"
315
- close-on-select value-single></v-select>
316
- </div>
317
- <div class="row auto" style="margin: 5px 0">
318
- <label class="righttxt">厂家:</label>
319
- <input type="text" class="form-control rightipt" v-model="row.f_manufactor" />
320
- </div>
321
- <div class="row auto" style="margin: 5px 0">
322
- <label class="righttxt">设备编号:</label><input type="text" class="form-control rightipt"
323
- v-model="row.f_devices_model" />
324
- </div>
325
- <div class="row auto" style="margin: 5px 0">
326
- <label class="righttxt">设备型号:</label><input type="text" class="form-control rightipt"
327
- v-model="row.f_devices_model" />
328
- </div>
329
- <div class="row auto" style="margin: 5px 0">
330
- <label class="righttxt">安&ensp;装&ensp;人:</label><input type="text" class="form-control rightipt"
331
- v-model="row.f_instaler_person" />
332
- </div>
333
- <div class="row auto" style="margin: 5px 0">
334
- <label class="righttxt">安装日期:</label>
335
- <datepicker class="rightipt" :value.sync="row.f_input_date"
336
- v-model="row.f_input_date" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset"
337
- readonly="readonly">
338
- </datepicker>
339
- </div>
340
- <div class="row auto" style="margin: 5px 0" >
341
- <label class="righttxt">生产日期:</label>
342
- <datepicker class="rightipt" :value.sync="row.f_make_date" v-model="row.f_make_date"
343
- :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" >
344
- </datepicker>
345
- </div>
346
- <div class="row auto" style="margin: 5px 0">
347
- <label class="righttxt">设备数量:</label>
348
- <input type="number" class="form-control rightipt" v-model="row.f_devices_num" />
349
- </div>
350
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '报警器'">
351
- <label class="righttxt">首校日期:</label>
352
- <datepicker class="rightipt" :value.sync="row.f_firstcheck_date" v-model="row.f_firstcheck_date"
353
- :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" >
354
- </datepicker>
355
- </div>
356
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '报警器'">
357
- <label class="righttxt">报废日期:</label>
358
- <datepicker class="rightipt" :value.sync="row.f_expire_date" v-model="row.f_expire_date"
359
- :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" >
360
- </datepicker>
361
- </div>
362
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '报警器'">
363
- <label class="righttxt">下次校验:</label>
364
- <datepicker class="rightipt" :value.sync="row.f_nextcheck_date" v-model="row.f_nextcheck_date"
365
- :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" >
366
- </datepicker>
367
- </div>
368
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '切断阀'">
369
- <label class="righttxt">报废日期:</label>
370
- <datepicker class="rightipt" :value.sync="row.f_expire_date" v-model="row.f_expire_date"
371
- :disabled-days-of-Week="[]" :format="'yyyy-MM-dd'" :show-reset-button="reset" >
372
- </datepicker>
373
- </div>
374
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '调压器'">
375
- <label class="righttxt">流量:</label>
376
- <input type="number" class="form-control rightipt" v-model="row.f_rate_flow" />
377
- </div>
378
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '调压器'">
379
- <label class="righttxt">出口压力:</label>
380
- <input type="text" class="form-control rightipt" v-model="row.f_pressure_range" />
381
- </div>
382
- <div class="row auto" style="margin: 5px 0" v-show="row.f_devices_type == '调压器'">
383
- <label class="righttxt">进口压力:</label>
384
- <input type="text" class="form-control rightipt" v-model="row.f_import_pressure" />
385
- </div>
386
- <div style="display: flex;justify-content: center;margin-bottom: 3px">
387
- <button class="btn btn-warning" @click="deleteDevice($index)">删除设备</button>
388
- </div>
389
- </div>
390
- <div style="display: flex;justify-content: space-around;">
391
- <button class="col-sm-3 btn btn-primary" @click="pushDevices($index)">新增设备</button>
392
- </div>
393
- </div>
394
- </div>
395
303
  <div class="panel auto">
396
304
  <div class="panel-body">
397
305
  <div style="display: flex;justify-content: center;">
@@ -272,6 +272,7 @@ export default {
272
272
  header: '拍照签名',complete:'paper-feedback', class: 'outlay-class', props: null
273
273
  }
274
274
  ],
275
+ changeinfo:'',
275
276
  faultshow:{
276
277
  number : 8
277
278
  } // 控制 故障汇总 在 菜单里显示与否,
@@ -1063,6 +1064,7 @@ export default {
1063
1064
  // }
1064
1065
  // })
1065
1066
  codata.f_devices = this.f_devices
1067
+ this.changeinfo=codata
1066
1068
  let param = {
1067
1069
  f_check_item_id: this.data.f_check_item_id,
1068
1070
  f_checker_id: this.data.f_checker_id,
@@ -1118,6 +1120,7 @@ export default {
1118
1120
  // }
1119
1121
  // })
1120
1122
  codata.f_devices = this.f_devices
1123
+ this.changeinfo=codata
1121
1124
  let param = {
1122
1125
  f_check_item_id: this.data.f_check_item_id,
1123
1126
  f_checker_id: this.data.f_checker_id,
@@ -1276,6 +1279,11 @@ export default {
1276
1279
  'backresult':backresult
1277
1280
  })
1278
1281
  },
1282
+ changeinfos(){
1283
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/changeuserinfo`, {data:this.changeinfo
1284
+ }).then(res4 =>{
1285
+ })
1286
+ },
1279
1287
  saveCallBack(jo){
1280
1288
  //tag)
1281
1289
  this.isdisable = false
@@ -1284,6 +1292,7 @@ export default {
1284
1292
  //tag)
1285
1293
  if(res.code == 200){
1286
1294
  //tag
1295
+ this.changeinfos()
1287
1296
  if(!this.onlySave){
1288
1297
  let codata = this.getAllDefect()
1289
1298
  //获取微信推送内容
@@ -1776,10 +1785,10 @@ export default {
1776
1785
  // 用户信息
1777
1786
  this.$set('data.f_user_name', this.item.f_user_name)
1778
1787
  this.$set('data.f_user_phone', this.item.f_user_phone)
1779
- this.$set('data.f_used_name', this.item.f_used_name)
1780
- this.$set('data.f_rent_phone', this.item.f_rent_phone)
1788
+ this.$set('data.f_used_name', this.item.f_plan_meters[0].f_used_name)
1789
+ this.$set('data.f_rent_phone',this.item.f_plan_meters[0].f_rent_phone)
1781
1790
  this.$set('data.f_remark', '')
1782
- this.$set('data.f_user_phone2', this.item.f_user_phone2)
1791
+ this.$set('data.f_user_phone2',this.item.f_plan_meters[0].f_user_phone2)
1783
1792
  this.$set('data.f_userinfoid', this.item.f_userinfoid)
1784
1793
  this.$set('data.f_address', this.item.f_address)
1785
1794
  this.$set('data.f_small_area', this.item.f_small_area)
@@ -291,6 +291,7 @@
291
291
  header: '拍照签名',complete:'paper-feedback', class: 'outlay-class', props: null
292
292
  }
293
293
  ],
294
+ changeinfo:'',
294
295
  faultshow:{
295
296
  number : 8
296
297
  } // 控制 故障汇总 在 菜单里显示与否,
@@ -1076,6 +1077,7 @@
1076
1077
  // }
1077
1078
  // })
1078
1079
  codata.f_devices = this.f_devices
1080
+ this.changeinfo=codata
1079
1081
  let param = {
1080
1082
  f_check_item_id: this.data.f_check_item_id,
1081
1083
  f_checker_id: this.data.f_checker_id,
@@ -1131,6 +1133,7 @@
1131
1133
  // }
1132
1134
  // })
1133
1135
  codata.f_devices = this.f_devices
1136
+ this.changeinfo=codata
1134
1137
  let param = {
1135
1138
  f_check_item_id: this.data.f_check_item_id,
1136
1139
  f_checker_id: this.data.f_checker_id,
@@ -1289,6 +1292,11 @@
1289
1292
  'backresult':backresult
1290
1293
  })
1291
1294
  },
1295
+ changeinfos(){
1296
+ this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/changeuserinfo`, {data:this.changeinfo
1297
+ }).then(res4 =>{
1298
+ })
1299
+ },
1292
1300
  saveCallBack(jo){
1293
1301
  //tag)
1294
1302
  this.isdisable = false
@@ -1297,6 +1305,7 @@
1297
1305
  //tag)
1298
1306
  if(res.code == 200){
1299
1307
  //tag
1308
+ this.changeinfos()
1300
1309
  if(!this.onlySave){
1301
1310
  let codata = this.getAllDefect()
1302
1311
  //获取微信推送内容