manage-client 4.1.105 → 4.1.106-dxls

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": "4.1.105",
3
+ "version": "4.1.106-dxls",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -177,13 +177,6 @@
177
177
  condition="f_user_type = '{}'"
178
178
  close-on-select></v-select>
179
179
  </div>
180
- <div class="col-sm-2 form-group">
181
- <label class="font_normal_body">气表类型</label>
182
- <v-select :value.sync="model.f_meter_type" multiple
183
- :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
184
- condition="f_meter_type in {}"
185
- close-on-select></v-select>
186
- </div>
187
180
  <div class="col-sm-2 form-group">
188
181
  <label class="font_normal_body">用气性质</label>
189
182
  <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
@@ -191,6 +184,13 @@
191
184
  condition="f_gasproperties = '{}'"
192
185
  close-on-select></v-select>
193
186
  </div>
187
+ <div class="col-sm-2 form-group">
188
+ <label class="font_normal_body">气表类型</label>
189
+ <v-select :value.sync="model.f_meter_type" multiple
190
+ :options='$parent.$parent.metertypes' placeholder='请选择' v-model="model.f_meter_type"
191
+ condition="f_meter_type in {}"
192
+ close-on-select></v-select>
193
+ </div>
194
194
  <div class="col-sm-2 form-group">
195
195
  <label class="font_normal_body">气价类型</label>
196
196
  <v-select :value.sync="model.pricetype" v-model="model.pricetype"
@@ -127,6 +127,15 @@
127
127
  condition="f_user_type = '{}'"
128
128
  close-on-select></v-select>
129
129
  </div>
130
+ <div class="col-sm-2 form-group">
131
+ <label class="font_normal_body">用气性质</label>
132
+ <v-select :value.sync="model.f_gasproperties"
133
+ v-model="model.f_gasproperties"
134
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
135
+ :multiple="true"
136
+ condition="f_gasproperties in {}">
137
+ </v-select>
138
+ </div>
130
139
  <div class="col-sm-2 form-group" >
131
140
  <label class="font_normal_body">客户状态</label>
132
141
  <v-select :value.sync="model.f_user_state"
@@ -143,15 +152,6 @@
143
152
  condition="f_table_state = '{}'"
144
153
  close-on-select></v-select>
145
154
  </div>
146
- <div class="col-sm-2 form-group">
147
- <label class="font_normal_body">用气性质</label>
148
- <v-select :value.sync="model.f_gasproperties"
149
- v-model="model.f_gasproperties"
150
- :options='$parent.$parent.gasproperties' placeholder='请选择'
151
- :multiple="true"
152
- condition="f_gasproperties in {}">
153
- </v-select>
154
- </div>
155
155
  <div class="col-sm-2 form-group">
156
156
  <label class="font_normal_body">气价类型</label>
157
157
  <v-select :value.sync="model.pricetype" v-model="model.pricetype"
@@ -119,14 +119,6 @@
119
119
  condition="f_meter_classify like '%{}%'"
120
120
  close-on-select></v-select>
121
121
  </div>
122
- <div class="col-sm-2 form-group">
123
- <label class="font_normal_body" title="参数名称:用户类型">客户类型</label>
124
- <v-select :value.sync="model.f_user_type"
125
- @change="$parent.$parent.userTypeChange()"
126
- :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
127
- condition="f_user_type = '{}'"
128
- close-on-select></v-select>
129
- </div>
130
122
  <div class="col-sm-2 form-group" >
131
123
  <label class="font_normal_body">客户状态</label>
132
124
  <v-select :value.sync="model.f_user_state"
@@ -135,6 +127,14 @@
135
127
  condition="f_user_state = '{}'"
136
128
  close-on-select></v-select>
137
129
  </div>
130
+ <div class="col-sm-2 form-group">
131
+ <label class="font_normal_body" title="参数名称:用户类型">客户类型</label>
132
+ <v-select :value.sync="model.f_user_type"
133
+ @change="$parent.$parent.userTypeChange()"
134
+ :options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
135
+ condition="f_user_type = '{}'"
136
+ close-on-select></v-select>
137
+ </div>
138
138
  <div class="col-sm-2 form-group">
139
139
  <label class="font_normal_body">用气性质</label>
140
140
  <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
@@ -173,7 +173,9 @@
173
173
  <v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
174
174
  :options='$parent.$parent.usertypes' placeholder='请选择'
175
175
  condition="f_user_type = '{}'"
176
- close-on-select></v-select>
176
+ @change="$parent.$parent.userTypeChange()"
177
+ close-on-select>
178
+ </v-select>
177
179
  </div>
178
180
  <div class="col-sm-2 form-group">
179
181
  <label class="font_normal_body">用气性质</label>
@@ -414,9 +416,9 @@ export default {
414
416
  },
415
417
  userTypeChange () {
416
418
  this.gasproperties=[]
417
- if(this.$refs.paged.$refs.criteria.model !==null) {
418
- this.$refs.paged.$refs.criteria.model.f_gasproperties=''
419
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type[0])
419
+ if(this.$refs.paged.$refs.criteria.model !== null) {
420
+ this.$refs.paged.$refs.criteria.model.f_gasproperties = ''
421
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type ? this.$refs.paged.$refs.criteria.model.f_user_type[0] : '')
420
422
  }
421
423
  else{
422
424
  this.gasproperties =[{label: '全部', value: ''}]
@@ -520,9 +522,6 @@ export default {
520
522
  usertypes() {
521
523
  return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
522
524
  },
523
- gasproperties() {
524
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用气性质')]
525
- },
526
525
  pricetypes() {
527
526
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
528
527
  },
@@ -75,6 +75,7 @@
75
75
  <v-select style="width:60%" id="f_user_type"
76
76
  v-model="model.f_user_type"
77
77
  placeholder='客户类型'
78
+ @change="$parent.$parent.userTypeChange()"
78
79
  :value.sync="model.f_user_type"
79
80
  :options='$parent.$parent.usertypes'
80
81
  condition="f_user_type = '{}'"
@@ -87,7 +88,7 @@
87
88
  v-model="model.f_gasproperties"
88
89
  placeholder='用气性质'
89
90
  :value.sync="model.f_gasproperties"
90
- :options='$parent.$parent.Gasproperties'
91
+ :options='$parent.$parent.gasproperties'
91
92
  condition="f_gasproperties = '{}'"
92
93
  close-on-select>
93
94
  </v-select>
@@ -400,6 +401,7 @@
400
401
  },
401
402
  depid: [],
402
403
  operator: [],
404
+ gasproperties: [],
403
405
  other: [],
404
406
  sumsmodel: {},
405
407
  filename: '',
@@ -431,6 +433,16 @@
431
433
  },
432
434
 
433
435
  methods: {
436
+ userTypeChange () {
437
+ this.gasproperties = []
438
+ if(this.$refs.paged.$refs.cri.model !== null) {
439
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
440
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type ? this.$refs.paged.$refs.cri.model.f_user_type[0] : '')
441
+ }
442
+ else{
443
+ this.gasproperties = [{label: '全部', value: ''}]
444
+ }
445
+ },
434
446
  getotherfooter() {
435
447
  this.other = [];
436
448
 
@@ -86,7 +86,6 @@ export default {
86
86
  name: '异常分布',
87
87
  type: 'pie',
88
88
  radius: '70%',
89
- minAngle: 15,
90
89
  avoidLabelOverlap: false,
91
90
  label: {
92
91
  show: true,
@@ -332,7 +332,9 @@ export default {
332
332
  config: {
333
333
  defaultPrint: ['f_userinfo_code', 'f_user_id']
334
334
  },
335
- defaultfield: []
335
+ defaultfield: [],
336
+ _waitTimer: null,
337
+ _waitAttempt: 0,
336
338
  }
337
339
  },
338
340
  watch: {
@@ -393,20 +395,43 @@ export default {
393
395
  },
394
396
  ready() {
395
397
  // 初始化默认查询配置
396
- this.initQueryConfig(this.queryType)
397
- if (this.$refs.paged.$refs.cri.model) {
398
- this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
399
- this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
400
- }
401
- readySomething(this).then(() => {
402
- this.$emit('ready')
403
- }).catch((error) => {
404
- this.$emit('error', error)
398
+ this.waitForChild(() => {
399
+ this.initQueryConfig(this.queryType)
400
+ if (this.$refs.paged.$refs.cri.model) {
401
+ this.$refs.paged.$refs.cri.model.startDate = this.$login.toStandardDateString() + ' 00:00:00'
402
+ this.$refs.paged.$refs.cri.model.endDate = this.$login.toStandardDateString() + ' 23:59:59'
403
+ }
404
+ readySomething(this).then(() => {
405
+ this.$emit('ready')
406
+ }).catch((error) => {
407
+ this.$emit('error', error)
408
+ })
409
+ // 添加回车键监听
410
+ document.addEventListener('keyup', this.handleKeyUp)
405
411
  })
406
- // 添加回车键监听
407
- document.addEventListener('keyup', this.handleKeyUp)
408
412
  },
409
413
  methods: {
414
+ waitForChild(callback) {
415
+ // 如果组件已销毁,停止等待
416
+ if (this._isDestroyed) return;
417
+
418
+ // 检查子组件是否就绪
419
+ if (this.$refs.paged && this.$refs.paged.$refs.cri) {
420
+ // 就绪,执行回调
421
+ callback();
422
+ } else {
423
+ // 未就绪,继续轮询(最多尝试 100 次,约 2 秒)
424
+ if (this._waitAttempt > 100) {
425
+ console.error('子组件加载超时');
426
+ this.$message.error('组件加载失败,请刷新页面');
427
+ return;
428
+ }
429
+ this._waitAttempt++;
430
+ this._waitTimer = setTimeout(() => {
431
+ this.waitForChild(callback);
432
+ }, 20);
433
+ }
434
+ },
410
435
  userUseInstitutionChange () {
411
436
  this.userusenatures = []
412
437
  this.$refs.paged.$refs.cri.model.f_user_usenature = ''
@@ -592,8 +617,12 @@ export default {
592
617
  }
593
618
  },
594
619
  beforeDestroy() {
595
- // 组件销毁前移除事件监听
596
- document.removeEventListener('keyup', this.handleKeyUp)
620
+ // 清理定时器和事件监听
621
+ if (this._waitTimer) {
622
+ clearTimeout(this._waitTimer);
623
+ }
624
+ document.removeEventListener('keyup', this.handleKeyUp);
625
+ this._isDestroyed = true; // 自定义标志,用于停止轮询
597
626
  }
598
627
  }
599
628
  </script>
@@ -352,6 +352,7 @@
352
352
  <td style="text-align: center;"><nobr>{{row.f_meternumber}}</nobr></td>
353
353
  <th style="text-align: center;"><nobr>{{row.f_user_name}}</nobr></th>
354
354
  <th style="text-align: center;"><nobr>{{row.f_address}}</nobr></th>
355
+ <th style="text-align: center;"><nobr>{{row.f_street}}</nobr></th>
355
356
  <th style="text-align: center;"><nobr>{{row.f_metertitles}}</nobr></th>
356
357
  <th style="text-align: center;"><nobr>{{row.f_user_type}}</nobr></th>
357
358
  <th style="text-align: center;"><nobr>{{row.f_gasproperties}}</nobr></th>
@@ -173,6 +173,7 @@
173
173
  <v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
174
174
  :options='$parent.$parent.usertypes' placeholder='请选择'
175
175
  condition="f_user_type = '{}'"
176
+ @change="$parent.$parent.userTypeChange()"
176
177
  close-on-select></v-select>
177
178
  </div>
178
179
  <div class="col-sm-2 form-group">
@@ -367,6 +368,7 @@
367
368
  this.$refs.paged.$refs.criteria.model.inputEndDate = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
368
369
  },
369
370
  methods: {
371
+
370
372
  initParams() {
371
373
  // 初始化气表品牌
372
374
  let brandArr = []
@@ -394,13 +396,13 @@
394
396
  }
395
397
  },
396
398
  userTypeChange () {
397
- this.gasproperties=[]
398
- if(this.$refs.paged.$refs.criteria.model !==null) {
399
- this.$refs.paged.$refs.criteria.model.f_gasproperties=''
400
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type[0])
399
+ this.gasproperties = []
400
+ if(this.$refs.paged.$refs.criteria.model !== null) {
401
+ this.$refs.paged.$refs.criteria.model.f_gasproperties = ''
402
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type ? this.$refs.paged.$refs.criteria.model.f_user_type[0] : '')
401
403
  }
402
404
  else{
403
- this.gasproperties =[{label: '全部', value: ''}]
405
+ this.gasproperties = [{label: '全部', value: ''}]
404
406
  }
405
407
  },
406
408
  hidden(){
@@ -501,9 +503,6 @@
501
503
  usertypes() {
502
504
  return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
503
505
  },
504
- gasproperties() {
505
- return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用气性质')]
506
- },
507
506
  pricetypes() {
508
507
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('气价类型')]
509
508
  },
@@ -0,0 +1,647 @@
1
+ <template >
2
+ <div class="flex-row">
3
+ <div @keyup.enter="search1" class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial @keyup.enter="search()">
7
+ <div class="row">
8
+ <div class="col-sm-2">
9
+ <res-select-group :show-component="['company']" :initres="$parent.$parent.org" @re-res="$parent.$parent.getorg" style="width:60%"></res-select-group>
10
+ </div>
11
+ <div class="col-sm-2 form-group ">
12
+ <label class="font_normal_body">客户编号</label>
13
+ <input
14
+ class="input_search" condition="f_userinfo_code = '{}'"
15
+ placeholder='客户编号'
16
+ style="width:60%"
17
+ type="text"
18
+ v-model="model.f_userinfo_code">
19
+ </div>
20
+
21
+ <div class="col-sm-2 form-group">
22
+ <label class="font_normal_body">客户名称</label>
23
+ <input
24
+ class="input_search" condition="f_user_name like '%{}%'"
25
+ placeholder='客户名称'
26
+ style="width:60%"
27
+ type="text"
28
+ v-model="model.f_user_name"
29
+ >
30
+ </div>
31
+ <div class="col-sm-2 form-group">
32
+ <label class="font_normal_body">客户地址</label>
33
+ <input class="input_search"
34
+ condition="f_address like '%{}%'"
35
+ placeholder='客户地址'
36
+ style="width:60%"
37
+ type="text"
38
+ v-model="model.f_address"
39
+ >
40
+ </div>
41
+
42
+ <div style="float:right">
43
+ <button @click="search()" class="button_search" v-el:cba>查询</button>
44
+ <button @click="$parent.$parent.clearmsg" class="button_clear">清空</button>
45
+ <export-excel
46
+ :choose-col="true"
47
+ :data="{condition: $parent.$parent.condition,
48
+ f_orgid: $parent.$parent.f_orgid,
49
+ f_start_date: $parent.$parent.f_start_date,
50
+ f_end_date: $parent.$parent.f_end_date
51
+ }"
52
+ :header="$parent.$parent.other"
53
+ :field="$parent.$parent.getfield" sql-name="manage_getNewQueryInstruct" sqlurl="api/af-revenue/logic/openapi/exportfile"
54
+ template-name='指令查看'></export-excel>
55
+ <div
56
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
57
+ @click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
58
+ </div>
59
+ </div>
60
+ <div class="row" v-show="$parent.$parent.criteriaShow">
61
+
62
+ <!-- <div class="col-sm-2">-->
63
+ <!-- <label class="font_normal_body">组织机构</label>-->
64
+ <!-- <res-select :initresid="$parent.$parent.org"-->
65
+ <!-- style="width:60%"-->
66
+ <!-- @res-select="$parent.$parent.getorg"-->
67
+ <!-- restype='organization'>-->
68
+ <!-- </res-select>-->
69
+
70
+ <!-- </div>-->
71
+
72
+ <!-- <div class="col-sm-2 form-group">-->
73
+ <!-- <label class="font_normal_body">客户类型</label>-->
74
+ <!-- <v-select style="width:60%" :value.sync="model.f_user_type" v-model="model.f_user_type"-->
75
+ <!-- placeholder='客户类型'-->
76
+ <!-- value-single="true"-->
77
+ <!-- :options='$parent.$parent.userType'-->
78
+ <!-- close-on-select-->
79
+ <!-- condition="f_user_type ='{}'"-->
80
+ <!-- ></v-select>-->
81
+ <!-- </div>-->
82
+ <div class="col-sm-2 form-group">
83
+ <label class="font_normal_body">用户类型</label>
84
+ <v-select :value.sync="model.f_user_type" v-model="model.f_user_type"
85
+ :options='$parent.$parent.usertypes'
86
+ placeholder='请选择'
87
+ condition="f_user_type = '{}'"
88
+ @change="$parent.$parent.userTypeChange()"
89
+ close-on-select></v-select>
90
+ </div>
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body">用气性质</label>
93
+ <v-select :options='$parent.$parent.gasproperties'
94
+ :value.sync="model.f_gasproperties"
95
+ close-on-select
96
+ condition="f_gasproperties = '{}'"
97
+ id="f_gasproperties"
98
+ placeholder='用气性质'
99
+ style="width:60%"
100
+ v-model="model.f_gasproperties"
101
+ value-single="true">
102
+ </v-select>
103
+ </div>
104
+ <div class="col-sm-2 form-group">
105
+ <label class="font_normal_body">表&ensp;&ensp;&ensp;&ensp;号</label>
106
+ <input
107
+ class="input_search" condition="f_meternumber = '{}'"
108
+ placeholder='表号'
109
+ style="width:60%"
110
+ type="text"
111
+ v-model="model.f_meternumber">
112
+ </div>
113
+ <div class="col-sm-2 form-group">
114
+ <label class="font_normal_body">气表品牌</label>
115
+ <v-select
116
+ :options='$parent.$parent.meterbrand'
117
+
118
+ :value.sync="model.f_gasbrand"
119
+ close-on-select
120
+ condition="f_meter_brand='{}'"
121
+ placeholder='气表品牌'
122
+ style="width:60%"
123
+ v-model="model.f_gasbrand">
124
+ </v-select>
125
+ </div>
126
+ <div class="col-sm-2 form-group">
127
+ <label class="font_normal_body">指令类型</label>
128
+ <v-select :options='$parent.$parent.instructtype' :value.sync="model.f_instruct_type" close-on-select
129
+ condition="f_instruct_type='{}'"
130
+ placeholder='指令类型'
131
+ style="width:60%"
132
+ v-model="model.f_instruct_type"></v-select>
133
+ </div>
134
+ <div class="col-sm-2 form-group">
135
+ <label class="font_normal_body">执行状态</label>
136
+ <v-select :options='$parent.$parent.instructstate' :value.sync="model.f_instruct_state" close-on-select
137
+ condition="f_instruct_state='{}'"
138
+ placeholder='执行状态'
139
+ style="width:60%"
140
+ v-model="model.f_instruct_state"
141
+ ></v-select>
142
+ </div>
143
+
144
+ <div class="col-sm-2 form-group">
145
+ <label class="font_normal_body">指令时间</label>
146
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_start_date"
147
+ condition="f_instruct_date >= '{}'"
148
+ placeholder="起始时间"
149
+ style="width:60%"
150
+ v-model="model.f_start_date"
151
+ ></datepicker>
152
+ </div>
153
+ <div class="col-sm-2 form-group">
154
+ <label class="font_normal_body">&emsp;&emsp;至&emsp;</label>
155
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_end_date"
156
+ condition="f_instruct_date <= '{}'"
157
+ placeholder="结束时间"
158
+ style="width:60%"
159
+ v-model="model.f_end_date"
160
+ ></datepicker>
161
+ </div>
162
+ <div class="col-sm-2 form-group">
163
+ <label class="font_normal_body">指令标题</label>
164
+ <v-select :options='$parent.$parent.instructtitle' :value.sync="model.f_instruct_title" close-on-select
165
+ condition="f_instruct_title='{}'"
166
+ placeholder='指令标题'
167
+ style="width:60%"
168
+ v-model="model.f_instruct_title"></v-select>
169
+ </div>
170
+
171
+ <div class="col-sm-2 form-group">
172
+ <label class="font_normal_body">操&nbsp;作&nbsp;人</label>
173
+ <v-select :options='$parent.$parent.operators' :value.sync="model.f_operator" close-on-select
174
+ condition="f_operator='{}'"
175
+ placeholder='操作人'
176
+ style="width:60%"
177
+ v-model="model.f_operator"></v-select>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </criteria>
182
+ <data-grid :model="model" class="list_area table_sy" id="queryinstruct" partial='list' :modelval="$parent.$parent.modelval" v-ref:grid>
183
+ <template partial='head'>
184
+ <tr>
185
+ <th style="text-align:center">
186
+ <nobr>序号</nobr>
187
+ </th>
188
+ <th style="text-align:center">
189
+ <nobr>客户编号</nobr>
190
+ </th>
191
+ <th style="text-align:center">
192
+ <nobr>客户名称</nobr>
193
+ </th>
194
+ <th style="text-align:center">
195
+ <nobr>客户地址</nobr>
196
+ </th>
197
+ <th style="text-align:center">
198
+ <nobr>表号</nobr>
199
+ </th>
200
+ <th style="text-align:center">
201
+ <nobr>气表品牌</nobr>
202
+ </th>
203
+ <th style="text-align:center">
204
+ <nobr>指令类型</nobr>
205
+ </th>
206
+ <th style="text-align:center">
207
+ <nobr>指令标题</nobr>
208
+ </th>
209
+ <th style="text-align:center">
210
+ <nobr>执行状态</nobr>
211
+ </th>
212
+ <th style="text-align:center"><nobr>执行结果</nobr></th>
213
+ <th style="text-align:center"><nobr>指令生成人</nobr></th>
214
+ <th style="text-align:center"><nobr>指令生成时间</nobr></th>
215
+ <th style="text-align:center"><nobr>指令发送时间</nobr></th>
216
+ <th style="text-align:center"><nobr>上表时间</nobr></th>
217
+ <th style="text-align:center">
218
+ <nobr>充值金额</nobr>
219
+ </th>
220
+ <th style="text-align:center">
221
+ <nobr>操作内容</nobr>
222
+ </th>
223
+ <th style="text-align:center">
224
+ <nobr>操作原因</nobr>
225
+ </th>
226
+ <th style="text-align:center">
227
+ <nobr>操作人(记录)</nobr>
228
+ </th>
229
+ <th style="text-align:center">
230
+ <nobr>操作时间(记录)</nobr>
231
+ </th>
232
+ <th style="text-align:center">
233
+ <nobr>操作类型</nobr>
234
+ </th>
235
+ <th style="text-align:center">
236
+ <nobr>记录状态</nobr>
237
+ </th>
238
+ <th style="text-align:center">
239
+ <nobr>组织机构</nobr>
240
+ </th>
241
+ <th style="text-align:center;">
242
+ <nobr>指令内容</nobr>
243
+ </th>
244
+ <th style="text-align:center">
245
+ <nobr>指令详情</nobr>
246
+ </th>
247
+ </tr>
248
+ </template>
249
+ <template partial='body'>
250
+ <tr>
251
+ <td style="text-align:center">
252
+ <nobr>{{$index+1}}</nobr>
253
+ </td>
254
+ <td style="text-align:center">
255
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
256
+ </td>
257
+ <td style="text-align:center">
258
+ <nobr>{{row.f_user_name}}</nobr>
259
+ </td>
260
+ <td style="text-align:center">
261
+ <nobr>{{row.f_address}}</nobr>
262
+ </td>
263
+ <td style="text-align:center">
264
+ <nobr>{{row.f_meternumber}}</nobr>
265
+ </td>
266
+ <td style="text-align:center">
267
+ <nobr>{{row.f_meter_brand}}</nobr>
268
+ </td>
269
+
270
+ <td style="text-align:center">
271
+ <nobr>{{row.f_instruct_type}}</nobr>
272
+ </td>
273
+ <td style="text-align:center">
274
+ <nobr>{{row.f_instruct_title}}</nobr>
275
+ </td>
276
+ <td style="text-align:center">
277
+ <nobr>{{row.f_instruct_state}}</nobr>
278
+ </td>
279
+ <td style="text-align:center">
280
+ <nobr>{{row.f_receive_state}}</nobr>
281
+ </td>
282
+ <td style="text-align:center">
283
+ <nobr>{{row.f_inputtor}}</nobr>
284
+ </td>
285
+ <td style="text-align:center">
286
+ <nobr>{{row.f_instruct_date}}</nobr>
287
+ </td>
288
+ <td style="text-align:center"><nobr>{{row.f_send_date}}</nobr></td>
289
+ <td style="text-align:center"><nobr>{{row.f_callback_date}}</nobr></td>
290
+ <td style="text-align:center">
291
+ <nobr>{{row.f_collection}}</nobr>
292
+ </td>
293
+ <td style="text-align:center">
294
+ <nobr>{{row.note}}</nobr>
295
+ </td>
296
+ <td style="text-align:center">
297
+ <nobr>{{row.f_info}}</nobr>
298
+ </td>
299
+ <td style="text-align:center">
300
+ <nobr>{{row.f_operator}}</nobr>
301
+ </td>
302
+ <td style="text-align:center">
303
+ <nobr>{{row.f_operate_date}}</nobr>
304
+ </td>
305
+ <td style="text-align:center">
306
+ <nobr>{{row.f_operate_type}}</nobr>
307
+ </td>
308
+ <td style="text-align:center">
309
+ <nobr>{{row.f_state}}</nobr>
310
+ </td>
311
+ <td style="text-align:center">
312
+ <nobr>{{row.f_orgname}}</nobr>
313
+ </td>
314
+ <td style="text-align:center;">
315
+ <nobr>{{row.f_instruct_content}}</nobr>
316
+ </td>
317
+ <td style="text-align:center">
318
+ <button style=" height: 28px;line-height: 16px;" class="button_search button_spacing width-60" @click.stop="$parent.$parent.$parent.instructDetail(row)">指令详情</button>
319
+ </td>
320
+ </tr>
321
+ </template>
322
+ </data-grid>
323
+ </criteria-paged>
324
+ </div>
325
+ <modal :show.sync="detailShow" v-if="detailShow" width="40%" style="width:auto;" v-ref:modal middle backdrop="false">
326
+ <article slot="modal-body">
327
+ <p class="text-center" style="font-size: 15px" v-html="f_instruct_content"></p>
328
+ </article>
329
+ <footer slot="modal-footer" class="modal-footer">
330
+ </footer>
331
+ </modal>
332
+ </div>
333
+ </template>
334
+ <script>
335
+ import {PagedList} from 'vue-client'
336
+ import co from 'co'
337
+ import * as Util from '../../Util'
338
+ import getLodop from '../../plugins/LodopFuncs'
339
+ import {HttpResetClass} from 'vue-client'
340
+ import plugins from '../../plugins/GetLoginInfoService'
341
+
342
+ let readyGen = async function (self) {
343
+ await self.$MagLoadParams.loadParam()
344
+ await self.$MagGetSaleParam.initinputtor()
345
+ self.initQueryParam()
346
+ // self.getinstructtype()
347
+ // self.getinstructtitle()
348
+ // self.getinstructstate()
349
+ await self.$getConfig(self, 'NewQueryInstruct')
350
+ console.log('指令查看config', self.config)
351
+ self.getfield = self.config.excelHeaders
352
+ self.getOperators(self.$login.f.orgid)
353
+ self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
354
+ // self.reflash()
355
+ }
356
+ export default {
357
+ title: '指令查看',
358
+ data () {
359
+ return {
360
+ model: new PagedList('api/af-revenue/sql/manage_getNewQueryInstruct', 50),
361
+ row: null,
362
+ isLoading: true,
363
+ searchshow: true,
364
+ criteriaShow:false,
365
+ gasproperties:[],
366
+ meterbrand: [],
367
+ operators:[],
368
+ other: [],
369
+ sumsmodel: {},
370
+ userType:[],
371
+ // instructtype:[],
372
+ // instructstate:[],
373
+ org:{
374
+ org:[this.$login.f.orgid],
375
+ dep:[],
376
+ user:[],
377
+ },
378
+ orgcondition:'',
379
+ show: false,
380
+ condition:'',
381
+ f_orgid:'',
382
+ f_start_date:'',
383
+ f_end_date:'',
384
+ getfield: {},
385
+ config: {
386
+ excelHeaders: {
387
+ 'f_userinfo_code': '客户编号','f_address': '客户地址','f_user_name': '客户姓名',
388
+ 'f_meternumber': '表号','f_meter_brand': '气表品牌','f_instruct_type': '指令类型',
389
+ 'f_instruct_state': '执行状态','f_receive_state': '执行结果','f_inputtor': '指令生成人','f_instruct_date': '指令时间',
390
+ 'note':'操作内容','f_info':'操作原因','f_operator':'操作人(记录)','f_operate_date':'操作时间(记录)','f_operate_type':'操作类型','f_state':'操作状态',
391
+ 'f_orgname': '组织机构', 'f_instruct_title': '指令标题'
392
+ }
393
+ },
394
+ // instructtitle: [],
395
+ detailShow: false,
396
+ f_instruct_content: '',
397
+ modelval: [
398
+ '序号','客户编号','客户名称','客户地址','表号','气表品牌','指令类型','指令标题','执行状态','执行结果','指令生成人','指令生成时间',
399
+ '指令发送时间','上表时间','充值金额','操作内容','操作原因','操作人(记录)','操作时间(记录)','操作类型','记录状态','组织机构'
400
+ ]
401
+ }
402
+ },
403
+ ready () {
404
+ readyGen(this)
405
+ this.$refs.paged.$refs.criteria.model.f_start_date = Util.toStandardDateString() + ' 00:00:00'
406
+ this.$refs.paged.$refs.criteria.model.f_end_date = Util.toStandardDateString() + ' 23:59:59'
407
+ this.$refs.paged.$refs.grid.modelval = this.modelval
408
+ //this.$refs.paged.$refs.criteria.search()
409
+
410
+ // 添加回车键监听
411
+ document.addEventListener('keyup', this.handleKeyUp)
412
+ },
413
+ methods: {
414
+ // 添加处理回车键的方法
415
+ handleKeyUp(e) {
416
+ if (e.key === 'Enter') {
417
+ this.search()
418
+ }
419
+ },
420
+ instructDetail(row){
421
+ if (row.f_instruct_content != '{}') {
422
+ let data = JSON.parse(row.f_instruct_content)
423
+ console.log('看下具体的指令详情===>',data)
424
+ let str = ''
425
+ if (data.hasOwnProperty("Data")) {
426
+ console.log('看下具体的指令详情2===>',data.Data)
427
+ console.log('看下具体的指令详情2===>',typeof data.Data)
428
+ for (let key in data.Data) {
429
+ str = str + key + ':' + data.Data[key] + '</br>'
430
+ }
431
+ }
432
+ for (let key in data) {
433
+ if (key != 'Data'){
434
+ str = str + key + ':' + data[key] + '</br>'
435
+ }
436
+ }
437
+ this.f_instruct_content = str
438
+ this.detailShow = true
439
+ }else{
440
+ this.$showMessage('当前指令没有内容!!!', ['confirm'])
441
+ }
442
+ },
443
+ hidden(){
444
+ this.criteriaShow = !this.criteriaShow
445
+ },
446
+ getorg(condition,obj) {
447
+ this.orgcondition = condition.replace('f_orgid','f_orgid')
448
+ this.orgcondition = this.orgcondition.replace('f_depid','f_depid')
449
+ this.orgname = obj.orgnames[0]
450
+ },
451
+ initQueryParam () {
452
+ let arr = []
453
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
454
+ let temp = {}
455
+ if(item.value.f_meter_type==='物联网表'){
456
+ temp.label = item.label
457
+ temp.value = item.value.f_meter_brand
458
+ arr.push(temp )
459
+ }
460
+
461
+ })
462
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
463
+ },
464
+ //获取资源数据
465
+ getOperators(orgid) {
466
+ this.operators = []
467
+ this.$MagGetSaleParam.inputtors.forEach((res) => {
468
+ if(res.rolestr != null && res.rolestr!='' ){
469
+ if( res.f_orgid == orgid) {
470
+ let temp = {
471
+ label :res.name,
472
+ value:res.name,
473
+ }
474
+ this.operators.push(temp)
475
+ }
476
+ }
477
+ })
478
+ },
479
+ userTypeChange () {
480
+ this.gasproperties = []
481
+ if(this.$refs.paged.$refs.criteria.model !== null) {
482
+ this.$refs.paged.$refs.criteria.model.f_gasproperties = ''
483
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type ? this.$refs.paged.$refs.criteria.model.f_user_type[0] : '')
484
+ }
485
+ else{
486
+ this.gasproperties = [{label: '全部', value: ''}]
487
+ }
488
+ },
489
+ // getinstructtype(){
490
+ // this.instructtype=[]
491
+ // let load = new HttpResetClass()
492
+ // load.load('POST', 'api/af-revenue/sql/singleTableParam', {
493
+ // data: {
494
+ // items:'f_instruct_type',
495
+ // tablename:'t_instruct',
496
+ // condition:`f_instruct_type is not null and f_instruct_date>='${this.f_start_date}' and f_instruct_date<='${this.f_end_date}' group by f_instruct_type`
497
+ // }
498
+ // },{warnMsg:null,resolveMsg:null}).then((res) => {
499
+ // this.instructtype.push({label: '全部', value: ''})
500
+ // res.data.forEach((item) => {
501
+ // this.instructtype.push({label: item.f_instruct_type, value: item.f_instruct_type})
502
+ // })
503
+ // })
504
+ //
505
+ // },
506
+ // getinstructtitle(){
507
+ // this.instructtype=[]
508
+ // let load = new HttpResetClass()
509
+ // load.load('POST', 'api/af-revenue/sql/singleTableParam', {
510
+ // data: {
511
+ // items:'f_instruct_title',
512
+ // tablename:'t_instruct',
513
+ // condition:'f_instruct_title is not null group by f_instruct_title'
514
+ // }
515
+ // },{warnMsg:null,resolveMsg:null}).then((res) => {
516
+ // this.instructtitle.push({label: '全部', value: ''})
517
+ // res.data.forEach((item) => {
518
+ // this.instructtitle.push({label: item.f_instruct_title, value: item.f_instruct_title})
519
+ // })
520
+ // })
521
+ //
522
+ // },
523
+ // getinstructstate(){
524
+ // this.instructstate=[]
525
+ // let load = new HttpResetClass()
526
+ // load.load('POST', 'api/af-revenue/sql/singleTableParam', {
527
+ // data: {
528
+ // items:'f_instruct_state',
529
+ // tablename:'t_instruct',
530
+ // condition:'f_instruct_state is not null group by f_instruct_state'
531
+ // }
532
+ // },{warnMsg:null,resolveMsg:null}).then((res) => {
533
+ // this.instructstate.push({label: '全部', value: ''})
534
+ // res.data.forEach((item) => {
535
+ // this.instructstate.push({label: item.f_instruct_state, value: item.f_instruct_state})
536
+ // })
537
+ // })
538
+ //
539
+ // },
540
+ clearmsg () {
541
+ this.$refs.paged.$refs.criteria.model = {}
542
+ },
543
+ clickshow () {
544
+ this.searchshow = !this.searchshow
545
+ },
546
+ dealmsg (val) {
547
+ val.model = this.model.model
548
+ this.$emit('deal-msg', val)
549
+ },
550
+ async search (args) {
551
+ // this.obj.resids = this.obj.resids.replace(/\./g, ''),
552
+ args.condition = `${args.condition}`+this.orgcondition
553
+ console.log(args.condition+"args.condition")
554
+ this.condition = args.condition
555
+ if( this.$refs.paged.$refs.criteria.model.f_start_date!=null && this.$refs.paged.$refs.criteria.model.f_start_date!=''){
556
+ this.model.params.f_start_date = `'${this.$refs.paged.$refs.criteria.model.f_start_date}'`;
557
+ this.f_start_date = `'${this.$refs.paged.$refs.criteria.model.f_start_date}'`;
558
+ }else{
559
+ this.model.params.f_start_date = '';
560
+ this.f_start_date = '';
561
+ }
562
+ if( this.$refs.paged.$refs.criteria.model.f_end_date!=null && this.$refs.paged.$refs.criteria.model.f_end_date!=''){
563
+ this.model.params.f_end_date = `'${this.$refs.paged.$refs.criteria.model.f_end_date}'`;
564
+ this.f_end_date = `'${this.$refs.paged.$refs.criteria.model.f_end_date}'`;
565
+ }else{
566
+ this.model.params.f_end_date = "";
567
+ this.f_end_date = "";
568
+ }
569
+ if(this.f_orgid_new == '' || this.f_orgid_new == null){
570
+ this.model.params.f_orgid = `'${this.$login.f.orgid}'`;
571
+ this.f_orgid = `${this.$login.f.orgid}`;
572
+ //await this.$LoadParams.loadParam(this.$login.f.orgid)
573
+ }else{
574
+ this.model.params.f_orgid = `'${this.f_orgid_new}'`;
575
+ this.f_orgid = `${this.f_orgid_new}`;
576
+ //await this.$LoadParams.loadParam(this.f_orgid_new)
577
+ }
578
+ await this.model.search(args.condition, args.model)
579
+ await this.initQueryParam();
580
+ await this.$refs.paged.$refs.grid.InitializedData()
581
+ await this.$refs.paged.$refs.grid.displayColumnSettings(undefined)
582
+
583
+ },
584
+ getotherfooter() {
585
+ this.other = [];
586
+
587
+ let firstLine = [`导出时间: ${this.$login.toStandardTimeString()}`];
588
+
589
+
590
+ let secondLine = [
591
+ `开始时间: ${this.$refs.paged.$refs.criteria.model.f_start_date}`,
592
+ `结束时间: ${this.$refs.paged.$refs.criteria.model.f_end_date}`
593
+ ];
594
+
595
+ this.other.push(firstLine);
596
+ this.other.push(secondLine);
597
+
598
+ console.log('Header Data:', this.other);
599
+ },
600
+
601
+ },
602
+ watch:{
603
+ sumsmodel:{
604
+ handler: function(val) {
605
+ this.getotherfooter();
606
+ },
607
+ deep: true
608
+ },
609
+ },
610
+ computed: {
611
+ instructtype () {
612
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令类型')]
613
+ },
614
+ instructstate () {
615
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('执行状态')]
616
+ },
617
+ instructtitle () {
618
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令标题')]
619
+ },
620
+ usertypes() {
621
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
622
+ },
623
+ mounted() {
624
+ this.getotherfooter();
625
+ }
626
+
627
+
628
+ },
629
+ beforeDestroy() {
630
+ // 组件销毁前移除事件监听
631
+ document.removeEventListener('keyup', this.handleKeyUp)
632
+ }
633
+ }
634
+ </script>
635
+ <style>
636
+ .form-input-group label {
637
+ text-align: right;
638
+ width: auto;
639
+ }
640
+ .datapanel {
641
+ color: #333;
642
+ background-color: white;
643
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
644
+ padding: 10px 30px 10px 30px;
645
+ border-radius:15px;
646
+ }
647
+ </style>
@@ -186,6 +186,13 @@
186
186
  condition="f_user_type = '{}'"
187
187
  close-on-select></v-select>
188
188
  </div>
189
+ <div class="col-sm-2 form-group">
190
+ <label class="font_normal_body">用气性质</label>
191
+ <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
192
+ :options='$parent.$parent.gasproperties' placeholder='请选择'
193
+ condition="f_gasproperties = '{}'"
194
+ close-on-select></v-select>
195
+ </div>
189
196
  <div class="col-sm-2 form-group" >
190
197
  <label for="startDate1" class="font_normal_body" title="抄表开始日期">抄表日期</label>
191
198
  <datepicker id="startDate1" placeholder="开始日期" style="width:60%"
@@ -268,13 +275,7 @@
268
275
  <!-- condition="f_gasproperties in {}"-->
269
276
  <!-- ></v-select>-->
270
277
  <!-- </div>-->
271
- <div class="col-sm-2 form-group">
272
- <label class="font_normal_body">用气性质</label>
273
- <v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
274
- :options='$parent.$parent.gasproperties' placeholder='请选择'
275
- condition="f_gasproperties = '{}'"
276
- close-on-select></v-select>
277
- </div>
278
+
278
279
  <div class="col-sm-2 form-group">
279
280
  <label class="font_normal_body">气价类型</label>
280
281
  <v-select :value.sync="model.pricetype" v-model="model.pricetype"
@@ -1220,9 +1221,9 @@
1220
1221
  },
1221
1222
  userTypeChange () {
1222
1223
  this.gasproperties=[]
1223
- if(this.$refs.paged.$refs.cri.model !==null) {
1224
+ if(this.$refs.paged.$refs.cri.model !== null) {
1224
1225
  this.$refs.paged.$refs.cri.model.f_gasproperties=''
1225
- this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0])
1226
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type[0] || '')
1226
1227
  // this.gasproperties.push({label: '全部', value: ''})
1227
1228
  }
1228
1229
  else{
@@ -1392,9 +1393,6 @@
1392
1393
  houseTypes(){
1393
1394
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('房屋类型')]
1394
1395
  },
1395
- gasproperties(){
1396
- return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
1397
- },
1398
1396
  whetherCard(){
1399
1397
  return [{label: '全部', value: ''}, ...this.$appdata.getParam('发卡状态')]
1400
1398
  },
@@ -92,6 +92,7 @@
92
92
  close-on-select
93
93
  style="width:60%"
94
94
  condition="f_user_type = '{}'"
95
+ @change="$parent.$parent.userTypeChange()"
95
96
  id="f_user_type"
96
97
  placeholder='客户类型'
97
98
  v-model="model.f_user_type"
@@ -100,7 +101,7 @@
100
101
  </div>
101
102
  <div class="col-sm-2 form-group">
102
103
  <label class="font_normal_body">用气性质</label>
103
- <v-select :options='$parent.$parent.Gasproperties'
104
+ <v-select :options='$parent.$parent.gasproperties'
104
105
  :value.sync="model.f_gasproperties"
105
106
  close-on-select
106
107
  condition="f_gasproperties = '{}'"
@@ -434,6 +435,7 @@ export default {
434
435
  ],
435
436
  meterbrands: [],
436
437
  pricenames: [],
438
+ gasproperties: [],
437
439
  residentialArea: [],
438
440
  criteriaShow: false,
439
441
  reportStr: null,
@@ -504,6 +506,16 @@ export default {
504
506
  this.getfield = this.config.excelHeaders
505
507
  },
506
508
  methods: {
509
+ userTypeChange () {
510
+ this.gasproperties = []
511
+ if(this.$refs.paged.$refs.cri.model !== null) {
512
+ this.$refs.paged.$refs.cri.model.f_gasproperties = ''
513
+ this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.cri.model.f_user_type ? this.$refs.paged.$refs.cri.model.f_user_type : '')
514
+ }
515
+ else{
516
+ this.gasproperties = [{label: '全部', value: ''}]
517
+ }
518
+ },
507
519
  getPricenames() {
508
520
  this.pricenames = []
509
521
  let priceArr = []
@@ -5,5 +5,6 @@ export default function () {
5
5
  Vue.component('new-webmeter-user-gasAll', (resolve) => { require(['./UserGasAll'], resolve) })
6
6
  // 失联查询
7
7
  Vue.component('lost-contact-analysis-list-index', (resolve) => { require(['./LostContactAnalysisListIndex'], resolve) })
8
+ Vue.component('new-query-instruct', (resolve) => { require(['./NewQueryInstruct'], resolve) })
8
9
  }
9
10