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
@@ -1,16 +1,21 @@
1
- // 分公司特殊组件页面注册
2
- import Vue from "vue";
3
-
4
- //手机特殊目录注册到该文件中
5
- let specialComp = {
6
- 'plan-manage':(resolve) => { require(['./pc/PlanManage'], resolve) },
7
- 'paper-main':(resolve) => { require(['./pc/PaperList'], resolve) },
8
- 'new-check-paper':(resolve) => {require(['./pc/NewCheckpaper'], resolve)},
9
- 'check-user-list':(resolve) => { require(['./pc/checkUserList'], resolve) },
10
- 'paper-defect-main':(resolve) => { require(['./pc/PaperDefectMain'], resolve) },
11
- }
12
- exports.specialComp = specialComp
13
-
14
-
15
-
16
-
1
+ // 分公司特殊组件页面注册
2
+ import Vue from "vue";
3
+
4
+ //手机特殊目录注册到该文件中
5
+ let specialComp = {
6
+ 'plan-manage':(resolve) => { require(['./pc/PlanManage'], resolve) },
7
+ 'check-search-user':(resolve) => { require(['./pc/CheckSearchUser'], resolve) },
8
+ 'check-plan-list':(resolve) => { require(['./pc/checkPlanList'], resolve) },
9
+ 'check-plan-area-list':(resolve) => { require(['./pc/CheckPlanAreaList'], resolve) },
10
+ 'hiddensituation':(resolve) => { require(['./pc/HiddenSituation'], resolve) },
11
+ 'check-book-search-area':(resolve) => { require(['./pc/CheckBookSearchArea'], resolve) },
12
+ 'paper-main':(resolve) => { require(['./pc/PaperList'], resolve) },
13
+ 'new-check-paper':(resolve) => {require(['./pc/NewCheckpaper'], resolve)},
14
+ 'check-user-list':(resolve) => { require(['./pc/checkUserList'], resolve) },
15
+ 'paper-defect-main':(resolve) => { require(['./pc/PaperDefectMain'], resolve) },
16
+ }
17
+ exports.specialComp = specialComp
18
+
19
+
20
+
21
+
@@ -0,0 +1,421 @@
1
+ <template>
2
+ <div v-el:group class="btn-group" v-bind:class="{open: show, dropup: direction === 'up'}" :style="{width:width, fontSize: fontSize}">
3
+ <button v-el:btn type="button" class="btn btn-default dropdown-toggle select-style" :style="{minWidth: '100%', fontSize: fontSize}"
4
+ :id="'vc-select-button-'+attach"
5
+ @click="toggleDropdown"
6
+ @blur="show = (search ? show : false)"
7
+ v-bind="{disabled: disabled}"
8
+ >
9
+ <span class="btn-placeholder" v-show="showPlaceholder">{{placeholder}}</span>
10
+ <span class="btn-content" :style="{textOverflow:'ellipsis',overflow: 'hidden'}">{{ selectedItems }}</span>
11
+ <span class="caret"></span>
12
+ </button>
13
+ <ul class="dropdown-menu" v-bind:class="{'menu-align-right': align=== 'right'}" :style="{overflow:'scroll',maxHeight: maxHeight + 'px',width: menuWidth,minWidth:minWidth,left:left+'px', fontSize: fontSize }" v-el:dropdown>
14
+ <template v-if="options.length">
15
+ <li v-if="search" class="bs-searchbox" style="white-space: nowrap">
16
+ <input type="text" placeholder="Search"
17
+ style="width: 80%;display: inline"
18
+ v-model="searchText"
19
+ class="form-control" autocomplete="off"
20
+ @keyup.enter="putOptions(searchText)">
21
+
22
+ <span style="width: 20%;display: inline"
23
+ v-if="search&&multiple&&show&&!isSelectAll"
24
+ @mousedown.prevent="selectAll(options)">全选</span>
25
+ <span style="width: 20%;display: inline"
26
+ v-if="search&&multiple&&show&&isSelectAll"
27
+ @mousedown.prevent="selectAll(options)">取消</span>
28
+ </li>
29
+ <li v-for="option in options | findBy searchText " style="position:relative">
30
+ <a @mousedown.prevent="select(option.value,null)" style="cursor:pointer" :id="'vc-select-a-'+attach+'-'+$index">
31
+ {{ option.label }}
32
+ <span class="glyphicon glyphicon-ok check-mark" v-show="isSelected(option.value)"></span>
33
+ </a>
34
+ </li>
35
+ </template>
36
+ <slot v-else></slot>
37
+ <div class="notify" v-show="showNotify" transition="fadein">Limit reached ({{limit}} items max).
38
+ </div>
39
+ </ul>
40
+ </div>
41
+ </template>
42
+
43
+ <script>
44
+ import EventListener from '../utils/EventListener'
45
+ import coerceBoolean from '../utils/coerceBoolean.js'
46
+
47
+ export default {
48
+ props: {
49
+ options: {
50
+ type: Array,
51
+ default() { return [] },
52
+ },
53
+ value: {
54
+ twoWay: true
55
+ },
56
+ placeholder: {
57
+ type: String,
58
+ default: '请选择'
59
+ },
60
+ multiple: {
61
+ type: Boolean,
62
+ coerce: coerceBoolean,
63
+ default: false
64
+ },
65
+ search: { // Allow searching (only works when options are provided)
66
+ type: Boolean,
67
+ coerce: coerceBoolean,
68
+ default: true
69
+ },
70
+ limit: {
71
+ type: Number,
72
+ default: 1024
73
+ },
74
+ closeOnSelect: { // only works when multiple==false
75
+ type: Boolean,
76
+ coerce: coerceBoolean,
77
+ default: false
78
+ },
79
+ disabled: {
80
+ type: Boolean,
81
+ coerce: coerceBoolean,
82
+ default: false
83
+ },
84
+ attach: {
85
+ type: String,
86
+ default: 'vuestrap'
87
+ },
88
+ enterPush: {
89
+ type: Boolean,
90
+ dafault: false
91
+ },
92
+ maxHeight: {
93
+ type: [Number,String],
94
+ default: 300
95
+ },
96
+ minWidth:{
97
+ type:[Number,String],
98
+ default:'100%'
99
+ },
100
+ valueSingle: {
101
+ type: Boolean,
102
+ default: false
103
+ },
104
+ //全选标志位
105
+ isSelectAll: {
106
+ type: Boolean,
107
+ default: false
108
+ },
109
+ filerKey: {
110
+ default: 'id'
111
+ },
112
+ direction: { // 展开方向,默认为向下,可以向上up
113
+ type: String,
114
+ default: 'down'
115
+ },
116
+ align: {
117
+ type: String,
118
+ default: 'left' // 内内容框对齐方式,默认是左对齐,也可以right,右对齐
119
+ },
120
+ width:{
121
+ type:String,
122
+ default:'60%'
123
+ },
124
+ timeout: {
125
+ type: Number,
126
+ default: 300
127
+ },
128
+ fontSize: {
129
+ type: String,
130
+ default: '16px'
131
+ },
132
+ menuMode: {
133
+ type: String
134
+ }
135
+ },
136
+ ready() {
137
+ if(this.search&&this.multiple){
138
+ this.minWidth='190px'
139
+ }
140
+ // 如果this.value不存在或正length不等于0
141
+ if ((this.value === false? false :!this.value) || this.value.length === 0) {
142
+ if (this.valueSingle) {
143
+ this.value = ''
144
+ } else {
145
+ this.value = []
146
+ }
147
+ }else {
148
+ // 如果this.value不是数组
149
+ if (this.value.constructor !== Array) {
150
+ if (!this.valueSingle) {
151
+ this.value = [this.value]
152
+ }
153
+ } else {
154
+ // this.value不是数组并且不是多选
155
+ if (!this.multiple && this.value.length > 1) {
156
+ this.value = this.value.slice(0, 1)
157
+ } else if (this.multiple && this.value.length > this.limit) {
158
+ this.value = this.value.slice(0, this.limit)
159
+ }
160
+ }
161
+ }
162
+ let el = this.$els.dropdown
163
+ let elbtn = this.$els.btn
164
+ this._closeEvent = EventListener.listen(window, 'mouseup', (e)=> {
165
+ if (!el.contains(e.target) && this.show && !elbtn.contains(e.target)) {
166
+ this.show = false
167
+ }
168
+ })
169
+ },
170
+ data() {
171
+ return {
172
+ left:'0',
173
+
174
+ searchText: null,
175
+ show: false,
176
+ showNotify: false,
177
+ paramsData: [],
178
+ // isShowModify: false
179
+ timer: null,
180
+ menuwidth: 'auto'
181
+ }
182
+ },
183
+ computed: {
184
+ // 返回显示的选择内容
185
+ selectedItems() {
186
+ // 值为空,返回空串
187
+ if (this.value === false? false: !this.value) {
188
+ return ''
189
+ }
190
+ // 把单选变成数组
191
+ let value
192
+ if (this.valueSingle) {
193
+ value = [this.value]
194
+ } else {
195
+ value = this.value
196
+ }
197
+
198
+ // 根据value值,找到label
199
+ let foundItems = []
200
+ if (value === false?true:value && value.length) {
201
+ for (var item of value) {
202
+ // 如果没有可选项,直接value内容
203
+ if (this.options.length === 0)
204
+ {
205
+ foundItems = value;
206
+ }
207
+ // 有可选项
208
+ else
209
+ {
210
+ // 如果是对象,显示对象给定的列
211
+ if (typeof item === "object") {
212
+ for(let o of this.options) {
213
+ // 选中对象鱼可选项value值相同,取选项的label
214
+ if((o.value === false?true:o.value)&& o.value[this.filerKey] === item[this.filerKey]) {
215
+ foundItems.push(o.label)
216
+ break
217
+ }
218
+ }
219
+ } else {
220
+ // 否则,显示值本身
221
+ let option
222
+ this.options.some(o => {
223
+ if(o.value === item) {
224
+ option = o
225
+ return true
226
+ }
227
+ })
228
+ option && foundItems.push(option.label)
229
+ }
230
+ }
231
+ }
232
+ if (foundItems.length === 0 || foundItems[0].constructor === Object) {
233
+ return ''
234
+ }
235
+ //选中的
236
+ let str= foundItems.join(', ')
237
+ // if(str.length > 4)
238
+ // return str.substring(0,4)+'...'
239
+ // else
240
+ return str
241
+ }
242
+ },
243
+ showPlaceholder() {
244
+ if (this.value ===false? true :this.value) {
245
+ return this.value.length === 0 || this.selectedItems === ''
246
+ }
247
+ return true
248
+ }
249
+ },
250
+ watch: {
251
+ menuMode: {
252
+ immediate: true,
253
+ handler() {
254
+ if (this.menuMode == 'align-button'){
255
+ this.menuWidth = '100%'
256
+ }
257
+ }
258
+ },
259
+ value(val) {
260
+ this.$emit('change', val)
261
+ this.$emit('selected', this.selected)
262
+ if (val && val.length > this.limit) {
263
+ this.showNotify = true
264
+ this.value.pop()
265
+ setTimeout(() => this.showNotify = false, 1000)
266
+ }
267
+ },
268
+ show(){
269
+ this.judgBoundary();
270
+ },
271
+ searchText() {
272
+ // 防抖
273
+ if (this.timer) {
274
+ clearTimeout(this.timer)
275
+ }
276
+ this.timer = setTimeout(() => {
277
+ this.$emit('select-search', this.searchText)
278
+ }, this.timeout)
279
+ }
280
+ },
281
+ methods: {
282
+ //全选
283
+ selectAll(v) {
284
+ this.isSelectAll=!this.isSelectAll
285
+ if(this.searchText === null){
286
+ v.forEach((item) => {
287
+ this.select(item.value, this.isSelectAll)
288
+ })
289
+ }else {
290
+ let result= v.filter((item) => {
291
+ return item.label.includes(this.searchText)
292
+ }).forEach((item) => {
293
+ this.select(item.value, this.isSelectAll)
294
+ })
295
+ }
296
+ },
297
+ select (v, flag) {
298
+ if (flag == true) {
299
+ if (this.multiple) {
300
+ this.value.$remove(v)
301
+ this.value.push(v)
302
+ } else if (this.closeOnSelect) {
303
+ this.toggleDropdown()
304
+ }
305
+ } else if (flag == false) {
306
+ if (this.multiple) {
307
+ this.value.$remove(v)
308
+ } else if (this.closeOnSelect) {
309
+ this.toggleDropdown()
310
+ }
311
+ } else if (flag == null) {
312
+ if (this.valueSingle || !this.value || this.value.indexOf(v) === -1) {
313
+ if (this.multiple) {
314
+ this.value.push(v)
315
+ } else {
316
+ if (this.value == v) {
317
+ this.value = undefined
318
+ } else if (this.valueSingle) {
319
+ this.value = v
320
+ } else {
321
+ this.value = [v]
322
+ }
323
+ }
324
+ } else {
325
+ if (this.multiple || this.value) {
326
+ this.value.$remove(v)
327
+ }
328
+ }
329
+ if (this.closeOnSelect) {
330
+ this.toggleDropdown()
331
+ }
332
+ }
333
+ this.judgBoundary()
334
+ this.$emit('select-changed', v)
335
+ },
336
+
337
+ isSelected(v) {
338
+ if (this.value === false? false: !this.value) {
339
+ return false
340
+ }
341
+ if (this.value.constructor !== Array) {
342
+ return this.value == v
343
+ } else {
344
+ return this.value.indexOf(v) !== -1
345
+ }
346
+
347
+ },
348
+ toggleDropdown() {
349
+ this.width = this.$els.group.clientWidth * this.width +'px'
350
+ this.show = !this.show
351
+ },
352
+ putOptions (val) {
353
+ if (this.enterPush) {
354
+ let sign = false
355
+ this.options.forEach((item) => {
356
+ if (val === item.label) {
357
+ sign = true
358
+ }
359
+ })
360
+ }
361
+ this.judgBoundary();
362
+ },
363
+ judgBoundary(){
364
+ //判断是否超出边界,超出移动
365
+ if(this.menuMode != 'align-button' && document.documentElement.offsetWidth< this.$els.dropdown.getBoundingClientRect().right){
366
+ this.left = document.documentElement.offsetWidth - this.$els.dropdown.getBoundingClientRect().right - 25
367
+ }
368
+ }
369
+ },
370
+ beforeDestroy() {
371
+ if (this._closeEvent) this._closeEvent.remove()
372
+ }
373
+ }
374
+ </script>
375
+
376
+ <style scoped>
377
+ .bs-searchbox {
378
+ padding: 4px 8px;
379
+ }
380
+ .menu-align-right {
381
+ left: unset;
382
+ right: 0;
383
+ }
384
+ .btn-group .dropdown-menu .notify {
385
+ position: absolute;
386
+ bottom: 5px;
387
+ width: 96%;
388
+ margin: 0 2%;
389
+ min-height: 26px;
390
+ padding: 3px 5px;
391
+ background: #f5f5f5;
392
+ /*border: 1px solid #e3e3e3;*/
393
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
394
+ pointer-events: none;
395
+ opacity: .9;
396
+ overflow: hidden;
397
+ text-overflow: ellipsis;
398
+ }
399
+ .select-style {
400
+ border: 0px;
401
+ /*border-bottom: 2px solid #C9CCCF;*/
402
+ border: 1px solid #93B2D3;
403
+ border-radius: 0px;
404
+ color: #555;
405
+ overflow:hidden;text-overflow:ellipsis;
406
+ }
407
+ /* 为新产品增加修改菜单选项 */
408
+ .vselect-self-style {
409
+ text-align: center;
410
+ border: 2px dashed #ccc;
411
+ margin: 5px 10px;
412
+ border-radius: 5px;
413
+ }
414
+ /* 当内容超过最大时,显示省略,长度不能超过最大值 */
415
+ .btn-group > button {
416
+ max-width: 100%;
417
+ }
418
+ .btn-group > button .btn-content {
419
+ max-width: 100%;
420
+ }
421
+ </style>
@@ -4,6 +4,7 @@ import Vue from "vue";
4
4
  // 手机特殊目录注册到该文件中
5
5
  let specialComp = {
6
6
  'safecheck-order-v': (resolve) => { require(['./android/SafecheckOrderV'], resolve) },
7
+ 'v-select': (resolve) => { require(['./android/Select'], resolve) },
7
8
  'paper-feedback' : (resolve) => { require(['./android/PaperFeedback'], resolve) },
8
9
  'safecheck-userinfo' : (resolve) => { require(['./android/SafecheckUserInfo'], resolve) },
9
10
  'safecheck-devices' : (resolve) => { require(['./android/SafecheckDevices'], resolve) },
@@ -6,12 +6,14 @@
6
6
  <div class="row">
7
7
  <div class="col-sm-4 form-group">
8
8
  <role-selector-safe
9
+ :value-multiple="true"
10
+ :value-close="false"
9
11
  role-name="安检员"
10
12
  role-lable="安&ensp;检&ensp;员"
11
13
  @re-res="$parent.$parent.getRes"
12
14
  :value.sync="model.f_checker_id"
13
15
  v-model="model.f_checker_id"
14
- condition="f_checker_name = '{}'">
16
+ condition="f_checker_name in {}">
15
17
  </role-selector-safe>
16
18
  </div>
17
19
  <div class="col-sm-2 form-group">
@@ -74,12 +74,14 @@
74
74
  </div>
75
75
  <div :class="$parent.$parent.style2" style="margin: 0">
76
76
  <role-selector-safe
77
+ :value-multiple="true"
78
+ :value-close="false"
77
79
  role-name="安检员"
78
80
  role-lable="安&nbsp;检&nbsp;员&nbsp;"
79
81
  @re-res="$parent.$parent.getRes"
80
82
  :value.sync="model.f_checker_id"
81
83
  v-model="model.f_checker_id"
82
- condition="f_checker_name = '{}'">
84
+ condition="f_checker_name in {}">
83
85
  </role-selector-safe>
84
86
  </div>
85
87
 
@@ -222,12 +224,14 @@
222
224
 
223
225
  <div :class="$parent.$parent.style2" style="margin: 0">
224
226
  <role-selector-safe
227
+ :value-multiple="true"
228
+ :value-close="false"
225
229
  role-name="安检员"
226
230
  role-lable="安&nbsp;检&nbsp;员&nbsp;"
227
231
  @re-res="$parent.$parent.getRes"
228
232
  :value.sync="model.f_checker_id"
229
233
  v-model="model.f_checker_id"
230
- condition="f_checker_name = '{}'">
234
+ condition="f_checker_name in {}">
231
235
  </role-selector-safe>
232
236
  </div>
233
237
  </div>
@@ -6,12 +6,14 @@
6
6
  <div class="row">
7
7
  <div class="col-sm-4 form-group">
8
8
  <role-selector-safe
9
+ :value-multiple="true"
10
+ :value-close="false"
9
11
  role-name="安检员"
10
12
  role-lable="安&ensp;检&ensp;员"
11
13
  @re-res="$parent.$parent.getRes"
12
14
  :value.sync="model.f_checker_id"
13
15
  v-model="model.f_checker_id"
14
- condition="f_checker_name = '{}'">
16
+ condition="f_checker_name in {}">
15
17
  </role-selector-safe>
16
18
  </div>
17
19
  <div class="col-sm-2 form-group">
@@ -549,11 +549,6 @@ export default {
549
549
  },
550
550
  methods: {
551
551
  devicesCollect() {
552
- //tag
553
- //tag)
554
- //tag)
555
- //tag
556
-
557
552
  this.deviceCollects = []
558
553
  let checkResult = '正常'
559
554
  this.result = '正常'
@@ -577,26 +572,22 @@ export default {
577
572
  if ((items.type === 'selector' || items.type === 'radio' || items.type === 'checkbox') && items.f_item_value != null && items.f_item_value instanceof Array) {
578
573
  for (let i in items.f_item_value) {
579
574
  let f_item_value = items.f_item_value[i]
580
-
581
- //tag)
582
- //tag)
583
- //tag)
584
- //tag)
585
- if (!this.config[this.data[device][item].f_device_type].items[items.f_item_name]) {
586
- continue
587
- }
588
- let options = this.config[this.data[device][item].f_device_type].items[items.f_item_name].options
589
- for (let option in options) {
590
- if (options[option].data == f_item_value) {
591
- if (options[option].isdefect == 'true' || options[option].isdefect == true) {
592
- checkResult = '有隐患'
593
- this.result = '有隐患'
594
- defects = `${defects}:${options[option].data}/`
595
- // let level = options[option].level
575
+ for (let j = 0; j < this.config[this.data[device][item].f_device_type].items.length; j++) {
576
+ if(this.config[this.data[device][item].f_device_type].items[j].lname===items.f_item_name){
577
+ if(this.config[this.data[device][item].f_device_type].items[j].options){
578
+ let options = this.config[this.data[device][item].f_device_type].items[j].options
579
+ for (let option in options) {
580
+ if (options[option].data === f_item_value) {
581
+ if (options[option].isdefect === 'true' || options[option].isdefect === true) {
582
+ checkResult = '有隐患'
583
+ this.result = '有隐患'
584
+ defects = `${defects}:${options[option].data}/`
585
+ }
586
+ }
587
+ }
596
588
  }
597
589
  }
598
590
  }
599
- //tag)
600
591
  }
601
592
  if (defects != '') {
602
593
  deviceInfos.push(`${items.f_item_name}${defects.substring(0, defects.length - 1)}`)
@@ -653,7 +653,7 @@
653
653
  }
654
654
  defectIdStr = `(${defectIds.join(',')})`
655
655
  let http = new HttpResetClass()
656
- let sql = `update t_devices_items set f_deal_dispose = '自行整改',f_live_dispose = '是' where id in ${defectIdStr}`
656
+ let sql = `update t_devices_items set f_deal_dispose = '自行整改' where id in ${defectIdStr}`
657
657
  http.load('POST', 'rs/logic/runSQL', { data: { sql: sql } },
658
658
  { resolveMsg: null, rejectMsg: null }).then(()=>{
659
659
  this.showModal3 = false
@@ -6,6 +6,8 @@
6
6
  <div class="row">
7
7
  <div :class="{'form-group col-sm-6':$parent.$parent.$parent.showItem,'form-group col-sm-4':!$parent.$parent.$parent.showItem}" style="margin: 0">
8
8
  <role-selector-safe
9
+ :value-multiple="true"
10
+ :value-close="false"
9
11
  role-name="安检员"
10
12
  role-lable="安&ensp;检&ensp;员"
11
13
  @re-res="$parent.$parent.getRes"
@@ -223,8 +225,9 @@
223
225
  condition2 += ` AND f_offsite_time <= '${this.f_end_time} 23:59:59'`
224
226
  }
225
227
  if (this.$refs.paged.$refs.cri.model.f_checker_id){
226
- condition3 += ` AND f_checker = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
227
- condition2 += ` AND f_checker_name = '${this.$refs.paged.$refs.cri.model.f_checker_id}' `
228
+ debugger
229
+ condition3 += ` AND f_checker in ${this.$refs.paged.$refs.cri.model.f_checker_id} `
230
+ condition2 += ` AND f_checker_name in ${this.$refs.paged.$refs.cri.model.f_checker_id} `
228
231
  }
229
232
  this.model.f_start_time=this.f_start_time
230
233
  this.model.f_end_time=this.f_end_time
@@ -0,0 +1,29 @@
1
+ const EventListener = {
2
+ /**
3
+ * Listen to DOM events during the bubble phase.
4
+ *
5
+ * @param {DOMEventTarget} target DOM element to register listener on.
6
+ * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
7
+ * @param {function} callback Callback function.
8
+ * @return {object} Object with a `remove` method.
9
+ */
10
+ listen(target, eventType, callback) {
11
+ if (target.addEventListener) {
12
+ target.addEventListener(eventType, callback, false)
13
+ return {
14
+ remove() {
15
+ target.removeEventListener(eventType, callback, false)
16
+ }
17
+ }
18
+ } else if (target.attachEvent) {
19
+ target.attachEvent('on' + eventType, callback)
20
+ return {
21
+ remove() {
22
+ target.detachEvent('on' + eventType, callback)
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+
29
+ export default EventListener
@@ -0,0 +1,7 @@
1
+ // Attempt to convert a string value to a Boolean. Otherwise, return the value
2
+ // without modification so Vue can throw a warning.
3
+ export default (val) => (typeof val !== "string" ? val :
4
+ val === "true" ? true :
5
+ val === "false" ? false :
6
+ val === "null" ? false :
7
+ val === "undefined" ? false : val)