apply-clients 3.1.52 → 3.1.55

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apply-clients",
3
- "version": "3.1.52",
3
+ "version": "3.1.55",
4
4
  "description": "报建前端模块",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -881,7 +881,7 @@ export default {
881
881
  async deleteDevice (row) {
882
882
  let data = {
883
883
  f_process_id: this.data.f_process_id,
884
- f_ticket_number: row.f_ticket_number,
884
+ f_charge_id: row.id,
885
885
  user: this.$login.f
886
886
  }
887
887
  let res = await this.$resetpost(
@@ -1,467 +1,467 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="basic-main">
4
- <div :class="showData ? 'top' : 'auto'">
5
- <order-apply-list v-ref:query :show-data="showData"></order-apply-list>
6
- </div>
7
- <div v-if="showtotal" style="height: 89%">
8
- </div>
9
- </div>
10
- </div>
11
-
12
- <validator name="cv">
13
- <modal
14
- v-if="showCheck"
15
- :show.sync="showCheck"
16
- backdrop="false"
17
- >
18
- <header slot="modal-header" class="modal-header">
19
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
20
- <h4 class="modal-title">检查审核</h4>
21
- </header>
22
- <article slot="modal-body" class="modal-body clearfix">
23
- <div class="form-group col-sm-12" :class="[$cv.check.required ? 'has-error' : '']">
24
- <label class="col-sm-3 control-label" style="line-height: 35px">是否合格:</label>
25
- <div class="col-sm-9">
26
- <input type="text" v-show="false" v-validate:check = "['required']" v-model="check">
27
- <v-select
28
- v-model="check"
29
- :value.sync="check"
30
- :options='checkOptions'
31
- :value-single="true"
32
- class="select select_list"
33
- :search="false"
34
- width="75%"
35
- close-on-select ></v-select>
36
- </div>
37
- </div>
38
- <!-- <div class="form-group col-sm-12" :class="[$cv.remark.required ? 'has-error' : '']">-->
39
- <!-- <label class="col-sm-3 control-label" style="line-height: 60px">审核备注:</label>-->
40
- <!-- <div class="col-sm-9">-->
41
- <!-- <textarea-->
42
- <!-- class="form-control input_view" style="width: 75%;height: 100%"-->
43
- <!-- rows="2" v-validate:remark = "['required']" placeholder="审核不合格内容将通知用户"-->
44
- <!-- v-model="checkRemark" :value="checkRemark"-->
45
- <!-- >-->
46
- <!-- </textarea>-->
47
- <!-- </div>-->
48
- <!-- </div>-->
49
- </article>
50
- <footer slot="modal-footer" class="modal-footer">
51
- <button type="button" class="btn btn-primary" v-if="check == '是'" @click="checkOrder()" :disabled='!$cv.valid'>确认</button>
52
- </footer>
53
- </modal>
54
- </validator>
55
-
56
- <validator name="tv">
57
- <modal
58
- v-if="showType"
59
- :show.sync="showType"
60
- backdrop="false"
61
- >
62
- <header slot="modal-header" class="modal-header">
63
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
64
- <h4 class="modal-title">报建类型</h4>
65
- </header>
66
- <article slot="modal-body" class="modal-body clearfix">
67
- <div class="form-group col-sm-12" :class="[$tv.type.required ? 'has-error' : '']">
68
- <label class="col-sm-3 control-label" style="line-height: 35px">报建类型:</label>
69
- <div class="col-sm-9">
70
- <input type="text" v-show="false" v-validate:type = "['required']" v-model="applyType">
71
- <v-select
72
- placeholder='请选择需要发起的工程类型'
73
- v-model="applyType"
74
- :value.sync="applyType"
75
- :options='$appdata.getParam("报建类型")'
76
- :value-single="true"
77
- class="select select_list"
78
- :search="false"
79
- width="75%"
80
- close-on-select ></v-select>
81
- </div>
82
- </div>
83
- </article>
84
- <footer slot="modal-footer" class="modal-footer">
85
- <button type="button" class="btn btn-primary" @click="applyinstall()" :disabled='!$tv.valid'>确认</button>
86
- </footer>
87
- </modal>
88
- </validator>
89
-
90
- <validator name="mv">
91
- <modal
92
- v-if="showModal"
93
- :show.sync="showModal"
94
- backdrop="false"
95
- >
96
- <header slot="modal-header" class="modal-header">
97
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
98
- <h4 class="modal-title">报建发起</h4>
99
- </header>
100
- <article slot="modal-body" class="modal-body clearfix">
101
- <div>是否确定发起报建工程吗?</div>
102
- </article>
103
- <footer slot="modal-footer" class="modal-footer">
104
- <button type="button" class="btn btn-primary" @click="mergeInitiate()" :disabled='!$mv.valid'>确认</button>
105
- </footer>
106
- </modal>
107
- </validator>
108
-
109
- <validator name="av">
110
- <modal
111
- v-if="showApply"
112
- :show.sync="showApply"
113
- backdrop="false"
114
- >
115
- <header slot="modal-header" class="modal-header">
116
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
117
- <h4 class="modal-title">合并工程</h4>
118
- </header>
119
- <article slot="modal-body" class="modal-body clearfix">
120
- <div class="form-group col-sm-12" :class="[$av.apply.required ? 'has-error' : '']">
121
- <label class="col-sm-3 control-label" style="line-height: 35px">选择工程:</label>
122
- <div class="col-sm-9">
123
- <input type="text" v-show="false" v-validate:apply = "['required']" v-model="checkApply.id">
124
- <v-select
125
- placeholder='请选择需要合并的工程'
126
- v-model="checkApply"
127
- :value.sync="checkApply"
128
- :options='applyList'
129
- :value-single="true"
130
- class="select select_list"
131
- :search="false"
132
- width="75%"
133
- close-on-select ></v-select>
134
- </div>
135
- </div>
136
- </article>
137
- <footer slot="modal-footer" class="modal-footer">
138
- <button type="button" class="btn btn-primary" @click="mergeApply()" :disabled='!$av.valid'>确认</button>
139
- </footer>
140
- </modal>
141
- </validator>
142
-
143
- <modal
144
- v-if="showView"
145
- :show.sync="showView"
146
- large backdrop="false"
147
- >
148
- <header slot="modal-header" class="modal-header">
149
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
150
- <h4 class="modal-title">详情信息</h4>
151
- </header>
152
- <article slot="modal-body" class="modal-body row clearfix">
153
- <div class="form-group col-sm-4">
154
- <label class="font_normal_body">用户姓名</label>
155
- <input type="text" class="input_search" v-model="order.f_user_name" readonly>
156
- </div>
157
- <div class="form-group col-sm-4">
158
- <label class="font_normal_body">联&ensp;系&ensp;人</label>
159
- <input type="text" class="input_search" v-model="order.f_contact" readonly>
160
- </div>
161
- <div class="form-group col-sm-4">
162
- <label class="font_normal_body">联系电话</label>
163
- <input type="text" class="input_search" v-model="order.f_phone" readonly>
164
- </div>
165
- <div class="form-group col-sm-4">
166
- <label class="font_normal_body">证件类型</label>
167
- <input type="text" class="input_search" v-model="order.f_credentials" readonly>
168
- </div>
169
- <div class="form-group col-sm-8">
170
- <label class="font_normal_body">证件号码</label>
171
- <input type="text" class="input_search" v-model="order.f_idnumber" style="width: 85%" readonly>
172
- </div>
173
- <div class="form-group col-sm-4">
174
- <label class="font_normal_body">用户类型</label>
175
- <input type="text" class="input_search" v-model="order.f_user_type" readonly>
176
- </div>
177
- <div class="form-group col-sm-4">
178
- <label class="font_normal_body">用户性质</label>
179
- <input type="text" class="input_search" v-model="order.f_user_nature" readonly>
180
- </div>
181
- <div class="form-group col-sm-4">
182
- <label class="font_normal_body">户&emsp;&emsp;数</label>
183
- <input type="text" class="input_search" v-model="order.f_apply_count" readonly>
184
- </div>
185
- <div class="form-group col-sm-4">
186
- <label class="font_normal_body">地址类型</label>
187
- <input type="text" class="input_search" v-model="order.f_address_type" readonly>
188
- </div>
189
- <div class="form-group col-sm-8">
190
- <label class="font_normal_body">详细地址</label>
191
- <input type="text" class="input_search" v-model="order.f_address" style="width: 85%" readonly>
192
- </div>
193
- <div class="form-group col-sm-4">
194
- <label class="font_normal_body">处理状态</label>
195
- <input type="text" class="input_search" v-model="order.f_orderstate" readonly>
196
- </div>
197
- <div class="form-group col-sm-4">
198
- <label class="font_normal_body">预约时间</label>
199
- <input type="text" class="input_search" v-model="order.f_orderdate" readonly>
200
- </div>
201
- <div class="form-group col-sm-12">
202
- <label class="font_normal_body">预约备注</label>
203
- <input type="text" class="input_search" style="width: 90%" v-model="order.f_orderremark" readonly>
204
- </div>
205
- <div class="form-group col-sm-4">
206
- <label class="font_normal_body">审&ensp;核&ensp;人</label>
207
- <input type="text" class="input_search" v-model="order.f_check_user" readonly>
208
- </div>
209
- <div class="form-group col-sm-4">
210
- <label class="font_normal_body">审核时间</label>
211
- <input type="text" class="input_search" v-model="order.f_check_date" readonly>
212
- </div>
213
- <div class="form-group col-sm-12">
214
- <label class="font_normal_body">审核备注</label>
215
- <input type="text" class="input_search" style="width: 90%" v-model="order.f_check_remark" readonly>
216
- </div>
217
- <div class="form-group col-sm-4">
218
- <label class="font_normal_body">处&ensp;理&ensp;人</label>
219
- <input type="text" class="input_search" v-model="order.f_process_user" readonly>
220
- </div>
221
- <div class="form-group col-sm-4">
222
- <label class="font_normal_body">处理时间</label>
223
- <input type="text" class="input_search" v-model="order.f_process_date" readonly>
224
- </div>
225
- <div class="form-group col-sm-4">
226
- <label class="font_normal_body">报建编号</label>
227
- <input type="text" class="input_search" v-model="order.f_apply_num" readonly>
228
- </div>
229
-
230
- </article>
231
- <footer slot="modal-footer" class="modal-footer">
232
- </footer>
233
- </modal>
234
- </template>
235
- <script>
236
- import Vue from 'vue'
237
- import {HttpResetClass} from 'vue-client'
238
- export default {
239
- title: '预约报建',
240
- data () {
241
- return {
242
- showtotal: false, // 控制详细信息显示
243
- showData: true,
244
- selectedData: null,
245
- showCheck: false,
246
- checkOptions: [
247
- {
248
- label: '是',
249
- value: '是'
250
- },
251
- {
252
- label: '否',
253
- value: '否'
254
- }
255
- ],
256
- check: null,
257
- checkRemark: null,
258
- showType: false,
259
- applyType: null,
260
- showModal: null,
261
- apply: {},
262
- showApply: false,
263
- applyList: [],
264
- checkApply: null,
265
- order: null,
266
- showView: false
267
- }
268
- },
269
- created () {
270
- },
271
- methods: {
272
- async mergeApply () {
273
- let data = {
274
- selectedData: this.selectedData,
275
- checkApply: this.checkApply,
276
- user: this.$login.f
277
- }
278
-
279
- let res = await this.$resetpost(
280
- `rs/logic/mergeApply`,
281
- data,
282
- {resolveMsg: null,rejectMsg: '合并工程处理失败!!!'}
283
- )
284
-
285
- this.$refs.query.search()
286
-
287
- this.$showMessage(`报建编号:${res.data.f_apply_num}`)
288
- },
289
- async mergeInitiate () {
290
- let data = {
291
- selectedData: this.selectedData,
292
- apply: this.apply,
293
- user: this.$login.f
294
- }
295
-
296
- let res = await this.$resetpost(
297
- `rs/logic/mergeInitiate`,
298
- data,
299
- {resolveMsg: null,rejectMsg: '合并发起处理失败!!!'}
300
- )
301
-
302
- this.$refs.query.search()
303
- console.log("返回的id:" + res.data.actid)
304
- console.log("返回的f_process_id:" + res.data.f_process_id)
305
- let f_process_id = res.data.f_process_id
306
- let id = res.data.actid
307
- if (f_process_id) {
308
- let data = {
309
- id: id,
310
- f_process_id: f_process_id,
311
- actorperson: 'R(销售客服部负责人)',
312
- username: this.$login.f.name,
313
- userid: this.$login.f.id
314
- }
315
- let res = await this.$resetpost(
316
- `rs/logic/addActorperson`,
317
- {data: data},
318
- {resolveMsg: null,rejectMsg: '增加操作人失败!!!'}
319
- )
320
- }
321
- this.$showMessage(`报建编号:${res.data.f_apply_num}`)
322
- },
323
- async applyinstall () {
324
- let data = {
325
- f_apply_type: this.applyType,
326
- selectedData: this.selectedData,
327
- user: this.$login.f
328
- }
329
-
330
- if (this.applyType === '散户报建') {
331
- data.defname = '用户受理'
332
- data.processname = '散户报建流程'
333
- } else if (this.applyType === '工业户报建') {
334
- data.defname = '用户受理'
335
- data.processname = '工商户报建流程'
336
- } else if (this.applyType === '商业户报建') {
337
- data.defname = '用户受理'
338
- data.processname = '工商户报建流程'
339
- } else if (this.applyType === '散户集体报建') {
340
- data.defname = '用户受理'
341
- data.processname = '散户集体报建流程'
342
- } else if (this.applyType === '开发商集体报建') {
343
- data.defname = '用户受理'
344
- data.processname = '开发商集体报建流程'
345
- } else if (this.applyType === '煤改气报建') {
346
- data.defname = '用户受理'
347
- data.processname = '散户集体报建流程'
348
- } else {
349
- this.$showMessage('暂无此类报装')
350
- return
351
- }
352
-
353
- let res = await this.$resetpost(
354
- `rs/logic/initiateOrderApply`,
355
- data,
356
- {resolveMsg: null,rejectMsg: '预约单处理失败!!!'}
357
- )
358
-
359
- this.closeModal()
360
-
361
- this.$showMessage(`共发起${res.data.total}条报建工程\n成功:${res.data.success}\n失败:${res.data.failure}`)
362
- },
363
- async checkOrder () {
364
- let data = {
365
- selectedData: this.selectedData,
366
- check: this.check,
367
- checkRemark: this.checkRemark,
368
- user: this.$login.f,
369
- f_orderstate: "待处理"
370
- }
371
-
372
- let res = await this.$resetpost(
373
- `rs/logic/apply_third_upBidding`,
374
- {data:data},
375
- {resolveMsg: null,rejectMsg: '预约单审核处理失败!!!'}
376
- )
377
-
378
- this.$refs.query.search()
379
-
380
- this.$showMessage(`审核通过!!!`)
381
- },
382
- closeModal () {
383
- this.showCheck = false
384
- this.showType = false
385
- this.showModal = false
386
- this.showApply = false
387
- this.showView = false
388
-
389
-
390
- this.check = null
391
- this.checkRemark = null
392
- this.applyType = null
393
- this.apply = null
394
- this.applyList = []
395
- this.checkApply = []
396
- this.order = []
397
- this.selectedData = null
398
- this.$refs.query.selectedData = []
399
- },
400
- },
401
- events: {
402
- 'viewOrder' (row) {
403
- this.order = row
404
-
405
- this.showView = true
406
- },
407
- async 'handleOrder' (type, selectedData) {
408
- this.selectedData = selectedData
409
-
410
- if (type === '审核') {
411
- this.showCheck = true
412
- }
413
- if (type === '批量发起') {
414
- this.$showMessage('批量发起同一类型报建工程,建议所选预约单为同一类型、性质!!!', ['confirm']).then((res) => {
415
- if (res === 'confirm') {
416
- this.showType = true
417
- }
418
- })
419
- }
420
- if (type === '合并发起') {
421
- this.apply = {
422
- f_contact: this.selectedData[0].f_contact,
423
- f_phone: this.selectedData[0].f_phone,
424
- f_apply_count: this.selectedData.length
425
- }
426
- this.showModal = true
427
- }
428
- if (type === '合并工程') {
429
- let data = {
430
- tablename: 't_apply',
431
- condition: `f_sub_state != '完工' and f_sub_state != '暂停' and f_sub_state != '终止' and f_apply_type = '散户集体报建' and f_orgid = ${this.$login.f.orgid}`
432
- }
433
- let res = await this.$resetpost(
434
- 'rs/sql/singleTable',
435
- {data: data},
436
- {resolveMsg: null, rejectMsg: '工程查询失败!!!'}
437
- )
438
-
439
- res.data.forEach(item => {
440
- this.applyList.push({
441
- 'label': `${item.f_entry_name}`,
442
- 'value': item
443
- })
444
- })
445
-
446
- this.showApply = true
447
- }
448
-
449
- },
450
- 'search' () {
451
- this.closeModal()
452
-
453
- // 关闭详细
454
- this.showtotal = false
455
- // 显示列表数据
456
- this.showData = true
457
- // 显示分页
458
- this.$refs.query.$refs.cp.pager = true
459
- // 调用查询
460
- this.$refs.query.$refs.cp.$refs.cri.search()
461
- }
462
- },
463
-
464
- watch: {
465
- }
466
- }
467
- </script>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <div :class="showData ? 'top' : 'auto'">
5
+ <order-apply-list v-ref:query :show-data="showData"></order-apply-list>
6
+ </div>
7
+ <div v-if="showtotal" style="height: 89%">
8
+ </div>
9
+ </div>
10
+ </div>
11
+
12
+ <validator name="cv">
13
+ <modal
14
+ v-if="showCheck"
15
+ :show.sync="showCheck"
16
+ backdrop="false"
17
+ >
18
+ <header slot="modal-header" class="modal-header">
19
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
20
+ <h4 class="modal-title">检查审核</h4>
21
+ </header>
22
+ <article slot="modal-body" class="modal-body clearfix">
23
+ <div class="form-group col-sm-12" :class="[$cv.check.required ? 'has-error' : '']">
24
+ <label class="col-sm-3 control-label" style="line-height: 35px">是否合格:</label>
25
+ <div class="col-sm-9">
26
+ <input type="text" v-show="false" v-validate:check = "['required']" v-model="check">
27
+ <v-select
28
+ v-model="check"
29
+ :value.sync="check"
30
+ :options='checkOptions'
31
+ :value-single="true"
32
+ class="select select_list"
33
+ :search="false"
34
+ width="75%"
35
+ close-on-select ></v-select>
36
+ </div>
37
+ </div>
38
+ <!-- <div class="form-group col-sm-12" :class="[$cv.remark.required ? 'has-error' : '']">-->
39
+ <!-- <label class="col-sm-3 control-label" style="line-height: 60px">审核备注:</label>-->
40
+ <!-- <div class="col-sm-9">-->
41
+ <!-- <textarea-->
42
+ <!-- class="form-control input_view" style="width: 75%;height: 100%"-->
43
+ <!-- rows="2" v-validate:remark = "['required']" placeholder="审核不合格内容将通知用户"-->
44
+ <!-- v-model="checkRemark" :value="checkRemark"-->
45
+ <!-- >-->
46
+ <!-- </textarea>-->
47
+ <!-- </div>-->
48
+ <!-- </div>-->
49
+ </article>
50
+ <footer slot="modal-footer" class="modal-footer">
51
+ <button type="button" class="btn btn-primary" v-if="check == '是'" @click="checkOrder()" :disabled='!$cv.valid'>确认</button>
52
+ </footer>
53
+ </modal>
54
+ </validator>
55
+
56
+ <validator name="tv">
57
+ <modal
58
+ v-if="showType"
59
+ :show.sync="showType"
60
+ backdrop="false"
61
+ >
62
+ <header slot="modal-header" class="modal-header">
63
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
64
+ <h4 class="modal-title">报建类型</h4>
65
+ </header>
66
+ <article slot="modal-body" class="modal-body clearfix">
67
+ <div class="form-group col-sm-12" :class="[$tv.type.required ? 'has-error' : '']">
68
+ <label class="col-sm-3 control-label" style="line-height: 35px">报建类型:</label>
69
+ <div class="col-sm-9">
70
+ <input type="text" v-show="false" v-validate:type = "['required']" v-model="applyType">
71
+ <v-select
72
+ placeholder='请选择需要发起的工程类型'
73
+ v-model="applyType"
74
+ :value.sync="applyType"
75
+ :options='$appdata.getParam("报建类型")'
76
+ :value-single="true"
77
+ class="select select_list"
78
+ :search="false"
79
+ width="75%"
80
+ close-on-select ></v-select>
81
+ </div>
82
+ </div>
83
+ </article>
84
+ <footer slot="modal-footer" class="modal-footer">
85
+ <button type="button" class="btn btn-primary" @click="applyinstall()" :disabled='!$tv.valid'>确认</button>
86
+ </footer>
87
+ </modal>
88
+ </validator>
89
+
90
+ <validator name="mv">
91
+ <modal
92
+ v-if="showModal"
93
+ :show.sync="showModal"
94
+ backdrop="false"
95
+ >
96
+ <header slot="modal-header" class="modal-header">
97
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
98
+ <h4 class="modal-title">报建发起</h4>
99
+ </header>
100
+ <article slot="modal-body" class="modal-body clearfix">
101
+ <div>是否确定发起报建工程吗?</div>
102
+ </article>
103
+ <footer slot="modal-footer" class="modal-footer">
104
+ <button type="button" class="btn btn-primary" @click="mergeInitiate()" :disabled='!$mv.valid'>确认</button>
105
+ </footer>
106
+ </modal>
107
+ </validator>
108
+
109
+ <validator name="av">
110
+ <modal
111
+ v-if="showApply"
112
+ :show.sync="showApply"
113
+ backdrop="false"
114
+ >
115
+ <header slot="modal-header" class="modal-header">
116
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
117
+ <h4 class="modal-title">合并工程</h4>
118
+ </header>
119
+ <article slot="modal-body" class="modal-body clearfix">
120
+ <div class="form-group col-sm-12" :class="[$av.apply.required ? 'has-error' : '']">
121
+ <label class="col-sm-3 control-label" style="line-height: 35px">选择工程:</label>
122
+ <div class="col-sm-9">
123
+ <input type="text" v-show="false" v-validate:apply = "['required']" v-model="checkApply.id">
124
+ <v-select
125
+ placeholder='请选择需要合并的工程'
126
+ v-model="checkApply"
127
+ :value.sync="checkApply"
128
+ :options='applyList'
129
+ :value-single="true"
130
+ class="select select_list"
131
+ :search="false"
132
+ width="75%"
133
+ close-on-select ></v-select>
134
+ </div>
135
+ </div>
136
+ </article>
137
+ <footer slot="modal-footer" class="modal-footer">
138
+ <button type="button" class="btn btn-primary" @click="mergeApply()" :disabled='!$av.valid'>确认</button>
139
+ </footer>
140
+ </modal>
141
+ </validator>
142
+
143
+ <modal
144
+ v-if="showView"
145
+ :show.sync="showView"
146
+ large backdrop="false"
147
+ >
148
+ <header slot="modal-header" class="modal-header">
149
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
150
+ <h4 class="modal-title">详情信息</h4>
151
+ </header>
152
+ <article slot="modal-body" class="modal-body row clearfix">
153
+ <div class="form-group col-sm-4">
154
+ <label class="font_normal_body">用户姓名</label>
155
+ <input type="text" class="input_search" v-model="order.f_user_name" readonly>
156
+ </div>
157
+ <div class="form-group col-sm-4">
158
+ <label class="font_normal_body">联&ensp;系&ensp;人</label>
159
+ <input type="text" class="input_search" v-model="order.f_contact" readonly>
160
+ </div>
161
+ <div class="form-group col-sm-4">
162
+ <label class="font_normal_body">联系电话</label>
163
+ <input type="text" class="input_search" v-model="order.f_phone" readonly>
164
+ </div>
165
+ <div class="form-group col-sm-4">
166
+ <label class="font_normal_body">证件类型</label>
167
+ <input type="text" class="input_search" v-model="order.f_credentials" readonly>
168
+ </div>
169
+ <div class="form-group col-sm-8">
170
+ <label class="font_normal_body">证件号码</label>
171
+ <input type="text" class="input_search" v-model="order.f_idnumber" style="width: 85%" readonly>
172
+ </div>
173
+ <div class="form-group col-sm-4">
174
+ <label class="font_normal_body">用户类型</label>
175
+ <input type="text" class="input_search" v-model="order.f_user_type" readonly>
176
+ </div>
177
+ <div class="form-group col-sm-4">
178
+ <label class="font_normal_body">用户性质</label>
179
+ <input type="text" class="input_search" v-model="order.f_user_nature" readonly>
180
+ </div>
181
+ <div class="form-group col-sm-4">
182
+ <label class="font_normal_body">户&emsp;&emsp;数</label>
183
+ <input type="text" class="input_search" v-model="order.f_apply_count" readonly>
184
+ </div>
185
+ <div class="form-group col-sm-4">
186
+ <label class="font_normal_body">地址类型</label>
187
+ <input type="text" class="input_search" v-model="order.f_address_type" readonly>
188
+ </div>
189
+ <div class="form-group col-sm-8">
190
+ <label class="font_normal_body">详细地址</label>
191
+ <input type="text" class="input_search" v-model="order.f_address" style="width: 85%" readonly>
192
+ </div>
193
+ <div class="form-group col-sm-4">
194
+ <label class="font_normal_body">处理状态</label>
195
+ <input type="text" class="input_search" v-model="order.f_orderstate" readonly>
196
+ </div>
197
+ <div class="form-group col-sm-4">
198
+ <label class="font_normal_body">预约时间</label>
199
+ <input type="text" class="input_search" v-model="order.f_orderdate" readonly>
200
+ </div>
201
+ <div class="form-group col-sm-12">
202
+ <label class="font_normal_body">预约备注</label>
203
+ <input type="text" class="input_search" style="width: 90%" v-model="order.f_orderremark" readonly>
204
+ </div>
205
+ <div class="form-group col-sm-4">
206
+ <label class="font_normal_body">审&ensp;核&ensp;人</label>
207
+ <input type="text" class="input_search" v-model="order.f_check_user" readonly>
208
+ </div>
209
+ <div class="form-group col-sm-4">
210
+ <label class="font_normal_body">审核时间</label>
211
+ <input type="text" class="input_search" v-model="order.f_check_date" readonly>
212
+ </div>
213
+ <div class="form-group col-sm-12">
214
+ <label class="font_normal_body">审核备注</label>
215
+ <input type="text" class="input_search" style="width: 90%" v-model="order.f_check_remark" readonly>
216
+ </div>
217
+ <div class="form-group col-sm-4">
218
+ <label class="font_normal_body">处&ensp;理&ensp;人</label>
219
+ <input type="text" class="input_search" v-model="order.f_process_user" readonly>
220
+ </div>
221
+ <div class="form-group col-sm-4">
222
+ <label class="font_normal_body">处理时间</label>
223
+ <input type="text" class="input_search" v-model="order.f_process_date" readonly>
224
+ </div>
225
+ <div class="form-group col-sm-4">
226
+ <label class="font_normal_body">报建编号</label>
227
+ <input type="text" class="input_search" v-model="order.f_apply_num" readonly>
228
+ </div>
229
+
230
+ </article>
231
+ <footer slot="modal-footer" class="modal-footer">
232
+ </footer>
233
+ </modal>
234
+ </template>
235
+ <script>
236
+ import Vue from 'vue'
237
+ import {HttpResetClass} from 'vue-client'
238
+ export default {
239
+ title: '预约报建',
240
+ data () {
241
+ return {
242
+ showtotal: false, // 控制详细信息显示
243
+ showData: true,
244
+ selectedData: null,
245
+ showCheck: false,
246
+ checkOptions: [
247
+ {
248
+ label: '是',
249
+ value: '是'
250
+ },
251
+ {
252
+ label: '否',
253
+ value: '否'
254
+ }
255
+ ],
256
+ check: null,
257
+ checkRemark: null,
258
+ showType: false,
259
+ applyType: null,
260
+ showModal: null,
261
+ apply: {},
262
+ showApply: false,
263
+ applyList: [],
264
+ checkApply: null,
265
+ order: null,
266
+ showView: false
267
+ }
268
+ },
269
+ created () {
270
+ },
271
+ methods: {
272
+ async mergeApply () {
273
+ let data = {
274
+ selectedData: this.selectedData,
275
+ checkApply: this.checkApply,
276
+ user: this.$login.f
277
+ }
278
+
279
+ let res = await this.$resetpost(
280
+ `rs/logic/mergeApply`,
281
+ data,
282
+ {resolveMsg: null,rejectMsg: '合并工程处理失败!!!'}
283
+ )
284
+
285
+ this.$refs.query.search()
286
+
287
+ this.$showMessage(`报建编号:${res.data.f_apply_num}`)
288
+ },
289
+ async mergeInitiate () {
290
+ let data = {
291
+ selectedData: this.selectedData,
292
+ apply: this.apply,
293
+ user: this.$login.f
294
+ }
295
+
296
+ let res = await this.$resetpost(
297
+ `rs/logic/mergeInitiate`,
298
+ data,
299
+ {resolveMsg: null,rejectMsg: '合并发起处理失败!!!'}
300
+ )
301
+
302
+ this.$refs.query.search()
303
+ console.log("返回的id:" + res.data.actid)
304
+ console.log("返回的f_process_id:" + res.data.f_process_id)
305
+ let f_process_id = res.data.f_process_id
306
+ let id = res.data.actid
307
+ if (f_process_id) {
308
+ let data = {
309
+ id: id,
310
+ f_process_id: f_process_id,
311
+ actorperson: 'R(市场部负责人)',
312
+ username: this.$login.f.name,
313
+ userid: this.$login.f.id
314
+ }
315
+ let res = await this.$resetpost(
316
+ `rs/logic/addActorperson`,
317
+ {data: data},
318
+ {resolveMsg: null,rejectMsg: '增加操作人失败!!!'}
319
+ )
320
+ }
321
+ this.$showMessage(`报建编号:${res.data.f_apply_num}`)
322
+ },
323
+ async applyinstall () {
324
+ let data = {
325
+ f_apply_type: this.applyType,
326
+ selectedData: this.selectedData,
327
+ user: this.$login.f
328
+ }
329
+
330
+ if (this.applyType === '散户报建') {
331
+ data.defname = '用户受理'
332
+ data.processname = '散户报建流程'
333
+ } else if (this.applyType === '工业户报建') {
334
+ data.defname = '用户受理'
335
+ data.processname = '工商户报建流程'
336
+ } else if (this.applyType === '商业户报建') {
337
+ data.defname = '用户受理'
338
+ data.processname = '工商户报建流程'
339
+ } else if (this.applyType === '散户集体报建') {
340
+ data.defname = '用户受理'
341
+ data.processname = '散户集体报建流程'
342
+ } else if (this.applyType === '开发商集体报建') {
343
+ data.defname = '用户受理'
344
+ data.processname = '开发商集体报建流程'
345
+ } else if (this.applyType === '煤改气报建') {
346
+ data.defname = '用户受理'
347
+ data.processname = '散户集体报建流程'
348
+ } else {
349
+ this.$showMessage('暂无此类报装')
350
+ return
351
+ }
352
+
353
+ let res = await this.$resetpost(
354
+ `rs/logic/initiateOrderApply`,
355
+ data,
356
+ {resolveMsg: null,rejectMsg: '预约单处理失败!!!'}
357
+ )
358
+
359
+ this.closeModal()
360
+
361
+ this.$showMessage(`共发起${res.data.total}条报建工程\n成功:${res.data.success}\n失败:${res.data.failure}`)
362
+ },
363
+ async checkOrder () {
364
+ let data = {
365
+ selectedData: this.selectedData,
366
+ check: this.check,
367
+ checkRemark: this.checkRemark,
368
+ user: this.$login.f,
369
+ f_orderstate: "待处理"
370
+ }
371
+
372
+ let res = await this.$resetpost(
373
+ `rs/logic/apply_third_upBidding`,
374
+ {data:data},
375
+ {resolveMsg: null,rejectMsg: '预约单审核处理失败!!!'}
376
+ )
377
+
378
+ this.$refs.query.search()
379
+
380
+ this.$showMessage(`审核通过!!!`)
381
+ },
382
+ closeModal () {
383
+ this.showCheck = false
384
+ this.showType = false
385
+ this.showModal = false
386
+ this.showApply = false
387
+ this.showView = false
388
+
389
+
390
+ this.check = null
391
+ this.checkRemark = null
392
+ this.applyType = null
393
+ this.apply = null
394
+ this.applyList = []
395
+ this.checkApply = []
396
+ this.order = []
397
+ this.selectedData = null
398
+ this.$refs.query.selectedData = []
399
+ },
400
+ },
401
+ events: {
402
+ 'viewOrder' (row) {
403
+ this.order = row
404
+
405
+ this.showView = true
406
+ },
407
+ async 'handleOrder' (type, selectedData) {
408
+ this.selectedData = selectedData
409
+
410
+ if (type === '审核') {
411
+ this.showCheck = true
412
+ }
413
+ if (type === '批量发起') {
414
+ this.$showMessage('批量发起同一类型报建工程,建议所选预约单为同一类型、性质!!!', ['confirm']).then((res) => {
415
+ if (res === 'confirm') {
416
+ this.showType = true
417
+ }
418
+ })
419
+ }
420
+ if (type === '合并发起') {
421
+ this.apply = {
422
+ f_contact: this.selectedData[0].f_contact,
423
+ f_phone: this.selectedData[0].f_phone,
424
+ f_apply_count: this.selectedData.length
425
+ }
426
+ this.showModal = true
427
+ }
428
+ if (type === '合并工程') {
429
+ let data = {
430
+ tablename: 't_apply',
431
+ condition: `f_sub_state != '完工' and f_sub_state != '暂停' and f_sub_state != '终止' and f_apply_type = '散户集体报建' and f_orgid = ${this.$login.f.orgid}`
432
+ }
433
+ let res = await this.$resetpost(
434
+ 'rs/sql/singleTable',
435
+ {data: data},
436
+ {resolveMsg: null, rejectMsg: '工程查询失败!!!'}
437
+ )
438
+
439
+ res.data.forEach(item => {
440
+ this.applyList.push({
441
+ 'label': `${item.f_entry_name}`,
442
+ 'value': item
443
+ })
444
+ })
445
+
446
+ this.showApply = true
447
+ }
448
+
449
+ },
450
+ 'search' () {
451
+ this.closeModal()
452
+
453
+ // 关闭详细
454
+ this.showtotal = false
455
+ // 显示列表数据
456
+ this.showData = true
457
+ // 显示分页
458
+ this.$refs.query.$refs.cp.pager = true
459
+ // 调用查询
460
+ this.$refs.query.$refs.cp.$refs.cri.search()
461
+ }
462
+ },
463
+
464
+ watch: {
465
+ }
466
+ }
467
+ </script>
@@ -684,9 +684,8 @@
684
684
  },
685
685
  // 根据小区名称获取合同编号
686
686
  async getContractNumber() {
687
- console.log("进来了没有1")
688
687
  if (this.selectdata.defname == '申请登记') {
689
-
688
+ console.log("获取合同编号")
690
689
  for (let i = 0; i < this.show_data.fields.length; i++) {
691
690
  // console.log("进来了没有2")
692
691
  // console.log("选择框的名称:" + this.show_data.fields[i].label + "---小区名称的长度:" + this.show_data.fields[i].value.length)
@@ -847,16 +846,149 @@
847
846
 
848
847
 
849
848
 
850
- }
849
+ },
850
+ async stopApply () {
851
+ console.log('终止报建!!!!!')
852
+
853
+ if (this.show_data.defname === '报建受理') {
854
+ this.show_data.f_stop_reason = this.show_data.f_accept_result
855
+ }
856
+ if (this.show_data.defname === '现场勘察') {
857
+ this.show_data.f_stop_reason = this.show_data.f_project_describe
858
+ }
859
+ if(!this.show_data.f_stop_reason){
860
+ this.show_data.f_stop_reason = '终止'
861
+ }
862
+ let data = {
863
+ selectdata: this.show_data,
864
+ loginUser: this.$login.f,
865
+ model: {f_stop_remarks: this.show_data.f_stop_reason}
866
+ }
851
867
 
868
+ let res = await this.$resetpost(
869
+ `rs/logic/stopApply`,
870
+ {data: data},
871
+ {resolveMsg: null, rejectMsg: '终止报建失败!!!'}
872
+ )
873
+
874
+ this.$dispatch('selfsearch')
875
+
876
+ },
877
+ // 获取片区
878
+ async getPcd () {
879
+ let data = {
880
+ tablename: 't_pcd',
881
+ condition: `f_filialeid = '${this.$login.f.orgid}'`
882
+ }
883
+ let http = new HttpResetClass()
884
+ let res = await http.load(
885
+ 'POST',
886
+ `rs/sql/applysingleTable`,
887
+ {data: data},
888
+ {resolveMsg: null, rejectMsg: '片区查询失败!!!'}
889
+ )
890
+
891
+ let pcd = res.data.map(item => {
892
+ return {
893
+ label: item.f_pcd,
894
+ value: item.f_pcd
895
+ }
896
+ })
897
+ for (const item of this.show_data.fields) {
898
+ if (item.label === '片区') {
899
+ item.options = pcd
900
+ }
901
+ }
902
+ },
903
+ // 获取街道
904
+ async getStreet (){
905
+ let http = new HttpResetClass()
906
+ let condition = "f_filialeid = " + this.$login.f.orgid
907
+ let res = await http.load('POST','rs/logic/apply_queryArea',{data:{condition:condition}}, {resolveMsg: null, rejectMsg: null})
908
+ let street = res.data.queryStreet.map(item=>{
909
+ return {
910
+ label: item.f_street,
911
+ value: item.f_street
912
+ }
913
+ })
914
+ for (const item of this.show_data.fields) {
915
+ if (item.label === '街道') {
916
+ item.options = street
917
+ }
918
+ }
919
+ }
852
920
  },
853
921
  events: {
922
+ async 'updateArea' (index) {
923
+ if (this.show_data.fields[index].value === '新小区') {
924
+ console.log("测试小区",index)
925
+ for (const item of this.show_data.fields) {
926
+ if (item.label === '小区') {
927
+ item.value = ''
928
+ item.hidden = true
929
+ }
930
+ if (item.label === '小区名称') {
931
+ item.value = ''
932
+ item.hidden = false
933
+ }
934
+ }
935
+ } else {
936
+ for (const item of this.show_data.fields) {
937
+ if (item.label === '小区名称') {
938
+ item.value = ''
939
+ item.hidden = true
940
+ }
941
+ if (item.label === '小区') {
942
+ item.value = ''
943
+ item.hidden = false
944
+ }
945
+ }
946
+ }
947
+ },
948
+ 'confirmBuildFiles'(index){
949
+ if (this.show_data.fields[index].value === '否') {
950
+ for (const item of this.show_data.buttons){
951
+ if (item.button_name === '提交') {
952
+ item.disabled = true
953
+ }
954
+ }
955
+ }
956
+ },
957
+ 'buildArea'(){
958
+ if(this.show_data.f_area_type === '新小区'){
959
+ // this.getPcd()
960
+ this.getStreet()
961
+ for (const item of this.show_data.fields) {
962
+ if (item.label === '县/区') {
963
+ item.required = true
964
+ item.hidden = false
965
+ }
966
+ if (item.label === '街道') {
967
+ item.required = true
968
+ item.hidden = false
969
+ }
970
+ if (item.label === '片区') {
971
+ item.required = true
972
+ item.hidden = false
973
+ }
974
+ if (item.label === '小区名称') {
975
+ item.required = true
976
+ item.hidden = false
977
+ }
978
+ }
979
+ }
980
+ },
854
981
  test(i, j){
855
982
  console.log('删除')
856
983
  console.log(i + '-----' +j)
857
984
  },
858
985
  // 获取view层button事件/
859
986
  async 'button'(model) {
987
+ //before事件
988
+ console.log("当前按钮",model.button)
989
+ if (model.button.before) {
990
+ await this[model.button.before]()
991
+ }
860
992
  // 点击重置按钮就重置数据
861
993
  if (model.button.button_name === '重置') {
862
994
  this.refurbish()
@@ -950,6 +1082,7 @@
950
1082
  this.$refs.service_show.data.fields[index].label === '县/区' ||
951
1083
  this.$refs.service_show.data.fields[index].label === '街道' ||
952
1084
  this.$refs.service_show.data.fields[index].label === '小区' ||
1085
+ this.$refs.service_show.data.fields[index].label === '小区名称' ||
953
1086
  this.$refs.service_show.data.fields[index].label === '楼号' ||
954
1087
  this.$refs.service_show.data.fields[index].label === '单元号' ||
955
1088
  this.$refs.service_show.data.fields[index].label === '楼层' ||
@@ -967,7 +1100,7 @@
967
1100
  if (this.$refs.service_show.data.fields[i].label === '街道' && this.$refs.service_show.data.fields[i].value) {
968
1101
  address += this.$refs.service_show.data.fields[i].value
969
1102
  }
970
- if (this.$refs.service_show.data.fields[i].label === '小区' && this.$refs.service_show.data.fields[i].value) {
1103
+ if ((this.$refs.service_show.data.fields[i].label === '小区名称' || this.$refs.service_show.data.fields[i].label === '小区') && this.$refs.service_show.data.fields[i].value) {
971
1104
  address += this.$refs.service_show.data.fields[i].value
972
1105
  }
973
1106
  if (this.$refs.service_show.data.fields[i].label === '楼号' && this.$refs.service_show.data.fields[i].value) {
@@ -1497,10 +1497,14 @@
1497
1497
  this.load();
1498
1498
  this.closeFile();
1499
1499
  let mm = '';
1500
- for(var i=0;i<res.data.msg.length;i++){
1500
+ for(let i = 0; i < res.data.msg.length; i++){
1501
1501
  mm+= `${res.data.msg[i].msg}`
1502
1502
  }
1503
- let msg = `共导入${res.data.alllength}条,失败${res.data.errorlen}条,失败信息:${mm}`
1503
+ let worry = '';
1504
+ for(let j = 0; j < res.data.worry.length; j++){
1505
+ worry += `${res.data.worry[j].msg}`
1506
+ }
1507
+ let msg = `共导入${res.data.alllength}条,失败${res.data.errorlen}条,失败信息:${mm},提醒:${worry}`
1504
1508
  if (res.data.code == 500) {
1505
1509
  this.iswork=false;
1506
1510
  msg = res.data.msg
@@ -366,6 +366,9 @@
366
366
  created () {
367
367
  // 初始化数据
368
368
  this.initializtion()
369
+ if (this.data.readyEvent) {
370
+ this.$dispatch(this.data.readyEvent)
371
+ }
369
372
  },
370
373
  methods: {
371
374
  // 按钮模态框确定
@@ -399,6 +402,9 @@
399
402
  }
400
403
  buttondatas.button_name = button.button_name
401
404
  buttondatas.button_index = index
405
+ if (button.before){
406
+ buttondatas.before = button.before
407
+ }
402
408
  if (button.button_fields) {
403
409
  button.button_fields.forEach(item => {
404
410
  buttondatas.button_fields[item.field] = item.value
@@ -480,6 +486,10 @@
480
486
  check (index) {
481
487
  // 是否禁用按钮
482
488
  this.disableButton()
489
+ if (this.data.fields[index].onchange) {
490
+ console.log("当前onchange",this.data.fields[index].onchange)
491
+ this.$dispatch(this.data.fields[index].onchange, index)
492
+ }
483
493
 
484
494
  this.$dispatch('check', index)
485
495
  // 如果有错误信息提示走错误信息判断处理