system-clients 1.6.26 → 1.6.27-yc

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 (160) hide show
  1. package/build/webpack.dev.conf.js +3 -0
  2. package/build/webpack.example.conf.js +3 -0
  3. package/build/webpack.prod.conf.js +1 -3
  4. package/config/prod.env.js +3 -1
  5. package/package.json +5 -2
  6. package/src/assets/clear-cookie.png +0 -0
  7. package/src/assets/point.png +0 -0
  8. package/src/assets/refresh.png +0 -0
  9. package/src/assets/shangsheng.png +0 -0
  10. package/src/assets/shousuo.png +0 -0
  11. package/src/components/Main.vue +2 -2
  12. package/src/components/Main.vue.bak +459 -0
  13. package/src/components/echarts/BankManager.vue +148 -0
  14. package/src/components/echarts/BussinessType.vue +129 -0
  15. package/src/components/echarts/EchartsBox.vue +74 -0
  16. package/src/components/echarts/MeterScale.vue +344 -0
  17. package/src/components/echarts/Paymentpie.vue +101 -0
  18. package/src/components/echarts/SiteManager.vue +148 -0
  19. package/src/components/echarts/UsertypePie.vue +106 -0
  20. package/src/components/server/EchartsBox.vue.bak +74 -0
  21. package/src/components/server/Login.vue +216 -488
  22. package/src/components/server/Login.vue.bak +216 -0
  23. package/src/plugins/EncryptUtil.js +30 -0
  24. package/src/plugins/GetLoginInfoService.js +531 -492
  25. package/src/plugins/GetLoginInfoService.js.bak +402 -0
  26. package/src/stores/AppData.js +45 -38
  27. package/src/styles/fonts/glyphicons-halflings-regular.eot +0 -0
  28. package/src/styles/fonts/glyphicons-halflings-regular.svg +288 -0
  29. package/src/styles/fonts/glyphicons-halflings-regular.ttf +0 -0
  30. package/src/styles/fonts/glyphicons-halflings-regular.woff +0 -0
  31. package/src/styles/fonts/glyphicons-halflings-regular.woff2 +0 -0
  32. package/src/styles/less/.csscomb.json +304 -0
  33. package/src/styles/less/.csslintrc +19 -0
  34. package/src/styles/less/alerts.less +73 -0
  35. package/src/styles/less/aofeng/animate.min.css +11 -0
  36. package/src/styles/less/aofeng/expandcss.less +569 -0
  37. package/src/styles/less/aofeng/login.less +367 -0
  38. package/src/styles/less/aofeng/standard.less +2507 -0
  39. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +690 -0
  40. package/src/styles/less/aofeng/themeOne/loginStyle.less +1586 -0
  41. package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -0
  42. package/src/styles/less/aofeng/themeOne.less +10 -0
  43. package/src/styles/less/aofeng/themeTwo/newStyle1.less +415 -0
  44. package/src/styles/less/aofeng/themeTwo.less +3 -0
  45. package/src/styles/less/badges.less +66 -0
  46. package/src/styles/less/bootstrap.less +66 -0
  47. package/src/styles/less/breadcrumbs.less +26 -0
  48. package/src/styles/less/button-groups.less +247 -0
  49. package/src/styles/less/buttons.less +172 -0
  50. package/src/styles/less/carousel.less +269 -0
  51. package/src/styles/less/close.less +34 -0
  52. package/src/styles/less/code.less +69 -0
  53. package/src/styles/less/component-animations.less +33 -0
  54. package/src/styles/less/dropdowns.less +216 -0
  55. package/src/styles/less/fonts-list.less +25 -0
  56. package/src/styles/less/forms.less +626 -0
  57. package/src/styles/less/glyphicons.less +305 -0
  58. package/src/styles/less/grid.less +84 -0
  59. package/src/styles/less/input-groups.less +167 -0
  60. package/src/styles/less/jumbotron.less +52 -0
  61. package/src/styles/less/labels.less +64 -0
  62. package/src/styles/less/list-group.less +141 -0
  63. package/src/styles/less/manageStyle/manageChile.less +180 -0
  64. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -0
  65. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -0
  66. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -0
  67. package/src/styles/less/manageStyle/manageStyle.less +1102 -0
  68. package/src/styles/less/manageStyle/safeStyle.less +498 -0
  69. package/src/styles/less/media.less +66 -0
  70. package/src/styles/less/mixins/alerts.less +14 -0
  71. package/src/styles/less/mixins/background-variant.less +9 -0
  72. package/src/styles/less/mixins/border-radius.less +18 -0
  73. package/src/styles/less/mixins/buttons.less +69 -0
  74. package/src/styles/less/mixins/center-block.less +7 -0
  75. package/src/styles/less/mixins/clearfix.less +22 -0
  76. package/src/styles/less/mixins/forms.less +90 -0
  77. package/src/styles/less/mixins/gradients.less +59 -0
  78. package/src/styles/less/mixins/grid-framework.less +92 -0
  79. package/src/styles/less/mixins/grid.less +122 -0
  80. package/src/styles/less/mixins/hide-text.less +21 -0
  81. package/src/styles/less/mixins/image.less +33 -0
  82. package/src/styles/less/mixins/labels.less +12 -0
  83. package/src/styles/less/mixins/list-group.less +30 -0
  84. package/src/styles/less/mixins/nav-divider.less +10 -0
  85. package/src/styles/less/mixins/nav-vertical-align.less +9 -0
  86. package/src/styles/less/mixins/opacity.less +8 -0
  87. package/src/styles/less/mixins/pagination.less +24 -0
  88. package/src/styles/less/mixins/panels.less +24 -0
  89. package/src/styles/less/mixins/progress-bar.less +10 -0
  90. package/src/styles/less/mixins/reset-filter.less +8 -0
  91. package/src/styles/less/mixins/reset-text.less +18 -0
  92. package/src/styles/less/mixins/resize.less +6 -0
  93. package/src/styles/less/mixins/responsive-visibility.less +15 -0
  94. package/src/styles/less/mixins/size.less +10 -0
  95. package/src/styles/less/mixins/tab-focus.less +9 -0
  96. package/src/styles/less/mixins/table-row.less +44 -0
  97. package/src/styles/less/mixins/text-emphasis.less +9 -0
  98. package/src/styles/less/mixins/text-overflow.less +8 -0
  99. package/src/styles/less/mixins/vendor-prefixes.less +227 -0
  100. package/src/styles/less/mixins.less +40 -0
  101. package/src/styles/less/modals.less +151 -0
  102. package/src/styles/less/navbar.less +660 -0
  103. package/src/styles/less/navs.less +285 -0
  104. package/src/styles/less/normalize.less +424 -0
  105. package/src/styles/less/pager.less +76 -0
  106. package/src/styles/less/pagination.less +89 -0
  107. package/src/styles/less/panels.less +275 -0
  108. package/src/styles/less/popovers.less +131 -0
  109. package/src/styles/less/print.less +101 -0
  110. package/src/styles/less/progress-bars.less +87 -0
  111. package/src/styles/less/responsive-embed.less +35 -0
  112. package/src/styles/less/responsive-utilities.less +194 -0
  113. package/src/styles/less/scaffolding.less +161 -0
  114. package/src/styles/less/stand.less +207 -0
  115. package/src/styles/less/tables.less +312 -0
  116. package/src/styles/less/theme.less +291 -0
  117. package/src/styles/less/thumbnails.less +36 -0
  118. package/src/styles/less/tooltip.less +102 -0
  119. package/src/styles/less/type.less +316 -0
  120. package/src/styles/less/utilities.less +55 -0
  121. package/src/styles/less/variables.less +899 -0
  122. package/src/styles/less/wells.less +29 -0
  123. package/src/system.js +70 -54
  124. package/static/logo.png +0 -0
  125. package/static/newStyle/1959d3b6480f4485b2e32446f762960c.jpg +0 -0
  126. package/static/newStyle/about-us.png +0 -0
  127. package/static/newStyle/chengtou-logo.jpg +0 -0
  128. package/static/newStyle/clear.png +0 -0
  129. package/static/newStyle/dg-about-us.png +0 -0
  130. package/static/newStyle/dongguan1.png +0 -0
  131. package/static/newStyle/fife.png +0 -0
  132. package/static/newStyle/hidden.png +0 -0
  133. package/static/newStyle/label-clear.png +0 -0
  134. package/static/newStyle/left-img.png +0 -0
  135. package/static/newStyle/list_ok.png +0 -0
  136. package/static/newStyle/login-check.png +0 -0
  137. package/static/newStyle/login-con.png +0 -0
  138. package/static/newStyle/login-do.gif +0 -0
  139. package/static/newStyle/login-f.png +0 -0
  140. package/static/newStyle/login-info.png +0 -0
  141. package/static/newStyle/login-left.png +0 -0
  142. package/static/newStyle/login-org.png +0 -0
  143. package/static/newStyle/login-pwd.png +0 -0
  144. package/static/newStyle/login-user.png +0 -0
  145. package/static/newStyle/loginbg.gif +0 -0
  146. package/static/newStyle/loginbg1280.gif +0 -0
  147. package/static/newStyle/loginbg1366.gif +0 -0
  148. package/static/newStyle/setting.png +0 -0
  149. package/static/newStyle/shirk.png +0 -0
  150. package/static/newStyle/stretch_bottom.png +0 -0
  151. package/static/newStyle/stretch_left.png +0 -0
  152. package/static/newStyle/stretch_right.png +0 -0
  153. package/static/newStyle/stretch_top.png +0 -0
  154. package/static/newStyle/system-off.png +0 -0
  155. package/static/newStyle/tianyi-logo.png +0 -0
  156. package/static/rizhao.png +0 -0
  157. package/.npmignore +0 -9
  158. package/build/.npmignore +0 -1
  159. package/build.gradle +0 -6
  160. package/src/.npmignore +0 -1
@@ -17,6 +17,9 @@ module.exports = merge(baseConfig, {
17
17
  publicPath: '/'
18
18
  },
19
19
  plugins: [
20
+ new webpack.DefinePlugin({
21
+ 'process.env': require('../config/dev.env')
22
+ }),
20
23
  // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
21
24
  new webpack.optimize.OccurenceOrderPlugin(),
22
25
  new webpack.HotModuleReplacementPlugin(),
@@ -35,6 +35,9 @@ module.exports = merge(baseConfig, {
35
35
  publicPath: '/'
36
36
  },
37
37
  plugins: [
38
+ new webpack.DefinePlugin({
39
+ 'process.env': require('../config/dev.env')
40
+ }),
38
41
  // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
39
42
  new webpack.optimize.OccurenceOrderPlugin(),
40
43
  new webpack.HotModuleReplacementPlugin(),
@@ -29,9 +29,7 @@ module.exports = merge(baseConfig, {
29
29
  plugins: [
30
30
  // http://vuejs.github.io/vue-loader/workflow/production.html
31
31
  new webpack.DefinePlugin({
32
- 'process.env': {
33
- NODE_ENV: '"production"'
34
- }
32
+ 'process.env': require('../config/prod.env')
35
33
  }),
36
34
  new webpack.optimize.UglifyJsPlugin({
37
35
  compress: {
@@ -1,3 +1,5 @@
1
1
  module.exports = {
2
- NODE_ENV: '"production"'
2
+ NODE_ENV: '"production"',
3
+ // v3: RSA + /rs/logic/getLogin;v4: 父项目统一认证 /api/af-auth/login
4
+ LOGIN_MODE: '"' + (process.env.LOGIN_MODE || 'v3') + '"'
3
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-clients",
3
- "version": "1.6.26",
3
+ "version": "1.6.27-yc",
4
4
  "description": "系统基础框架",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -9,9 +9,12 @@
9
9
  },
10
10
  "scripts": {
11
11
  "example": "node build/example-server.js",
12
+ "example:v4": "cross-env LOGIN_MODE=v4 node build/example-server.js",
12
13
  "dev": "node build/dev-server.js",
14
+ "dev:v4": "cross-env LOGIN_MODE=v4 node build/dev-server.js",
13
15
  "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
14
16
  "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
17
+ "build:v4": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production LOGIN_MODE=v4 webpack --progress --hide-modules --config build/webpack.prod.conf.js",
15
18
  "e2e": "node test/e2e/runner.js",
16
19
  "unit": "karma start test/unit/karma.conf.js",
17
20
  "release": "npm set registry http://registry.npmjs.org && npm publish && npm set registry http://registry.npm.taobao.org"
@@ -76,7 +79,7 @@
76
79
  "style": "0.0.3",
77
80
  "style-loader": "^0.20.3",
78
81
  "url-loader": "^0.5.7",
79
- "vue-client": "^1.18.5",
82
+ "vue-client": "1.19.5-yc",
80
83
  "vue-hot-reload-api": "^1.2.0",
81
84
  "vue-html-loader": "^1.0.0",
82
85
  "vue-loader": "^8.2.1",
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -185,8 +185,8 @@
185
185
  // }
186
186
  this.treeOrIcon = !this.treeOrIcon
187
187
  if (this.treeOrIcon) {
188
- this.$els.top.style.width = 160 + "px"
189
- this.$els.bottom.style.width = this.$els.box.clientWidth - 160 + "px"
188
+ this.$els.top.style.width = 200 + "px"
189
+ this.$els.bottom.style.width = this.$els.box.clientWidth - 200 + "px"
190
190
  }else {
191
191
  this.$els.top.style.width = 50 + "px"
192
192
  this.$els.bottom.style.width = this.$els.box.clientWidth - 50 + "px"
@@ -0,0 +1,459 @@
1
+ <template>
2
+ <div>
3
+ <div class='flex-row aaa' id="box" v-el:box v-if="!isManger">
4
+ <div class="auto" style="position: fixed;right: 30px;top: 20px;color: #333">
5
+ <span>
6
+ <img
7
+ src="../assets/people.png" height="15" width="15">
8
+ 登录人:</span>
9
+ <label>{{$login.f.name}}</label>
10
+ <img
11
+ src="../assets/arrow.png" height="6" width="10"
12
+ @mouseenter="mouseenteruser()" @mouseleave="mouseleaveuser()"
13
+ >
14
+ </div>
15
+ <div v-if="userpane" class="auto userpanel">
16
+ <span>{{orgpathnames}}</span>
17
+ </div>
18
+ <div class="flex tree-flex" :class="{'tree-flex-icon': !treeOrIcon}" id="top" v-el:top >
19
+ <h3>{{systemname}}</h3>
20
+ <div class="span" style="margin-bottom:20px;flex: 1;">
21
+ <left-tree :functions='functions.functions' :userid='userid' @isnodo="isnodo" v-show="treeOrIcon" :tabs="tabs" v-ref:tree></left-tree>
22
+ <icon-tree :functions='functions.functions' :userid='userid' v-show="!treeOrIcon"></icon-tree>
23
+ </div>
24
+
25
+ <div class="tree-flex-footer">
26
+ <a @click="changeShow()"><img :src="imgs.open" alt=""><span v-if="treeOrIcon">菜单伸缩</span></a>
27
+ <!-- <a><img src="../../../static/treeset.png" alt="">系统设置</a> -->
28
+ <dropdown class="auto">
29
+ <button type="button" data-toggle="dropdown">
30
+ <img :src="imgs.set" alt=""><span v-if="treeOrIcon">系统设置</span>
31
+ </button>
32
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-up">
33
+ <li>系统信息及设置</li>
34
+ <!-- <li>{{name}}</li> -->
35
+ <li>{{date}}</li>
36
+ <li @click="show=true">修改密码</li>
37
+ <li @click="AddChangeMsgShow=true">系统版本:1.0.0</li>
38
+ </ul>
39
+
40
+ </dropdown>
41
+ <a href="index.html" onclick="return confirm('您确定要退出系统吗?');">
42
+ <img :src="imgs.out" alt="" ><span v-if="treeOrIcon">退出系统</span>
43
+ </a>
44
+ </div>
45
+ </div>
46
+
47
+ <!-- <div class="line" id="line" v-show="treeOrIcon" v-el:line></div> -->
48
+
49
+ <div class="flex right-bg" id="bottom" v-el:bottom>
50
+ <!-- <operator-badge></operator-badge> -->
51
+ <div class="span">
52
+ <echarts-box v-if="$refs.mic.tabs.length === 0"></echarts-box>
53
+ <dynamic :comps='[]' name='main' :selecttab="selecttab" @tab-changed="tabChange" @tabscg="tabcg" v-ref:mic v-show="!($refs.mic.tabs.length === 0)"></dynamic>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ <div v-show="isManger">
58
+ <route v-ref:route></route>
59
+ </div>
60
+
61
+ <!-- 变更录入 模态框 -->
62
+ <add-changemsg :show="AddChangeMsgShow" v-on:toggle = "AddChangeMsgShow = false"></add-changemsg>
63
+ <!-- 修改密码组件 -->
64
+ <modify-pw :show.sync="show" v-if="show"><modify-pw>
65
+ <!-- 修改密码模态框 -->
66
+ </div>
67
+ </template>
68
+
69
+ <script>
70
+ import vue from 'vue'
71
+ import co from 'co'
72
+
73
+ window.onunload = () => {
74
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
75
+ }
76
+ window.onbeforeunload = () => {
77
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
78
+ }
79
+ export default {
80
+ title: '主界面',
81
+ props: ['functions', 'userid'],
82
+ data () {
83
+ return {
84
+ // 左侧树下部三个小图标
85
+ imgs: {
86
+ open: '/images/mainicon/treeopen.png',
87
+ set: '/images/mainicon/treeset.png',
88
+ out: '/images/mainicon/treeout.png'
89
+ },
90
+ treeOrIcon: false,
91
+ userpane: false,
92
+ isManger: false,
93
+ show: false,
94
+ orgpathnames: this.$login.f.orgpathnames,
95
+ systemname: '客服系统',
96
+ date: this.$login.toStandardDateString(),
97
+ tabs:[], //已初始化页签数组
98
+ selecttab:''
99
+
100
+ // headerHint: true, // 右侧顶部提示信息
101
+ // value: 25645.26,
102
+ // AddChangeMsgShow: false,
103
+ // showsum: false
104
+ }
105
+ },
106
+ ready () {
107
+ let component = this.$login.getUrlCompileParames('component')
108
+ if (component) {
109
+ this.isManger = true
110
+ this.$refs.route.init(component, {data: this.functions.functions})
111
+ }
112
+ if(this.$login.f.password == '1'){
113
+ this.$showMessage('本地登录系统为此账户的初始密码,请确认修改密码!!!', ['confirm', 'cancel']).then((res) => {
114
+ if(res == 'confirm')
115
+ this.show = true
116
+ })
117
+ }
118
+ console.log("系统名称",this.$appdata.getSingleValue("系统名称"))
119
+ this.systemname = this.$appdata.getSingleValue("系统名称")? this.$appdata.getSingleValue("系统名称"):'客服系统'
120
+ // let oBox = this.getElement("box")
121
+ // let oTop = this.getElement("top")
122
+ // let oBottom = this.getElement("bottom")
123
+ // let oLine = this.getElement("line")
124
+ // let that = this
125
+ // oLine.onmousedown = function(e) {
126
+ // let disX = (e || event).clientX
127
+ // oLine.left = oLine.offsetLeft
128
+ // document.onmousemove = function(e) {
129
+ // let iT = oLine.left + ((e || event).clientX - disX)
130
+ // var e = e || window.event
131
+ // let tarnameb = e.target || e.srcElement
132
+ // let maxT = oBox.clientWight - oLine.offsetWidth
133
+ // oLine.style.margin = 0
134
+ // iT < 0 && (iT = 0)
135
+ // iT > maxT && (iT = maxT)
136
+ // oLine.style.left = oTop.style.width = iT + "px"
137
+ // oBottom.style.width = oBox.clientWidth - iT + "px"
138
+ // that.$set('treeWidth', iT)
139
+ // return false
140
+ // }
141
+ // document.onmouseup = function() {
142
+ // document.onmousemove = null
143
+ // document.onmouseup = null
144
+ // oLine.releaseCapture && oLine.releaseCapture()
145
+ // }
146
+ // oLine.setCapture && oLine.setCapture()
147
+ // return false
148
+ // }
149
+ this.changeShow()
150
+ },
151
+ methods: {
152
+ isnodo(val){
153
+ this.selecttab = val
154
+ },
155
+ mouseenteruser(){
156
+ this.userpane=true
157
+ },
158
+ mouseleaveuser(){
159
+ this.userpane=false
160
+ },
161
+ unfurl () {
162
+ if(this.showsum){
163
+ this.showsum = false
164
+ } else {
165
+ this.showsum = true
166
+ }
167
+ },
168
+ // getElement(id) {
169
+ // return document.getElementById(id)
170
+ // },
171
+ changeShow () {
172
+ // this.treeOrIcon = !this.treeOrIcon
173
+ // let oBox = this.getElement("box")
174
+ // let oTop = this.getElement("top")
175
+ // let oBottom = this.getElement("bottom")
176
+ // let oLine = this.getElement("line")
177
+ // if (this.treeOrIcon) {
178
+ // // oLine.style.left = oTop.style.width = 300 + "px"
179
+ // oTop.style.width = 150 + "px"
180
+ // oBottom.style.width = oBox.clientWidth - 150 + "px"
181
+ // }else {
182
+ // oLine.style.left = oTop.style.width = 50 + "px"
183
+ // oBottom.style.width = oBox.clientWidth - 50 + "px"
184
+ // }
185
+ // }
186
+ this.treeOrIcon = !this.treeOrIcon
187
+ if (this.treeOrIcon) {
188
+ this.$els.top.style.width = 200 + "px"
189
+ this.$els.bottom.style.width = this.$els.box.clientWidth - 200 + "px"
190
+ }else {
191
+ this.$els.top.style.width = 50 + "px"
192
+ this.$els.bottom.style.width = this.$els.box.clientWidth - 50 + "px"
193
+ }
194
+ },
195
+ changeMain(userid) {
196
+ this.$goto('res-main', {userid: this.userid}, 'self')
197
+ },
198
+ tabChange (name) {
199
+ this.$refs.tree.changeSelect(name)
200
+ },
201
+ tabcg(val){
202
+ this.tabs = val
203
+ }
204
+ },
205
+ computed: {
206
+ nowDate () {
207
+ return this.$login.getNowDate()
208
+ }
209
+ }
210
+ }
211
+ </script>
212
+ <style lang="less">
213
+ /* 组件内通用样式 */
214
+ .select-error {
215
+ button {
216
+ border-bottom: 1px solid #a94442!important;
217
+ }
218
+ }
219
+ // input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
220
+ // -webkit-appearance:textfield;
221
+ // }
222
+ /* 表单输入框组 */
223
+ .form-input-group {
224
+ display: flex;
225
+
226
+ label {
227
+ width: 100px;
228
+ text-align: right;
229
+ + * {
230
+ flex: 1;
231
+ }
232
+ }
233
+ }
234
+ // 日期组件在表单中沾满
235
+ .form-horizontal .datepicker {
236
+ width: 100%;
237
+ }
238
+ // 下拉选择框占据剩余全部空间
239
+ .select-overspread {
240
+ .form-group {
241
+ // margin: 0px 5px 10px 0px;
242
+ .form-control {
243
+ margin-right: 0px;
244
+ }
245
+ }
246
+ .btn-group, .btn-group-vertical {
247
+ width: 100%;
248
+ // padding-right: 5px;
249
+ button {
250
+ width: 100%;
251
+ display: flex;
252
+ justify-content: space-between;
253
+ align-items: center;
254
+ }
255
+ }
256
+ .dropdown-menu {
257
+ width: 100%
258
+ }
259
+ }
260
+ // 需要特定宽度的的样式
261
+ .width-60 {
262
+ width: 60px;
263
+ }
264
+ .userpanel {
265
+ font-weight: 300;
266
+ color: #333;
267
+ position: fixed;
268
+ right: 30px;
269
+ top: 45px;
270
+ background-color: white;
271
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
272
+ padding: 4px 10px 4px 10px;
273
+ border-radius:2px;
274
+ }
275
+ .width-80 {
276
+ width: 80px;
277
+ }
278
+ .width-100 {
279
+ width: 100px;
280
+ }
281
+
282
+
283
+
284
+ /*右侧区域的背景*/
285
+ .right-bg {
286
+ width: 100%;
287
+ flex: 1;
288
+ padding: 10px 25px;
289
+ color: #304A66;
290
+ }
291
+ .tree-flex {
292
+ height: 100%;
293
+ // width: 150px;
294
+ /*width: 60px;*/
295
+ background: #4a7cae;
296
+ color: #fff;
297
+
298
+ }
299
+ .tree-flex-icon {
300
+ width: 50px;
301
+ /*transition: 0.5s;*/
302
+ > .span {
303
+ overflow-x: visible;
304
+ }
305
+ }
306
+ .tree-flex h3 {
307
+ text-align: center;
308
+ line-height: 80px;
309
+ margin: 0px;
310
+ }
311
+
312
+ .tree-flex-footer {
313
+ height: 150px;
314
+ display: flex;
315
+ flex-direction:column;
316
+ color: #fff;
317
+ }
318
+ .tree-flex-footer a,.tree-flex-footer button{
319
+ flex: 1;
320
+ padding: 8px 5px;
321
+ font-size: 1.2em;
322
+ border-top: 1px solid #697D93;
323
+ text-decoration: none;
324
+ color: #fff;
325
+ cursor: pointer;
326
+ }
327
+ .tree-flex-footer button {
328
+ height: auto;
329
+ width: 100%;
330
+ border-radius: 0px;
331
+ background-color: rgba(255,255,255,0);
332
+ border: none;
333
+ border-top: 1px solid #697D93;
334
+ text-align: left;
335
+ }
336
+ .tree-flex-footer button:hover{
337
+ outline: none;
338
+ background-color: rgba(255,255,255,0.2);
339
+ }
340
+ .tree-flex-footer button:focus {
341
+ outline: none;
342
+ background-color: rgba(255,255,255,0.5);
343
+ }
344
+ .tree-flex-footer a:hover {
345
+ color: #FFF;
346
+ background-color: rgba(255,255,255,0.2);
347
+ }
348
+ .tree-flex .btn-group {
349
+ height: 50px!important;
350
+ }
351
+
352
+ .tree-flex .dropdown-menu {
353
+ /* 控制显示列表的样式 */
354
+ background: #4C637B;
355
+ border-radius: 0px;
356
+ color: #fff;
357
+ width: auto;
358
+ margin: 0px;
359
+ padding: 0px;
360
+ }
361
+ .tree-flex .dropdown-menu-up {
362
+ /* bottom,top控制上下,left和right控制左右*/
363
+ left: 100%!important;
364
+ top: auto!important;
365
+ bottom: 0;
366
+ }
367
+ .tree-flex .dropdown-menu-down {
368
+ /* bottom,top控制上下,left和right控制左右*/
369
+ left: 100%!important;
370
+ top: 0!important;
371
+ }
372
+ .tree-flex .dropdown-menu li{
373
+ text-align: center;
374
+ line-height: 50px;
375
+ border-bottom: 1px solid #697D93;
376
+ font-size: 1.2em;
377
+ width: auto;
378
+ white-space: nowrap;
379
+ cursor: default;
380
+
381
+ }
382
+ .tree-flex .dropdown-menu li + li {
383
+ text-align: left;
384
+ border: 0;
385
+ line-height: 40px;
386
+ padding-left: 15px;
387
+ padding-right: 15px;
388
+ font-size: 1em;
389
+ cursor: pointer;
390
+ }
391
+ .tree-flex .dropdown-menu li + li:hover {
392
+ background-color: rgba(255,255,255,0.2);
393
+ }
394
+ .tree-flex .dropdown-menu li a {
395
+ border: none;
396
+ color: #fff;
397
+ height: 40px;
398
+ line-height: 40px;
399
+ font-size: 1em;
400
+ padding: 0px;
401
+ }
402
+ .tree-flex .dropdown-menu li a:hover {
403
+ color: #fff;
404
+ background-color: rgba(255,255,255,0);
405
+ }
406
+ .tree-flex img{
407
+ height: 30px;
408
+ margin-right: 15px;
409
+ }
410
+ .line {
411
+ height: 100%;
412
+ width: 5px;
413
+ background: #4C637B;
414
+ cursor: e-resize;
415
+ }
416
+ /*为树(tree)组件写的样式*/
417
+ .tree-img {
418
+ font-size: 1.2em;
419
+ }
420
+
421
+ /*将较长信息截断显示,鼠标悬停显示全部信息*/
422
+ .cutout50 {
423
+ max-width: 50px;
424
+ overflow:hidden;
425
+ text-overflow: ellipsis;
426
+ white-space: nowrap;
427
+ }
428
+
429
+ /* 滚动条样式 */
430
+ /*---滚动条默认显示样式--*/
431
+ ::-webkit-scrollbar-thumb{
432
+ // display: none;
433
+ background-color:rgba(0,0,0,0.2);
434
+ height:50px;
435
+ outline-offset:-2px;
436
+ /*outline:2px solid #fff;*/
437
+ -webkit-border-radius:4px;
438
+ /*border: 2px solid #fff;*/
439
+ }
440
+
441
+ /*---鼠标点击滚动条显示样式--*/
442
+ ::-webkit-scrollbar-thumb:hover{
443
+ // display: inherit;
444
+ background-color:rgba(0,0,0,0.4);
445
+ height:50px;
446
+ -webkit-border-radius:4px;
447
+ }
448
+ /*---滚动条大小--*/
449
+ ::-webkit-scrollbar{
450
+ width:8px;
451
+ height:8px;
452
+ }
453
+ /*---滚动框背景样式--*/
454
+ ::-webkit-scrollbar-track-piece{
455
+ /* 全透明,不显示 */
456
+ background-color:rgba(255,255,255,0);
457
+ -webkit-border-radius:0;
458
+ }
459
+ </style>
@@ -0,0 +1,148 @@
1
+ <template lang="html">
2
+ <div id="charts">
3
+ <div id="bm" :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) {
14
+ let load = new HttpResetClass()
15
+ load.load('POST', 'rs/sql/sellinggasvalue',
16
+ {data: {startDate: self.startdate, endDate: self.enddate, key: 'f_bank_name',f_orgstr: self.f_orgstr}},
17
+ {resolveMsg: null, rejectMsg: null})
18
+ .then((res) => {
19
+ self.texttile = '用户类型'
20
+ let arrparams = []
21
+ let numdata = []
22
+ let gasdata = []
23
+ let pricedata = []
24
+ for (var i = 0; i < res.data.length; i++) {
25
+ arrparams[i] = res.data[i].name
26
+ numdata[i] = res.data[i].num_value
27
+ gasdata[i] = res.data[i].gas_value
28
+ pricedata[i] = res.data[i].money_value
29
+ }
30
+ self.set(arrparams,numdata,gasdata,pricedata)
31
+ })
32
+ }
33
+ export default {
34
+ props: {
35
+ startdate: {
36
+ type: String,
37
+ default: Util.toStandardDateString()
38
+ },
39
+ enddate: {
40
+ type: String,
41
+ default: Util.toStandardDateString()
42
+ },
43
+ f_orgstr: {
44
+ type: String,
45
+ default: ''
46
+ }
47
+ },
48
+ data () {
49
+ title: '银行管理'
50
+ return {
51
+ texttile: '',
52
+ xc: ''
53
+ }
54
+ },
55
+ methods: {
56
+ set (arrparams,numdata,gasdata,pricedata) {
57
+ this.xc = echarts.init(document.getElementById('bm'))
58
+ this.xc.setOption({
59
+ title : {
60
+ text: '银行代售气量金额散列图',
61
+ subtext: '数据查询来源',
62
+ x: 'left'
63
+ },
64
+ tooltip : {
65
+ trigger: 'axis'
66
+ },
67
+ legend: {
68
+ x: 'left',
69
+ y: 'bottom',
70
+ data: ['数量','气量','金额']
71
+ },
72
+ toolbox: {
73
+ show : true,
74
+ feature : {
75
+ dataView : {show: true, readOnly: false},
76
+ magicType : {show: true, type: ['line', 'bar']},
77
+ restore : {show: true},
78
+ saveAsImage : {show: true}
79
+ }
80
+ },
81
+ calculable : true,
82
+ xAxis : [
83
+ {
84
+ type : 'category',
85
+ data : arrparams
86
+ }
87
+ ],
88
+ yAxis : [
89
+ {
90
+ type : 'value'
91
+ }
92
+ ],
93
+ series : [
94
+ {
95
+ name:'数量',
96
+ type:'bar',
97
+ data:numdata,
98
+ markLine : {
99
+ data : [
100
+ {type : 'average', name: '平均值'}
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ name:'气量',
106
+ type:'bar',
107
+ data:gasdata,
108
+ markLine : {
109
+ data : [
110
+ {type : 'average', name: '平均值'}
111
+ ]
112
+ }
113
+ },
114
+ {
115
+ name:'金额',
116
+ type:'bar',
117
+ data:pricedata,
118
+ markLine : {
119
+ data : [
120
+ {type : 'average', name : '平均值'}
121
+ ]
122
+ }
123
+ }
124
+ ]
125
+ })
126
+ },
127
+ searchdata () {
128
+ let getGen =getData(this)
129
+ co(getGen)
130
+ }
131
+ },
132
+ ready () {
133
+ this.searchdata()
134
+ },
135
+ watch: {
136
+ 'startdate' (val) {
137
+ this.searchdata()
138
+ },
139
+ 'enddate' (val) {
140
+ this.searchdata()
141
+ },
142
+ 'f_orgstr' (val) {
143
+ this.searchdata()
144
+ }
145
+ }
146
+
147
+ }
148
+ </script>