safecheck-client 3.0.35-6 → 3.0.35-61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/NewDefectList/DefectPaperNew.vue +3 -3
  4. package/src/components/Util/SafecheckUpload.vue +4 -0
  5. package/src/components/android/AddPlanItemYy.vue +451 -451
  6. package/src/components/android/CheckPlanDown.vue +1 -1
  7. package/src/components/android/CivilCurrentCreate.vue +56 -41
  8. package/src/components/android/Insurance/PhoneInsurancePurchaseDetail.vue +7 -9
  9. package/src/components/android/NoCivilCurrentCreate.vue +10 -0
  10. package/src/components/android/PaperFeedback.vue +1 -1
  11. package/src/components/android/PhoneSellInfo.vue +100 -65
  12. package/src/components/android/PhoneUpUserinfo.vue +25 -6
  13. package/src/components/android/PhoneotherInfo.vue +0 -14
  14. package/src/components/android/PhoneotherInfov3.vue +118 -0
  15. package/src/components/android/SafecheckDevices.vue +2 -2
  16. package/src/components/android/SafecheckOrderV.vue +2 -529
  17. package/src/components/android/examples/SafeListExamples.vue +296 -296
  18. package/src/components/pc/AddPlanItemYyChange.vue +743 -0
  19. package/src/components/pc/NewCheckpaper.vue +58 -3
  20. package/src/components/pc/SecurityCheckLedger.vue +143 -0
  21. package/src/components/pc/SecurityCheckList.vue +160 -0
  22. package/src/components/pc/SecurityCheckManage.vue +113 -0
  23. package/src/components/pc/SecurityCheckUser.vue +440 -0
  24. package/src/components/planmanage/PlanManage.vue +47 -1
  25. package/src/components/report/CheckPlanAreaList.vue +25 -5
  26. package/src/components/rongcheng/AddPlanItem.vue +1 -1
  27. package/src/components/rongcheng/AspiratedAreaPlan.vue +575 -574
  28. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +4 -0
  29. package/src/components/rongcheng/AspiratedUserInfo.vue +12 -4
  30. package/src/components/rongcheng/CheckSearchUser.vue +1 -1
  31. package/src/components/rongcheng/PhoneUpUserinfo.vue +1236 -1236
  32. package/src/components/rongcheng/SafecheckOrderV.vue +1 -1
  33. package/src/components/rongcheng/SafecheckUserInfo.vue +12 -12
  34. package/src/components/userfile/InfoModifyModal.vue +1 -0
  35. package/src/components/userfile/UserInfoAudit.vue +2 -0
  36. package/src/components/userfile/UserinfoModify.vue +6 -0
  37. package/src/filiale/bayan/android/AddPlanItem.vue +450 -430
  38. package/src/filiale/bayan/android/CurrentCreate.vue +10 -0
  39. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1380 -1380
  40. package/src/filiale/bayan/android/SafecheckOrderV.vue +9 -0
  41. package/src/filiale/bayan/android/SafecheckUserInfo.vue +882 -868
  42. package/src/filiale/bayan/pc/DefectPaperNew.vue +22 -1
  43. package/src/filiale/bayan/pc/SelectCheckPlan.vue +6 -1
  44. package/src/filiale/bayan/pc/usergashistory.vue +149 -0
  45. package/src/filiale/bayan/pc/usergashistorynian.vue +149 -0
  46. package/src/filiale/bayan/pc.js +24 -22
  47. package/src/filiale/dexin/android/SafecheckOrderV.vue +7 -11
  48. package/src/filiale/dexin/pc/DefectListNew.vue +643 -0
  49. package/src/filiale/dexin/pc/DefectMainNew.vue +63 -0
  50. package/src/filiale/dexin/pc/DefectPaperNew.vue +1066 -0
  51. package/src/filiale/dexin/pc.js +1 -0
  52. package/src/filiale/huaran/android/CheckPlanDown.vue +212 -0
  53. package/src/filiale/huaran/android.js +1 -0
  54. package/src/filiale/huaran/pc/PaperList.vue +22 -1
  55. package/src/filiale/huaran/pc/PlanManage.vue +66 -7
  56. package/src/filiale/huaran/pc/checkUserList.vue +55 -22
  57. package/src/filiale/huaran/pc.js +1 -0
  58. package/src/filiale/minsheng/android/PhoneUpUserinfo.vue +21 -1
  59. package/src/filiale/qianneng/android/SwitchValve.vue +1 -0
  60. package/src/filiale/rizhao/pc/NewCheckpaper.vue +10 -5
  61. package/src/filiale/shanxian/android/SafecheckOrderV.vue +1 -1
  62. package/src/filiale/shanxian/pc/SelectCheckPlan.vue +21 -0
  63. package/src/filiale/shanxian/pc/checkUserList.vue +1 -1
  64. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  65. package/src/filiale/siyang/android/PaperFeedback.vue +1514 -0
  66. package/src/filiale/siyang/android.js +1 -0
  67. package/src/filiale/siyang/pc/PlanManage.vue +26 -16
  68. package/src/filiale/siyang/pc/checkUserList.vue +123 -148
  69. package/src/filiale/tianke/pc/DefectListNew.vue +10 -3
  70. package/src/filiale/tongchuan/android/SafecheckOrderV.vue +3 -3
  71. package/src/filiale/tongchuan/pc/CheckSearchUser.vue +5 -13
  72. package/src/filiale/weinan/android/PaperFeedback.vue +34 -8
  73. package/src/filiale/weinan/android/SafecheckOrderV.vue +6 -2
  74. package/src/filiale/weinan/android/SafecheckUserInfo.vue +14 -0
  75. package/src/filiale/weinan/pc/NewCheckpaper.vue +20 -0
  76. package/src/filiale/weinan/pc/PaperList.vue +14 -1
  77. package/src/filiale/xilan/android/CurrentCreate.vue +0 -14
  78. package/src/filiale/xilan/android.js +10 -11
  79. package/src/filiale/xilan/pc/PaperList.vue +795 -0
  80. package/src/filiale/xilan/pc.js +1 -0
  81. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +1 -1
  82. package/src/filiale/zhongsheng/android/SafecheckDevices.vue +4 -4
  83. package/src/filiale/zhongsheng/pc/CheckPlanAreaList.vue +33 -1
  84. package/src/main.js +1 -1
  85. package/src/safecheck-android.js +303 -307
  86. package/src/safecheck.js +15 -0
  87. package/src/filiale/xilan/android/AddPlanItem.vue +0 -461
@@ -0,0 +1,440 @@
1
+ <template>
2
+ <div class="flex">
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-4">
8
+ <label class="font_normal_body">用户名称</label>
9
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_user_name" placeholder='用户名称'
10
+ condition="ui.f_user_name like '%{}%'">
11
+ </div>
12
+ <div class="form-group col-sm-4">
13
+ <label class="font_normal_body">用户编号</label>
14
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
15
+ placeholder='用户编号' condition="ui.f_userinfo_code like '%{}%'">
16
+ </div>
17
+ <div class="form-group col-sm-4">
18
+ <label class="font_normal_body">用户地址</label>
19
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
20
+ placeholder='用户地址' condition="ua.f_address like '%{}%'">
21
+ </div>
22
+ <div class="form-group col-sm-4">
23
+ <label class="font_normal_body">用户类型:</label>
24
+ <v-select class="select select_list" :value.sync="model.f_user_type" v-model="model.f_user_type"
25
+ :options='$parent.$parent.userTypes' placeholder='请选择' condition="uf.f_user_type='{}'" :search="false"
26
+ close-on-select value-single>
27
+ </v-select>
28
+ </div>
29
+ <div class="form-group col-sm-4">
30
+ <label class="font_normal_body">用户状态:</label>
31
+ <v-select class="select select_list" :value.sync="model.f_user_state" v-model="model.f_user_state"
32
+ :options='$parent.$parent.userStates' placeholder='请选择' condition="ui.f_user_state='{}'" :search="false"
33
+ close-on-select value-single>
34
+ </v-select>
35
+ </div>
36
+ <div class="form-group col-sm-4">
37
+ <label class="font_normal_body">用气性质:</label>
38
+ <v-select class="select select_list" :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
39
+ :options='$parent.$parent.gasproperties' placeholder='请选择' condition="uf.f_gasproperties='{}'"
40
+ :search="false" close-on-select value-single>
41
+ </v-select>
42
+ </div>
43
+ <div class="form-group col-sm-4">
44
+ <label class="font_normal_body">开户起始:</label>
45
+ <datepicker placeholder='请选择' style="width:60%" :disabled-days-of-week="[]" :format="'yyyy-MM-dd'"
46
+ :show-rest-button="reset" :value.sync="model.f_startfile_time" v-model="model.f_startfile_time"
47
+ condition="ui.f_createfile_date >= '{} 00:00:00'">
48
+ </datepicker>
49
+ </div>
50
+ <div class="form-group col-sm-4">
51
+ <label class="font_normal_body">开户截止:</label>
52
+ <datepicker placeholder='请选择' :disabled-days-of-week="[]" style="width:60%" :format="'yyyy-MM-dd'"
53
+ :show-rest-button="reset" :value.sync="model.f_endfile_time" v-model="model.f_endfile_time"
54
+ condition="ui.f_createfile_date <= '{} 23:59:59'">
55
+ </datepicker>
56
+ </div>
57
+ <div class="form-group col-sm-4">
58
+ <label class="font_normal_body">派发情况:</label>
59
+ <v-select class="select select_list" :value.sync="model.yearCheck" v-model="model.yearCheck"
60
+ :options='$parent.$parent.yearCheckList' placeholder='请选择' condition="{}" :search="false"
61
+ close-on-select value-single>
62
+ </v-select>
63
+ </div>
64
+ <div class="form-group col-sm-4">
65
+ <label class="font_normal_body">安检起始:</label>
66
+ <datepicker placeholder='请选择' style="width:60%" :disabled-days-of-week="[]" :format="'yyyy-MM-dd'"
67
+ :show-rest-button="reset" :value.sync="model.f_start_time" v-model="model.f_start_time">
68
+ </datepicker>
69
+ </div>
70
+ <div class="form-group col-sm-4">
71
+ <label class="font_normal_body">安检截止:</label>
72
+ <datepicker placeholder='请选择' :disabled-days-of-week="[]" style="width:60%" :format="'yyyy-MM-dd'"
73
+ :show-rest-button="reset" :value.sync="model.f_end_time" v-model="model.f_end_time">
74
+ </datepicker>
75
+ </div>
76
+ <div class="form-group col-sm-4">
77
+ <label class="font_normal_body">安检状态:</label>
78
+ <v-select class="select select_list" :value.sync="model.f_last_check_state"
79
+ v-model="model.f_last_check_state" :options='$parent.$parent.entry_status' placeholder='请选择'
80
+ :search="false" close-on-select value-single>
81
+ </v-select>
82
+ </div>
83
+ <div class="form-group col-sm-4">
84
+ <label class="font_normal_body">安检时间:</label>
85
+ <input type="number" class="input_search" v-model="model.month" style="width: 60%"
86
+ placeholder="距上次安检时间(月)">
87
+ </div>
88
+ <div class="form-group col-sm-4">
89
+ <label class="font_normal_body">入户次数</label>
90
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_userinfo_code"
91
+ placeholder='入户次数' condition="f_num = '{}'">
92
+ </div>
93
+ </div>
94
+ <div class="row">
95
+ <div class="form-group col-sm-2 button-range">
96
+ <button class="button_search" style="margin-right: 10px" @click="search()" v-el:cba>查询</button>
97
+ <button class="button_search" style="margin-right: 10px" @click="$parent.$parent.showCreateCheckPlan()"
98
+ v-el:cba>生成并下发</button>
99
+ </div>
100
+ </div>
101
+ </div>
102
+ </criteria>
103
+ <data-grid :model="model" class="table_sy" partial='list' v-ref:grid>
104
+ <template partial='head'>
105
+ <tr>
106
+ <th>
107
+ <nobr>
108
+ <input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll"
109
+ @change="$parent.$parent.$parent.setCheckAll()" /> 全选
110
+ </nobr>
111
+ </th>
112
+ <th>
113
+ <nobr>用户编号</nobr>
114
+ </th>
115
+ <th>
116
+ <nobr>用户名称</nobr>
117
+ </th>
118
+ <th>
119
+ <nobr>用户类型</nobr>
120
+ </th>
121
+ <th>
122
+ <nobr>用户电话</nobr>
123
+ </th>
124
+ <th>
125
+ <nobr>表具类型</nobr>
126
+ </th>
127
+ <th>
128
+ <nobr>安检日期</nobr>
129
+ </th>
130
+ <th>
131
+ <nobr>详细地址</nobr>
132
+ </th>
133
+ </tr>
134
+ </template>
135
+ <template partial='body'>
136
+ <tr>
137
+ <td style="text-align: center;white-space:nowrap;">
138
+ <input v-if="!row.f_plan_id" type="checkbox" onClick="event.cancelBubble = true"
139
+ :checked="$parent.$parent.$parent.isChecked(row.id)"
140
+ @change="$parent.$parent.$parent.setCheckes(row.id)" />
141
+ </td>
142
+ <td style="text-align:center"><span>{{ row.f_userinfo_code }}</span></td>
143
+ <td style="text-align:center"><span>{{ row.f_user_name }}</span></td>
144
+ <td style="text-align:center"><span>{{ row.f_user_type }}</span></td>
145
+ <td style="text-align:center"><span>{{ row.f_user_phone }}</span></td>
146
+ <td style="text-align:center"><span>{{ row.f_meter_classify }}</span></td>
147
+ <td style="text-align:center"><span>{{ row.f_last_check_date }}</span></td>
148
+ <td style="text-align:center"><span>{{ row.f_address }}</span></td>
149
+ </tr>
150
+ </template>
151
+ <template partial='foot'></template>
152
+ </data-grid>
153
+ </criteria-paged>
154
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
155
+ <div slot="modal-header" class="modal-header">
156
+ <h4 class="modal-title">
157
+ 新建计划
158
+ </h4>
159
+ </div>
160
+ <div slot="modal-body" class="modal-body">
161
+ <div class="row">
162
+ <div class="form-group col-sm-4">
163
+ <label class="font_normal_body">计划名称:</label>
164
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name" style="width: 60%"
165
+ placeholder="请选择" />
166
+ </div>
167
+ <div class="form-group col-sm-4">
168
+ <label class="font_normal_body">计划年份:</label>
169
+ <v-select class="select select_list" :value.sync="createPlan.f_plan_year" v-model="createPlan.f_plan_year"
170
+ :search="false" :options='yearList' placeholder='请选择' close-on-select value-single>
171
+ </v-select>
172
+ </div>
173
+ <div class="form-group col-sm-4">
174
+ <label class="font_normal_body">计划月份:</label>
175
+ <v-select class="select select_list" :value.sync="createPlan.f_plan_month" v-model="createPlan.f_plan_month"
176
+ :search="false" :options='monthList' placeholder='请选择' close-on-select value-single>
177
+ </v-select>
178
+ </div>
179
+ <div class="form-group col-sm-4">
180
+ <label class="font_normal_body">是否共享:</label>
181
+ <v-select class="select select_list" :search="false" :value.sync="createPlan.isShare"
182
+ v-model="createPlan.isShare" :options='isAndNot' placeholder='请选择' close-on-select value-single>
183
+ </v-select>
184
+ </div>
185
+ <div class="form-group col-sm-4" v-show="createPlan.isShare == '否'">
186
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
187
+ <v-select class="select select_list" :value.sync="createPlan.checker" v-model="createPlan.checker"
188
+ :options='checker' placeholder='请选择' close-on-select value-single>
189
+ </v-select>
190
+ </div>
191
+
192
+ <div class="form-group col-sm-4">
193
+ <label class="font_normal_body">安检类型:</label>
194
+ <v-select class="select select_list" :value.sync="createPlan.f_safecheck_type"
195
+ v-model="createPlan.f_safecheck_type" :search="false" :options='ntoway' placeholder='请选择' close-on-select
196
+ value-single>
197
+ </v-select>
198
+ </div>
199
+ <!-- <div class="form-group col-sm-4" v-show="createPlan.isShare=='是'">-->
200
+ <!-- <label class="font_normal_body">安&ensp;检&ensp;员:</label>-->
201
+ <!-- <v-select-->
202
+ <!-- class="select select_list"-->
203
+ <!-- :value.sync="createPlan.checkers"-->
204
+ <!-- v-model="createPlan.checkers"-->
205
+ <!-- :options='checker'-->
206
+ <!-- placeholder='请选择'-->
207
+ <!-- :multiple="true"-->
208
+ <!-- >-->
209
+ <!-- </v-select>-->
210
+ <!-- </div>-->
211
+ </div>
212
+ </div>
213
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
214
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
215
+ <button class="button_search" @click="cancel">取消</button>
216
+ </div>
217
+ </modal>
218
+ <work-busy :is-busy="isBusy"></work-busy>
219
+
220
+ </div>
221
+ </template>
222
+
223
+ <script>
224
+ import { HttpResetClass, PagedList } from 'vue-client'
225
+ import Vue from "vue";
226
+ import * as Util from "./../Util";
227
+ export default {
228
+ title: '安检情况明细',
229
+ data() {
230
+ return {
231
+ checkAll: false,
232
+ searchCondition: '',
233
+ isBusy:false,
234
+ createPlan: {
235
+ f_plan_name: '',
236
+ f_plan_year: '',
237
+ checkers: [],
238
+ f_plan_month: '',
239
+ isShare: '否',
240
+ f_issued: '否',
241
+ f_checker_id: null,
242
+ checker: {},
243
+ f_checker: null,
244
+ f_safecheck_type: '',
245
+ },
246
+ 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 }],
247
+ 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 }],
248
+ isAndNot: [{ label: '是', value: '是' }, { label: '否', value: '否' }],
249
+ checker: [],
250
+ checkes: [],
251
+ showCreatePlan: false,
252
+ entry_status: this.$appdata.getParam('安检状态') ? [{ label: '全部', value: '' }, ...this.$appdata.getParam('安检状态')] : [{ label: '全部', value: '' }],
253
+ yearCheckList: [{ label: "全部", value: "" }, { label: "已在计划中", value: "ua.f_plan_id is not null" }, { label: "未在计划中", value: "ua.f_plan_id is null" }],
254
+ gasproperties: this.$appdata.getParam('用气性质') ? [{ label: '全部', value: '' }, ...this.$appdata.getParam('用气性质')] : [{ label: '全部', value: '' }],
255
+ userStates: this.$appdata.getParam('安检用户状态') ? [{ label: '全部', value: '' }, ...this.$appdata.getParam('安检用户状态')] : [{ label: '全部', value: '' }],
256
+ userTypes: this.$appdata.getParam('用户类型') ? [{ label: '全部', value: '' }, ...this.$appdata.getParam('用户类型')] : [{ label: '全部', value: '' }],
257
+ model: new PagedList('rs/sql/FetchUserFileByOrgNoRuHuSXQ', 50, { orderitem: '"f_residential_area,f_building,f_unit,f_floor,f_room"' }),
258
+ }
259
+ },
260
+ props: ['checkrow'],
261
+ async ready() {
262
+ this.search()
263
+ await this.searchChecker()
264
+ },
265
+ computed: {
266
+ ntoway() {
267
+ return this.$appdata.getParam('安检类型')
268
+ }
269
+ },
270
+ methods: {
271
+ isChecked(v) {
272
+ // 如果全选,不在的按选中算,否则,在的按选中算
273
+ if (this.checkAll) {
274
+ return this.checkes.indexOf(v) == -1
275
+ } else {
276
+ return this.checkes.indexOf(v) != -1
277
+ }
278
+ },
279
+ setCheckes(id) {
280
+ let index = this.checkes.indexOf(id)
281
+ if (index < 0) {
282
+ this.checkes.push(id)
283
+ } else {
284
+ this.checkes.splice(index, 1)
285
+ }
286
+ },
287
+ async searchChecker() {
288
+ let res = await new HttpResetClass().load('POST', '/rs/search', {
289
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
290
+ userid: this.$login.f.id
291
+ }, { resolveMsg: null, rejectMsg: null })
292
+ let arr = []
293
+ res.data.forEach((resRow) => {
294
+ if (!arr.includes(resRow.name) && resRow.state == '在职') {
295
+ arr.push(resRow.name)
296
+ this.checker.push({ label: resRow.name, value: resRow })
297
+ }
298
+ })
299
+ },
300
+ setCheckAll() {
301
+ this.checkAll = !this.checkAll
302
+ this.checkes = []
303
+ },
304
+ showCreateCheckPlan() {
305
+ if (this.model.rows.length == 0) {
306
+ Vue.showMessage("未检测到列表中有用户!")
307
+ return
308
+ }
309
+ if (!this.checkAll && this.checkes.length == 0) {
310
+ Vue.showMessage("请先勾选用户!")
311
+ return
312
+ }
313
+ this.showCreatePlan = true
314
+ },
315
+ validationCreatePlan() {
316
+ if (!this.createPlan.f_plan_name) {
317
+ Vue.showMessage("请输入安检计划名称!")
318
+ return false
319
+ }
320
+ if (!this.createPlan.f_plan_year) {
321
+ Vue.showMessage("请选择安检年份!")
322
+ return false
323
+ }
324
+ if (!this.createPlan.f_plan_month) {
325
+ Vue.showMessage("请选择安检月份!")
326
+ return false
327
+ }
328
+ if (this.createPlan.isShare == "否") {
329
+ if (JSON.stringify(this.createPlan.checker) == '{}') {
330
+ Vue.showMessage("请选择安检人员!")
331
+ return false
332
+ }
333
+ } else {
334
+ this.createPlan.f_checker = ''
335
+ }
336
+ if (!this.createPlan.f_safecheck_type) {
337
+ Vue.showMessage("请选择安检类型!")
338
+ return false
339
+ }
340
+ return true
341
+ },
342
+ async addNewPlan() {
343
+ if (!this.validationCreatePlan()) {
344
+ return
345
+ }
346
+ this.isBusy = true
347
+ let res = await new HttpResetClass().load("POST", "/rs/sql/getCheckplan", { data: { condition: "f_plan_name='" + this.createPlan.f_plan_name + "'", sortfield: 'f_create_time desc' } })
348
+ if (res.data.length > 0) {
349
+ Vue.showMessage("计划名称不能重复!")
350
+ this.isBusy = false
351
+ return
352
+ }
353
+ if (this.createPlan.isShare == "是") {
354
+ if (this.createPlan.checkers.length > 0) {
355
+ this.createPlan.checkers.forEach((value) => {
356
+ this.createPlan.f_checkerstr += `${value},`
357
+ })
358
+ this.createPlan.f_checkerstr = this.createPlan.f_checkerstr.slice(0, -1)
359
+ }
360
+ this.createPlan.f_checker_id = null
361
+ this.createPlan.f_checker = null
362
+ } else {
363
+ this.createPlan.f_checker_id = this.createPlan.checker.id
364
+ this.createPlan.f_checker = this.createPlan.checker.name
365
+ }
366
+ this.createPlan.f_plan_type = '预约计划'
367
+ this.createPlan.f_subcompany = this.$login.f.orgs
368
+ this.createPlan.f_filialeid = this.$login.f.orgid
369
+ this.createPlan.f_create_operator = this.$login.f.name
370
+ this.createPlan.f_create_time = Util.toStandardTimeString()
371
+ this.createPlan.checkAll = this.checkAll
372
+ this.createPlan.searchCondition = this.searchCondition
373
+ this.createPlan.checkes = this.checkes.join()
374
+
375
+ new HttpResetClass().load('POST', "/rs/logic/createCheckPlanAndAddPlanItem", {
376
+ data: this.createPlan
377
+ }, { resolveMsg: '新建计划成功!', rejectMsg: '新建计划失败!' })
378
+ .then(() => {
379
+ this.checkAll = false
380
+ this.checkes = []
381
+ this.showCreatePlan = false
382
+ this.$showMessage('创建计划成功')
383
+ this.isBusy = false
384
+ }).catch(() => {
385
+ this.checkAll = false
386
+ this.checkes = []
387
+ this.showCreatePlan = false
388
+ this.$showMessage('创建计划失败')
389
+ this.isBusy = false
390
+ })
391
+ this.createPlan = {
392
+ f_plan_name: '',
393
+ f_plan_year: '',
394
+ f_plan_month: '',
395
+ isShare: '否',
396
+ f_issued: '否',
397
+ f_checker_id: null,
398
+ checker: {},
399
+ checkers: [],
400
+ f_checker: null,
401
+ f_checkerstr: null,
402
+ f_safecheck_type: '',
403
+ f_create_operator: ''
404
+ }
405
+ },
406
+ cancel() {
407
+ this.showCreatePlan = false
408
+ this.checkes = []
409
+ this.createPlan = {
410
+ f_plan_name: '',
411
+ f_plan_year: '',
412
+ f_plan_month: '',
413
+ isShare: '否',
414
+ f_issued: '否',
415
+ f_checker_id: null,
416
+ checker: {},
417
+ f_checker: null,
418
+ f_safecheck_type: '',
419
+ }
420
+ },
421
+ search() {
422
+ this.$refs.paged.$refs.criteria.search()
423
+ },
424
+ async selfSearch(args) {
425
+ if (!this.checkrow) {
426
+ return
427
+ }
428
+ let condition = ''
429
+ condition = args.condition += `and area.f_residential_area = '${this.checkrow.f_residential_area}'`
430
+ this.searchCondition = condition
431
+ this.model.search(condition)
432
+ },
433
+ },
434
+ watch: {
435
+ 'checkrow'() {
436
+ this.search()
437
+ }
438
+ }
439
+ }
440
+ </script>
@@ -251,6 +251,18 @@
251
251
  >
252
252
  </v-select>
253
253
  </div>
254
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='是' && ismulchecker">
255
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
256
+ <v-select
257
+ class="select select_list"
258
+ :value.sync="createPlan.checkers"
259
+ v-model="createPlan.checkers"
260
+ :options='checker'
261
+ placeholder='请选择'
262
+ :multiple="true"
263
+ >
264
+ </v-select>
265
+ </div>
254
266
  <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
255
267
  <label class="font_normal_body">安&ensp;检&ensp;员:</label>
256
268
  <v-select
@@ -350,6 +362,18 @@
350
362
  >
351
363
  </v-select>
352
364
  </div>
365
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='是' && ismulchecker">
366
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
367
+ <v-select
368
+ class="select select_list"
369
+ :value.sync="upCheckPlan.checkers"
370
+ v-model="upCheckPlan.checkers"
371
+ :options='checker'
372
+ placeholder='请选择'
373
+ :multiple="true"
374
+ >
375
+ </v-select>
376
+ </div>
353
377
  <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='否'">
354
378
  <label class="font_normal_body">安&ensp;检&ensp;员:</label>
355
379
  <v-select
@@ -396,6 +420,7 @@
396
420
  title: '计划管理',
397
421
  data() {
398
422
  return {
423
+ ismulchecker:this.$appdata.getSingleValue('计划安检员多选')?true:false,
399
424
  a:'1',
400
425
  opt:[{label:"按时间降序",value:"按时间降序"},{label:"按时间升序",value:"按时间升序"}],
401
426
  currentorder:'按时间降序',
@@ -410,7 +435,9 @@
410
435
  f_checker_id:'',
411
436
  isShare:'',
412
437
  f_checker:'',
413
- checker:{}
438
+ f_checkerstr:'',
439
+ checker:{},
440
+ checkers:[]
414
441
  },
415
442
  isSend:false,
416
443
  createPlan:{
@@ -421,7 +448,9 @@
421
448
  f_issued:'否',
422
449
  f_checker_id:null,
423
450
  checker:{},
451
+ checkers:[],
424
452
  f_checker:null,
453
+ f_checkerstr:null,
425
454
  f_safecheck_type:'',
426
455
  },
427
456
  planCondition:{},
@@ -523,6 +552,12 @@
523
552
  return
524
553
  }
525
554
  if(this.createPlan.isShare=="是"){
555
+ if(this.ismulchecker && this.createPlan.checkers.length > 0){
556
+ this.createPlan.checkers.forEach((value) => {
557
+ this.createPlan.f_checkerstr += `${value.name},`
558
+ })
559
+ this.createPlan.f_checkerstr = this.createPlan.f_checkerstr.slice(0, -1)
560
+ }
526
561
  this.createPlan.f_checker_id=null
527
562
  this.createPlan.f_checker=null
528
563
  }else{
@@ -545,7 +580,9 @@
545
580
  f_issued:'否',
546
581
  f_checker_id:null,
547
582
  checker:{},
583
+ checkers:[],
548
584
  f_checker:null,
585
+ f_checkerstr:null,
549
586
  f_safecheck_type:'',
550
587
  f_create_operator:''
551
588
  }
@@ -608,6 +645,7 @@
608
645
  //按条件查询所有安检计划
609
646
  async loadCheckPlan() {
610
647
  this.isSend=true
648
+ this.checkplan.check.checkescheckes=[]
611
649
  this.checkplan.check.checkes=[]
612
650
  let fieldValue=''
613
651
  switch(this.currentorder){
@@ -677,6 +715,12 @@
677
715
  console.log(this.upCheckPlan)
678
716
 
679
717
  if(this.upCheckPlan.isShare=="是"){
718
+ if(this.ismulchecker && this.upCheckPlan.checkers.length > 0){
719
+ this.upCheckPlan.checkers.forEach((value) => {
720
+ this.upCheckPlan.f_checkerstr += `${value.name},`
721
+ })
722
+ this.upCheckPlan.f_checkerstr = this.upCheckPlan.f_checkerstr.slice(0, -1)
723
+ }
680
724
  this.upCheckPlan.f_checker_id=null
681
725
  this.upCheckPlan.f_checker=null
682
726
  }else{
@@ -686,6 +730,8 @@
686
730
  this.isSend=true
687
731
  let res=await new HttpResetClass().load("POST", "/rs/logic/updateCheckPlan", {
688
732
  data:{
733
+ checkers:this.createPlan.checkers,
734
+ f_checkerstr:this.createPlan.f_checkerstr,
689
735
  f_checker:this.upCheckPlan.f_checker,
690
736
  f_safecheck_type:this.upCheckPlan.f_safecheck_type,
691
737
  f_checker_id:this.upCheckPlan.f_checker_id,
@@ -172,12 +172,21 @@
172
172
  <td style="text-align:center">{{row.f_buyu}}</td>
173
173
  <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
174
174
  <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
175
- <!--<td style="text-align: center;">-->
176
- <!--<button class="btn btn-link" @click.stop="$parent.$parent.$parent.showhistory(row)">查看</button>-->
177
- <!--</td>-->
178
175
  </tr>
179
176
  </template>
180
- <template partial='foot'></template>
177
+ <template partial="foot">
178
+ <tr>
179
+ <td style="text-align:center"><strong>合计:</strong></td>
180
+ <td style="text-align:center" :colspan="$parent.$parent.$parent.nameForSql.length"></td>
181
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total}}</strong></td>
182
+ <td style="text-align:center"><strong>{{model.sums.f_weijian}}</strong></td>
183
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_yijian}}</strong></nobr></td>
184
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_ruhu}}</strong></nobr></td>
185
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_buyu}}</strong></nobr></td>
186
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_jujian}}</strong></nobr></td>
187
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total>0?(model.sums.f_yijian/model.sums.f_plan_total*100).toFixed(2)+'%':0}}</strong></td>
188
+ </tr >
189
+ </template>
181
190
  </data-grid>
182
191
  </criteria-paged>
183
192
  </div>
@@ -194,7 +203,7 @@
194
203
  export default {
195
204
  data () {
196
205
  return {
197
- model: new PagedList('rs/sql/getCheckPlanAreaList', 99999),
206
+ model: new PagedList('rs/sql/getCheckPlanAreaList', 99999,{},{f_plan_total:'',f_weijian:'',f_yijian:'',f_ruhu:'',f_buyu:'',f_jujian:''}),
198
207
  // 公司下拉
199
208
  curorgid: [this.$login.f.orgid],
200
209
  row: {},
@@ -437,7 +446,18 @@
437
446
  }
438
447
  //tag
439
448
  this.model.rows=JSON.parse(JSON.stringify(temp))
449
+ },
450
+ 'model.rows.length'() {
451
+ // 如果查询无结果,将合计置为0
452
+ if(this.model.rows.length < 1){
453
+ this.model.sums.f_plan_total = 0
454
+ this.model.sums.f_weijian = 0
455
+ this.model.sums.f_yijian = 0
456
+ this.model.sums.f_ruhu = 0
457
+ this.model.sums.f_buyu = 0
458
+ this.model.sums.f_jujian = 0
440
459
  }
460
+ }
441
461
  },
442
462
  computed:{
443
463
  exportParameter(){
@@ -168,7 +168,7 @@
168
168
  </div>
169
169
  <div class="col-xs-12">
170
170
  <p class="panel-title col-xs-5 text-left font"><b>隐患情况:</b></p>
171
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_last_check_result }}</p>
171
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_defect_text }}</p>
172
172
  </div>
173
173
  </div>
174
174
  </div>