manage-client 3.2.72 → 3.2.75
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/.babelrc +5 -5
- package/.classpath +6 -6
- package/.editorconfig +9 -9
- package/.gradle/4.4/fileHashes/fileHashes.bin +0 -0
- package/.gradle/4.4/fileHashes/fileHashes.lock +0 -0
- package/.project +18 -18
- package/README.md +38 -38
- package/build/dev-server.js +176 -176
- package/config/dev.env.js +6 -6
- package/config/prod.env.js +3 -3
- package/config/test.env.js +6 -6
- package/package.json +1 -1
- package/release.bat +5 -5
- package/src/components/MeterManage/ChangeMeterQuery.vue +82 -82
- package/src/components/MeterManage/HandQuery.vue +72 -72
- package/src/components/MeterManage/ReversalQuery.vue +77 -77
- package/src/components/SellReport/GaspriceHas.vue +141 -141
- package/src/components/SellReport/ManageBusSummary.vue +224 -219
- package/src/components/WebReport/AbnormalInfoEcharts.vue +120 -120
- package/src/components/WebReport/Communication.vue +131 -131
- package/src/components/WebReport/CompanyUser.vue +79 -79
- package/src/components/WebReport/GaspriceHas.vue +141 -141
- package/src/components/WebReport/ReportWorklist.vue +220 -220
- package/src/components/WebReport/SellType.vue +89 -89
- package/src/components/WebReport/Telemanlist.vue +221 -221
- package/src/components/WebReport/UserGasEcharts.vue +107 -107
- package/src/components/WebReport/ValueEcharts.vue +99 -99
- package/src/components/sale/businessquery/HandplanQuery.vue +91 -61
- package/src/components/sale/config/DefaultPrint.js +6 -6
- package/src/components/sale/config/exportConfig.js +1 -1
- package/src/components/sale/filesquery/detail/oper/ChangeMessage.vue +46 -46
- package/src/components/sale/filesquery/detail/oper/HandOper.vue +46 -46
- package/src/components/sale/filesquery/detail/oper/HandleMessage.vue +46 -46
- package/src/components/webmeter/gasAnalysis/GasAnalysisEcharts.vue +144 -144
- package/src/components/webmeter/gasAnalysis/GasAnalysisSummary.vue +162 -162
- package/src/components/webmeter/instruction/NewQueryInstruct.vue +6 -0
- package/src/components/webmeter/newwebmeter/NewException/NewExceptionEform.vue +149 -149
- package/src/filiale/liaoyuan/sale.js +0 -2
- package/src/filiale/macheng/RecordInfoQuery.vue +1023 -1023
- package/src/filiale/tongchuan/UserQuery.vue +26 -0
- package/src/main.js +66 -66
- package/src/plugins/LodopFuncs.js +124 -124
- package/src/stores/GetParames.js +15 -15
- package/src/stores/Util.js +132 -132
- package/test/unit/.eslintrc +5 -5
- package/test/unit/TestUtil.js +35 -35
- package/test/unit/context.html +20 -20
- package/test/unit/index.js +13 -13
- package/test/unit/init.js +11 -11
- package/test/unit/karma.conf.js +45 -45
- package/test/unit/specs/components/CallReport/Repair.spec.js +25 -25
- package/test/unit/specs/components/ManageBusiness/EquipmentQuery.spec.js +21 -21
- package/test/unit/specs/components/ManageBusiness/TableWithQuery.spec.js +21 -21
- package/test/unit/specs/components/ManageBusiness/UserQuery.spec.js +21 -21
- package/src/filiale/liaoyuan/GasInspection.vue +0 -572
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
<template lang="html">
|
|
2
|
-
<div id="charts">
|
|
3
|
-
<div id="info" :style="{width:'100%',height:'100%'}"></div>
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script>
|
|
8
|
-
import * as Util from '../../Util'
|
|
9
|
-
import co from 'co'
|
|
10
|
-
import echarts from 'echarts'
|
|
11
|
-
import { HttpResetClass } from 'vue-client'
|
|
12
|
-
|
|
13
|
-
let getData = function * (self,condition) {
|
|
14
|
-
let load = new HttpResetClass()
|
|
15
|
-
load.load('POST','rs/sql/getAbnormalCount',
|
|
16
|
-
{data:{condition:condition}},
|
|
17
|
-
{resolveMsg: null, rejectMsg: null})
|
|
18
|
-
.then((res) => {
|
|
19
|
-
let arrparams = []
|
|
20
|
-
let gasdata = []
|
|
21
|
-
for (var i = 0; i < res.data.length; i++) {
|
|
22
|
-
let item = {}
|
|
23
|
-
arrparams[i] = res.data[i].name
|
|
24
|
-
item.name = res.data[i].name
|
|
25
|
-
item.value = res.data[i].abr_value
|
|
26
|
-
gasdata.push(item)
|
|
27
|
-
}
|
|
28
|
-
self.set(arrparams,gasdata)
|
|
29
|
-
})
|
|
30
|
-
}
|
|
31
|
-
export default {
|
|
32
|
-
props: {
|
|
33
|
-
condition: {
|
|
34
|
-
type: String,
|
|
35
|
-
default: '1=1'
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
data () {
|
|
39
|
-
title: '业务类型'
|
|
40
|
-
return {
|
|
41
|
-
texttile: '',
|
|
42
|
-
xc: '',
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
ready () {
|
|
46
|
-
console.log('进入eacharts界面', this.condition)
|
|
47
|
-
},
|
|
48
|
-
methods: {
|
|
49
|
-
set (arrparams,gasdata) {
|
|
50
|
-
this.xc = echarts.init(document.getElementById('info'))
|
|
51
|
-
this.xc.setOption({
|
|
52
|
-
title : {
|
|
53
|
-
text: '异常信息',
|
|
54
|
-
x: 'center'
|
|
55
|
-
},
|
|
56
|
-
tooltip: {
|
|
57
|
-
trigger: 'item',
|
|
58
|
-
formatter: "{a} <br/>{b}: {c} ({d}%)"
|
|
59
|
-
},
|
|
60
|
-
legend: {
|
|
61
|
-
orient: 'vertical',
|
|
62
|
-
x: 'left',
|
|
63
|
-
data:arrparams
|
|
64
|
-
},
|
|
65
|
-
series: [
|
|
66
|
-
|
|
67
|
-
{
|
|
68
|
-
name:'访问来源',
|
|
69
|
-
type:'pie',
|
|
70
|
-
radius: ['40%', '55%'],
|
|
71
|
-
label: {
|
|
72
|
-
normal: {
|
|
73
|
-
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
|
|
74
|
-
backgroundColor: '#eee',
|
|
75
|
-
borderColor: '#aaa',
|
|
76
|
-
borderWidth: 1,
|
|
77
|
-
borderRadius: 4,
|
|
78
|
-
rich: {
|
|
79
|
-
a: {
|
|
80
|
-
color: '#999',
|
|
81
|
-
lineHeight: 22,
|
|
82
|
-
align: 'center'
|
|
83
|
-
},
|
|
84
|
-
hr: {
|
|
85
|
-
borderColor: '#aaa',
|
|
86
|
-
width: '100%',
|
|
87
|
-
borderWidth: 0.5,
|
|
88
|
-
height: 0
|
|
89
|
-
},
|
|
90
|
-
b: {
|
|
91
|
-
fontSize: 16,
|
|
92
|
-
lineHeight: 33
|
|
93
|
-
},
|
|
94
|
-
per: {
|
|
95
|
-
color: '#eee',
|
|
96
|
-
backgroundColor: '#334455',
|
|
97
|
-
padding: [2, 4],
|
|
98
|
-
borderRadius: 2
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
},
|
|
103
|
-
data:gasdata
|
|
104
|
-
}
|
|
105
|
-
]
|
|
106
|
-
})
|
|
107
|
-
},
|
|
108
|
-
searchdata (condition) {
|
|
109
|
-
let getGen =getData(this,condition)
|
|
110
|
-
co(getGen)
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
watch: {
|
|
114
|
-
'condition' (val) {
|
|
115
|
-
console.log('ddddddd222', val)
|
|
116
|
-
this.searchdata(val)
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
</script>
|
|
1
|
+
<template lang="html">
|
|
2
|
+
<div id="charts">
|
|
3
|
+
<div id="info" :style="{width:'100%',height:'100%'}"></div>
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
import * as Util from '../../Util'
|
|
9
|
+
import co from 'co'
|
|
10
|
+
import echarts from 'echarts'
|
|
11
|
+
import { HttpResetClass } from 'vue-client'
|
|
12
|
+
|
|
13
|
+
let getData = function * (self,condition) {
|
|
14
|
+
let load = new HttpResetClass()
|
|
15
|
+
load.load('POST','rs/sql/getAbnormalCount',
|
|
16
|
+
{data:{condition:condition}},
|
|
17
|
+
{resolveMsg: null, rejectMsg: null})
|
|
18
|
+
.then((res) => {
|
|
19
|
+
let arrparams = []
|
|
20
|
+
let gasdata = []
|
|
21
|
+
for (var i = 0; i < res.data.length; i++) {
|
|
22
|
+
let item = {}
|
|
23
|
+
arrparams[i] = res.data[i].name
|
|
24
|
+
item.name = res.data[i].name
|
|
25
|
+
item.value = res.data[i].abr_value
|
|
26
|
+
gasdata.push(item)
|
|
27
|
+
}
|
|
28
|
+
self.set(arrparams,gasdata)
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
export default {
|
|
32
|
+
props: {
|
|
33
|
+
condition: {
|
|
34
|
+
type: String,
|
|
35
|
+
default: '1=1'
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
data () {
|
|
39
|
+
title: '业务类型'
|
|
40
|
+
return {
|
|
41
|
+
texttile: '',
|
|
42
|
+
xc: '',
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
ready () {
|
|
46
|
+
console.log('进入eacharts界面', this.condition)
|
|
47
|
+
},
|
|
48
|
+
methods: {
|
|
49
|
+
set (arrparams,gasdata) {
|
|
50
|
+
this.xc = echarts.init(document.getElementById('info'))
|
|
51
|
+
this.xc.setOption({
|
|
52
|
+
title : {
|
|
53
|
+
text: '异常信息',
|
|
54
|
+
x: 'center'
|
|
55
|
+
},
|
|
56
|
+
tooltip: {
|
|
57
|
+
trigger: 'item',
|
|
58
|
+
formatter: "{a} <br/>{b}: {c} ({d}%)"
|
|
59
|
+
},
|
|
60
|
+
legend: {
|
|
61
|
+
orient: 'vertical',
|
|
62
|
+
x: 'left',
|
|
63
|
+
data:arrparams
|
|
64
|
+
},
|
|
65
|
+
series: [
|
|
66
|
+
|
|
67
|
+
{
|
|
68
|
+
name:'访问来源',
|
|
69
|
+
type:'pie',
|
|
70
|
+
radius: ['40%', '55%'],
|
|
71
|
+
label: {
|
|
72
|
+
normal: {
|
|
73
|
+
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
|
|
74
|
+
backgroundColor: '#eee',
|
|
75
|
+
borderColor: '#aaa',
|
|
76
|
+
borderWidth: 1,
|
|
77
|
+
borderRadius: 4,
|
|
78
|
+
rich: {
|
|
79
|
+
a: {
|
|
80
|
+
color: '#999',
|
|
81
|
+
lineHeight: 22,
|
|
82
|
+
align: 'center'
|
|
83
|
+
},
|
|
84
|
+
hr: {
|
|
85
|
+
borderColor: '#aaa',
|
|
86
|
+
width: '100%',
|
|
87
|
+
borderWidth: 0.5,
|
|
88
|
+
height: 0
|
|
89
|
+
},
|
|
90
|
+
b: {
|
|
91
|
+
fontSize: 16,
|
|
92
|
+
lineHeight: 33
|
|
93
|
+
},
|
|
94
|
+
per: {
|
|
95
|
+
color: '#eee',
|
|
96
|
+
backgroundColor: '#334455',
|
|
97
|
+
padding: [2, 4],
|
|
98
|
+
borderRadius: 2
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
data:gasdata
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
})
|
|
107
|
+
},
|
|
108
|
+
searchdata (condition) {
|
|
109
|
+
let getGen =getData(this,condition)
|
|
110
|
+
co(getGen)
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
watch: {
|
|
114
|
+
'condition' (val) {
|
|
115
|
+
console.log('ddddddd222', val)
|
|
116
|
+
this.searchdata(val)
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
</script>
|
|
@@ -1,131 +1,131 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div id='app' class="flex">
|
|
3
|
-
<criteria-paged :model="model" :pager='true' v-ref:paged>
|
|
4
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
-
<div novalidate class="form-inline auto " partial >
|
|
6
|
-
<p class="bg-info text-center" style="padding: 8px;">通信信息查询</p>
|
|
7
|
-
<div class="flex-row auto" style="justify-content: space-between">
|
|
8
|
-
<div class="form-group" >
|
|
9
|
-
<label for="startDate">表具号:</label>
|
|
10
|
-
<div class="form-group">
|
|
11
|
-
<input type="text" class="form-control" v-model="model.f_meternumber" placeholder='表具号'
|
|
12
|
-
condition="f_meternumber = '{}'" v-next-el='yhxm'
|
|
13
|
-
:size="model.f_meternumber ? model.f_meternumber.length : 2">
|
|
14
|
-
</div>
|
|
15
|
-
<div class="form-group">
|
|
16
|
-
<label for="startDate">开始日期:</label>
|
|
17
|
-
<datepicker id="startDate" placeholder="开始日期"
|
|
18
|
-
v-model="model.startDate"
|
|
19
|
-
:value.sync="model.startDate"
|
|
20
|
-
:disabled-days-of-Week="[]"
|
|
21
|
-
:format="'yyyy-MM-dd 00:00:00'"
|
|
22
|
-
condition= "f_instruct_date >= '{}'"
|
|
23
|
-
:show-reset-button="reset">
|
|
24
|
-
</datepicker>
|
|
25
|
-
<label for="endDate">结束日期:</label>
|
|
26
|
-
<datepicker id="endDate" placeholder="结束日期"
|
|
27
|
-
v-model="model.endDate"
|
|
28
|
-
:value.sync="model.endDate"
|
|
29
|
-
:disabled-days-of-Week="[]"
|
|
30
|
-
:format="'yyyy-MM-dd 23:59:59'"
|
|
31
|
-
condition= "f_instruct_date <= '{}'"
|
|
32
|
-
:show-reset-button="reset">
|
|
33
|
-
</datepicker>
|
|
34
|
-
<button class="btn btn-success" @click="search()">查询</button>
|
|
35
|
-
</div>
|
|
36
|
-
<span></span>
|
|
37
|
-
<div class="form-group">
|
|
38
|
-
|
|
39
|
-
<export-excel :data="{orderitem: 'lastinputdate desc', condition: '1=1'}"
|
|
40
|
-
:field="{f_meternumber: '表具号', f_type: '表具类型',f_instruct_type:'业务类型',f_instruct_date:'发送指令时间',f_instruct_state:'状态'}"
|
|
41
|
-
sqlurl="rs/sql/Communication"></export-excel>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
</criteria>
|
|
47
|
-
<data-grid :model="model" partial='list' v-ref:grid>
|
|
48
|
-
<template partial='head'>
|
|
49
|
-
<tr>
|
|
50
|
-
<th style="text-align:center">序号</th>
|
|
51
|
-
<th style="text-align:center">表具号</th>
|
|
52
|
-
<th style="text-align:center">表具类型</th>
|
|
53
|
-
<th style="text-align:center">业务类型</th>
|
|
54
|
-
<th style="text-align:center">指令名称</th>
|
|
55
|
-
<th style="text-align:center">接收指令</th>
|
|
56
|
-
<th style="text-align:center">接收指令时间</th>
|
|
57
|
-
<th style="text-align:center">发送指令</th>
|
|
58
|
-
<th style="text-align:center">发送指令时间</th>
|
|
59
|
-
<th style="text-align:center">状态</th>
|
|
60
|
-
</tr>
|
|
61
|
-
</template>
|
|
62
|
-
<template partial='body'>
|
|
63
|
-
<td style="text-align:center">{{$index+1}}</td>
|
|
64
|
-
<td style="text-align:center">{{row.f_meternumber}}</td>
|
|
65
|
-
<td style="text-align:center">{{row.f_type}}</td>
|
|
66
|
-
<td style="text-align:center">{{row.f_instruct_type}}</td>
|
|
67
|
-
<td style="text-align:center"></td>
|
|
68
|
-
<td style="text-align:center"></td>
|
|
69
|
-
<td style="text-align:center"></td>
|
|
70
|
-
<td style="text-align:center"></td>
|
|
71
|
-
<td style="text-align:center">{{row.f_instruct_date}}</td>
|
|
72
|
-
<td style="text-align:center">{{row.f_instruct_state}}</td>
|
|
73
|
-
</template>
|
|
74
|
-
</data-grid>
|
|
75
|
-
</criteria-paged>
|
|
76
|
-
<modal :show.sync="show" v-ref:modal small backdrop="false">
|
|
77
|
-
<header slot="modal-header" class="modal-header">
|
|
78
|
-
<h4 class="modal-title">输入文件名称</h4>
|
|
79
|
-
</header>
|
|
80
|
-
<article slot="modal-body" class="modal-body">
|
|
81
|
-
<div class="form-group">
|
|
82
|
-
<input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
|
|
83
|
-
</div>
|
|
84
|
-
</article>
|
|
85
|
-
<footer slot="modal-footer" class="modal-footer">
|
|
86
|
-
<button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
87
|
-
<button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
|
|
88
|
-
</footer>
|
|
89
|
-
</modal>
|
|
90
|
-
|
|
91
|
-
</div>
|
|
92
|
-
</template>
|
|
93
|
-
|
|
94
|
-
<script>
|
|
95
|
-
import { DataModel, HttpResetClass } from 'vue-client'
|
|
96
|
-
import * as Util from '../../Util'
|
|
97
|
-
import AppData from '../../stores/AppData'
|
|
98
|
-
import co from 'co'
|
|
99
|
-
import { PagedList } from 'vue-client'
|
|
100
|
-
|
|
101
|
-
export default {
|
|
102
|
-
title: '通信信息查询',
|
|
103
|
-
props: ['data'],
|
|
104
|
-
data () {
|
|
105
|
-
return {
|
|
106
|
-
model: new PagedList('rs/sql/Communication', 20),
|
|
107
|
-
reportStr: null,
|
|
108
|
-
show: false,
|
|
109
|
-
outlets: [],
|
|
110
|
-
operator: [],
|
|
111
|
-
filename: '',
|
|
112
|
-
echarts: true
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
ready () {
|
|
116
|
-
this.search()
|
|
117
|
-
},
|
|
118
|
-
methods: {
|
|
119
|
-
search () {
|
|
120
|
-
this.$refs.paged.$refs.cri.search()
|
|
121
|
-
this.condition = this.$refs.paged.$refs.cri.condition
|
|
122
|
-
},
|
|
123
|
-
// 将报表保存成文件
|
|
124
|
-
confirmReport () {
|
|
125
|
-
this.show = true
|
|
126
|
-
this.filename = this.data.f_report_name + Util.toStandardDateString()
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div id='app' class="flex">
|
|
3
|
+
<criteria-paged :model="model" :pager='true' v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div novalidate class="form-inline auto " partial >
|
|
6
|
+
<p class="bg-info text-center" style="padding: 8px;">通信信息查询</p>
|
|
7
|
+
<div class="flex-row auto" style="justify-content: space-between">
|
|
8
|
+
<div class="form-group" >
|
|
9
|
+
<label for="startDate">表具号:</label>
|
|
10
|
+
<div class="form-group">
|
|
11
|
+
<input type="text" class="form-control" v-model="model.f_meternumber" placeholder='表具号'
|
|
12
|
+
condition="f_meternumber = '{}'" v-next-el='yhxm'
|
|
13
|
+
:size="model.f_meternumber ? model.f_meternumber.length : 2">
|
|
14
|
+
</div>
|
|
15
|
+
<div class="form-group">
|
|
16
|
+
<label for="startDate">开始日期:</label>
|
|
17
|
+
<datepicker id="startDate" placeholder="开始日期"
|
|
18
|
+
v-model="model.startDate"
|
|
19
|
+
:value.sync="model.startDate"
|
|
20
|
+
:disabled-days-of-Week="[]"
|
|
21
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
22
|
+
condition= "f_instruct_date >= '{}'"
|
|
23
|
+
:show-reset-button="reset">
|
|
24
|
+
</datepicker>
|
|
25
|
+
<label for="endDate">结束日期:</label>
|
|
26
|
+
<datepicker id="endDate" placeholder="结束日期"
|
|
27
|
+
v-model="model.endDate"
|
|
28
|
+
:value.sync="model.endDate"
|
|
29
|
+
:disabled-days-of-Week="[]"
|
|
30
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
31
|
+
condition= "f_instruct_date <= '{}'"
|
|
32
|
+
:show-reset-button="reset">
|
|
33
|
+
</datepicker>
|
|
34
|
+
<button class="btn btn-success" @click="search()">查询</button>
|
|
35
|
+
</div>
|
|
36
|
+
<span></span>
|
|
37
|
+
<div class="form-group">
|
|
38
|
+
|
|
39
|
+
<export-excel :data="{orderitem: 'lastinputdate desc', condition: '1=1'}"
|
|
40
|
+
:field="{f_meternumber: '表具号', f_type: '表具类型',f_instruct_type:'业务类型',f_instruct_date:'发送指令时间',f_instruct_state:'状态'}"
|
|
41
|
+
sqlurl="rs/sql/Communication"></export-excel>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</criteria>
|
|
47
|
+
<data-grid :model="model" partial='list' v-ref:grid>
|
|
48
|
+
<template partial='head'>
|
|
49
|
+
<tr>
|
|
50
|
+
<th style="text-align:center">序号</th>
|
|
51
|
+
<th style="text-align:center">表具号</th>
|
|
52
|
+
<th style="text-align:center">表具类型</th>
|
|
53
|
+
<th style="text-align:center">业务类型</th>
|
|
54
|
+
<th style="text-align:center">指令名称</th>
|
|
55
|
+
<th style="text-align:center">接收指令</th>
|
|
56
|
+
<th style="text-align:center">接收指令时间</th>
|
|
57
|
+
<th style="text-align:center">发送指令</th>
|
|
58
|
+
<th style="text-align:center">发送指令时间</th>
|
|
59
|
+
<th style="text-align:center">状态</th>
|
|
60
|
+
</tr>
|
|
61
|
+
</template>
|
|
62
|
+
<template partial='body'>
|
|
63
|
+
<td style="text-align:center">{{$index+1}}</td>
|
|
64
|
+
<td style="text-align:center">{{row.f_meternumber}}</td>
|
|
65
|
+
<td style="text-align:center">{{row.f_type}}</td>
|
|
66
|
+
<td style="text-align:center">{{row.f_instruct_type}}</td>
|
|
67
|
+
<td style="text-align:center"></td>
|
|
68
|
+
<td style="text-align:center"></td>
|
|
69
|
+
<td style="text-align:center"></td>
|
|
70
|
+
<td style="text-align:center"></td>
|
|
71
|
+
<td style="text-align:center">{{row.f_instruct_date}}</td>
|
|
72
|
+
<td style="text-align:center">{{row.f_instruct_state}}</td>
|
|
73
|
+
</template>
|
|
74
|
+
</data-grid>
|
|
75
|
+
</criteria-paged>
|
|
76
|
+
<modal :show.sync="show" v-ref:modal small backdrop="false">
|
|
77
|
+
<header slot="modal-header" class="modal-header">
|
|
78
|
+
<h4 class="modal-title">输入文件名称</h4>
|
|
79
|
+
</header>
|
|
80
|
+
<article slot="modal-body" class="modal-body">
|
|
81
|
+
<div class="form-group">
|
|
82
|
+
<input type="text" class="form-control" v-model="filename" placeholder='保存的文件名'>
|
|
83
|
+
</div>
|
|
84
|
+
</article>
|
|
85
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
86
|
+
<button v-show="show" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
87
|
+
<button v-show="show" type="button" class="btn btn-success" @click='confirm(filename)'>确认</button>
|
|
88
|
+
</footer>
|
|
89
|
+
</modal>
|
|
90
|
+
|
|
91
|
+
</div>
|
|
92
|
+
</template>
|
|
93
|
+
|
|
94
|
+
<script>
|
|
95
|
+
import { DataModel, HttpResetClass } from 'vue-client'
|
|
96
|
+
import * as Util from '../../Util'
|
|
97
|
+
import AppData from '../../stores/AppData'
|
|
98
|
+
import co from 'co'
|
|
99
|
+
import { PagedList } from 'vue-client'
|
|
100
|
+
|
|
101
|
+
export default {
|
|
102
|
+
title: '通信信息查询',
|
|
103
|
+
props: ['data'],
|
|
104
|
+
data () {
|
|
105
|
+
return {
|
|
106
|
+
model: new PagedList('rs/sql/Communication', 20),
|
|
107
|
+
reportStr: null,
|
|
108
|
+
show: false,
|
|
109
|
+
outlets: [],
|
|
110
|
+
operator: [],
|
|
111
|
+
filename: '',
|
|
112
|
+
echarts: true
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
ready () {
|
|
116
|
+
this.search()
|
|
117
|
+
},
|
|
118
|
+
methods: {
|
|
119
|
+
search () {
|
|
120
|
+
this.$refs.paged.$refs.cri.search()
|
|
121
|
+
this.condition = this.$refs.paged.$refs.cri.condition
|
|
122
|
+
},
|
|
123
|
+
// 将报表保存成文件
|
|
124
|
+
confirmReport () {
|
|
125
|
+
this.show = true
|
|
126
|
+
this.filename = this.data.f_report_name + Util.toStandardDateString()
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
}
|
|
131
|
+
</script>
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
<template lang="html">
|
|
2
|
-
<div id="charts">
|
|
3
|
-
<div id="CompanyUser" :style="{width:'100%',height:'100%'}"></div>
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<script>
|
|
8
|
-
import * as Util from '../../Util'
|
|
9
|
-
import * as Des from '../../stores/DrillECharts'
|
|
10
|
-
import co from 'co'
|
|
11
|
-
|
|
12
|
-
export default {
|
|
13
|
-
name:'CompanyUser',
|
|
14
|
-
props: {
|
|
15
|
-
startdate: {
|
|
16
|
-
type: String,
|
|
17
|
-
default: Util.toStandardDateString()
|
|
18
|
-
},
|
|
19
|
-
enddate: {
|
|
20
|
-
type: String,
|
|
21
|
-
default: Util.toStandardDateString()
|
|
22
|
-
},
|
|
23
|
-
f_orgstr: {
|
|
24
|
-
type: String,
|
|
25
|
-
default: ''
|
|
26
|
-
},
|
|
27
|
-
echartsflag:Boolean,
|
|
28
|
-
},
|
|
29
|
-
data () {
|
|
30
|
-
title: '站点管理'
|
|
31
|
-
return {
|
|
32
|
-
texttile: '',
|
|
33
|
-
xc: '',
|
|
34
|
-
sqlobtaindata:[],
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
methods: {
|
|
38
|
-
searchdata () {
|
|
39
|
-
var sqlcondition={
|
|
40
|
-
items: 'f_user_type type,f_filiale name,count(f_userinfo_id) value',
|
|
41
|
-
tablename: 't_userinfo',
|
|
42
|
-
condition: 'f_user_state=\'正常\' and f_orgstr LIKE \'%'+this.f_orgstr+'%\' and f_createfile_date>=\''+this.startdate+'\'' +
|
|
43
|
-
' and f_createfile_date<=\''+this.enddate+'\' GROUP BY f_user_type,f_filiale'
|
|
44
|
-
}
|
|
45
|
-
let getData=Des.getData(this,sqlcondition)
|
|
46
|
-
co(getData)
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
ready () {
|
|
50
|
-
this.searchdata()
|
|
51
|
-
},
|
|
52
|
-
watch: {
|
|
53
|
-
'startdate' (val) {
|
|
54
|
-
this.searchdata()
|
|
55
|
-
},
|
|
56
|
-
'enddate' (val) {
|
|
57
|
-
this.searchdata()
|
|
58
|
-
},
|
|
59
|
-
'f_orgstr' (val) {
|
|
60
|
-
console.log(this.f_orgstr,'cesh')
|
|
61
|
-
this.searchdata()
|
|
62
|
-
},
|
|
63
|
-
'sqlobtaindata':{
|
|
64
|
-
deep:true,
|
|
65
|
-
handler(val){
|
|
66
|
-
if(this.sqlobtaindata.length<1){
|
|
67
|
-
let data=[{name: "", value: [{name: '', value: ""}]}]
|
|
68
|
-
Des.setBar(this,'CompanyUser',data,'用户分布直方图','','')
|
|
69
|
-
return
|
|
70
|
-
}
|
|
71
|
-
let result=Des.DataIntegration(this.sqlobtaindata)
|
|
72
|
-
Des.setBar(this,'CompanyUser',result,'用户分布直方图','公司名称','用户数量')
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
</script>
|
|
79
|
-
|
|
1
|
+
<template lang="html">
|
|
2
|
+
<div id="charts">
|
|
3
|
+
<div id="CompanyUser" :style="{width:'100%',height:'100%'}"></div>
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script>
|
|
8
|
+
import * as Util from '../../Util'
|
|
9
|
+
import * as Des from '../../stores/DrillECharts'
|
|
10
|
+
import co from 'co'
|
|
11
|
+
|
|
12
|
+
export default {
|
|
13
|
+
name:'CompanyUser',
|
|
14
|
+
props: {
|
|
15
|
+
startdate: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: Util.toStandardDateString()
|
|
18
|
+
},
|
|
19
|
+
enddate: {
|
|
20
|
+
type: String,
|
|
21
|
+
default: Util.toStandardDateString()
|
|
22
|
+
},
|
|
23
|
+
f_orgstr: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: ''
|
|
26
|
+
},
|
|
27
|
+
echartsflag:Boolean,
|
|
28
|
+
},
|
|
29
|
+
data () {
|
|
30
|
+
title: '站点管理'
|
|
31
|
+
return {
|
|
32
|
+
texttile: '',
|
|
33
|
+
xc: '',
|
|
34
|
+
sqlobtaindata:[],
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
methods: {
|
|
38
|
+
searchdata () {
|
|
39
|
+
var sqlcondition={
|
|
40
|
+
items: 'f_user_type type,f_filiale name,count(f_userinfo_id) value',
|
|
41
|
+
tablename: 't_userinfo',
|
|
42
|
+
condition: 'f_user_state=\'正常\' and f_orgstr LIKE \'%'+this.f_orgstr+'%\' and f_createfile_date>=\''+this.startdate+'\'' +
|
|
43
|
+
' and f_createfile_date<=\''+this.enddate+'\' GROUP BY f_user_type,f_filiale'
|
|
44
|
+
}
|
|
45
|
+
let getData=Des.getData(this,sqlcondition)
|
|
46
|
+
co(getData)
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
ready () {
|
|
50
|
+
this.searchdata()
|
|
51
|
+
},
|
|
52
|
+
watch: {
|
|
53
|
+
'startdate' (val) {
|
|
54
|
+
this.searchdata()
|
|
55
|
+
},
|
|
56
|
+
'enddate' (val) {
|
|
57
|
+
this.searchdata()
|
|
58
|
+
},
|
|
59
|
+
'f_orgstr' (val) {
|
|
60
|
+
console.log(this.f_orgstr,'cesh')
|
|
61
|
+
this.searchdata()
|
|
62
|
+
},
|
|
63
|
+
'sqlobtaindata':{
|
|
64
|
+
deep:true,
|
|
65
|
+
handler(val){
|
|
66
|
+
if(this.sqlobtaindata.length<1){
|
|
67
|
+
let data=[{name: "", value: [{name: '', value: ""}]}]
|
|
68
|
+
Des.setBar(this,'CompanyUser',data,'用户分布直方图','','')
|
|
69
|
+
return
|
|
70
|
+
}
|
|
71
|
+
let result=Des.DataIntegration(this.sqlobtaindata)
|
|
72
|
+
Des.setBar(this,'CompanyUser',result,'用户分布直方图','公司名称','用户数量')
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
}
|
|
78
|
+
</script>
|
|
79
|
+
|