apply-clients 7.1.36-yuchuan-58 → 7.1.36-yuchuan-60

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 +187 -187
  3. package/package.json +1 -1
  4. package/src/apply.js +166 -166
  5. package/src/applyAndroid.js +98 -98
  6. package/src/components/android/AppSign.vue +232 -232
  7. package/src/components/android/Ignition/VentilationIgnition.vue +409 -409
  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 +1026 -1026
  12. package/src/components/android/Process/Processes/newAppInstallationDetails.vue +671 -671
  13. package/src/components/android/SealBind.vue +382 -382
  14. package/src/components/android/SealManage.vue +278 -278
  15. package/src/components/android/Sign/AppSignTask.vue +183 -183
  16. package/src/components/android/Supervisory/AppProcessSupervisory.vue +344 -344
  17. package/src/components/android/Task/Build/BuildTsak.vue +117 -117
  18. package/src/components/android/Task/BuildIgnition/BuildIgnition.vue +114 -114
  19. package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +317 -317
  20. package/src/components/android/Task/RepairFromSend/RepairFrom.vue +124 -124
  21. package/src/components/android/Task/RepairFromSend/RepairSend.vue +124 -124
  22. package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +431 -431
  23. package/src/components/android/Task/Survey/SurveyTsak.vue +141 -141
  24. package/src/components/android/Task/yiban/AppShowDone.vue +442 -442
  25. package/src/components/android/newPackage/customerServiceManager.vue +218 -218
  26. package/src/components/android/newPackage/projectPrice.vue +218 -218
  27. package/src/components/product/ApplyCharge/ApplyChargeList.vue +1101 -1101
  28. package/src/components/product/ApplyGuanXian/GuanXianCaiLiao.vue +236 -236
  29. package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +325 -325
  30. package/src/components/product/ApplyGuanXian/GuanXianExplorationUser.vue +142 -142
  31. package/src/components/product/ApplyGuanXian/GuanXianExplorationsupervisory.vue +166 -166
  32. package/src/components/product/ApplyGuanXian/GuanXianSupervisoryhCart.vue +119 -119
  33. package/src/components/product/ApplyGuanXian/GuanXiansupsupervisory.vue +140 -140
  34. package/src/components/product/ApplyMap/AppMapLocation.vue +829 -829
  35. package/src/components/product/ApplyMap/ApplyMapInputSearch.vue +335 -335
  36. package/src/components/product/ChongZheng/ApplyChongZhengList.vue +417 -417
  37. package/src/components/product/Function/InstallFunction.vue +132 -132
  38. package/src/components/product/Function/InstallInfoSelect.vue +374 -374
  39. package/src/components/product/Ignition/IgnitionDispatch.vue +90 -90
  40. package/src/components/product/Ignition/IgnitionListManage.vue +604 -604
  41. package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
  42. package/src/components/product/InsuranceApply/InsuranceReport.vue +188 -188
  43. package/src/components/product/List/ShowAllActivity.vue +541 -541
  44. package/src/components/product/List/ShowDevices.vue +279 -279
  45. package/src/components/product/Print/BuildOrder/buildOrderList.vue +446 -446
  46. package/src/components/product/Process/ExplorationSelect.vue +593 -593
  47. package/src/components/product/Process/ExplorationUser.vue +154 -154
  48. package/src/components/product/Process/New1ExplorationUser.vue +196 -196
  49. package/src/components/product/Process/NewExplorationSelect.vue +587 -587
  50. package/src/components/product/Process/NewExplorationUser.vue +216 -216
  51. package/src/components/product/Process/Processes/chargeManagement.vue +714 -714
  52. package/src/components/product/Process/Processes/selectApply.vue +250 -250
  53. package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +230 -230
  54. package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -241
  55. package/src/components/product/Process/Processes/selectUserinfo.vue +234 -234
  56. package/src/components/product/Process/Service/ServiceControl.vue +2223 -2223
  57. package/src/components/product/Process/Service/ShowBackReason.vue +33 -33
  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 +586 -586
  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 +4 -0
  67. package/src/components/product/VueUtils/ApplyUpload.vue +303 -303
  68. package/src/main.js +27 -27
@@ -1,325 +1,325 @@
1
- <template>
2
- <div>
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="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_address_name like '%{}%'" placeholder='道路名'>
18
- </div>
19
- <div class="form-group col-sm-2">
20
- <label class="font_normal_body"><strong>办理环节:</strong></label>
21
- <v-select
22
- v-model="model.defname"
23
- placeholder='办理环节'
24
- condition="defname = '{}'"
25
- :value.sync="model.defname"
26
- :options='$parent.$parent.defnames'
27
- class="select select_list"
28
- :value-single="true"
29
- close-on-select ></v-select>
30
- </div>
31
- <div class="form-group col-sm-3 button-range">
32
- <button class="button_new button_spacing" style="width: max-content"
33
- v-if="$parent.$parent.projectStart"
34
- @click="$parent.$parent.showModal = !$parent.$parent.showModal">工程发起</button>
35
- <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
36
- <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
37
- <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
38
- </div>
39
- </div>
40
- </div>
41
- </criteria>
42
- <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
43
- <template partial='head'>
44
- <tr>
45
- <th style="white-space: nowrap;">序号</th>
46
- <th style="white-space: nowrap;">完成状态</th>
47
- <th style="white-space: nowrap;">管线编号</th>
48
- <th style="white-space: nowrap;">工程名称</th>
49
- <th style="white-space: nowrap;">办理环节</th>
50
- <th style="white-space: nowrap;">流程状态</th>
51
- <th style="white-space: nowrap;">流程开始时间</th>
52
- </tr>
53
- </template>
54
- <template partial='body'>
55
- <tr >
56
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
57
- <nobr><font>{{$index+1}}</font></nobr>
58
- </td>
59
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
60
- <nobr><font>{{row.f_sub_save_state}}</font></nobr>
61
- </td>
62
- <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
63
- <nobr><font>{{row.f_apply_num}}</font></nobr>
64
- </td>
65
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
66
- <nobr><font>{{row.f_address_name}}</font></nobr>
67
- </td>
68
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
69
- <nobr><font>{{row.defname}}</font></nobr>
70
- </td>
71
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
72
- <nobr><font>{{row.f_sub_state}}</font></nobr>
73
- </td>
74
- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
75
- <nobr><font>{{row.sendtime}}</font></nobr>
76
- </td>
77
- <!-- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">-->
78
- <!-- <dropdown>-->
79
- <!-- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">-->
80
- <!-- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>-->
81
- <!-- </button>-->
82
- <!-- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">-->
83
- <!-- <li>-->
84
- <!-- <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>-->
85
- <!-- </li>-->
86
- <!-- </ul>-->
87
- <!-- </dropdown>-->
88
- <!-- </td>-->
89
- </tr>
90
- </template>
91
- </data-grid>
92
- </criteria-paged>
93
-
94
- <modal
95
- v-if="showModal"
96
- :show.sync="showModal"
97
- backdrop="false"
98
- title="工程类型"
99
- cancel-text="取消"
100
- ok-text="确认"
101
- :callback="apply"
102
- >
103
- <div class="form-horizontal" slot="modal-body">
104
- <div class="form-group" style="margin: 10px auto">
105
- <label class="col-sm-3 control-label">报建类型:</label>
106
- <div class="col-sm-9">
107
- <v-select
108
- v-model="applyType"
109
- placeholder='请选择需要发起的工程类型'
110
- :value.sync="applyType"
111
- :options='apply_types'
112
- :value-single="true"
113
- class="select select_list"
114
- :search="false"
115
- close-on-select ></v-select>
116
- </div>
117
- </div>
118
- </div>
119
- </modal>
120
- </div>
121
- </template>
122
- <script>
123
- import {HttpResetClass, PagedList} from 'vue-client'
124
- import {isEmpty} from '../../Util'
125
-
126
- export default {
127
- title: '工程列表',
128
- props: ['showData'],
129
- data () {
130
- return {
131
- model: new PagedList('rs/sql/getGuanXianApply', 20, {
132
- data: {
133
- userid: this.$login.f.id,
134
- f_filiale: "榆林."+this.$login.f.orgs
135
- }
136
- }),
137
- showModal: false, // 控制发起类型选择
138
- defnames: isEmpty(this.$appdata.getParam('管线建设环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('管线建设环节')], // 流程节点
139
- save_states: [{label: '全部', value: ''},{label: '已完成', value: '已完成'},{label: '已退回', value: '已退回'}], // 报建性质
140
- apply_types: [{label: '管线建设', value: '管线建设'}],
141
- designerPeoples: this.getDesigner(),
142
- criteriaShow: false,
143
- getfield: {
144
- 'f_apply_num': ' 工 程 编 号 ',
145
- 'f_user_name': ' 客 户 名 称 ',
146
- 'f_contact': ' 联 系 人 ',
147
- 'f_phone': ' 电 话 ',
148
- 'f_user_type': ' 用户类型 ',
149
- 'f_user_classification': ' 用户分类 ',
150
- 'f_address': ' 地 址 ',
151
- 'f_apply_type': ' 报 建 类 型 ',
152
- 'f_apply_nature': ' 报 建 性 质 ',
153
- 'defname': ' 办 理 环 节 ',
154
- 'f_install_count': ' 安装户数 ',
155
- 'f_designer_people':' 设计人员 '
156
- }
157
- }
158
- },
159
- ready () {
160
- // 调用查询
161
- this.search()
162
- },
163
- methods: {
164
- // 点击操作
165
- click (val) {
166
- this.$dispatch('apply', val)
167
- },
168
- // 获取流程id
169
- async getProcessId(processname) {
170
- let data = {
171
- workname: processname
172
- }
173
- let http = new HttpResetClass()
174
- let res = await http.load(
175
- 'POST',
176
- 'rs/logic/getProcessId',
177
- {data: data},
178
- {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
179
- )
180
-
181
- return res.data
182
- },
183
- // 报装申请
184
- async apply () {
185
- if (this.applyType === '' || this.applyType === null) {
186
- this.$showAlert('请选择需要发起的类型', 'warning', 3000)
187
- return
188
- }
189
- let data = {
190
- f_apply_type: this.applyType
191
- }
192
- if (this.applyType === '管线建设') {
193
- data.processname = '管线建设流程'
194
- data.defname = '管线建设登记'
195
- }
196
- // if (this.$login.f.rolesnames.includes('工程部派工')){
197
- // if (this.applyType === '管线建设') {
198
- // data.processname = '管线建设流程'
199
- // data.defname = '管线建设登记'
200
- // } else {
201
- // this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
202
- // return
203
- // }
204
- // } else {
205
- // this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
206
- // return
207
- // }
208
-
209
- data.f_sub_state = "新增"
210
- data.f_apply_source = "线下发起"
211
- data.f_process_id = await this.getProcessId(data.processname)
212
-
213
- // 调用ExplorationUser事件
214
- this.$dispatch('apply', data)
215
-
216
- this.applyType = null
217
- this.showModal = false
218
- },
219
- loadPage () {
220
- this.$dispatch('loadPage')
221
- },
222
- searchCondition (args) {
223
-
224
- this.model.search(args.condition, args.model)
225
-
226
- console.log("当前数据",this.model)
227
- },
228
- search () {
229
- this.$dispatch('search')
230
- },
231
- async getDesigner() {
232
- let data = {
233
- source: 'this.getParentByType($organization$).getChildByName($设计人员$).getChildren()',
234
- userid: this.$login.f.id
235
- }
236
- let http = new HttpResetClass()
237
- let res = await http.load(
238
- 'POST',
239
- `rs/search`,
240
- { data: data },
241
- {resolveMsg: null, rejectMsg: '设计人员人员查询失败!!!'}
242
- )
243
- console.log("ces",res.data.map(item => {
244
- return {
245
- label: item.name,
246
- value: item.name
247
- }
248
- }))
249
- this.designerPeoples = res.data.map(item => {
250
- return {
251
- label: item.name,
252
- value: item.name
253
- }
254
- })
255
- },
256
- clear () {
257
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
258
- this.$refs.cp.$refs.cri.model[key] = null
259
- })
260
- }
261
- },
262
- computed: {
263
- projectStart () {
264
- return this.$login.r.includes('报建发起')
265
- },
266
- getLoginDepartment(){
267
- return this.$login.f.rolesnames.includes('市场部报装')
268
- },
269
- getCondition () {
270
- return {
271
- condition: this.$refs.cp.$refs.cri.condition,
272
- data: {
273
- userid: this.$login.f.id,
274
- f_filiale: "榆林."+this.$login.f.orgs
275
- }
276
- }
277
- }
278
- },
279
- watch: {
280
- // 'model.rows': {
281
- // handler: function () {
282
- // let isover = [] // 过期(超时)数据
283
- // let isbeforeover = [] // 未过期 提前提醒
284
- // for (let i = 0; i < this.model.rows.length; i++) {
285
- // let item = this.model.rows[i]
286
- // if (item.isover === '过期') {
287
- // isover.push(i + 1)
288
- // }
289
- // if (item.isbeforeover === '预期提醒') {
290
- // isbeforeover.push(i + 1)
291
- // }
292
- // }
293
- // let msg = null
294
- // if (isover.length > 0) {
295
- // msg = `第${isover.toString()}条数据已过期`
296
- // this.$showAlert(msg, 'warning', 3000)
297
- // }
298
- //
299
- // if (isbeforeover.length > 0) {
300
- // msg = `第${isbeforeover.toString()}条数据即将过期`
301
- // if (isover.length > 0) {
302
- // setTimeout(() => {
303
- // this.$showAlert(msg, 'warning', 3000)
304
- // }, 4000)
305
- // } else {
306
- // this.$showAlert(msg, 'warning', 3000)
307
- // }
308
- // }
309
- // }
310
- // }
311
- },
312
- events: {
313
- }
314
- }
315
- </script>
316
- <style scoped>
317
-
318
- .p1 {
319
- color: #dc0b12;
320
- font-weight:bold
321
- }
322
- .p {
323
- color: #ffaf4f;
324
- }
325
- </style>
1
+ <template>
2
+ <div>
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="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_address_name like '%{}%'" placeholder='道路名'>
18
+ </div>
19
+ <div class="form-group col-sm-2">
20
+ <label class="font_normal_body"><strong>办理环节:</strong></label>
21
+ <v-select
22
+ v-model="model.defname"
23
+ placeholder='办理环节'
24
+ condition="defname = '{}'"
25
+ :value.sync="model.defname"
26
+ :options='$parent.$parent.defnames'
27
+ class="select select_list"
28
+ :value-single="true"
29
+ close-on-select ></v-select>
30
+ </div>
31
+ <div class="form-group col-sm-3 button-range">
32
+ <button class="button_new button_spacing" style="width: max-content"
33
+ v-if="$parent.$parent.projectStart"
34
+ @click="$parent.$parent.showModal = !$parent.$parent.showModal">工程发起</button>
35
+ <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
36
+ <button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
37
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </criteria>
42
+ <data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
43
+ <template partial='head'>
44
+ <tr>
45
+ <th style="white-space: nowrap;">序号</th>
46
+ <th style="white-space: nowrap;">完成状态</th>
47
+ <th style="white-space: nowrap;">管线编号</th>
48
+ <th style="white-space: nowrap;">工程名称</th>
49
+ <th style="white-space: nowrap;">办理环节</th>
50
+ <th style="white-space: nowrap;">流程状态</th>
51
+ <th style="white-space: nowrap;">流程开始时间</th>
52
+ </tr>
53
+ </template>
54
+ <template partial='body'>
55
+ <tr >
56
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
57
+ <nobr><font>{{$index+1}}</font></nobr>
58
+ </td>
59
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
60
+ <nobr><font>{{row.f_sub_save_state}}</font></nobr>
61
+ </td>
62
+ <td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
63
+ <nobr><font>{{row.f_apply_num}}</font></nobr>
64
+ </td>
65
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
66
+ <nobr><font>{{row.f_address_name}}</font></nobr>
67
+ </td>
68
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
69
+ <nobr><font>{{row.defname}}</font></nobr>
70
+ </td>
71
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
72
+ <nobr><font>{{row.f_sub_state}}</font></nobr>
73
+ </td>
74
+ <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">
75
+ <nobr><font>{{row.sendtime}}</font></nobr>
76
+ </td>
77
+ <!-- <td @click="$parent.$parent.$parent.click(row)" :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' ]" style="text-align: center;">-->
78
+ <!-- <dropdown>-->
79
+ <!-- <button type="button" data-toggle="dropdown" style="border: 0px;background: none;">-->
80
+ <!-- <span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>-->
81
+ <!-- </button>-->
82
+ <!-- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">-->
83
+ <!-- <li>-->
84
+ <!-- <a href="#" @click="$parent.$parent.$parent.click(row)">{{row.defname}}</a>-->
85
+ <!-- </li>-->
86
+ <!-- </ul>-->
87
+ <!-- </dropdown>-->
88
+ <!-- </td>-->
89
+ </tr>
90
+ </template>
91
+ </data-grid>
92
+ </criteria-paged>
93
+
94
+ <modal
95
+ v-if="showModal"
96
+ :show.sync="showModal"
97
+ backdrop="false"
98
+ title="工程类型"
99
+ cancel-text="取消"
100
+ ok-text="确认"
101
+ :callback="apply"
102
+ >
103
+ <div class="form-horizontal" slot="modal-body">
104
+ <div class="form-group" style="margin: 10px auto">
105
+ <label class="col-sm-3 control-label">报建类型:</label>
106
+ <div class="col-sm-9">
107
+ <v-select
108
+ v-model="applyType"
109
+ placeholder='请选择需要发起的工程类型'
110
+ :value.sync="applyType"
111
+ :options='apply_types'
112
+ :value-single="true"
113
+ class="select select_list"
114
+ :search="false"
115
+ close-on-select ></v-select>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ </modal>
120
+ </div>
121
+ </template>
122
+ <script>
123
+ import {HttpResetClass, PagedList} from 'vue-client'
124
+ import {isEmpty} from '../../Util'
125
+
126
+ export default {
127
+ title: '工程列表',
128
+ props: ['showData'],
129
+ data () {
130
+ return {
131
+ model: new PagedList('rs/sql/getGuanXianApply', 20, {
132
+ data: {
133
+ userid: this.$login.f.id,
134
+ f_filiale: "榆林."+this.$login.f.orgs
135
+ }
136
+ }),
137
+ showModal: false, // 控制发起类型选择
138
+ defnames: isEmpty(this.$appdata.getParam('管线建设环节')) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam('管线建设环节')], // 流程节点
139
+ save_states: [{label: '全部', value: ''},{label: '已完成', value: '已完成'},{label: '已退回', value: '已退回'}], // 报建性质
140
+ apply_types: [{label: '管线建设', value: '管线建设'}],
141
+ designerPeoples: this.getDesigner(),
142
+ criteriaShow: false,
143
+ getfield: {
144
+ 'f_apply_num': ' 工 程 编 号 ',
145
+ 'f_user_name': ' 客 户 名 称 ',
146
+ 'f_contact': ' 联 系 人 ',
147
+ 'f_phone': ' 电 话 ',
148
+ 'f_user_type': ' 用户类型 ',
149
+ 'f_user_classification': ' 用户分类 ',
150
+ 'f_address': ' 地 址 ',
151
+ 'f_apply_type': ' 报 建 类 型 ',
152
+ 'f_apply_nature': ' 报 建 性 质 ',
153
+ 'defname': ' 办 理 环 节 ',
154
+ 'f_install_count': ' 安装户数 ',
155
+ 'f_designer_people':' 设计人员 '
156
+ }
157
+ }
158
+ },
159
+ ready () {
160
+ // 调用查询
161
+ this.search()
162
+ },
163
+ methods: {
164
+ // 点击操作
165
+ click (val) {
166
+ this.$dispatch('apply', val)
167
+ },
168
+ // 获取流程id
169
+ async getProcessId(processname) {
170
+ let data = {
171
+ workname: processname
172
+ }
173
+ let http = new HttpResetClass()
174
+ let res = await http.load(
175
+ 'POST',
176
+ 'rs/logic/getProcessId',
177
+ {data: data},
178
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
179
+ )
180
+
181
+ return res.data
182
+ },
183
+ // 报装申请
184
+ async apply () {
185
+ if (this.applyType === '' || this.applyType === null) {
186
+ this.$showAlert('请选择需要发起的类型', 'warning', 3000)
187
+ return
188
+ }
189
+ let data = {
190
+ f_apply_type: this.applyType
191
+ }
192
+ if (this.applyType === '管线建设') {
193
+ data.processname = '管线建设流程'
194
+ data.defname = '管线建设登记'
195
+ }
196
+ // if (this.$login.f.rolesnames.includes('工程部派工')){
197
+ // if (this.applyType === '管线建设') {
198
+ // data.processname = '管线建设流程'
199
+ // data.defname = '管线建设登记'
200
+ // } else {
201
+ // this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
202
+ // return
203
+ // }
204
+ // } else {
205
+ // this.$showMessage('您没有权限办理此业务,或者暂无此类报装')
206
+ // return
207
+ // }
208
+
209
+ data.f_sub_state = "新增"
210
+ data.f_apply_source = "线下发起"
211
+ data.f_process_id = await this.getProcessId(data.processname)
212
+
213
+ // 调用ExplorationUser事件
214
+ this.$dispatch('apply', data)
215
+
216
+ this.applyType = null
217
+ this.showModal = false
218
+ },
219
+ loadPage () {
220
+ this.$dispatch('loadPage')
221
+ },
222
+ searchCondition (args) {
223
+
224
+ this.model.search(args.condition, args.model)
225
+
226
+ console.log("当前数据",this.model)
227
+ },
228
+ search () {
229
+ this.$dispatch('search')
230
+ },
231
+ async getDesigner() {
232
+ let data = {
233
+ source: 'this.getParentByType($organization$).getChildByName($设计人员$).getChildren()',
234
+ userid: this.$login.f.id
235
+ }
236
+ let http = new HttpResetClass()
237
+ let res = await http.load(
238
+ 'POST',
239
+ `rs/search`,
240
+ { data: data },
241
+ {resolveMsg: null, rejectMsg: '设计人员人员查询失败!!!'}
242
+ )
243
+ console.log("ces",res.data.map(item => {
244
+ return {
245
+ label: item.name,
246
+ value: item.name
247
+ }
248
+ }))
249
+ this.designerPeoples = res.data.map(item => {
250
+ return {
251
+ label: item.name,
252
+ value: item.name
253
+ }
254
+ })
255
+ },
256
+ clear () {
257
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
258
+ this.$refs.cp.$refs.cri.model[key] = null
259
+ })
260
+ }
261
+ },
262
+ computed: {
263
+ projectStart () {
264
+ return this.$login.r.includes('报建发起')
265
+ },
266
+ getLoginDepartment(){
267
+ return this.$login.f.rolesnames.includes('市场部报装')
268
+ },
269
+ getCondition () {
270
+ return {
271
+ condition: this.$refs.cp.$refs.cri.condition,
272
+ data: {
273
+ userid: this.$login.f.id,
274
+ f_filiale: "榆林."+this.$login.f.orgs
275
+ }
276
+ }
277
+ }
278
+ },
279
+ watch: {
280
+ // 'model.rows': {
281
+ // handler: function () {
282
+ // let isover = [] // 过期(超时)数据
283
+ // let isbeforeover = [] // 未过期 提前提醒
284
+ // for (let i = 0; i < this.model.rows.length; i++) {
285
+ // let item = this.model.rows[i]
286
+ // if (item.isover === '过期') {
287
+ // isover.push(i + 1)
288
+ // }
289
+ // if (item.isbeforeover === '预期提醒') {
290
+ // isbeforeover.push(i + 1)
291
+ // }
292
+ // }
293
+ // let msg = null
294
+ // if (isover.length > 0) {
295
+ // msg = `第${isover.toString()}条数据已过期`
296
+ // this.$showAlert(msg, 'warning', 3000)
297
+ // }
298
+ //
299
+ // if (isbeforeover.length > 0) {
300
+ // msg = `第${isbeforeover.toString()}条数据即将过期`
301
+ // if (isover.length > 0) {
302
+ // setTimeout(() => {
303
+ // this.$showAlert(msg, 'warning', 3000)
304
+ // }, 4000)
305
+ // } else {
306
+ // this.$showAlert(msg, 'warning', 3000)
307
+ // }
308
+ // }
309
+ // }
310
+ // }
311
+ },
312
+ events: {
313
+ }
314
+ }
315
+ </script>
316
+ <style scoped>
317
+
318
+ .p1 {
319
+ color: #dc0b12;
320
+ font-weight:bold
321
+ }
322
+ .p {
323
+ color: #ffaf4f;
324
+ }
325
+ </style>