safecheck-client 4.0.2-44 → 4.0.2-47

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 -251
  6. package/src/components/android/week/FirstWeekCheck.vue +253 -253
  7. package/src/components/android/week/StepHeaderBar.vue +453 -453
  8. package/src/components/android/week/WeekCheck.vue +203 -203
  9. package/src/components/android/week/WeekCheckPaper.vue +219 -219
  10. package/src/components/paper/safetyledger.vue +4 -0
  11. package/src/components/pc/CheckBookArea.vue +146 -146
  12. package/src/components/pc/CheckBookCompany.vue +144 -144
  13. package/src/components/pc/CheckBookDetails.vue +161 -161
  14. package/src/components/pc/CheckBookEntry.vue +60 -60
  15. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  16. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  17. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  18. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  19. package/src/components/report/CheckPlanAreaList.vue +551 -548
  20. package/src/filiale/jinhong/pc/CheckSearchUser.vue +1120 -1120
  21. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  22. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  23. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1343
  24. package/src/filiale/meihekou/android.js +22 -22
  25. package/src/main.js +33 -33
  26. package/src/safecheck-android.js +326 -326
@@ -1,251 +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 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
-
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
+