apply-clients 3.4.65 → 3.4.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dev-server.js +2 -2
- package/package.json +4 -3
- package/src/App.vue +21 -21
- package/src/apply.js +5 -0
- package/src/applyAndroid.js +2 -0
- package/src/components/android/Ignition/VentilationIgnition.vue +408 -0
- package/src/components/android/Ignition/VentilationIgnitionHandle.vue +455 -0
- package/src/components/product/Ignition/IgnitionDispatch.vue +92 -0
- package/src/components/product/Ignition/IgnitionList.vue +236 -0
- package/src/components/product/Ignition/IgnitionListManage.vue +413 -0
- package/src/components/product/Ignition/IgnitionRecord.vue +357 -0
- package/src/components/product/Process/ExplorationSelect.vue +482 -482
- package/src/components/product/Process/Service/ServiceControl.vue +21 -1
- package/src/filiale/linzhou/pc/ServiceControl.vue +1956 -0
- package/src/filiale/linzhou/pc.js +6 -0
- package/src/filiale/shexian/pc/ExplorationSelect.vue +474 -0
- package/src/filiale/shexian/pc.js +6 -0
- package/src/main.js +23 -23
- package/yarn-error.log +0 -9976
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12">
|
|
3
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
|
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="form-group col-sm-3">
|
|
8
|
+
<label class="font_normal_body">工程编号:</label>
|
|
9
|
+
<input type="text" style="width:60%" class="input_search" placeholder='工程编号' v-model="model.f_apply_num"
|
|
10
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
11
|
+
condition="f_apply_num = '{}'">
|
|
12
|
+
</div>
|
|
13
|
+
<div class="form-group col-sm-3">
|
|
14
|
+
<label class="font_normal_body">客户名称:</label>
|
|
15
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
16
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="u.f_user_name like '%{}%'" placeholder='客户名称'>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="form-group col-sm-3">
|
|
19
|
+
<label class="font_normal_body">联系电话:</label>
|
|
20
|
+
<input type="text" style="width:60%" class="input_search" placeholder='联系电话' v-model="model.f_phone"
|
|
21
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
22
|
+
condition="f_phone like '%{}%'">
|
|
23
|
+
</div>
|
|
24
|
+
<div class="form-group col-sm-2 button-range">
|
|
25
|
+
<button class="button_search button_spacing" @click="$parent.$parent.updateShowStatus()" v-el:cx>{{$parent.$parent.showStatus ? '已派单' : '未派单'}}</button>
|
|
26
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
27
|
+
<button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
|
|
28
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
29
|
+
<div
|
|
30
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
31
|
+
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
32
|
+
class="button_spacing"
|
|
33
|
+
style="float: right">
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
38
|
+
<div class="form-group col-sm-3">
|
|
39
|
+
<label class="font_normal_body">合同编号:</label>
|
|
40
|
+
<input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
41
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
42
|
+
condition="f_contract_number = '{}'">
|
|
43
|
+
</div>
|
|
44
|
+
<div class="form-group col-sm-3">
|
|
45
|
+
<label class="font_normal_body">报建类型:</label>
|
|
46
|
+
<v-select
|
|
47
|
+
v-model="model.f_apply_type"
|
|
48
|
+
placeholder='报建类型'
|
|
49
|
+
condition="f_apply_type = '{}'"
|
|
50
|
+
:value.sync="model.f_apply_type"
|
|
51
|
+
:options='$parent.$parent.applytype'
|
|
52
|
+
class="select select_list"
|
|
53
|
+
:value-single="true"
|
|
54
|
+
close-on-select ></v-select>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="form-group col-sm-3" v-if="false">
|
|
57
|
+
<label class="font_normal_body">报建性质:</label>
|
|
58
|
+
<v-select
|
|
59
|
+
v-model="model.f_apply_nature"
|
|
60
|
+
placeholder='报建性质'
|
|
61
|
+
condition="f_apply_nature = '{}'"
|
|
62
|
+
:value.sync="model.f_apply_nature"
|
|
63
|
+
:options='$parent.$parent.applyNatures'
|
|
64
|
+
class="select select_list"
|
|
65
|
+
:value-single="true"
|
|
66
|
+
close-on-select ></v-select>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="form-group col-sm-3">
|
|
69
|
+
<label class="font_normal_body">用户地址:</label>
|
|
70
|
+
<input type="text" style="width:60%" class="input_search" placeholder='用户地址' v-model="model.f_address"
|
|
71
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
72
|
+
condition="u.f_address like '%{}%'">
|
|
73
|
+
</div>
|
|
74
|
+
<div class="form-group col-sm-3">
|
|
75
|
+
<label for="startDate" class="font_normal_body">开始时间:</label>
|
|
76
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
77
|
+
style="width: 60%!important;"
|
|
78
|
+
v-model="model.startDate"
|
|
79
|
+
:value.sync="model.startDate"
|
|
80
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
81
|
+
:show-reset-button="true"
|
|
82
|
+
condition="f_apply_date >= '{}'">
|
|
83
|
+
</datepicker>
|
|
84
|
+
</div>
|
|
85
|
+
<div class="form-group col-sm-3">
|
|
86
|
+
<label for="endDate" class="font_normal_body">结束时间:</label>
|
|
87
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
88
|
+
style="width: 60%!important;"
|
|
89
|
+
v-model="model.endDate"
|
|
90
|
+
:value.sync="model.endDate"
|
|
91
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
92
|
+
:show-reset-button="true"
|
|
93
|
+
condition="f_apply_date <= '{}'">
|
|
94
|
+
</datepicker>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="form-group col-sm-3">
|
|
97
|
+
<label class="font_normal_body">来  源:</label>
|
|
98
|
+
<v-select
|
|
99
|
+
v-model="model.f_apply_source"
|
|
100
|
+
placeholder='来源'
|
|
101
|
+
condition="u.f_apply_source = '{}'"
|
|
102
|
+
:value.sync="model.f_apply_source"
|
|
103
|
+
:options='$parent.$parent.sources'
|
|
104
|
+
class="select select_list"
|
|
105
|
+
:value-single="true"
|
|
106
|
+
close-on-select >
|
|
107
|
+
</v-select>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
</div>
|
|
111
|
+
</criteria>
|
|
112
|
+
<data-grid v-if="$parent.showData" :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
113
|
+
<template partial='head'>
|
|
114
|
+
<tr>
|
|
115
|
+
<th style="white-space: nowrap;">序号</th>
|
|
116
|
+
<th style="white-space: nowrap;">工程编号</th>
|
|
117
|
+
<th style="white-space: nowrap;">客户名称</th>
|
|
118
|
+
<th style="white-space: nowrap;">客户地址</th>
|
|
119
|
+
<th style="white-space: nowrap;">供气合同编号</th>
|
|
120
|
+
<th style="white-space: nowrap;">电话</th>
|
|
121
|
+
<th style="white-space: nowrap;">报建类型</th>
|
|
122
|
+
<th style="white-space: nowrap;">报建性质</th>
|
|
123
|
+
<th style="white-space: nowrap;">已发卡数</th>
|
|
124
|
+
<th style="white-space: nowrap;">未派发户数</th>
|
|
125
|
+
<th style="white-space: nowrap;">未通气户数</th>
|
|
126
|
+
<th style="white-space: nowrap;">报建日期</th>
|
|
127
|
+
</tr>
|
|
128
|
+
</template>
|
|
129
|
+
<template partial='body'>
|
|
130
|
+
<tr>
|
|
131
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
132
|
+
<nobr>{{$index+1}}</nobr>
|
|
133
|
+
</td>
|
|
134
|
+
<td style="text-align: center;">
|
|
135
|
+
<nobr>{{row.f_apply_num}}</nobr>
|
|
136
|
+
</td>
|
|
137
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
138
|
+
<nobr>{{row.f_user_name}}</nobr>
|
|
139
|
+
</td>
|
|
140
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
141
|
+
<nobr>{{row.f_address}}</nobr>
|
|
142
|
+
</td>
|
|
143
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
144
|
+
<nobr>{{row.f_contract_number}}</nobr>
|
|
145
|
+
</td>
|
|
146
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
147
|
+
<nobr>{{row.f_phone}}</nobr>
|
|
148
|
+
</td>
|
|
149
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
150
|
+
<nobr>{{row.f_apply_type}}</nobr>
|
|
151
|
+
</td>
|
|
152
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
153
|
+
<nobr>{{row.f_apply_nature}}</nobr>
|
|
154
|
+
</td>
|
|
155
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
156
|
+
<nobr>{{row.cardnum ? row.cardnum : 0}}</nobr>
|
|
157
|
+
</td>
|
|
158
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
159
|
+
<nobr>{{row.f_install_count - (row.irnum ? row.irnum : 0)}}</nobr>
|
|
160
|
+
</td>
|
|
161
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
162
|
+
<nobr>{{row.f_not_ventilate_households}}</nobr>
|
|
163
|
+
</td>
|
|
164
|
+
<td @click="$parent.$parent.$parent.check(row)" style="text-align: center;">
|
|
165
|
+
<nobr>{{row.f_apply_date}}</nobr>
|
|
166
|
+
</td>
|
|
167
|
+
</tr>
|
|
168
|
+
</template>
|
|
169
|
+
</data-grid>
|
|
170
|
+
</criteria-paged>
|
|
171
|
+
</div>
|
|
172
|
+
</template>
|
|
173
|
+
<script>
|
|
174
|
+
import {PagedList} from 'vue-client'
|
|
175
|
+
import {isEmpty} from '../../Util'
|
|
176
|
+
export default {
|
|
177
|
+
title: '点火详情',
|
|
178
|
+
props: ['showData'],
|
|
179
|
+
data () {
|
|
180
|
+
return {
|
|
181
|
+
model: new PagedList('rs/sql/getIgnitionList', 20, {
|
|
182
|
+
data: {
|
|
183
|
+
f_filiale: this.$login.f.f_fengongsi
|
|
184
|
+
}
|
|
185
|
+
}),
|
|
186
|
+
applytype: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建类型')],
|
|
187
|
+
criteriaShow: false,
|
|
188
|
+
sources: [{label: '微信公众号', value: '微信公众号'}, {label: '线下发起', value: '线下发起'}],
|
|
189
|
+
showStatus: true
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
ready () {
|
|
193
|
+
// 调用查询
|
|
194
|
+
this.search()
|
|
195
|
+
},
|
|
196
|
+
events: {
|
|
197
|
+
},
|
|
198
|
+
methods: {
|
|
199
|
+
updateShowStatus () {
|
|
200
|
+
this.showStatus = !this.showStatus
|
|
201
|
+
this.search()
|
|
202
|
+
},
|
|
203
|
+
loadPage () {
|
|
204
|
+
this.$dispatch('loadPage')
|
|
205
|
+
},
|
|
206
|
+
searchCondition (args) {
|
|
207
|
+
if (this.showStatus) {
|
|
208
|
+
args.condition = args.condition + ` and (irnum is null or irnum < u.f_install_count)`
|
|
209
|
+
} else {
|
|
210
|
+
args.condition = args.condition + ` and irnum != 0`
|
|
211
|
+
}
|
|
212
|
+
if (args.condition.includes('民用报建')) {
|
|
213
|
+
args.condition = args.condition.replace('f_apply_type = \'民用报建\'', '(f_apply_type = \'民用报建\' or f_apply_type = \'分户挂表\')')
|
|
214
|
+
}
|
|
215
|
+
console.log('args.condition', args.condition)
|
|
216
|
+
this.model.search(args.condition, args.model)
|
|
217
|
+
},
|
|
218
|
+
// 查询
|
|
219
|
+
search () {
|
|
220
|
+
this.$dispatch('search')
|
|
221
|
+
},
|
|
222
|
+
check (val) {
|
|
223
|
+
this.$dispatch('apply', val)
|
|
224
|
+
},
|
|
225
|
+
clear () {
|
|
226
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
227
|
+
this.$refs.cp.$refs.cri.model[key] = null
|
|
228
|
+
})
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
computed: {
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
</script>
|
|
235
|
+
<style scoped>
|
|
236
|
+
</style>
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="flex-row">
|
|
3
|
+
<div class="basic-main">
|
|
4
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
5
|
+
<criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
|
|
6
|
+
<div 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">片  区:</label>
|
|
10
|
+
<v-select
|
|
11
|
+
v-model="model.f_slice_area"
|
|
12
|
+
placeholder='片区'
|
|
13
|
+
condition="ui.f_slice_area = '{}'"
|
|
14
|
+
:value.sync="model.f_slice_area"
|
|
15
|
+
:options='$parent.$parent.sliceareas'
|
|
16
|
+
class="select select_list"
|
|
17
|
+
:value-single="true"
|
|
18
|
+
close-on-select >
|
|
19
|
+
</v-select>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="form-group col-sm-2">
|
|
22
|
+
<label class="font_normal_body">发卡状态:</label>
|
|
23
|
+
<v-select
|
|
24
|
+
v-model="model.f_whether_hairpin"
|
|
25
|
+
placeholder='发卡状态'
|
|
26
|
+
condition="uf.f_whether_hairpin = '{}'"
|
|
27
|
+
:value.sync="model.f_whether_hairpin"
|
|
28
|
+
:options='$parent.$parent.whether_hairpin'
|
|
29
|
+
class="select select_list"
|
|
30
|
+
:value-single="true"
|
|
31
|
+
close-on-select >
|
|
32
|
+
</v-select>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="form-group col-sm-2">
|
|
35
|
+
<label for="startDate" class="font_normal_body">发卡时间:</label>
|
|
36
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
37
|
+
style="width: 60%!important;"
|
|
38
|
+
v-model="model.startDate"
|
|
39
|
+
:value.sync="model.startDate"
|
|
40
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
41
|
+
:show-reset-button="true"
|
|
42
|
+
condition="uf.f_open_date >= '{}'">
|
|
43
|
+
</datepicker>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="form-group col-sm-2">
|
|
46
|
+
<label for="endDate" class="font_normal_body">发卡时间:</label>
|
|
47
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
48
|
+
style="width: 60%!important;"
|
|
49
|
+
v-model="model.endDate"
|
|
50
|
+
:value.sync="model.endDate"
|
|
51
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
52
|
+
:show-reset-button="true"
|
|
53
|
+
condition="uf.f_open_date <= '{}'">
|
|
54
|
+
</datepicker>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="form-group col-sm-3 button-range">
|
|
57
|
+
<button class="button_export button_spacing" @click="$parent.$parent.openOperatorModal()">批量派单</button>
|
|
58
|
+
<button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
|
|
59
|
+
<button class="button_search button_spacing" @click="$parent.$parent.loadPage()">返回</button>
|
|
60
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
|
|
61
|
+
<div
|
|
62
|
+
:class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
|
|
63
|
+
@click="$parent.$parent.criteriaShow = !$parent.$parent.criteriaShow"
|
|
64
|
+
class="button_spacing"
|
|
65
|
+
style="float: right">
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
70
|
+
<div class="form-group col-sm-2">
|
|
71
|
+
<label class="font_normal_body">工程编号:</label>
|
|
72
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_applycode"
|
|
73
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="ui.f_applycode = '{}'" placeholder='工程编号'>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="form-group col-sm-2">
|
|
76
|
+
<label class="font_normal_body">用户类型:</label>
|
|
77
|
+
<v-select
|
|
78
|
+
v-model="model.f_user_type"
|
|
79
|
+
placeholder='用户类型'
|
|
80
|
+
condition="uf.f_user_type = '{}'"
|
|
81
|
+
:value.sync="model.f_user_type"
|
|
82
|
+
:options='$parent.$parent.usertype'
|
|
83
|
+
class="select select_list"
|
|
84
|
+
:value-single="true"
|
|
85
|
+
close-on-select >
|
|
86
|
+
</v-select>
|
|
87
|
+
</div>
|
|
88
|
+
<div class="form-group col-sm-2">
|
|
89
|
+
<label class="font_normal_body">用户编号:</label>
|
|
90
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_userinfo_id"
|
|
91
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="ui.f_userinfo_id = '{}'" placeholder='用户编号'>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="form-group col-sm-2">
|
|
94
|
+
<label class="font_normal_body">用 户 名:</label>
|
|
95
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
|
|
96
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="ui.f_user_name = '{}'" placeholder='用户名'>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="form-group col-sm-2">
|
|
99
|
+
<label class="font_normal_body">电  话:</label>
|
|
100
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_user_phone"
|
|
101
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="ui.f_user_phone = '{}'" placeholder='电话'>
|
|
102
|
+
</div>
|
|
103
|
+
<div class="form-group col-sm-2">
|
|
104
|
+
<label class="font_normal_body">小  区:</label>
|
|
105
|
+
<input type="text" class="input_search" style="width: 60%" v-model="model.f_residential_area"
|
|
106
|
+
v-on:keyup.enter="$parent.$parent.search()" condition="ui.f_residential_area = '{}'" placeholder='小区'>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
</criteria>
|
|
111
|
+
<data-grid :model="model" optional partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
|
|
112
|
+
<template partial='head'>
|
|
113
|
+
<tr>
|
|
114
|
+
<th style="white-space: nowrap;">序号</th>
|
|
115
|
+
<th style="white-space: nowrap;">报建编号</th>
|
|
116
|
+
<th style="white-space: nowrap;">用户编号</th>
|
|
117
|
+
<th style="white-space: nowrap;">用户姓名</th>
|
|
118
|
+
<th style="white-space: nowrap;">联系电话</th>
|
|
119
|
+
<th style="white-space: nowrap;">用户类型</th>
|
|
120
|
+
<th style="white-space: nowrap;">地址</th>
|
|
121
|
+
<th style="white-space: nowrap;">片区</th>
|
|
122
|
+
<!-- <th>定位地址</th>-->
|
|
123
|
+
<th style="white-space: nowrap;">气表分类</th>
|
|
124
|
+
<th style="white-space: nowrap;">表号</th>
|
|
125
|
+
<th style="white-space: nowrap;">气表品牌</th>
|
|
126
|
+
<th style="white-space: nowrap;">气表型号</th>
|
|
127
|
+
<th style="white-space: nowrap;">发卡状态</th>
|
|
128
|
+
<th style="white-space: nowrap;">发卡时间</th>
|
|
129
|
+
<th style="white-space: nowrap;">报建人</th>
|
|
130
|
+
<th style="white-space: nowrap;">报建联系电话</th>
|
|
131
|
+
</tr>
|
|
132
|
+
</template>
|
|
133
|
+
<template partial='body'>
|
|
134
|
+
<tr >
|
|
135
|
+
<td style="text-align: center;">
|
|
136
|
+
<nobr><font>{{$index+1}}</font></nobr>
|
|
137
|
+
</td>
|
|
138
|
+
<td style="text-align: center;">
|
|
139
|
+
<nobr><font>{{row.f_apply_num}}</font></nobr>
|
|
140
|
+
</td>
|
|
141
|
+
<td style="text-align: center;">
|
|
142
|
+
<nobr><font>{{row.f_userinfo_id}}</font></nobr>
|
|
143
|
+
</td>
|
|
144
|
+
<td style="text-align: center;">
|
|
145
|
+
<nobr><font>{{row.f_user_name}}</font></nobr>
|
|
146
|
+
</td>
|
|
147
|
+
<td style="text-align: center;">
|
|
148
|
+
<nobr><font>{{row.f_user_phone}}</font></nobr>
|
|
149
|
+
</td>
|
|
150
|
+
<td style="text-align: center;">
|
|
151
|
+
<nobr><font>{{row.f_user_type}}</font></nobr>
|
|
152
|
+
</td>
|
|
153
|
+
<td style="text-align: center;">
|
|
154
|
+
<nobr><font>{{row.f_address}}{{row.f_address_detail}}</font></nobr>
|
|
155
|
+
</td>
|
|
156
|
+
<td style="text-align: center;">
|
|
157
|
+
<nobr><font>{{row.f_area}}</font></nobr>
|
|
158
|
+
</td>
|
|
159
|
+
<!-- <td style="text-align: center;">-->
|
|
160
|
+
<!-- <nobr><font>-->
|
|
161
|
+
<!-- <a @click="$parent.$parent.$parent.openAmap(row)" style="text-decoration: none">-->
|
|
162
|
+
<!-- {{row.f_location_address}}-->
|
|
163
|
+
<!-- </a>-->
|
|
164
|
+
<!-- </font></nobr>-->
|
|
165
|
+
<!-- </td>-->
|
|
166
|
+
<td style="text-align: center;">
|
|
167
|
+
<nobr><font>{{row.f_meter_classify}}</font></nobr>
|
|
168
|
+
</td>
|
|
169
|
+
<td style="text-align: center;">
|
|
170
|
+
<nobr><font>{{row.f_meternumber}}</font></nobr>
|
|
171
|
+
</td>
|
|
172
|
+
<td style="text-align: center;">
|
|
173
|
+
<nobr><font>{{row.f_meter_brand}}</font></nobr>
|
|
174
|
+
</td>
|
|
175
|
+
<td style="text-align: center;">
|
|
176
|
+
<nobr><font>{{row.f_meter_style}}</font></nobr>
|
|
177
|
+
</td>
|
|
178
|
+
<td style="text-align: center;">
|
|
179
|
+
<nobr><font>{{row.f_whether_hairpin}}</font></nobr>
|
|
180
|
+
</td>
|
|
181
|
+
<td style="text-align: center;">
|
|
182
|
+
<nobr><font>{{row.f_faka_date}}</font></nobr>
|
|
183
|
+
</td>
|
|
184
|
+
<td style="text-align: center;">
|
|
185
|
+
<nobr><font>{{row.f_contact}}</font></nobr>
|
|
186
|
+
</td>
|
|
187
|
+
<td style="text-align: center;">
|
|
188
|
+
<nobr><font>{{row.f_phone}}</font></nobr>
|
|
189
|
+
</td>
|
|
190
|
+
</tr>
|
|
191
|
+
</template>
|
|
192
|
+
</data-grid>
|
|
193
|
+
</criteria-paged>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
|
|
197
|
+
<modal v-if="showAmap" :show.sync="showAmap" v-ref:amap :large="true" :backdrop="false" title="定位信息">
|
|
198
|
+
<header slot="modal-header" class="modal-header">
|
|
199
|
+
<button type="button" class="close" @click="closeModal"><span>×</span></button>
|
|
200
|
+
<h4 class="modal-title">定位信息</h4>
|
|
201
|
+
</header>
|
|
202
|
+
<article slot="modal-body" class="modal-body clearfix" style="height: 500px">
|
|
203
|
+
<amap-location
|
|
204
|
+
:isshowsearch="false"
|
|
205
|
+
:mylocationinfo="false"
|
|
206
|
+
:isshowmapmodel="false"
|
|
207
|
+
:islocation="false"
|
|
208
|
+
mapmodel="dragMarker"
|
|
209
|
+
:labelmarksarray="labelmarksarray"
|
|
210
|
+
></amap-location>
|
|
211
|
+
</article>
|
|
212
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
213
|
+
</footer>
|
|
214
|
+
</modal>
|
|
215
|
+
|
|
216
|
+
<validator name="v">
|
|
217
|
+
<modal v-if="showOperator" :show.sync="showOperator" v-ref:operator :large="true" :backdrop="false" title="批量派单">、
|
|
218
|
+
<header slot="modal-header" class="modal-header">
|
|
219
|
+
<button type="button" class="close" @click="closeModal('details')"><span>×</span></button>
|
|
220
|
+
<h4 class="modal-title">批量派单</h4>
|
|
221
|
+
</header>
|
|
222
|
+
<article slot="modal-body" class="modal-body clearfix">
|
|
223
|
+
<!-- 基本信息 -->
|
|
224
|
+
<div class="form-group col-sm-12" :class="[$v.operator.required ? 'has-error' : '']">
|
|
225
|
+
<label class="col-sm-2 control-label">操作人:</label>
|
|
226
|
+
<div class="col-sm-10">
|
|
227
|
+
<input type="text" v-show="false" v-model="operator.id" :value.sync="operator.id" v-validate:operator = "['required']" >
|
|
228
|
+
<input-select
|
|
229
|
+
class="select select_list"
|
|
230
|
+
:value.sync="operator"
|
|
231
|
+
v-model="operator"
|
|
232
|
+
:options="operatorList"></input-select>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="form-group col-sm-12">
|
|
236
|
+
<label class="col-sm-2 control-label">是否共享:</label>
|
|
237
|
+
<div class="col-sm-10">
|
|
238
|
+
<input-select
|
|
239
|
+
class="select select_list"
|
|
240
|
+
:value.sync="f_shared_dispatch"
|
|
241
|
+
v-model="f_shared_dispatch"
|
|
242
|
+
:options="sharedOptions"></input-select>
|
|
243
|
+
</div>
|
|
244
|
+
</div>
|
|
245
|
+
</article>
|
|
246
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
247
|
+
<button type="button" class="btn btn-primary" @click="batchDispatch()" :disabled="!$v.valid">确定</button>
|
|
248
|
+
</footer>
|
|
249
|
+
</modal>
|
|
250
|
+
</validator>
|
|
251
|
+
|
|
252
|
+
</template>
|
|
253
|
+
|
|
254
|
+
<script>
|
|
255
|
+
import {PagedList} from 'vue-client'
|
|
256
|
+
|
|
257
|
+
export default {
|
|
258
|
+
title: '点火派单',
|
|
259
|
+
props: ['showData'],
|
|
260
|
+
data () {
|
|
261
|
+
return {
|
|
262
|
+
model: new PagedList('rs/sql/getWaitIgnitionTask', 20, null),
|
|
263
|
+
criteriaShow: false,
|
|
264
|
+
source: 'this.getParentByType($organization$).getChildByName($通气组报装$).getChildren()',
|
|
265
|
+
operatorList: [],
|
|
266
|
+
showOperator: false,
|
|
267
|
+
operator: null,
|
|
268
|
+
f_shared_dispatch:'否',
|
|
269
|
+
sharedOptions:[{label: "是", value: "是"}, {label: "否", value: "否" }],
|
|
270
|
+
showAmap: false,
|
|
271
|
+
labelmarksarray: [],
|
|
272
|
+
sliceareas: [], // 片区
|
|
273
|
+
whether_hairpin: [{label: "全部", value: ""}, {label: "已发卡", value: "已发"}, {label: "未发卡", value: "未发"}],//发卡状态
|
|
274
|
+
usertype:[{label: "全部", value: ""}, {label: "民用", value: "民用"}, {label: "非民用", value: "非民用"}]//用户类型
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
ready () {
|
|
278
|
+
this.search()
|
|
279
|
+
this.getOperator()
|
|
280
|
+
setTimeout (this.getsliceareas,500)
|
|
281
|
+
},
|
|
282
|
+
methods: {
|
|
283
|
+
loadPage () {
|
|
284
|
+
this.$dispatch('loadPage')
|
|
285
|
+
},
|
|
286
|
+
openAmap (row) {
|
|
287
|
+
this.labelmarksarray = [{
|
|
288
|
+
data: {
|
|
289
|
+
data: this.selectdata,
|
|
290
|
+
label: `<div style="background: #fff;border-radius: 5px;height: 100px;padding: 5px">
|
|
291
|
+
<h5>${row.f_user_name}</h5>
|
|
292
|
+
<h5>${row.f_user_phone}</h5>
|
|
293
|
+
<h5>${row.f_location_address}</h5>
|
|
294
|
+
</div>`
|
|
295
|
+
},
|
|
296
|
+
position: [row.f_lng, row.f_lat],
|
|
297
|
+
isclearmarker: false
|
|
298
|
+
}]
|
|
299
|
+
|
|
300
|
+
this.showAmap = true
|
|
301
|
+
},
|
|
302
|
+
async batchDispatch () {
|
|
303
|
+
let selectdata = this.$refs.cp.$refs.grid.getRowData()
|
|
304
|
+
if (selectdata.length > 0) {
|
|
305
|
+
for (let i = 0; i < selectdata.length; i++){
|
|
306
|
+
if(selectdata[i].f_whether_hairpin === '未发' && (!selectdata[i].f_user_name.includes('原处') || !selectdata[i].f_contact.includes('原处'))){
|
|
307
|
+
let res = await this.$showMessage(`第${selectdata.length}条数据未开户,无法派单!`)
|
|
308
|
+
if (res == 'confirm') {
|
|
309
|
+
return
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// if(selectdata[i].f_surplus_money > 0 ){
|
|
313
|
+
// let res = await this.$showMessage(`第${selectdata.length}条报建费用未结清,无法派单!`)
|
|
314
|
+
// if (res == 'confirm') {
|
|
315
|
+
// return
|
|
316
|
+
// }
|
|
317
|
+
// }
|
|
318
|
+
}
|
|
319
|
+
let data = {
|
|
320
|
+
operator: this.$login.f,
|
|
321
|
+
f_userinfo_ids: selectdata.map(item => {
|
|
322
|
+
return {
|
|
323
|
+
f_apply_num: item.f_apply_num,
|
|
324
|
+
f_userinfo_id: item.f_userinfo_id
|
|
325
|
+
}
|
|
326
|
+
}),
|
|
327
|
+
ignitionOperator: this.operator,
|
|
328
|
+
f_shared_dispatch:this.f_shared_dispatch
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
let res = await this.$resetpost(
|
|
332
|
+
'rs/logic/batchDispatchGas',
|
|
333
|
+
{data: data},
|
|
334
|
+
{resolveMsg: null, rejectMsg: '批量派单失败!!!'}
|
|
335
|
+
)
|
|
336
|
+
|
|
337
|
+
this.closeModal('details')
|
|
338
|
+
this.search()
|
|
339
|
+
} else {
|
|
340
|
+
this.$showAlert('至少选择1个工单', 'warning', 3000)
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
async getsliceareas () {
|
|
344
|
+
|
|
345
|
+
let res = await this.$resetpost(
|
|
346
|
+
'rs/logic/getsliceareas',{data:null},
|
|
347
|
+
{resolveMsg: null, rejectMsg: '获取片区失败!!!'}
|
|
348
|
+
)
|
|
349
|
+
this.sliceareas = [{label: '全部', value: ''}, ...res.data]
|
|
350
|
+
},
|
|
351
|
+
async openOperatorModal () {
|
|
352
|
+
let selectdata = this.$refs.cp.$refs.grid.getRowData()
|
|
353
|
+
if (selectdata.length > 0) {
|
|
354
|
+
let res = await this.$showMessage(`当前数据条数: ${selectdata.length}, 条数过大时派单时间可能会过长, 是否确认派单?`)
|
|
355
|
+
if (res == 'confirm') {
|
|
356
|
+
this.showOperator = true
|
|
357
|
+
}
|
|
358
|
+
} else {
|
|
359
|
+
this.$showAlert('至少选择1个工单', 'warning', 3000)
|
|
360
|
+
}
|
|
361
|
+
},
|
|
362
|
+
async getOperator () {
|
|
363
|
+
let data = {
|
|
364
|
+
source: this.source,
|
|
365
|
+
userid: this.$login.f.id
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
let res = await this.$resetpost(
|
|
369
|
+
'rs/search',
|
|
370
|
+
{data: data},
|
|
371
|
+
{resolveMsg: null, rejectMsg: '点火人员查询失败!!!'}
|
|
372
|
+
)
|
|
373
|
+
|
|
374
|
+
this.operatorList = res.data.map(item => {
|
|
375
|
+
return {
|
|
376
|
+
label: item.name,
|
|
377
|
+
value: item
|
|
378
|
+
}
|
|
379
|
+
})
|
|
380
|
+
},
|
|
381
|
+
searchCondition (args) {
|
|
382
|
+
args.condition = args.condition + ` and ir.id is null`
|
|
383
|
+
console.log("this.showDatade",this.showData)
|
|
384
|
+
// args.condition = args.condition + ` and ui.f_process_id = '${this.showData.f_process_id}'`
|
|
385
|
+
args.condition = args.condition + ` and ui.f_process_id is not null`
|
|
386
|
+
this.model.search(args.condition, args.model)
|
|
387
|
+
},
|
|
388
|
+
// 查询
|
|
389
|
+
search () {
|
|
390
|
+
this.$refs.cp.$refs.cri.search()
|
|
391
|
+
},
|
|
392
|
+
clear () {
|
|
393
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
394
|
+
this.$refs.cp.$refs.cri.model[key] = null
|
|
395
|
+
})
|
|
396
|
+
},
|
|
397
|
+
closeModal (type) {
|
|
398
|
+
this.showAmap = false
|
|
399
|
+
this.showOperator = false
|
|
400
|
+
|
|
401
|
+
this.labelmarksarray = []
|
|
402
|
+
this.operator = null
|
|
403
|
+
|
|
404
|
+
if (type === 'details') {
|
|
405
|
+
this.$refs.cp.$refs.grid.selectInit()
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
</script>
|
|
411
|
+
|
|
412
|
+
<style scoped>
|
|
413
|
+
</style>
|