manage-client 3.2.191 → 3.2.192

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.191",
3
+ "version": "3.2.192",
4
4
  "description": "经营管控模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -3,6 +3,9 @@
3
3
  <tabs header="指令查询" v-if="permission('指令查询')">
4
4
  <instruct-manage v-if="show.includes('指令查询')"></instruct-manage>
5
5
  </tabs>
6
+ <tabs header="历史指令查询" v-if="permission('历史指令查询')">
7
+ <instruct-manage-history v-if="show.includes('历史指令查询')"></instruct-manage-history>
8
+ </tabs>
6
9
  <tabs header="上报查询" v-if="permission('上报查询')">
7
10
  <report-list v-if="show.includes('上报查询')"></report-list>
8
11
  </tabs>
@@ -49,7 +52,7 @@
49
52
  methods: {
50
53
  permission (name) {
51
54
  // 保留是为了后面可能也会和综合查询一样加权限
52
- if (this.$login.r.find(value => value === '物联查询')) {
55
+ if (this.$login.r.find(value => value === '物联查询') || name === '历史指令查询') {
53
56
  if (!this.$login.r.find(value => value === name)) {
54
57
  return false
55
58
  }
@@ -0,0 +1,459 @@
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>
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
+ :field="$parent.$parent.getfield" sql-name="manage_getNewQueryInstructHistory" sqlurl="rs/logic/exportfile"
53
+ template-name='指令查看'></export-excel>
54
+ <div
55
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
56
+ @click="$parent.$parent.hidden()" class="button_spacing" style="float: right"></div>
57
+ </div>
58
+ </div>
59
+ <div class="row" v-show="$parent.$parent.criteriaShow">
60
+
61
+ <!-- <div class="col-sm-2">-->
62
+ <!-- <label class="font_normal_body">组织机构</label>-->
63
+ <!-- <res-select :initresid="$parent.$parent.org"-->
64
+ <!-- style="width:60%"-->
65
+ <!-- @res-select="$parent.$parent.getorg"-->
66
+ <!-- restype='organization'>-->
67
+ <!-- </res-select>-->
68
+
69
+ <!-- </div>-->
70
+
71
+ <!-- <div class="col-sm-2 form-group">-->
72
+ <!-- <label class="font_normal_body">客户类型</label>-->
73
+ <!-- <v-select style="width:60%" :value.sync="model.f_user_type" v-model="model.f_user_type"-->
74
+ <!-- placeholder='客户类型'-->
75
+ <!-- value-single="true"-->
76
+ <!-- :options='$parent.$parent.userType'-->
77
+ <!-- close-on-select-->
78
+ <!-- condition="f_user_type ='{}'"-->
79
+ <!-- ></v-select>-->
80
+ <!-- </div>-->
81
+ <!-- <div class="col-sm-2 form-group">-->
82
+ <!-- <label class="font_normal_body">用气性质</label>-->
83
+ <!-- <v-select style="width:60%" :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"-->
84
+ <!-- placeholder='用气性质'-->
85
+ <!-- value-single="true"-->
86
+ <!-- :options='$parent.$parent.Gasproperties'-->
87
+ <!-- close-on-select-->
88
+ <!-- condition="f_gasproperties = '{}'"-->
89
+ <!-- ></v-select>-->
90
+ <!-- </div>-->
91
+ <div class="col-sm-2 form-group">
92
+ <label class="font_normal_body">表&ensp;&ensp;&ensp;&ensp;号</label>
93
+ <input
94
+ class="input_search" condition="f_meternumber = '{}'"
95
+ placeholder='表号'
96
+ style="width:60%"
97
+ type="text"
98
+ v-model="model.f_meternumber">
99
+ </div>
100
+ <div class="col-sm-2 form-group">
101
+ <label class="font_normal_body">气表品牌</label>
102
+ <v-select
103
+ :options='$parent.$parent.meterbrand'
104
+
105
+ :value.sync="model.f_gasbrand"
106
+ close-on-select
107
+ condition="f_meter_brand='{}'"
108
+ placeholder='气表品牌'
109
+ style="width:60%"
110
+ v-model="model.f_gasbrand">
111
+ </v-select>
112
+ </div>
113
+ <div class="col-sm-2 form-group">
114
+ <label class="font_normal_body">指令类型</label>
115
+ <v-select :options='$parent.$parent.instructtype' :value.sync="model.f_instruct_type" close-on-select
116
+ condition="f_instruct_type='{}'"
117
+ placeholder='指令类型'
118
+ style="width:60%"
119
+ v-model="model.f_instruct_type"></v-select>
120
+ </div>
121
+ <div class="col-sm-2 form-group">
122
+ <label class="font_normal_body">执行状态</label>
123
+ <v-select :options='$parent.$parent.instructstate' :value.sync="model.f_instruct_state" close-on-select
124
+ condition="f_instruct_state='{}'"
125
+ placeholder='执行状态'
126
+ style="width:60%"
127
+ v-model="model.f_instruct_state"
128
+ ></v-select>
129
+ </div>
130
+
131
+ <div class="col-sm-2 form-group">
132
+ <label class="font_normal_body">指令时间</label>
133
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_start_date"
134
+ condition="f_instruct_date >= '{}'"
135
+ placeholder="起始时间"
136
+ style="width:60%"
137
+ v-model="model.f_start_date"
138
+ ></datepicker>
139
+ </div>
140
+ <div class="col-sm-2 form-group">
141
+ <label class="font_normal_body">&emsp;&emsp;至&emsp;</label>
142
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_end_date"
143
+ condition="f_instruct_date <= '{}'"
144
+ placeholder="结束时间"
145
+ style="width:60%"
146
+ v-model="model.f_end_date"
147
+ ></datepicker>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </criteria>
152
+ <data-grid :model="model" class="list_area table_sy" id="queryinstruct" partial='list' v-ref:grid>
153
+ <template partial='head'>
154
+ <tr>
155
+ <th style="text-align:center">
156
+ <nobr>序号</nobr>
157
+ </th>
158
+ <th style="text-align:center">
159
+ <nobr>客户编号</nobr>
160
+ </th>
161
+ <th style="text-align:center">
162
+ <nobr>客户名称</nobr>
163
+ </th>
164
+ <th style="text-align:center">
165
+ <nobr>客户地址</nobr>
166
+ </th>
167
+ <th style="text-align:center">
168
+ <nobr>表号</nobr>
169
+ </th>
170
+ <th style="text-align:center">
171
+ <nobr>气表品牌</nobr>
172
+ </th>
173
+ <th style="text-align:center">
174
+ <nobr>指令类型</nobr>
175
+ </th>
176
+ <th style="text-align:center">
177
+ <nobr>指令标题</nobr>
178
+ </th>
179
+ <th style="text-align:center">
180
+ <nobr>执行状态</nobr>
181
+ </th>
182
+ <th style="text-align:center"><nobr>执行结果</nobr></th>
183
+ <th style="text-align:center"><nobr>指令生成人</nobr></th>
184
+ <th style="text-align:center"><nobr>指令生成时间</nobr></th>
185
+ <th style="text-align:center"><nobr>指令发送时间</nobr></th>
186
+ <th style="text-align:center"><nobr>上表时间</nobr></th>
187
+ <th style="text-align:center">
188
+ <nobr>充值金额</nobr>
189
+ </th>
190
+ <th style="text-align:center">
191
+ <nobr>操作内容</nobr>
192
+ </th>
193
+ <th style="text-align:center">
194
+ <nobr>操作人(记录)</nobr>
195
+ </th>
196
+ <th style="text-align:center">
197
+ <nobr>操作时间(记录)</nobr>
198
+ </th>
199
+ <th style="text-align:center">
200
+ <nobr>操作类型</nobr>
201
+ </th>
202
+ <th style="text-align:center">
203
+ <nobr>记录状态</nobr>
204
+ </th>
205
+ <th style="text-align:center"><nobr>组织机构</nobr></th>
206
+ </tr>
207
+ </template>
208
+ <template partial='body'>
209
+ <tr>
210
+ <td style="text-align:center">
211
+ <nobr>{{$index+1}}</nobr>
212
+ </td>
213
+ <td style="text-align:center">
214
+ <span @click="$parent.$parent.$parent.dealmsg(row)"><a>{{row.f_userinfo_code}}</a></span>
215
+ </td>
216
+ <td style="text-align:center">
217
+ <nobr>{{row.f_user_name}}</nobr>
218
+ </td>
219
+ <td style="text-align:center">
220
+ <nobr>{{row.f_address}}</nobr>
221
+ </td>
222
+ <td style="text-align:center">
223
+ <nobr>{{row.f_meternumber}}</nobr>
224
+ </td>
225
+ <td style="text-align:center">
226
+ <nobr>{{row.f_meter_brand}}</nobr>
227
+ </td>
228
+
229
+ <td style="text-align:center">
230
+ <nobr>{{row.f_instruct_type}}</nobr>
231
+ </td>
232
+ <td style="text-align:center">
233
+ <nobr>{{row.f_instruct_title}}</nobr>
234
+ </td>
235
+ <td style="text-align:center">
236
+ <nobr>{{row.f_instruct_state}}</nobr>
237
+ </td>
238
+ <td style="text-align:center">
239
+ <nobr>{{row.f_receive_state}}</nobr>
240
+ </td>
241
+ <td style="text-align:center">
242
+ <nobr>{{row.f_inputtor}}</nobr>
243
+ </td>
244
+ <td style="text-align:center">
245
+ <nobr>{{row.f_instruct_date}}</nobr>
246
+ </td>
247
+ <td style="text-align:center"><nobr>{{row.f_send_date}}</nobr></td>
248
+ <td style="text-align:center"><nobr>{{row.f_callback_date}}</nobr></td>
249
+ <th style="text-align:center">
250
+ <nobr>{{row.f_collection}}</nobr>
251
+ </th>
252
+ <td style="text-align:center">
253
+ <nobr>{{row.note}}</nobr>
254
+ </td>
255
+ <td style="text-align:center">
256
+ <nobr>{{row.f_operator}}</nobr>
257
+ </td>
258
+ <td style="text-align:center">
259
+ <nobr>{{row.f_operate_date}}</nobr>
260
+ </td>
261
+ <td style="text-align:center">
262
+ <nobr>{{row.f_operate_type}}</nobr>
263
+ </td>
264
+ <td style="text-align:center">
265
+ <nobr>{{row.f_state}}</nobr>
266
+ </td>
267
+ <td style="text-align:center">
268
+ <nobr>{{row.f_orgname}}</nobr>
269
+ </td>
270
+ </tr>
271
+ </template>
272
+ </data-grid>
273
+ </criteria-paged>
274
+ </div>
275
+ </div>
276
+ </template>
277
+ <script>
278
+ import {PagedList} from 'vue-client'
279
+ import co from 'co'
280
+ import * as Util from '../../../Util'
281
+ import getLodop from '../../../plugins/LodopFuncs'
282
+ import {HttpResetClass} from 'vue-client'
283
+ import plugins from '../../../plugins/GetLoginInfoService'
284
+
285
+ let readyGen = async function (self) {
286
+ await self.$MagLoadParams.loadParam()
287
+ self.initQueryParam()
288
+ self.getinstructtype()
289
+ self.getinstructstate()
290
+ await self.$getConfig(self, 'NewQueryInstruct')
291
+ console.log('指令查看config', self.config)
292
+ self.getfield = self.config.excelHeaders
293
+ // self.reflash()
294
+ }
295
+ export default {
296
+ title: '指令查看',
297
+ data () {
298
+ return {
299
+ model: new PagedList('rs/sql/manage_getNewQueryInstructHistory', 50),
300
+ row: null,
301
+ isLoading: true,
302
+ searchshow: true,
303
+ criteriaShow:false,
304
+ Gasproperties:[],
305
+ meterbrand: [],
306
+ userType:[],
307
+ instructtype:[],
308
+ instructstate:[],
309
+ org:{
310
+ org:[this.$login.f.orgid],
311
+ dep:[],
312
+ user:[],
313
+ },
314
+ orgcondition:'',
315
+ show: false,
316
+ condition:'',
317
+ f_orgid:'',
318
+ f_start_date:'',
319
+ f_end_date:'',
320
+ getfield: {},
321
+ config: {
322
+ excelHeaders: {
323
+ 'f_userinfo_code': '客户编号','f_address': '客户地址','f_user_name': '客户姓名',
324
+ 'f_meternumber': '表号','f_meter_brand': '气表品牌','f_instruct_type': '指令类型',
325
+ 'f_instruct_state': '执行状态','f_receive_state': '执行结果','f_inputtor': '指令生成人','f_instruct_date': '指令时间',
326
+ 'note':'操作内容','f_operator':'操作人(记录)','f_operate_date':'操作时间(记录)','f_operate_type':'操作类型','f_state':'操作状态',
327
+ 'f_orgname': '组织机构'
328
+ }
329
+ },
330
+ }
331
+ },
332
+ ready () {
333
+ readyGen(this)
334
+ this.$refs.paged.$refs.criteria.model.f_start_date = Util.toStandardDateString() + ' 00:00:00'
335
+ this.$refs.paged.$refs.criteria.model.f_end_date = Util.toStandardDateString() + ' 23:59:59'
336
+ //this.$refs.paged.$refs.criteria.search()
337
+ },
338
+ methods: {
339
+ hidden(){
340
+ this.criteriaShow = !this.criteriaShow
341
+ },
342
+ getorg(condition,obj) {
343
+ this.orgcondition = condition
344
+ this.orgname = obj.orgnames[0]
345
+ },
346
+ initQueryParam () {
347
+ let arr = []
348
+ this.$MagGetSaleParam.getGasbrand().forEach((item) => {
349
+ let temp = {}
350
+ if(item.value.f_meter_type==='物联网表'){
351
+ temp.label = item.label
352
+ temp.value = item.value.f_meter_brand
353
+ arr.push(temp )
354
+ }
355
+
356
+ })
357
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
358
+ },
359
+ getinstructtype(){
360
+ this.instructtype=[]
361
+ let load = new HttpResetClass()
362
+ load.load('POST', 'rs/sql/singleTableParam', {
363
+ data: {
364
+ items:'f_instruct_type',
365
+ tablename:'t_instruct',
366
+ condition:'f_instruct_type is not null group by f_instruct_type'
367
+ }
368
+ },{warnMsg:null,resolveMsg:null}).then((res) => {
369
+ this.instructtype.push({label: '全部', value: ''})
370
+ res.data.forEach((item) => {
371
+ this.instructtype.push({label: item.f_instruct_type, value: item.f_instruct_type})
372
+ })
373
+ })
374
+
375
+ },
376
+ getinstructstate(){
377
+ this.instructstate=[]
378
+ let load = new HttpResetClass()
379
+ load.load('POST', 'rs/sql/singleTableParam', {
380
+ data: {
381
+ items:'f_instruct_state',
382
+ tablename:'t_instruct',
383
+ condition:'f_instruct_state is not null group by f_instruct_state'
384
+ }
385
+ },{warnMsg:null,resolveMsg:null}).then((res) => {
386
+ this.instructstate.push({label: '全部', value: ''})
387
+ res.data.forEach((item) => {
388
+ this.instructstate.push({label: item.f_instruct_state, value: item.f_instruct_state})
389
+ })
390
+ })
391
+
392
+ },
393
+ clearmsg () {
394
+ this.$refs.paged.$refs.criteria.model = {}
395
+ },
396
+ clickshow () {
397
+ this.searchshow = !this.searchshow
398
+ },
399
+ dealmsg (val) {
400
+ val.model = this.model.model
401
+ this.$emit('deal-msg', val)
402
+ },
403
+ async search (args) {
404
+ // this.obj.resids = this.obj.resids.replace(/\./g, ''),
405
+ args.condition = `${args.condition}`+this.orgcondition
406
+ console.log(args.condition+"args.condition")
407
+ this.condition = args.condition
408
+ if( this.$refs.paged.$refs.criteria.model.f_start_date!=null && this.$refs.paged.$refs.criteria.model.f_start_date!=''){
409
+ this.model.params.f_start_date = `'${this.$refs.paged.$refs.criteria.model.f_start_date}'`;
410
+ this.f_start_date = `'${this.$refs.paged.$refs.criteria.model.f_start_date}'`;
411
+ }else{
412
+ this.model.params.f_start_date = '';
413
+ this.f_start_date = '';
414
+ }
415
+ if( this.$refs.paged.$refs.criteria.model.f_end_date!=null && this.$refs.paged.$refs.criteria.model.f_end_date!=''){
416
+ this.model.params.f_end_date = `'${this.$refs.paged.$refs.criteria.model.f_end_date}'`;
417
+ this.f_end_date = `'${this.$refs.paged.$refs.criteria.model.f_end_date}'`;
418
+ }else{
419
+ this.model.params.f_end_date = "";
420
+ this.f_end_date = "";
421
+ }
422
+ if(this.f_orgid_new == '' || this.f_orgid_new == null){
423
+ this.model.params.f_orgid = `'${this.$login.f.orgid}'`;
424
+ this.f_orgid = `${this.$login.f.orgid}`;
425
+ //await this.$LoadParams.loadParam(this.$login.f.orgid)
426
+ }else{
427
+ this.model.params.f_orgid = `'${this.f_orgid_new}'`;
428
+ this.f_orgid = `${this.f_orgid_new}`;
429
+ //await this.$LoadParams.loadParam(this.f_orgid_new)
430
+ }
431
+ this.model.search(args.condition, args.model)
432
+ this.initQueryParam();
433
+ },
434
+
435
+ },
436
+ computed: {
437
+ userType () {
438
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]
439
+ },
440
+ Gasproperties () {
441
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('用气性质')]
442
+ }
443
+
444
+ }
445
+ }
446
+ </script>
447
+ <style>
448
+ .form-input-group label {
449
+ text-align: right;
450
+ width: auto;
451
+ }
452
+ .datapanel {
453
+ color: #333;
454
+ background-color: white;
455
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
456
+ padding: 10px 30px 10px 30px;
457
+ border-radius:15px;
458
+ }
459
+ </style>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <div class="row" style="overflow:hidden;">
3
+ <div v-show="listpage">
4
+ <new-query-instruct-history @deal-msg="dealMsg"></new-query-instruct-history>
5
+ </div>
6
+ <div class="flex" v-if="!listpage">
7
+ <user-info-detail-manage-new :f_userinfo_id="rowData.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
8
+ </div>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ import NewQueryInstructHistory from "./NewQueryInstructHistory";
14
+ export default {
15
+ components: {NewQueryInstructHistory},
16
+ title: '指令查询',
17
+ name: 'instruct-Manage',
18
+ data () {
19
+ return {
20
+ // 页面开关
21
+ listpage: true,
22
+ width: {
23
+ left: "100%",
24
+ right: "0%"
25
+ },
26
+ rowData: {}
27
+ }
28
+ },
29
+ ready () {
30
+
31
+ },
32
+ methods: {
33
+ dealMsg (obj) {
34
+ this.listpage = false
35
+ this.rowData = obj
36
+ },
37
+ cancel () {
38
+ this.listpage = true
39
+ }
40
+ },
41
+ watch: {
42
+
43
+ }
44
+ }
45
+ </script>
46
+
47
+ <style scoped>
48
+
49
+ </style>
@@ -95,6 +95,7 @@ export default function (filiale) {
95
95
  // Vue.component('new-meter-list', (resolve) => { require(['./components/webmeter/meterinfo/NewMeterList'], resolve) })
96
96
  // 指令查看
97
97
  Vue.component('instruct-manage', (resolve) => { require(['./components/webmeter/instruction/NewQueryInstructMain'], resolve) })
98
+ Vue.component('instruct-manage-history', (resolve) => { require(['./components/webmeter/instruction/NewQueryInstructMainHistory'], resolve) })
98
99
  Vue.component('new-query-instruct', (resolve) => { require(['./components/webmeter/instruction/NewQueryInstruct'], resolve) })
99
100
  // 物联网表结算查询
100
101
  Vue.component('report-data-query', (resolve) => { require(['./components/webmeter/reportdata/ReportDataQuery'], resolve) })