manage-client 3.1.23 → 3.1.27

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.
Files changed (85) hide show
  1. package/build/dev-server.js +181 -174
  2. package/package.json +1 -1
  3. package/src/App.vue +29 -28
  4. package/src/components/BasisEcharts/BarChart.vue +247 -247
  5. package/src/components/BasisEcharts/RingChart.vue +196 -196
  6. package/src/components/SellReport/BusinessClassify.vue +251 -251
  7. package/src/components/SellReport/ChargePrick.vue +245 -262
  8. package/src/components/SellReport/DepartmentPrick.vue +262 -262
  9. package/src/components/SellReport/GasBaozhuangFee.vue +237 -237
  10. package/src/components/SellReport/ManageSellType.vue +284 -284
  11. package/src/components/SellReport/ManageUserCount.vue +347 -347
  12. package/src/components/SellReport/MarketMonth.vue +251 -251
  13. package/src/components/SellReport/SellingTable.vue +220 -220
  14. package/src/components/SellReport/UserClassify.vue +251 -251
  15. package/src/components/SellReport/UserSellingGas.vue +251 -251
  16. package/src/components/daping/CallCenter.vue +366 -366
  17. package/src/components/daping/DataManagement.vue +543 -703
  18. package/src/components/daping/GMap.vue +636 -636
  19. package/src/components/daping/ManageMain.vue +267 -255
  20. package/src/components/daping/NetWork.vue +238 -0
  21. package/src/components/daping/RedactDaPing.vue +454 -0
  22. package/src/components/daping/Ring.vue +212 -217
  23. package/src/components/daping/SafeCheck.vue +446 -0
  24. package/src/components/daping/SafeCheckRing.vue +149 -160
  25. package/src/components/daping/SafecheckBarChart.vue +48 -133
  26. package/src/components/daping/WuHaiMap.vue +418 -0
  27. package/src/components/qinhua/BarChart.vue +256 -256
  28. package/src/components/qinhua/Pie.vue +132 -116
  29. package/src/components/qinhua/SellEcharts.vue +115 -94
  30. package/src/components/qinhua/qinHuaMap.vue +414 -390
  31. package/src/components/sale/businessquery/CollectManage.vue +135 -135
  32. package/src/components/sale/businessquery/FMYGasQuery.vue +713 -713
  33. package/src/components/sale/businessquery/MonthGasQuery.vue +467 -467
  34. package/src/components/sale/businessquery/NewHandplanQuery.vue +995 -0
  35. package/src/components/sale/businessquery/OtherChargeQuery.vue +619 -619
  36. package/src/components/sale/businessquery/ProceedsOper.vue +377 -377
  37. package/src/components/sale/businessquery/YingShouMingXi.vue +525 -525
  38. package/src/components/sale/config/exportConfig.js +2 -1
  39. package/src/components/sale/filesquery/UserQuery.vue +16 -0
  40. package/src/components/statistical/StatisticalAnalysis.vue +247 -249
  41. package/src/components/webmeter/DrillData/LostContactAnalysisList.vue +633 -633
  42. package/src/components/webmeter/DrillData/LostContactEcharts.vue +177 -177
  43. package/src/components/webmeter/DrillData/UserGasAll.vue +596 -596
  44. package/src/components/webmeter/DrillData/UserGasEcharts.vue +210 -210
  45. package/src/components/webmeter/DrillData/UserGasEform.vue +227 -227
  46. package/src/components/webmeter/DrillData/UserLostContactAnalysis.vue +585 -585
  47. package/src/components/webmeter/instruction/NewQueryInstruct.vue +9 -12
  48. package/src/components/webmeter/newwebmeter/NewException/NewContactEcharts.vue +170 -0
  49. package/src/components/webmeter/newwebmeter/NewException/NewEchartsAll.vue +111 -0
  50. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEcharsTotal.vue +899 -899
  51. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +209 -0
  52. package/src/components/webmeter/newwebmeter/NewException/NewHandplanEcharts.vue +238 -0
  53. package/src/components/webmeter/newwebmeter/NewException/NewInstructEcharts.vue +266 -0
  54. package/src/components/webmeter/newwebmeter/NewException/TotalExceptionByMeter.vue +606 -606
  55. package/src/components/webmeter/newwebmeter/UserGasEchartsList.vue +252 -252
  56. package/src/components/webmeter/newwebmeter/UserGasList.vue +440 -440
  57. package/src/components/webmeter/newwebmeter/UserInstructList.vue +332 -332
  58. package/src/components/webmeter/newwebmeter/signAnalysisEcharts.vue +266 -266
  59. package/src/components/webmeter/newwebmeter/signAnalysisEform.vue +175 -175
  60. package/src/components/webmeter/newwebmeter/signAnalysisListMain.vue +387 -387
  61. package/src/filiale/alashan/SellingTable.vue +231 -231
  62. package/src/filiale/alashan/reportManage.js +10 -10
  63. package/src/filiale/jingzhou/ChargeQuery.vue +1243 -1243
  64. package/src/filiale/jingzhou/config/exportConfig.js +861 -861
  65. package/src/filiale/meihekou/UserGasEform.vue +267 -267
  66. package/src/filiale/meihekou/sale.js +26 -26
  67. package/src/filiale/rongcheng/exportConfig.js +257 -251
  68. package/src/filiale/rongchuang/SellingTable.vue +250 -250
  69. package/src/filiale/rongchuang/reportManage.js +11 -11
  70. package/src/filiale/shaoguan/config/exportConfig.js +433 -430
  71. package/src/filiale/tongchuan/ResSelectGroupNew.vue +176 -0
  72. package/src/filiale/tongchuan/ResSelectNew.vue +144 -0
  73. package/src/filiale/tongchuan/sale.js +2 -1
  74. package/src/main.js +66 -66
  75. package/src/newmanage.js +525 -504
  76. package/src/reportManage.js +458 -458
  77. package/src/saleManage.js +23 -0
  78. package/static/wuhai.json +1610 -1610
  79. package/.gradle/5.2.1/executionHistory/executionHistory.bin +0 -0
  80. package/.gradle/5.2.1/executionHistory/executionHistory.lock +0 -0
  81. package/.gradle/5.2.1/fileChanges/last-build.bin +0 -0
  82. package/.gradle/5.2.1/fileHashes/fileHashes.bin +0 -0
  83. package/.gradle/5.2.1/fileHashes/fileHashes.lock +0 -0
  84. package/.gradle/5.2.1/gc.properties +0 -0
  85. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
@@ -0,0 +1,176 @@
1
+ <template>
2
+ <div :class="style" v-show="companyshow">
3
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
4
+ <res-select-new restype='organization'
5
+ @res-select="getorg"
6
+ :is-mul="mul"
7
+ :initresid='initres.org'></res-select-new>
8
+ </div>
9
+ <div :class="style" v-show="departmentshow">
10
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
11
+ <res-select restype='department'
12
+ @res-select="getdep"
13
+ :parentresid="depresid"
14
+ :initresid='initres.dep'
15
+ :is-mul="mul">
16
+ </res-select>
17
+ </div>
18
+ <div :class="style" v-show="operatorshow && (!cascade)">
19
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
20
+ <res-select restype='user'
21
+ @res-select="getuser"
22
+ :parentresid="depresid"
23
+ :initresid='initres.user'
24
+ :is-mul="mul">
25
+ </res-select>
26
+ </div>
27
+ <div :class="style" v-show="operatorshow && cascade">
28
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
29
+ <res-select restype='user'
30
+ @res-select="getuser"
31
+ :parentresid="userresid"
32
+ :initresid='initres.user'
33
+ :is-mul="mul">
34
+ </res-select>
35
+ </div>
36
+ <div :class="style " v-if="sliceareashow" >
37
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
38
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
39
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
40
+ close-on-select v-ref:slice>
41
+ </v-select>
42
+ </div>
43
+ </template>
44
+ <script>
45
+ import plugin from '../../plugins/GetLoginInfoService'
46
+ import { HttpResetClass } from 'vue-client'
47
+ export default {
48
+ title: '资源选择测试',
49
+ props: {
50
+ style: {
51
+ type: String,
52
+ default: 'col-sm-2 form-group'
53
+ },
54
+ mul: {
55
+ type: Boolean,
56
+ default: true
57
+ },
58
+ //初始值
59
+ initres: {
60
+ type: Object,
61
+ default: null,
62
+ },
63
+ showComponent:{
64
+ default:['company','department','operator','slicearea']
65
+ },
66
+ //人员是否和部门关联
67
+ cascade: {
68
+ type: Boolean,
69
+ default: false
70
+ }
71
+ },
72
+ data () {
73
+ return {
74
+ orgresid:[this.$login.f.orgid],
75
+ depresid:[],
76
+ userresid:[],
77
+ sliceArea: [],
78
+ slice_area:[],
79
+ companyshow:false,
80
+ departmentshow:false,
81
+ operatorshow:false,
82
+ sliceareashow:false,
83
+ obj:{
84
+ orgnames:[],
85
+ depnames:[],
86
+ operatornames:[]
87
+ }
88
+ }
89
+ },
90
+ ready () {
91
+ console.log('开始获取组织结构。。。')
92
+ this.initComponent();
93
+ this.initAreas(this.$login.f.orgid)
94
+ },
95
+ methods:{
96
+ initComponent(){
97
+ let self=this;
98
+ this.showComponent.find((item)=>{
99
+ switch(item){
100
+ case 'company': self.companyshow=true; break;
101
+ case 'department': self.departmentshow=true; break;
102
+ case 'operator': self.operatorshow=true; break;
103
+ case 'slicearea': self.sliceareashow=true; break;
104
+ }
105
+ })
106
+ },
107
+ // 初始化片区
108
+ async initAreas (val) {
109
+ if (val) {
110
+ let http = new HttpResetClass()
111
+ let getAllArea = await http.load('POST', '/rs/search', {
112
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
113
+ userid: this.$login.f.id
114
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
115
+ let arr = getAllArea.data.filter((res) => {
116
+ return res.parentid == val
117
+ })
118
+ console.log('过滤之后的片区', arr)
119
+ this.sliceArea = []
120
+ this.slice_area = []
121
+ arr.forEach((res) => {
122
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
123
+ })
124
+ }
125
+ },
126
+ returnOrg(ids){
127
+
128
+ let condition;
129
+ if(this.depresid.length > 0)
130
+ condition = " and f_orgid in " + plugin.convertToIn(this.depresid);
131
+ else
132
+ condition = " and f_orgid = " + this.$login.f.orgid;
133
+ if(this.userresid.length > 0){
134
+ condition += " and f_depid in " + plugin.convertToIn(this.userresid);
135
+ }
136
+ if(ids && ids.length > 0){
137
+ condition += " and f_operatorid in " + plugin.convertToIn(ids);
138
+ }
139
+ if(this.slice_area.length>0){
140
+ condition += " and f_zones = '" + this.slice_area[0].name+"'"
141
+ }
142
+ this.$dispatch('re-res',condition,this.obj)
143
+ },
144
+ getorg (obj,val) {
145
+ console.log("选中公司的数据11",obj)
146
+ this.depresid=obj
147
+ this.obj.orgnames = val
148
+ this.initAreas(obj)
149
+ this.returnOrg();
150
+ },
151
+ getdep(obj,val) {
152
+ console.log("选中部门的数据22",obj)
153
+ this.obj.depnames = val
154
+ this.userresid=obj
155
+ this.returnOrg();
156
+ },
157
+ getuser(obj) {
158
+ this.obj.operatornames = obj
159
+ console.log("选中用户的数据33",obj)
160
+ this.returnOrg(obj);
161
+ },
162
+ getarea(val) {
163
+ this.slice_area=val
164
+ console.log("选中的大区",val)
165
+ if(this.obj.operatornames){
166
+ this.returnOrg(this.obj.operatornames);
167
+ }else{
168
+ this.returnOrg();
169
+ }
170
+ }
171
+ },
172
+ watch: {
173
+
174
+ }
175
+ }
176
+ </script>
@@ -0,0 +1,144 @@
1
+ <template>
2
+ <v-select :options='resoptions' placeholder='请选择'
3
+ :value.sync="selectres"
4
+ :multiple="isMul"
5
+ search="true"
6
+ :close-on-select="!isMul"
7
+ @change="resChange"
8
+ >
9
+ </v-select>
10
+ </template>
11
+ <script>
12
+ import {HttpResetClass} from 'vue-client'
13
+
14
+ export default {
15
+ title: '资源选择',
16
+ props: {
17
+
18
+ //资源类型
19
+ restype:'',
20
+ //资源数据
21
+ resObj:{},
22
+ isMul: {
23
+ type: Boolean,
24
+ default: true
25
+ },
26
+ //资源初始化数据
27
+ initresid: {
28
+ type: Array,
29
+ default() { return [] },
30
+ },
31
+ //父层id
32
+ parentresid: {
33
+ type: Array,
34
+ default() { return [] },
35
+ },
36
+ },
37
+ data () {
38
+ return {
39
+ //资源数据
40
+ resObj:{},
41
+ //资源数据列表
42
+ resoptions:[],
43
+ //选中资源数据
44
+ selectres: [],
45
+ }
46
+ },
47
+ ready () {
48
+ //获取资源列表
49
+ this.getResList()
50
+ },
51
+ methods:{
52
+ //树形结构变成list
53
+ findById(val) {
54
+ if(val){
55
+ if(this.checkidres(val)){
56
+ this.treetoList(val,'')
57
+ }else if(val.children.length>0){
58
+ for (let value of val.children) {
59
+ this.findById(value)
60
+ }
61
+ }
62
+ }
63
+ },
64
+ //树形结构变成list
65
+ treetoList(val,parentname) {
66
+ for (let value of val.children) {
67
+ this.ergodicList(value,parentname)
68
+ }
69
+ },
70
+ //找到跟节点
71
+ ergodicList (val,parentname) {
72
+ if(val.children.length > 0 ){
73
+ parentname=parentname+val.name
74
+ this.treetoList(val,parentname)
75
+ }else {
76
+ //截取组织机构【组织机构】
77
+ if(this.restype=='organization'){
78
+ parentname=parentname.replace("组织机构","")
79
+ this.resoptions.push({label: val.name+' - '+parentname, value: val.id})
80
+ }else{
81
+ this.resoptions.push({label: val.name, value: val.id})
82
+ }
83
+ }
84
+ },
85
+ //检查id是否存在
86
+ checkidres(val){
87
+ let flag=false
88
+ //如果没传值得话 不过滤
89
+ if(this.parentresid.length==0&&this.restype=='organization'){
90
+ flag=true
91
+ }
92
+ this.parentresid.forEach((item) => {
93
+ if(item==val.id){
94
+ flag=true
95
+ }
96
+ })
97
+ return flag;
98
+ },
99
+ //资源改变
100
+ resChange(val){
101
+ let orgnames=[]
102
+ Object.keys(this.resoptions).forEach((key) => {
103
+ if(this.selectres.includes(this.resoptions[key].value))
104
+ orgnames.push(this.resoptions[key].label)
105
+ })
106
+ console.log('资源改变。。', val, orgnames)
107
+ this.$dispatch('res-select', this.selectres, orgnames)
108
+ },
109
+ //获取资源数据
110
+ async getResList() {
111
+
112
+ let http = new HttpResetClass()
113
+
114
+ let req = await http.load('POST', '/rs/search', {data: {
115
+ source: `tool.getFullTree(this.getRights().where(row.getType()==$${this.restype}$))`,
116
+ userid: this.$login.f.id
117
+ }}, {resolveMsg: null, rejectMsg: '获取组织结构数据出错'})
118
+ this.resObj=req.data[0]
119
+ this.dealdata()
120
+ },
121
+ dealdata(){
122
+ this.resoptions=[]
123
+ this.findById(this.resObj);
124
+ //赋值资源数据
125
+ let arryselect=[]
126
+ this.resoptions.forEach((item) => {
127
+ arryselect.push(item.value)
128
+ })
129
+ //赋值资源选中初始值
130
+ this.selectres=arryselect
131
+ }
132
+ },
133
+ watch: {
134
+ //监听初始化资源id
135
+ 'initresid.length'(){
136
+ this.dealdata()
137
+ },
138
+ //监听初始化资源id
139
+ 'parentresid'(){
140
+ this.dealdata()
141
+ },
142
+ },
143
+ }
144
+ </script>
@@ -2,7 +2,8 @@
2
2
  let specialComp = {
3
3
 
4
4
  // 客户信息查询
5
- 'user-query': (resolve) => { require(['./UserQuery'], resolve) }
5
+ 'user-query': (resolve) => { require(['./UserQuery'], resolve) },
6
+ 'res-select-group': (resolve) => { require(['./ResSelectGroupNew'], resolve) }
6
7
  }
7
8
  exports.specialComp = specialComp
8
9
 
package/src/main.js CHANGED
@@ -1,66 +1,66 @@
1
- import Vue from 'vue'
2
- import App from './App'
3
- import { all } from 'vue-client'
4
-
5
- import { sale } from 'sale-client'
6
- import { system } from 'system-clients'
7
- import { ldap } from 'ldap-clients'
8
- import saleManage from './saleManage'
9
- import webmeterManage from './webmeterManage'
10
- import reportManage from './reportManage'
11
- // import newmanage from './newmanage'
12
- import ManageHome from './ManageHome'
13
- import echarts from 'echarts'
14
- import AMap from 'vue-amap'
15
-
16
- Vue.config.silent = true
17
- // Vue.mmType = 'AES'
18
-
19
- Vue.use(AMap);
20
-
21
- // 初始化vue-amap
22
- AMap.initAMapApiLoader({
23
- // 高德key
24
- key: '3cec9ae8e2349207f7ac29279e3f4abe',
25
- // 插件集合 (插件按需引入)
26
- plugin: [
27
- "AMap.Autocomplete", //输入提示插件
28
- "AMap.PlaceSearch", //POI搜索插件
29
- "AMap.Scale", //右下角缩略图插件 比例尺
30
- "AMap.OverView", //地图鹰眼插件
31
- "AMap.ToolBar", //地图工具条
32
- "AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
33
- "AMap.PolyEditor", //编辑 折线多,边形
34
- "AMap.CircleEditor", //圆形编辑器插件
35
- "AMap.Geolocation" //定位控件,用来获取和展示用户主机所在的经纬度位置
36
- ],
37
- uiVersion: "1.0"
38
- });
39
- /** **************************通用组件******************************/
40
-
41
- Vue.prototype.$echarts = echarts
42
- all()
43
- sale()
44
- ldap()
45
- system(false)
46
- saleManage()
47
-
48
- webmeterManage()
49
- ManageHome()
50
- // newmanage()
51
- reportManage()
52
- require('system-clients/src/styles/less/bootstrap.less')
53
- require('./components/qinhua/Style/qinhuaStyle.less')
54
- // require('./bootstrap/less/manageStyle/manageChile.less')
55
- // require('./bootstrap/less/manageStyle/safeStyle.less')
56
-
57
- //大屏展示要放开的样式
58
- // require('system-clients/src/styles/less/manageStyle/manageChile.less')
59
- // require('system-clients/src/styles/less/manageStyle/safeStyle.less')
60
- // require('system-clients/src/styles/less/manageStyle/manageStyle.less')
61
-
62
- new Vue({
63
- el: 'body',
64
- components: { App }
65
- })
66
-
1
+ import Vue from 'vue'
2
+ import App from './App'
3
+ import { all } from 'vue-client'
4
+
5
+ // import { sale } from 'sale-client'
6
+ import { system } from 'system-clients'
7
+ import { ldap } from 'ldap-clients'
8
+ import saleManage from './saleManage'
9
+ import webmeterManage from './webmeterManage'
10
+ import reportManage from './reportManage'
11
+ import newmanage from './newmanage'
12
+ import ManageHome from './ManageHome'
13
+ import echarts from 'echarts'
14
+ import AMap from 'vue-amap'
15
+
16
+ Vue.config.silent = true
17
+ // Vue.mmType = 'AES'
18
+
19
+ Vue.use(AMap);
20
+
21
+ // 初始化vue-amap
22
+ AMap.initAMapApiLoader({
23
+ // 高德key
24
+ key: '3cec9ae8e2349207f7ac29279e3f4abe',
25
+ // 插件集合 (插件按需引入)
26
+ plugin: [
27
+ "AMap.Autocomplete", //输入提示插件
28
+ "AMap.PlaceSearch", //POI搜索插件
29
+ "AMap.Scale", //右下角缩略图插件 比例尺
30
+ "AMap.OverView", //地图鹰眼插件
31
+ "AMap.ToolBar", //地图工具条
32
+ "AMap.MapType", //类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
33
+ "AMap.PolyEditor", //编辑 折线多,边形
34
+ "AMap.CircleEditor", //圆形编辑器插件
35
+ "AMap.Geolocation" //定位控件,用来获取和展示用户主机所在的经纬度位置
36
+ ],
37
+ uiVersion: "1.0"
38
+ });
39
+ /** **************************通用组件******************************/
40
+
41
+ Vue.prototype.$echarts = echarts
42
+ all()
43
+ // sale()
44
+ ldap()
45
+ system(false)
46
+ saleManage()
47
+
48
+ webmeterManage()
49
+ ManageHome()
50
+ newmanage()
51
+ reportManage()
52
+ require('system-clients/src/styles/less/bootstrap.less')
53
+ require('./components/qinhua/Style/qinhuaStyle.less')
54
+ // require('./bootstrap/less/manageStyle/manageChile.less')
55
+ // require('./bootstrap/less/manageStyle/safeStyle.less')
56
+
57
+ //大屏展示要放开的样式
58
+ // require('system-clients/src/styles/less/manageStyle/manageChile.less')
59
+ // require('system-clients/src/styles/less/manageStyle/safeStyle.less')
60
+ // require('system-clients/src/styles/less/manageStyle/manageStyle.less')
61
+
62
+ new Vue({
63
+ el: 'body',
64
+ components: { App }
65
+ })
66
+