safecheck-client 4.0.2-6 → 4.0.2-62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/package.json +1 -1
  2. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  3. package/src/components/android/AndroidNotifiedDeal.vue +417 -0
  4. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  5. package/src/components/android/SafeRightTree.vue +218 -218
  6. package/src/components/android/SafecheckDevices.vue +1340 -1340
  7. package/src/components/android/week/CheckResultSimple.vue +251 -0
  8. package/src/components/android/week/FirstWeekCheck.vue +275 -0
  9. package/src/components/android/week/StepHeaderBar.vue +457 -0
  10. package/src/components/android/week/WeekCheck.vue +209 -0
  11. package/src/components/android/week/WeekCheckPaper.vue +219 -0
  12. package/src/components/android/week/WeekCheckPlan.vue +145 -0
  13. package/src/components/checkplan/SelectCheckPlan.vue +39 -0
  14. package/src/components/paper/safetyledger.vue +198 -0
  15. package/src/components/pc/CheckBook.vue +303 -303
  16. package/src/components/pc/CheckBookArea.vue +146 -146
  17. package/src/components/pc/CheckBookCompany.vue +144 -144
  18. package/src/components/pc/CheckBookDetails.vue +161 -161
  19. package/src/components/pc/CheckBookEntry.vue +60 -60
  20. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  21. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  22. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  23. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  24. package/src/components/pc/DefectDeal.vue +6 -2
  25. package/src/components/planmanage/checkUserList.vue +1 -1
  26. package/src/components/querycheckpaper/CheckSearchUser.vue +2 -1
  27. package/src/components/report/CheckPlanAreaList.vue +53 -7
  28. package/src/filiale/jinhong/android/AddPlanItem.vue +481 -0
  29. package/src/filiale/jinhong/android/AndroidDefectDeal.vue +722 -0
  30. package/src/filiale/jinhong/android/AndroidNotifiedDeal.vue +521 -0
  31. package/src/filiale/jinhong/android/CurrentCreate.vue +1355 -1313
  32. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +28 -3
  33. package/src/filiale/jinhong/android/SafecheckOrderV.vue +2300 -0
  34. package/src/filiale/jinhong/android.js +15 -11
  35. package/src/filiale/jinhong/pc/CheckBookList.vue +28 -18
  36. package/src/filiale/jinhong/pc/CheckSearchUser.vue +42 -2
  37. package/src/filiale/jinhong/pc/NewCheckpaper.vue +1958 -0
  38. package/src/filiale/jinhong/pc/PaperList.vue +5 -1
  39. package/src/filiale/jinhong/pc/checkPlanList.vue +73 -24
  40. package/src/filiale/jinhong/pc/checkUserList.vue +806 -770
  41. package/src/filiale/jinhong/pc.js +1 -0
  42. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  43. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  44. package/src/filiale/meihekou/android/CurrentCreate.vue +16 -0
  45. package/src/filiale/meihekou/android/PaperFeedback.vue +1545 -1542
  46. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1340
  47. package/src/filiale/meihekou/android/SafecheckOrderV.vue +27 -28
  48. package/src/filiale/meihekou/android.js +22 -22
  49. package/src/filiale/meihekou/pc/CheckDetail.vue +217 -0
  50. package/src/filiale/meihekou/pc/CheckPlan.vue +52 -0
  51. package/src/filiale/meihekou/pc/CheckPlanAreaList.vue +505 -0
  52. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -1
  53. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2051 -2050
  54. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1 -0
  55. package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -0
  56. package/src/filiale/meihekou/pc.js +18 -15
  57. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +2 -2
  58. package/src/filiale/taiyuan/android/AddPlanItem.vue +1 -0
  59. package/src/filiale/taiyuan/android/SafecheckDevices.vue +1343 -0
  60. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +17 -17
  61. package/src/filiale/taiyuan/android.js +1 -0
  62. package/src/filiale/xinkang/android/SafecheckDevices.vue +2 -2
  63. package/src/filiale/xinkang/android/SafecheckOrderV.vue +9 -2
  64. package/src/filiale/xinkang/pc/NewCheckpaper.vue +17 -46
  65. package/src/filiale/xinliansihui/pc/PaperList.vue +814 -0
  66. package/src/filiale/xinliansihui/pc/PaperVisitMain.vue +206 -0
  67. package/src/filiale/xinliansihui/pc.js +13 -0
  68. package/src/safecheck-android.js +12 -0
  69. package/src/safecheck.js +3 -0
@@ -0,0 +1,457 @@
1
+ <template>
2
+ <div class="auto">
3
+ <div class="step-header">
4
+ <div class="step-track">
5
+ <div v-for="(idx, s) in steps" :key="idx" class="step-item">
6
+ <div style="display: flex;align-items: center;">
7
+ <!-- 分隔线(仅在非第一个步骤时显示) -->
8
+ <div v-if="idx !== 0" class="step-divider" :class="{ active: idx <= current }"></div>
9
+ <!-- 圆形数字 -->
10
+ <div class="step-number" :class="{ active: idx <= current }" @click="weekCheckChange(s,idx)">
11
+ {{ idx + 1 }}
12
+ </div>
13
+ </div>
14
+ <!-- 步骤标题 -->
15
+ <div class="step-title">{{ s }}</div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <check-rsult-simple :itemname="itemname" :items="weekCheck" ></check-rsult-simple>
20
+ <div class="row text-center" style="margin-top: 20px;">
21
+ <button v-if="showbutton" type="button" class="col-sm-3 btn btn-primary" @click="uploadCheckPaper">提交</button>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import {HttpResetClass, PagedList} from 'vue-client'
28
+ import Vue from 'vue'
29
+ import * as Util from '../../Util'
30
+
31
+ export default {
32
+ title: '周检待办详情',
33
+ props: {
34
+ weekdata:{
35
+ type: Object,
36
+ default () {
37
+ return {}
38
+ }
39
+ }
40
+ },
41
+ data () {
42
+ return {
43
+ weekConfig:{},
44
+ weekCheck: [],
45
+ steps: [],
46
+ current: null,
47
+ showbutton:false,
48
+ weekCheckPaper:{},
49
+ itemname:''
50
+ }
51
+ },
52
+ ready () {
53
+ if (!Util.isEmpty(this.weekdata.paper_id)){
54
+ const http = new HttpResetClass()
55
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckPaperById`, {id: this.weekdata.paper_id }).then(res=>{
56
+ console.log('res', res.data)
57
+ this.weekCheckPaper = res.data
58
+ if (this.weekdata.f_complete == '已完成'){
59
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
60
+ this.steps = []
61
+ json.forEach((row) => {
62
+ this.steps.push(row.itemname)
63
+ })
64
+ this.current = json.length
65
+ this.weekCheckChange(json[json.length-1].itemname,json.length-1)
66
+ }else {
67
+ this.getweekconfig(this.weekdata.safechecktype_id)
68
+ }
69
+ })
70
+ }else {
71
+ this.getweekconfig(this.weekdata.safechecktype_id)
72
+ }
73
+ },
74
+ computed: {
75
+ },
76
+ methods:{
77
+ // 获取周检配置
78
+ getweekconfig(row){
79
+ const http = new HttpResetClass()
80
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeById`, {id: row }).then(res=>{
81
+ if (res.data && res.data.length > 0 ){
82
+ this.weekConfig = res.data[0]
83
+ const json = JSON.parse(this.weekConfig.f_json)
84
+ if (json && json.length > 0){
85
+ this.steps = []
86
+ json.forEach((row,index) => {
87
+ if (Util.isEmpty(this.weekdata.f_complete)){
88
+ this.current = 0
89
+ }else if (row.itemname === this.weekdata.f_complete){
90
+ this.current = index+1
91
+ }
92
+ this.steps.push(row.itemname)
93
+ })
94
+ if (Util.isEmpty(this.weekdata.f_complete)){
95
+ this.weekCheckChange(json[0].itemname,this.current)
96
+ }else {
97
+ if (this.weekdata.f_complete != '已完成'){
98
+ this.weekCheckChange(this.steps[this.current],this.current)
99
+ }
100
+ }
101
+ }
102
+ }
103
+ })
104
+ },
105
+ // 获取当前环节周检配置
106
+ weekCheckChange(row,id){
107
+ if (this.current < id) {
108
+ this.weekCheck = []
109
+ this.showbutton = false
110
+ this.$showMessage('请先完成当前环节!')
111
+ }
112
+ else if (this.current == id){
113
+ this.showbutton = true
114
+ const json = JSON.parse(this.weekConfig.f_json)
115
+ this.weekCheck = []
116
+ if (json && json.length > 0){
117
+ if (Util.isEmpty(row)){
118
+ json[0].items.forEach(row => {
119
+ this.weekCheck.push({
120
+ f_item_name: row.itemname,
121
+ f_item_value: row.f_item_value || '',
122
+ options:row.options,
123
+ type: row.type,
124
+ isshow:true,
125
+ images: row.images|| [],
126
+ multiple: row.multiple?row.multiple:false,
127
+ readonly:false,
128
+ state:'未检'
129
+ })
130
+ })
131
+ }
132
+ else {
133
+ for (let i = 0; i < json.length; i++){
134
+ if (json[i].itemname === row){
135
+ json[i].items.forEach(row => {
136
+ this.weekCheck.push({
137
+ f_item_name: row.itemname,
138
+ f_item_value: row.f_item_value || '',
139
+ options:row.options,
140
+ type: row.type,
141
+ isshow:true,
142
+ images: row.images|| [],
143
+ multiple: row.multiple?row.multiple:false,
144
+ readonly:false,
145
+ state:'未检'
146
+ })
147
+ })
148
+ }
149
+ }
150
+ }
151
+ }
152
+ this.setFormData()
153
+ }
154
+ else if (this.current > id){
155
+ this.showbutton = false
156
+ this.weekCheck = []
157
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
158
+ json.forEach(res=>{
159
+ if (res.itemname === row){
160
+ res.items.forEach(row => {
161
+ this.weekCheck.push({
162
+ f_item_name: row.f_item_name,
163
+ f_item_value: row.f_item_value || '',
164
+ options:row.options,
165
+ type: row.type,
166
+ isshow:true,
167
+ images: row.images|| [],
168
+ multiple: row.multiple?row.multiple:false,
169
+ readonly:true,
170
+ state:'已检'
171
+ })
172
+ })
173
+ }
174
+ })
175
+ }
176
+ else {
177
+ this.showbutton = false
178
+ const json = JSON.parse(this.weekCheckPaper.f_safe_content)
179
+ this.weekCheck = []
180
+ json[0].items.forEach(row => {
181
+ this.weekCheck.push({
182
+ f_item_name: row.f_item_name,
183
+ f_item_value: row.f_item_value || '',
184
+ options:row.options,
185
+ type: row.type,
186
+ isshow:true,
187
+ images: row.images|| [],
188
+ multiple: row.multiple?row.multiple:false,
189
+ readonly:true,
190
+ state:'已检'
191
+ })
192
+ })
193
+ }
194
+ this.watchitem()
195
+ this.itemname = row
196
+ },
197
+ // 表单数据
198
+ setFormData(){
199
+ this.weekCheck.forEach(item=>{
200
+ if (item.f_item_name === '表号' && !Util.isEmpty(this.weekdata.f_meternumber)){
201
+ item.f_item_value = this.weekdata.f_meternumber
202
+ item.readonly = true
203
+ }
204
+ if (item.f_item_name === '气表品牌' && !Util.isEmpty(this.weekdata.f_meter_brand)){
205
+ item.f_item_value = this.weekdata.f_meter_brand
206
+ item.readonly = true
207
+ }
208
+ if (item.f_item_name === '气表型号' && !Util.isEmpty(this.weekdata.f_meter_style)){
209
+ item.f_item_value = this.weekdata.f_meter_style
210
+ item.readonly = true
211
+ }
212
+ if (item.f_item_name === '表具状态' && !Util.isEmpty(this.weekdata.f_table_state)){
213
+ item.f_item_value = this.weekdata.f_table_state
214
+ item.readonly = true
215
+ }
216
+ })
217
+ },
218
+ // 监听表单
219
+ watchitem(){
220
+ for (let item in this.weekCheck) {
221
+ if (this.weekCheck[item].f_item_name === "是否停用表具") {
222
+ this.$watch('weekCheck[' + item + '].f_item_value', function (val) {
223
+ if (val === '是') {
224
+ this.weekCheck.forEach((item) => {
225
+ if (item.f_item_name === '是否停用表具' || item.f_item_name === '停用备注' || item.f_item_name === '停用图片') {
226
+ item.isshow = true
227
+ } else {
228
+ item.isshow = false
229
+ }
230
+ })
231
+ }
232
+ if (val === '否') {
233
+ this.weekCheck.forEach((item) => {
234
+ if (item.f_item_name === '停用备注' || item.f_item_name === '停用图片') {
235
+ item.f_item_value = ''
236
+ item.images = []
237
+ item.isshow = false
238
+ } else {
239
+ item.isshow = true
240
+ }
241
+ })
242
+ }
243
+ })
244
+ }
245
+ if (this.weekCheck[item].f_item_name === "检定结果") {
246
+ this.$watch('weekCheck[' + item + '].f_item_value', function (val) {
247
+ if (val === '不合格') {
248
+ this.weekCheck.forEach((item) => {
249
+ if (item.f_item_name === '检定结果' || item.f_item_name === '处理方式' ) {
250
+ item.isshow = true
251
+ } else {
252
+ item.f_item_value = ''
253
+ item.isshow = false
254
+ }
255
+ })
256
+ }
257
+ if (val === '合格') {
258
+ this.weekCheck.forEach((item) => {
259
+ if (item.f_item_name === '处理方式' ) {
260
+ item.f_item_value = ''
261
+ item.isshow = false
262
+ } else {
263
+ item.isshow = true
264
+ }
265
+ })
266
+ }
267
+ })
268
+ }
269
+ }
270
+ },
271
+ async commitCallBack(jo) {
272
+ if (jo.state != 'ok'){
273
+ this.$showMessage('上传图片失败')
274
+ throw '上传图片失败'
275
+ }
276
+ },
277
+ async uploadCheckPaperPics () {
278
+ let tableImages = []
279
+ this.weekCheck.forEach((item) => {
280
+ if (item.type == 'picture'){
281
+ item.images.forEach(image=>{
282
+ image.filename = image.f_path.substring(image.f_path.lastIndexOf('/')+1)
283
+ tableImages.push({
284
+ path: image.f_path,
285
+ })
286
+ })
287
+ }
288
+ })
289
+ HostApp.__this__ = this
290
+ HostApp.logicWithHint({
291
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
292
+ 'data': {tableImages:tableImages}, 'backresult': 1
293
+ })
294
+ },
295
+ async uploadCheckPaper () {
296
+ await this.uploadCheckPaperPics()
297
+ const http = new HttpResetClass()
298
+ let json = []
299
+ if (this.weekCheckPaper && !Util.isEmpty(this.weekCheckPaper.f_safe_content)){
300
+ json = JSON.parse(this.weekCheckPaper.f_safe_content)
301
+ }
302
+ JSON.parse(this.weekConfig.f_json).forEach(res=>{
303
+ if (res.itemname === this.steps[this.current]){
304
+ res.items = this.weekCheck
305
+ json.push(res)
306
+ }
307
+ })
308
+ let data = {
309
+ f_userinfo_id: this.weekdata.f_userinfo_id,
310
+ f_user_name: this.weekdata.f_user_name,
311
+ f_user_phone: this.weekdata.f_user_phone,
312
+ f_meter_brand: this.weekdata.f_meter_brand,
313
+ f_meter_style: this.weekdata.f_meter_style,
314
+ f_meternumber: this.weekdata.f_meternumber,
315
+ f_address: this.weekdata.f_address,
316
+ f_checker_id: Vue.user.id,
317
+ f_checker_name: Vue.user.name,
318
+ f_safe_type: '周检',
319
+ f_entry_status :'正常',
320
+ f_week_check_result: '合格',
321
+ f_table_state: this.weekdata.f_table_state,
322
+ f_safe_content: json,
323
+ f_safecheck_type_id: this.weekdata.safechecktype_id,
324
+ f_check_item_id: this.weekdata.id,
325
+ f_check_plan_id: this.weekdata.f_plan_id,
326
+ f_upload_date: Util.toStandardTimeString(),
327
+ f_filiale_id: Vue.user.orgid,
328
+ f_filiale: Vue.user.orgs,
329
+ }
330
+ if (!Util.isEmpty(this.weekdata.paper_id)){
331
+ data.id = this.weekdata.paper_id
332
+ }
333
+ if (this.steps[this.current] == '上传报告'){
334
+ data.f_current_complete = '已完成'
335
+ data.f_complete = '已完成'
336
+ data.f_state = '已检'
337
+ data.f_entry_status = '正常'
338
+ }else {
339
+ data.f_current_complete = this.steps[this.current + 1]
340
+ data.f_complete = this.steps[this.current]
341
+ data.f_state = '未检'
342
+ }
343
+ this.weekCheck.forEach(item => {
344
+ if (this.steps[this.current] == '下表'){
345
+ if (item.f_item_name === '是否停用表具'){
346
+ if (item.f_item_value == '是'){
347
+ data.f_table_state = '停用'
348
+ data.f_complete = '已完成'
349
+ data.f_state = '已检'
350
+ }
351
+ }
352
+ }
353
+ if (this.steps[this.current] == '输入检定结果'){
354
+ if (item.f_item_name === '处理方式' ){
355
+ if (!Util.isEmpty(item.f_item_value)){
356
+ data.f_entry_status = item.f_item_value
357
+ data.f_complete = '已完成'
358
+ data.f_state = '已检'
359
+ }
360
+ }
361
+ if (item.f_item_name === '检定结果' ){
362
+ data.f_week_check_result = item.f_item_value
363
+ }
364
+ if (item.f_item_name === '检定机构' ){
365
+ data.f_last_inspection_agency = item.f_item_value
366
+ }
367
+ }
368
+ if (this.steps[this.current] == '上传报告'){
369
+ if (item.f_item_name === '检定时间' ){
370
+ data.f_complete_date = item.f_item_value
371
+ }
372
+ }
373
+ })
374
+
375
+
376
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, data).then(res=>{
377
+ console.log('res', res.data)
378
+ this.weekCheckPaper = res.data[0]
379
+ })
380
+ this.$dispatch('confirm')
381
+ }
382
+ }
383
+ }
384
+ </script>
385
+
386
+ <style scoped>
387
+ .step-header {
388
+ background: #ffffff;
389
+ padding: 15px 20px;
390
+ }
391
+
392
+ .step-track {
393
+ display: flex;
394
+ justify-content: flex-start;
395
+ padding: 0 10px;
396
+ font-size: 14px;
397
+ color: #666;
398
+ overflow-x: auto; /* 启用横向滚动 */
399
+ /* 隐藏滚动条 */
400
+ scrollbar-width: none; /* Firefox */
401
+ -ms-overflow-style: none; /* IE/Edge */
402
+ }
403
+
404
+ /* 隐藏WebKit浏览器的滚动条 */
405
+ .step-track::-webkit-scrollbar {
406
+ display: none;
407
+ }
408
+
409
+ .step-item {
410
+ position: relative;
411
+ display: flex;
412
+ flex-direction: column;
413
+ align-items: end;
414
+ }
415
+
416
+ .step-number {
417
+ width: 30px;
418
+ height: 30px;
419
+ border-radius: 50%;
420
+ background: #e0e0e0;
421
+ color: #666;
422
+ line-height: 30px;
423
+ text-align: center;
424
+ font-weight: bold;
425
+ font-size: 14px;
426
+ transition: all 0.3s ease;
427
+ }
428
+
429
+ .step-number.active {
430
+ background: #499EDF;
431
+ color: white;
432
+ }
433
+
434
+ .step-title {
435
+ margin-top: 8px;
436
+ font-size: 14px;
437
+ color: #666;
438
+ font-weight: 500;
439
+ width: 3em;
440
+ text-align: center;
441
+ word-break: break-all;
442
+ line-height: 1.4;
443
+ }
444
+
445
+ /* 分隔线 */
446
+ .step-divider {
447
+ width: 80px;
448
+ height: 2px;
449
+ background: #e0e0e0;
450
+ margin: 0 16px;
451
+ transition: all 0.3s ease;
452
+ }
453
+
454
+ .step-divider.active {
455
+ background: #499EDF;
456
+ }
457
+ </style>
@@ -0,0 +1,209 @@
1
+ <template>
2
+ <div class="auto">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfsearch' v-ref:cri>
5
+ <div partial>
6
+ <form>
7
+ <div class="row app-row">
8
+ <div class="col-xs-4">
9
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
+ <label class="font text-left">用户名称:</label>
11
+ </div>
12
+ <div class="col-xs-8" >
13
+ <input class="search_input input-font"
14
+ v-model=model.f_user_name condition="twpi.f_user_name like '%{}%'" style="width: 70%" placeholder="请输入用户名称" />
15
+ </div>
16
+ </div>
17
+ <div class="row app-row">
18
+ <div class="col-xs-4">
19
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
20
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
21
+ </div>
22
+ <div class="col-xs-8" >
23
+ <input class="search_input input-font"
24
+ v-model=model.f_meternumber condition="tu.f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
25
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
26
+ </div>
27
+ </div>
28
+ <div class="row app-row">
29
+ <div class="col-xs-4">
30
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
31
+ <label class="font text-left">基表号:</label>
32
+ </div>
33
+ <div class="col-xs-8" >
34
+ <input class="search_input input-font"
35
+ v-model="model.f_base_meternumber" condition="tu.f_base_meternumber like '%{}%'" />
36
+ </div>
37
+ </div>
38
+ <div class="row app-row">
39
+ <div class="col-xs-4">
40
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
41
+ <label class="font text-left">用户地址:</label>
42
+ </div>
43
+ <div class="col-xs-8" >
44
+ <input class="search_input input-font"
45
+ v-model=model.f_address condition="twpi.f_address like '%{}%'" />
46
+ </div>
47
+ </div>
48
+ <div class="row app-row">
49
+ <div class="col-xs-4">
50
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
51
+ <label class="font text-left">周检环节:</label>
52
+ </div>
53
+ <div class="col-xs-8" >
54
+ <v-select id="f_complete"
55
+ :value.sync="model.f_current_complete"
56
+ class="input-font"
57
+ :options='$parent.$parent.completes'
58
+ placeholder='请选择周检环节'
59
+ v-model="model.f_current_complete"
60
+ condition="twpi.f_current_complete like '%{}%'"
61
+ close-on-select clear-button></v-select>
62
+ </div>
63
+ </div>
64
+ <div class="row text-center" style="margin-top: 20px;">
65
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
66
+ </div>
67
+ </form>
68
+ </div>
69
+ </criteria>
70
+
71
+ <list :model="model" partial='list'>
72
+ <div partial>
73
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
74
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
75
+ <div class="panel-body panel-self">
76
+ <div class="row">
77
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
78
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_id }}</p>
79
+ </div>
80
+ <div class="row">
81
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
82
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
83
+ </div>
84
+ <div class="row">
85
+ <p class="panel-title col-xs-4 text-left font">表号</p>
86
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
87
+ </div>
88
+ <div class="row">
89
+ <p class="panel-title col-xs-4 text-left font">周检环节</p>
90
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_current_complete }}</p>
91
+ </div>
92
+ <div class="row">
93
+ <p class="panel-title col-xs-4 text-left font">周检状态</p>
94
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_state }}</p>
95
+ </div>
96
+ </div>
97
+ </div>
98
+
99
+ </div>
100
+ </div>
101
+ </list>
102
+ </criteria-paged>
103
+ </div>
104
+ </template>
105
+
106
+ <script>
107
+ import {HttpResetClass, PagedList} from 'vue-client'
108
+ import Vue from 'vue'
109
+ import * as Util from '../../Util'
110
+
111
+ export default {
112
+ title: '周检待办',
113
+ props: ['planid'],
114
+ data () {
115
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getWeekPlanitem`, 20,
116
+ {
117
+ f_user_name:'this.f_user_name',
118
+ })
119
+ model.f_user_name = `${Vue.user.name}`
120
+ return {
121
+ model: model,
122
+ completes:[
123
+ {label:'请选择周检环节',value:''},
124
+ {label:'下表',value:'下表'},
125
+ {label:'输入检定结果',value:'输入检定结果'},
126
+ {label:'装表',value:'装表'},
127
+ {label:'上传报告',value:'上传报告'},
128
+ ]
129
+ }
130
+ },
131
+ ready () {
132
+ this.reload()
133
+ },
134
+ computed: {
135
+ },
136
+ methods:{
137
+ scan(){
138
+ HostApp.__this__=this,
139
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
140
+ },
141
+ getCode(){
142
+ let datapa = HostApp.getCode().data;
143
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
144
+ },
145
+ reload(){
146
+ this.$refs.paged.$refs.cri.search()
147
+ },
148
+ selfsearch(args){
149
+ args.condition += ` AND twp.id = ${this.planid}`
150
+ this.model.search(args.condition, args.model, args.condValue)
151
+ },
152
+ inspect (row) {
153
+ var pardate = {
154
+ _this:this,
155
+ tittle:'周检单填写',
156
+ safe:true
157
+ }
158
+ this.$dispatch('gotoson',pardate)
159
+ this.$goto('step-header-bar', {weekdata: row}, 'self',this.reload)
160
+
161
+ },
162
+ }
163
+ }
164
+ </script>
165
+ <style scoped>
166
+ .app-row {
167
+ background-color: white;
168
+ padding: 10px 10px 0 10px;
169
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
170
+ }
171
+ .search_input {
172
+ border: 0;
173
+ outline: none;
174
+ }
175
+ .font{
176
+ font: 15px PingFang-SC-Medium;
177
+ color: #666666;
178
+ }
179
+ .input-font{
180
+ font: 15px PingFang-SC-Medium;
181
+ color: #333333;
182
+ }
183
+ .btn-font{
184
+ font:600 16px PingFang-SC-Bold;
185
+ color: #499EDF;
186
+ }
187
+ .btn-color{
188
+ background-color: #FFFFFF;
189
+ border-radius: 10px ;
190
+ border: 1px solid #499EDF;
191
+ }
192
+ .app-text {
193
+ font-size: 12px;
194
+ }
195
+ .panel-self{
196
+ border-radius: 10px;
197
+ border:1px solid #499EDF;
198
+ background-color: #F8F8F8;
199
+ }
200
+ .yybtn-color{
201
+ border-radius: 4px ;
202
+ border: 1px solid #499EDF;
203
+ }
204
+ .qxbtn-color{
205
+ background-color: #FFFFFF;
206
+ border-radius: 4px ;
207
+ border: 1px solid #499EDF;
208
+ }
209
+ </style>