manage-client 3.2.176 → 3.2.177

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "manage-client",
3
- "version": "3.2.176",
3
+ "version": "3.2.177",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -0,0 +1,480 @@
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <div class="basic-main" @keyup.enter="search">
4
+ <div class="flex" v-if="!show" >
5
+
6
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
7
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
8
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
9
+ <div class="row">
10
+ <div class="col-sm-2 form-group">
11
+ <label for="startDate" class="font_normal_body">开始日期</label>
12
+ <datepicker id="startDate" placeholder="开始日期" style="width:60%"
13
+ v-model="model.startDate"
14
+ :value.sync="model.startDate"
15
+ :format="'yyyy-MM-dd HH:mm:ss'"
16
+ :show-reset-button="true"
17
+ condition="f_operate_date >= '{}'">
18
+ </datepicker>
19
+ </div>
20
+ <div class="col-sm-2 form-group">
21
+ <label for="endDate" class="font_normal_body">结束日期</label>
22
+ <datepicker id="endDate" placeholder="结束日期" style="width:60%"
23
+ v-model="model.endDate"
24
+ :value.sync="model.endDate"
25
+ :format="'yyyy-MM-dd HH:mm:ss'"
26
+ :show-reset-button="true"
27
+ condition="f_operate_date <= '{}'">
28
+ </datepicker>
29
+ </div>
30
+ <div class="col-sm-2 form-group">
31
+ <label class="font_normal_body">客户编号</label>
32
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
33
+ condition="f_userinfo_code = '{}' " placeholder="客户编号">
34
+ </div>
35
+ <div class="col-sm-2 form-group">
36
+ <label class="font_normal_body" title="旧客户编号">档案编号</label>
37
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_olduserinfo_code"
38
+ condition="f_olduserinfo_code = '{}' " placeholder="档案编号">
39
+ </div>
40
+ <div class="col-sm-2 form-group">
41
+ <label class="font_normal_body">过户类型</label>
42
+ <v-select :value.sync="model.f_transfer_type"
43
+ v-model="model.f_transfer_type"
44
+ :options='$parent.$parent.transfertype' placeholder='请选择'
45
+ condition="f_transfer_type = '{}'"
46
+ close-on-select></v-select>
47
+ </div>
48
+ <div class="span" style="float:right;">
49
+ <button class="button_search button_spacing" @click="search()">查询</button>
50
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
51
+ <!--<button class="btn btn-default" @click="$parent.$parent.stamp()">打印</button>-->
52
+ <export-excel :data="$parent.$parent.getCondition" :footer="$parent.$parent.footer"
53
+ :field="$parent.$parent.getfield" :header="$parent.$parent.other"
54
+ sqlurl="rs/logic/exportfile" sql-name="transferQuery" template-name='过户查询导出'
55
+ :choose-col="true"></export-excel>
56
+ <print-data :sum-field="$parent.$parent.getfield" :model="$parent.model" :field="$parent.$parent.getfield"
57
+ :defaultfield="$parent.$parent.defaultfield"
58
+ titletable="过户记录"
59
+ :sumsmodel="$parent.$parent.sumsmodel"></print-data>
60
+ <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>
61
+ </div>
62
+ </div>
63
+ <div class="row" v-show="$parent.$parent.criteriaShow">
64
+ <res-select-group :initres="$parent.$parent.initres" @re-res="$parent.$parent.getRes" :cascade =true v-ref:sel></res-select-group>
65
+
66
+ <div class="col-sm-2 form-group">
67
+ <label class="font_normal_body">客户地址</label>
68
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_address"
69
+ condition="f_address like '%{}%'" placeholder='客户地址'>
70
+ </div>
71
+ <div class="col-sm-2 form-group">
72
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
73
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
74
+ condition="f_meternumber = '{}'" placeholder='表号'>
75
+ </div>
76
+ <div class="col-sm-2 form-group">
77
+ <label class="font_normal_body">卡&emsp;&emsp;号</label>
78
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
79
+ condition="f_card_id = '{}'" placeholder='卡号'>
80
+ </div>
81
+ <div class="col-sm-2 form-group">
82
+ <label class="font_normal_body">过户状态</label>
83
+ <v-select :value.sync="model.f_state"
84
+ v-model="model.f_state"
85
+ :options='$parent.$parent.transferstate' placeholder='请选择'
86
+ condition="f_state = '{}'"
87
+ close-on-select></v-select>
88
+ </div>
89
+ <div class="col-sm-2 form-group">
90
+ <label class="font_normal_body">原户姓名</label>
91
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
92
+ placeholder="原户姓名"
93
+ condition="f_user_name like '%{}%'">
94
+ </div>
95
+ <div class="col-sm-2 form-group">
96
+ <label class="font_normal_body">新户姓名</label>
97
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_name"
98
+ condition="f_newuser_name like '%{}%' " placeholder="新户姓名">
99
+ </div>
100
+ <div class="col-sm-2 form-group">
101
+ <label class="font_normal_body">原户电话</label>
102
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
103
+ condition="f_user_phone like '%{}%' " placeholder="原户电话">
104
+ </div>
105
+ <div class="col-sm-2 form-group">
106
+ <label class="font_normal_body">新户电话</label>
107
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_newuser_phone"
108
+ condition="f_newuser_phone like '%{}%' " placeholder="新户电话">
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </criteria>
113
+
114
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid :classname="$parent.classname">
115
+ <template partial='head'>
116
+ <tr>
117
+ <th>
118
+ <!-- <nobr>客户编号</nobr>-->
119
+ <data-order field="f_userinfo_code" name="客户编号"
120
+ :order.sync="$parent.$parent.$parent.orderFields.f_userinfo_code"></data-order>
121
+ </th>
122
+ <th>
123
+ <nobr>客户名称</nobr>
124
+ </th>
125
+ <th>
126
+ <nobr>过户类型</nobr>
127
+ </th>
128
+ <th>
129
+ <!-- <nobr>客户地址</nobr>-->
130
+ <data-order field="f_address" name="客户地址"
131
+ :order.sync="$parent.$parent.$parent.orderFields.f_address"></data-order>
132
+ </th>
133
+ <th>
134
+ <nobr>表号</nobr>
135
+ </th>
136
+ <th>
137
+ <nobr>原客户名称</nobr>
138
+ </th>
139
+ <th>
140
+ <nobr>新客户电话</nobr>
141
+ </th>
142
+ <th>
143
+ <nobr>原客户电话</nobr>
144
+ </th>
145
+ <th>
146
+ <nobr>过户费</nobr>
147
+ </th>
148
+ <th>
149
+ <!-- <nobr>过户日期</nobr>-->
150
+ <data-order field="f_operate_date" name="过户日期"
151
+ :order.sync="$parent.$parent.$parent.orderFields.f_operate_date"></data-order>
152
+ </th>
153
+ <th>
154
+ <nobr>备注</nobr>
155
+ </th>
156
+ <th>
157
+ <nobr>操作员</nobr>
158
+ </th>
159
+ <th>
160
+ <nobr>部门</nobr>
161
+ </th>
162
+ <th>
163
+ <nobr>公司</nobr>
164
+ </th>
165
+ <th><nobr>附件</nobr></th>
166
+ </tr>
167
+ </template>
168
+ <template partial='body'>
169
+ <td style="text-align: center;">
170
+ <nobr>
171
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span></nobr>
172
+ </td>
173
+ <td style="text-align: center;">
174
+ <nobr>{{row.f_newuser_name}}</nobr>
175
+ </td>
176
+ <td style="text-align: center;">
177
+ <nobr>{{row.f_transfer_type}}</nobr>
178
+ </td>
179
+ <td style="text-align: center;">
180
+ <nobr>{{row.f_address}}</nobr>
181
+ </td>
182
+ <td style="text-align: center;">
183
+ <nobr>{{row.f_meternumber}}</nobr>
184
+ </td>
185
+ <td style="text-align: center;">
186
+ <nobr>{{row.f_user_name}}</nobr>
187
+ </td>
188
+ <td style="text-align: center;">
189
+ <nobr>{{row.f_newuser_phone}}</nobr>
190
+ </td>
191
+ <td style="text-align: center;">
192
+ <nobr>{{row.f_user_phone}}</nobr>
193
+ </td>
194
+ <td style="text-align: center;">
195
+ <nobr>{{row.f_transfer_fees}}</nobr>
196
+ </td>
197
+ <td style="text-align: center;">
198
+ <nobr>{{row.f_operate_date}}</nobr>
199
+ </td>
200
+ <td style="text-align: center;">
201
+ <nobr>{{row.f_comments}}</nobr>
202
+ </td>
203
+ <td style="text-align: center;">
204
+ <nobr>{{row.f_operator}}</nobr>
205
+ </td>
206
+ <td style="text-align: center;">
207
+ <nobr>{{row.f_depname}}</nobr>
208
+ </td>
209
+ <td style="text-align: center;">
210
+ <nobr>{{row.f_orgname}}</nobr>
211
+ </td>
212
+ <td style="text-align: center;"><nobr>
213
+ <button class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.view(row)">查看</button>
214
+ </nobr></td>
215
+ </template>
216
+ <template partial='foot'></template>
217
+ </data-grid>
218
+ </criteria-paged>
219
+
220
+ <table class="table-hover">
221
+ <tr style="position: relative" class="table-bordered">
222
+ <td
223
+ style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;color: #5CB95C;font-weight: bold">
224
+ 汇总信息
225
+ </td>
226
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
227
+ 过户费合计:&emsp;{{sumsmodel.f_transfer_fees}}
228
+ </td>
229
+ <td style="display: inline-block;width: auto;border-right: 1px solid #F2F6FA;padding: 0px 10px 0px 10px;font-weight: bold">
230
+ 户数合计:&emsp;{{sumsmodel.hushu}}
231
+ </td>
232
+ </tr>
233
+ </table>
234
+ </div>
235
+ <div class="flex" v-if="show">
236
+ <user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
237
+ </div>
238
+ </div>
239
+ <modal :show.sync="showupload" v-if="showupload" width="80%" style="width:auto;" v-ref:modal middle backdrop="false">
240
+ <article slot="modal-body">
241
+ <upload :blodid="selected.f_userinfo_id" v-ref:upload isupload="false" takeimg="false" fusetype="过户" :isremark="false" style="width:auto" ></upload>
242
+ </article>
243
+ <footer slot="modal-footer" class="modal-footer">
244
+ </footer>
245
+ </modal>
246
+ </div>
247
+ </template>
248
+
249
+ <script>
250
+ import {PagedList} from 'vue-client'
251
+ import defaultPrint from '../../components/sale/config/DefaultPrint'
252
+ import exportConfig from '../../components/sale/config/exportConfig'
253
+
254
+ let readySomething = async function (self) {
255
+ self.$refs.paged.$refs.cri.model.startDate = self.data ? self.data.startDate : self.$login.toStandardDateString() + ' 00:00:00'
256
+ self.$refs.paged.$refs.cri.model.endDate = self.data ? self.data.endDate : self.$login.toStandardDateString() + ' 23:59:59'
257
+ self.defaultfield = [...self.defaultfield, ...self.config.defaultPrint]
258
+ // await self.$refs.paged.$refs.cri.search()
259
+ await self.$MagLoadParams.loadParam(self.$login.f)
260
+
261
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums
262
+ }
263
+ export default {
264
+ props:['data'],
265
+ title: '过户查询',
266
+ data() {
267
+ return {
268
+ data: {},
269
+ other:[],
270
+ footer:[],
271
+ show:false,
272
+ rowdata:{},
273
+ model: new PagedList('rs/sql/transferQuery', 20, {orderitem: this.orderitem?'"' + this.orderitem + ' "':`'f_operate_date desc'`}, {f_transfer_fees: 0,hushu:0}),
274
+ criteriaShow: false,
275
+ initres: {
276
+ org:[this.$login.f.orgid],
277
+ dep:[],
278
+ user:[],
279
+ },
280
+ headData: ["客户编号", "新户姓名", "新户电话", "客户地址","过户类型", "过户状态", "原户姓名", "原户电话", "客户类型", "用气性质", "气价名称", "过户费", "过户日期", "人员", "部门", "公司"],
281
+ bodyData: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address","f_transfer_type","f_state", "f_user_name", "f_user_phone", "f_user_type", "f_gasproperties", "f_price_name", "f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"],
282
+ orgCondtionStr: '',
283
+ modelval: [],
284
+ printshow: false,
285
+ all: false,
286
+ fields: {},
287
+ config: {
288
+ defaultPrint: ["f_userinfo_code", "f_newuser_name", "f_newuser_phone", "address","f_transfer_type", "f_state", "f_user_name","f_transfer_fees", "f_operate_date", "f_operator", "f_depname", "f_orgname"]
289
+ },
290
+ //排序
291
+ orderitem:'f_operate_date desc',
292
+ orderFields: {
293
+ f_operate_date: 'no'
294
+ },
295
+ //默认打印列
296
+ defaultfield: [],
297
+ thead: '',
298
+ tfoot: '',
299
+ showupload:false,
300
+ selected:{},
301
+
302
+ transferstate: this.$appdata.getParam('过户状态') ? [{
303
+ label: '全部',
304
+ value: ''
305
+ }, ...this.$appdata.getParam('过户状态')] : [],
306
+
307
+ transfertype: this.$appdata.getParam('过户类型') ? [{
308
+ label: '全部',
309
+ value: ''
310
+ }, ...this.$appdata.getParam('过户类型')] : [],
311
+ //合计数据
312
+ sumsmodel: {}
313
+ }
314
+ },
315
+ ready() {
316
+ console.log(this.$login.f)
317
+ readySomething(this).then(() => {
318
+ this.$emit('ready')
319
+ }).catch((error) => {
320
+ this.$emit('error', error)
321
+ })
322
+ },
323
+ methods: {
324
+ view(row){
325
+ this.showupload = true
326
+ this.selected= row
327
+ },
328
+ getotherfooter(){
329
+ // this.$refs.paged.$refs.cri.$refs.exports.otherData=[];
330
+ // this.$refs.paged.$refs.cri.$refs.exports.footerData=[];
331
+ this.other=[];
332
+ this.footer=[];
333
+ let exportdata = this.getCondition;
334
+ let otherInData=[];
335
+ otherInData.push(`导出时间: ${this.$login.toStandardTimeString()}`);
336
+ let footerData=[],exportfield=this.getfield;
337
+ footerData.push("合计");
338
+ let self = this;
339
+ for(var field in self.sumsmodel){
340
+ footerData.push(`${exportfield[field]}合计:${self.sumsmodel[field]}`);
341
+ }
342
+ this.footer.push(footerData);
343
+ this.other.push(otherInData);
344
+ },
345
+ search(){
346
+ this.$refs.paged.$refs.cri.search()
347
+ },
348
+ dblclick(obj) {
349
+ this.data = obj
350
+ this.showinfo = true
351
+ },
352
+ async selfSearch(args) {
353
+ if (this.data) {
354
+ this.$parent.$parent.$parent.data.startDate=this.$refs.paged.$refs.cri.model.startDate
355
+ this.$parent.$parent.$parent.data.endDate=this.$refs.paged.$refs.cri.model.endDate
356
+ }
357
+ args.condition = `${args.condition}` + this.orgCondtionStr
358
+ // console.log('我的阐述', JSON.stringify(args.condition))
359
+ await this.model.search(args.condition, args.model)
360
+ this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
361
+ this.sumsmodel.hushu=[...new Set(this.$refs.paged.$refs.grid.model.rows.map(item => item.f_userinfo_code))].length
362
+
363
+ console.log('合计字段', this.sumsmodel)
364
+ },
365
+ dealmsg(val) {
366
+ console.log('---------------dealmsg')
367
+ this.rowdata=val
368
+ this.show=true
369
+ val.model = this.model.model
370
+ this.$dispatch('deal-msg', val)
371
+ },
372
+ cancel() {
373
+ this.show = false
374
+ },
375
+ clear() {
376
+ //清空部门和人员
377
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].selectres = []
378
+ //部门和人员变为全选
379
+ this.$refs.paged.$refs.cri.$refs.sel.$children[1].$children[0].isSelectAll = false
380
+ this.$refs.paged.$refs.cri.$refs.sel.$children[2].$children[0].isSelectAll = false
381
+ Object.keys(this.$refs.paged.$refs.cri.model).forEach((key) => {
382
+ this.$refs.paged.$refs.cri.model[key] = []
383
+ })
384
+ },
385
+ show() {
386
+ this.criteriaShow = true
387
+ },
388
+ hidden() {
389
+ this.criteriaShow = !this.criteriaShow
390
+ },
391
+ getRes(obj) {
392
+ this.orgCondtionStr = obj
393
+ },
394
+ stamp() {
395
+ this.all = false
396
+ //默认选择要打印的列
397
+ this.modelval = defaultPrint.config
398
+ this.fields = this.getfield
399
+ console.log('所有打印字段', this.fields)
400
+ this.printshow = true
401
+ this.put()
402
+ },
403
+ put() {
404
+ // 对Modelval进行排序
405
+ this.sortModelval()
406
+ this.thead = `<tr><th colspan=${this.modelval.length}>过户查询统计报表</th></tr><tr>`
407
+ for (let key of this.modelval) {
408
+ this.thead += '<th>' + this.fields[key] + '</th>'
409
+ }
410
+ this.thead += '</tr>'
411
+ },
412
+ print() {
413
+ this.$refs.print.PrintAsFile()
414
+ this.printshow = false
415
+ },
416
+ close() {
417
+ this.printshow = false
418
+ this.all = false
419
+ },
420
+ // 对选择的列进行排序
421
+ sortModelval() {
422
+ let sortModel = []
423
+ Object.keys(this.fields).forEach((key) => {
424
+ if (this.modelval.includes(key)) {
425
+ sortModel.push(key)
426
+ }
427
+ })
428
+ this.modelval = sortModel
429
+ console.log('选择的打印的字段', this.modelval)
430
+ },
431
+ sort (field, rule) {
432
+ // 将所有排序方式设为不排序,实现相互排斥
433
+ for (let key in this.orderFields) {
434
+ if (key === field) {
435
+ this.orderFields[key] = rule
436
+ } else {
437
+ this.orderFields[key] = 'no'
438
+ }
439
+ }
440
+ // 如果新规则不排序,还原为默认排序
441
+ if (rule === 'no') {
442
+ this.model.paramSource.orderitem = `'${this.orderitem}'`
443
+ } else {
444
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
445
+ }
446
+
447
+ this.search()
448
+ }
449
+ },
450
+ watch: {
451
+ 'all'(val) {
452
+ if (val) {
453
+ this.modelval = this.bodyData
454
+ } else {
455
+ this.modelval = defaultPrint.config
456
+ this.put()
457
+ }
458
+ },
459
+ 'modelval.length'() {
460
+ this.put()
461
+ },
462
+ sumsmodel:{
463
+ handler: function(val) {
464
+ this.getotherfooter();
465
+ },
466
+ deep: true
467
+ }
468
+ },
469
+ computed: {
470
+ getCondition() {
471
+ return {
472
+ condition: `${this.$refs.paged.$refs.cri.condition}` + this.orgCondtionStr,
473
+ orderitem: this.orderitem?`${this.orderitem}`: `'f_operate_date desc'` }
474
+ },
475
+ getfield() {
476
+ return exportConfig.transferConfig
477
+ }
478
+ }
479
+ }
480
+ </script>
@@ -2,6 +2,7 @@
2
2
  let specialComp = {
3
3
  //卡表抄表查询
4
4
  'charge-query': (resolve) => {require(['./ChargeQuery'], resolve)},
5
+ 'transfer-query': (resolve) => {require(['./TransferQuery'], resolve)},
5
6
  // 综合档案查询
6
7
  'record-info-query': (resolve) => { require(['./RecordInfoQuery'], resolve) }
7
8
  }