safecheck-client 4.0.2-73 → 4.0.2-75

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 (31) hide show
  1. package/package.json +132 -132
  2. package/src/assets/marker-default.png +0 -0
  3. package/src/assets/myLocationIcon.png +0 -0
  4. package/src/components/android/AppMapLocation.vue +829 -0
  5. package/src/components/android/AppMapPaper.vue +83 -0
  6. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  7. package/src/components/android/SafeRightTree.vue +218 -218
  8. package/src/components/android/SafecheckDevices.vue +1340 -1340
  9. package/src/components/android/week/CheckResultSimple.vue +258 -258
  10. package/src/components/android/week/FirstWeekCheck.vue +303 -301
  11. package/src/components/android/week/StepHeaderBar.vue +477 -485
  12. package/src/components/android/week/WeekCheck.vue +267 -267
  13. package/src/components/android/week/WeekCheckPaper.vue +274 -274
  14. package/src/components/android/week/WeekCheckPlan.vue +145 -145
  15. package/src/components/android/week/WeekCheckUserInfo.vue +99 -99
  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/CheckBookSearchUserList.vue +674 -674
  23. package/src/filiale/jinhong/android/AndroidDefectDeal.vue +748 -748
  24. package/src/filiale/jinhong/android/AndroidNotifiedDeal.vue +569 -569
  25. package/src/filiale/jinhong/pc/checkUserList.vue +806 -806
  26. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  27. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  28. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1343
  29. package/src/filiale/meihekou/android.js +22 -22
  30. package/src/safecheck-android.js +332 -328
  31. package/build/reports/problems/problems-report.html +0 -663
@@ -1,258 +1,258 @@
1
- <template>
2
- <div class="select-overspread repair-bg auto simple">
3
- <div class="panel panel-default auto repair-info-content">
4
- <div class="panel-body" style="padding: 0">
5
- <!-- 周检项内容 -->
6
- <div class="auto repair-info-content compatible" style="padding: 0">
7
- <div class="row auto" style="padding: 0">
8
- <div class="col-xs-12 col-sm-12 col-md-12 mg8" v-show="row.isshow" v-for="(idxs,row) in items" style="padding: 4px; border:1px solid #D4D4D4;border-bottom: 0" >
9
- <label v-if="row.type != 'radio' && row.type != 'text' && row.type != 'picture' && row.type != 'checkbox'" v-show="row.isshow" class="fivelabel">{{row.f_item_name}}</label>
10
- <label v-if="row.type == 'radio'" v-show="row.isshow" class="radiolabel">{{row.f_item_name}}</label>
11
- <label v-if="row.type == 'text'" v-show="row.isshow" class="textlabel1">{{row.f_item_name}}</label>
12
- <label v-if="row.type == 'picture' || row.type == 'checkbox'" v-show="row.isshow" class="textlabel">{{row.f_item_name}}</label>
13
- <div style="clear: both" v-if="row.type == 'picture'" class="form-group col-sm-12" >
14
- <div slot="modal-body" class="modal-body">
15
- <div class="auto" :class="style__">
16
- <div class="panel" style="padding: 10px 10px 5px 10px;">
17
- <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
18
- <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
19
- <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in row.images">
20
- <img-self v-if="row.state === '未检'" :src="img.f_path" :alt="row.f_item_name" :width="140" :height="170"></img-self>
21
- <img-self v-if="row.state === '已检'" :src="`${url}/rs/image/file/`+img.filename" :alt="row.f_item_name" :width="140" :height="170"></img-self>
22
- <img v-if="!row.readonly" src="../../../assets/删除.png" @click="delfile(img.f_path,index,idxs)" style="width: 15px;margin-top: -80px" alt="">
23
- </div>
24
- </div>
25
- <div class="row text-right div-photo">
26
- <button v-if="!row.readonly" type="button" name="button" class="btn btn-photo" @click="takePic(row.f_item_name,idxs)">拍照</button>
27
- </div>
28
- </div>
29
- </div>
30
- </div>
31
- </div>
32
- </div>
33
-
34
- <div style="float: left;width:60%" class="form-group" v-if="row.type == 'string'" v-show="row.isshow">
35
- <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" :readonly="role == 'androidview' || row.readonly">
36
- </div>
37
- <div style="float: left;width:60%" class="form-group col-sm-12" v-if="row.type == 'date'" v-show="row.isshow">
38
- <datepicker id="f_making_date" :placeholder= row.f_item_name
39
- :value.sync="row.f_item_value"
40
- v-if="row.type == 'date'"
41
- v-show="row.isshow"
42
- :disabled-days-of-Week="[]"
43
- :format="'yyyy-MM-dd HH:mm:ss'"
44
- readonly
45
- >
46
- </datepicker>
47
- </div>
48
- <div style="float: left;width:60%" class="form-group" v-if="row.type == 'number'" v-show="row.isshow">
49
- <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" onkeyup="value=value.replace(/[^\d\.-]/g,'')" :readonly="row.readonly">
50
- </div>
51
- <v-select style="float: left" :value.sync="row.selected"
52
- v-model="row.selected"
53
- v-if="row.type == 'selector'"
54
- :search="false"
55
- v-show="row.isshow"
56
- placeholder='请选择'
57
- :options="row.options"
58
- :disabled="row.readonly"
59
- @change="changse"
60
- @click="transelation(idxs)"
61
- :multiple="row.multiple"
62
- :value-single="!row.multiple"
63
- :close-on-select="!row.multiple" clear-button></v-select>
64
- <div style="float: left;width: 30%" class="form-group" v-if="row.type == 'radio'">
65
- <div class="col-xs-6 col-sm-6 col-md-6" v-for="item in row.options">
66
- <input type="radio" :name="row.f_item_name" :value="item.value" :disabled="row.readonly" v-model="row.f_item_value" >
67
- <span>{{item.label}}</span>
68
- </div>
69
- </div>
70
- <div v-if="row.type == 'checkbox'" class="col-xs-12 col-sm-12 col-md-12" style="white-space: nowrap" >
71
- <div style="float: left" v-for="item in row.options">
72
- <input type="checkbox" :name="row.f_item_name" :value="item.value" :disabled="row.readonly" v-model="row.f_item_value">
73
- <span>{{item.label}}</span>
74
- </div>
75
- </div>
76
-
77
- </div>
78
- </div>
79
- </div>
80
- </div>
81
- </div>
82
- </div>
83
- </template>
84
- <script>
85
- import Vue from 'vue'
86
- import * as Util from '../../Util'
87
-
88
- export default {
89
- title: '周检列表信息',
90
- data() {
91
- return {
92
- selectindex: null,
93
- url: this.$androidUtil.getProxyUrl()
94
- }
95
- },
96
- props: ['itemname','items'],
97
- ready() {
98
- },
99
- methods: {
100
- delfile(fileName, index,idxs) {
101
- this.items[idxs].images.splice(index, 1)
102
- HostApp.delfile(fileName)
103
- },
104
- cameraCallBack(fileName,idxs) {
105
- let path = fileName
106
- HostApp.__this__.items[idxs].images.push({
107
- f_path: path
108
- })
109
- HostApp.__callback__ = null
110
- HostApp.__this__ = null
111
- },
112
- takePic(title, idxs) {
113
- HostApp.__callback__ = this.cameraCallBack
114
- HostApp.__this__ = this
115
- let fileName = Util.guid() + '-' + '.jpg'
116
- HostApp._open_a_page({
117
- type: 'boomerang',
118
- page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
119
- param: {
120
- file: fileName,
121
- requestCode: 111,
122
- callback: 'javascript:HostApp.__callback__( "%s","'+ idxs + '");',
123
- watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
124
- }
125
- })
126
- },
127
- changse(val){
128
- if(val == undefined){
129
- return
130
- }
131
- if(this.selectindex != null) {
132
- if(this.items[this.selectindex].type == 'selector'){
133
- this.items[this.selectindex].f_item_value = val
134
- }
135
- }
136
- },
137
- transelation(val){
138
- this.selectindex = val
139
- },
140
- },
141
- computed:{
142
- },
143
- watch: {
144
- 'itemname'(){
145
- for (let item in this.items) {
146
- if (this.items[item].type === 'selector') {
147
- if (this.items[item].state === '未检'){
148
- let page = [
149
- {
150
- label: "请选择",
151
- value: ''
152
- }
153
- ]
154
-
155
- for (let i in this.items[item].options) {
156
- if (Util.isEmpty(this.items[item].f_item_value) && this.items[item].options[i].isdefault){
157
- this.$set(`items[${item}].f_item_value`, this.items[item].options[i].data)
158
- this.items[item].f_item_value = this.items[item].options[i].data
159
- }
160
- page.push({
161
- label: this.items[item].options[i].data,
162
- value: this.items[item].options[i].data
163
- })
164
- }
165
- this.items[item].options = page
166
- this.$set(`items[${item}].options`, page)
167
- }
168
- this.$set(`items[${item}].selected`, this.items[item].f_item_value)
169
- } else if (this.items[item].type === 'radio' || this.items[item].type === 'checkbox') {
170
- if (this.items[item].state === '未检'){
171
- let page = []
172
- for (let i in this.items[item].options) {
173
- page.push({
174
- label: this.items[item].options[i].data,
175
- value: this.items[item].options[i].data
176
- })
177
- if (Util.isEmpty(this.items[item].f_item_value) && this.items[item].options[i].isdefault){
178
- this.$set(`items[${item}].f_item_value`, this.items[item].options[i].data)
179
- this.items[item].f_item_value = this.items[item].options[i].data
180
- }
181
- }
182
- this.items[item].options = page
183
- this.$set(`items[${item}].options`, page)
184
- }
185
- }
186
- }
187
- }
188
- },
189
- }
190
- </script>
191
- <style lang="less" scoped>
192
- .simple {
193
- padding: 10px 10px 5px 10px;
194
- margin-bottom: 0;
195
- background-color: #fff;
196
- border: 1px solid transparent;
197
- }
198
- .class-erro {
199
- color: #a94442;
200
- }
201
- .fivelabel{
202
- border: none;
203
- float: left;
204
- width: 35%;
205
- margin-bottom: 3px;
206
- text-align: left;
207
- word-wrap: break-word;
208
- white-space: normal;
209
- }
210
- .radiolabel{
211
- border: none;
212
- float: left;
213
- width: 65%;
214
- margin-bottom: 3px;
215
- text-align: left;
216
- word-wrap: break-word;
217
- white-space: normal;
218
- }
219
-
220
- .textlabel {
221
- border: none;
222
- width: 100%;
223
- margin-bottom: 3px;
224
- text-align: left;
225
- word-wrap: break-word;
226
- white-space: normal;
227
- }
228
- .textlabel1 {
229
- border: none;
230
- width: 100%;
231
- margin-bottom: 3px;
232
- text-align: left;
233
- word-wrap: break-word;
234
- white-space: normal;
235
- }
236
- .spanrodio{
237
- margin-right: 10px;
238
- }
239
- .div-photo{
240
- width: auto;
241
- height: auto;
242
- position: absolute;
243
- bottom: 10px;
244
- right: 10px;
245
- }
246
- .panel-self{
247
- border-radius: 5px;
248
- border:1px solid #c5e1f7;
249
- }
250
- .btn-photo{
251
- border: 0;
252
- border-radius: 7px;
253
- background-color: #7dc1f4;
254
- font: 15px PingFang-SC-Bold;
255
- height: 20%;
256
- }
257
- </style>
258
-
1
+ <template>
2
+ <div class="select-overspread repair-bg auto simple">
3
+ <div class="panel panel-default auto repair-info-content">
4
+ <div class="panel-body" style="padding: 0">
5
+ <!-- 周检项内容 -->
6
+ <div class="auto repair-info-content compatible" style="padding: 0">
7
+ <div class="row auto" style="padding: 0">
8
+ <div class="col-xs-12 col-sm-12 col-md-12 mg8" v-show="row.isshow" v-for="(idxs,row) in items" style="padding: 4px; border:1px solid #D4D4D4;border-bottom: 0" >
9
+ <label v-if="row.type != 'radio' && row.type != 'text' && row.type != 'picture' && row.type != 'checkbox'" v-show="row.isshow" class="fivelabel">{{row.f_item_name}}</label>
10
+ <label v-if="row.type == 'radio'" v-show="row.isshow" class="radiolabel">{{row.f_item_name}}</label>
11
+ <label v-if="row.type == 'text'" v-show="row.isshow" class="textlabel1">{{row.f_item_name}}</label>
12
+ <label v-if="row.type == 'picture' || row.type == 'checkbox'" v-show="row.isshow" class="textlabel">{{row.f_item_name}}</label>
13
+ <div style="clear: both" v-if="row.type == 'picture'" class="form-group col-sm-12" >
14
+ <div slot="modal-body" class="modal-body">
15
+ <div class="auto" :class="style__">
16
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
17
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 100%;height: 260px;position: relative">
18
+ <div class="row" style="height: 240px;overflow: scroll;top: 1px" >
19
+ <div class="col-xs-4 col-sm-3 col-md-2" style="margin-bottom: 35px" v-for="(index,img) in row.images">
20
+ <img-self v-if="row.state === '未检'" :src="img.f_path" :alt="row.f_item_name" :width="140" :height="170"></img-self>
21
+ <img-self v-if="row.state === '已检'" :src="`${url}/rs/image/file/`+img.filename" :alt="row.f_item_name" :width="140" :height="170"></img-self>
22
+ <img v-if="!row.readonly" src="../../../assets/删除.png" @click="delfile(img.f_path,index,idxs)" style="width: 15px;margin-top: -80px" alt="">
23
+ </div>
24
+ </div>
25
+ <div class="row text-right div-photo">
26
+ <button v-if="!row.readonly" type="button" name="button" class="btn btn-photo" @click="takePic(row.f_item_name,idxs)">拍照</button>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ <div style="float: left;width:60%" class="form-group" v-if="row.type == 'string'" v-show="row.isshow">
35
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" :readonly="role == 'androidview' || row.readonly">
36
+ </div>
37
+ <div style="float: left;width:60%" class="form-group col-sm-12" v-if="row.type == 'date'" v-show="row.isshow">
38
+ <datepicker id="f_making_date" :placeholder= row.f_item_name
39
+ :value.sync="row.f_item_value"
40
+ v-if="row.type == 'date'"
41
+ v-show="row.isshow"
42
+ :disabled-days-of-Week="[]"
43
+ :format="'yyyy-MM-dd'"
44
+ readonly
45
+ >
46
+ </datepicker>
47
+ </div>
48
+ <div style="float: left;width:60%" class="form-group" v-if="row.type == 'number'" v-show="row.isshow">
49
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" onkeyup="value=value.replace(/[^\d\.-]/g,'')" :readonly="row.readonly">
50
+ </div>
51
+ <v-select style="float: left" :value.sync="row.selected"
52
+ v-model="row.selected"
53
+ v-if="row.type == 'selector'"
54
+ :search="false"
55
+ v-show="row.isshow"
56
+ placeholder='请选择'
57
+ :options="row.options"
58
+ :disabled="row.readonly"
59
+ @change="changse"
60
+ @click="transelation(idxs)"
61
+ :multiple="row.multiple"
62
+ :value-single="!row.multiple"
63
+ :close-on-select="!row.multiple" clear-button></v-select>
64
+ <div style="float: left;width: 30%" class="form-group" v-if="row.type == 'radio'">
65
+ <div class="col-xs-6 col-sm-6 col-md-6" v-for="item in row.options">
66
+ <input type="radio" :name="row.f_item_name" :value="item.value" :disabled="row.readonly" v-model="row.f_item_value" >
67
+ <span>{{item.label}}</span>
68
+ </div>
69
+ </div>
70
+ <div v-if="row.type == 'checkbox'" class="col-xs-12 col-sm-12 col-md-12" style="white-space: nowrap" >
71
+ <div style="float: left" v-for="item in row.options">
72
+ <input type="checkbox" :name="row.f_item_name" :value="item.value" :disabled="row.readonly" v-model="row.f_item_value">
73
+ <span>{{item.label}}</span>
74
+ </div>
75
+ </div>
76
+
77
+ </div>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </template>
84
+ <script>
85
+ import Vue from 'vue'
86
+ import * as Util from '../../Util'
87
+
88
+ export default {
89
+ title: '周检列表信息',
90
+ data() {
91
+ return {
92
+ selectindex: null,
93
+ url: this.$androidUtil.getProxyUrl()
94
+ }
95
+ },
96
+ props: ['itemname','items'],
97
+ ready() {
98
+ },
99
+ methods: {
100
+ delfile(fileName, index,idxs) {
101
+ this.items[idxs].images.splice(index, 1)
102
+ HostApp.delfile(fileName)
103
+ },
104
+ cameraCallBack(fileName,idxs) {
105
+ let path = fileName
106
+ HostApp.__this__.items[idxs].images.push({
107
+ f_path: path
108
+ })
109
+ HostApp.__callback__ = null
110
+ HostApp.__this__ = null
111
+ },
112
+ takePic(title, idxs) {
113
+ HostApp.__callback__ = this.cameraCallBack
114
+ HostApp.__this__ = this
115
+ let fileName = Util.guid() + '-' + '.jpg'
116
+ HostApp._open_a_page({
117
+ type: 'boomerang',
118
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
119
+ param: {
120
+ file: fileName,
121
+ requestCode: 111,
122
+ callback: 'javascript:HostApp.__callback__( "%s","'+ idxs + '");',
123
+ watermark: title + '\t时间:' + Util.toStandardTimeString() + '\t' + Vue.user.name
124
+ }
125
+ })
126
+ },
127
+ changse(val){
128
+ if(val == undefined){
129
+ return
130
+ }
131
+ if(this.selectindex != null) {
132
+ if(this.items[this.selectindex].type == 'selector'){
133
+ this.items[this.selectindex].f_item_value = val
134
+ }
135
+ }
136
+ },
137
+ transelation(val){
138
+ this.selectindex = val
139
+ },
140
+ },
141
+ computed:{
142
+ },
143
+ watch: {
144
+ 'itemname'(){
145
+ for (let item in this.items) {
146
+ if (this.items[item].type === 'selector') {
147
+ if (this.items[item].state === '未检'){
148
+ let page = [
149
+ {
150
+ label: "请选择",
151
+ value: ''
152
+ }
153
+ ]
154
+
155
+ for (let i in this.items[item].options) {
156
+ if (Util.isEmpty(this.items[item].f_item_value) && this.items[item].options[i].isdefault){
157
+ this.$set(`items[${item}].f_item_value`, this.items[item].options[i].data)
158
+ this.items[item].f_item_value = this.items[item].options[i].data
159
+ }
160
+ page.push({
161
+ label: this.items[item].options[i].data,
162
+ value: this.items[item].options[i].data
163
+ })
164
+ }
165
+ this.items[item].options = page
166
+ this.$set(`items[${item}].options`, page)
167
+ }
168
+ this.$set(`items[${item}].selected`, this.items[item].f_item_value)
169
+ } else if (this.items[item].type === 'radio' || this.items[item].type === 'checkbox') {
170
+ if (this.items[item].state === '未检'){
171
+ let page = []
172
+ for (let i in this.items[item].options) {
173
+ page.push({
174
+ label: this.items[item].options[i].data,
175
+ value: this.items[item].options[i].data
176
+ })
177
+ if (Util.isEmpty(this.items[item].f_item_value) && this.items[item].options[i].isdefault){
178
+ this.$set(`items[${item}].f_item_value`, this.items[item].options[i].data)
179
+ this.items[item].f_item_value = this.items[item].options[i].data
180
+ }
181
+ }
182
+ this.items[item].options = page
183
+ this.$set(`items[${item}].options`, page)
184
+ }
185
+ }
186
+ }
187
+ }
188
+ },
189
+ }
190
+ </script>
191
+ <style lang="less" scoped>
192
+ .simple {
193
+ padding: 10px 10px 5px 10px;
194
+ margin-bottom: 0;
195
+ background-color: #fff;
196
+ border: 1px solid transparent;
197
+ }
198
+ .class-erro {
199
+ color: #a94442;
200
+ }
201
+ .fivelabel{
202
+ border: none;
203
+ float: left;
204
+ width: 35%;
205
+ margin-bottom: 3px;
206
+ text-align: left;
207
+ word-wrap: break-word;
208
+ white-space: normal;
209
+ }
210
+ .radiolabel{
211
+ border: none;
212
+ float: left;
213
+ width: 65%;
214
+ margin-bottom: 3px;
215
+ text-align: left;
216
+ word-wrap: break-word;
217
+ white-space: normal;
218
+ }
219
+
220
+ .textlabel {
221
+ border: none;
222
+ width: 100%;
223
+ margin-bottom: 3px;
224
+ text-align: left;
225
+ word-wrap: break-word;
226
+ white-space: normal;
227
+ }
228
+ .textlabel1 {
229
+ border: none;
230
+ width: 100%;
231
+ margin-bottom: 3px;
232
+ text-align: left;
233
+ word-wrap: break-word;
234
+ white-space: normal;
235
+ }
236
+ .spanrodio{
237
+ margin-right: 10px;
238
+ }
239
+ .div-photo{
240
+ width: auto;
241
+ height: auto;
242
+ position: absolute;
243
+ bottom: 10px;
244
+ right: 10px;
245
+ }
246
+ .panel-self{
247
+ border-radius: 5px;
248
+ border:1px solid #c5e1f7;
249
+ }
250
+ .btn-photo{
251
+ border: 0;
252
+ border-radius: 7px;
253
+ background-color: #7dc1f4;
254
+ font: 15px PingFang-SC-Bold;
255
+ height: 20%;
256
+ }
257
+ </style>
258
+