manage-client 4.0.32 → 4.0.34

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.
@@ -0,0 +1,414 @@
1
+ <template>
2
+ <div id="unit" class="flex-row" class="foot_tabset" @keyup.enter="search">
3
+ <div class="basic-main">
4
+ <div class="flex" v-if="!show">
5
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
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 form-group">
10
+ <label class="font_normal_body">开始日期</label>
11
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
12
+ v-model="model.startDate"
13
+ :value.sync="model.startDate"
14
+ :format="'yyyy-MM-dd HH:mm:ss'"
15
+ :show-reset-button="true"
16
+ condition="f_operate_date >= '{}'">
17
+ </datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group">
20
+ <label class="font_normal_body">结束日期</label>
21
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
22
+ v-model="model.endDate"
23
+ :value.sync="model.endDate"
24
+ :format="'yyyy-MM-dd HH:mm:ss'"
25
+ :show-reset-button="true"
26
+ condition="f_operate_date <= '{}'">
27
+ </datepicker>
28
+ </div>
29
+ <div class="col-sm-2 form-group ">
30
+ <label class="font_normal_body">客户编号</label>
31
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
32
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
33
+ </div>
34
+ <div class="col-sm-2 form-group">
35
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
36
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
37
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
38
+ </div>
39
+
40
+
41
+ <div class="span" style="float:right;">
42
+ <button class="button_search button_spacing" @click="search()">查询</button>
43
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
44
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
45
+
46
+ <export-excel :data="$parent.$parent.getCondition"
47
+ :field="$parent.$parent.getfield"
48
+ :header="$parent.$parent.other"
49
+ v-if="$parent.$parent.authArr.includes('调价记录查询导出')"
50
+ sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="pricechangequery" template-name='调价记录查询导出'
51
+ :choose-col="true"></export-excel>
52
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
53
+ :defaultfield="$parent.$parent.defaultfield"
54
+ titletable="调价记录查询"
55
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
56
+ <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>
57
+ </div>
58
+ </div>
59
+
60
+ <div class="row" v-show="$parent.$parent.criteriaShow">
61
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" v-ref:sel></res-select-group>
62
+ <div class="col-sm-2 form-group">
63
+ <label class="font_normal_body">客户名称</label>
64
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
65
+ condition="f_user_name like '%{}%'" placeholder="客户名称">
66
+ </div>
67
+ <div class="col-sm-2 form-group">
68
+ <label class="font_normal_body">客户电话</label>
69
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
70
+ condition="f_user_phone like '%{}%'" placeholder="客户电话">
71
+ </div>
72
+
73
+ <div class="col-sm-2 form-group">
74
+ <label class="font_normal_body">&nbsp;旧&nbsp;气&nbsp;价</label>
75
+ <v-select :value.sync="model.f_used_content"
76
+ v-model="model.f_used_content"
77
+ :options='$parent.$parent.price' placeholder='请选择'
78
+ condition="f_used_content = '{}'"
79
+ close-on-select></v-select>
80
+ </div>
81
+ <div class="col-sm-2 form-group">
82
+ <label class="font_normal_body">&nbsp;新&nbsp;气&nbsp;价</label>
83
+ <v-select :value.sync="model.f_new_content"
84
+ v-model="model.f_new_content"
85
+ :options='$parent.$parent.price ' placeholder='请选择'
86
+ condition="f_new_content = '{}'"
87
+ close-on-select></v-select>
88
+ </div>
89
+ <div class="col-sm-2 form-group">
90
+ <label class="font_normal_body">客户类型</label>
91
+ <v-select :value.sync="model.f_user_type"
92
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
93
+ condition="f_user_type = '{}'"
94
+ close-on-select></v-select>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </criteria>
99
+
100
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid @dblclick="$parent.$parent.toBusiness">
101
+ <template partial='head'>
102
+ <tr>
103
+ <th>
104
+ <!--<nobr>客户编号</nobr>-->
105
+ <data-order field="f_userinfo_code" name="客户编号" :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
106
+ </th>
107
+ <th>
108
+ <nobr>客户名称</nobr>
109
+ </th>
110
+ <th>
111
+ <nobr>档案编号</nobr>
112
+ </th>
113
+ <th>
114
+ <nobr>客户电话</nobr>
115
+ </th>
116
+ <th>
117
+ <nobr>客户类型</nobr>
118
+ </th>
119
+ <th>
120
+ <nobr>更改前气价</nobr>
121
+ </th>
122
+ <th>
123
+ <nobr>更改后气价</nobr>
124
+ </th>
125
+ <th>
126
+ <nobr>调价原因</nobr>
127
+ </th>
128
+ <th>
129
+ <nobr>操作人</nobr>
130
+ </th>
131
+ <th>
132
+ <!--<nobr>操作日期</nobr>-->
133
+ <data-order field="f_operate_date" name="操作日期" :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
134
+ </th>
135
+ <th>
136
+ <nobr>部门</nobr>
137
+ </th>
138
+ <th>
139
+ <nobr>公司</nobr>
140
+ </th>
141
+ </tr>
142
+ </template>
143
+ <template partial='body'>
144
+ <td style="text-align: center;"><nobr>
145
+ <span @click="$parent.$parent.$parent.showmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
146
+ </nobr> </td>
147
+ <td style="text-align: center;">
148
+ <nobr>{{row.f_user_name}}</nobr>
149
+ </td>
150
+ <td style="text-align: center;">
151
+ <nobr>{{row.f_olduserinfo_code}}</nobr>
152
+ </td>
153
+ <td style="text-align: center;">
154
+ <nobr>{{row.f_user_phone}}</nobr>
155
+ </td>
156
+ <td style="text-align: center;">
157
+ <nobr>{{row.f_user_type}}</nobr>
158
+ </td>
159
+ <td style="text-align: center;">
160
+ <nobr>{{row.f_used_content}}</nobr>
161
+ </td>
162
+ <td style="text-align: center;">
163
+ <nobr>{{row.f_new_content}}</nobr>
164
+ </td>
165
+ <td style="text-align: center;">
166
+ <nobr>{{row.f_comments}}</nobr>
167
+ </td>
168
+ <td style="text-align: center;">
169
+ <nobr>{{row.f_operator}}</nobr>
170
+ </td>
171
+ <td style="text-align: center;">
172
+ <nobr>{{row.f_operate_date}}</nobr>s
173
+ </td>
174
+ <td style="text-align: center;">
175
+ <nobr>{{row.f_depname}}</nobr>
176
+ </td>
177
+ <td style="text-align: center;">
178
+ <nobr>{{row.f_orgname}}</nobr>
179
+ </td>
180
+ </template>
181
+ <template partial='foot'></template>
182
+ </data-grid>
183
+ </criteria-paged>
184
+ </div>
185
+ <div class="flex" v-if="show">
186
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
187
+ </div>
188
+ </div>
189
+ </div>
190
+ </template>
191
+
192
+ <script>
193
+ import {PagedList} from 'vue-client'
194
+ import defaultPrint from './config/DefaultPrint'
195
+ import exportConfig from './config/exportConfig'
196
+
197
+ let readySomething = async function (self) {
198
+
199
+ self.$refs.paged.$refs.cri.model.startDate = self.$login.toStandardDateString() + ' 00:00:00'
200
+ self.$refs.paged.$refs.cri.model.endDate = self.$login.toStandardDateString() + ' 23:59:59'
201
+ // self.$refs.paged.$refs.cri.search()
202
+ await self.$MagLoadParams.loadParam()
203
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
204
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
205
+ self.getPricenames()
206
+ }
207
+ export default {
208
+ title: '调价记录查询',
209
+ data() {
210
+ return {
211
+ data: {},
212
+ other:[],
213
+ footer:[],
214
+ meterbrands: [],
215
+ pricenames: [],
216
+ model: new PagedList('api/af-revenue/sql/pricechangequery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}),
217
+ criteriaShow: false,
218
+ usertypes:this.$appdata.getParam('用户类型') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')] : [],
219
+ orgCondtionStr: '',
220
+ modelval: [],
221
+ printshow: false,
222
+ all: false,
223
+ fields: {},
224
+ //排序
225
+ orderitem:'f_operate_date desc',
226
+ orderFields: {
227
+ f_operate_date: 'no'
228
+ },
229
+ initres: {
230
+ org:[this.$login.f.orgid],
231
+ dep:[],
232
+ user:[],
233
+ },
234
+ defaultfield: [],
235
+ config: {
236
+ defaultPrint: ['f_userinfo_code', 'f_user_name', 'f_user_phone']
237
+ },
238
+ show:false,
239
+ rowdata:{},
240
+ thead: '',
241
+ tfoot: '',
242
+ price: [],
243
+ // tablestate: [{label: '全部', value: ''}, {label: '正常', value: '正常'}, {label: '停用', value: '停用'}],
244
+
245
+
246
+ //合计数据
247
+ sumsmodel: {}
248
+ }
249
+ },
250
+ ready() {
251
+ readySomething(this)
252
+ },
253
+ methods: {
254
+ getPricenames() {
255
+ this.price = []
256
+ let priceArr = []
257
+ //debugger
258
+ this.$MagGetSaleParam.prices.forEach((item) => {
259
+ let temp = {}
260
+ temp.label = item.f_price_name
261
+ temp.value = item.f_price_name
262
+ priceArr.push(temp)
263
+ })
264
+ this.price = [{label: '全部', value: ''}, ...priceArr]
265
+ },
266
+ getotherfooter () {
267
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData = [];
268
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData = [];
269
+ this.other = [];
270
+ this.footer = [];
271
+ let exportdata = this.getCondition;
272
+ let otherInData = [];
273
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
274
+ // let footerData = [], exportfield = this.getfield;
275
+ // footerData.push("合计");
276
+ // let self = this;
277
+ // for (var field in self.sumsmodel) {
278
+ // footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
279
+ // }
280
+ // this.footer.push(footerData);
281
+ this.other.push(otherInData);
282
+ },
283
+ search(){
284
+ this.$refs.paged.$refs.cri.search()
285
+ },
286
+ cancel() {
287
+ this.show = false
288
+ },
289
+ showmsg(obj){
290
+ this.rowdata=obj
291
+ this.show=true
292
+ },
293
+
294
+ selfSearch(args) {
295
+ args.condition = `${args.condition}` + this.orgCondtionStr
296
+ this.model.search(args.condition, args.model)
297
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
298
+ },
299
+ clear() {
300
+ //清空部门和人员
301
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
302
+ //部门和人员变为全选
303
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
304
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
305
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
306
+ this.$refs.paged.$refs.cri.model[key] = []
307
+ })
308
+ },
309
+ show() {
310
+ this.criteriaShow = true
311
+ },
312
+ hidden() {
313
+ this.criteriaShow = !this.criteriaShow
314
+ },
315
+ getRes(obj) {
316
+ console.log(obj,"========")
317
+ this.orgCondtionStr = obj
318
+ },
319
+ stamp() {
320
+ this.all = false
321
+ //默认选择要打印的列
322
+ this.modelval = defaultPrint.config
323
+ this.fields = this.getfield
324
+ console.log('所有打印字段', this.fields)
325
+ this.printshow = true
326
+ this.put()
327
+ },
328
+ dealmsg(val) {
329
+ console.log('---------------dealmsg')
330
+ val.model = this.model.model
331
+ this.$dispatch('deal-msg', val)
332
+ },
333
+ put() {
334
+ // 对Modelval进行排序
335
+ this.sortModelval()
336
+ this.thead = `<tr><th colspan=${this.modelval.length}>换表查询统计报表</th></tr><tr>`
337
+ for (let key of this.modelval) {
338
+ this.thead += '<th>' + this.fields[key] + '</th>'
339
+ }
340
+ this.thead += '</tr>'
341
+ },
342
+ print() {
343
+ this.$refs.print.PrintAsFile()
344
+ this.printshow = false
345
+ },
346
+ close() {
347
+ this.printshow = false
348
+ this.all = false
349
+ },
350
+ // 对选择的列进行排序
351
+ sortModelval() {
352
+ let sortModel = []
353
+ Object.keys(this.fields).forEach((key) => {
354
+ if (this.modelval.includes(key)) {
355
+ sortModel.push(key)
356
+ }
357
+ })
358
+ this.modelval = sortModel
359
+ console.log('选择的打印的字段', this.modelval)
360
+ },
361
+ sort (field, rule) {
362
+ // 将所有排序方式设为不排序,实现相互排斥
363
+ for (let key in this.orderFields) {
364
+ if (key === field) {
365
+ this.orderFields[key] = rule
366
+ } else {
367
+ this.orderFields[key] = 'no'
368
+ }
369
+ }
370
+ // 如果新规则不排序,还原为默认排序
371
+ if (rule === 'no') {
372
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
373
+ } else {
374
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
375
+ }
376
+
377
+ this.search()
378
+ }
379
+ },
380
+ watch: {
381
+ 'all'(val) {
382
+ if (val) {
383
+ this.modelval = this.bodyData
384
+ } else {
385
+ this.modelval = defaultPrint.config
386
+ this.put()
387
+ }
388
+ },
389
+ 'modelval.length'() {
390
+ this.put()
391
+ },
392
+ sumsmodel:{
393
+ handler: function(val) {
394
+ this.getotherfooter();
395
+ },
396
+ deep: true
397
+ },
398
+ },
399
+ computed: {
400
+ authArr () {
401
+ return this.$login.r ? this.$login.r : []
402
+ },
403
+ getCondition() {
404
+ return {condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,orderitem:this.orderitem}
405
+ },
406
+ getfield() {
407
+ return exportConfig.changUserConfig
408
+ },
409
+ field_name() {
410
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('更改内容')]
411
+ }
412
+ }
413
+ }
414
+ </script>
@@ -231,7 +231,8 @@ export default {
231
231
  'f_operate_date': '操作日期',
232
232
  'f_depname': '部门',
233
233
  'f_orgname': '公司',
234
- 'f_comments': '修改原因'
234
+ 'f_comments': '修改原因',
235
+ 'f_user_type': '客户类型'
235
236
  },
236
237
  sellingChargePriceConfig: {
237
238
  'f_userinfo_code': '客户编号',
@@ -2677,5 +2678,48 @@ export default {
2677
2678
  'f_limit_value': '单次限购量',
2678
2679
  'f_start_date': '执行时间',
2679
2680
  'f_operate_reason': '限购原因'
2681
+ },
2682
+ fireQueryConfig: {
2683
+ 'f_user_name': '客户名称',
2684
+ 'f_olduserinfo_code': '档案编号',
2685
+ 'f_user_phone': '客户电话',
2686
+ 'f_address': '客户地址',
2687
+ 'f_user_state': '客户状态',
2688
+ 'f_meternumber': '表号',
2689
+ 'f_card_id': '卡号',
2690
+ 'f_meter_brand': '气表品牌',
2691
+ 'f_meter_style': '气表型号',
2692
+ 'f_aroundmeter': '表向',
2693
+ 'f_galvanize_pipe': '镀锌管',
2694
+ 'f_tee': '三通',
2695
+ 'f_nipple': '对丝',
2696
+ 'f_elbow': '弯头',
2697
+ 'f_bqf_type': '表前阀',
2698
+ 'f_pipe_strap': '管卡',
2699
+ 'f_zqf': '灶前阀',
2700
+ 'f_sebific_duct': '胶管',
2701
+ 'f_alarm_code': '自闭阀',
2702
+ 'f_zbf': '燃气具',
2703
+ 'f_gas_appliance': '报警器',
2704
+ 'f_geyser': '热水器',
2705
+ 'f_bgl': '壁挂锅炉',
2706
+ 'f_bgl_style': '型号',
2707
+ 'f_fire_gasbrand': '非民用气表品牌',
2708
+ 'f_fire_gasmodel': '非民用气表型号',
2709
+ 'f_llj_scope': '流量计范围',
2710
+ 'f_control_brand': '控制器品牌',
2711
+ 'f_control_model': '控制器型号',
2712
+ 'f_control_date': '控制器出厂日期',
2713
+ 'f_control_code': '控制器表编码',
2714
+ 'f_control_number': '控制器表封号',
2715
+ 'f_appliance_type': '燃气具类型',
2716
+ 'f_appliance_brand': '燃气具品牌',
2717
+ 'f_appliance_model': '燃气具型号',
2718
+ 'f_alarm_info': '报警控制箱品牌、数量',
2719
+ 'f_detector_number': '探测器数量',
2720
+ 'f_fic': '设施检验结论',
2721
+ 'f_deliver_date': '交付日期',
2722
+ 'f_operator': '操作人',
2723
+ 'f_operate_date': '操作日期'
2680
2724
  }
2681
2725
  }
@@ -24,4 +24,12 @@ export default function () {
24
24
  Vue.component('web-handplan-query', (resolve) => {
25
25
  require(['./WebHandplanQuery'], resolve)
26
26
  })
27
+ // 表具设备查询
28
+ Vue.component('fire-query', (resolve) => {
29
+ require(['./FireQuery'], resolve)
30
+ })
31
+ // 调价记录查询
32
+ Vue.component('price-change-query', (resolve) => {
33
+ require(['./PriceChangeQuery'], resolve)
34
+ })
27
35
  }