apply-clients 3.4.98-2 → 3.4.98-21

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 (73) hide show
  1. package/build/dev-server.js +2 -10
  2. package/package.json +3 -2
  3. package/src/App.vue +6 -11
  4. package/src/applyAndroid.js +1 -0
  5. package/src/components/android/AppSign.vue +9 -10
  6. package/src/components/android/Ignition/VentilationIgnition.vue +312 -312
  7. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +353 -353
  8. package/src/components/android/Process/AppServiceControl.vue +1738 -1734
  9. package/src/components/product/ApplyCharge/ApplyChargeList.vue +476 -476
  10. package/src/components/product/Function/InstallInfoSelect.vue +326 -326
  11. package/src/components/product/Ignition/IgnitionListManage.vue +420 -420
  12. package/src/components/product/Install/ContractCharge.vue +210 -210
  13. package/src/components/product/Material/MaterialDetailed.vue +268 -268
  14. package/src/components/product/Material/Materiallist.vue +74 -74
  15. package/src/components/product/Material/Materialmanger.vue +58 -58
  16. package/src/components/product/Process/ExplorationSelect.vue +491 -491
  17. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +203 -203
  18. package/src/components/product/Process/Service/ServiceControl.vue +2 -2
  19. package/src/components/product/Process/ShowBackReason.vue +40 -40
  20. package/src/components/product/Stop/StopApplyList.vue +278 -278
  21. package/src/components/product/Supervisory/SupervisoryControl.vue +140 -140
  22. package/src/components/product/Supervisory/SupervisoryList.vue +27 -0
  23. package/src/filiale/gongyi/pc/ServiceControl.vue +1926 -0
  24. package/src/filiale/gongyi/pc.js +6 -0
  25. package/src/filiale/guzhou/pc/ServiceControl.vue +1926 -0
  26. package/src/filiale/guzhou/pc.js +6 -0
  27. package/src/filiale/hongda/pc/FunctionServiceControl.vue +21 -0
  28. package/src/filiale/hongda/pc/printChargepc.vue +114 -114
  29. package/src/filiale/hongda/pc/printactivatecard.vue +151 -151
  30. package/src/filiale/hongda/pc/printrefit.vue +3 -1
  31. package/src/filiale/huayinyihua/pc/StopApplyList.vue +271 -0
  32. package/src/filiale/huayinyihua/pc/SupervisoryList.vue +363 -0
  33. package/src/filiale/huayinyihua/pc.js +7 -0
  34. package/src/filiale/linzhou/pc/ApplyChargeList.vue +486 -486
  35. package/src/filiale/linzhou/pc/ServiceControl.vue +1968 -1968
  36. package/src/filiale/linzhou/pc/devicesManagement.vue +494 -494
  37. package/src/filiale/linzhou/pc.js +10 -10
  38. package/src/filiale/qianneng/android/AppAddMaterialScience.vue +477 -477
  39. package/src/filiale/qianneng/android/AppExplorationUser.vue +447 -447
  40. package/src/filiale/qianneng/android/AppServiceControl.vue +1608 -1608
  41. package/src/filiale/qianneng/android/AppServiceView.vue +761 -761
  42. package/src/filiale/qianneng/android/AppSign.vue +152 -152
  43. package/src/filiale/qianneng/android/AppTakePic.vue +140 -140
  44. package/src/filiale/qianneng/android.js +12 -12
  45. package/src/filiale/qianneng/pc/ApplyUpload.vue +290 -290
  46. package/src/filiale/qianneng/pc/Applybatchdispatch.vue +685 -685
  47. package/src/filiale/qianneng/pc/ExplorationUser.vue +189 -189
  48. package/src/filiale/qianneng/pc/InstallationDetails.vue +561 -561
  49. package/src/filiale/qianneng/pc/ServiceView.vue +1118 -1118
  50. package/src/filiale/qianneng/pc/SupervisoryList.vue +344 -344
  51. package/src/filiale/qianneng/pc/SupervisoryhCart.vue +127 -127
  52. package/src/filiale/qianneng/pc/addMaterialScience.vue +464 -464
  53. package/src/filiale/qianneng/pc/addressAndUserinfoManagement.vue +389 -389
  54. package/src/filiale/qianneng/pc/devicesManagement.vue +484 -484
  55. package/src/filiale/qianneng/pc/printactivatecard.vue +295 -295
  56. package/src/filiale/qianneng/pc.js +26 -26
  57. package/src/filiale/yangchunboneng/android/AppAddMaterialScience.vue +390 -0
  58. package/src/filiale/yangchunboneng/android/AppChargeManagement.vue +108 -0
  59. package/src/filiale/yangchunboneng/android/AppDevicesManagement.vue +552 -0
  60. package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +507 -0
  61. package/src/filiale/yangchunboneng/android/chargesList.vue +173 -0
  62. package/src/filiale/yangchunboneng/android.js +6 -0
  63. package/src/filiale/yangchunboneng/pc/ApplyChargeList.vue +594 -546
  64. package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +375 -375
  65. package/src/filiale/yangchunboneng/pc/ExplorationSelect.vue +469 -469
  66. package/src/filiale/yangchunboneng/pc/InstallInfoSelect.vue +364 -357
  67. package/src/filiale/yangchunboneng/pc/ServiceControl.vue +1739 -1734
  68. package/src/filiale/yangchunboneng/pc/ServiceView.vue +1004 -0
  69. package/src/filiale/yangchunboneng/pc/addMaterialScience.vue +374 -0
  70. package/src/filiale/yangchunboneng/pc/chargeManagement.vue +955 -1011
  71. package/src/filiale/yangchunboneng/pc/devicesManagement.vue +511 -0
  72. package/src/filiale/yangchunboneng/pc.js +16 -13
  73. package/src/main.js +1 -1
@@ -1,357 +1,364 @@
1
- <template>
2
- <div>
3
- <criteria-paged :model="model" v-ref:cp>
4
- <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
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
- <res-select
10
- restype='organization'
11
- :initresid='$parent.$parent.curorgid'
12
- @res-select="$parent.$parent.getorg"
13
- is-mul="false"
14
- ></res-select>
15
- </div>
16
- <div class="form-group col-sm-3">
17
- <label class="font_normal_body">工程编号:</label>
18
- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
19
- v-on:keyup.enter="$parent.$parent.search()"
20
- condition="f_apply_num like '%{}%'">
21
- </div>
22
- <div class="form-group col-sm-3">
23
- <label class="font_normal_body">客户名称:</label>
24
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
25
- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
26
- </div>
27
- <div class="form-group col-sm-3 button-range">
28
- <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
29
- <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
30
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
31
- <div
32
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
33
- @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
34
- class="button_spacing"
35
- style="float: right">
36
- </div>
37
- </div>
38
- </div>
39
- <div class="row" v-show="$parent.$parent.criteriaShow">
40
- <div class="form-group col-sm-3">
41
- <label class="font_normal_body">用户编号:</label>
42
- <input type="text" style="width:60%" class="input_search" placeholder='用户编号' v-model="model.f_userinfo_code"
43
- v-on:keyup.enter="$parent.$parent.search()"
44
- condition="f_userinfo_code like '%{}%'">
45
- </div>
46
- <div class="form-group col-sm-3">
47
- <label class="font_normal_body">联系电话:</label>
48
- <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
49
- v-on:keyup.enter="$parent.$parent.search()"
50
- condition="f_phone like '%{}%'">
51
- </div>
52
- <div class="form-group col-sm-3">
53
- <label class="font_normal_body">身份证号:</label>
54
- <input type="text" style="width:60%" class="input_search" placeholder='身份证号' v-model="model.f_idnumber"
55
- v-on:keyup.enter="$parent.$parent.search()"
56
- condition="f_idnumber like '%{}%'">
57
- </div>
58
- <div class="form-group col-sm-3">
59
- <label class="font_normal_body">合同编号:</label>
60
- <input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
61
- v-on:keyup.enter="$parent.$parent.search()"
62
- condition="f_contract_number = '{}'">
63
- </div>
64
- <div class="form-group col-sm-3">
65
- <label class="font_normal_body">报建类型:</label>
66
- <v-select
67
- v-model="model.f_apply_type"
68
- placeholder='报建类型'
69
- condition="f_apply_type = '{}'"
70
- :value.sync="model.f_apply_type"
71
- :options='$parent.$parent.applytype'
72
- class="select select_list"
73
- :value-single="true"
74
- @change="$parent.$parent.applyTypeChange()"
75
- close-on-select ></v-select>
76
- </div>
77
- <div class="form-group col-sm-3">
78
- <label class="font_normal_body">办理环节:</label>
79
- <v-select
80
- v-model="model.defname"
81
- placeholder='办理环节'
82
- condition="defname = '{}'"
83
- :value.sync="model.defname"
84
- :options='$parent.$parent.defnames'
85
- class="select select_list"
86
- :value-single="true"
87
- close-on-select ></v-select>
88
- </div>
89
- <div class="form-group col-sm-3">
90
- <label class="font_normal_body">报建性质:</label>
91
- <v-select
92
- v-model="model.f_apply_nature"
93
- placeholder='报建性质'
94
- condition="f_apply_nature = '{}'"
95
- :value.sync="model.f_apply_nature"
96
- :options='$parent.$parent.applyNatures'
97
- class="select select_list"
98
- :value-single="true"
99
- close-on-select ></v-select>
100
- </div>
101
- <div class="form-group col-sm-3">
102
- <label class="font_normal_body">用户地址:</label>
103
- <input type="text" style="width:60%" class="input_search" placeholder='用户地址' v-model="model.f_address"
104
- v-on:keyup.enter="$parent.$parent.search()"
105
- condition="f_address like '%{}%'">
106
- </div>
107
- <div class="form-group col-sm-3">
108
- <label for="startDate" class="font_normal_body">开始时间:</label>
109
- <datepicker id="startDate" placeholder="开始日期"
110
- style="width: 60%!important;"
111
- v-model="model.startDate"
112
- :value.sync="model.startDate"
113
- :format="'yyyy-MM-dd 00:00:00'"
114
- :show-reset-button="true"
115
- condition="f_apply_date >= '{}'">
116
- </datepicker>
117
- </div>
118
- <div class="form-group col-sm-3">
119
- <label for="endDate" class="font_normal_body">结束时间:</label>
120
- <datepicker id="endDate" placeholder="结束日期"
121
- style="width: 60%!important;"
122
- v-model="model.endDate"
123
- :value.sync="model.endDate"
124
- :format="'yyyy-MM-dd 23:59:59'"
125
- :show-reset-button="true"
126
- condition="f_apply_date <= '{}'">
127
- </datepicker>
128
- </div>
129
- <div class="form-group col-sm-3">
130
- <label class="font_normal_body">确认收款:</label>
131
- <v-select
132
- v-model="model.confirmtotal"
133
- placeholder='确认收款'
134
- :value.sync="model.confirmtotal"
135
- :options='$parent.$parent.confirmtotals'
136
- class="select select_list"
137
- :value-single="true"
138
- close-on-select ></v-select>
139
- </div>
140
- </div>
141
- </div>
142
- </criteria>
143
- <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy">
144
- <template partial='head'>
145
- <tr class="title">
146
- <th style="white-space: nowrap;">操作</th>
147
- <th style="white-space: nowrap;">序号</th>
148
- <th style="white-space: nowrap;">工程编号</th>
149
- <th style="white-space: nowrap;">客户名称</th>
150
- <th style="white-space: nowrap;">合同编号</th>
151
- <th style="white-space: nowrap;">电话</th>
152
- <th style="white-space: nowrap;">地址</th>
153
- <th style="white-space: nowrap;">身份证号</th>
154
- <th style="white-space: nowrap;">报建类型</th>
155
- <th style="white-space: nowrap;">办理环节</th>
156
- <th style="white-space: nowrap;">流程状态</th>
157
- <th style="white-space: nowrap;">报建日期</th>
158
- <th style="white-space: nowrap;">付款笔数</th>
159
- <th style="white-space: nowrap;">确认付款笔数</th>
160
- </tr>
161
- </template>
162
- <template partial='body'>
163
- <tr>
164
- <td style="text-align: center;">
165
- <dropdown>
166
- <button @click="$parent.$parent.$parent.checkfuncs(row)" type="button" data-toggle="dropdown" style="border: 0px;background: none;">
167
- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
168
- </button>
169
- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
170
- <li v-for="(index,func) in $parent.$parent.$parent.funcs" v-if="$parent.$parent.$parent.$parent.showFunc(func.personexpression)">
171
- <a href="#" @click="$parent.$parent.$parent.$parent.func(func,row)">{{func.title}}</a>
172
- </li>
173
- </ul>
174
- </dropdown>
175
- </td>
176
- <td style="text-align: center;">
177
- <nobr>{{$index+1}}</nobr>
178
- </td>
179
- <td style="text-align: center;">
180
- <nobr>{{row.f_apply_num}}</nobr>
181
- </td>
182
- <td style="text-align: center;">
183
- <nobr>{{row.f_user_name}}</nobr>
184
- </td>
185
- <td style="text-align: center;">
186
- <nobr>{{row.f_contract_number}}</nobr>
187
- </td>
188
- <td style="text-align: center;">
189
- <nobr>{{row.f_phone}}</nobr>
190
- </td>
191
- <td style="text-align: center;">
192
- <nobr>{{row.f_address}}</nobr>
193
- </td>
194
- <td style="text-align: center;">
195
- <nobr>{{row.f_idnumber}}</nobr>
196
- </td>
197
- <td style="text-align: center;">
198
- <nobr>{{row.f_apply_type}}</nobr>
199
- </td>
200
- <td style="text-align: center;">
201
- <nobr>{{row.defname}}</nobr>
202
- </td>
203
- <td style="text-align: center;">
204
- <nobr>{{row.f_sub_state}}</nobr>
205
- </td>
206
- <td style="text-align: center;">
207
- <nobr>{{row.f_apply_date}}</nobr>
208
- </td>
209
- <td style="text-align: center;">
210
- <nobr>{{row.total}}</nobr>
211
- </td>
212
- <td style="text-align: center;">
213
- <nobr>{{row.confirmtotal}}</nobr>
214
- </td>
215
-
216
- </tr>
217
- </template>
218
- </data-grid>
219
- </criteria-paged>
220
- </div>
221
- </template>
222
- <script>
223
- import {PagedList} from 'vue-client'
224
- import {isEmpty} from '../../../components/Util'
225
- export default {
226
- title: '报建业务信息',
227
- props: ['showData'],
228
- data () {
229
- return {
230
- model: new PagedList('rs/sql/checkuserfunction', 20, {
231
- data: {
232
- orgid: this.$login.f.orgid
233
- }
234
- }),
235
- funcs: [], // 功能列表
236
- curorgid: [this.$login.f.orgid],
237
- applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
238
- defnames: [{label: '全部', value: ''}], // 流程节点
239
- confirmtotals: [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}],
240
- applyNatures: [{label: '全部', value: ''}], // 报建性质
241
- criteriaShow: false
242
- }
243
- },
244
- ready () {
245
- // 调用查询
246
- this.search()
247
- },
248
- methods: {
249
- // 查询
250
- search () {
251
- this.$dispatch('search')
252
- },
253
- searchCondition (args) {
254
- if (args.model.confirmtotal){
255
- if (args.model.confirmtotal=='是'){
256
- args.condition += ' and total = confirmtotal'
257
- }else {
258
- args.condition += ' and (total > confirmtotal or total is null)'
259
- }
260
- }
261
- this.model.search(args.condition, args.model)
262
- },
263
- loadPage () {
264
- this.$dispatch('loadPage')
265
- },
266
- // 获取配置
267
- async checkfuncs (row) {
268
-
269
- this.funcs = []
270
- let functions = JSON.parse(JSON.stringify(this.$function_vue.functions))
271
-
272
- for (const item of functions) {
273
- // 显示类型
274
- if (item.showApplyTypes) {
275
- if (item.showApplyTypes.indexOf(row.f_apply_type) === -1) {
276
- continue
277
- }
278
- }
279
- // 显示节点
280
- if (item.showDefnames) {
281
- if (item.showDefnames.indexOf(row.defname) === -1) {
282
- continue
283
- }
284
- }
285
- // 显示设备
286
- if (item.device && item.device !== 'pc') {
287
- continue
288
- }
289
- // if (item.device || item.device !== 'pc') {
290
- // continue
291
- // }
292
- this.funcs.push(item)
293
- }
294
- },
295
- // 点击功能操作
296
- func (func, row) {
297
- this.$dispatch('func', func, row)
298
- },
299
- // 权限控制
300
- showFunc (personexpression) {
301
-
302
- if (isEmpty(personexpression)) {
303
- return true
304
- }
305
-
306
- let mark = personexpression.charAt(0)
307
-
308
- let str = personexpression.substring(2, personexpression.length-1)
309
-
310
- if (mark === 'D' && this.$login.f.f_department_name.includes(str)) {
311
- return true
312
- }
313
- if (mark === 'R' && this.$login.f.f_role_name.includes(str)) {
314
- return true
315
- }
316
- if (mark === 'P' && this.$login.f.id.includes(str)) {
317
- return true
318
- }
319
-
320
- return false
321
- },
322
- async applyTypeChange () {
323
- if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
324
- let res = await this.$resetpost('rs/logic/getDefnameByType',
325
- { f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type },
326
- {resolveMsg: null, rejectMsg: '节点信息获取失败!!!'}
327
- )
328
-
329
- this.defnames = [{label: '全部', value: ''}, ...res.data]
330
-
331
- this.applyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)]
332
- } else {
333
- this.defnames = [{label: '全部', value: ''}]
334
-
335
- this.applyNatures = [{label: '全部', value: ''}]
336
- }
337
- },
338
- clear () {
339
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
340
- this.$refs.cp.$refs.cri.model[key] = null
341
- })
342
- },
343
- getorg (val) {
344
- if (val.length <= 0) {
345
- return
346
- }
347
- this.model.params.data.orgid = val[0]
348
- }
349
- },
350
- computed: {
351
- },
352
- events: {
353
- }
354
- }
355
- </script>
356
- <style scoped>
357
- </style>
1
+ <template>
2
+ <div>
3
+ <criteria-paged :model="model" v-ref:cp>
4
+ <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
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
+ <res-select
10
+ restype='organization'
11
+ :initresid='$parent.$parent.curorgid'
12
+ @res-select="$parent.$parent.getorg"
13
+ is-mul="false"
14
+ ></res-select>
15
+ </div>
16
+ <div class="form-group col-sm-3">
17
+ <label class="font_normal_body">工程编号:</label>
18
+ <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
19
+ v-on:keyup.enter="$parent.$parent.search()"
20
+ condition="f_apply_num like '%{}%'">
21
+ </div>
22
+ <div class="form-group col-sm-3">
23
+ <label class="font_normal_body">客户名称:</label>
24
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
25
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
26
+ </div>
27
+ <div class="form-group col-sm-3 button-range">
28
+ <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
29
+ <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
30
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
31
+ <div
32
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
33
+ @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
34
+ class="button_spacing"
35
+ style="float: right">
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div class="row" v-show="$parent.$parent.criteriaShow">
40
+ <div class="form-group col-sm-3">
41
+ <label class="font_normal_body">用户编号:</label>
42
+ <input type="text" style="width:60%" class="input_search" placeholder='用户编号' v-model="model.f_userinfo_code"
43
+ v-on:keyup.enter="$parent.$parent.search()"
44
+ condition="f_userinfo_code like '%{}%'">
45
+ </div>
46
+ <div class="form-group col-sm-3">
47
+ <label class="font_normal_body">联系电话:</label>
48
+ <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
49
+ v-on:keyup.enter="$parent.$parent.search()"
50
+ condition="f_phone like '%{}%'">
51
+ </div>
52
+ <div class="form-group col-sm-3">
53
+ <label class="font_normal_body">身份证号:</label>
54
+ <input type="text" style="width:60%" class="input_search" placeholder='身份证号' v-model="model.f_idnumber"
55
+ v-on:keyup.enter="$parent.$parent.search()"
56
+ condition="f_idnumber like '%{}%'">
57
+ </div>
58
+ <div class="form-group col-sm-3">
59
+ <label class="font_normal_body">合同编号:</label>
60
+ <input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
61
+ v-on:keyup.enter="$parent.$parent.search()"
62
+ condition="f_contract_number = '{}'">
63
+ </div>
64
+ <div class="form-group col-sm-3">
65
+ <label class="font_normal_body">报建类型:</label>
66
+ <v-select
67
+ v-model="model.f_apply_type"
68
+ placeholder='报建类型'
69
+ condition="f_apply_type = '{}'"
70
+ :value.sync="model.f_apply_type"
71
+ :options='$parent.$parent.applytype'
72
+ class="select select_list"
73
+ :value-single="true"
74
+ @change="$parent.$parent.applyTypeChange()"
75
+ close-on-select ></v-select>
76
+ </div>
77
+ <div class="form-group col-sm-3">
78
+ <label class="font_normal_body">办理环节:</label>
79
+ <v-select
80
+ v-model="model.defname"
81
+ placeholder='办理环节'
82
+ condition="defname = '{}'"
83
+ :value.sync="model.defname"
84
+ :options='$parent.$parent.defnames'
85
+ class="select select_list"
86
+ :value-single="true"
87
+ close-on-select ></v-select>
88
+ </div>
89
+ <div class="form-group col-sm-3">
90
+ <label class="font_normal_body">报建性质:</label>
91
+ <v-select
92
+ v-model="model.f_apply_nature"
93
+ placeholder='报建性质'
94
+ condition="f_apply_nature = '{}'"
95
+ :value.sync="model.f_apply_nature"
96
+ :options='$parent.$parent.applyNatures'
97
+ class="select select_list"
98
+ :value-single="true"
99
+ close-on-select ></v-select>
100
+ </div>
101
+ <div class="form-group col-sm-3">
102
+ <label class="font_normal_body">用户地址:</label>
103
+ <input type="text" style="width:60%" class="input_search" placeholder='用户地址' v-model="model.f_address"
104
+ v-on:keyup.enter="$parent.$parent.search()"
105
+ condition="f_address like '%{}%'">
106
+ </div>
107
+ <div class="form-group col-sm-3">
108
+ <label for="startDate" class="font_normal_body">开始时间:</label>
109
+ <datepicker id="startDate" placeholder="开始日期"
110
+ style="width: 60%!important;"
111
+ v-model="model.startDate"
112
+ :value.sync="model.startDate"
113
+ :format="'yyyy-MM-dd 00:00:00'"
114
+ :show-reset-button="true"
115
+ condition="f_apply_date >= '{}'">
116
+ </datepicker>
117
+ </div>
118
+ <div class="form-group col-sm-3">
119
+ <label for="endDate" class="font_normal_body">结束时间:</label>
120
+ <datepicker id="endDate" placeholder="结束日期"
121
+ style="width: 60%!important;"
122
+ v-model="model.endDate"
123
+ :value.sync="model.endDate"
124
+ :format="'yyyy-MM-dd 23:59:59'"
125
+ :show-reset-button="true"
126
+ condition="f_apply_date <= '{}'">
127
+ </datepicker>
128
+ </div>
129
+ <div class="form-group col-sm-3">
130
+ <label class="font_normal_body">确认收款:</label>
131
+ <v-select
132
+ v-model="model.confirmtotal"
133
+ placeholder='确认收款'
134
+ :value.sync="model.confirmtotal"
135
+ :options='$parent.$parent.confirmtotals'
136
+ class="select select_list"
137
+ :value-single="true"
138
+ close-on-select ></v-select>
139
+ </div>
140
+ </div>
141
+ </div>
142
+ </criteria>
143
+ <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy">
144
+ <template partial='head'>
145
+ <tr class="title">
146
+ <th style="white-space: nowrap;">操作</th>
147
+ <th style="white-space: nowrap;">序号</th>
148
+ <th style="white-space: nowrap;">工程编号</th>
149
+ <th style="white-space: nowrap;">客户名称</th>
150
+ <th style="white-space: nowrap;">合同编号</th>
151
+ <th style="white-space: nowrap;">电话</th>
152
+ <th style="white-space: nowrap;">地址</th>
153
+ <th style="white-space: nowrap;">身份证号</th>
154
+ <th style="white-space: nowrap;">报建类型</th>
155
+ <th style="white-space: nowrap;">办理环节</th>
156
+ <th style="white-space: nowrap;">流程状态</th>
157
+ <th style="white-space: nowrap;">报建日期</th>
158
+ <th style="white-space: nowrap;">付款笔数</th>
159
+ <th style="white-space: nowrap;">确认付款笔数</th>
160
+ <th style="white-space: nowrap;">合同金额</th>
161
+ <th style="white-space: nowrap;">缴费金额</th>
162
+ </tr>
163
+ </template>
164
+ <template partial='body'>
165
+ <tr>
166
+ <td style="text-align: center;">
167
+ <dropdown>
168
+ <button @click="$parent.$parent.$parent.checkfuncs(row)" type="button" data-toggle="dropdown" style="border: 0px;background: none;">
169
+ <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
170
+ </button>
171
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-left">
172
+ <li v-for="(index,func) in $parent.$parent.$parent.funcs" v-if="$parent.$parent.$parent.$parent.showFunc(func.personexpression)">
173
+ <a href="#" @click="$parent.$parent.$parent.$parent.func(func,row)">{{func.title}}</a>
174
+ </li>
175
+ </ul>
176
+ </dropdown>
177
+ </td>
178
+ <td style="text-align: center;">
179
+ <nobr>{{$index+1}}</nobr>
180
+ </td>
181
+ <td style="text-align: center;">
182
+ <nobr>{{row.f_apply_num}}</nobr>
183
+ </td>
184
+ <td style="text-align: center;">
185
+ <nobr>{{row.f_user_name}}</nobr>
186
+ </td>
187
+ <td style="text-align: center;">
188
+ <nobr>{{row.f_contract_number}}</nobr>
189
+ </td>
190
+ <td style="text-align: center;">
191
+ <nobr>{{row.f_phone}}</nobr>
192
+ </td>
193
+ <td style="text-align: center;">
194
+ <nobr>{{row.f_address}}</nobr>
195
+ </td>
196
+ <td style="text-align: center;">
197
+ <nobr>{{row.f_idnumber}}</nobr>
198
+ </td>
199
+ <td style="text-align: center;">
200
+ <nobr>{{row.f_apply_type}}</nobr>
201
+ </td>
202
+ <td style="text-align: center;">
203
+ <nobr>{{row.defname}}</nobr>
204
+ </td>
205
+ <td style="text-align: center;">
206
+ <nobr>{{row.f_sub_state}}</nobr>
207
+ </td>
208
+ <td style="text-align: center;">
209
+ <nobr>{{row.f_apply_date}}</nobr>
210
+ </td>
211
+ <td style="text-align: center;">
212
+ <nobr>{{row.total}}</nobr>
213
+ </td>
214
+ <td style="text-align: center;">
215
+ <nobr>{{row.confirmtotal}}</nobr>
216
+ </td>
217
+ <td style="text-align: center;">
218
+ <nobr>{{row.f_contract_money}}</nobr>
219
+ </td>
220
+ <td style="text-align: center;">
221
+ <nobr>{{row.f_charge_money}}</nobr>
222
+ </td>
223
+ </tr>
224
+ </template>
225
+ </data-grid>
226
+ </criteria-paged>
227
+ </div>
228
+ </template>
229
+ <script>
230
+ import {PagedList} from 'vue-client'
231
+ import {isEmpty} from '../../../components/Util'
232
+ export default {
233
+ title: '报建业务信息',
234
+ props: ['showData'],
235
+ data () {
236
+ return {
237
+ model: new PagedList('rs/sql/checkuserfunction', 20, {
238
+ data: {
239
+ orgid: this.$login.f.orgid
240
+ }
241
+ }),
242
+ funcs: [], // 功能列表
243
+ curorgid: [this.$login.f.orgid],
244
+ applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
245
+ defnames: [{label: '全部', value: ''}], // 流程节点
246
+ confirmtotals: [{label: '全部', value: ''},{label: '是', value: '是'},{label: '否', value: '否'}],
247
+ applyNatures: [{label: '全部', value: ''}], // 报建性质
248
+ criteriaShow: false
249
+ }
250
+ },
251
+ ready () {
252
+ // 调用查询
253
+ this.search()
254
+ },
255
+ methods: {
256
+ // 查询
257
+ search () {
258
+ this.$dispatch('search')
259
+ },
260
+ searchCondition (args) {
261
+ if (args.model.confirmtotal){
262
+ if (args.model.confirmtotal=='是'){
263
+ args.condition += ' and total = confirmtotal'
264
+ }else {
265
+ args.condition += ' and (total > confirmtotal or total is null)'
266
+ }
267
+ }
268
+ this.model.search(args.condition, args.model)
269
+ },
270
+ loadPage () {
271
+ this.$dispatch('loadPage')
272
+ },
273
+ // 获取配置
274
+ async checkfuncs (row) {
275
+
276
+ this.funcs = []
277
+ let functions = JSON.parse(JSON.stringify(this.$function_vue.functions))
278
+
279
+ for (const item of functions) {
280
+ // 显示类型
281
+ if (item.showApplyTypes) {
282
+ if (item.showApplyTypes.indexOf(row.f_apply_type) === -1) {
283
+ continue
284
+ }
285
+ }
286
+ // 显示节点
287
+ if (item.showDefnames) {
288
+ if (item.showDefnames.indexOf(row.defname) === -1) {
289
+ continue
290
+ }
291
+ }
292
+ // 显示设备
293
+ if (item.device && item.device !== 'pc') {
294
+ continue
295
+ }
296
+ // if (item.device || item.device !== 'pc') {
297
+ // continue
298
+ // }
299
+ this.funcs.push(item)
300
+ }
301
+ },
302
+ // 点击功能操作
303
+ func (func, row) {
304
+ this.$dispatch('func', func, row)
305
+ },
306
+ // 权限控制
307
+ showFunc (personexpression) {
308
+
309
+ if (isEmpty(personexpression)) {
310
+ return true
311
+ }
312
+
313
+ let mark = personexpression.charAt(0)
314
+
315
+ let str = personexpression.substring(2, personexpression.length-1)
316
+
317
+ if (mark === 'D' && this.$login.f.f_department_name.includes(str)) {
318
+ return true
319
+ }
320
+ if (mark === 'R' && this.$login.f.f_role_name.includes(str)) {
321
+ return true
322
+ }
323
+ if (mark === 'P' && this.$login.f.id.includes(str)) {
324
+ return true
325
+ }
326
+
327
+ return false
328
+ },
329
+ async applyTypeChange () {
330
+ if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
331
+ let res = await this.$resetpost('rs/logic/getDefnameByType',
332
+ { f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type },
333
+ {resolveMsg: null, rejectMsg: '节点信息获取失败!!!'}
334
+ )
335
+
336
+ this.defnames = [{label: '全部', value: ''}, ...res.data]
337
+
338
+ this.applyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)]
339
+ } else {
340
+ this.defnames = [{label: '全部', value: ''}]
341
+
342
+ this.applyNatures = [{label: '全部', value: ''}]
343
+ }
344
+ },
345
+ clear () {
346
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
347
+ this.$refs.cp.$refs.cri.model[key] = null
348
+ })
349
+ },
350
+ getorg (val) {
351
+ if (val.length <= 0) {
352
+ return
353
+ }
354
+ this.model.params.data.orgid = val[0]
355
+ }
356
+ },
357
+ computed: {
358
+ },
359
+ events: {
360
+ }
361
+ }
362
+ </script>
363
+ <style scoped>
364
+ </style>