apply-clients 7.1.36-yuchuan-53 → 7.1.36-yuchuan-55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/android.html +27 -27
  2. package/package.json +1 -1
  3. package/src/apply.js +163 -163
  4. package/src/applyAndroid.js +98 -98
  5. package/src/components/android/AppSign.vue +232 -232
  6. package/src/components/android/Ignition/VentilationIgnition.vue +441 -441
  7. package/src/components/android/Ignition/VentilationIgnitionHandle.vue +472 -472
  8. package/src/components/android/Process/AppExplorationUser.vue +454 -454
  9. package/src/components/android/Process/AppServiceControl.vue +1434 -1434
  10. package/src/components/android/Process/Processes/AppInstallationDetails.vue +1026 -1026
  11. package/src/components/android/Process/Processes/newAppInstallationDetails.vue +671 -671
  12. package/src/components/android/SealBind.vue +8 -2
  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/ChongZheng/ApplyChongZhengList.vue +417 -417
  33. package/src/components/product/Function/InstallFunction.vue +132 -132
  34. package/src/components/product/Function/InstallInfoSelect.vue +374 -374
  35. package/src/components/product/Ignition/IgnitionDispatch.vue +90 -90
  36. package/src/components/product/Ignition/IgnitionListManage.vue +604 -604
  37. package/src/components/product/Ignition/IgnitionRecord.vue +380 -380
  38. package/src/components/product/InsuranceApply/InsuranceReport.vue +188 -188
  39. package/src/components/product/List/OldShowDevices.vue +2 -1
  40. package/src/components/product/List/ShowAllActivity.vue +541 -541
  41. package/src/components/product/List/ShowDevices.vue +279 -279
  42. package/src/components/product/Print/BuildOrder/buildOrderList.vue +446 -446
  43. package/src/components/product/Process/ExplorationSelect.vue +593 -593
  44. package/src/components/product/Process/ExplorationUser.vue +154 -154
  45. package/src/components/product/Process/New1ExplorationUser.vue +196 -196
  46. package/src/components/product/Process/NewExplorationSelect.vue +587 -587
  47. package/src/components/product/Process/NewExplorationUser.vue +216 -216
  48. package/src/components/product/Process/Processes/Print/printCharge.vue +250 -250
  49. package/src/components/product/Process/Processes/Print/printGaiXianCharge.vue +244 -244
  50. package/src/components/product/Process/Processes/chargeManagement.vue +713 -713
  51. package/src/components/product/Process/Processes/selectApply.vue +250 -250
  52. package/src/components/product/Process/Processes/selectChaiChuUserinfo.vue +230 -230
  53. package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -241
  54. package/src/components/product/Process/Processes/selectUserinfo.vue +234 -234
  55. package/src/components/product/Process/Service/ServiceControl.vue +2223 -2223
  56. package/src/components/product/Process/Service/ShowBackReason.vue +33 -33
  57. package/src/components/product/ServiceView.vue +644 -644
  58. package/src/components/product/Stop/StopApplyList.vue +224 -224
  59. package/src/components/product/Supervisory/NewSupervisoryhCart.vue +175 -175
  60. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +593 -593
  61. package/src/components/product/Supervisory/SupervisoryControl.vue +114 -114
  62. package/src/components/product/Supervisory/SupervisoryList.vue +586 -586
  63. package/src/components/product/Supervisory/SupervisoryhCart.vue +120 -120
  64. package/src/components/product/Supervisory/YiBanSupervisoryControl.vue +111 -111
  65. package/src/components/product/Supervisory/YiBanSupervisoryList.vue +539 -539
  66. package/src/components/product/VueUtils/ApplyUpload.vue +303 -303
  67. package/src/main.js +27 -27
@@ -1,431 +1,431 @@
1
- <template>
2
- <div class="p-10">
3
- <criteria-paged :model="model" v-ref:cp>
4
- <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
5
- <div partial class="auto">
6
- <div class="row form-group app-input">
7
- <label class="">客户名称:</label>
8
- <div class="col-xs-8" >
9
- <input class="" v-model=model.f_user_name condition="u.f_user_name like '%{}%'" />
10
- </div>
11
- </div>
12
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
13
- <label class="">联系电话:</label>
14
- <div class="col-xs-8" >
15
- <input class="" v-model=model.f_phone condition="u.f_phone like '%{}%'" />
16
- </div>
17
- </div>
18
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
19
- <label class="">工程编号:</label>
20
- <div class="col-xs-8" >
21
- <input class="" v-model=model.f_apply_num condition="u.f_apply_num like '%{}%'" />
22
- </div>
23
- </div>
24
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
25
- <label class="">合同编号:</label>
26
- <div class="col-xs-8" >
27
- <input class="" v-model=model.f_contract_number condition="u.f_contract_number like '%{}%'" />
28
- </div>
29
- </div>
30
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
31
- <label class="">报建类型:</label>
32
- <div class="col-xs-8" >
33
- <v-select
34
- width="100%"
35
- v-model="model.f_apply_type"
36
- placeholder='报建类型'
37
- condition="u.f_apply_type like '%{}%'"
38
- :value.sync="model.f_apply_type"
39
- :options='$parent.$parent.applytype'
40
- class="select select_list"
41
- :value-single="true"
42
- @change="$parent.$parent.applyTypeChange()"
43
- close-on-select ></v-select>
44
- </div>
45
- </div>
46
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
47
- <label class="">办理环节:</label>
48
- <div class="col-xs-8" >
49
- <v-select
50
- width="100%"
51
- v-model="model.defname"
52
- placeholder='办理环节'
53
- condition="act.defname = '{}'"
54
- :value.sync="model.defname"
55
- :options='$parent.$parent.defnames'
56
- class="select select_list"
57
- :value-single="true"
58
- close-on-select ></v-select>
59
- </div>
60
- </div>
61
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
62
- <label class="">报建性质:</label>
63
- <div class="col-xs-8" >
64
- <v-select
65
- width="100%"
66
- v-model="model.f_apply_nature"
67
- placeholder='报建性质'
68
- condition="f_apply_nature = '{}'"
69
- :value.sync="model.f_apply_nature"
70
- :options='$parent.$parent.applyNatures'
71
- class="select select_list"
72
- :value-single="true"
73
- close-on-select ></v-select>
74
- </div>
75
- </div>
76
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
77
- <label class="">用户地址:</label>
78
- <div class="col-xs-8" >
79
- <input class="" v-model=model.f_address condition="u.f_address like '%{}%'" />
80
- </div>
81
- </div>
82
- <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
83
- <label class="">小&emsp;&emsp;区:</label>
84
- <div class="col-xs-8" >
85
- <v-select
86
- width="100%"
87
- v-model="model.f_residential_area"
88
- placeholder='小区'
89
- condition="u.f_residential_area = '{}'"
90
- :value.sync="model.f_residential_area"
91
- :options='$parent.$parent.areaList'
92
- class="select select_list"
93
- :value-single="true"
94
- close-on-select ></v-select>
95
- </div>
96
- </div>
97
- <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
98
- <label class="">楼&emsp;&emsp;号:</label>
99
- <div class="col-xs-8" >
100
- <input class="" v-model=model.f_building condition="u.f_building like '%{}%'" />
101
- </div>
102
- </div>
103
- <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
104
- <label class="">单&emsp;&emsp;元:</label>
105
- <div class="col-xs-8" >
106
- <input class="" v-model=model.f_unit condition="u.f_unit like '%{}%'" />
107
- </div>
108
- </div>
109
- <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
110
- <label class="">门&ensp;牌&ensp;号:</label>
111
- <div class="col-xs-8" >
112
- <input class="" v-model=model.f_room condition="u.f_room like '%{}%'" />
113
- </div>
114
- </div>
115
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
116
- <label class="">开始时间:</label>
117
- <div class="col-xs-8" >
118
- <datepicker id="startDate" placeholder="开始日期"
119
- style="width: 100%!important;"
120
- v-model="model.startDate"
121
- :value.sync="model.startDate"
122
- :format="'yyyy-MM-dd 00:00:00'"
123
- :show-reset-button="true"
124
- condition="u.f_apply_date >= '{}'">
125
- </datepicker>
126
- </div>
127
- </div>
128
- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
129
- <label class="">结束时间:</label>
130
- <div class="col-xs-8" >
131
- <datepicker id="endDate" placeholder="结束日期"
132
- style="width: 100%!important;"
133
- v-model="model.endDate"
134
- :value.sync="model.endDate"
135
- :format="'yyyy-MM-dd 23:59:59'"
136
- :show-reset-button="true"
137
- condition="f_apply_date <= '{}'">
138
- </datepicker>
139
- </div>
140
- </div>
141
- <!-- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">-->
142
- <!-- <label class="">稍后处理:</label>-->
143
- <!-- <div class="col-xs-8" >-->
144
- <!-- <v-select-->
145
- <!-- width="100%"-->
146
- <!-- v-model="model.f_is_later"-->
147
- <!-- placeholder='稍后处理'-->
148
- <!-- condition="f_is_later = '{}'"-->
149
- <!-- :value.sync="model.f_is_later"-->
150
- <!-- :options='$parent.$parent.laterList'-->
151
- <!-- class="select select_list"-->
152
- <!-- :value-single="true"-->
153
- <!-- close-on-select ></v-select>-->
154
- <!-- </div>-->
155
- <!-- </div>-->
156
- <div class="row form-group text-right" style="">
157
- <button class="btn btn-primary" v-if="$parent.$parent.defname === '现场勘察'" @click="$parent.$parent.changeSearch()">{{ $parent.$parent.showSupervisory ? '需整改' : '正常' }}</button>
158
- <button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
159
- <button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
160
- <button class="btn" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></button>
161
- </div>
162
- </div>
163
- </criteria>
164
-
165
- <list :model="model" partial='list'>
166
- <div partial class="auto app-text panel">
167
- <div class="panel-body panel-self">
168
- <div class="col-xs-12">
169
- <p class="col-xs-3 text-left font"><b>客户名称:</b></p>
170
- <p class="col-xs-9 text-left input-font">{{ row.f_user_name }}</p>
171
- </div>
172
- <div class="col-xs-12">
173
- <p class="col-xs-3 text-left font"><b>电&emsp;&emsp;话:</b></p>
174
- <p class="col-xs-9 text-left input-font">
175
- {{ row.f_phone }}&ensp;
176
- <svg @click.prevent="$parent.$parent.$parent.dialNumber(row.f_phone)" style="width: 25px;height: 25px;position: absolute;" t="1628575136009" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2374" width="200" height="200"><path d="M682.25 465.262c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811A167.395 167.395 0 0 0 570.96 298.35c-16.695 0-27.811 11.116-27.811 27.811s11.16 27.812 27.811 27.812a111.597 111.597 0 0 1 111.29 111.289z m111.289 0c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811c0-152.984-125.217-278.201-278.2-278.201-16.696 0-27.812 11.16-27.812 27.855s11.16 27.811 27.811 27.811c122.405 0 222.579 100.174 222.579 222.535zM417.976 367.9c30.623-30.579 33.391-77.898 5.58-111.289L337.31 148.134c-27.811-36.16-80.666-41.74-116.869-13.928-2.768 2.812-5.536 2.812-5.536 5.58l-75.13 75.13c-72.318 72.318 30.623 267.041 217.042 453.417C543.15 854.708 735.06 954.88 807.378 885.33l75.13-75.13c33.392-33.391 33.392-86.246 0-116.825l-5.536-5.58-108.52-86.246c-33.348-27.81-80.623-25.043-111.246 5.58l-47.275 47.319c-50.087-30.623-94.593-64.014-133.564-102.941-38.927-38.971-72.275-83.478-102.898-133.565l44.507-50.043z m-38.927-75.13c8.348 11.16 8.348 27.855-2.812 36.203l-61.202 63.97a29.569 29.569 0 0 0-5.536 33.392 721.425 721.425 0 0 0 122.405 164.1 721.512 721.512 0 0 0 164.1 122.405 29.569 29.569 0 0 0 33.39-5.58l63.971-63.97c11.16-11.116 25.043-11.116 36.203-2.769l108.477 89.014s2.768 0 2.768 2.768a26.889 26.889 0 0 1 0 38.971l-75.13 75.13c-36.115 36.115-208.606-55.666-372.75-217.042-164.1-161.332-253.114-336.548-216.955-372.75l77.854-77.899c11.16-8.348 30.623-8.348 38.971 5.58l86.246 108.521z" fill="#8A8A8A" p-id="2375"></path></svg>
177
- </p>
178
- </div>
179
- <div class="col-xs-12">
180
- <p class="col-xs-3 text-left font"><b>工程编号:</b></p>
181
- <p class="col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
182
- </div>
183
- <div class="col-xs-12">
184
- <p class="col-xs-3 text-left font"><b>客户编号:</b></p>
185
- <p class="col-xs-9 text-left input-font">{{ row.f_userinfo_code }}</p>
186
- </div>
187
- <div class="col-xs-12">
188
- <p class="col-xs-3 text-left font"><b>报建类型:</b></p>
189
- <p class="col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
190
- </div>
191
- <div class="col-xs-12">
192
- <p class="col-xs-3 text-left font"><b>办理环节:</b></p>
193
- <p class="col-xs-9 text-left input-font">{{ row.defname }}</p>
194
- </div>
195
- <div class="col-xs-12">
196
- <p class="col-xs-3 text-left font"><b>定位地址:</b></p>
197
- <p class="col-xs-9 text-left input-font">
198
- {{ row.f_order_address }}
199
- <svg @click.prevent="$parent.$parent.$parent.openAmap(row)" style="width: 25px;height: 25px;position: absolute;" t="1628575336648" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3201" width="200" height="200"><path d="M512 956h-1.1c-10.9 0-20.5-6.9-24.7-17L369.9 654.1 85 537.8c-10.1-4.1-16.8-13.7-17.2-24.6-0.4-10.9 5.6-21 15.3-25.9l833-416.5c10.7-5.3 23.6-3.2 32.1 5.2s10.5 21.4 5.2 32.1L536.8 940.9c-4.7 9.4-14.3 15.1-24.8 15.1zM162.7 509.6l239 97.6c6.9 2.8 12.4 8.3 15.2 15.2l97.6 239 351.9-703.8-703.7 352z" fill="#666666" p-id="3202"></path></svg>
200
- </p>
201
- </div>
202
- <div class="col-xs-12">
203
- <p class="col-xs-3 text-left font"><b>地&emsp;&emsp;址:</b></p>
204
- <p class="col-xs-9 text-left input-font">{{ row.f_address }}</p>
205
- </div>
206
- <div class="col-xs-12">
207
- <p class="col-xs-3 text-left font"><b>报建日期:</b></p>
208
- <p class="col-xs-9 text-left input-font">{{ row.f_apply_date }}</p>
209
- </div>
210
- <div class="col-xs-12" style="color: red">
211
- <p class="col-xs-3 text-left font"><b>施工备注:</b></p>
212
- <p class="col-xs-9 text-left input-font">{{ row.f_construction_remarks }}</p>
213
- </div>
214
-
215
- <div class="col-xs-12 text-right">
216
- <button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">处理</button>
217
- </div>
218
- </div>
219
- </div>
220
- </list>
221
- </criteria-paged>
222
- </div>
223
- </template>
224
- <script>
225
- import Vue from 'vue'
226
- import { PagedList, HttpResetClass } from 'vue-client'
227
- import {isEmpty} from '../../../Util'
228
- export default {
229
- title: '报建流程',
230
- props: ['defname', 'f_lat', 'f_lng', 'usertype'],
231
- data () {
232
- return {
233
- model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/showBuildCheckuser`, 20, {
234
- data: {
235
- userid: Vue.user.id,
236
- f_filiale: "榆林."+Vue.user.orgs
237
- }
238
- }),
239
- criteriaShow: false,
240
- applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
241
- defnames: [{label: '全部', value: ''}],
242
- applyNatures: [{label: '全部', value: ''}], // 报建性质
243
- areaList: [],
244
- showSupervisory: true
245
- }
246
- },
247
- ready () {
248
- this.getArea()
249
- this.search()
250
- },
251
- methods: {
252
- refresh () {
253
- this.search()
254
- this.$dispatch('refreshDot')
255
- },
256
- openAmap (selectdata) {
257
- HostApp.openThirdPartyMap({
258
- lon: selectdata.f_lng,
259
- lat: selectdata.f_lat,
260
- address: selectdata.f_order_address
261
- })
262
- },
263
- dialNumber (phone) {
264
- this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
265
- if (res === 'confirm') {
266
- this.$androidUtil.makeAPhoneCall(phone)
267
- }
268
- })
269
- },
270
- clear () {
271
- Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
272
- this.$refs.cp.$refs.cri.model[key] = null
273
- })
274
- },
275
- // 查询
276
- search () {
277
- this.$refs.cp.$refs.cri.search()
278
- this.criteriaShow = false
279
- },
280
- // f_construction_unit 施工单位 //f_supervisor_operator_id 监理单位
281
- // f_check_operator_id 检测单位 //f_supervisor_operator 监理单位
282
- // f_engineering_operator_id 土建单位 //f_construct_operator_id 建设单位
283
- searchCondition (args) {
284
- if (this.defname === '施工信息'){
285
- args.condition = args.condition + ` and act.defname = '工程施工' and (f_construction_unit = '${Vue.user.id}'
286
- or f_check_operator_id = '${Vue.user.id}' or f_engineering_operator_id = '${Vue.user.id}'
287
- or f_supervisor_operator_id = '${Vue.user.id}' or f_supervisor_operator = '${Vue.user.id}'
288
- or f_construct_operator_id = '${Vue.user.id}')`
289
- }else {
290
- args.condition += `and act.defname = '${this.defname}'`
291
- }
292
- if (this.usertype){
293
- //报建类型 f_apply_type
294
- args.condition += `and u.f_apply_type = '${this.usertype}'`
295
- }
296
- if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
297
- // 维度 经度
298
- args.condition += `and u.f_lat = '${this.f_lat}' and u.f_lng = '${this.f_lng}'`
299
- }
300
- console.log("args.condition",args.condition)
301
- this.model.search(args.condition, args.model)
302
- this.f_lat = null
303
- this.f_lng = null
304
- },
305
- click (row) {
306
- if (this.defname === '施工信息'){
307
- row.defname = '施工信息'
308
- }
309
- let _this = this
310
- this.$dispatch('gotoson', {
311
- _this: _this,
312
- title: row.defname,
313
- safe: true
314
- })
315
- this.$goto('app-service-control', {selectdata: row}, 'self', _this.refresh)
316
- },
317
- applyTypeChange () {
318
- if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
319
- let http = new HttpResetClass()
320
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/getDefnameByType`, {
321
- // http.load('POST', 'rs/logic/getDefnameByType', {
322
- f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
323
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
324
- this.defnames = [{label: '全部', value: ''}, ...res.data]
325
-
326
- 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}性质`)]
327
- })
328
- } else {
329
- this.defnames = [{label: '全部', value: ''}]
330
-
331
- this.applyNatures = [{label: '全部', value: ''}]
332
- }
333
- },
334
- // 获取小区
335
- async getArea () {
336
- let data = {
337
- tablename: 't_area_address',
338
- condition: `f_filiale like '%${"榆林."+Vue.user.orgs}%' and f_area_status = '启用'`
339
- }
340
- let http = new HttpResetClass()
341
- let res = await http.load(
342
- 'POST',
343
- `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
344
- {data: data},
345
- {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
346
- )
347
- this.areaList = res.data.map(item => {
348
- return {
349
- label: item.f_residential_area,
350
- value: item.f_residential_area
351
- }
352
- })
353
- },
354
- changeSearch(){
355
- this.showSupervisory = !this.showSupervisory
356
- this.search()
357
- },
358
- },
359
- events: {
360
- },
361
- watch: {
362
- // 通过计算属性同时监听多个值
363
- 'changeData' () {
364
- if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
365
- this.search()
366
- }
367
- }
368
- },
369
- computed: {
370
- changeData () {
371
- const {f_lat, f_lng} = this
372
- return {
373
- f_lat,
374
- f_lng
375
- }
376
- }
377
- }
378
- }
379
- </script>
380
- <style scoped>
381
- .panel-self{
382
- border-radius: 10px;
383
- border:1px solid #499EDF;
384
- background-color: #F8F8F8;
385
- }
386
- .font{
387
- font: 15px PingFang-SC-Medium;
388
- color: #666666;
389
- }
390
-
391
- .button_shrink_top {
392
- width: 34px;
393
- height: 34px;
394
- border: solid 1px #6aa6e2;
395
- background-size: 100%;
396
- background-image: url("../../../../../static/newStyle/stretch_top.png")
397
- }
398
-
399
- .button_shrink_bottom {
400
- width: 34px;
401
- height: 34px;
402
- border: solid 1px #6aa6e2;
403
- background-size: 100%;
404
- background-image: url("../../../../../static/newStyle/stretch_bottom.png")
405
- }
406
- </style>
407
- <style lang="less">
408
- .app-input {
409
- label {
410
- float: left;
411
- }
412
- .select {
413
- button {
414
- border: none;
415
- outline: none;
416
- text-align: left;
417
- .btn-placeholder {
418
- color: #ACA899
419
- }
420
- }
421
- }
422
- .datepicker {
423
- .form-control:focus {
424
- border: none!important;
425
- outline: none!important;
426
- -webkit-box-shadow: none;
427
- box-shadow: none;
428
- }
429
- }
430
- }
431
- </style>
1
+ <template>
2
+ <div class="p-10">
3
+ <criteria-paged :model="model" v-ref:cp>
4
+ <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
5
+ <div partial class="auto">
6
+ <div class="row form-group app-input">
7
+ <label class="">客户名称:</label>
8
+ <div class="col-xs-8" >
9
+ <input class="" v-model=model.f_user_name condition="u.f_user_name like '%{}%'" />
10
+ </div>
11
+ </div>
12
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
13
+ <label class="">联系电话:</label>
14
+ <div class="col-xs-8" >
15
+ <input class="" v-model=model.f_phone condition="u.f_phone like '%{}%'" />
16
+ </div>
17
+ </div>
18
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
19
+ <label class="">工程编号:</label>
20
+ <div class="col-xs-8" >
21
+ <input class="" v-model=model.f_apply_num condition="u.f_apply_num like '%{}%'" />
22
+ </div>
23
+ </div>
24
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
25
+ <label class="">合同编号:</label>
26
+ <div class="col-xs-8" >
27
+ <input class="" v-model=model.f_contract_number condition="u.f_contract_number like '%{}%'" />
28
+ </div>
29
+ </div>
30
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
31
+ <label class="">报建类型:</label>
32
+ <div class="col-xs-8" >
33
+ <v-select
34
+ width="100%"
35
+ v-model="model.f_apply_type"
36
+ placeholder='报建类型'
37
+ condition="u.f_apply_type like '%{}%'"
38
+ :value.sync="model.f_apply_type"
39
+ :options='$parent.$parent.applytype'
40
+ class="select select_list"
41
+ :value-single="true"
42
+ @change="$parent.$parent.applyTypeChange()"
43
+ close-on-select ></v-select>
44
+ </div>
45
+ </div>
46
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
47
+ <label class="">办理环节:</label>
48
+ <div class="col-xs-8" >
49
+ <v-select
50
+ width="100%"
51
+ v-model="model.defname"
52
+ placeholder='办理环节'
53
+ condition="act.defname = '{}'"
54
+ :value.sync="model.defname"
55
+ :options='$parent.$parent.defnames'
56
+ class="select select_list"
57
+ :value-single="true"
58
+ close-on-select ></v-select>
59
+ </div>
60
+ </div>
61
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
62
+ <label class="">报建性质:</label>
63
+ <div class="col-xs-8" >
64
+ <v-select
65
+ width="100%"
66
+ v-model="model.f_apply_nature"
67
+ placeholder='报建性质'
68
+ condition="f_apply_nature = '{}'"
69
+ :value.sync="model.f_apply_nature"
70
+ :options='$parent.$parent.applyNatures'
71
+ class="select select_list"
72
+ :value-single="true"
73
+ close-on-select ></v-select>
74
+ </div>
75
+ </div>
76
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
77
+ <label class="">用户地址:</label>
78
+ <div class="col-xs-8" >
79
+ <input class="" v-model=model.f_address condition="u.f_address like '%{}%'" />
80
+ </div>
81
+ </div>
82
+ <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
83
+ <label class="">小&emsp;&emsp;区:</label>
84
+ <div class="col-xs-8" >
85
+ <v-select
86
+ width="100%"
87
+ v-model="model.f_residential_area"
88
+ placeholder='小区'
89
+ condition="u.f_residential_area = '{}'"
90
+ :value.sync="model.f_residential_area"
91
+ :options='$parent.$parent.areaList'
92
+ class="select select_list"
93
+ :value-single="true"
94
+ close-on-select ></v-select>
95
+ </div>
96
+ </div>
97
+ <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
98
+ <label class="">楼&emsp;&emsp;号:</label>
99
+ <div class="col-xs-8" >
100
+ <input class="" v-model=model.f_building condition="u.f_building like '%{}%'" />
101
+ </div>
102
+ </div>
103
+ <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
104
+ <label class="">单&emsp;&emsp;元:</label>
105
+ <div class="col-xs-8" >
106
+ <input class="" v-model=model.f_unit condition="u.f_unit like '%{}%'" />
107
+ </div>
108
+ </div>
109
+ <div class="row form-group app-input" v-if="$parent.$parent.defname === '工程施工' && $parent.$parent.criteriaShow">
110
+ <label class="">门&ensp;牌&ensp;号:</label>
111
+ <div class="col-xs-8" >
112
+ <input class="" v-model=model.f_room condition="u.f_room like '%{}%'" />
113
+ </div>
114
+ </div>
115
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
116
+ <label class="">开始时间:</label>
117
+ <div class="col-xs-8" >
118
+ <datepicker id="startDate" placeholder="开始日期"
119
+ style="width: 100%!important;"
120
+ v-model="model.startDate"
121
+ :value.sync="model.startDate"
122
+ :format="'yyyy-MM-dd 00:00:00'"
123
+ :show-reset-button="true"
124
+ condition="u.f_apply_date >= '{}'">
125
+ </datepicker>
126
+ </div>
127
+ </div>
128
+ <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">
129
+ <label class="">结束时间:</label>
130
+ <div class="col-xs-8" >
131
+ <datepicker id="endDate" placeholder="结束日期"
132
+ style="width: 100%!important;"
133
+ v-model="model.endDate"
134
+ :value.sync="model.endDate"
135
+ :format="'yyyy-MM-dd 23:59:59'"
136
+ :show-reset-button="true"
137
+ condition="f_apply_date <= '{}'">
138
+ </datepicker>
139
+ </div>
140
+ </div>
141
+ <!-- <div class="row form-group app-input" v-if="$parent.$parent.criteriaShow">-->
142
+ <!-- <label class="">稍后处理:</label>-->
143
+ <!-- <div class="col-xs-8" >-->
144
+ <!-- <v-select-->
145
+ <!-- width="100%"-->
146
+ <!-- v-model="model.f_is_later"-->
147
+ <!-- placeholder='稍后处理'-->
148
+ <!-- condition="f_is_later = '{}'"-->
149
+ <!-- :value.sync="model.f_is_later"-->
150
+ <!-- :options='$parent.$parent.laterList'-->
151
+ <!-- class="select select_list"-->
152
+ <!-- :value-single="true"-->
153
+ <!-- close-on-select ></v-select>-->
154
+ <!-- </div>-->
155
+ <!-- </div>-->
156
+ <div class="row form-group text-right" style="">
157
+ <button class="btn btn-primary" v-if="$parent.$parent.defname === '现场勘察'" @click="$parent.$parent.changeSearch()">{{ $parent.$parent.showSupervisory ? '需整改' : '正常' }}</button>
158
+ <button class="btn btn-primary" @click="$parent.$parent.search()">查询</button>
159
+ <button class="btn btn-info" @click="$parent.$parent.clear()">清空</button>
160
+ <button class="btn" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"></button>
161
+ </div>
162
+ </div>
163
+ </criteria>
164
+
165
+ <list :model="model" partial='list'>
166
+ <div partial class="auto app-text panel">
167
+ <div class="panel-body panel-self">
168
+ <div class="col-xs-12">
169
+ <p class="col-xs-3 text-left font"><b>客户名称:</b></p>
170
+ <p class="col-xs-9 text-left input-font">{{ row.f_user_name }}</p>
171
+ </div>
172
+ <div class="col-xs-12">
173
+ <p class="col-xs-3 text-left font"><b>电&emsp;&emsp;话:</b></p>
174
+ <p class="col-xs-9 text-left input-font">
175
+ {{ row.f_phone }}&ensp;
176
+ <svg @click.prevent="$parent.$parent.$parent.dialNumber(row.f_phone)" style="width: 25px;height: 25px;position: absolute;" t="1628575136009" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2374" width="200" height="200"><path d="M682.25 465.262c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811A167.395 167.395 0 0 0 570.96 298.35c-16.695 0-27.811 11.116-27.811 27.811s11.16 27.812 27.811 27.812a111.597 111.597 0 0 1 111.29 111.289z m111.289 0c0 16.695 11.115 27.811 27.81 27.811s27.812-11.116 27.812-27.811c0-152.984-125.217-278.201-278.2-278.201-16.696 0-27.812 11.16-27.812 27.855s11.16 27.811 27.811 27.811c122.405 0 222.579 100.174 222.579 222.535zM417.976 367.9c30.623-30.579 33.391-77.898 5.58-111.289L337.31 148.134c-27.811-36.16-80.666-41.74-116.869-13.928-2.768 2.812-5.536 2.812-5.536 5.58l-75.13 75.13c-72.318 72.318 30.623 267.041 217.042 453.417C543.15 854.708 735.06 954.88 807.378 885.33l75.13-75.13c33.392-33.391 33.392-86.246 0-116.825l-5.536-5.58-108.52-86.246c-33.348-27.81-80.623-25.043-111.246 5.58l-47.275 47.319c-50.087-30.623-94.593-64.014-133.564-102.941-38.927-38.971-72.275-83.478-102.898-133.565l44.507-50.043z m-38.927-75.13c8.348 11.16 8.348 27.855-2.812 36.203l-61.202 63.97a29.569 29.569 0 0 0-5.536 33.392 721.425 721.425 0 0 0 122.405 164.1 721.512 721.512 0 0 0 164.1 122.405 29.569 29.569 0 0 0 33.39-5.58l63.971-63.97c11.16-11.116 25.043-11.116 36.203-2.769l108.477 89.014s2.768 0 2.768 2.768a26.889 26.889 0 0 1 0 38.971l-75.13 75.13c-36.115 36.115-208.606-55.666-372.75-217.042-164.1-161.332-253.114-336.548-216.955-372.75l77.854-77.899c11.16-8.348 30.623-8.348 38.971 5.58l86.246 108.521z" fill="#8A8A8A" p-id="2375"></path></svg>
177
+ </p>
178
+ </div>
179
+ <div class="col-xs-12">
180
+ <p class="col-xs-3 text-left font"><b>工程编号:</b></p>
181
+ <p class="col-xs-9 text-left input-font">{{ row.f_apply_num }}</p>
182
+ </div>
183
+ <div class="col-xs-12">
184
+ <p class="col-xs-3 text-left font"><b>客户编号:</b></p>
185
+ <p class="col-xs-9 text-left input-font">{{ row.f_userinfo_code }}</p>
186
+ </div>
187
+ <div class="col-xs-12">
188
+ <p class="col-xs-3 text-left font"><b>报建类型:</b></p>
189
+ <p class="col-xs-9 text-left input-font">{{ row.f_apply_type }}</p>
190
+ </div>
191
+ <div class="col-xs-12">
192
+ <p class="col-xs-3 text-left font"><b>办理环节:</b></p>
193
+ <p class="col-xs-9 text-left input-font">{{ row.defname }}</p>
194
+ </div>
195
+ <div class="col-xs-12">
196
+ <p class="col-xs-3 text-left font"><b>定位地址:</b></p>
197
+ <p class="col-xs-9 text-left input-font">
198
+ {{ row.f_order_address }}
199
+ <svg @click.prevent="$parent.$parent.$parent.openAmap(row)" style="width: 25px;height: 25px;position: absolute;" t="1628575336648" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3201" width="200" height="200"><path d="M512 956h-1.1c-10.9 0-20.5-6.9-24.7-17L369.9 654.1 85 537.8c-10.1-4.1-16.8-13.7-17.2-24.6-0.4-10.9 5.6-21 15.3-25.9l833-416.5c10.7-5.3 23.6-3.2 32.1 5.2s10.5 21.4 5.2 32.1L536.8 940.9c-4.7 9.4-14.3 15.1-24.8 15.1zM162.7 509.6l239 97.6c6.9 2.8 12.4 8.3 15.2 15.2l97.6 239 351.9-703.8-703.7 352z" fill="#666666" p-id="3202"></path></svg>
200
+ </p>
201
+ </div>
202
+ <div class="col-xs-12">
203
+ <p class="col-xs-3 text-left font"><b>地&emsp;&emsp;址:</b></p>
204
+ <p class="col-xs-9 text-left input-font">{{ row.f_address }}</p>
205
+ </div>
206
+ <div class="col-xs-12">
207
+ <p class="col-xs-3 text-left font"><b>报建日期:</b></p>
208
+ <p class="col-xs-9 text-left input-font">{{ row.f_apply_date }}</p>
209
+ </div>
210
+ <div class="col-xs-12" style="color: red">
211
+ <p class="col-xs-3 text-left font"><b>施工备注:</b></p>
212
+ <p class="col-xs-9 text-left input-font">{{ row.f_construction_remarks }}</p>
213
+ </div>
214
+
215
+ <div class="col-xs-12 text-right">
216
+ <button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">处理</button>
217
+ </div>
218
+ </div>
219
+ </div>
220
+ </list>
221
+ </criteria-paged>
222
+ </div>
223
+ </template>
224
+ <script>
225
+ import Vue from 'vue'
226
+ import { PagedList, HttpResetClass } from 'vue-client'
227
+ import {isEmpty} from '../../../Util'
228
+ export default {
229
+ title: '报建流程',
230
+ props: ['defname', 'f_lat', 'f_lng', 'usertype'],
231
+ data () {
232
+ return {
233
+ model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/showBuildCheckuser`, 20, {
234
+ data: {
235
+ userid: Vue.user.id,
236
+ f_filiale: "榆林."+Vue.user.orgs
237
+ }
238
+ }),
239
+ criteriaShow: false,
240
+ applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')], // 所有报建类型
241
+ defnames: [{label: '全部', value: ''}],
242
+ applyNatures: [{label: '全部', value: ''}], // 报建性质
243
+ areaList: [],
244
+ showSupervisory: true
245
+ }
246
+ },
247
+ ready () {
248
+ this.getArea()
249
+ this.search()
250
+ },
251
+ methods: {
252
+ refresh () {
253
+ this.search()
254
+ this.$dispatch('refreshDot')
255
+ },
256
+ openAmap (selectdata) {
257
+ HostApp.openThirdPartyMap({
258
+ lon: selectdata.f_lng,
259
+ lat: selectdata.f_lat,
260
+ address: selectdata.f_order_address
261
+ })
262
+ },
263
+ dialNumber (phone) {
264
+ this.$showMessage(`是否拨打电话:${phone}`, ['confirm']).then((res) => {
265
+ if (res === 'confirm') {
266
+ this.$androidUtil.makeAPhoneCall(phone)
267
+ }
268
+ })
269
+ },
270
+ clear () {
271
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
272
+ this.$refs.cp.$refs.cri.model[key] = null
273
+ })
274
+ },
275
+ // 查询
276
+ search () {
277
+ this.$refs.cp.$refs.cri.search()
278
+ this.criteriaShow = false
279
+ },
280
+ // f_construction_unit 施工单位 //f_supervisor_operator_id 监理单位
281
+ // f_check_operator_id 检测单位 //f_supervisor_operator 监理单位
282
+ // f_engineering_operator_id 土建单位 //f_construct_operator_id 建设单位
283
+ searchCondition (args) {
284
+ if (this.defname === '施工信息'){
285
+ args.condition = args.condition + ` and act.defname = '工程施工' and (f_construction_unit = '${Vue.user.id}'
286
+ or f_check_operator_id = '${Vue.user.id}' or f_engineering_operator_id = '${Vue.user.id}'
287
+ or f_supervisor_operator_id = '${Vue.user.id}' or f_supervisor_operator = '${Vue.user.id}'
288
+ or f_construct_operator_id = '${Vue.user.id}')`
289
+ }else {
290
+ args.condition += `and act.defname = '${this.defname}'`
291
+ }
292
+ if (this.usertype){
293
+ //报建类型 f_apply_type
294
+ args.condition += `and u.f_apply_type = '${this.usertype}'`
295
+ }
296
+ if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
297
+ // 维度 经度
298
+ args.condition += `and u.f_lat = '${this.f_lat}' and u.f_lng = '${this.f_lng}'`
299
+ }
300
+ console.log("args.condition",args.condition)
301
+ this.model.search(args.condition, args.model)
302
+ this.f_lat = null
303
+ this.f_lng = null
304
+ },
305
+ click (row) {
306
+ if (this.defname === '施工信息'){
307
+ row.defname = '施工信息'
308
+ }
309
+ let _this = this
310
+ this.$dispatch('gotoson', {
311
+ _this: _this,
312
+ title: row.defname,
313
+ safe: true
314
+ })
315
+ this.$goto('app-service-control', {selectdata: row}, 'self', _this.refresh)
316
+ },
317
+ applyTypeChange () {
318
+ if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
319
+ let http = new HttpResetClass()
320
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/getDefnameByType`, {
321
+ // http.load('POST', 'rs/logic/getDefnameByType', {
322
+ f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type
323
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
324
+ this.defnames = [{label: '全部', value: ''}, ...res.data]
325
+
326
+ 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}性质`)]
327
+ })
328
+ } else {
329
+ this.defnames = [{label: '全部', value: ''}]
330
+
331
+ this.applyNatures = [{label: '全部', value: ''}]
332
+ }
333
+ },
334
+ // 获取小区
335
+ async getArea () {
336
+ let data = {
337
+ tablename: 't_area_address',
338
+ condition: `f_filiale like '%${"榆林."+Vue.user.orgs}%' and f_area_status = '启用'`
339
+ }
340
+ let http = new HttpResetClass()
341
+ let res = await http.load(
342
+ 'POST',
343
+ `${this.$androidUtil.getProxyUrl()}/rs/sql/applySingleTable`,
344
+ {data: data},
345
+ {resolveMsg: null, rejectMsg: '小区查询失败!!!'}
346
+ )
347
+ this.areaList = res.data.map(item => {
348
+ return {
349
+ label: item.f_residential_area,
350
+ value: item.f_residential_area
351
+ }
352
+ })
353
+ },
354
+ changeSearch(){
355
+ this.showSupervisory = !this.showSupervisory
356
+ this.search()
357
+ },
358
+ },
359
+ events: {
360
+ },
361
+ watch: {
362
+ // 通过计算属性同时监听多个值
363
+ 'changeData' () {
364
+ if (!isEmpty(this.f_lat) && !isEmpty(this.f_lng)) {
365
+ this.search()
366
+ }
367
+ }
368
+ },
369
+ computed: {
370
+ changeData () {
371
+ const {f_lat, f_lng} = this
372
+ return {
373
+ f_lat,
374
+ f_lng
375
+ }
376
+ }
377
+ }
378
+ }
379
+ </script>
380
+ <style scoped>
381
+ .panel-self{
382
+ border-radius: 10px;
383
+ border:1px solid #499EDF;
384
+ background-color: #F8F8F8;
385
+ }
386
+ .font{
387
+ font: 15px PingFang-SC-Medium;
388
+ color: #666666;
389
+ }
390
+
391
+ .button_shrink_top {
392
+ width: 34px;
393
+ height: 34px;
394
+ border: solid 1px #6aa6e2;
395
+ background-size: 100%;
396
+ background-image: url("../../../../../static/newStyle/stretch_top.png")
397
+ }
398
+
399
+ .button_shrink_bottom {
400
+ width: 34px;
401
+ height: 34px;
402
+ border: solid 1px #6aa6e2;
403
+ background-size: 100%;
404
+ background-image: url("../../../../../static/newStyle/stretch_bottom.png")
405
+ }
406
+ </style>
407
+ <style lang="less">
408
+ .app-input {
409
+ label {
410
+ float: left;
411
+ }
412
+ .select {
413
+ button {
414
+ border: none;
415
+ outline: none;
416
+ text-align: left;
417
+ .btn-placeholder {
418
+ color: #ACA899
419
+ }
420
+ }
421
+ }
422
+ .datepicker {
423
+ .form-control:focus {
424
+ border: none!important;
425
+ outline: none!important;
426
+ -webkit-box-shadow: none;
427
+ box-shadow: none;
428
+ }
429
+ }
430
+ }
431
+ </style>