safecheck-client 4.0.2-3 → 4.0.2-31
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.
- package/package.json +2 -2
- package/src/components/android/week/CheckResultSimple.vue +222 -0
- package/src/components/android/week/FirstWeekCheck.vue +236 -0
- package/src/components/android/week/StepHeaderBar.vue +323 -0
- package/src/components/android/week/WeekCheck.vue +151 -0
- package/src/components/android/week/WeekCheckPaper.vue +151 -0
- package/src/components/checkplan/SelectCheckPlan.vue +39 -0
- package/src/components/paper/safetyledger.vue +194 -0
- package/src/components/pc/CheckBook.vue +1 -1
- package/src/components/planmanage/PlanManage.vue +902 -902
- package/src/components/planmanage/checkUserList.vue +1 -1
- package/src/components/querycheckpaper/CheckSearchUser.vue +2 -1
- package/src/components/report/CheckByPlan.vue +1 -1
- package/src/components/report/CheckPlanAreaList.vue +45 -2
- package/src/filiale/jinhong/android/CurrentCreate.vue +6 -3
- package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +28 -3
- package/src/filiale/jinhong/pc/CheckBookList.vue +28 -18
- package/src/filiale/jinhong/pc/PaperList.vue +1 -1
- package/src/filiale/jinhong/pc/checkPlanList.vue +73 -24
- package/src/filiale/meihekou/android/CurrentCreate.vue +16 -0
- package/src/filiale/meihekou/android/SafecheckDevices.vue +6 -3
- package/src/filiale/meihekou/android/SafecheckOrderV.vue +2445 -2446
- package/src/filiale/meihekou/pc/CheckDetail.vue +208 -0
- package/src/filiale/meihekou/pc/CheckPlan.vue +52 -0
- package/src/filiale/meihekou/pc/CheckPlanAreaList.vue +504 -0
- package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -0
- package/src/filiale/meihekou/pc.js +3 -0
- package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +2 -2
- package/src/filiale/xinkang/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/xinliansihui/pc/PaperList.vue +814 -0
- package/src/filiale/xinliansihui/pc/PaperVisitMain.vue +206 -0
- package/src/filiale/xinliansihui/pc.js +13 -0
- package/src/main.js +33 -33
- package/src/safecheck-android.js +10 -0
- package/src/safecheck.js +3 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<div class="step-header">
|
|
4
|
+
<div class="step-track">
|
|
5
|
+
<div v-for="(idx, s) in steps" :key="idx" class="step-item">
|
|
6
|
+
<div style="display: flex;align-items: center;">
|
|
7
|
+
<!-- 分隔线(仅在非第一个步骤时显示) -->
|
|
8
|
+
<div v-if="idx !== 0" class="step-divider" :class="{ active: idx <= current }"></div>
|
|
9
|
+
<!-- 圆形数字 -->
|
|
10
|
+
<div class="step-number" :class="{ active: idx <= current }" @click="weekCheckChange(s,idx)">
|
|
11
|
+
{{ idx + 1 }}
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<!-- 步骤标题 -->
|
|
15
|
+
<div class="step-title">{{ s }}</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<check-rsult-simple v-if="showSimple" :items="weekCheck" ></check-rsult-simple>
|
|
20
|
+
<div class="row text-center" style="margin-top: 20px;">
|
|
21
|
+
<button v-if="showbutton" type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="uploadCheckPaper">提交</button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</template>
|
|
25
|
+
|
|
26
|
+
<script>
|
|
27
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
28
|
+
import Vue from 'vue'
|
|
29
|
+
import * as Util from '../../Util'
|
|
30
|
+
|
|
31
|
+
export default {
|
|
32
|
+
title: '周检待办详情',
|
|
33
|
+
props: {
|
|
34
|
+
weekdata:{
|
|
35
|
+
type: Object,
|
|
36
|
+
default () {
|
|
37
|
+
return {}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
data () {
|
|
42
|
+
return {
|
|
43
|
+
weekConfig:{},
|
|
44
|
+
weekCheck: [],
|
|
45
|
+
steps: [],
|
|
46
|
+
current: null,
|
|
47
|
+
showbutton:false,
|
|
48
|
+
showSimple:false,
|
|
49
|
+
weekCheckPaper:{}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
ready () {
|
|
53
|
+
this.getweekconfig(this.weekdata.safechecktype_id)
|
|
54
|
+
if (!Util.isEmpty(this.weekdata.paper_id)){
|
|
55
|
+
const http = new HttpResetClass()
|
|
56
|
+
http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckPaperById`, {id: this.weekdata.paper_id }).then(res=>{
|
|
57
|
+
console.log('res', res.data)
|
|
58
|
+
this.weekCheckPaper = res.data
|
|
59
|
+
if (this.weekdata.f_complete == '已完成'){
|
|
60
|
+
const json = JSON.parse(this.weekCheckPaper.f_safe_content)
|
|
61
|
+
json.forEach((row) => {
|
|
62
|
+
this.steps = []
|
|
63
|
+
this.steps.push(row.itemname)
|
|
64
|
+
})
|
|
65
|
+
this.weekCheckChange(json[json.length-1].itemname,json.length-1)
|
|
66
|
+
}
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
computed: {
|
|
72
|
+
},
|
|
73
|
+
methods:{
|
|
74
|
+
// 获取周检配置
|
|
75
|
+
getweekconfig(row){
|
|
76
|
+
const http = new HttpResetClass()
|
|
77
|
+
http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/getWeekCheckTypeById`, {id: row }).then(res=>{
|
|
78
|
+
if (res.data && res.data.length > 0 ){
|
|
79
|
+
this.weekConfig = res.data[0]
|
|
80
|
+
const json = JSON.parse(this.weekConfig.f_json)
|
|
81
|
+
if (json && json.length > 0){
|
|
82
|
+
this.steps = []
|
|
83
|
+
json.forEach((row,index) => {
|
|
84
|
+
if (Util.isEmpty(this.weekdata.f_complete)){
|
|
85
|
+
this.current = 0
|
|
86
|
+
}else if (row.itemname === this.weekdata.f_complete){
|
|
87
|
+
this.current = index
|
|
88
|
+
}
|
|
89
|
+
this.steps.push(row.itemname)
|
|
90
|
+
})
|
|
91
|
+
if (Util.isEmpty(this.weekdata.f_complete)){
|
|
92
|
+
this.weekCheckChange('',this.current)
|
|
93
|
+
}else {
|
|
94
|
+
if (this.weekdata.f_complete != '已完成'){
|
|
95
|
+
this.weekCheckChange(this.weekdata.f_complete,this.current)
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
},
|
|
102
|
+
// 获取当前环节周检配置
|
|
103
|
+
weekCheckChange(row,id){
|
|
104
|
+
this.showSimple = false
|
|
105
|
+
if (this.current < id) {
|
|
106
|
+
this.$showMessage('请先完成当前环节!')
|
|
107
|
+
} else if (this.current == id){
|
|
108
|
+
this.showbutton = true
|
|
109
|
+
const json = JSON.parse(this.weekConfig.f_json)
|
|
110
|
+
this.weekCheck = []
|
|
111
|
+
if (json && json.length > 0){
|
|
112
|
+
if (Util.isEmpty(row)){
|
|
113
|
+
json[0].items.forEach(row => {
|
|
114
|
+
this.weekCheck.push({
|
|
115
|
+
f_item_name: row.itemname,
|
|
116
|
+
f_item_value: row.f_item_value || '',
|
|
117
|
+
options:row.options,
|
|
118
|
+
type: row.type,
|
|
119
|
+
isshow:true,
|
|
120
|
+
f_path: '',
|
|
121
|
+
multiple: row.multiple?row.multiple:false,
|
|
122
|
+
readonly:false
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
for (let i = 0; i < json.length; i++){
|
|
128
|
+
if (json[i].itemname === row){
|
|
129
|
+
json[i].items.forEach(row => {
|
|
130
|
+
this.weekCheck.push({
|
|
131
|
+
f_item_name: row.itemname,
|
|
132
|
+
f_item_value: row.f_item_value || '',
|
|
133
|
+
options:row.options,
|
|
134
|
+
type: row.type,
|
|
135
|
+
isshow:true,
|
|
136
|
+
f_path: '',
|
|
137
|
+
multiple: row.multiple?row.multiple:false,
|
|
138
|
+
readonly:false
|
|
139
|
+
})
|
|
140
|
+
})
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
this.weekCheck.forEach(item=>{
|
|
146
|
+
if (item.f_item_name === '表号' && !Util.isEmpty(this.weekdata.f_meternumber)){
|
|
147
|
+
item.f_item_value = this.weekdata.f_meternumber
|
|
148
|
+
item.readonly = true
|
|
149
|
+
}
|
|
150
|
+
if (item.f_item_name === '气表品牌' && !Util.isEmpty(this.weekdata.f_meter_brand)){
|
|
151
|
+
item.f_item_value = this.weekdata.f_meter_brand
|
|
152
|
+
item.readonly = true
|
|
153
|
+
}
|
|
154
|
+
if (item.f_item_name === '气表型号' && !Util.isEmpty(this.weekdata.f_meter_style)){
|
|
155
|
+
item.f_item_value = this.weekdata.f_meter_style
|
|
156
|
+
item.readonly = true
|
|
157
|
+
}
|
|
158
|
+
})
|
|
159
|
+
}else {
|
|
160
|
+
this.showbutton = false
|
|
161
|
+
const json = JSON.parse(this.weekCheckPaper.f_safe_content)
|
|
162
|
+
this.weekCheck = []
|
|
163
|
+
json[0].items.forEach(row => {
|
|
164
|
+
this.weekCheck.push({
|
|
165
|
+
f_item_name: row.f_item_name,
|
|
166
|
+
f_item_value: row.f_item_value || '',
|
|
167
|
+
type: row.type,
|
|
168
|
+
isshow:true,
|
|
169
|
+
f_path: '',
|
|
170
|
+
multiple: row.multiple?row.multiple:false,
|
|
171
|
+
readonly:true
|
|
172
|
+
})
|
|
173
|
+
})
|
|
174
|
+
console.log('this.weekCheck',this.weekCheck)
|
|
175
|
+
}
|
|
176
|
+
this.showSimple = true
|
|
177
|
+
},
|
|
178
|
+
uploadCheckPaper () {
|
|
179
|
+
const http = new HttpResetClass()
|
|
180
|
+
let json = []
|
|
181
|
+
if (this.weekCheckPaper && !Util.isEmpty(this.weekCheckPaper.f_safe_content)){
|
|
182
|
+
json = JSON.parse(this.weekCheckPaper.f_safe_content)
|
|
183
|
+
}
|
|
184
|
+
JSON.parse(this.weekConfig.f_json).forEach(res=>{
|
|
185
|
+
if (res.itemname === this.steps[this.current]){
|
|
186
|
+
res.items = this.weekCheck
|
|
187
|
+
json.push(res)
|
|
188
|
+
}
|
|
189
|
+
})
|
|
190
|
+
let data = {
|
|
191
|
+
f_userinfo_id: this.weekdata.f_userinfo_id,
|
|
192
|
+
f_user_name: this.weekdata.f_user_name,
|
|
193
|
+
f_user_phone: this.weekdata.f_user_phone,
|
|
194
|
+
f_meter_brand: this.weekdata.f_meter_brand,
|
|
195
|
+
f_meter_style: this.weekdata.f_meter_style,
|
|
196
|
+
f_meternumber: this.weekdata.f_meternumber,
|
|
197
|
+
f_address: this.weekdata.f_address,
|
|
198
|
+
f_checker_id: Vue.user.id,
|
|
199
|
+
f_checker_name: Vue.user.name,
|
|
200
|
+
f_safe_type: '周检',
|
|
201
|
+
f_safe_content: json,
|
|
202
|
+
f_safecheck_type_id: this.weekdata.safechecktype_id,
|
|
203
|
+
f_check_item_id: this.weekdata.id,
|
|
204
|
+
f_check_plan_id: this.weekdata.f_plan_id,
|
|
205
|
+
f_upload_date: Util.toStandardTimeString(),
|
|
206
|
+
f_filiale_id: Vue.user.orgid,
|
|
207
|
+
f_filiale: Vue.user.orgs,
|
|
208
|
+
}
|
|
209
|
+
if (!Util.isEmpty(this.weekdata.paper_id)){
|
|
210
|
+
data.id = this.weekdata.paper_id
|
|
211
|
+
}
|
|
212
|
+
if (this.steps[this.current] == '上传报告'){
|
|
213
|
+
data.f_complete = '已完成'
|
|
214
|
+
data.f_state = '已检'
|
|
215
|
+
data.f_entry_status = '正常'
|
|
216
|
+
}else {
|
|
217
|
+
data.f_complete = this.steps[this.current]
|
|
218
|
+
data.f_state = '未检'
|
|
219
|
+
}
|
|
220
|
+
this.weekCheck.forEach(item => {
|
|
221
|
+
if (this.steps[this.current] == '下表'){
|
|
222
|
+
if (item.f_item_name === '是否停用表具' && item.f_item_value == '是'){
|
|
223
|
+
data.f_table_state = '停用'
|
|
224
|
+
data.f_complete = '已完成'
|
|
225
|
+
data.f_state = '已检'
|
|
226
|
+
}else {
|
|
227
|
+
data.f_table_state = '正常'
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
if (this.steps[this.current] == '装表'){
|
|
231
|
+
if (item.f_item_name === '处理方式' && !Util.isEmpty(item.f_item_value)){
|
|
232
|
+
data.f_entry_status = item.f_item_value
|
|
233
|
+
data.f_complete = '已完成'
|
|
234
|
+
data.f_state = '已检'
|
|
235
|
+
}else {
|
|
236
|
+
data.f_entry_status = '正常'
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
})
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
http.load('post',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/saveWeekPaper`, data).then(res=>{
|
|
243
|
+
console.log('res', res.data)
|
|
244
|
+
this.weekCheckPaper = res.data[0]
|
|
245
|
+
})
|
|
246
|
+
this.$dispatch('confirm')
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
</script>
|
|
251
|
+
|
|
252
|
+
<style scoped>
|
|
253
|
+
.step-header {
|
|
254
|
+
background: #ffffff;
|
|
255
|
+
padding: 15px 20px;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.step-track {
|
|
259
|
+
display: flex;
|
|
260
|
+
justify-content: flex-start;
|
|
261
|
+
padding: 0 10px;
|
|
262
|
+
font-size: 14px;
|
|
263
|
+
color: #666;
|
|
264
|
+
overflow-x: auto; /* 启用横向滚动 */
|
|
265
|
+
/* 隐藏滚动条 */
|
|
266
|
+
scrollbar-width: none; /* Firefox */
|
|
267
|
+
-ms-overflow-style: none; /* IE/Edge */
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/* 隐藏WebKit浏览器的滚动条 */
|
|
271
|
+
.step-track::-webkit-scrollbar {
|
|
272
|
+
display: none;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
.step-item {
|
|
276
|
+
position: relative;
|
|
277
|
+
display: flex;
|
|
278
|
+
flex-direction: column;
|
|
279
|
+
align-items: end;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.step-number {
|
|
283
|
+
width: 30px;
|
|
284
|
+
height: 30px;
|
|
285
|
+
border-radius: 50%;
|
|
286
|
+
background: #e0e0e0;
|
|
287
|
+
color: #666;
|
|
288
|
+
line-height: 30px;
|
|
289
|
+
text-align: center;
|
|
290
|
+
font-weight: bold;
|
|
291
|
+
font-size: 14px;
|
|
292
|
+
transition: all 0.3s ease;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.step-number.active {
|
|
296
|
+
background: #499EDF;
|
|
297
|
+
color: white;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.step-title {
|
|
301
|
+
margin-top: 8px;
|
|
302
|
+
font-size: 14px;
|
|
303
|
+
color: #666;
|
|
304
|
+
font-weight: 500;
|
|
305
|
+
width: 3em;
|
|
306
|
+
text-align: center;
|
|
307
|
+
word-break: break-all;
|
|
308
|
+
line-height: 1.4;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/* 分隔线 */
|
|
312
|
+
.step-divider {
|
|
313
|
+
width: 80px;
|
|
314
|
+
height: 2px;
|
|
315
|
+
background: #e0e0e0;
|
|
316
|
+
margin: 0 16px;
|
|
317
|
+
transition: all 0.3s ease;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
.step-divider.active {
|
|
321
|
+
background: #499EDF;
|
|
322
|
+
}
|
|
323
|
+
</style>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div partial>
|
|
6
|
+
<form>
|
|
7
|
+
<div class="row app-row">
|
|
8
|
+
<div class="col-xs-4">
|
|
9
|
+
<img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
|
10
|
+
<label class="font text-left">表 号:</label>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="col-xs-8" >
|
|
13
|
+
<input class="search_input input-font"
|
|
14
|
+
v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
|
|
15
|
+
<button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="row text-center" style="margin-top: 20px;">
|
|
19
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
|
|
20
|
+
</div>
|
|
21
|
+
</form>
|
|
22
|
+
</div>
|
|
23
|
+
</criteria>
|
|
24
|
+
|
|
25
|
+
<list :model="model" partial='list'>
|
|
26
|
+
<div partial>
|
|
27
|
+
<div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
|
|
28
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
29
|
+
<div class="panel-body panel-self">
|
|
30
|
+
<div class="row">
|
|
31
|
+
<p class="panel-title col-xs-4 text-left font">用户编号</p>
|
|
32
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_id }}</p>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="row">
|
|
35
|
+
<p class="panel-title col-xs-4 text-left font">用户名称</p>
|
|
36
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="row">
|
|
39
|
+
<p class="panel-title col-xs-4 text-left font">表号</p>
|
|
40
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="row">
|
|
43
|
+
<p class="panel-title col-xs-4 text-left font">周检环节</p>
|
|
44
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_complete }}</p>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="row">
|
|
47
|
+
<p class="panel-title col-xs-4 text-left font">周检状态</p>
|
|
48
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_state }}</p>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</list>
|
|
56
|
+
</criteria-paged>
|
|
57
|
+
</div>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
62
|
+
import Vue from 'vue'
|
|
63
|
+
import * as Util from '../../Util'
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
title: '周检待办',
|
|
67
|
+
data () {
|
|
68
|
+
let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getWeekPlanitem`, 20,
|
|
69
|
+
{
|
|
70
|
+
f_user_name:'this.f_user_name'
|
|
71
|
+
})
|
|
72
|
+
model.f_user_name = `${Vue.user.name}`
|
|
73
|
+
return {
|
|
74
|
+
model: model,
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
ready () {
|
|
79
|
+
},
|
|
80
|
+
computed: {
|
|
81
|
+
},
|
|
82
|
+
methods:{
|
|
83
|
+
scan(){
|
|
84
|
+
HostApp.__this__=this,
|
|
85
|
+
HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
|
|
86
|
+
},
|
|
87
|
+
getCode(){
|
|
88
|
+
let datapa = HostApp.getCode().data;
|
|
89
|
+
this.$refs.paged.$refs.cri.model.f_meternumber=datapa
|
|
90
|
+
},
|
|
91
|
+
search () {
|
|
92
|
+
this.$refs.paged.$refs.cri.search()
|
|
93
|
+
},
|
|
94
|
+
inspect (row) {
|
|
95
|
+
var pardate = {
|
|
96
|
+
_this:this,
|
|
97
|
+
tittle:'周检单填写',
|
|
98
|
+
safe:true
|
|
99
|
+
}
|
|
100
|
+
this.$dispatch('gotoson',pardate)
|
|
101
|
+
this.$goto('step-header-bar', {weekdata: row}, 'self')
|
|
102
|
+
|
|
103
|
+
},
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
</script>
|
|
107
|
+
<style scoped>
|
|
108
|
+
.app-row {
|
|
109
|
+
background-color: white;
|
|
110
|
+
padding: 10px 10px 0 10px;
|
|
111
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
112
|
+
}
|
|
113
|
+
.search_input {
|
|
114
|
+
border: 0;
|
|
115
|
+
outline: none;
|
|
116
|
+
}
|
|
117
|
+
.font{
|
|
118
|
+
font: 15px PingFang-SC-Medium;
|
|
119
|
+
color: #666666;
|
|
120
|
+
}
|
|
121
|
+
.input-font{
|
|
122
|
+
font: 15px PingFang-SC-Medium;
|
|
123
|
+
color: #333333;
|
|
124
|
+
}
|
|
125
|
+
.btn-font{
|
|
126
|
+
font:600 16px PingFang-SC-Bold;
|
|
127
|
+
color: #499EDF;
|
|
128
|
+
}
|
|
129
|
+
.btn-color{
|
|
130
|
+
background-color: #FFFFFF;
|
|
131
|
+
border-radius: 10px ;
|
|
132
|
+
border: 1px solid #499EDF;
|
|
133
|
+
}
|
|
134
|
+
.app-text {
|
|
135
|
+
font-size: 12px;
|
|
136
|
+
}
|
|
137
|
+
.panel-self{
|
|
138
|
+
border-radius: 10px;
|
|
139
|
+
border:1px solid #499EDF;
|
|
140
|
+
background-color: #F8F8F8;
|
|
141
|
+
}
|
|
142
|
+
.yybtn-color{
|
|
143
|
+
border-radius: 4px ;
|
|
144
|
+
border: 1px solid #499EDF;
|
|
145
|
+
}
|
|
146
|
+
.qxbtn-color{
|
|
147
|
+
background-color: #FFFFFF;
|
|
148
|
+
border-radius: 4px ;
|
|
149
|
+
border: 1px solid #499EDF;
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div partial>
|
|
6
|
+
<form>
|
|
7
|
+
<div class="row app-row">
|
|
8
|
+
<div class="col-xs-4">
|
|
9
|
+
<img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
|
|
10
|
+
<label class="font text-left">表 号:</label>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="col-xs-8" >
|
|
13
|
+
<input class="search_input input-font"
|
|
14
|
+
v-model=model.f_meternumber condition="f_meternumber = '{}'" style="width: 70%" placeholder="请输入表号" />
|
|
15
|
+
<button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="row text-center" style="margin-top: 20px;">
|
|
19
|
+
<button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="search">查询</button>
|
|
20
|
+
</div>
|
|
21
|
+
</form>
|
|
22
|
+
</div>
|
|
23
|
+
</criteria>
|
|
24
|
+
|
|
25
|
+
<list :model="model" partial='list'>
|
|
26
|
+
<div partial>
|
|
27
|
+
<div @click="$parent.$parent.$parent.inspect(row)" class="auto app-text" style="margin-top: 5px;">
|
|
28
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
29
|
+
<div class="panel-body panel-self">
|
|
30
|
+
<div class="row">
|
|
31
|
+
<p class="panel-title col-xs-4 text-left font">用户编号</p>
|
|
32
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_userinfo_id }}</p>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="row">
|
|
35
|
+
<p class="panel-title col-xs-4 text-left font">用户名称</p>
|
|
36
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_user_name }}</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="row">
|
|
39
|
+
<p class="panel-title col-xs-4 text-left font">表号</p>
|
|
40
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_meternumber }}</p>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="row">
|
|
43
|
+
<p class="panel-title col-xs-4 text-left font">周检环节</p>
|
|
44
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_complete }}</p>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="row">
|
|
47
|
+
<p class="panel-title col-xs-4 text-left font">周检状态</p>
|
|
48
|
+
<p class="panel-title col-xs-8 text-left input-font">{{ row.f_state }}</p>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</list>
|
|
56
|
+
</criteria-paged>
|
|
57
|
+
</div>
|
|
58
|
+
</template>
|
|
59
|
+
|
|
60
|
+
<script>
|
|
61
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
62
|
+
import Vue from 'vue'
|
|
63
|
+
import * as Util from '../../Util'
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
title: '周检待办',
|
|
67
|
+
data () {
|
|
68
|
+
let model = new PagedList(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/getWeekPaper`, 20,
|
|
69
|
+
{
|
|
70
|
+
f_user_name:'this.f_user_name'
|
|
71
|
+
})
|
|
72
|
+
model.f_user_name = `${Vue.user.name}`
|
|
73
|
+
return {
|
|
74
|
+
model: model,
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
ready () {
|
|
79
|
+
},
|
|
80
|
+
computed: {
|
|
81
|
+
},
|
|
82
|
+
methods:{
|
|
83
|
+
scan(){
|
|
84
|
+
HostApp.__this__=this,
|
|
85
|
+
HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
|
|
86
|
+
},
|
|
87
|
+
getCode(){
|
|
88
|
+
let datapa = HostApp.getCode().data;
|
|
89
|
+
this.$refs.paged.$refs.cri.model.f_meternumber=datapa
|
|
90
|
+
},
|
|
91
|
+
search () {
|
|
92
|
+
this.$refs.paged.$refs.cri.search()
|
|
93
|
+
},
|
|
94
|
+
inspect (row) {
|
|
95
|
+
var pardate = {
|
|
96
|
+
_this:this,
|
|
97
|
+
tittle:'周检单查看',
|
|
98
|
+
safe:true
|
|
99
|
+
}
|
|
100
|
+
this.$dispatch('gotoson',pardate)
|
|
101
|
+
this.$goto('step-header-bar', {weekdata: row}, 'self')
|
|
102
|
+
|
|
103
|
+
},
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
</script>
|
|
107
|
+
<style scoped>
|
|
108
|
+
.app-row {
|
|
109
|
+
background-color: white;
|
|
110
|
+
padding: 10px 10px 0 10px;
|
|
111
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
112
|
+
}
|
|
113
|
+
.search_input {
|
|
114
|
+
border: 0;
|
|
115
|
+
outline: none;
|
|
116
|
+
}
|
|
117
|
+
.font{
|
|
118
|
+
font: 15px PingFang-SC-Medium;
|
|
119
|
+
color: #666666;
|
|
120
|
+
}
|
|
121
|
+
.input-font{
|
|
122
|
+
font: 15px PingFang-SC-Medium;
|
|
123
|
+
color: #333333;
|
|
124
|
+
}
|
|
125
|
+
.btn-font{
|
|
126
|
+
font:600 16px PingFang-SC-Bold;
|
|
127
|
+
color: #499EDF;
|
|
128
|
+
}
|
|
129
|
+
.btn-color{
|
|
130
|
+
background-color: #FFFFFF;
|
|
131
|
+
border-radius: 10px ;
|
|
132
|
+
border: 1px solid #499EDF;
|
|
133
|
+
}
|
|
134
|
+
.app-text {
|
|
135
|
+
font-size: 12px;
|
|
136
|
+
}
|
|
137
|
+
.panel-self{
|
|
138
|
+
border-radius: 10px;
|
|
139
|
+
border:1px solid #499EDF;
|
|
140
|
+
background-color: #F8F8F8;
|
|
141
|
+
}
|
|
142
|
+
.yybtn-color{
|
|
143
|
+
border-radius: 4px ;
|
|
144
|
+
border: 1px solid #499EDF;
|
|
145
|
+
}
|
|
146
|
+
.qxbtn-color{
|
|
147
|
+
background-color: #FFFFFF;
|
|
148
|
+
border-radius: 4px ;
|
|
149
|
+
border: 1px solid #499EDF;
|
|
150
|
+
}
|
|
151
|
+
</style>
|
|
@@ -57,6 +57,18 @@
|
|
|
57
57
|
:show-rest-button="reset">
|
|
58
58
|
</datepicker>
|
|
59
59
|
</div>
|
|
60
|
+
<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}">
|
|
61
|
+
<label class="font_normal_body">片  区</label>
|
|
62
|
+
<v-select class="select_list select"
|
|
63
|
+
placeholder='片区/管理站' style="width: 60%"
|
|
64
|
+
:value.sync="model.f_slice_area" v-model="model.f_slice_area"
|
|
65
|
+
:options='$parent.$parent.sliceArea'
|
|
66
|
+
filer-key="name"
|
|
67
|
+
close-on-select clear-button
|
|
68
|
+
condition="f_slice_area='{}'"
|
|
69
|
+
:value-single="true">
|
|
70
|
+
</v-select>
|
|
71
|
+
</div>
|
|
60
72
|
<!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.showItem,'form-group col-sm-2':!$parent.$parent.$parent.showItem}" v-if="$parent.$parent.criteriaShow">-->
|
|
61
73
|
<!--<label class="font_normal_body">安检起始</label>-->
|
|
62
74
|
<!--<datepicker-->
|
|
@@ -148,6 +160,7 @@
|
|
|
148
160
|
</template>
|
|
149
161
|
<script>
|
|
150
162
|
import {PagedList} from 'vue-client'
|
|
163
|
+
import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
|
|
151
164
|
|
|
152
165
|
|
|
153
166
|
export default {
|
|
@@ -191,6 +204,7 @@ export default {
|
|
|
191
204
|
f_start_time:'',
|
|
192
205
|
f_end_time:''
|
|
193
206
|
},
|
|
207
|
+
sliceArea:[],
|
|
194
208
|
checker: this.$login.f,
|
|
195
209
|
checkers: [],
|
|
196
210
|
checkersname: [],
|
|
@@ -206,6 +220,29 @@ export default {
|
|
|
206
220
|
}
|
|
207
221
|
},
|
|
208
222
|
methods: {
|
|
223
|
+
Mreadibook(val){
|
|
224
|
+
if (val){
|
|
225
|
+
new HttpResetClass().load('POST',`/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
|
|
226
|
+
items: 'name',
|
|
227
|
+
tablename: 't_zone',
|
|
228
|
+
condition: `parentid = '${val}'`,
|
|
229
|
+
orderitem: 'id'
|
|
230
|
+
}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
231
|
+
this.sliceArea=[]
|
|
232
|
+
this.sliceArea.push({
|
|
233
|
+
label:'全部',
|
|
234
|
+
value:''
|
|
235
|
+
})
|
|
236
|
+
res.data.forEach(ress=>{
|
|
237
|
+
this.sliceArea.push({
|
|
238
|
+
label:ress.name,
|
|
239
|
+
value:ress.name
|
|
240
|
+
})
|
|
241
|
+
})
|
|
242
|
+
|
|
243
|
+
})
|
|
244
|
+
}
|
|
245
|
+
},
|
|
209
246
|
hidden() {
|
|
210
247
|
this.criteriaShow = !this.criteriaShow
|
|
211
248
|
},
|
|
@@ -256,6 +293,8 @@ export default {
|
|
|
256
293
|
this.model.id = this.$login.f.id
|
|
257
294
|
this.model.f_subcompany = this.$login.f.f_fengongsi
|
|
258
295
|
this.model.f_filialeid = this.$login.f.orgid
|
|
296
|
+
this.Mreadibook(this.$login.f.orgid)
|
|
297
|
+
|
|
259
298
|
},
|
|
260
299
|
|
|
261
300
|
watch: {
|