safecheck-client 4.0.2-41 → 4.0.2-43

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