safecheck-client 4.0.2-7 → 4.0.2-71

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 (78) hide show
  1. package/build/reports/problems/problems-report.html +663 -0
  2. package/package.json +132 -132
  3. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  4. package/src/components/android/AndroidNotifiedDeal.vue +417 -0
  5. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  6. package/src/components/android/SafeRightTree.vue +218 -218
  7. package/src/components/android/SafecheckDevices.vue +1340 -1340
  8. package/src/components/android/week/CheckResultSimple.vue +258 -0
  9. package/src/components/android/week/FirstWeekCheck.vue +301 -0
  10. package/src/components/android/week/StepHeaderBar.vue +485 -0
  11. package/src/components/android/week/WeekCheck.vue +267 -0
  12. package/src/components/android/week/WeekCheckPaper.vue +274 -0
  13. package/src/components/android/week/WeekCheckPlan.vue +145 -0
  14. package/src/components/android/week/WeekCheckUserInfo.vue +99 -0
  15. package/src/components/checkplan/CheckDetail.vue +1 -1
  16. package/src/components/checkplan/SelectCheckPlan.vue +39 -0
  17. package/src/components/paper/safetyledger.vue +198 -0
  18. package/src/components/pc/CheckBook.vue +303 -303
  19. package/src/components/pc/CheckBookArea.vue +146 -146
  20. package/src/components/pc/CheckBookCompany.vue +144 -144
  21. package/src/components/pc/CheckBookDetails.vue +161 -161
  22. package/src/components/pc/CheckBookEntry.vue +60 -60
  23. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  24. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  25. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  26. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  27. package/src/components/pc/DefectDeal.vue +22 -7
  28. package/src/components/pc/PaperDefectMain.vue +22 -0
  29. package/src/components/planmanage/checkUserList.vue +1 -1
  30. package/src/components/querycheckpaper/CheckSearchUser.vue +2 -1
  31. package/src/components/report/CheckPlanAreaList.vue +53 -7
  32. package/src/components/report/CheckPlanUserList.vue +12 -2
  33. package/src/filiale/jinhong/android/AddPlanItem.vue +481 -0
  34. package/src/filiale/jinhong/android/AndroidDefectDeal.vue +748 -0
  35. package/src/filiale/jinhong/android/AndroidNotifiedDeal.vue +569 -0
  36. package/src/filiale/jinhong/android/CurrentCreate.vue +63 -21
  37. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +28 -3
  38. package/src/filiale/jinhong/android/SafecheckOrderV.vue +2300 -0
  39. package/src/filiale/jinhong/android.js +5 -1
  40. package/src/filiale/jinhong/pc/CheckBookList.vue +28 -18
  41. package/src/filiale/jinhong/pc/CheckSearchUser.vue +45 -2
  42. package/src/filiale/jinhong/pc/NewCheckpaper.vue +1958 -0
  43. package/src/filiale/jinhong/pc/PaperList.vue +8 -1
  44. package/src/filiale/jinhong/pc/PlanManage.vue +9 -3
  45. package/src/filiale/jinhong/pc/checkPlanList.vue +73 -24
  46. package/src/filiale/jinhong/pc/checkUserList.vue +36 -0
  47. package/src/filiale/jinhong/pc.js +1 -0
  48. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  49. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  50. package/src/filiale/meihekou/android/CurrentCreate.vue +16 -0
  51. package/src/filiale/meihekou/android/PaperFeedback.vue +1545 -1542
  52. package/src/filiale/meihekou/android/SafecheckDevices.vue +1343 -1340
  53. package/src/filiale/meihekou/android/SafecheckOrderV.vue +70 -54
  54. package/src/filiale/meihekou/android.js +22 -22
  55. package/src/filiale/meihekou/pc/CheckDetail.vue +217 -0
  56. package/src/filiale/meihekou/pc/CheckPlan.vue +52 -0
  57. package/src/filiale/meihekou/pc/CheckPlanAreaList.vue +505 -0
  58. package/src/filiale/meihekou/pc/NewCheckpaper.vue +249 -280
  59. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2051 -2050
  60. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1 -0
  61. package/src/filiale/meihekou/pc/PaperList.vue +9 -23
  62. package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -0
  63. package/src/filiale/meihekou/pc/checkUserList.vue +790 -0
  64. package/src/filiale/meihekou/pc.js +19 -15
  65. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +2 -2
  66. package/src/filiale/taiyuan/android/AddPlanItem.vue +1 -0
  67. package/src/filiale/taiyuan/android/SafecheckDevices.vue +1343 -0
  68. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +17 -17
  69. package/src/filiale/taiyuan/android.js +1 -0
  70. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +22 -0
  71. package/src/filiale/xinkang/android/SafecheckDevices.vue +2 -2
  72. package/src/filiale/xinkang/android/SafecheckOrderV.vue +9 -2
  73. package/src/filiale/xinkang/pc/NewCheckpaper.vue +17 -46
  74. package/src/filiale/xinliansihui/pc/PaperList.vue +814 -0
  75. package/src/filiale/xinliansihui/pc/PaperVisitMain.vue +206 -0
  76. package/src/filiale/xinliansihui/pc.js +13 -0
  77. package/src/safecheck-android.js +12 -0
  78. package/src/safecheck.js +3 -0
@@ -0,0 +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
+
@@ -0,0 +1,301 @@
1
+ <template>
2
+ <work-busy :is-busy="loading"></work-busy>
3
+ <div class="auto">
4
+ <div v-show="!showcheck">
5
+ <criteria-paged :model="model" v-ref:paged>
6
+ <criteria partial='criteria' @condition-changed='$parent.selfsearch' v-ref:cri>
7
+ <div partial>
8
+ <form>
9
+ <div class="row app-row">
10
+ <div class="col-xs-4">
11
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
12
+ <label class="font text-left">表 &nbsp;&nbsp; &nbsp;&nbsp; 号:</label>
13
+ </div>
14
+ <div class="col-xs-8" >
15
+ <input class="search_input input-font"
16
+ v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
17
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
18
+ </div>
19
+ </div>
20
+ <div class="row text-center" style="margin-top: 20px;">
21
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
22
+ <button v-if="$parent.$parent.showbutton && $parent.$parent.model.rows.length == 0" type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="$parent.$parent.showModal">执行首检</button>
23
+ </div>
24
+ </form>
25
+ </div>
26
+ </criteria>
27
+
28
+ <list :model="model" partial='list'>
29
+ <div partial>
30
+ <div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
31
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
32
+ <div class="panel-body panel-self">
33
+ <div class="row">
34
+ <p class="panel-title col-xs-4 text-left font">表号</p>
35
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
36
+ </div>
37
+ <div class="row">
38
+ <p class="panel-title col-xs-4 text-left font">首检日期</p>
39
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_first_inspection_date }}</p>
40
+ </div>
41
+ <div class="row">
42
+ <p class="panel-title col-xs-4 text-left font">首检机构</p>
43
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_inspection_agency }}</p>
44
+ </div>
45
+ <div class="row">
46
+ <p class="panel-title col-xs-4 text-left font">气表品牌</p>
47
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_brand }}</p>
48
+ </div>
49
+ <div class="row">
50
+ <p class="panel-title col-xs-4 text-left font">气表型号</p>
51
+ <p class="panel-title col-xs-8 text-left input-font">{{ row.f_meter_style }}</p>
52
+ </div>
53
+ </div>
54
+ </div>
55
+
56
+ </div>
57
+ </div>
58
+ </list>
59
+ </criteria-paged>
60
+ </div>
61
+ <div v-show="showcheck">
62
+ <check-rsult-simple :items="weekCheck" :itemname="itemname"></check-rsult-simple>
63
+ <div class="row text-center" style="margin-top: 20px;">
64
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="colse">取消</button>
65
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="uploadCheckPaper">提交</button>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ </template>
70
+
71
+ <script>
72
+ import {HttpResetClass, PagedList} from 'vue-client'
73
+ import Vue from 'vue'
74
+ import * as Util from '../../Util'
75
+
76
+ export default {
77
+ title: '首检',
78
+ data () {
79
+ let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getFirstWeekTable`, 20,
80
+ {
81
+ f_orgids:'this.f_orgids'
82
+ })
83
+ model.f_orgids = Vue.user.orgid
84
+ return {
85
+ model: model,
86
+ weekCheck:[],
87
+ useritem:{},
88
+ weekConfig:{},
89
+ showcheck:false,
90
+ loading: false,
91
+ showbutton:false,
92
+ itemname:''
93
+ }
94
+ },
95
+ ready () {
96
+ this.getweekconfig()
97
+ },
98
+ computed: {
99
+ },
100
+ methods:{
101
+ getweekconfig(){
102
+ const http = new HttpResetClass()
103
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeByType`, {f_safecheck_type: '首检' }).then(res=>{
104
+ if (res.data && res.data.length > 0 ){
105
+ this.weekConfig = res.data[0]
106
+ }
107
+ })
108
+ },
109
+ getdetails(){
110
+ const json = JSON.parse(this.weekConfig.f_json)
111
+ this.weekCheck = []
112
+ if (json && json.length > 0){
113
+ for (let i = 0; i < json.length; i++){
114
+ if (json[i].itemname === '首检'){
115
+ json[i].items.forEach(row => {
116
+ this.weekCheck.push({
117
+ f_item_name: row.itemname,
118
+ f_item_value: row.f_item_value || '',
119
+ options:row.options,
120
+ type: row.type,
121
+ isshow:true,
122
+ images: row.images|| [],
123
+ multiple: row.multiple?row.multiple:false,
124
+ readonly:false,
125
+ state:'未检'
126
+ })
127
+ })
128
+ }
129
+ }
130
+ }
131
+ },
132
+ scan(){
133
+ HostApp.__this__=this,
134
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
135
+ },
136
+ getCode(){
137
+ let datapa = HostApp.getCode().data;
138
+ this.$refs.paged.$refs.cri.model.f_meternumber=datapa
139
+ },
140
+ inspect (row) {
141
+ this.getdetails()
142
+ this.useritem = row
143
+ this.weekCheck.forEach(item=>{
144
+ if (item.f_item_name === '表号' && !Util.isEmpty(row.f_meternumber)){
145
+ item.f_item_value = row.f_meternumber
146
+ item.readonly = true
147
+ }
148
+ if (item.f_item_name === '气表品牌' && !Util.isEmpty(row.f_meter_brand)){
149
+ item.f_item_value = row.f_meter_brand
150
+ item.readonly = true
151
+ }
152
+ if (item.f_item_name === '气表型号' && !Util.isEmpty(row.f_meter_style)){
153
+ item.f_item_value = row.f_meter_style
154
+ item.readonly = true
155
+ }
156
+ })
157
+ this.itemname = '首检'
158
+ this.showcheck = true
159
+ },
160
+ showModal(){
161
+ this.getdetails()
162
+ this.itemname = '首检'
163
+ this.showcheck = true
164
+ },
165
+ colse(){
166
+ this.getdetails()
167
+ this.itemname = ''
168
+ this.$refs.paged.$refs.cri.search()
169
+ this.showcheck = false
170
+ this.loading = false
171
+ this.showbutton = false
172
+ },
173
+ async uploadCheckPaperPics () {
174
+ let tableImages = []
175
+ this.weekCheck.forEach((item) => {
176
+ if (item.type == 'picture'){
177
+ item.images.forEach(image=>{
178
+ image.filename = image.f_path.substring(image.f_path.lastIndexOf('/')+1)
179
+ tableImages.push({
180
+ path: image.f_path,
181
+ })
182
+ })
183
+ }
184
+ })
185
+ HostApp.__this__ = this
186
+ HostApp.logicWithHint({
187
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
188
+ 'data': {tableImages:tableImages}, 'backresult': 1
189
+ })
190
+ },
191
+ async uploadCheckPaper(){
192
+ this.loading = true
193
+ await this.uploadCheckPaperPics()
194
+ const json = JSON.parse(this.weekConfig.f_json)
195
+ json.forEach(res=>{
196
+ if (res.itemname === '首检'){
197
+ res.items = this.weekCheck
198
+ }
199
+ })
200
+ const http = new HttpResetClass()
201
+ const weekCheckpaper = {
202
+ f_meter_brand: this.useritem.f_meter_brand,
203
+ f_meter_style: this.useritem.f_meter_style,
204
+ f_meternumber: this.useritem.f_meternumber,
205
+ f_device_address: this.useritem.f_device_address,
206
+ f_address: this.useritem.f_device_address,
207
+ f_operatorid: Vue.user.id,
208
+ f_operator: Vue.user.name,
209
+ f_complete: '已完成',
210
+ f_entry_status: '正常',
211
+ f_safe_type: '首检',
212
+ f_state: '已检',
213
+ f_safe_content: json,
214
+ f_safecheck_type_id: this.weekConfig.f_security_check_type_id,
215
+ f_safe_type_version: this.weekConfig.version,
216
+ f_upload_date: Util.toStandardTimeString(),
217
+ f_checker_id: Vue.user.id,
218
+ f_checker_name: Vue.user.name,
219
+ f_filialeid: Vue.user.orgid,
220
+ f_orgid: Vue.user.orgid,
221
+ f_orgname: Vue.user.orgs,
222
+ }
223
+ this.weekCheck.forEach(item => {
224
+ if (item.f_item_name === '表号'){
225
+ weekCheckpaper.f_meternumber = item.f_item_value
226
+ }
227
+ if (item.f_item_name === '气表品牌'){
228
+ weekCheckpaper.f_meter_brand = item.f_item_value
229
+ }
230
+ if (item.f_item_name === '气表型号'){
231
+ weekCheckpaper.f_meter_style = item.f_item_value
232
+ }
233
+ if (item.f_item_name === '检定机构'){
234
+ weekCheckpaper.f_last_inspection_agency = item.f_item_value
235
+ }
236
+ if (item.f_item_name === '检定时间'){
237
+ if (item.f_item_value && item.f_item_value > Util.toStandardTimeString()){
238
+ this.$showMessage('只能选择当前或者之前的时间!')
239
+ throw '只能选择当前或者之前的时间!'
240
+ return
241
+ }
242
+ weekCheckpaper.f_complete_date = item.f_item_value
243
+ }
244
+ if (item.f_item_name === '检定结果'){
245
+ weekCheckpaper.f_last_inspection_result = item.f_item_value
246
+ }
247
+ })
248
+ http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, weekCheckpaper, {resolveMsg: '首检成功!', rejectMsg: '首检失败,请联系管理员检查!'}).then(res=>{
249
+ if (res.data){
250
+ this.colse()
251
+ }
252
+ })
253
+ this.loading = false
254
+ },
255
+ selfsearch(args){
256
+ if (Util.isEmpty(args.model.f_meternumber)){
257
+ this.$showMessage("请输入表号查询!")
258
+ return
259
+ }
260
+ this.showbutton = true
261
+ this.model.search(args.condition, args.model)
262
+ }
263
+ }
264
+ }
265
+ </script>
266
+ <style scoped>
267
+ .app-row {
268
+ background-color: white;
269
+ padding: 10px 10px 0 10px;
270
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
271
+ }
272
+ .search_input {
273
+ border: 0;
274
+ outline: none;
275
+ }
276
+ .font{
277
+ font: 15px PingFang-SC-Medium;
278
+ color: #666666;
279
+ }
280
+ .input-font{
281
+ font: 15px PingFang-SC-Medium;
282
+ color: #333333;
283
+ }
284
+ .btn-font{
285
+ font:600 16px PingFang-SC-Bold;
286
+ color: #499EDF;
287
+ }
288
+ .btn-color{
289
+ background-color: #FFFFFF;
290
+ border-radius: 10px ;
291
+ border: 1px solid #499EDF;
292
+ }
293
+ .app-text {
294
+ font-size: 12px;
295
+ }
296
+ .panel-self{
297
+ border-radius: 10px;
298
+ border:1px solid #499EDF;
299
+ background-color: #F8F8F8;
300
+ }
301
+ </style>