manage-client 4.0.32 → 4.0.33
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/package.json
CHANGED
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="basic-main" style="height: 98%">
|
|
3
|
+
<criteria-paged :model="model" :pager='false' v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
|
|
5
|
+
<p class="bg-info text-center" style="padding: 8px;">预售收入日报汇总表</p>
|
|
6
|
+
<div class="form-group" v-if="!$parent.$parent.data.f_files_path"></div>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-4" >
|
|
10
|
+
<label class="font_normal_body" for="startDate">开始日期:</label>
|
|
11
|
+
<datepicker id="startDate" placeholder="开始日期" style="width: 60%"
|
|
12
|
+
v-model="$parent.$parent.startdate"
|
|
13
|
+
:value.sync="$parent.$parent.startdate"
|
|
14
|
+
:disabled-days-of-Week="[]"
|
|
15
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
16
|
+
:show-reset-button="reset">
|
|
17
|
+
</datepicker>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-sm-4" >
|
|
20
|
+
<label class="font_normal_body" for="endDate">结束日期:</label>
|
|
21
|
+
<datepicker id="endDate" placeholder="结束日期" style="width: 60%"
|
|
22
|
+
v-model="$parent.$parent.enddate"
|
|
23
|
+
:value.sync="$parent.$parent.enddate"
|
|
24
|
+
:disabled-days-of-Week="[]"
|
|
25
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
26
|
+
:show-reset-button="reset">
|
|
27
|
+
</datepicker>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="col-sm-4">
|
|
30
|
+
<label class="font_normal_body"> 公司 </label>
|
|
31
|
+
<right-tree @re-res="$parent.$parent.getRes"></right-tree>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="col-sm-4">
|
|
34
|
+
<label class="font_normal_body"> 部门 </label>
|
|
35
|
+
<res-select restype='department'
|
|
36
|
+
@res-select="$parent.$parent.getdep"
|
|
37
|
+
:parentresid="$parent.$parent.depresid"
|
|
38
|
+
:initresid='$parent.$parent.depid'>
|
|
39
|
+
</res-select>
|
|
40
|
+
|
|
41
|
+
</div>
|
|
42
|
+
<div class="col-sm-4">
|
|
43
|
+
<label class="font_normal_body"> 人员 </label>
|
|
44
|
+
<res-select restype='user'
|
|
45
|
+
@res-select="$parent.$parent.getuser"
|
|
46
|
+
:parentresid="$parent.$parent.userresid"
|
|
47
|
+
:initresid='$parent.$parent.operatorid'>
|
|
48
|
+
</res-select>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="span" style = "float:right;">
|
|
52
|
+
<button class="button_search" @click="$parent.$parent.searchData()">查询</button>
|
|
53
|
+
<report-print id='gasprice' top='1cm' left='2' width='100%' height='100%' :preview="true"></report-print>
|
|
54
|
+
<report-excel id='gasprice'></report-excel>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
</criteria>
|
|
58
|
+
<div partial='list' v-el:handcollect id='gasprice' style="overflow-y: scroll">
|
|
59
|
+
<table class='tableprint' style="margin: 0px auto;border-spacing: 0px 0px;font-size:13px;" v-if="!$parent.data.f_files_path">
|
|
60
|
+
<thead>
|
|
61
|
+
<tr>
|
|
62
|
+
<th colspan='12' style="font-weight: normal; text-align: left;">
|
|
63
|
+
<h3 style="text-align: center">预售收入日报汇总表</h3>
|
|
64
|
+
</th>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<th colspan='12' style="font-weight: normal; text-align: left;">
|
|
68
|
+
<b style="text-align: left; font-size:15px;margin-left: 20px;" v-if="$parent.startDate==$parent.endDate">
|
|
69
|
+
{{$parent.startDate}}
|
|
70
|
+
</b>
|
|
71
|
+
<b style="text-align: left;font-size:15px;margin-left: 20px;" v-else>
|
|
72
|
+
{{$parent.startDate+" 至 "+$parent.endDate}}
|
|
73
|
+
</b>
|
|
74
|
+
</th>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr>
|
|
77
|
+
<th colspan='12' style="font-weight: normal; text-align: center;">
|
|
78
|
+
<div style="text-align: left;font-size:15px;margin-left: 20px;">
|
|
79
|
+
<span v-show="$parent.orgFlag">{{$parent.orgname}}</span>
|
|
80
|
+
<span v-show="$parent.depFlag">{{$parent.depname}}</span>
|
|
81
|
+
<span v-show="$parent.operFlag">{{$parent.operatorname}}</span><br>
|
|
82
|
+
</div>
|
|
83
|
+
</th>
|
|
84
|
+
</tr>
|
|
85
|
+
</thead>
|
|
86
|
+
<tr>
|
|
87
|
+
<td colspan='12'>
|
|
88
|
+
{{{ model.data.substring(26,model.data.length-8) }}}
|
|
89
|
+
</td>
|
|
90
|
+
</tr>
|
|
91
|
+
<tfoot>
|
|
92
|
+
<tr style="text-align: left">
|
|
93
|
+
<th colspan='4'>部门主管:</th>
|
|
94
|
+
<th colspan='2'>出纳:</th>
|
|
95
|
+
<th colspan='2'>审核:</th>
|
|
96
|
+
<th colspan='4'>制表:</th>
|
|
97
|
+
</tr>
|
|
98
|
+
</tfoot>
|
|
99
|
+
</table>
|
|
100
|
+
{{{ $parent.reportStr}}}
|
|
101
|
+
</div>
|
|
102
|
+
</criteria-paged>
|
|
103
|
+
<modal :show.sync="show" v-ref:modal small backdrop="false">
|
|
104
|
+
<header slot="modal-header" class="modal-header">
|
|
105
|
+
<h4 class="modal-title">输入文件名称</h4>
|
|
106
|
+
</header>
|
|
107
|
+
<article slot="modal-body" class="modal-body">
|
|
108
|
+
<div class="form-group">
|
|
109
|
+
<input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
|
|
110
|
+
</div>
|
|
111
|
+
</article>
|
|
112
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
113
|
+
<button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
114
|
+
<button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
|
|
115
|
+
</footer>
|
|
116
|
+
</modal>
|
|
117
|
+
</div>
|
|
118
|
+
</template>
|
|
119
|
+
|
|
120
|
+
<script>
|
|
121
|
+
import { DataModel } from 'vue-client'
|
|
122
|
+
import co from 'co'
|
|
123
|
+
let saveFile = function * (self) {
|
|
124
|
+
// 线验证文件是否重名
|
|
125
|
+
let count = yield self.$resetpost('api/af-revenue/sql/manageSingleTable',
|
|
126
|
+
{data: {tablename: 't_report_record', condition: `f_files_name = '${self.filename}'`}},
|
|
127
|
+
{resolveMsg: null, rejectMsg: null})
|
|
128
|
+
if (count.data.length > 0) {
|
|
129
|
+
self.$showAlert('无法保存,文件名重名', 'warning', 3000)
|
|
130
|
+
return
|
|
131
|
+
}
|
|
132
|
+
let saveBack = yield self.$resetpost('api/af-revenue/logic/saveReport', {f_files_content: self.$refs.paged.$els.handcollect.innerHTML,
|
|
133
|
+
f_files_name: self.filename, f_files_type: self.data.f_report_type, f_component_name: 'manage-bus-summary',
|
|
134
|
+
f_operator: this.$login.f.name, f_query_month: `${self.model.model.startDate}-${self.model.model.endDate}`,
|
|
135
|
+
f_outlets: this.$login.f.depname})
|
|
136
|
+
if (saveBack.data.status === 'succeed') {
|
|
137
|
+
self.show = false
|
|
138
|
+
self.filename = ''
|
|
139
|
+
// 后台保存完成,通知刷新
|
|
140
|
+
self.$dispatch('save-success', self.filename)
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
export default {
|
|
144
|
+
title: '预售收入日报汇总表',
|
|
145
|
+
props: ['data'],
|
|
146
|
+
data () {
|
|
147
|
+
return {
|
|
148
|
+
depresid: [],
|
|
149
|
+
userresid: [],
|
|
150
|
+
f_orgid: this.$login.f.orgid,
|
|
151
|
+
f_depid: this.$login.f.depids,
|
|
152
|
+
f_operatorid: this.$login.f.id,
|
|
153
|
+
operatorid: [],
|
|
154
|
+
depid: [],
|
|
155
|
+
orgname: '',
|
|
156
|
+
depname: [],
|
|
157
|
+
operatorname: [],
|
|
158
|
+
orgCondtionStr: '1=1',
|
|
159
|
+
model: new DataModel('api/af-revenue/report/weinanbill', {startDate: 'this.model.startDate', endDate: 'this.model.endDate',
|
|
160
|
+
f_orgid: 'this.model.f_orgid'}),
|
|
161
|
+
reportStr: null,
|
|
162
|
+
show: false,
|
|
163
|
+
startDate: '',
|
|
164
|
+
endDate: '',
|
|
165
|
+
startdate: '',
|
|
166
|
+
enddate: '',
|
|
167
|
+
orgFlag: false,
|
|
168
|
+
depFlag: false,
|
|
169
|
+
operFlag: false,
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
ready () {
|
|
173
|
+
this.startdate = this.$login.toStandardDateString() + ' 00:00:00'
|
|
174
|
+
this.enddate = this.$login.toStandardDateString() + ' 23:59:59'
|
|
175
|
+
this.startDate = this.startdate.substring(0, 10)
|
|
176
|
+
this.endDate = this.startDate.substring(0, 10)
|
|
177
|
+
console.log(this.$login.f)
|
|
178
|
+
},
|
|
179
|
+
methods: {
|
|
180
|
+
appendCondition (data) {
|
|
181
|
+
console.log('data=====>', data)
|
|
182
|
+
let stringValue = ''
|
|
183
|
+
for (var i = 0; i < data.length; i++) {
|
|
184
|
+
if (data[i]) {
|
|
185
|
+
if (i === data.length - 1) {
|
|
186
|
+
stringValue = stringValue + "'" + data[i] + "'"
|
|
187
|
+
} else {
|
|
188
|
+
stringValue = stringValue + "'" + data[i] + "',"
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return stringValue
|
|
193
|
+
},
|
|
194
|
+
searchData () {
|
|
195
|
+
this.$refs.paged.$refs.criteria.search()
|
|
196
|
+
},
|
|
197
|
+
selfSearch (args) {
|
|
198
|
+
let f_dep = this.f_depid
|
|
199
|
+
let orgcondition = ` ts.f_orgid in ('${this.f_orgid}')`
|
|
200
|
+
if (f_dep[0]) {
|
|
201
|
+
orgcondition += " and ts.f_depid in('" + f_dep[0] + "'"
|
|
202
|
+
for (let i = 1; i < f_dep.length; i++) {
|
|
203
|
+
orgcondition += ",'" + f_dep[i] + "'"
|
|
204
|
+
}
|
|
205
|
+
orgcondition += ')'
|
|
206
|
+
}
|
|
207
|
+
if (this.f_operatorid[0]) {
|
|
208
|
+
const operatorIds = this.f_operatorid.map(id => `'${id}'`).join(',')
|
|
209
|
+
orgcondition += ` and ts.f_operatorid in (${operatorIds})`
|
|
210
|
+
}
|
|
211
|
+
// console.log(this.orgname,this.depname.toString(),this.operatorname)
|
|
212
|
+
this.$refs.paged.$refs.criteria.model.f_orgid = orgcondition
|
|
213
|
+
this.$refs.paged.search(args)
|
|
214
|
+
},
|
|
215
|
+
getRes (obj) {
|
|
216
|
+
this.orgname = obj.res[0]
|
|
217
|
+
this.depresid = obj.resids
|
|
218
|
+
this.f_orgid = obj.resids
|
|
219
|
+
},
|
|
220
|
+
getdep (obj, val) {
|
|
221
|
+
this.depname = val
|
|
222
|
+
this.userresid = obj
|
|
223
|
+
this.f_depid = obj
|
|
224
|
+
},
|
|
225
|
+
getuser (obj, val) {
|
|
226
|
+
this.operatorname = val
|
|
227
|
+
this.f_operatorid = obj
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
// 根据文件路径获取储存的报表内容
|
|
231
|
+
getFileContent (path) {
|
|
232
|
+
this.$resetpost('api/af-revenue/logic/getReportFileContent', {f_files_path: path}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
|
233
|
+
this.reportStr = res.data.filecontent
|
|
234
|
+
this.model.state = '正确'
|
|
235
|
+
})
|
|
236
|
+
},
|
|
237
|
+
confirm () {
|
|
238
|
+
if (!this.filename || this.filename === '') {
|
|
239
|
+
this.$showAlert('无法保存,文件名不能为空', 'warning', 3000)
|
|
240
|
+
}
|
|
241
|
+
let saveGen = saveFile(this)
|
|
242
|
+
co(saveGen)
|
|
243
|
+
},
|
|
244
|
+
close () {
|
|
245
|
+
this.show = false
|
|
246
|
+
},
|
|
247
|
+
// 将报表保存成文件
|
|
248
|
+
confirmReport () {
|
|
249
|
+
this.show = true
|
|
250
|
+
this.filename = this.data.f_report_name + this.$login.toStandardDateString()
|
|
251
|
+
},
|
|
252
|
+
flag() {
|
|
253
|
+
const hasOrg = !!this.orgname;
|
|
254
|
+
const hasDep = Array.isArray(this.depname) && this.depname.length > 0
|
|
255
|
+
const hasOperator = Array.isArray(this.operatorname) && this.operatorname.length > 0
|
|
256
|
+
|
|
257
|
+
this.orgFlag = hasOrg && !hasDep && !hasOperator
|
|
258
|
+
this.depFlag = hasOrg && hasDep && !hasOperator
|
|
259
|
+
this.operFlag = hasOrg && hasDep && hasOperator
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
},
|
|
263
|
+
watch: {
|
|
264
|
+
'data' (val) {
|
|
265
|
+
if (val.f_files_path) {
|
|
266
|
+
this.getFileContent(val.f_files_path)
|
|
267
|
+
} else {
|
|
268
|
+
this.reportStr = null
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
'orgname'(){
|
|
272
|
+
this.flag()
|
|
273
|
+
},
|
|
274
|
+
'depname'(){
|
|
275
|
+
this.flag()
|
|
276
|
+
},
|
|
277
|
+
'operatorname'(){
|
|
278
|
+
this.flag()
|
|
279
|
+
},
|
|
280
|
+
'startdate'(val){
|
|
281
|
+
this.$refs.paged.$refs.criteria.model.startDate=this.startdate
|
|
282
|
+
this.startDate=this.startdate.substring(0,10)
|
|
283
|
+
console.log('startdate',val)
|
|
284
|
+
},
|
|
285
|
+
'enddate'(val){
|
|
286
|
+
this.$refs.paged.$refs.criteria.model.endDate=this.enddate
|
|
287
|
+
this.endDate=this.enddate.substring(0,10)
|
|
288
|
+
console.log('enddate',val)
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
computed: {
|
|
292
|
+
operator () {
|
|
293
|
+
return this.$getParams('操作员查询用', [{label: '全部', value: ''}])
|
|
294
|
+
},
|
|
295
|
+
network () {
|
|
296
|
+
return this.$getParams('网点查询用', [{label: '全部', value: ''}])
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
</script>
|
|
301
|
+
<style scoped>
|
|
302
|
+
.noborder{
|
|
303
|
+
border: none;
|
|
304
|
+
}
|
|
305
|
+
</style>
|
|
@@ -15,5 +15,9 @@ export default function () {
|
|
|
15
15
|
Vue.component('manage-company-gas-detail', (resolve) => { require(['./ManageCompanyGasDetail'], resolve) })
|
|
16
16
|
// 报表展示组件(用户新增销户统计报表)
|
|
17
17
|
Vue.component('manage-user-count', (resolve) => { require(['./ManageUserCount'], resolve) })
|
|
18
|
+
// 预售收入日报
|
|
19
|
+
Vue.component('yu-shou-table', (resolve) => {
|
|
20
|
+
require(['./YuShouTable'], resolve)
|
|
21
|
+
})
|
|
18
22
|
}
|
|
19
23
|
|
|
@@ -0,0 +1,685 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main">
|
|
4
|
+
<div class="flex" v-if="!show">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
6
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial >
|
|
8
|
+
<div class="row">
|
|
9
|
+
<div class="col-sm-2">
|
|
10
|
+
<label class="font_normal_body">  公司</label>
|
|
11
|
+
<right-tree @re-res="$parent.$parent.getorg"
|
|
12
|
+
:initresid='$parent.$parent.org'></right-tree>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="col-sm-2 ">
|
|
15
|
+
<label for="f_gasproperties"class="font_normal_body">用气性质</label>
|
|
16
|
+
<v-select id="f_gasproperties"
|
|
17
|
+
style="width:60%"
|
|
18
|
+
v-model="model.f_gasproperties"
|
|
19
|
+
placeholder='用气性质'
|
|
20
|
+
:value.sync="model.f_gasproperties"
|
|
21
|
+
:options='$parent.$parent.gasproperties'
|
|
22
|
+
condition="f_gasproperties = '{}'"
|
|
23
|
+
close-on-select >
|
|
24
|
+
</v-select>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="col-sm-2" >
|
|
27
|
+
<label for="f_user_state" class="font_normal_body">客户状态</label>
|
|
28
|
+
<v-select :value.sync="model.f_user_state"
|
|
29
|
+
v-model="model.f_user_state"
|
|
30
|
+
:options='$parent.$parent.userstate' placeholder='请选择'
|
|
31
|
+
condition="f_user_state = '{}'"
|
|
32
|
+
close-on-select></v-select>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="col-sm-2 flex-row" style="white-space: nowrap">
|
|
35
|
+
<label class="font_normal_body" v-if="['卡表','物联网表'].includes($parent.$parent.meter_classify)" >未购天数</label>
|
|
36
|
+
<label class="font_normal_body" v-else>未抄天数</label>
|
|
37
|
+
<div class="row">
|
|
38
|
+
<input type="text" style="width:30%" class="input_search" v-model="model.diffdaymin"
|
|
39
|
+
condition="diffday >= {} " placeholder="">
|
|
40
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
41
|
+
<input type="text" style="width:30%" class="input_search" v-model="model.diffdaymax"
|
|
42
|
+
condition="diffday <= {} " placeholder="">
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="span" style="float:right;">
|
|
48
|
+
<button class="btn button_search" @click="search()">查询</button>
|
|
49
|
+
<button class="btn button_clear" @click="$parent.$parent.clear()">清空</button>
|
|
50
|
+
<button class="btn button_clear" @click="$parent.$parent.batchQuota()">批量限购</button>
|
|
51
|
+
<export-excel :data="$parent.$parent.getCondition"
|
|
52
|
+
:field="$parent.$parent.getfield"
|
|
53
|
+
:footer="$parent.$parent.footer"
|
|
54
|
+
:header="$parent.$parent.other"
|
|
55
|
+
sqlurl="api/af-revenue/logic/openapi/exportfile"
|
|
56
|
+
:sql-name="$parent.$parent.sqlName"
|
|
57
|
+
template-name='用户稽查导出' :choose-col="true"></export-excel>
|
|
58
|
+
<print-data
|
|
59
|
+
:sum-field="$parent.$parent.getfield"
|
|
60
|
+
:model="$parent.model"
|
|
61
|
+
:field="$parent.$parent.getfield"
|
|
62
|
+
:defaultfield="$parent.$parent.defaultfield"
|
|
63
|
+
print-name="稽查查询打印"
|
|
64
|
+
:sumsmodel="$parent.$parent.sumsmodel" ></print-data>
|
|
65
|
+
<div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
|
|
66
|
+
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
70
|
+
<div class="col-sm-2 ">
|
|
71
|
+
<label class="font_normal_body">起始时间</label>
|
|
72
|
+
<datepicker id="startDate" placeholder="起始时间"
|
|
73
|
+
v-model="model.startDate"
|
|
74
|
+
style="width:60%"
|
|
75
|
+
:value.sync="model.startDate"
|
|
76
|
+
:disabled-days-of-Week="[]"
|
|
77
|
+
:format="'yyyy-MM-dd'"
|
|
78
|
+
:show-reset-button="reset">
|
|
79
|
+
</datepicker>
|
|
80
|
+
</div>
|
|
81
|
+
<div class="col-sm-2 ">
|
|
82
|
+
<label class="font_normal_body">截止时间</label>
|
|
83
|
+
<datepicker id="endDate" placeholder="截止时间"
|
|
84
|
+
v-model="model.endDate"
|
|
85
|
+
style="width:60%"
|
|
86
|
+
:value.sync="model.endDate"
|
|
87
|
+
:disabled-days-of-Week="[]"
|
|
88
|
+
:format="'yyyy-MM-dd'"
|
|
89
|
+
:show-reset-button="reset">
|
|
90
|
+
</datepicker>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="col-sm-2 ">
|
|
93
|
+
<label for="f_meter_classify" class="font_normal_body" title="参数名称:气表类型">气表类型</label>
|
|
94
|
+
<v-select id="f_meter_classify"
|
|
95
|
+
v-model="$parent.$parent.meter_classify"
|
|
96
|
+
placeholder='气表类型'
|
|
97
|
+
style="width:70%"
|
|
98
|
+
:value.sync="$parent.$parent.meter_classify"
|
|
99
|
+
:options='$parent.$parent.f_meter_classify'
|
|
100
|
+
:value-single="true"
|
|
101
|
+
close-on-select >
|
|
102
|
+
</v-select>
|
|
103
|
+
</div>
|
|
104
|
+
<div class="col-sm-2 ">
|
|
105
|
+
<label for="f_table_state" class="font_normal_body"> 表状态</label>
|
|
106
|
+
<v-select id="f_table_state"
|
|
107
|
+
style="width:60%"
|
|
108
|
+
v-model="model.f_table_state"
|
|
109
|
+
placeholder='表状态'
|
|
110
|
+
:value.sync="model.f_table_state"
|
|
111
|
+
:options='$parent.$parent.tablestate'
|
|
112
|
+
condition="f_table_state = '{}'"
|
|
113
|
+
close-on-select >
|
|
114
|
+
</v-select>
|
|
115
|
+
</div>
|
|
116
|
+
<div class="col-sm-2" >
|
|
117
|
+
<label class="font_normal_body" v-if="['卡表','物联网表'].includes($parent.$parent.meter_classify)">总购次数</label>
|
|
118
|
+
<label class="font_normal_body" v-else>抄表次数</label>
|
|
119
|
+
<input type="text" style="width:25%" class="input_search" v-model="model.cishumin"
|
|
120
|
+
condition="cishu >= {} " placeholder="">
|
|
121
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
122
|
+
<input type="text" style="width:25%" class="input_search" v-model="model.cishumax"
|
|
123
|
+
condition="cishu <= {} " placeholder="">
|
|
124
|
+
</div>
|
|
125
|
+
<div class="col-sm-2">
|
|
126
|
+
<label class="font_normal_body" v-if="$parent.$parent.meter_classify === '卡表'">总购气量</label>
|
|
127
|
+
<label class="font_normal_body" v-if="$parent.$parent.meter_classify === '机表'">总用气量</label>
|
|
128
|
+
<label class="font_normal_body" v-if="$parent.$parent.meter_classify === '物联网表'">总购金额</label>
|
|
129
|
+
<input type="text" style="width:25%" class="input_search" v-model="model.pregasmin"
|
|
130
|
+
condition="pregas >= {} " placeholder="">
|
|
131
|
+
<label class="font_normal_body"> ≤ x ≤ </label>
|
|
132
|
+
<input type="text" style="width:25%" class="input_search" v-model="model.pregasmax"
|
|
133
|
+
condition="pregas <= {} " placeholder="">
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div class="col-sm-2">
|
|
137
|
+
<label class="font_normal_body">  表号</label>
|
|
138
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
|
|
139
|
+
condition="f_meternumber = '{}'" placeholder='表号'>
|
|
140
|
+
</div>
|
|
141
|
+
<div class="col-sm-2 ">
|
|
142
|
+
<label class="font_normal_body">用户类型</label>
|
|
143
|
+
<v-select :value.sync="model.f_user_type"
|
|
144
|
+
@change="$parent.$parent.userTypeChange()"
|
|
145
|
+
:options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
|
|
146
|
+
condition="f_user_type = '{}'"
|
|
147
|
+
close-on-select></v-select>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<div class="col-sm-2">
|
|
151
|
+
<label class="font_normal_body">客户名称</label>
|
|
152
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
153
|
+
condition="f_user_name like '%{}%'" placeholder="客户名称">
|
|
154
|
+
</div>
|
|
155
|
+
<div class="col-sm-2">
|
|
156
|
+
<label class="font_normal_body">客户编号</label>
|
|
157
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
158
|
+
condition="f_userinfo_code like '%{}%' " placeholder="客户编号">
|
|
159
|
+
</div>
|
|
160
|
+
<div class="col-sm-2 form-group">
|
|
161
|
+
<label class="font_normal_body" title="旧客户编号">档案编号</label>
|
|
162
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
|
|
163
|
+
condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
|
|
164
|
+
</div>
|
|
165
|
+
<div class="col-sm-2 form-group">
|
|
166
|
+
<label class="font_normal_body">客户地址</label>
|
|
167
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
168
|
+
condition="f_address like '%{}%'" placeholder='客户地址'>
|
|
169
|
+
</div>
|
|
170
|
+
<div class="col-sm-2 form-group">
|
|
171
|
+
<label class="font_normal_body">客户电话</label>
|
|
172
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
|
|
173
|
+
condition="f_user_phone like '%{}%'" placeholder="客户电话">
|
|
174
|
+
</div>
|
|
175
|
+
<div class="col-sm-2 form-group">
|
|
176
|
+
<label class="font_normal_body">是否安检</label>
|
|
177
|
+
<v-select :value.sync="model.f_ischeck"
|
|
178
|
+
:options='$parent.$parent.ischecks'
|
|
179
|
+
placeholder='请选择'
|
|
180
|
+
v-model="model.f_ischeck"
|
|
181
|
+
condition="f_ischeck = '{}'"
|
|
182
|
+
close-on-select></v-select>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="col-sm-2 form-group">
|
|
185
|
+
<label for="startDate" class="font_normal_body">最后安检时间</label>
|
|
186
|
+
<datepicker id="startDate" placeholder="开始日期" style="width:60%"
|
|
187
|
+
v-model="model.startDate1"
|
|
188
|
+
:value.sync="model.startDate1"
|
|
189
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
190
|
+
:show-reset-button="true"
|
|
191
|
+
condition=" ISNULL(f_last_check_date, '9999-01-01') >= '{}'">
|
|
192
|
+
</datepicker>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="col-sm-2 form-group">
|
|
195
|
+
<label for="endDate" class="font_normal_body">结束日期</label>
|
|
196
|
+
<datepicker id="endDate" placeholder="结束日期" style="width:60%"
|
|
197
|
+
v-model="model.endDate2"
|
|
198
|
+
:value.sync="model.endDate2"
|
|
199
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
200
|
+
:show-reset-button="true"
|
|
201
|
+
condition=" ISNULL(f_last_check_date, '1900-01-01') <= '{}'">
|
|
202
|
+
</datepicker>
|
|
203
|
+
</div>
|
|
204
|
+
|
|
205
|
+
</div>
|
|
206
|
+
|
|
207
|
+
</div>
|
|
208
|
+
</criteria>
|
|
209
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" :optional="true" v-ref:grid>
|
|
210
|
+
<template partial='head'>
|
|
211
|
+
<tr>
|
|
212
|
+
<th><nobr>序号</nobr></th>
|
|
213
|
+
<th><nobr>客户编号</nobr></th>
|
|
214
|
+
<th><nobr>客户电话</nobr></th>
|
|
215
|
+
<th><nobr>档案编号</nobr></th>
|
|
216
|
+
<th><nobr>表号</nobr></th>
|
|
217
|
+
<th><nobr>客户名称</nobr></th>
|
|
218
|
+
<th><nobr>客户状态</nobr></th>
|
|
219
|
+
<th><nobr>客户地址</nobr></th>
|
|
220
|
+
<th><nobr>建档日期</nobr></th>
|
|
221
|
+
<th><nobr>客户类型</nobr></th>
|
|
222
|
+
<th><nobr>用气性质</nobr></th>
|
|
223
|
+
<th><nobr>表具状态</nobr></th>
|
|
224
|
+
<th><nobr>气表品牌</nobr></th>
|
|
225
|
+
<th><nobr>气价名称</nobr></th>
|
|
226
|
+
<th><nobr>最后购气日期</nobr></th>
|
|
227
|
+
<th v-show="$parent.$parent.$parent.meter_classify.includes('卡表') || $parent.$parent.$parent.meter_classify.includes('物联网表')"><nobr>总购气次数</nobr></th>
|
|
228
|
+
<th v-show="$parent.$parent.$parent.meter_classify === '机表'"><nobr>总抄表次数</nobr></th>
|
|
229
|
+
|
|
230
|
+
<th v-show="$parent.$parent.$parent.meter_classify.includes('卡表')"><nobr>总购气量</nobr></th>
|
|
231
|
+
<th v-show="$parent.$parent.$parent.meter_classify === '物联网表'"><nobr>总购金额</nobr></th>
|
|
232
|
+
<th v-show="$parent.$parent.$parent.meter_classify === '机表'"><nobr>总用气量</nobr></th>
|
|
233
|
+
|
|
234
|
+
<th v-show="$parent.$parent.$parent.meter_classify.includes('卡表') || $parent.$parent.$parent.meter_classify.includes('物联网表')"><nobr>累计未购气天数</nobr></th>
|
|
235
|
+
<th v-show="$parent.$parent.$parent.meter_classify === '机表'"><nobr>累计未抄表天数</nobr></th>
|
|
236
|
+
<th><nobr>组织机构</nobr></th>
|
|
237
|
+
<th><nobr>安检次数</nobr></th>
|
|
238
|
+
<th><nobr>最后安检时间</nobr></th>
|
|
239
|
+
</tr>
|
|
240
|
+
</template>
|
|
241
|
+
<template partial='body'>
|
|
242
|
+
<td style="text-align: center;"><nobr>{{$index+1}}</nobr></td>
|
|
243
|
+
<td style="text-align: center;"><nobr>
|
|
244
|
+
<span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
|
|
245
|
+
</nobr> </td>
|
|
246
|
+
<td style="text-align: center;"><nobr>{{row.f_user_phone}}</nobr></td>
|
|
247
|
+
<td style="text-align: center;"><nobr>{{row.f_olduserinfo_code}}</nobr></td>
|
|
248
|
+
<td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
|
|
249
|
+
<td style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></td>
|
|
250
|
+
<td style="text-align: center;"><nobr>{{row.f_user_state}}</nobr></td>
|
|
251
|
+
<td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
|
|
252
|
+
<td style="text-align: center;"><nobr>{{row.f_createfile_date}}</nobr></td>
|
|
253
|
+
<td style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></td>
|
|
254
|
+
<td style="text-align: center;"><nobr>{{row.f_gasproperties}}</nobr></td>
|
|
255
|
+
<td style="text-align: center;"><nobr>{{row.f_table_state}}</nobr></td>
|
|
256
|
+
<td style="text-align: center;"><nobr>{{row.f_meter_brand}}</nobr></td>
|
|
257
|
+
<td style="text-align: center;"><nobr>{{row.f_price_name}}</nobr></td>
|
|
258
|
+
<td style="text-align: center;"><nobr>{{row.delivery_date}}</nobr></td>
|
|
259
|
+
|
|
260
|
+
<td style="text-align: center;"><nobr>{{row.cishu}}</nobr></td>
|
|
261
|
+
<td style="text-align: center;"><nobr>{{row.pregas}}</nobr></td>
|
|
262
|
+
<td style="text-align: center;"><nobr>{{row.diffday}}</nobr></td>
|
|
263
|
+
<td style="text-align: center;"><nobr>{{row.f_orgname}}</nobr></td>
|
|
264
|
+
<td style="text-align: center;"><nobr>{{row.f_checknum}}</nobr></td>
|
|
265
|
+
<td style="text-align: center;"><nobr>{{row.f_last_check_date}}</nobr></td>
|
|
266
|
+
</template>
|
|
267
|
+
</data-grid>
|
|
268
|
+
</criteria-paged>
|
|
269
|
+
<table class="table-hover">
|
|
270
|
+
<tr style="position: relative" class="table-bordered">
|
|
271
|
+
<td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">汇总信息</td>
|
|
272
|
+
<td v-if="meter_classify === '卡表'" style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">总购气量合计:  {{sumsmodel.pregas}}</td>
|
|
273
|
+
<td v-if="meter_classify === '机表'" style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">总抄表气量合计:  {{sumsmodel.pregas}}</td>
|
|
274
|
+
<td v-if="meter_classify === '物联网表'" style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">总购金额合计:  {{sumsmodel.pregas}}</td>
|
|
275
|
+
</tr>
|
|
276
|
+
</table>
|
|
277
|
+
</div>
|
|
278
|
+
<div class="flex" v-if="show">
|
|
279
|
+
<user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
<modal :show.sync="batchQuotaModalShow" v-ref:secureQuotaModalShow
|
|
283
|
+
backdrop="false" class="secureQuotaModalShow" @modal-close="batchQuotaModalClose">
|
|
284
|
+
<header slot="modal-header" class="modal-header" style="text-align: center">
|
|
285
|
+
</header>
|
|
286
|
+
<article slot="modal-body" class="modal-body">
|
|
287
|
+
<validator name='v'>
|
|
288
|
+
<form class="form-horizontal select-overspread">
|
|
289
|
+
<div class="row">
|
|
290
|
+
<div class="col-sm-6 form-input-group" :class="[$v.third.required ? 'has-error' : '']">
|
|
291
|
+
<label class="font_normal_body col-sm-3">第三方缴费</label>
|
|
292
|
+
<input type="text" v-show="false" v-model="$refs.third.selectedItems"
|
|
293
|
+
v-validate:third='{required: true }'>
|
|
294
|
+
<v-select
|
|
295
|
+
:value.sync="quotaData.f_third_pay"
|
|
296
|
+
v-model="quotaData.f_third_pay"
|
|
297
|
+
:options='thirdPays'
|
|
298
|
+
:value-single="true"
|
|
299
|
+
close-on-select v-ref:third></v-select>
|
|
300
|
+
</div>
|
|
301
|
+
<div class="col-sm-6 form-input-group" :class="[$v.style.required ? 'has-error' : '']">
|
|
302
|
+
<label class="font_normal_body col-sm-3">限制类型</label>
|
|
303
|
+
<input type="text" v-show="false" v-model="$refs.style.selectedItems"
|
|
304
|
+
v-validate:style='{required: true }'>
|
|
305
|
+
<v-select
|
|
306
|
+
:value.sync="quotaData.f_limit_style"
|
|
307
|
+
v-model="quotaData.f_limit_style"
|
|
308
|
+
:options='limitstyle'
|
|
309
|
+
:value-single="true"
|
|
310
|
+
close-on-select v-ref:style></v-select>
|
|
311
|
+
</div>
|
|
312
|
+
</div>
|
|
313
|
+
<div class="row" style="margin-top:10px;" >
|
|
314
|
+
<div class="col-sm-6 form-input-group" :class="[$v.timetypes.required ? 'has-error' : '']">
|
|
315
|
+
<label class="font_normal_body col-sm-3">周期类型</label>
|
|
316
|
+
<input type="text" v-show="false" v-model="$refs.timetypes.selectedItems"
|
|
317
|
+
v-validate:timetypes='{required: true }'>
|
|
318
|
+
<v-select
|
|
319
|
+
:value.sync="quotaData.f_time_type"
|
|
320
|
+
v-model="quotaData.f_time_type"
|
|
321
|
+
:options='timeTypes'
|
|
322
|
+
:value-single="true"
|
|
323
|
+
close-on-select v-ref:timetypes></v-select>
|
|
324
|
+
</div>
|
|
325
|
+
<div class="col-sm-6 form-input-group" :class="[$v.f_time_value.required ? 'has-error' : '']">
|
|
326
|
+
<label class="font_normal_body col-sm-3">周期时长</label>
|
|
327
|
+
<input type="text" v-model="quotaData.f_time_value"
|
|
328
|
+
placeholder="周期时长"
|
|
329
|
+
style="vertical-align:middle"
|
|
330
|
+
v-validate:f_time_value='{required: true }'>
|
|
331
|
+
</div>
|
|
332
|
+
</div>
|
|
333
|
+
|
|
334
|
+
<div class="row" style="margin-top:10px;" v-if="quotaData.f_limit_style !=='按总量'">
|
|
335
|
+
<div class="col-sm-6 form-input-group" :class="[$v.f_limit_times.required ? 'has-error' : '']">
|
|
336
|
+
<label class="font_normal_body col-sm-3">限制次数</label>
|
|
337
|
+
<input type="text" style="width: 70%;display: inline-block" v-model="quotaData.f_limit_times" placeholder="限制次数" v-validate:f_limit_times='{required: true }'>
|
|
338
|
+
</div>
|
|
339
|
+
<div class="col-sm-6 form-input-group" v-if="quotaData.f_limit_type ==='气量'" :class="[$v.f_limit_value.required ? 'has-error' : '']">
|
|
340
|
+
<label class="font_normal_body col-sm-3">单次限购</label>
|
|
341
|
+
<input type="text" v-model="quotaData.f_limit_value" placeholder="单次限购" v-validate:f_limit_value='{required: true }'>
|
|
342
|
+
</div>
|
|
343
|
+
<div class="col-sm-6 form-input-group" v-if="quotaData.f_limit_type ==='金额'" :class="[$v.f_limit_amount.required ? 'has-error' : '']">
|
|
344
|
+
<label class="font_normal_body col-sm-3">单次限购</label>
|
|
345
|
+
<input type="text" v-model="quotaData.f_limit_amount" placeholder="单次限购" v-validate:f_limit_amount='{required: true }'>
|
|
346
|
+
</div>
|
|
347
|
+
</div>
|
|
348
|
+
<div class="row" style="margin-top:10px;" v-if="quotaData.f_limit_style ==='按总量'">
|
|
349
|
+
<div class="col-sm-6 form-input-group" v-if="quotaData.f_limit_type ==='气量'" :class="[$v.f_limit_value.required ? 'has-error' : '']">
|
|
350
|
+
<label class="font_normal_body col-sm-3">总限购量</label>
|
|
351
|
+
<input type="text" v-model="quotaData.f_limit_value" placeholder="单次限购" v-validate:f_limit_value='{required: true }'>
|
|
352
|
+
</div>
|
|
353
|
+
<div class="col-sm-6 form-input-group" v-if="quotaData.f_limit_type ==='金额'" :class="[$v.f_limit_amount.required ? 'has-error' : '']">
|
|
354
|
+
<label class="font_normal_body col-sm-3">总限购量</label>
|
|
355
|
+
<input type="text" v-model="quotaData.f_limit_amount" placeholder="单次限购" v-validate:f_limit_amount='{required: true }'>
|
|
356
|
+
</div>
|
|
357
|
+
</div>
|
|
358
|
+
<div class="row" style="margin-top:10px;">
|
|
359
|
+
<div class="col-sm-6 form-input-group" :class="[$v.limittype.required ? 'has-error' : '']">
|
|
360
|
+
<label class="font_normal_body col-sm-3">支付限制</label>
|
|
361
|
+
<input type="text" v-show="false" v-model="$refs.limittype.selectedItems"
|
|
362
|
+
v-validate:limittype='{required: true }'>
|
|
363
|
+
<v-select
|
|
364
|
+
:value.sync="quotaData.f_limit_type"
|
|
365
|
+
v-model="quotaData.f_limit_type"
|
|
366
|
+
:options='limitTypes'
|
|
367
|
+
:value-single="true"
|
|
368
|
+
close-on-select v-ref:limittype></v-select>
|
|
369
|
+
</div>
|
|
370
|
+
<div class="col-sm-6 form-input-group">
|
|
371
|
+
<label class="font_normal_body col-sm-3">执行时间</label>
|
|
372
|
+
<datepicker placeholder="执行时间"
|
|
373
|
+
v-model="quotaData.f_start_date"
|
|
374
|
+
:value.sync="quotaData.f_start_date"
|
|
375
|
+
:format="'yyyy-MM-dd'">
|
|
376
|
+
</datepicker>
|
|
377
|
+
</div>
|
|
378
|
+
<div class="row auto">
|
|
379
|
+
<div class="col-sm-12 form-group form-input-group" :class="[$v.f_operate_reason.required ? 'has-error' : '']">
|
|
380
|
+
<label class="control-label">限购原因</label>
|
|
381
|
+
<div class="col-sm-4">
|
|
382
|
+
<textarea class="form-control col-sm-4"
|
|
383
|
+
v-model="quotaData.f_operate_reason"
|
|
384
|
+
v-validate:f_operate_reason='{required: true }'
|
|
385
|
+
placeholder="限购原因">
|
|
386
|
+
</textarea>
|
|
387
|
+
</div>
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
391
|
+
</form>
|
|
392
|
+
</validator>
|
|
393
|
+
</article>
|
|
394
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
395
|
+
<div class="modal-footer">
|
|
396
|
+
<button type="button" class="btn btn-default" :disabled="!$v.valid"
|
|
397
|
+
@click='batchQuotaConfirm'>确定
|
|
398
|
+
</button>
|
|
399
|
+
<button type="button" class="btn btn-default" @click='batchQuotaModalClose'>取消</button>
|
|
400
|
+
</div>
|
|
401
|
+
</footer>
|
|
402
|
+
</modal>
|
|
403
|
+
</div>
|
|
404
|
+
</template>
|
|
405
|
+
<script>
|
|
406
|
+
/**
|
|
407
|
+
*用户档案查询列表以及添加操作组件
|
|
408
|
+
*/
|
|
409
|
+
import { PagedList } from 'vue-client'
|
|
410
|
+
import Vue from 'vue'
|
|
411
|
+
import plugin from 'system-clients/src/plugins/GetLoginInfoService'
|
|
412
|
+
|
|
413
|
+
let readySomething = async function (self) {
|
|
414
|
+
|
|
415
|
+
self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString()
|
|
416
|
+
|
|
417
|
+
// await self.$refs.paged.$refs.cri.search()
|
|
418
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
|
|
419
|
+
}
|
|
420
|
+
export default {
|
|
421
|
+
title: '用户稽查',
|
|
422
|
+
data () {
|
|
423
|
+
return {
|
|
424
|
+
other:[],
|
|
425
|
+
footer:[],
|
|
426
|
+
org:[this.$login.f.orgid],
|
|
427
|
+
criteriaShow: false,
|
|
428
|
+
meter_classify:'卡表',
|
|
429
|
+
filialeNameStr: null,
|
|
430
|
+
filialeCodeStr: `and f_orgid = '${this.$login.f.orgid}'`,
|
|
431
|
+
userid: this.$login.f.id,
|
|
432
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
|
|
433
|
+
getfield:{"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号","f_user_name":"客户名称",
|
|
434
|
+
"f_user_state":"客户状态","f_user_phone":"客户电话","f_address":"地址","f_createfile_date":"建档日期","f_user_type":"用户类型",
|
|
435
|
+
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
436
|
+
"delivery_date":"最后购气日期","cishu":"总购气次数","pregas":"总购气量",
|
|
437
|
+
"diffday":"未购气总天数","f_checknum":"安检次数","f_last_check_date":"最后安检日期"},
|
|
438
|
+
model: new PagedList('api/af-revenue/sql/inspectList', 50,{startDate:'this.model.startDate',endDate:'this.model.endDate'},{pregas: 0}),
|
|
439
|
+
rows: null,
|
|
440
|
+
//orgid:'',
|
|
441
|
+
show:false,
|
|
442
|
+
sqlName:'inspectList',
|
|
443
|
+
rowdata:{},
|
|
444
|
+
sumsmodel: {},
|
|
445
|
+
config: {
|
|
446
|
+
defaultPrint: ['f_userinfo_code','f_user_id']
|
|
447
|
+
},
|
|
448
|
+
thirdPays: [{label: '支持', value: '1'},{label: '不支持', value: '0'}],
|
|
449
|
+
timeTypes: [{label: '按月', value: '按月'},{label: '按日', value: '按日'}],
|
|
450
|
+
limitTypes: [{label: '气量', value: '气量'},{label: '金额', value: '金额'}],
|
|
451
|
+
limitstyle: [{label: '按次数', value: '按次数'},{label: '按总量', value: '按总量'}],
|
|
452
|
+
batchRowList: [],
|
|
453
|
+
quotaData: {
|
|
454
|
+
f_third_pay: '0',
|
|
455
|
+
f_time_type: '按月',
|
|
456
|
+
f_limit_times: '',
|
|
457
|
+
f_time_value: '',
|
|
458
|
+
f_limit_type: '气量',
|
|
459
|
+
f_limit_style:'',
|
|
460
|
+
f_limit_value: 0,
|
|
461
|
+
f_limit_amount: 0,
|
|
462
|
+
f_start_date: this.$login.toStandardDateString(),
|
|
463
|
+
f_operate_reason: '',
|
|
464
|
+
f_limit_source: '营收批量限购'
|
|
465
|
+
},
|
|
466
|
+
ischecks: [{label: '全部', value: ''},{label: '已安检', value: '已安检'},{label: '未安检', value: '未安检'}],
|
|
467
|
+
batchQuotaModalShow: false,
|
|
468
|
+
defaultfield: [],
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
watch:{
|
|
472
|
+
meter_classify(val){
|
|
473
|
+
if (val === '卡表') {
|
|
474
|
+
this.model.url = this.url = 'api/af-revenue/sql/inspectList'
|
|
475
|
+
this.sqlName = 'inspectList'
|
|
476
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
477
|
+
"f_user_name":"客户名称","f_user_state":"客户状态","f_user_phone":"客户电话","f_address":"地址",
|
|
478
|
+
"f_createfile_date":"建档日期","f_user_type":"用户类型",
|
|
479
|
+
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
480
|
+
"delivery_date":"最后购气日期","cishu":"总购气次数","pregas":"总购气量",
|
|
481
|
+
"diffday":"累计未购气天数","f_checknum":"安检次数","f_last_check_date":"最后安检日期"}
|
|
482
|
+
}else if (val === '机表') {
|
|
483
|
+
this.model.url = this.url = 'api/af-revenue/sql/handinspectList'
|
|
484
|
+
this.sqlName = 'handinspectList'
|
|
485
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
486
|
+
"f_user_name":"客户名称","f_user_state":"客户状态","f_user_phone":"客户电话","f_address":"地址",
|
|
487
|
+
"f_createfile_date":"建档日期","f_user_type":"用户类型",
|
|
488
|
+
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
489
|
+
"delivery_date":"最后抄表日期","cishu":"总抄表次数","pregas":"抄表气量",
|
|
490
|
+
"diffday":"累计未抄表天数","f_checknum":"安检次数","f_last_check_date":"最后安检日期"}
|
|
491
|
+
} else if (val === '物联网表') {
|
|
492
|
+
this.model.url = this.url = 'api/af-revenue/sql/getWebMeterList'
|
|
493
|
+
this.sqlName = 'getWebMeterList'
|
|
494
|
+
this.getfield = {"f_userinfo_code":"客户编号","f_olduserinfo_code":"档案编号","f_meternumber":"表号",
|
|
495
|
+
"f_user_name":"客户名称","f_user_state":"客户状态","f_user_phone":"客户电话","f_address":"地址",
|
|
496
|
+
"f_createfile_date":"建档日期", "f_user_type":"用户类型",
|
|
497
|
+
"f_gasproperties":"用气性质","f_table_state":"表具状态","f_meter_brand":"气表品牌","f_price_name":"气价名称",
|
|
498
|
+
"delivery_date":"最后购气日期","cishu":"总购气次数","pregas":"总购金额",
|
|
499
|
+
"diffday":"累计未购气天数","f_checknum":"安检次数","f_last_check_date":"最后安检日期"}
|
|
500
|
+
}
|
|
501
|
+
this.clear()
|
|
502
|
+
this.model.rows = []
|
|
503
|
+
for(let key in this.model.sums){
|
|
504
|
+
this.model.sums[key] = 0
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
},
|
|
508
|
+
sumsmodel:{
|
|
509
|
+
handler: function(val) {
|
|
510
|
+
this.getotherfooter();
|
|
511
|
+
},
|
|
512
|
+
deep: true
|
|
513
|
+
}
|
|
514
|
+
},
|
|
515
|
+
ready () {
|
|
516
|
+
|
|
517
|
+
readySomething(this).then(() => {
|
|
518
|
+
this.$emit('ready')
|
|
519
|
+
}).catch((error) => {
|
|
520
|
+
this.$emit('error', error)
|
|
521
|
+
})
|
|
522
|
+
},
|
|
523
|
+
methods: {
|
|
524
|
+
batchQuotaConfirm () {
|
|
525
|
+
let selectRow = this.$refs.paged.$refs.grid.getRowData()
|
|
526
|
+
let selectRowLen = selectRow.length
|
|
527
|
+
let msg = {
|
|
528
|
+
resolveMsg: `您已成功限购${selectRowLen}位用户!`,
|
|
529
|
+
rejectMsg: '批量作废限购失败!'
|
|
530
|
+
}
|
|
531
|
+
this.batchRowList = []
|
|
532
|
+
selectRow.forEach(row => {
|
|
533
|
+
this.batchRowList.push({"f_userinfo_id": row.f_userinfo_id, "f_priceid": row.f_priceid})
|
|
534
|
+
})
|
|
535
|
+
this.$showMessage(`您确定要将您你选中的${selectRowLen}位用户进行批量限购吗?`, ['confirm', 'cancel']).then(async (res) => {
|
|
536
|
+
if (res === 'confirm') {
|
|
537
|
+
console.log('所选中的用户:=======' + JSON.stringify(this.batchRowList))
|
|
538
|
+
let data = {
|
|
539
|
+
limitUserList: this.batchRowList,
|
|
540
|
+
f_operate_people: this.$login.f.name,
|
|
541
|
+
f_operate_peopleid: this.$login.f.id,
|
|
542
|
+
model: this.quotaData,
|
|
543
|
+
f_operate_type: '0'
|
|
544
|
+
}
|
|
545
|
+
await this.$resetpost('api/af-revenue/logic/sale_operateQuotaRecord', {data: data}, msg)
|
|
546
|
+
this.batchQuotaModalClose()
|
|
547
|
+
this.search()
|
|
548
|
+
}
|
|
549
|
+
})
|
|
550
|
+
},
|
|
551
|
+
batchQuotaModalClose () {
|
|
552
|
+
this.quotaData = {
|
|
553
|
+
f_third_pay: '0',
|
|
554
|
+
f_time_type: '按月',
|
|
555
|
+
f_limit_times: '',
|
|
556
|
+
f_time_value: '',
|
|
557
|
+
f_limit_type: '气量',
|
|
558
|
+
f_limit_style:'',
|
|
559
|
+
f_limit_value: 0,
|
|
560
|
+
f_limit_amount: 0,
|
|
561
|
+
f_start_date: this.$login.toStandardDateString(),
|
|
562
|
+
f_operate_reason: '',
|
|
563
|
+
f_limit_source: '营收批量限购'
|
|
564
|
+
}
|
|
565
|
+
this.batchQuotaModalShow = false
|
|
566
|
+
},
|
|
567
|
+
batchQuota(){
|
|
568
|
+
if (!this.$login.r.find(value => value == '稽查批量限购')) {
|
|
569
|
+
this.$showAlert('您没有权限操作此功能!!!', 'warning', 2000)
|
|
570
|
+
return
|
|
571
|
+
}
|
|
572
|
+
if(this.$refs.paged.$refs.grid.getRowData().length === 0){
|
|
573
|
+
this.$showAlert('请至少选择一项!', 'warning', 2000)
|
|
574
|
+
return
|
|
575
|
+
}
|
|
576
|
+
this.batchQuotaModalShow = true
|
|
577
|
+
},
|
|
578
|
+
getotherfooter(){
|
|
579
|
+
// this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
|
|
580
|
+
// this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
|
|
581
|
+
this.other=[];
|
|
582
|
+
this.footer=[];
|
|
583
|
+
let exportdata = this.getCondition;
|
|
584
|
+
let otherInData=[];
|
|
585
|
+
otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
|
|
586
|
+
let footerData=[],exportfield=this.getfield;
|
|
587
|
+
footerData.push("合计");
|
|
588
|
+
let self = this;
|
|
589
|
+
for(var field in self.sumsmodel){
|
|
590
|
+
footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
|
|
591
|
+
}
|
|
592
|
+
this.footer.push(footerData);
|
|
593
|
+
this.other.push(otherInData);
|
|
594
|
+
},
|
|
595
|
+
getorg (obj) {
|
|
596
|
+
if(obj.resids.length>0){
|
|
597
|
+
this.filialeCodeStr =" and f_orgid in " + plugin.convertToIn(obj.resids)
|
|
598
|
+
}
|
|
599
|
+
else{
|
|
600
|
+
this.filialeCodeStr= " and f_orgid = " + this.$login.f.orgid
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
userTypeChange () {
|
|
604
|
+
this.gasproperties=[]
|
|
605
|
+
if(this.$refs.paged.$refs.cri.model !==null) {
|
|
606
|
+
this.$refs.paged.$refs.cri.model.f_gasproperties=''
|
|
607
|
+
this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
|
|
608
|
+
}
|
|
609
|
+
else{
|
|
610
|
+
this.gasproperties =[{label: '全部', value: ''}]
|
|
611
|
+
}
|
|
612
|
+
},
|
|
613
|
+
|
|
614
|
+
cancel() {
|
|
615
|
+
this.show = false
|
|
616
|
+
},
|
|
617
|
+
showmsg(obj){
|
|
618
|
+
this.rowdata=obj
|
|
619
|
+
this.show=true
|
|
620
|
+
},
|
|
621
|
+
search () {
|
|
622
|
+
this.$refs.paged.$refs.cri.search()
|
|
623
|
+
},
|
|
624
|
+
selfSearch (args) {
|
|
625
|
+
if (!this.meter_classify) {
|
|
626
|
+
this.$showMessage('请选择气表类型。。。')
|
|
627
|
+
return
|
|
628
|
+
}
|
|
629
|
+
args.condition = args.condition+ ` ${this.filialeCodeStr}`
|
|
630
|
+
this.model.search(args.condition, args.model)
|
|
631
|
+
},
|
|
632
|
+
hidden(){
|
|
633
|
+
this.criteriaShow = !this.criteriaShow
|
|
634
|
+
},
|
|
635
|
+
clear(){
|
|
636
|
+
Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
|
|
637
|
+
if(key != 'startDate' && key != 'endDate')
|
|
638
|
+
this.$refs.paged.$refs.cri.model[key] = []
|
|
639
|
+
})
|
|
640
|
+
this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString()
|
|
641
|
+
this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString()
|
|
642
|
+
}
|
|
643
|
+
},
|
|
644
|
+
computed: {
|
|
645
|
+
gasproperties() {
|
|
646
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用气性质')]
|
|
647
|
+
},
|
|
648
|
+
usertypes() {
|
|
649
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
650
|
+
},
|
|
651
|
+
userstate() {
|
|
652
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('客户状态')]
|
|
653
|
+
},
|
|
654
|
+
tablestate () {
|
|
655
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表状态')]
|
|
656
|
+
},
|
|
657
|
+
f_meter_classify(){
|
|
658
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('气表类型')]
|
|
659
|
+
// return [{label: '机表', value: '机表'},{label: '卡表', value: '卡表'},{label: '物联网表', value: '物联网表'}]
|
|
660
|
+
// return [{label: '卡表', value: '卡表'}]
|
|
661
|
+
},
|
|
662
|
+
|
|
663
|
+
getCondition () {
|
|
664
|
+
let result = {
|
|
665
|
+
condition: '',
|
|
666
|
+
diffDay:' 1=1 ',
|
|
667
|
+
startDate: this.$refs.paged.$refs.cri.model.startDate,
|
|
668
|
+
endDate: this.$refs.paged.$refs.cri.model.endDate
|
|
669
|
+
}
|
|
670
|
+
result.condition = this.$refs.paged.$refs.cri.condition + this.filialeCodeStr
|
|
671
|
+
|
|
672
|
+
return result
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
</script>
|
|
677
|
+
<style media="screen">
|
|
678
|
+
.divtext {
|
|
679
|
+
min-width: 50px;
|
|
680
|
+
max-width: 200px;
|
|
681
|
+
border: 1px solid green;
|
|
682
|
+
display: inline-block;
|
|
683
|
+
}
|
|
684
|
+
</style>
|
|
685
|
+
|