apply-clients 7.1.36-yuchuan-41 → 7.1.36-yuchuan-42

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 (68) hide show
  1. package/android.html +27 -27
  2. package/build/dev-server.js +172 -192
  3. package/package.json +119 -119
  4. package/src/apply.js +163 -163
  5. package/src/applyAndroid.js +98 -98
  6. package/src/components/android/AppSign.vue +232 -232
  7. package/src/components/android/Ignition/VentilationIgnition.vue +408 -408
  8. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +472 -472
  9. package/src/components/android/Process/AppExplorationUser.vue +454 -454
  10. package/src/components/android/Process/AppServiceControl.vue +1434 -1434
  11. package/src/components/android/Process/Processes/AppInstallationDetails.vue +1018 -1018
  12. package/src/components/android/Process/Processes/newAppInstallationDetails.vue +671 -671
  13. package/src/components/android/SealManage.vue +278 -278
  14. package/src/components/android/Sign/AppSignTask.vue +183 -183
  15. package/src/components/android/Supervisory/AppProcessSupervisory.vue +344 -344
  16. package/src/components/android/Task/Build/BuildTsak.vue +117 -117
  17. package/src/components/android/Task/BuildIgnition/BuildIgnition.vue +114 -114
  18. package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +317 -317
  19. package/src/components/android/Task/RepairFromSend/RepairFrom.vue +124 -124
  20. package/src/components/android/Task/RepairFromSend/RepairSend.vue +124 -124
  21. package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +431 -431
  22. package/src/components/android/Task/Survey/SurveyTsak.vue +141 -141
  23. package/src/components/android/Task/yiban/AppShowDone.vue +442 -442
  24. package/src/components/android/newPackage/customerServiceManager.vue +218 -218
  25. package/src/components/android/newPackage/projectPrice.vue +218 -218
  26. package/src/components/product/ApplyCharge/ApplyChargeList.vue +1101 -1101
  27. package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +325 -325
  28. package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +142 -142
  29. package/src/components/product/ApplyGuanXian/GuanXianSupervisoryhCart.vue +119 -119
  30. package/src/components/product/ApplyMap/AppMapLocation.vue +829 -829
  31. package/src/components/product/ApplyMap/ApplyMapInputSearch.vue +335 -335
  32. package/src/components/product/Function/InstallFunction.vue +132 -132
  33. package/src/components/product/Function/InstallInfoSelect.vue +374 -374
  34. package/src/components/product/GongJianPush/ApplyPushDispose.vue +12 -10
  35. package/src/components/product/GongJianPush/ApplyPushManage.vue +91 -91
  36. package/src/components/product/Ignition/IgnitionDispatch.vue +90 -90
  37. package/src/components/product/Ignition/IgnitionListManage.vue +604 -604
  38. package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
  39. package/src/components/product/InsuranceApply/InsuranceReport.vue +188 -188
  40. package/src/components/product/List/OldShowDevices.vue +271 -271
  41. package/src/components/product/List/ShowAllActivity.vue +541 -541
  42. package/src/components/product/List/ShowDevices.vue +279 -279
  43. package/src/components/product/Print/BuildOrder/buildOrderList.vue +446 -446
  44. package/src/components/product/Process/ExplorationSelect.vue +593 -593
  45. package/src/components/product/Process/ExplorationUser.vue +154 -154
  46. package/src/components/product/Process/New1ExplorationUser.vue +196 -196
  47. package/src/components/product/Process/NewExplorationSelect.vue +587 -587
  48. package/src/components/product/Process/NewExplorationUser.vue +216 -216
  49. package/src/components/product/Process/Processes/InstallationDetails.vue +1159 -1159
  50. package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
  51. package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
  52. package/src/components/product/Process/Processes/chargeManagement.vue +703 -703
  53. package/src/components/product/Process/Processes/selectApply.vue +250 -250
  54. package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +230 -230
  55. package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -241
  56. package/src/components/product/Process/Processes/selectUserinfo.vue +234 -234
  57. package/src/components/product/Process/Service/ServiceControl.vue +2216 -2216
  58. package/src/components/product/ServiceView.vue +644 -644
  59. package/src/components/product/Stop/StopApplyList.vue +224 -224
  60. package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -175
  61. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +593 -593
  62. package/src/components/product/Supervisory/SupervisoryControl.vue +114 -114
  63. package/src/components/product/Supervisory/SupervisoryList.vue +580 -580
  64. package/src/components/product/Supervisory/SupervisoryhCart.vue +120 -120
  65. package/src/components/product/Supervisory/YiBanSupervisoryControl.vue +111 -111
  66. package/src/components/product/Supervisory/YiBanSupervisoryList.vue +539 -539
  67. package/src/components/product/VueUtils/ApplyUpload.vue +303 -303
  68. package/src/main.js +27 -27
@@ -1,593 +1,593 @@
1
- <template>
2
- <div class="tab2">
3
- <!-- 代办业务 -->
4
- <criteria-paged :model="model" v-ref:cp>
5
- <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
6
- <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
- <div class="row">
8
- <div class="form-group col-sm-2">
9
- <label class="font_normal_body"><strong>工程编号:</strong></label>
10
- <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
11
- v-on:keyup.enter="$parent.$parent.search()"
12
- condition="u.f_apply_num like '%{}%'">
13
- </div>
14
- <div class="form-group col-sm-2">
15
- <label class="font_normal_body"><strong>客户名称:</strong></label>
16
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
17
- v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
18
- </div>
19
- <div class="form-group col-sm-2">
20
- <label class="font_normal_body"><strong>联系电话:</strong></label>
21
- <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
22
- v-on:keyup.enter="$parent.$parent.search()"
23
- condition="f_phone like '%{}%'">
24
- </div>
25
- <div class="form-group col-sm-2">
26
- <label class="font_normal_body"><strong>联&ensp;系&ensp;人:</strong></label>
27
- <input type="text" style="width:60%" class="input_search" v-model="model.f_contact"
28
- v-on:keyup.enter="$parent.$parent.search()" condition="f_contact like '%{}%'" placeholder='联系人'>
29
- </div>
30
- <div class="form-group col-sm-3 button-range">
31
- <button class="button_new button_spacing" style="width: max-content"
32
- v-if="$parent.$parent.projectStart"
33
- @click="$parent.$parent.apply()">工程发起</button>
34
- <export-excel :data="$parent.$parent.getCondition"
35
- :field="$parent.$parent.getfield"
36
- sqlurl="rs/logic/applyExportfile"
37
- sql-name="checkuserExcel"
38
- template-name='报建待办信息导出'
39
- :choose-col="true"></export-excel>
40
- <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
41
- <!-- <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>-->
42
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
- <div
44
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
45
- @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
46
- class="button_spacing"
47
- style="float: right">
48
- </div>
49
- </div>
50
- </div>
51
- <div class="row" v-show="$parent.$parent.criteriaShow">
52
- <div class="form-group col-sm-2">
53
- <label class="font_normal_body"><strong>合同编号:</strong></label>
54
- <input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
55
- v-on:keyup.enter="$parent.$parent.search()"
56
- condition="f_contract_number like '%{}%'">
57
- </div>
58
- <div class="form-group col-sm-2">
59
- <label class="font_normal_body"><strong>报建类型:</strong></label>
60
- <v-select
61
- v-model="model.f_apply_type"
62
- placeholder='报建类型'
63
- condition="u.f_apply_type in {}"
64
- :value.sync="model.f_apply_type"
65
- :options='$parent.$parent.applytype'
66
- class="select select_list"
67
- multiple
68
- @change="$parent.$parent.applyTypeChange()" ></v-select>
69
- </div>
70
- <div class="form-group col-sm-2">
71
- <label class="font_normal_body"><strong>办理环节:</strong></label>
72
- <v-select
73
- v-model="model.defname"
74
- placeholder='办理环节'
75
- condition="act.defname = '{}'"
76
- :value.sync="model.defname"
77
- :options='$parent.$parent.defnames'
78
- class="select select_list"
79
- :value-single="true"
80
- close-on-select ></v-select>
81
- </div>
82
- <div class="form-group col-sm-2">
83
- <label class="font_normal_body"><strong>报建性质:</strong></label>
84
- <v-select
85
- v-model="model.f_apply_nature"
86
- placeholder='报建性质'
87
- condition="f_apply_nature = '{}'"
88
- :value.sync="model.f_apply_nature"
89
- :options='$parent.$parent.applyNatures'
90
- class="select select_list"
91
- :value-single="true"
92
- close-on-select ></v-select>
93
- </div>
94
- <div class="form-group col-sm-2">
95
- <label class="font_normal_body"><strong>用户分类:</strong></label>
96
- <v-select
97
- v-model="model.f_user_classification"
98
- placeholder='用户分类'
99
- condition="f_user_classification = '{}'"
100
- :value.sync="model.f_user_classification"
101
- :options='$parent.$parent.UserList'
102
- class="select select_list"
103
- :value-single="true"
104
- close-on-select ></v-select>
105
- </div>
106
- <div class="form-group col-sm-2">
107
- <label class="font_normal_body"><strong>用户类型:</strong></label>
108
- <v-select
109
- v-model="model.f_user_type"
110
- placeholder='普通/煤改'
111
- condition="f_user_type = '{}'"
112
- :value.sync="model.f_user_type"
113
- :options='$parent.$parent.UserType'
114
- class="select select_list"
115
- :value-single="true"
116
- close-on-select ></v-select>
117
- </div>
118
- <div class="form-group col-sm-2">
119
- <label class="font_normal_body"><strong>设计人员:</strong></label>
120
- <v-select class="select select_list"
121
- placeholder='设计人员'
122
- v-model="model.f_designer_people"
123
- :value.sync="model.f_designer_people"
124
- :options='$parent.$parent.designerPeoples'
125
- :value-single="true"
126
- close-on-select
127
- condition="f_designer_people = '{}'">
128
- </v-select>
129
- </div>
130
- <div class="form-group col-sm-2">
131
- <label class="font_normal_body"><strong>用户地址:</strong></label>
132
- <input type="text" style="width:60%" class="input_search" placeholder='用户地址' v-model="model.f_address"
133
- v-on:keyup.enter="$parent.$parent.search()"
134
- condition="f_address like '%{}%'">
135
- </div>
136
- <!-- <div class="form-group col-sm-2">-->
137
- <!-- <label class="font_normal_body">日期类型:</label>-->
138
- <!-- <v-select class="select select_list"-->
139
- <!-- placeholder='日期类型'-->
140
- <!-- v-model="model.f_date_type"-->
141
- <!-- :value.sync="model.f_date_type"-->
142
- <!-- :options='$parent.$parent.dateType'-->
143
- <!-- :value-single="true"-->
144
- <!-- @change="$parent.$parent.updateDateType()"-->
145
- <!-- close-on-select>-->
146
- <!-- </v-select>-->
147
- <!-- </div>-->
148
- <div class="form-group col-sm-2">
149
- <label for="startDate" class="font_normal_body"><strong>开始时间:</strong></label>
150
- <datepicker id="startDate" placeholder="开始日期"
151
- style="width: 60%!important;"
152
- v-model="model.startDate"
153
- :value.sync="model.startDate"
154
- :format="'yyyy-MM-dd 00:00:00'"
155
- :show-reset-button="true"
156
- condition="sendtime >= '{}'">
157
- </datepicker>
158
- </div>
159
- <div class="form-group col-sm-2">
160
- <label for="endDate" class="font_normal_body"><strong>结束时间:</strong></label>
161
- <datepicker id="endDate" placeholder="结束日期"
162
- style="width: 60%!important;"
163
- v-model="model.endDate"
164
- :value.sync="model.endDate"
165
- :format="'yyyy-MM-dd 23:59:59'"
166
- :show-reset-button="true"
167
- condition="sendtime <= '{}'">
168
- </datepicker>
169
- </div>
170
- <div class="form-group col-sm-2">
171
- <label class="font_normal_body"><strong>来&emsp;&emsp;源:</strong></label>
172
- <v-select
173
- v-model="model.f_apply_source"
174
- placeholder='来源'
175
- condition="u.f_apply_source = '{}'"
176
- :value.sync="model.f_apply_source"
177
- :options='$parent.$parent.sources'
178
- class="select select_list"
179
- :value-single="true"
180
- close-on-select >
181
- </v-select>
182
- </div>
183
- <div class="form-group col-sm-2">
184
- <label class="font_normal_body"><strong>保存状态:</strong></label>
185
- <v-select
186
- v-model="model.f_sub_save_state"
187
- placeholder='保存状态'
188
- condition="u.f_sub_save_state = '{}'"
189
- :value.sync="model.f_sub_save_state"
190
- :options='$parent.$parent.save_states'
191
- class="select select_list"
192
- :value-single="true"
193
- close-on-select >
194
- </v-select>
195
- </div>
196
- <div class="form-group col-sm-2">
197
- <label class="font_normal_body"><strong>新旧报建:</strong></label>
198
- <v-select
199
- v-model="model.f_house_type"
200
- placeholder='新旧报建'
201
- condition="u.f_house_type {}"
202
- :value.sync="model.f_house_type"
203
- :options='$parent.$parent.houseType'
204
- class="select select_list"
205
- :value-single="true"
206
- close-on-select >
207
- </v-select>
208
- </div>
209
- </div>
210
- </div>
211
- </criteria>
212
- <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
213
- <template partial='head'>
214
- <tr>
215
- <th style="white-space: nowrap;">序号</th>
216
- <th style="white-space: nowrap;">完成状态</th>
217
- <th style="white-space: nowrap;">工程编号</th>
218
- <th style="white-space: nowrap;">客户名称</th>
219
- <th style="white-space: nowrap;">联系人</th>
220
- <th style="white-space: nowrap;">电话</th>
221
- <th style="white-space: nowrap;">地址</th>
222
- <th style="white-space: nowrap;">合同编号</th>
223
- <th style="white-space: nowrap;">报建类型</th>
224
- <th style="white-space: nowrap;">报建性质</th>
225
- <th style="white-space: nowrap;">用户类型</th>
226
- <th style="white-space: nowrap;">办理环节</th>
227
- <th style="white-space: nowrap;">安装户数</th>
228
- <th style="white-space: nowrap;">设计人员</th>
229
- <th style="white-space: nowrap;">来源</th>
230
- <th style="white-space: nowrap;">流程状态</th>
231
- <th style="white-space: nowrap;">流程开始时间</th>
232
- </tr>
233
- </template>
234
- <template partial='body'>
235
- <tr >
236
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
237
- <nobr><font>{{$index+1}}</font></nobr>
238
- </td>
239
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
240
- <nobr><font>{{row.f_sub_save_state}}</font></nobr>
241
- </td>
242
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
243
- <nobr><font>{{row.f_apply_num}}</font></nobr>
244
- </td>
245
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
246
- <nobr><font>{{row.f_user_name}}</font></nobr>
247
- </td>
248
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
249
- <nobr><font>{{row.f_contact}}</font></nobr>
250
- </td>
251
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
252
- <nobr><font>{{row.f_phone}}</font></nobr>
253
- </td>
254
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
255
- <nobr><font>{{row.f_address}}</font></nobr>
256
- </td>
257
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
258
- <nobr><font>{{row.f_contract_number}}</font></nobr>
259
- </td>
260
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
261
- <nobr><font>{{row.f_apply_type}}</font></nobr>
262
- </td>
263
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
264
- <nobr><font>{{row.f_apply_nature}}</font></nobr>
265
- </td>
266
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
267
- <nobr><font>{{row.f_user_type}}</font></nobr>
268
- </td>
269
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
270
- <nobr><font>{{row.defname}}</font></nobr>
271
- </td>
272
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
273
- <nobr><font>{{row.f_install_count}}</font></nobr>
274
- </td>
275
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
276
- <nobr><font>{{row.f_designer_people}}</font></nobr>
277
- </td>
278
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
279
- <nobr><font>{{row.f_apply_source}}</font></nobr>
280
- </td>
281
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
282
- <nobr><font>{{row.f_sub_state}}</font></nobr>
283
- </td>
284
- <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
285
- <nobr><font>{{row.sendtime}}</font></nobr>
286
- </td>
287
- <!-- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">-->
288
- <!-- <dropdown>-->
289
- <!-- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">-->
290
- <!-- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>-->
291
- <!-- </button>-->
292
- <!-- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">-->
293
- <!-- <li>-->
294
- <!-- <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>-->
295
- <!-- </li>-->
296
- <!-- </ul>-->
297
- <!-- </dropdown>-->
298
- <!-- </td>-->
299
- </tr>
300
- </template>
301
- </data-grid>
302
- </criteria-paged>
303
-
304
- <modal
305
- v-if="showModal"
306
- :show.sync="showModal"
307
- backdrop="false"
308
- title="工程类型"
309
- cancel-text="取消"
310
- ok-text="确认"
311
- :callback="apply"
312
- >
313
- <div class="form-horizontal" slot="modal-body">
314
- <div class="form-group" style="margin: 10px auto">
315
- <label class="col-sm-3 control-label">报建类型:</label>
316
- <div class="col-sm-9">
317
- <v-select
318
- v-model="applyType"
319
- placeholder='请选择需要发起的工程类型'
320
- :value.sync="applyType"
321
- :options='$appdata.getParam("报建类型")'
322
- :value-single="true"
323
- class="select select_list"
324
- :search="false"
325
- close-on-select ></v-select>
326
- </div>
327
- </div>
328
- </div>
329
- </modal>
330
- </div>
331
- </template>
332
- <script>
333
- import {HttpResetClass, PagedList} from 'vue-client'
334
- import {isEmpty} from '../../Util'
335
-
336
- export default {
337
- title: '工程列表',
338
- props: ['showData', 'dataname'],
339
- data () {
340
- return {
341
- model: new PagedList('rs/sql/checkuser', 20, {
342
- data: {
343
- userid: this.$login.f.id,
344
- f_filiale: "榆林."+this.$login.f.orgs
345
- }
346
- }),
347
- showModal: false, // 控制发起类型选择
348
- applyType: this.dataname, // 报建类型
349
- applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')?this.$appdata.getParam('报建类型'):[]],
350
- defnames: isEmpty(this.$appdata.getParam('办理环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('办理环节')?this.$appdata.getParam('办理环节'):[]], // 流程节点
351
- applyNatures: [{label: '全部', value: ''},{label: '工业', value: '工业'},{label: '商业', value: '商业'},{label: '散户', value: '散户'},{label: '小区', value: '小区'},{label: '分户挂表', value: '分户挂表'}], // 报建性质
352
- save_states: [{label: '全部', value: ''},{label: '已完成', value: '已完成'},{label: '已退回', value: '已退回'}], // 报建性质
353
- designerPeoples: this.getDesigner(),
354
- UserList:[{label: '全部', value: ''}, ...this.$appdata.getParam('用户分类')?this.$appdata.getParam('用户分类'):[]],
355
- UserType:[{label: '全部', value: ''}, {label: '普通用户', value: '普通用户'}, {label: '煤改用户', value: '煤改用户'}],
356
- houseType:[{label: '全部', value: ''}, {label: '旧报建', value: ` = '旧报建导入'`}, {label: '新报建', value: ' is null' }],
357
- // dateType: [{label: '默认', value: ''}, ...this.$appdata.getParam('日期类型')],
358
- criteriaShow: false,
359
- sources:[{label: '微信公众号', value: '微信公众号'},{label: '线下发起', value: '线下发起'}],
360
- getfield: {
361
- 'f_apply_num': ' 工 程 编 号 ',
362
- 'f_user_name': ' 客 户 名 称 ',
363
- 'f_contact': ' 联 系 人 ',
364
- 'f_phone': ' 电 话 ',
365
- 'f_user_type': ' 用户类型 ',
366
- 'f_user_classification': ' 用户分类 ',
367
- 'f_address': ' 地 址 ',
368
- 'f_apply_type': ' 报 建 类 型 ',
369
- 'f_apply_nature': ' 报 建 性 质 ',
370
- 'defname': ' 办 理 环 节 ',
371
- 'f_install_count': ' 安装户数 ',
372
- 'f_designer_people':' 设计人员 ',
373
- 'f_construction_name':' 安 装 单 位 ',
374
- 'f_charge_date':'缴费时间'
375
- }
376
- }
377
- },
378
- ready () {
379
- // 调用查询
380
- this.search()
381
- },
382
- methods: {
383
- // 点击操作
384
- click (val) {
385
- this.$dispatch('apply', val)
386
- },
387
- // 获取流程id
388
- async getProcessId(processname) {
389
- let data = {
390
- workname: processname
391
- }
392
- let http = new HttpResetClass()
393
- let res = await http.load(
394
- 'POST',
395
- 'rs/logic/getProcessId',
396
- {data: data},
397
- {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
398
- )
399
-
400
- return res.data
401
- },
402
- // 报装申请
403
- async apply () {
404
- if (this.applyType === '' || this.applyType === null) {
405
- this.$showAlert('请选择需要发起的类型', 'warning', 3000)
406
- return
407
- }
408
- let data = {
409
- f_apply_type: this.applyType
410
- }
411
- if (this.getLoginDepartment){
412
- if (this.applyType === '民用报建') {
413
- data.processname = '民用报建流程'
414
- data.defname = '报装申请'
415
- } else if (this.applyType === '非民用报建') {
416
- data.processname = '非民用报建流程'
417
- data.defname = '报装申请'
418
- } else if (this.applyType === '分户挂表') {
419
- data.processname = '分户挂表报建流程'
420
- data.defname = '报装申请'
421
- } else if (this.applyType === '设备变更') {
422
- data.processname = '设备变更流程'
423
- data.defname = '报装申请'
424
- } else if (this.applyType === '设备拆除') {
425
- data.processname = '设备拆除流程'
426
- data.defname = '报建受理'
427
- } else {
428
- this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
429
- return
430
- }
431
- }else if (this.$login.f.rolesnames.includes('工程部派工')){
432
- if (this.applyType === '改线业务') {
433
- data.processname = '改线业务流程'
434
- data.defname = '报装申请'
435
- } else {
436
- this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
437
- return
438
- }
439
- } else {
440
- this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
441
- return
442
- }
443
-
444
- data.f_sub_state = "新增"
445
- data.f_apply_source = "线下发起"
446
- data.f_process_id = await this.getProcessId(data.processname)
447
-
448
- // 调用ExplorationUser事件
449
- this.$dispatch('apply', data)
450
-
451
- // this.applyType = null
452
- this.showModal = false
453
- },
454
- loadPage () {
455
- this.$dispatch('loadPage')
456
- },
457
- searchCondition (args) {
458
- args.condition = args.condition
459
- if (args.condition.includes('民用报建')) {
460
- args.condition = args.condition.replace('f_apply_type = \'民用报建\'', '(f_apply_type = \'民用报建\' or f_apply_type = \'分户挂表\')');
461
- }
462
- if (this.dataname){
463
- args.condition += ` and f_apply_type = '${this.dataname}'`
464
- }
465
- // if (this.$login.f.rolesnames.includes('工程队派工')){
466
- // args.condition = args.condition + ` and ((f_construction_unit = ${this.$login.f.id} and act.defname = '工程队派工' )or act.defname <> '工程队派工')`
467
- // }
468
- console.log("args.condition",args.condition)
469
- this.model.search(args.condition, args.model)
470
-
471
- console.log("当前数据",this.model)
472
- },
473
- search () {
474
- this.$dispatch('search')
475
- },
476
- async applyTypeChange () {
477
- if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
478
- let http = new HttpResetClass()
479
- let res = await http.load('POST', 'rs/logic/getDefnameByType', {
480
- f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type},
481
- {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
482
- )
483
- this.defnames = [{label: '全部', value: ''}, ...res.data]
484
- } else {
485
- this.defnames = isEmpty(this.$appdata.getParam('办理环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('办理环节')]
486
- }
487
- },
488
- async getDesigner() {
489
- let data = {
490
- source: 'this.getParentByType($organization$).getChildByName($设计人员$).getChildren()',
491
- userid: this.$login.f.id
492
- }
493
- let http = new HttpResetClass()
494
- let res = await http.load(
495
- 'POST',
496
- 'rs/search',
497
- {data: data},
498
- {resolveMsg: null, rejectMsg: '设计人员人员查询失败!!!'}
499
- )
500
- console.log("ces",res.data.map(item => {
501
- return {
502
- label: item.name,
503
- value: item.name
504
- }
505
- }))
506
- this.designerPeoples = res.data.map(item => {
507
- return {
508
- label: item.name,
509
- value: item.name
510
- }
511
- })
512
- },
513
- clear () {
514
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
515
- this.$refs.cp.$refs.cri.model[key] = null
516
- this.$refs.cp.$refs.cri.model.f_apply_type = []
517
- })
518
- }
519
- },
520
- computed: {
521
- projectStart () {
522
- return this.$login.r.includes('报建发起')
523
- },
524
- getLoginDepartment(){
525
- return this.$login.f.rolesnames.includes('市场部报装')
526
- },
527
- getCondition () {
528
- return {
529
- condition: this.$refs.cp.$refs.cri.condition,
530
- data: {
531
- userid: this.$login.f.id,
532
- f_filiale: "榆林."+this.$login.f.orgs
533
- }
534
- }
535
- }
536
- },
537
- watch: {
538
- // 'model.rows': {
539
- // handler: function () {
540
- // let isover = [] // 过期(超时)数据
541
- // let isbeforeover = [] // 未过期 提前提醒
542
- // for (let i = 0; i < this.model.rows.length; i++) {
543
- // let item = this.model.rows[i]
544
- // if (item.isover === '过期') {
545
- // isover.push(i + 1)
546
- // }
547
- // if (item.isbeforeover === '预期提醒') {
548
- // isbeforeover.push(i + 1)
549
- // }
550
- // }
551
- // let msg1 = null
552
- // let msg = null
553
- // if (isover.length > 0) {
554
- // msg1 = `第${isover.toString()}条数据已过期`
555
- // }
556
- //
557
- // if (isbeforeover.length > 0) {
558
- // msg = `第${isbeforeover.toString()}条数据即将过期`
559
- // this.$showAlert(msg, 'warning', 3000)
560
- // if (isover.length > 0) {
561
- // setTimeout(() => {
562
- // this.$showAlert(msg1, 'warning', 3000)
563
- // }, 2000)
564
- // } else {
565
- // if (isover.length > 0) {
566
- // this.$showAlert(msg1, 'warning', 3000)
567
- // }
568
- //
569
- // }
570
- // }
571
- // }
572
- // }
573
- },
574
- events: {
575
- }
576
- }
577
- </script>
578
- <style scoped>
579
-
580
- .p1 {
581
- color: #dc0b12;
582
- font-weight:bold
583
- }
584
- .p {
585
- color: #ffaf4f;
586
- }
587
- .tab2{
588
- padding: 0.4%;
589
- border-radius: 14px;
590
- box-shadow: 0px 1px 10px 0px rgba(2, 56, 104, 0.13);
591
- background-color: #ffffff !important;
592
- }
593
- </style>
1
+ <template>
2
+ <div class="tab2">
3
+ <!-- 代办业务 -->
4
+ <criteria-paged :model="model" v-ref:cp>
5
+ <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2">
9
+ <label class="font_normal_body"><strong>工程编号:</strong></label>
10
+ <input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
11
+ v-on:keyup.enter="$parent.$parent.search()"
12
+ condition="u.f_apply_num like '%{}%'">
13
+ </div>
14
+ <div class="form-group col-sm-2">
15
+ <label class="font_normal_body"><strong>客户名称:</strong></label>
16
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
17
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_user_name like '%{}%'" placeholder='客户名称'>
18
+ </div>
19
+ <div class="form-group col-sm-2">
20
+ <label class="font_normal_body"><strong>联系电话:</strong></label>
21
+ <input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
22
+ v-on:keyup.enter="$parent.$parent.search()"
23
+ condition="f_phone like '%{}%'">
24
+ </div>
25
+ <div class="form-group col-sm-2">
26
+ <label class="font_normal_body"><strong>联&ensp;系&ensp;人:</strong></label>
27
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_contact"
28
+ v-on:keyup.enter="$parent.$parent.search()" condition="f_contact like '%{}%'" placeholder='联系人'>
29
+ </div>
30
+ <div class="form-group col-sm-3 button-range">
31
+ <button class="button_new button_spacing" style="width: max-content"
32
+ v-if="$parent.$parent.projectStart"
33
+ @click="$parent.$parent.apply()">工程发起</button>
34
+ <export-excel :data="$parent.$parent.getCondition"
35
+ :field="$parent.$parent.getfield"
36
+ sqlurl="rs/logic/applyExportfile"
37
+ sql-name="checkuserExcel"
38
+ template-name='报建待办信息导出'
39
+ :choose-col="true"></export-excel>
40
+ <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
41
+ <!-- <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>-->
42
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
43
+ <div
44
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
45
+ @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
46
+ class="button_spacing"
47
+ style="float: right">
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div class="row" v-show="$parent.$parent.criteriaShow">
52
+ <div class="form-group col-sm-2">
53
+ <label class="font_normal_body"><strong>合同编号:</strong></label>
54
+ <input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
55
+ v-on:keyup.enter="$parent.$parent.search()"
56
+ condition="f_contract_number like '%{}%'">
57
+ </div>
58
+ <div class="form-group col-sm-2">
59
+ <label class="font_normal_body"><strong>报建类型:</strong></label>
60
+ <v-select
61
+ v-model="model.f_apply_type"
62
+ placeholder='报建类型'
63
+ condition="u.f_apply_type in {}"
64
+ :value.sync="model.f_apply_type"
65
+ :options='$parent.$parent.applytype'
66
+ class="select select_list"
67
+ multiple
68
+ @change="$parent.$parent.applyTypeChange()" ></v-select>
69
+ </div>
70
+ <div class="form-group col-sm-2">
71
+ <label class="font_normal_body"><strong>办理环节:</strong></label>
72
+ <v-select
73
+ v-model="model.defname"
74
+ placeholder='办理环节'
75
+ condition="act.defname = '{}'"
76
+ :value.sync="model.defname"
77
+ :options='$parent.$parent.defnames'
78
+ class="select select_list"
79
+ :value-single="true"
80
+ close-on-select ></v-select>
81
+ </div>
82
+ <div class="form-group col-sm-2">
83
+ <label class="font_normal_body"><strong>报建性质:</strong></label>
84
+ <v-select
85
+ v-model="model.f_apply_nature"
86
+ placeholder='报建性质'
87
+ condition="f_apply_nature = '{}'"
88
+ :value.sync="model.f_apply_nature"
89
+ :options='$parent.$parent.applyNatures'
90
+ class="select select_list"
91
+ :value-single="true"
92
+ close-on-select ></v-select>
93
+ </div>
94
+ <div class="form-group col-sm-2">
95
+ <label class="font_normal_body"><strong>用户分类:</strong></label>
96
+ <v-select
97
+ v-model="model.f_user_classification"
98
+ placeholder='用户分类'
99
+ condition="f_user_classification = '{}'"
100
+ :value.sync="model.f_user_classification"
101
+ :options='$parent.$parent.UserList'
102
+ class="select select_list"
103
+ :value-single="true"
104
+ close-on-select ></v-select>
105
+ </div>
106
+ <div class="form-group col-sm-2">
107
+ <label class="font_normal_body"><strong>用户类型:</strong></label>
108
+ <v-select
109
+ v-model="model.f_user_type"
110
+ placeholder='普通/煤改'
111
+ condition="f_user_type = '{}'"
112
+ :value.sync="model.f_user_type"
113
+ :options='$parent.$parent.UserType'
114
+ class="select select_list"
115
+ :value-single="true"
116
+ close-on-select ></v-select>
117
+ </div>
118
+ <div class="form-group col-sm-2">
119
+ <label class="font_normal_body"><strong>设计人员:</strong></label>
120
+ <v-select class="select select_list"
121
+ placeholder='设计人员'
122
+ v-model="model.f_designer_people"
123
+ :value.sync="model.f_designer_people"
124
+ :options='$parent.$parent.designerPeoples'
125
+ :value-single="true"
126
+ close-on-select
127
+ condition="f_designer_people = '{}'">
128
+ </v-select>
129
+ </div>
130
+ <div class="form-group col-sm-2">
131
+ <label class="font_normal_body"><strong>用户地址:</strong></label>
132
+ <input type="text" style="width:60%" class="input_search" placeholder='用户地址' v-model="model.f_address"
133
+ v-on:keyup.enter="$parent.$parent.search()"
134
+ condition="f_address like '%{}%'">
135
+ </div>
136
+ <!-- <div class="form-group col-sm-2">-->
137
+ <!-- <label class="font_normal_body">日期类型:</label>-->
138
+ <!-- <v-select class="select select_list"-->
139
+ <!-- placeholder='日期类型'-->
140
+ <!-- v-model="model.f_date_type"-->
141
+ <!-- :value.sync="model.f_date_type"-->
142
+ <!-- :options='$parent.$parent.dateType'-->
143
+ <!-- :value-single="true"-->
144
+ <!-- @change="$parent.$parent.updateDateType()"-->
145
+ <!-- close-on-select>-->
146
+ <!-- </v-select>-->
147
+ <!-- </div>-->
148
+ <div class="form-group col-sm-2">
149
+ <label for="startDate" class="font_normal_body"><strong>开始时间:</strong></label>
150
+ <datepicker id="startDate" placeholder="开始日期"
151
+ style="width: 60%!important;"
152
+ v-model="model.startDate"
153
+ :value.sync="model.startDate"
154
+ :format="'yyyy-MM-dd 00:00:00'"
155
+ :show-reset-button="true"
156
+ condition="sendtime >= '{}'">
157
+ </datepicker>
158
+ </div>
159
+ <div class="form-group col-sm-2">
160
+ <label for="endDate" class="font_normal_body"><strong>结束时间:</strong></label>
161
+ <datepicker id="endDate" placeholder="结束日期"
162
+ style="width: 60%!important;"
163
+ v-model="model.endDate"
164
+ :value.sync="model.endDate"
165
+ :format="'yyyy-MM-dd 23:59:59'"
166
+ :show-reset-button="true"
167
+ condition="sendtime <= '{}'">
168
+ </datepicker>
169
+ </div>
170
+ <div class="form-group col-sm-2">
171
+ <label class="font_normal_body"><strong>来&emsp;&emsp;源:</strong></label>
172
+ <v-select
173
+ v-model="model.f_apply_source"
174
+ placeholder='来源'
175
+ condition="u.f_apply_source = '{}'"
176
+ :value.sync="model.f_apply_source"
177
+ :options='$parent.$parent.sources'
178
+ class="select select_list"
179
+ :value-single="true"
180
+ close-on-select >
181
+ </v-select>
182
+ </div>
183
+ <div class="form-group col-sm-2">
184
+ <label class="font_normal_body"><strong>保存状态:</strong></label>
185
+ <v-select
186
+ v-model="model.f_sub_save_state"
187
+ placeholder='保存状态'
188
+ condition="u.f_sub_save_state = '{}'"
189
+ :value.sync="model.f_sub_save_state"
190
+ :options='$parent.$parent.save_states'
191
+ class="select select_list"
192
+ :value-single="true"
193
+ close-on-select >
194
+ </v-select>
195
+ </div>
196
+ <div class="form-group col-sm-2">
197
+ <label class="font_normal_body"><strong>新旧报建:</strong></label>
198
+ <v-select
199
+ v-model="model.f_house_type"
200
+ placeholder='新旧报建'
201
+ condition="u.f_house_type {}"
202
+ :value.sync="model.f_house_type"
203
+ :options='$parent.$parent.houseType'
204
+ class="select select_list"
205
+ :value-single="true"
206
+ close-on-select >
207
+ </v-select>
208
+ </div>
209
+ </div>
210
+ </div>
211
+ </criteria>
212
+ <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
213
+ <template partial='head'>
214
+ <tr>
215
+ <th style="white-space: nowrap;">序号</th>
216
+ <th style="white-space: nowrap;">完成状态</th>
217
+ <th style="white-space: nowrap;">工程编号</th>
218
+ <th style="white-space: nowrap;">客户名称</th>
219
+ <th style="white-space: nowrap;">联系人</th>
220
+ <th style="white-space: nowrap;">电话</th>
221
+ <th style="white-space: nowrap;">地址</th>
222
+ <th style="white-space: nowrap;">合同编号</th>
223
+ <th style="white-space: nowrap;">报建类型</th>
224
+ <th style="white-space: nowrap;">报建性质</th>
225
+ <th style="white-space: nowrap;">用户类型</th>
226
+ <th style="white-space: nowrap;">办理环节</th>
227
+ <th style="white-space: nowrap;">安装户数</th>
228
+ <th style="white-space: nowrap;">设计人员</th>
229
+ <th style="white-space: nowrap;">来源</th>
230
+ <th style="white-space: nowrap;">流程状态</th>
231
+ <th style="white-space: nowrap;">流程开始时间</th>
232
+ </tr>
233
+ </template>
234
+ <template partial='body'>
235
+ <tr >
236
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
237
+ <nobr><font>{{$index+1}}</font></nobr>
238
+ </td>
239
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
240
+ <nobr><font>{{row.f_sub_save_state}}</font></nobr>
241
+ </td>
242
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
243
+ <nobr><font>{{row.f_apply_num}}</font></nobr>
244
+ </td>
245
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
246
+ <nobr><font>{{row.f_user_name}}</font></nobr>
247
+ </td>
248
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
249
+ <nobr><font>{{row.f_contact}}</font></nobr>
250
+ </td>
251
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
252
+ <nobr><font>{{row.f_phone}}</font></nobr>
253
+ </td>
254
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
255
+ <nobr><font>{{row.f_address}}</font></nobr>
256
+ </td>
257
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
258
+ <nobr><font>{{row.f_contract_number}}</font></nobr>
259
+ </td>
260
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
261
+ <nobr><font>{{row.f_apply_type}}</font></nobr>
262
+ </td>
263
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
264
+ <nobr><font>{{row.f_apply_nature}}</font></nobr>
265
+ </td>
266
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
267
+ <nobr><font>{{row.f_user_type}}</font></nobr>
268
+ </td>
269
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
270
+ <nobr><font>{{row.defname}}</font></nobr>
271
+ </td>
272
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
273
+ <nobr><font>{{row.f_install_count}}</font></nobr>
274
+ </td>
275
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
276
+ <nobr><font>{{row.f_designer_people}}</font></nobr>
277
+ </td>
278
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
279
+ <nobr><font>{{row.f_apply_source}}</font></nobr>
280
+ </td>
281
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
282
+ <nobr><font>{{row.f_sub_state}}</font></nobr>
283
+ </td>
284
+ <td @dblclick="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
285
+ <nobr><font>{{row.sendtime}}</font></nobr>
286
+ </td>
287
+ <!-- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">-->
288
+ <!-- <dropdown>-->
289
+ <!-- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">-->
290
+ <!-- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>-->
291
+ <!-- </button>-->
292
+ <!-- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">-->
293
+ <!-- <li>-->
294
+ <!-- <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>-->
295
+ <!-- </li>-->
296
+ <!-- </ul>-->
297
+ <!-- </dropdown>-->
298
+ <!-- </td>-->
299
+ </tr>
300
+ </template>
301
+ </data-grid>
302
+ </criteria-paged>
303
+
304
+ <modal
305
+ v-if="showModal"
306
+ :show.sync="showModal"
307
+ backdrop="false"
308
+ title="工程类型"
309
+ cancel-text="取消"
310
+ ok-text="确认"
311
+ :callback="apply"
312
+ >
313
+ <div class="form-horizontal" slot="modal-body">
314
+ <div class="form-group" style="margin: 10px auto">
315
+ <label class="col-sm-3 control-label">报建类型:</label>
316
+ <div class="col-sm-9">
317
+ <v-select
318
+ v-model="applyType"
319
+ placeholder='请选择需要发起的工程类型'
320
+ :value.sync="applyType"
321
+ :options='$appdata.getParam("报建类型")'
322
+ :value-single="true"
323
+ class="select select_list"
324
+ :search="false"
325
+ close-on-select ></v-select>
326
+ </div>
327
+ </div>
328
+ </div>
329
+ </modal>
330
+ </div>
331
+ </template>
332
+ <script>
333
+ import {HttpResetClass, PagedList} from 'vue-client'
334
+ import {isEmpty} from '../../Util'
335
+
336
+ export default {
337
+ title: '工程列表',
338
+ props: ['showData', 'dataname'],
339
+ data () {
340
+ return {
341
+ model: new PagedList('rs/sql/checkuser', 20, {
342
+ data: {
343
+ userid: this.$login.f.id,
344
+ f_filiale: "榆林."+this.$login.f.orgs
345
+ }
346
+ }),
347
+ showModal: false, // 控制发起类型选择
348
+ applyType: this.dataname, // 报建类型
349
+ applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')?this.$appdata.getParam('报建类型'):[]],
350
+ defnames: isEmpty(this.$appdata.getParam('办理环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('办理环节')?this.$appdata.getParam('办理环节'):[]], // 流程节点
351
+ applyNatures: [{label: '全部', value: ''},{label: '工业', value: '工业'},{label: '商业', value: '商业'},{label: '散户', value: '散户'},{label: '小区', value: '小区'},{label: '分户挂表', value: '分户挂表'}], // 报建性质
352
+ save_states: [{label: '全部', value: ''},{label: '已完成', value: '已完成'},{label: '已退回', value: '已退回'}], // 报建性质
353
+ designerPeoples: this.getDesigner(),
354
+ UserList:[{label: '全部', value: ''}, ...this.$appdata.getParam('用户分类')?this.$appdata.getParam('用户分类'):[]],
355
+ UserType:[{label: '全部', value: ''}, {label: '普通用户', value: '普通用户'}, {label: '煤改用户', value: '煤改用户'}],
356
+ houseType:[{label: '全部', value: ''}, {label: '旧报建', value: ` = '旧报建导入'`}, {label: '新报建', value: ' is null' }],
357
+ // dateType: [{label: '默认', value: ''}, ...this.$appdata.getParam('日期类型')],
358
+ criteriaShow: false,
359
+ sources:[{label: '微信公众号', value: '微信公众号'},{label: '线下发起', value: '线下发起'}],
360
+ getfield: {
361
+ 'f_apply_num': ' 工 程 编 号 ',
362
+ 'f_user_name': ' 客 户 名 称 ',
363
+ 'f_contact': ' 联 系 人 ',
364
+ 'f_phone': ' 电 话 ',
365
+ 'f_user_type': ' 用户类型 ',
366
+ 'f_user_classification': ' 用户分类 ',
367
+ 'f_address': ' 地 址 ',
368
+ 'f_apply_type': ' 报 建 类 型 ',
369
+ 'f_apply_nature': ' 报 建 性 质 ',
370
+ 'defname': ' 办 理 环 节 ',
371
+ 'f_install_count': ' 安装户数 ',
372
+ 'f_designer_people':' 设计人员 ',
373
+ 'f_construction_name':' 安 装 单 位 ',
374
+ 'f_charge_date':'缴费时间'
375
+ }
376
+ }
377
+ },
378
+ ready () {
379
+ // 调用查询
380
+ this.search()
381
+ },
382
+ methods: {
383
+ // 点击操作
384
+ click (val) {
385
+ this.$dispatch('apply', val)
386
+ },
387
+ // 获取流程id
388
+ async getProcessId(processname) {
389
+ let data = {
390
+ workname: processname
391
+ }
392
+ let http = new HttpResetClass()
393
+ let res = await http.load(
394
+ 'POST',
395
+ 'rs/logic/getProcessId',
396
+ {data: data},
397
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
398
+ )
399
+
400
+ return res.data
401
+ },
402
+ // 报装申请
403
+ async apply () {
404
+ if (this.applyType === '' || this.applyType === null) {
405
+ this.$showAlert('请选择需要发起的类型', 'warning', 3000)
406
+ return
407
+ }
408
+ let data = {
409
+ f_apply_type: this.applyType
410
+ }
411
+ if (this.getLoginDepartment){
412
+ if (this.applyType === '民用报建') {
413
+ data.processname = '民用报建流程'
414
+ data.defname = '报装申请'
415
+ } else if (this.applyType === '非民用报建') {
416
+ data.processname = '非民用报建流程'
417
+ data.defname = '报装申请'
418
+ } else if (this.applyType === '分户挂表') {
419
+ data.processname = '分户挂表报建流程'
420
+ data.defname = '报装申请'
421
+ } else if (this.applyType === '设备变更') {
422
+ data.processname = '设备变更流程'
423
+ data.defname = '报装申请'
424
+ } else if (this.applyType === '设备拆除') {
425
+ data.processname = '设备拆除流程'
426
+ data.defname = '报建受理'
427
+ } else {
428
+ this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
429
+ return
430
+ }
431
+ }else if (this.$login.f.rolesnames.includes('工程部派工')){
432
+ if (this.applyType === '改线业务') {
433
+ data.processname = '改线业务流程'
434
+ data.defname = '报装申请'
435
+ } else {
436
+ this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
437
+ return
438
+ }
439
+ } else {
440
+ this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
441
+ return
442
+ }
443
+
444
+ data.f_sub_state = "新增"
445
+ data.f_apply_source = "线下发起"
446
+ data.f_process_id = await this.getProcessId(data.processname)
447
+
448
+ // 调用ExplorationUser事件
449
+ this.$dispatch('apply', data)
450
+
451
+ // this.applyType = null
452
+ this.showModal = false
453
+ },
454
+ loadPage () {
455
+ this.$dispatch('loadPage')
456
+ },
457
+ searchCondition (args) {
458
+ args.condition = args.condition
459
+ if (args.condition.includes('民用报建')) {
460
+ args.condition = args.condition.replace('f_apply_type = \'民用报建\'', '(f_apply_type = \'民用报建\' or f_apply_type = \'分户挂表\')');
461
+ }
462
+ if (this.dataname){
463
+ args.condition += ` and f_apply_type = '${this.dataname}'`
464
+ }
465
+ // if (this.$login.f.rolesnames.includes('工程队派工')){
466
+ // args.condition = args.condition + ` and ((f_construction_unit = ${this.$login.f.id} and act.defname = '工程队派工' )or act.defname <> '工程队派工')`
467
+ // }
468
+ console.log("args.condition",args.condition)
469
+ this.model.search(args.condition, args.model)
470
+
471
+ console.log("当前数据",this.model)
472
+ },
473
+ search () {
474
+ this.$dispatch('search')
475
+ },
476
+ async applyTypeChange () {
477
+ if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
478
+ let http = new HttpResetClass()
479
+ let res = await http.load('POST', 'rs/logic/getDefnameByType', {
480
+ f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type},
481
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
482
+ )
483
+ this.defnames = [{label: '全部', value: ''}, ...res.data]
484
+ } else {
485
+ this.defnames = isEmpty(this.$appdata.getParam('办理环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('办理环节')]
486
+ }
487
+ },
488
+ async getDesigner() {
489
+ let data = {
490
+ source: 'this.getParentByType($organization$).getChildByName($设计人员$).getChildren()',
491
+ userid: this.$login.f.id
492
+ }
493
+ let http = new HttpResetClass()
494
+ let res = await http.load(
495
+ 'POST',
496
+ 'rs/search',
497
+ {data: data},
498
+ {resolveMsg: null, rejectMsg: '设计人员人员查询失败!!!'}
499
+ )
500
+ console.log("ces",res.data.map(item => {
501
+ return {
502
+ label: item.name,
503
+ value: item.name
504
+ }
505
+ }))
506
+ this.designerPeoples = res.data.map(item => {
507
+ return {
508
+ label: item.name,
509
+ value: item.name
510
+ }
511
+ })
512
+ },
513
+ clear () {
514
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
515
+ this.$refs.cp.$refs.cri.model[key] = null
516
+ this.$refs.cp.$refs.cri.model.f_apply_type = []
517
+ })
518
+ }
519
+ },
520
+ computed: {
521
+ projectStart () {
522
+ return this.$login.r.includes('报建发起')
523
+ },
524
+ getLoginDepartment(){
525
+ return this.$login.f.rolesnames.includes('市场部报装')
526
+ },
527
+ getCondition () {
528
+ return {
529
+ condition: this.$refs.cp.$refs.cri.condition,
530
+ data: {
531
+ userid: this.$login.f.id,
532
+ f_filiale: "榆林."+this.$login.f.orgs
533
+ }
534
+ }
535
+ }
536
+ },
537
+ watch: {
538
+ // 'model.rows': {
539
+ // handler: function () {
540
+ // let isover = [] // 过期(超时)数据
541
+ // let isbeforeover = [] // 未过期 提前提醒
542
+ // for (let i = 0; i < this.model.rows.length; i++) {
543
+ // let item = this.model.rows[i]
544
+ // if (item.isover === '过期') {
545
+ // isover.push(i + 1)
546
+ // }
547
+ // if (item.isbeforeover === '预期提醒') {
548
+ // isbeforeover.push(i + 1)
549
+ // }
550
+ // }
551
+ // let msg1 = null
552
+ // let msg = null
553
+ // if (isover.length > 0) {
554
+ // msg1 = `第${isover.toString()}条数据已过期`
555
+ // }
556
+ //
557
+ // if (isbeforeover.length > 0) {
558
+ // msg = `第${isbeforeover.toString()}条数据即将过期`
559
+ // this.$showAlert(msg, 'warning', 3000)
560
+ // if (isover.length > 0) {
561
+ // setTimeout(() => {
562
+ // this.$showAlert(msg1, 'warning', 3000)
563
+ // }, 2000)
564
+ // } else {
565
+ // if (isover.length > 0) {
566
+ // this.$showAlert(msg1, 'warning', 3000)
567
+ // }
568
+ //
569
+ // }
570
+ // }
571
+ // }
572
+ // }
573
+ },
574
+ events: {
575
+ }
576
+ }
577
+ </script>
578
+ <style scoped>
579
+
580
+ .p1 {
581
+ color: #dc0b12;
582
+ font-weight:bold
583
+ }
584
+ .p {
585
+ color: #ffaf4f;
586
+ }
587
+ .tab2{
588
+ padding: 0.4%;
589
+ border-radius: 14px;
590
+ box-shadow: 0px 1px 10px 0px rgba(2, 56, 104, 0.13);
591
+ background-color: #ffffff !important;
592
+ }
593
+ </style>