safecheck-client 4.0.0-6 → 4.0.0-61

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 (99) hide show
  1. package/package.json +1 -1
  2. package/src/components/Util/ImgSelfSafePlus.vue +13 -3
  3. package/src/components/android/AndroidDefectDeal.vue +1 -1
  4. package/src/components/android/AndroidDefectDealBeforeSafe.vue +1 -1
  5. package/src/components/android/AndroidDefectDetails.vue +725 -0
  6. package/src/components/android/BlackUserOnLine.vue +2 -2
  7. package/src/components/android/Insurance/PhoneInsurancePurchase.vue +1 -1
  8. package/src/components/android/PaperFeedback.vue +14 -12
  9. package/src/components/android/PaperFeedbackTemp.vue +2 -2
  10. package/src/components/android/PhoneUpUserinfo.vue +20 -0
  11. package/src/components/android/RelieveRestrict.vue +1 -1
  12. package/src/components/android/Restriction.vue +1 -1
  13. package/src/components/android/SafecheckDevices.vue +47 -2
  14. package/src/components/android/SafecheckOrderV.vue +2 -2
  15. package/src/components/android/SealBind.vue +392 -0
  16. package/src/components/android/SealManage.vue +250 -0
  17. package/src/components/inspections/inspectionFeedback.vue +2 -2
  18. package/src/components/paper/PaperList.vue +34 -6
  19. package/src/components/pc/AddToCheckBook.vue +100 -23
  20. package/src/components/pc/CheckBook.vue +2 -0
  21. package/src/components/pc/CheckBookDetails.vue +6 -39
  22. package/src/components/pc/CheckBookEntry.vue +6 -7
  23. package/src/components/pc/CheckBookList.vue +60 -71
  24. package/src/components/pc/CheckBookSearchArea.vue +20 -24
  25. package/src/components/pc/CheckBookSearchUser.vue +139 -84
  26. package/src/components/pc/CheckBookSearchUserList.vue +1 -2
  27. package/src/components/pc/CheckBookUser.vue +276 -44
  28. package/src/components/pc/NewCheckpaper.vue +14 -8
  29. package/src/components/pc/NewCheckpaperTemp.vue +5 -5
  30. package/src/components/pc/PaperDefectMain.vue +1 -0
  31. package/src/components/planmanage/PlanManage.vue +6 -8
  32. package/src/components/rongcheng/AspPaperFeedback.vue +1 -1
  33. package/src/components/rongcheng/PaperFeedback.vue +2 -2
  34. package/src/components/safecheck/queryManage/CheckBookAll.vue +2 -2
  35. package/src/filiale/ancheng/android/PaperFeedback.vue +2 -2
  36. package/src/filiale/ankangyihua/android/AndroidDefectDeal.vue +1 -1
  37. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +1 -1
  38. package/src/filiale/bayan/android/PaperFeedback.vue +2 -2
  39. package/src/filiale/fugou/pc/PaperDefectMain.vue +1 -1
  40. package/src/filiale/hanzhong/android/PaperFeedback.vue +2 -2
  41. package/src/filiale/huatong/android/PaperFeedback.vue +2 -2
  42. package/src/filiale/huayin/android/PaperFeedback.vue +2 -2
  43. package/src/filiale/huayin/android/SafecheckOrderV.vue +1 -1
  44. package/src/filiale/jiaocheng/android/PaperFeedback.vue +2 -2
  45. package/src/filiale/jingyang/android/PaperFeedback.vue +2 -2
  46. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +437 -366
  47. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +346 -0
  48. package/src/filiale/jinhong/android.js +1 -0
  49. package/src/filiale/kelai/android/AndroidDefectDeal.vue +2 -2
  50. package/src/filiale/kelai/android/PaperFeedback.vue +2 -2
  51. package/src/filiale/kelai/android/RelieveRestrict.vue +1 -1
  52. package/src/filiale/kelai/android/SafecheckOrderV.vue +1 -1
  53. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasPaper.vue +1 -1
  54. package/src/filiale/meihekou/android/AreaPlan.vue +569 -0
  55. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -0
  56. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -0
  57. package/src/filiale/meihekou/android/CurrentCreate.vue +1087 -0
  58. package/src/filiale/meihekou/android/MeterReading.vue +106 -0
  59. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1276 -0
  60. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2400 -0
  61. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -0
  62. package/src/filiale/meihekou/android.js +19 -0
  63. package/src/filiale/meihekou/pc.js +12 -0
  64. package/src/filiale/pingxiang/android/PaperFeedback.vue +2 -2
  65. package/src/filiale/qianneng/android/PaperFeedback.vue +2 -2
  66. package/src/filiale/rizhao/android/PaperFeedback.vue +2 -2
  67. package/src/filiale/rongchuang/android/PaperFeedback.vue +2 -2
  68. package/src/filiale/shanggao/android/PaperFeedback.vue +2 -2
  69. package/src/filiale/shanxian/android/AndroidDefectDeal.vue +1 -1
  70. package/src/filiale/shanxian/android/PaperFeedback.vue +2 -2
  71. package/src/filiale/shexian/android/AndroidDefectDeal.vue +1 -1
  72. package/src/filiale/shexian/android/PaperFeedback.vue +2 -2
  73. package/src/filiale/shimen/android/PaperFeedback.vue +2 -2
  74. package/src/filiale/tongchuan/android/AndroidDefectDeal.vue +1 -1
  75. package/src/filiale/tongchuan/android/PaperFeedback.vue +2 -2
  76. package/src/filiale/weinan/android/SafecheckOrderV.vue +3 -3
  77. package/src/filiale/wenxi/android/PaperFeedback.vue +3 -3
  78. package/src/filiale/wuan/android/PaperFeedback.vue +2 -2
  79. package/src/filiale/wuhai/android/PaperFeedback.vue +2 -2
  80. package/src/filiale/xiangyuanzhongai/android/SafecheckDevices.vue +20 -1
  81. package/src/filiale/xiangyuanzhongai/android/SafecheckOrderV.vue +2282 -0
  82. package/src/filiale/xiangyuanzhongai/android/SafecheckUserInfo.vue +786 -0
  83. package/src/filiale/xiangyuanzhongai/android.js +2 -0
  84. package/src/filiale/xiangyuanzhongai/pc/DefectListNew.vue +663 -0
  85. package/src/filiale/xiangyuanzhongai/pc/PaperList.vue +795 -0
  86. package/src/filiale/xiangyuanzhongai/pc.js +2 -0
  87. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +2 -2
  88. package/src/filiale/yongzhou/android/PaperFeedback.vue +2 -2
  89. package/src/filiale/yuansheng/android/AndroidDefectDeal.vue +1 -1
  90. package/src/filiale/yuansheng/android/PaperFeedback.vue +2 -2
  91. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +2 -2
  92. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -0
  93. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2 -0
  94. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
  95. package/src/filiale/yunchengminsheng/android.js +1 -0
  96. package/src/filiale/yunchengminsheng/pc/NewCheckpaper.vue +16 -5
  97. package/src/filiale/zhongsheng/android/PaperFeedback.vue +2 -2
  98. package/src/filiale/zhoukou/android/PaperFeedback.vue +2 -2
  99. package/src/safecheck-android.js +3 -0
@@ -0,0 +1,250 @@
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_userinfo_code" condition="ui.f_userinfo_code = '{}'" 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">表号:</label>
21
+ </div>
22
+ <div class="col-xs-8" >
23
+ <input class="search_input input-font"
24
+ v-model="model.f_meternumber" condition="uf.f_meternumber like '%{}%'" placeholder="请输入表号" />
25
+ </div>
26
+ </div>
27
+ <div class="row app-row">
28
+ <div class="col-xs-4">
29
+ <img src="../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
30
+ <label class="font text-left">用户名称:</label>
31
+ </div>
32
+ <div class="col-xs-8" >
33
+ <input class="search_input input-font"
34
+ condition="ui.f_user_name like '%{}%'" v-model="model.f_username" placeholder="请输入用户名称(可模糊查询)">
35
+ </div>
36
+ </div>
37
+ <div class="row app-row">
38
+ <div class="col-xs-4">
39
+ <img src="../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
40
+ <label class="font text-left">用户地址:</label>
41
+ </div>
42
+ <div class="col-xs-8" >
43
+ <input style="width: 100%" class="search_input input-font"
44
+ condition="ui.f_address like '%{}%'" v-model="model.f_address" placeholder="请输入用户地址(可模糊查询)">
45
+ </div>
46
+ </div>
47
+ <div class="row text-center" style="margin-top: 20px;">
48
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
49
+ @click="search">查询
50
+ </button>
51
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;"
52
+ @click="$parent.$parent.sealScan">铅封识别
53
+ </button>
54
+ </div>
55
+ <div style="height:30px;"></div>
56
+ </form>
57
+ </div>
58
+ </criteria>
59
+ <list :model="model" partial='list'>
60
+ <div partial>
61
+ <div class="auto app-text" style="margin-top: 5px;">
62
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
63
+ <div class="panel-body panel-self">
64
+ <div class="row">
65
+ <p class="panel-title col-xs-4 text-left font">用户编号</p>
66
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_code }}</p>
67
+ </div>
68
+ <div class="row">
69
+ <p class="panel-title col-xs-4 text-left font">用户名称</p>
70
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
71
+ </div>
72
+ <div class="row">
73
+ <p class="panel-title col-xs-4 text-left font">表号</p>
74
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
75
+ </div>
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_table_state }}</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_address }}</p>
83
+ </div>
84
+ <div class="row" v-if="!row.f_seal_uid">
85
+ <p class="panel-title col-xs-4 text-left font">施封信息</p>
86
+ <p class="panel-title col-xs-8 text-left input-font">暂无</p>
87
+ </div>
88
+ <div class="row" v-if="row.f_operate_name">
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_operate_name }}</p>
91
+ </div>
92
+ <div class="row" v-if="row.f_operate_name">
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_operate_date }}</p>
95
+ </div>
96
+ <div class="row" v-if="row.f_operate_name">
97
+ <p class="panel-title col-xs-4 text-left font">施封原因</p>
98
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_cause }}</p>
99
+ </div>
100
+ <div class="col-xs-12" v-if="row.f_user_state!='销户'">
101
+ <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.toBind(row)">
102
+ {{row.f_seal_uid ? '重新施封' : '施封'}}
103
+ </button>
104
+ </div>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </list>
110
+ <div partial='emptyHint' style="display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding-bottom: 20px">
111
+ <div style="color: steelblue; font-size: 19px">未查询到相关信息</div>
112
+ </div>
113
+ </criteria-paged>
114
+ </div>
115
+ </template>
116
+
117
+ <script>
118
+ import {HttpResetClass, PagedList} from 'vue-client'
119
+ import Vue from 'vue'
120
+ import * as Util from '../Util'
121
+
122
+ export default {
123
+ title: '施封',
124
+ data () {
125
+ let model = new PagedList(
126
+ `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getSealInfo`, 20)
127
+ return {
128
+ model: model,
129
+ row: null,
130
+ }
131
+ },
132
+ ready () {
133
+
134
+ },
135
+ computed: {
136
+
137
+ },
138
+ methods:{
139
+ sealScan() {
140
+ HostApp.__this__ = this
141
+ HostApp.readNfc({
142
+ 'callback': 'javascript:HostApp.__this__.sealScanCallback()',
143
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
144
+ // 执行回调方法传入key为backresult
145
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
146
+ 'backresult': 1
147
+ })
148
+ },
149
+ async sealScanCallback() {
150
+ console.log('sealScanCallback=========')
151
+ let result = HostApp.getNfcUUID()
152
+ console.log('result=', result)
153
+ if (result.code == 200){
154
+ let sealUID = ''
155
+ if (result.data.indexOf('=') > 0) {
156
+ sealUID = result.data.substring(result.data.indexOf('=') + 1)
157
+ }else{
158
+ sealUID = result.data
159
+ }
160
+
161
+ let res = await new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {
162
+ data: {
163
+ items: '*',
164
+ tablename: 't_seals_record',
165
+ orderitem: 'f_creation_date desc',
166
+ condition: `f_uid = '${sealUID}' and f_state = '有效'`
167
+ }
168
+ }, {resolveMsg: null, rejectMsg: null})
169
+ if (res.data.length > 0 && res.data[0].f_userinfo_code){
170
+ this.$refs.paged.$refs.cri.model.f_userinfo_code = res.data[0].f_userinfo_code
171
+ this.$refs.paged.$refs.cri.search()
172
+ }else {
173
+ return this.$showMessage("该铅封未绑定用户!")
174
+ }
175
+ }else {
176
+ return this.$showMessage("未识别到铅封信息,请重新尝试!")
177
+ }
178
+ },
179
+ async toBind(row) {
180
+ if (row.f_seal_uid){
181
+ let res = await this.$showMessage('该用户已施封,是否重新进行施封?', ['confirm', 'cancel'])
182
+ if (res == 'cancel'){
183
+ return
184
+ }
185
+ }
186
+ var pardate = {
187
+ _this: this,
188
+ title:'铅封绑定',
189
+ safe:false
190
+ }
191
+ this.$dispatch('gotoson',pardate)
192
+ //tag
193
+ this.$goto('seal-bind', {row: row}, 'self', this.reload)
194
+ },
195
+ reload(sealUID){
196
+ console.log('sealUID=', sealUID)
197
+ this.$refs.paged.$refs.cri.search()
198
+ },
199
+ selfSearch(args){
200
+ args.condition +=` and uf.f_whether_hairpin = '已发'`
201
+ this.model.search(args.condition, args.model, args.condValue)
202
+ }
203
+ },
204
+ }
205
+ </script>
206
+ <style scoped>
207
+ .app-row {
208
+ background-color: white;
209
+ padding: 10px 10px 0 10px;
210
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
211
+ }
212
+ .search_input {
213
+ border: 0;
214
+ outline: none;
215
+ }
216
+ .font{
217
+ font: 15px PingFang-SC-Medium;
218
+ color: #666666;
219
+ }
220
+ .input-font{
221
+ font: 15px PingFang-SC-Medium;
222
+ color: #333333;
223
+ }
224
+ .btn-font{
225
+ font:600 16px PingFang-SC-Bold;
226
+ color: #499EDF;
227
+ }
228
+ .btn-color{
229
+ background-color: #FFFFFF;
230
+ border-radius: 10px ;
231
+ border: 1px solid #499EDF;
232
+ }
233
+ .app-text {
234
+ font-size: 12px;
235
+ }
236
+ .panel-self{
237
+ border-radius: 10px;
238
+ border:1px solid #499EDF;
239
+ background-color: #F8F8F8;
240
+ }
241
+ .yybtn-color{
242
+ border-radius: 4px ;
243
+ border: 1px solid #499EDF;
244
+ }
245
+ .qxbtn-color{
246
+ background-color: #FFFFFF;
247
+ border-radius: 4px ;
248
+ border: 1px solid #499EDF;
249
+ }
250
+ </style>
@@ -475,7 +475,7 @@
475
475
  }, {resolveMsg: null, rejectMsg: null})
476
476
  //tag)
477
477
  //tag
478
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/backlistOperate`, {
478
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
479
479
  data: {
480
480
  "f_operat_type": "取消拉黑",
481
481
  "f_state": "有效",
@@ -527,7 +527,7 @@
527
527
  }, {resolveMsg: null, rejectMsg: null})
528
528
  //tag)
529
529
  //tag
530
- let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/backlistOperate`, {
530
+ let res2 = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/api/af-revenue/logic/backlistOperate`, {
531
531
  data: {
532
532
  "f_operat_type": "拉黑",
533
533
  "f_state": "有效",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="flex-row">
2
+ <div class="flex-row" v-show="showinfo1">
3
3
  <div class="basic-main">
4
4
  <criteria-paged :model="model" v-ref:paged @sort="sort">
5
5
  <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
@@ -405,6 +405,8 @@
405
405
  <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
406
406
  </div>
407
407
  </div>
408
+ <new-check-paper v-if="showinfo2" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback1"></new-check-paper>
409
+ <new-check-paper-temp v-if="showinfo3" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback2"></new-check-paper-temp>
408
410
  </template>
409
411
 
410
412
  <script>
@@ -461,6 +463,10 @@ export default {
461
463
  // }
462
464
  // model.f_subcompany = this.$login.f.f_fengongsi
463
465
  return {
466
+ showinfo1:true,
467
+ showinfo2:false,
468
+ showinfo3:false,
469
+ shouinfodata:{},
464
470
  tableBrands: [{label: '全部', value: ''}],
465
471
  audioshow: false,
466
472
  safeAudit: this.$appdata.getSingleValue('安检审核') == '是' ? true : false,
@@ -516,7 +522,26 @@ export default {
516
522
  cbc:[]
517
523
  }
518
524
  },
525
+ created() {
526
+ // 使用 $on 监听事件
527
+ this.$root.$on('audit-status-changed', () => {
528
+ console.log('收到审核状态变更事件')
529
+ this.refresh()
530
+ })
531
+ },
532
+ beforeDestroy() {
533
+ // 记得在组件销毁前移除事件监听
534
+ this.$root.$off('audit-status-changed')
535
+ },
519
536
  methods: {
537
+ showback1(){
538
+ this.showinfo1 = true
539
+ this.showinfo2 = false
540
+ },
541
+ showback2(){
542
+ this.showinfo1 = true
543
+ this.showinfo3 = false
544
+ },
520
545
  //气表品牌查询
521
546
  getTableBrands() {
522
547
  new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_OrderBy`,
@@ -635,13 +660,16 @@ export default {
635
660
  },
636
661
 
637
662
  change(row) {
663
+ row.f_upload_state = '已传'
664
+ this.shouinfodata = JSON.parse(JSON.stringify(row))
665
+ this.showinfo1 = false
638
666
  if (row.f_safe_type == '已挂表未办卡安检'){
639
- row.f_upload_state = '已传'
640
- this.$goto('new-check-paper-temp', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
667
+ this.showinfo2 = false
668
+ this.showinfo3 = true
641
669
  return
642
670
  }
643
- row.f_upload_state = '已传'
644
- this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
671
+ this.showinfo2 = true
672
+ this.showinfo3 = false
645
673
  },
646
674
  showChooser() {
647
675
  this.showModal = true
@@ -761,7 +789,7 @@ export default {
761
789
  if (val) {
762
790
  this.searchData.f_approved = val
763
791
  }
764
- },
792
+ }
765
793
  }
766
794
 
767
795
  }
@@ -1,26 +1,26 @@
1
1
  <template>
2
2
  <div id='AddTobook'>
3
3
  <div class="auto select-overspread">
4
+ <button class="button_new" style="margin-right: 10px" @click="showUploadCodeCondition()">导入编号</button>
4
5
  <validator name='v'>
5
6
  <ul class="nav nav-tabs">
6
7
  <p class="bg-info text-center" style="padding: 8px;">{{tabstitles[$parent.$refs.tabs.active]}}</p>
7
8
  </ul>
8
- <div class="form-horizontal select-overspread container-fluid auto" style="margin-top:20px;flex: 1;" v-show="!($parent.$refs.tabs.active == 2)">
9
+ <div class="form-horizontal select-overspread container-fluid auto" style="margin-top:20px;flex: 1;">
9
10
  <div class="row" style="text-align: center">
10
-
11
11
  <div class="col-sm-12 form-group" :class="[$v.f_check_book_num.required ? 'has-error' : '']">
12
- <label class="font_normal_body" style="width: 26%;">目标片区</label>
12
+ <label class="font_normal_body" style="width: 26%;">目标安检册</label>
13
13
  <input type="text" v-model="model.f_check_book_num" v-show="false"
14
14
  v-validate:f_check_book_num='{required: true }'>
15
15
  <v-select :value.sync="model.f_check_book_num" v-model="model.f_check_book_num"
16
- :options='checkbook' placeholder='片区'
16
+ :options='checkbook' placeholder='安检册'
17
17
  :value-single="true" :search="true"
18
18
  style="width:60%"
19
19
  close-on-select></v-select>
20
20
  </div>
21
21
  </div>
22
22
  </div>
23
- <div class="row" v-show="!($parent.$refs.tabs.active == 2)">
23
+ <div class="row" >
24
24
  <div style="float:right;margin-top: 250px;margin-right: 20px;">
25
25
  <button @click="confirm()" class="btn button_search" style="width: 70px" :disabled='!$v.valid'>
26
26
  <span class="glyphicon glyphicon-floppy-disk"></span>保存
@@ -29,8 +29,23 @@
29
29
  </div>
30
30
  </validator>
31
31
  </div>
32
+ <modal :show.sync="excelUserCondtion" width="500px" v-ref:modal1 >
33
+ <div slot="modal-header" class="modal-header">
34
+ <h4 class="modal-title">
35
+ 导入用户编号
36
+ </h4>
37
+ </div>
38
+ <div slot="modal-body" class="modal-body">
39
+ <div class="row">
40
+ <file-upload class="my-file-uploader " name="UploadFile" class="btn btn-success" style="border-radius: 2px;"
41
+ action="api/af-safecheck/file/uploadFile" tagname="安检册导入" v-ref:file :headers="headers" multiple></file-upload>
42
+ <img src="../../assets/anjince.png" style="width: 100%"/>
43
+ </div>
44
+ </div>
45
+ <footer slot="modal-footer" class="modal-footer">
46
+ </footer>
47
+ </modal>
32
48
  </div>
33
-
34
49
  </template>
35
50
 
36
51
  <script>
@@ -45,16 +60,17 @@
45
60
  model:{
46
61
  f_check_book_num:''
47
62
  },
63
+ excelUserCondtion:false,
48
64
  checkbook: [],
49
65
  checkbooks:[],
50
- tabstitles:['请选择小区添加到目标片区','请选择单位添加到目标片区','用户无法单独添加到片区内']
66
+ tabstitles:['请选择用户添加到安检册内']
51
67
  }
52
68
  },
53
69
  created () {
54
70
  },
55
71
  ready () {
56
72
  // this.close()
57
- new HttpResetClass().load('POST','api/af-safecheck/sql/safe_singleTable_OrderBy',{data: {
73
+ new HttpResetClass().load('POST','api/af-safecheck/sql/safe_singleTable_OrderBy?pageNo=1&pageSize=9999999',{data: {
58
74
  items: 'id,f_check_book_name,f_check_book_type,f_user_type',
59
75
  tablename: 't_check_book',
60
76
  condition: `1=1`,
@@ -69,10 +85,17 @@
69
85
  value:item.id
70
86
  })
71
87
  })
72
- this.checkbook = this.checkbooks.filter(item=>item.f_user_type==='民用')
88
+ this.checkbook = this.checkbooks
73
89
  })
74
90
  },
75
91
  methods: {
92
+ cancel(){
93
+ this.showCondtion=false
94
+ this.excelUserCondtion=false
95
+ },
96
+ showUploadCodeCondition(){
97
+ this.excelUserCondtion=true
98
+ },
76
99
  selectbook(val){
77
100
 
78
101
  },
@@ -82,7 +105,7 @@
82
105
 
83
106
  confirm () {
84
107
  if (!this.model.f_check_book_num){
85
- this.$showMessage('请选择片区')
108
+ this.$showMessage('请选择目标安检册')
86
109
  return
87
110
  }
88
111
  console.log(this.$parent.$refs.tabs.active)
@@ -90,6 +113,7 @@
90
113
  console.log(this.$parent.bookAll)
91
114
  console.log(this.$parent.bookCondition)
92
115
  let userCondition = ''
116
+ let f_userinfo_ids = "'"
93
117
  if(this.$parent.bookAll){
94
118
  if(!this.$parent.bookCondition){
95
119
  this.$showMessage("请先查询")
@@ -98,13 +122,27 @@
98
122
  userCondition = this.$parent.bookCondition
99
123
  }
100
124
  }else if(this.$parent.bookList.length > 0){
101
- userCondition = this.$parent.$refs.tabs.active ===0? 'ta.id in (' + this.$parent.bookList.toString() + ')':
102
- 'tc.id in (' + this.$parent.bookList.toString() + ')'
125
+ if(this.$parent.$refs.tabs.active ===0){
126
+ for(let i = 0;i<this.$parent.bookList.length;i++){
127
+ if(i === this.$parent.bookList.length-1){
128
+ f_userinfo_ids += this.$parent.bookList[i].f_userinfo_id + "'"
129
+ }else{
130
+ f_userinfo_ids += this.$parent.bookList[i].f_userinfo_id + "','"
131
+ }
132
+ }
133
+ userCondition ='tui.f_userinfo_id in (' + f_userinfo_ids+ ')'
134
+ }
135
+ if(this.$parent.$refs.tabs.active ===1){
136
+
137
+ }
138
+ if(this.$parent.$refs.tabs.active ===2){
139
+
140
+ }
103
141
  }else{
104
- this.$showMessage(this.$parent.$refs.tabs.active===0?'请选择小区':'请选择单位')
142
+ this.$showMessage(this.$parent.$refs.tabs.active===3?'请选择用户':'请选择')
105
143
  return;
106
144
  }
107
- if(this.$parent.$refs.tabs.active ===0){
145
+ if(this.$parent.$refs.tabs.active ===1){
108
146
  new HttpResetClass().load('POST', 'api/af-safecheck/logic/updateCheckBook', {data: {f_check_book_id: this.model.f_check_book_num,
109
147
  f_check_book_type:'小区',condition:userCondition}},
110
148
  {resolveMsg: null, rejectMsg: '添加失败'}).then(res=>{
@@ -120,7 +158,27 @@
120
158
  this.$showMessage("添加失败")
121
159
  }
122
160
  })
123
- }else{
161
+ }else if(this.$parent.$refs.tabs.active ===0){
162
+ new HttpResetClass().load('POST', 'api/af-safecheck/logic/updateCheckBook', {data: {
163
+ f_check_book_id: this.model.f_check_book_num,
164
+ f_check_book_type:'用户',
165
+ booklist:this.$parent.bookList,
166
+ condition:userCondition
167
+ }},
168
+ {resolveMsg: null, rejectMsg: '添加失败'}).then(res=>{
169
+ if(res && res.data){
170
+ this.model.f_check_book_num = ""
171
+ this.$showMessage("本次成功添加"+this.$parent.bookList.length+"个用户",['confirm']).then(res=>{
172
+ if(res==='confirm'){
173
+ console.log("刷新了")
174
+ bus.$emit('fresh-area')
175
+ }
176
+ })
177
+ }else{
178
+ this.$showMessage("添加失败")
179
+ }
180
+ })
181
+ } else{
124
182
  new HttpResetClass().load('POST', 'api/af-safecheck/logic/updateCheckBook', {data: {f_check_book_id: this.model.f_check_book_num,
125
183
  f_check_book_type:'单位',condition:userCondition}},
126
184
  {resolveMsg: null, rejectMsg: '添加失败'}).then(res=>{
@@ -140,17 +198,36 @@
140
198
  }
141
199
  },
142
200
  watch:{
143
- '$parent.$refs.tabs.active'(val){
144
- if(val =='0'){
145
- this.checkbook = this.checkbooks.filter(item=>item.f_user_type==='民用')
146
- }else{
147
- this.checkbook = this.checkbooks.filter(item=>item.f_user_type==='非民用')
148
- }
149
- this.model.f_check_book_num = ''
150
- }
201
+ // '$parent.$refs.tabs.active'(val){
202
+ // if(val =='0'){
203
+ // this.checkbook = this.checkbooks.filter(item=>item.f_user_type==='民用')
204
+ // }else{
205
+ // this.checkbook = this.checkbooks.filter(item=>item.f_user_type==='非民用')
206
+ // }
207
+ // this.model.f_check_book_num = ''
208
+ // }
151
209
  },
152
210
  computed: {
153
211
 
212
+ },
213
+ events: {
214
+ onFileUpload: function (file, res) {
215
+ if ( this.model.f_check_book_num==''){
216
+ this.$showMessage("请先选择目标安检册")
217
+ return
218
+ }
219
+ let data = {
220
+ f_check_book_id: this.model.f_check_book_num,
221
+ filepath: res.f_downloadpath
222
+ }
223
+ new HttpResetClass().load('POST','/api/af-safecheck/logic/checkbookImport', {data: data}, {
224
+ resolveMsg: '导入成功!',
225
+ rejectMsg: '导入失败'
226
+ }).then((res) => {
227
+ this.excelUserCondtion = false
228
+ })
229
+ },
230
+
154
231
  }
155
232
  }
156
233
  </script>
@@ -218,6 +218,8 @@ export default {
218
218
  showdetails (row) {
219
219
  console.log('showdetails',row)
220
220
  this.rowData = row
221
+ this.rowData.f_check_book_type='用户'
222
+ this.rowData.f_user_type=''
221
223
  this.showItem = false
222
224
  this.showItemUser = true
223
225
  },
@@ -3,7 +3,7 @@
3
3
  <validator name='v'>
4
4
  <form class="form-horizontal" novalidate>
5
5
  <ul class="nav nav-tabs" style="margin-bottom: 10px">
6
- <li class="active"><a href="#">片区信息</a></li>
6
+ <li class="active"><a href="#">安检册信息</a></li>
7
7
  </ul>
8
8
  <div class="row" style="margin-top: 10px">
9
9
  <div class="col-sm-12 form-group" style="margin: 0">
@@ -38,43 +38,10 @@
38
38
  close-on-select></v-select>
39
39
  </div>
40
40
  <div class="form-group col-sm-6" style="margin-top: 20px" :class="[$v.f_check_book_name.required ? 'has-error' : '']">
41
- <label class="font_normal_body">片区名称</label>
41
+ <label class="font_normal_body">安检册名称</label>
42
42
  <input type="text" class="input_search" v-model="checkBook.f_check_book_name"
43
43
  style="width: 60%" v-validate:f_check_book_name='{ required: true }'>
44
44
  </div>
45
- <div class="form-group col-sm-6" style="margin-top: 20px">
46
- <label class="font_normal_body">执行日期</label>
47
- <datepicker
48
- :value.sync="checkBook.f_run_date"
49
- style="width: 60%"
50
- :format="'yyyy-MM-dd'"
51
- v-model="checkBook.f_run_date"
52
- >
53
- </datepicker>
54
- </div>
55
- <div class="form-group col-sm-6" style="margin-top: 20px">
56
- <label class="font_normal_body">执行周期</label>
57
- <input type="number" class="input_search" v-model="checkBook.f_around_time"
58
- style="width: 60%" >
59
- </div>
60
- <div class="form-group col-sm-6" style="margin-top: 20px">
61
- <label class="font_normal_body">周期单位</label>
62
- <v-select :value.sync="checkBook.f_around_unit" v-model='checkBook.f_around_unit'
63
- :value-single="true" style="width: 60%"
64
- class="select_list select"
65
- :options='aroundUnit' placeholder=''
66
- close-on-select></v-select>
67
- </div>
68
-
69
-
70
- <!-- <div class="form-group col-sm-6" style="margin-top: 20px">-->
71
- <!-- <label class="font_normal_body">自动下发</label>-->
72
- <!-- <v-select :value.sync="checkBook.f_is_auto" v-model='checkBook.f_is_auto'-->
73
- <!-- :value-single="true" style="width: 60%"-->
74
- <!-- class="select_list select"-->
75
- <!-- :options='autos' placeholder=''-->
76
- <!-- close-on-select></v-select>-->
77
- <!-- </div>-->
78
45
  </div>
79
46
  </form>
80
47
  <div style="text-align:right;height:auto;margin-top:6px;margin-right: 10%">
@@ -150,7 +117,7 @@ export default {
150
117
  },
151
118
  confirm () {
152
119
  if(!this.checkBook.f_check_book_name){
153
- this.$showMessage('请填写片区名称')
120
+ this.$showMessage('请填写安检册名称')
154
121
  return
155
122
  }
156
123
  // if(!this.checkBook.f_check_book_type){
@@ -168,15 +135,15 @@ export default {
168
135
  console.log('checkbook', this.checkBook)
169
136
  let http = new HttpResetClass()
170
137
  http.load('POST', 'api/af-safecheck/logic/safeEntity', {data: {tableName: 't_check_book', entityData: this.checkBook}},
171
- {resolveMsg: '保存片区信息成功', rejectMsg: '保存片区信息失败'}).then(res => {
138
+ {resolveMsg: '保存安检册信息成功', rejectMsg: '保存安检册信息失败'}).then(res => {
172
139
  if (res.data.code === 200) {
173
- this.$showMessage('保存片区信息成功',['confirm']).then(res=>{
140
+ this.$showMessage('保存安检册信息成功',['confirm']).then(res=>{
174
141
  if (res==='confirm'){
175
142
  bus.$emit('fresh-main')
176
143
  }
177
144
  })
178
145
  }else{
179
- this.$showMessage('保存片区信息失败')
146
+ this.$showMessage('保存安检册信息失败')
180
147
  }
181
148
  })
182
149
  },