safecheck-client 4.0.0-57 → 4.0.0-59

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 (32) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/NewDefectList/DefectListNew.vue +663 -663
  4. package/src/components/Util/SafecheckUpload.vue +281 -281
  5. package/src/components/android/AndroidDefectDetails.vue +725 -725
  6. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  7. package/src/components/android/SafecheckDevices.vue +1340 -1340
  8. package/src/components/pc/AddToCheckBook.vue +237 -237
  9. package/src/components/pc/CheckBook.vue +303 -303
  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/CheckBookList.vue +366 -366
  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/pc/CheckBookUser.vue +333 -333
  20. package/src/components/pc/DefectDeal.vue +1007 -1007
  21. package/src/components/pc/PaperDefectMain.vue +880 -880
  22. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +437 -433
  23. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +346 -332
  24. package/src/filiale/meihekou/android/AreaPlan.vue +569 -569
  25. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  26. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  27. package/src/filiale/meihekou/android/CurrentCreate.vue +1087 -1087
  28. package/src/filiale/meihekou/android/MeterReading.vue +106 -106
  29. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2398 -2398
  30. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -787
  31. package/src/filiale/meihekou/android.js +19 -19
  32. package/src/filiale/meihekou/pc.js +12 -12
@@ -1,333 +1,333 @@
1
- <template>
2
- <div class="auto select-overspread">
3
- <criteria-paged :model="model" v-ref:paged>
4
- <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
- <div class="row">
7
- <div class="form-group col-sm-3">
8
- <label class="font_normal_body">客户编号</label>
9
- <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
- placeholder='客户编号'
11
- condition="f_userinfo_code = '{}'" @keyup.enter="search()">
12
- </div>
13
- <div class="form-group col-sm-2 button-range">
14
- <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
15
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.createAndSend()">下发</button>
16
- </div>
17
- <div class="form-group col-sm-2 button-range">
18
- <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.delOfCheckBook()" v-el:cba>移出</button>
19
-
20
- </div>
21
- </div>
22
- </div>
23
- </criteria>
24
- <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
25
- <template partial='head'>
26
- <tr>
27
- <th>
28
- <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
29
- </th>
30
- <th>
31
- <nobr>序号</nobr>
32
- </th>
33
- <th>
34
- <nobr>用户编号</nobr>
35
- </th>
36
- <th>
37
- <nobr>用户姓名</nobr>
38
- </th>
39
- <th>
40
- <nobr>用户电话</nobr>
41
- </th>
42
- <th>
43
- <nobr>用户地址</nobr>
44
- </th>
45
-
46
- </tr>
47
- </template>
48
- <template partial='body'>
49
- <tr>
50
- <td style="text-align: center">
51
- <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
52
- @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
53
- </nobr>
54
- </td>
55
- <td style="text-align:center;">{{ $index + 1 }}</td>
56
- <td style="text-align:center">{{ row.f_userinfo_code }}</td>
57
- <td style="text-align:center">{{ row.f_user_name }}</td>
58
- <td style="text-align:center">{{ row.f_user_phone }}</td>
59
- <td style="text-align:center">{{ row.f_address }}</td>
60
- </tr>
61
- </template>
62
- <template partial='foot'></template>
63
- </data-grid>
64
- </criteria-paged>
65
- <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
66
- <div slot="modal-header" class="modal-header">
67
- <h4 class="modal-title">
68
- 新建计划
69
- </h4>
70
- </div>
71
- <div slot="modal-body" class="modal-body">
72
- <div class="row">
73
- <div class="form-group col-sm-4" >
74
- <label class="font_normal_body">计划名称:</label>
75
- <input type="text" class="input_search" v-model="createPlan.f_plan_name"
76
- style="width: 60%" placeholder="请选择" />
77
- </div>
78
- <div class="form-group col-sm-4" >
79
- <label class="font_normal_body">计划年份:</label>
80
- <v-select
81
- class="select select_list"
82
- :value.sync="createPlan.f_plan_year"
83
- v-model="createPlan.f_plan_year"
84
- :search="false"
85
- :options='yearList'
86
- close-on-select
87
- value-single
88
- >
89
- </v-select>
90
- </div>
91
- <div class="form-group col-sm-4" >
92
- <label class="font_normal_body">计划月份:</label>
93
- <v-select
94
- class="select select_list"
95
- :value.sync="createPlan.f_plan_month"
96
- v-model="createPlan.f_plan_month"
97
- :search="false"
98
- :options='monthList'
99
- close-on-select
100
- value-single>
101
- </v-select>
102
- </div>
103
- <div class="form-group col-sm-4" >
104
- <label class="font_normal_body">是否共享:</label>
105
- <v-select
106
- class="select select_list"
107
- :search="false"
108
- :value.sync="createPlan.isShare"
109
- v-model="createPlan.isShare"
110
- :options='isAndNot'
111
- placeholder='请选择'
112
- close-on-select
113
- value-single
114
- >
115
- </v-select>
116
- </div>
117
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
118
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
119
- <v-select
120
- class="select select_list"
121
- :value.sync="createPlan.checker"
122
- v-model="createPlan.checker"
123
- :options='checker'
124
- close-on-select
125
- value-single
126
- >
127
- </v-select>
128
- </div>
129
- <div class="form-group col-sm-4" >
130
- <label class="font_normal_body">计划开始:</label>
131
- <datepicker
132
- placeholder='请选择'
133
- style="width:60%"
134
- :disabled-days-of-week="[]"
135
- :format="'yyyy-MM-dd'"
136
- :show-rest-button="reset"
137
- :value.sync="createPlan.f_start_time"
138
- v-model="createPlan.f_start_time">
139
- </datepicker>
140
- </div>
141
- <div class="form-group col-sm-4" >
142
- <label class="font_normal_body">计划结束:</label>
143
- <datepicker
144
- placeholder='请选择'
145
- style="width:60%"
146
- :disabled-days-of-week="[]"
147
- :format="'yyyy-MM-dd'"
148
- :show-rest-button="reset"
149
- :value.sync="createPlan.f_end_time"
150
- v-model="createPlan.f_end_time">
151
- </datepicker>
152
- </div>
153
- </div>
154
- </div>
155
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
156
- <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
157
- <button class="button_search" @click="cancelCreatePlan">取消</button>
158
- </div>
159
- </modal>
160
- </div>
161
- </template>
162
-
163
- <script>
164
- import {HttpResetClass, PagedList} from 'vue-client'
165
- import Vue from 'vue'
166
- import * as Util from '../../components/Util'
167
-
168
- export default {
169
- title: '安检记录列表',
170
- props: ['row'],
171
- data() {
172
- return {
173
- createPlan:{
174
- f_safecheck_type:"年度普检",
175
- checker:{},
176
- isShare:"否",
177
- f_usertype:"",
178
- f_issued:'是',
179
- f_end_time:Util.toStandardDateString().replace(new Date().getFullYear().toString(),(new Date().getFullYear()+1).toString()),
180
- f_start_time:Util.toStandardDateString(),
181
- f_plan_month:(new Date().getMonth()+1).toString(),
182
- f_plan_year:new Date().getFullYear().toString(),
183
- f_plan_name:""
184
- },
185
- checker:[],
186
- isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
187
- yearList:[{label:"2020",value:"2020"},{label:"2021",value:"2021"},{label:"2022",value:"2022"},{label:"2023",value:"2023"},{label:"2024",value:"2024"},{label:"2025",value:"2025"},{label:"2026",value:"2026"},{label:"2027",value:"2027"},{label:"2028",value:"2028"},{label:"2029",value:"2029"},{label:"2030",value:"2030"}],
188
- monthList:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"},{label:"9",value:"9"},{label:"10",value:"10"},{label:"11",value:"11"},{label:"12",value:"12"}],
189
- rowdata: this.row,
190
- bookAll: false,
191
- bookList:[],
192
- showCreatePlan: false,
193
- model: new PagedList('api/af-safecheck/sql/safe_singleTable_OrderBy', 50,
194
- {
195
- items: '"ua.id,ua.f_address,tui.f_userinfo_code,tui.f_user_name,tui.f_user_phone,tui.f_userinfo_id"',
196
- tablename: '"t_user_address ua left join t_userinfo tui on ua.f_userinfo_id = tui.f_userinfo_id"',
197
- orderitem: '"ua.id desc"'
198
- }
199
- )
200
- }
201
- },
202
- ready() {
203
- if (this.row) {
204
- let condition = ''
205
- condition = `ua.f_check_book_id =${this.row.id}`
206
- this.model.search(condition)
207
- //只显示用户页面
208
- this.row.f_check_book_type = '用户'
209
- }
210
- this.searchChecker()
211
- },
212
- watch: {
213
- 'row'(val) {
214
- if (val) {
215
- this.rowdata = val
216
- let condition = ''
217
- condition = `ua.f_check_book_id =${val.id} `
218
- this.model.search(condition)
219
- }
220
- }
221
- },
222
- methods: {
223
- async searchChecker(){
224
- console.log(this.$login.f.orgid)
225
- let res=await new HttpResetClass().load('POST', '/rs/search', {
226
- data:{
227
- source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
228
- userid: this.$login.f.id
229
- }
230
- }, {resolveMsg: null, rejectMsg: null})
231
- res.data.forEach((resRow) => {
232
- this.checker.push({label:resRow.name,value:resRow})
233
- })
234
- },
235
- async addNewPlan(){
236
- this.createPlan.f_plan_type='预约计划'
237
- this.createPlan.f_subcompany=this.$login.f.orgstr
238
- this.createPlan.f_filialeid=this.$login.f.orgid
239
- this.createPlan.f_create_operator=this.$login.f.name
240
- this.createPlan.f_create_time=Util.toStandardTimeString()
241
- this.createPlan.f_book_id = this.row.id
242
- console.log(this.createPlan)
243
- const addPlan = {
244
- f_operator:this.$login.f.name,
245
- f_filialeid:this.$login.f.orgid,
246
- f_subscribe_date:'',
247
- condition:this.model.condition,
248
- switchCheckAll:true,
249
- checkAll:this.bookAll,
250
- param:this.bookList,
251
- columnName: "ua.id"
252
- }
253
- if(this.createPlan.isShare=="是"){
254
- this.createPlan.f_checker_id=null
255
- this.createPlan.f_checker=null
256
- }else{
257
- this.createPlan.f_checker_id=this.createPlan.checker.id
258
- this.createPlan.f_checker=this.createPlan.checker.name
259
- }
260
- new HttpResetClass().load("POST",'/api/af-safecheck/logic/createAndAddPlan',{createPlan:this.createPlan,addPlan}).then(res=>{
261
- if(res.data.code==200){
262
- this.$showMessage("计划下发成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
263
- this.cancelCreatePlan()
264
- }else{
265
- this.$showMessage("计划下发失败!")
266
- }
267
- })
268
- },
269
- createAndSend(){
270
- if(this.model.rows.length==0){
271
- Vue.showMessage("未检测到列表中有用户!")
272
- return
273
- }
274
- if(!this.bookAll && this.bookList.length==0){
275
- Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
276
- return
277
- }
278
- this.showCreatePlan = true
279
- },
280
- cancelCreatePlan(){
281
- this.showCreatePlan = false
282
- },
283
- selfSearch(args) {
284
- if (this.rowdata.id) {
285
- args.condition += `and ua.f_check_book_id =${this.rowdata.id}`
286
- this.model.search(args.condition)
287
- } else {
288
- this.$showMessage('请选择片区')
289
- }
290
- },
291
- checkModel (row) {
292
- if (this.bookAll) {
293
- return true
294
- } else {
295
- return this.bookList.findIndex(res => res === row.id) !== -1;
296
- }
297
- },
298
- checkChange (row, e) {
299
- if (e.target.checked) {
300
- this.bookList.push(row.id)
301
- } else {
302
- this.bookList.splice(this.bookList.findIndex(res => res === row.id), 1)
303
- }
304
- },
305
- delOfCheckBook(){
306
- try {
307
- let upAddress = `update t_user_address set f_check_book_id = null where 1 = 2 `
308
- if (this.bookAll){
309
- upAddress = `update t_user_address set f_check_book_id = null where f_check_book_id = '${this.row.id}'`
310
- }else if (this.bookList.length > 0){
311
- let codes = this.bookList.map( item => { return `'${item}'` } ).join()
312
- upAddress = `update t_user_address set f_check_book_id = null where id in (${codes})`
313
- }
314
- this.$showMessage('确认移出安检册', ['confirm', 'cancel']).then((res) => {
315
- if (res === 'confirm') {
316
- let http = new HttpResetClass()
317
- http.load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: upAddress}},
318
- {resolveMsg: null, rejectMsg: '移出安检册失败'}).then(resp=>{
319
- this.$showMessage('移出成功')
320
- this.$refs.paged.$refs.criteria.search()
321
- }).catch(error=>{
322
- this.$showMessage('移出失败',error)
323
-
324
- })
325
- }
326
- })
327
- }catch (e) {
328
- this.$showMessage('移出失败',e)
329
- }
330
- }
331
- }
332
- }
333
- </script>
1
+ <template>
2
+ <div class="auto select-overspread">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="form-group col-sm-3">
8
+ <label class="font_normal_body">客户编号</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
10
+ placeholder='客户编号'
11
+ condition="f_userinfo_code = '{}'" @keyup.enter="search()">
12
+ </div>
13
+ <div class="form-group col-sm-2 button-range">
14
+ <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
15
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.createAndSend()">下发</button>
16
+ </div>
17
+ <div class="form-group col-sm-2 button-range">
18
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.delOfCheckBook()" v-el:cba>移出</button>
19
+
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </criteria>
24
+ <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
25
+ <template partial='head'>
26
+ <tr>
27
+ <th>
28
+ <nobr><input type="checkbox" v-model="$parent.$parent.$parent.bookAll"></input>全选</nobr>
29
+ </th>
30
+ <th>
31
+ <nobr>序号</nobr>
32
+ </th>
33
+ <th>
34
+ <nobr>用户编号</nobr>
35
+ </th>
36
+ <th>
37
+ <nobr>用户姓名</nobr>
38
+ </th>
39
+ <th>
40
+ <nobr>用户电话</nobr>
41
+ </th>
42
+ <th>
43
+ <nobr>用户地址</nobr>
44
+ </th>
45
+
46
+ </tr>
47
+ </template>
48
+ <template partial='body'>
49
+ <tr>
50
+ <td style="text-align: center">
51
+ <nobr><input type="checkbox" :checked="$parent.$parent.$parent.checkModel(row)"
52
+ @change="$parent.$parent.$parent.checkChange(row, $event)"></input>
53
+ </nobr>
54
+ </td>
55
+ <td style="text-align:center;">{{ $index + 1 }}</td>
56
+ <td style="text-align:center">{{ row.f_userinfo_code }}</td>
57
+ <td style="text-align:center">{{ row.f_user_name }}</td>
58
+ <td style="text-align:center">{{ row.f_user_phone }}</td>
59
+ <td style="text-align:center">{{ row.f_address }}</td>
60
+ </tr>
61
+ </template>
62
+ <template partial='foot'></template>
63
+ </data-grid>
64
+ </criteria-paged>
65
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
66
+ <div slot="modal-header" class="modal-header">
67
+ <h4 class="modal-title">
68
+ 新建计划
69
+ </h4>
70
+ </div>
71
+ <div slot="modal-body" class="modal-body">
72
+ <div class="row">
73
+ <div class="form-group col-sm-4" >
74
+ <label class="font_normal_body">计划名称:</label>
75
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name"
76
+ style="width: 60%" placeholder="请选择" />
77
+ </div>
78
+ <div class="form-group col-sm-4" >
79
+ <label class="font_normal_body">计划年份:</label>
80
+ <v-select
81
+ class="select select_list"
82
+ :value.sync="createPlan.f_plan_year"
83
+ v-model="createPlan.f_plan_year"
84
+ :search="false"
85
+ :options='yearList'
86
+ close-on-select
87
+ value-single
88
+ >
89
+ </v-select>
90
+ </div>
91
+ <div class="form-group col-sm-4" >
92
+ <label class="font_normal_body">计划月份:</label>
93
+ <v-select
94
+ class="select select_list"
95
+ :value.sync="createPlan.f_plan_month"
96
+ v-model="createPlan.f_plan_month"
97
+ :search="false"
98
+ :options='monthList'
99
+ close-on-select
100
+ value-single>
101
+ </v-select>
102
+ </div>
103
+ <div class="form-group col-sm-4" >
104
+ <label class="font_normal_body">是否共享:</label>
105
+ <v-select
106
+ class="select select_list"
107
+ :search="false"
108
+ :value.sync="createPlan.isShare"
109
+ v-model="createPlan.isShare"
110
+ :options='isAndNot'
111
+ placeholder='请选择'
112
+ close-on-select
113
+ value-single
114
+ >
115
+ </v-select>
116
+ </div>
117
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
118
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
119
+ <v-select
120
+ class="select select_list"
121
+ :value.sync="createPlan.checker"
122
+ v-model="createPlan.checker"
123
+ :options='checker'
124
+ close-on-select
125
+ value-single
126
+ >
127
+ </v-select>
128
+ </div>
129
+ <div class="form-group col-sm-4" >
130
+ <label class="font_normal_body">计划开始:</label>
131
+ <datepicker
132
+ placeholder='请选择'
133
+ style="width:60%"
134
+ :disabled-days-of-week="[]"
135
+ :format="'yyyy-MM-dd'"
136
+ :show-rest-button="reset"
137
+ :value.sync="createPlan.f_start_time"
138
+ v-model="createPlan.f_start_time">
139
+ </datepicker>
140
+ </div>
141
+ <div class="form-group col-sm-4" >
142
+ <label class="font_normal_body">计划结束:</label>
143
+ <datepicker
144
+ placeholder='请选择'
145
+ style="width:60%"
146
+ :disabled-days-of-week="[]"
147
+ :format="'yyyy-MM-dd'"
148
+ :show-rest-button="reset"
149
+ :value.sync="createPlan.f_end_time"
150
+ v-model="createPlan.f_end_time">
151
+ </datepicker>
152
+ </div>
153
+ </div>
154
+ </div>
155
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
156
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
157
+ <button class="button_search" @click="cancelCreatePlan">取消</button>
158
+ </div>
159
+ </modal>
160
+ </div>
161
+ </template>
162
+
163
+ <script>
164
+ import {HttpResetClass, PagedList} from 'vue-client'
165
+ import Vue from 'vue'
166
+ import * as Util from '../../components/Util'
167
+
168
+ export default {
169
+ title: '安检记录列表',
170
+ props: ['row'],
171
+ data() {
172
+ return {
173
+ createPlan:{
174
+ f_safecheck_type:"年度普检",
175
+ checker:{},
176
+ isShare:"否",
177
+ f_usertype:"",
178
+ f_issued:'是',
179
+ f_end_time:Util.toStandardDateString().replace(new Date().getFullYear().toString(),(new Date().getFullYear()+1).toString()),
180
+ f_start_time:Util.toStandardDateString(),
181
+ f_plan_month:(new Date().getMonth()+1).toString(),
182
+ f_plan_year:new Date().getFullYear().toString(),
183
+ f_plan_name:""
184
+ },
185
+ checker:[],
186
+ isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
187
+ yearList:[{label:"2020",value:"2020"},{label:"2021",value:"2021"},{label:"2022",value:"2022"},{label:"2023",value:"2023"},{label:"2024",value:"2024"},{label:"2025",value:"2025"},{label:"2026",value:"2026"},{label:"2027",value:"2027"},{label:"2028",value:"2028"},{label:"2029",value:"2029"},{label:"2030",value:"2030"}],
188
+ monthList:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"},{label:"9",value:"9"},{label:"10",value:"10"},{label:"11",value:"11"},{label:"12",value:"12"}],
189
+ rowdata: this.row,
190
+ bookAll: false,
191
+ bookList:[],
192
+ showCreatePlan: false,
193
+ model: new PagedList('api/af-safecheck/sql/safe_singleTable_OrderBy', 50,
194
+ {
195
+ items: '"ua.id,ua.f_address,tui.f_userinfo_code,tui.f_user_name,tui.f_user_phone,tui.f_userinfo_id"',
196
+ tablename: '"t_user_address ua left join t_userinfo tui on ua.f_userinfo_id = tui.f_userinfo_id"',
197
+ orderitem: '"ua.id desc"'
198
+ }
199
+ )
200
+ }
201
+ },
202
+ ready() {
203
+ if (this.row) {
204
+ let condition = ''
205
+ condition = `ua.f_check_book_id =${this.row.id}`
206
+ this.model.search(condition)
207
+ //只显示用户页面
208
+ this.row.f_check_book_type = '用户'
209
+ }
210
+ this.searchChecker()
211
+ },
212
+ watch: {
213
+ 'row'(val) {
214
+ if (val) {
215
+ this.rowdata = val
216
+ let condition = ''
217
+ condition = `ua.f_check_book_id =${val.id} `
218
+ this.model.search(condition)
219
+ }
220
+ }
221
+ },
222
+ methods: {
223
+ async searchChecker(){
224
+ console.log(this.$login.f.orgid)
225
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
226
+ data:{
227
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
228
+ userid: this.$login.f.id
229
+ }
230
+ }, {resolveMsg: null, rejectMsg: null})
231
+ res.data.forEach((resRow) => {
232
+ this.checker.push({label:resRow.name,value:resRow})
233
+ })
234
+ },
235
+ async addNewPlan(){
236
+ this.createPlan.f_plan_type='预约计划'
237
+ this.createPlan.f_subcompany=this.$login.f.orgstr
238
+ this.createPlan.f_filialeid=this.$login.f.orgid
239
+ this.createPlan.f_create_operator=this.$login.f.name
240
+ this.createPlan.f_create_time=Util.toStandardTimeString()
241
+ this.createPlan.f_book_id = this.row.id
242
+ console.log(this.createPlan)
243
+ const addPlan = {
244
+ f_operator:this.$login.f.name,
245
+ f_filialeid:this.$login.f.orgid,
246
+ f_subscribe_date:'',
247
+ condition:this.model.condition,
248
+ switchCheckAll:true,
249
+ checkAll:this.bookAll,
250
+ param:this.bookList,
251
+ columnName: "ua.id"
252
+ }
253
+ if(this.createPlan.isShare=="是"){
254
+ this.createPlan.f_checker_id=null
255
+ this.createPlan.f_checker=null
256
+ }else{
257
+ this.createPlan.f_checker_id=this.createPlan.checker.id
258
+ this.createPlan.f_checker=this.createPlan.checker.name
259
+ }
260
+ new HttpResetClass().load("POST",'/api/af-safecheck/logic/createAndAddPlan',{createPlan:this.createPlan,addPlan}).then(res=>{
261
+ if(res.data.code==200){
262
+ this.$showMessage("计划下发成功!"+(res.data.result.length>0?"有"+res.data.result.length+"条用户地址已经存在于其他计划中":""))
263
+ this.cancelCreatePlan()
264
+ }else{
265
+ this.$showMessage("计划下发失败!")
266
+ }
267
+ })
268
+ },
269
+ createAndSend(){
270
+ if(this.model.rows.length==0){
271
+ Vue.showMessage("未检测到列表中有用户!")
272
+ return
273
+ }
274
+ if(!this.bookAll && this.bookList.length==0){
275
+ Vue.showMessage("请先勾选你要添入到上方计划中的用户!")
276
+ return
277
+ }
278
+ this.showCreatePlan = true
279
+ },
280
+ cancelCreatePlan(){
281
+ this.showCreatePlan = false
282
+ },
283
+ selfSearch(args) {
284
+ if (this.rowdata.id) {
285
+ args.condition += `and ua.f_check_book_id =${this.rowdata.id}`
286
+ this.model.search(args.condition)
287
+ } else {
288
+ this.$showMessage('请选择片区')
289
+ }
290
+ },
291
+ checkModel (row) {
292
+ if (this.bookAll) {
293
+ return true
294
+ } else {
295
+ return this.bookList.findIndex(res => res === row.id) !== -1;
296
+ }
297
+ },
298
+ checkChange (row, e) {
299
+ if (e.target.checked) {
300
+ this.bookList.push(row.id)
301
+ } else {
302
+ this.bookList.splice(this.bookList.findIndex(res => res === row.id), 1)
303
+ }
304
+ },
305
+ delOfCheckBook(){
306
+ try {
307
+ let upAddress = `update t_user_address set f_check_book_id = null where 1 = 2 `
308
+ if (this.bookAll){
309
+ upAddress = `update t_user_address set f_check_book_id = null where f_check_book_id = '${this.row.id}'`
310
+ }else if (this.bookList.length > 0){
311
+ let codes = this.bookList.map( item => { return `'${item}'` } ).join()
312
+ upAddress = `update t_user_address set f_check_book_id = null where id in (${codes})`
313
+ }
314
+ this.$showMessage('确认移出安检册', ['confirm', 'cancel']).then((res) => {
315
+ if (res === 'confirm') {
316
+ let http = new HttpResetClass()
317
+ http.load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: upAddress}},
318
+ {resolveMsg: null, rejectMsg: '移出安检册失败'}).then(resp=>{
319
+ this.$showMessage('移出成功')
320
+ this.$refs.paged.$refs.criteria.search()
321
+ }).catch(error=>{
322
+ this.$showMessage('移出失败',error)
323
+
324
+ })
325
+ }
326
+ })
327
+ }catch (e) {
328
+ this.$showMessage('移出失败',e)
329
+ }
330
+ }
331
+ }
332
+ }
333
+ </script>