system-clients 3.3.6 → 4.0.1

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 (224) hide show
  1. package/.eslintrc.js +16 -16
  2. package/SystemClient.iml +8 -8
  3. package/build/webpack.base.conf.js +85 -85
  4. package/build.gradle +6 -6
  5. package/examples/LoginPage/App.vue +21 -21
  6. package/examples/LoginPage/index.html +11 -11
  7. package/examples/LoginPage/main.js +15 -15
  8. package/index.html +21 -21
  9. package/package.json +105 -105
  10. package/src/App.vue +24 -24
  11. package/src/LodopFuncs.js +155 -155
  12. package/src/components/Main.vue +935 -935
  13. package/src/components/TabButton.vue +201 -201
  14. package/src/components/Tabs.vue +67 -67
  15. package/src/components/Util.js +343 -343
  16. package/src/components/addressManage/AddressCascadingMenu.vue +145 -145
  17. package/src/components/common/ProgressBase.vue +83 -83
  18. package/src/components/equipment/EquipmentManage.vue +83 -83
  19. package/src/components/equipment/PcAdd.vue +115 -115
  20. package/src/components/equipment/PcList.vue +119 -119
  21. package/src/components/equipment/PcManage.vue +61 -61
  22. package/src/components/equipment/PhoneAdd.vue +118 -118
  23. package/src/components/equipment/PhoneList.vue +113 -113
  24. package/src/components/equipment/PhoneManage.vue +61 -61
  25. package/src/components/equipment/PosAdd.vue +319 -319
  26. package/src/components/equipment/PosList.vue +292 -292
  27. package/src/components/equipment/PosManage.vue +138 -138
  28. package/src/components/equipment/PosManageBoth.vue +125 -125
  29. package/src/components/equipment/PosParamAdd.vue +236 -236
  30. package/src/components/equipment/PosParamList.vue +121 -121
  31. package/src/components/equipment/PosParamManage.vue +51 -51
  32. package/src/components/materialManage/materialData.vue +44 -44
  33. package/src/components/materialManage/materialList.vue +255 -255
  34. package/src/components/parammanage/ParamManage.vue +42 -42
  35. package/src/components/parammanage/ParamPage.vue +337 -337
  36. package/src/components/parammanage/ParamPages.vue +222 -222
  37. package/src/components/parammanage/SinglePage.vue +235 -235
  38. package/src/components/parammanage/SinglePages.vue +167 -167
  39. package/src/components/server/AddChangeMsg.vue +66 -66
  40. package/src/components/server/ChangeDeclare.vue +45 -45
  41. package/src/components/server/ImageVieweTest.vue +56 -56
  42. package/src/components/server/ImageViewer.vue +350 -350
  43. package/src/components/server/LeftTree.vue +111 -111
  44. package/src/components/server/LoadData.vue +55 -55
  45. package/src/components/server/Login.vue +615 -615
  46. package/src/components/server/LoginPage.vue +235 -235
  47. package/src/components/server/LoginView.vue +128 -128
  48. package/src/components/server/Menu.vue +188 -188
  49. package/src/components/server/ModifyPw.vue +126 -126
  50. package/src/components/server/PcdBuildingSelect.vue +243 -243
  51. package/src/components/server/ResSelect.vue +172 -172
  52. package/src/components/server/ResSelectGroup.vue +211 -211
  53. package/src/components/server/RightTree.vue +348 -348
  54. package/src/components/server/RoleSelector.vue +90 -90
  55. package/src/components/server/TestResSelect.vue +58 -58
  56. package/src/components/server/TestResSelectGroup.vue +388 -388
  57. package/src/filiale/baole/Login.vue +570 -570
  58. package/src/filiale/baole/system.js +5 -5
  59. package/src/filiale/bayan/PosAdd.vue +368 -368
  60. package/src/filiale/bayan/PosList.vue +341 -341
  61. package/src/filiale/bayan/PosManage.vue +138 -138
  62. package/src/filiale/bayan/system.js +6 -6
  63. package/src/filiale/chengtou/Login.vue +539 -539
  64. package/src/filiale/chengtou/system.js +5 -5
  65. package/src/filiale/dongguan/Login.vue +902 -902
  66. package/src/filiale/dongguan/Main.vue +717 -717
  67. package/src/filiale/dongguan/system.js +6 -6
  68. package/src/filiale/furuike/Login.vue +587 -587
  69. package/src/filiale/furuike/Main.vue +840 -840
  70. package/src/filiale/furuike/system.js +7 -7
  71. package/src/filiale/gehua/Main.vue +809 -809
  72. package/src/filiale/gehua/system.js +6 -6
  73. package/src/filiale/konggang/Login.vue +472 -472
  74. package/src/filiale/konggang/system.js +7 -7
  75. package/src/filiale/qianneng/Login.vue +584 -584
  76. package/src/filiale/qianneng/Main.vue +818 -818
  77. package/src/filiale/qianneng/ModifyPw.vue +108 -108
  78. package/src/filiale/qianneng/system.js +11 -11
  79. package/src/filiale/rizhao/LeftTree.vue +111 -111
  80. package/src/filiale/rizhao/Login.vue +793 -793
  81. package/src/filiale/rizhao/Main.vue +611 -611
  82. package/src/filiale/rizhao/system.js +14 -14
  83. package/src/filiale/ruihua/Login.vue +576 -576
  84. package/src/filiale/ruihua/system.js +5 -5
  85. package/src/filiale/shiquan/Login.vue +566 -566
  86. package/src/filiale/shiquan/system.js +8 -8
  87. package/src/filiale/tianyi/Login.vue +573 -573
  88. package/src/filiale/tianyi/system.js +5 -5
  89. package/src/filiale/tongchuan/Login.vue +563 -563
  90. package/src/filiale/tongchuan/Main.vue +1021 -1021
  91. package/src/filiale/tongchuan/system.js +7 -7
  92. package/src/filiale/weinan/Main.vue +924 -924
  93. package/src/filiale/weinan/system.js +7 -7
  94. package/src/filiale/wenxi/Login.vue +537 -537
  95. package/src/filiale/wenxi/Main.vue +787 -787
  96. package/src/filiale/wenxi/system.js +10 -10
  97. package/src/filiale/wuhai/LeftTree.vue +141 -141
  98. package/src/filiale/wuhai/Main.vue +810 -810
  99. package/src/filiale/wuhai/system.js +10 -10
  100. package/src/filiale/yuchuan/Login.vue +891 -891
  101. package/src/filiale/yuchuan/Main.vue +866 -866
  102. package/src/filiale/yuchuan/system.js +10 -10
  103. package/src/filiale/zhoukou/Main.vue +809 -809
  104. package/src/filiale/zhoukou/system.js +6 -6
  105. package/src/plugins/EncryptUtil.js +53 -53
  106. package/src/plugins/GetLoginInfoService.js +480 -480
  107. package/src/plugins/HeatGetLoginInfoService.js +491 -491
  108. package/src/plugins/validation.js +15 -15
  109. package/src/project/State.js +17 -17
  110. package/src/stores/AppData.js +38 -38
  111. package/src/stores/HeatAppData.js +38 -38
  112. package/src/styles/fonts/glyphicons-halflings-regular.svg +288 -288
  113. package/src/styles/less/.csscomb.json +304 -304
  114. package/src/styles/less/.csslintrc +19 -19
  115. package/src/styles/less/alerts.less +73 -73
  116. package/src/styles/less/aofeng/animate.min.css +10 -10
  117. package/src/styles/less/aofeng/expandcss.less +569 -569
  118. package/src/styles/less/aofeng/login.less +367 -367
  119. package/src/styles/less/aofeng/standard.less +2507 -2507
  120. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +690 -690
  121. package/src/styles/less/aofeng/themeOne/loginStyle.less +1586 -1586
  122. package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -2650
  123. package/src/styles/less/aofeng/themeOne.less +17 -17
  124. package/src/styles/less/aofeng/themeTwo/newStyle1.less +415 -415
  125. package/src/styles/less/aofeng/themeTwo.less +3 -3
  126. package/src/styles/less/badges.less +66 -66
  127. package/src/styles/less/bootstrap.less +66 -66
  128. package/src/styles/less/breadcrumbs.less +26 -26
  129. package/src/styles/less/button-groups.less +247 -247
  130. package/src/styles/less/buttons.less +172 -172
  131. package/src/styles/less/carousel.less +269 -269
  132. package/src/styles/less/close.less +34 -34
  133. package/src/styles/less/code.less +69 -69
  134. package/src/styles/less/component-animations.less +33 -33
  135. package/src/styles/less/dropdowns.less +216 -216
  136. package/src/styles/less/fonts-list.less +25 -25
  137. package/src/styles/less/forms.less +626 -626
  138. package/src/styles/less/glyphicons.less +305 -305
  139. package/src/styles/less/grid.less +84 -84
  140. package/src/styles/less/input-groups.less +167 -167
  141. package/src/styles/less/jumbotron.less +52 -52
  142. package/src/styles/less/labels.less +64 -64
  143. package/src/styles/less/list-group.less +141 -141
  144. package/src/styles/less/manageStyle/manageChile.less +180 -180
  145. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -180
  146. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -1102
  147. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -498
  148. package/src/styles/less/manageStyle/manageStyle.less +1102 -1102
  149. package/src/styles/less/manageStyle/safeStyle.less +498 -498
  150. package/src/styles/less/media.less +66 -66
  151. package/src/styles/less/mixins/alerts.less +14 -14
  152. package/src/styles/less/mixins/background-variant.less +9 -9
  153. package/src/styles/less/mixins/border-radius.less +18 -18
  154. package/src/styles/less/mixins/buttons.less +69 -69
  155. package/src/styles/less/mixins/center-block.less +7 -7
  156. package/src/styles/less/mixins/clearfix.less +22 -22
  157. package/src/styles/less/mixins/forms.less +90 -90
  158. package/src/styles/less/mixins/gradients.less +59 -59
  159. package/src/styles/less/mixins/grid-framework.less +92 -92
  160. package/src/styles/less/mixins/grid.less +122 -122
  161. package/src/styles/less/mixins/hide-text.less +21 -21
  162. package/src/styles/less/mixins/image.less +33 -33
  163. package/src/styles/less/mixins/labels.less +12 -12
  164. package/src/styles/less/mixins/list-group.less +30 -30
  165. package/src/styles/less/mixins/nav-divider.less +10 -10
  166. package/src/styles/less/mixins/nav-vertical-align.less +9 -9
  167. package/src/styles/less/mixins/opacity.less +8 -8
  168. package/src/styles/less/mixins/pagination.less +24 -24
  169. package/src/styles/less/mixins/panels.less +24 -24
  170. package/src/styles/less/mixins/progress-bar.less +10 -10
  171. package/src/styles/less/mixins/reset-filter.less +8 -8
  172. package/src/styles/less/mixins/reset-text.less +18 -18
  173. package/src/styles/less/mixins/resize.less +6 -6
  174. package/src/styles/less/mixins/responsive-visibility.less +15 -15
  175. package/src/styles/less/mixins/size.less +10 -10
  176. package/src/styles/less/mixins/tab-focus.less +9 -9
  177. package/src/styles/less/mixins/table-row.less +44 -44
  178. package/src/styles/less/mixins/text-emphasis.less +9 -9
  179. package/src/styles/less/mixins/text-overflow.less +8 -8
  180. package/src/styles/less/mixins/vendor-prefixes.less +227 -227
  181. package/src/styles/less/mixins.less +40 -40
  182. package/src/styles/less/modals.less +151 -151
  183. package/src/styles/less/navbar.less +660 -660
  184. package/src/styles/less/navs.less +285 -285
  185. package/src/styles/less/normalize.less +424 -424
  186. package/src/styles/less/pager.less +76 -76
  187. package/src/styles/less/pagination.less +89 -89
  188. package/src/styles/less/panels.less +275 -275
  189. package/src/styles/less/popovers.less +131 -131
  190. package/src/styles/less/print.less +101 -101
  191. package/src/styles/less/progress-bars.less +87 -87
  192. package/src/styles/less/responsive-embed.less +35 -35
  193. package/src/styles/less/responsive-utilities.less +194 -194
  194. package/src/styles/less/scaffolding.less +161 -161
  195. package/src/styles/less/stand.less +207 -207
  196. package/src/styles/less/tables.less +312 -312
  197. package/src/styles/less/theme.less +291 -291
  198. package/src/styles/less/thumbnails.less +36 -36
  199. package/src/styles/less/tooltip.less +102 -102
  200. package/src/styles/less/type.less +316 -316
  201. package/src/styles/less/utilities.less +55 -55
  202. package/src/styles/less/variables.less +899 -899
  203. package/src/styles/less/wells.less +29 -29
  204. package/src/system.js +122 -122
  205. package/src/util/Daiban.json +12 -12
  206. package/yarn-error.log +6896 -6896
  207. package/.gradle/8.5/checksums/checksums.lock +0 -0
  208. package/.gradle/8.5/dependencies-accessors/dependencies-accessors.lock +0 -0
  209. package/.gradle/8.5/dependencies-accessors/gc.properties +0 -0
  210. package/.gradle/8.5/executionHistory/executionHistory.bin +0 -0
  211. package/.gradle/8.5/executionHistory/executionHistory.lock +0 -0
  212. package/.gradle/8.5/fileChanges/last-build.bin +0 -0
  213. package/.gradle/8.5/fileHashes/fileHashes.bin +0 -0
  214. package/.gradle/8.5/fileHashes/fileHashes.lock +0 -0
  215. package/.gradle/8.5/gc.properties +0 -0
  216. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  217. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  218. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  219. package/.gradle/file-system.probe +0 -0
  220. package/.gradle/vcs-1/gc.properties +0 -0
  221. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  222. package/gradle/wrapper/gradle-wrapper.properties +0 -7
  223. package/gradlew +0 -249
  224. package/gradlew.bat +0 -92
@@ -1,611 +1,611 @@
1
- <template>
2
- <div @click="hindsetting1()" :class="{'with-watermark':showwatermakeflag}">
3
- <div class='flex-row system-main' id="box" v-el:box v-if="!isManger">
4
- <div class="auto login-operator1" v-if="$refs.mic.tabs.length === 0">
5
- <span>
6
- <img
7
- src="../../assets/people.png" height="15" width="15">
8
- 登录人:</span>
9
- <label>{{ orgpathnames }}</label>
10
- </div>
11
- <div class="system-left tree-flex" :class="{'tree-flex-icon': !treeOrIcon}" id="top" v-el:top>
12
- <div class="system-left-chi" :class="{'system-left-icon': !treeOrIcon}">
13
- <div class="span system-left-tree " style="height:85%">
14
- <div class="logopicaode" >
15
- <div class="rizhao_img"></div>
16
- </div>
17
- <left-tree :functions='functions.functions' :userid='userid' @isnodo="isnodo" v-show="treeOrIcon"
18
- :tabs="tabs" v-ref:tree></left-tree>
19
- </div>
20
-
21
- <div class="tree-flex-footer">
22
- <dropdown class="auto">
23
- <button type="button" data-toggle="dropdown">
24
- <img :src="imgs.set" alt=""><span v-if="treeOrIcon">系统设置</span>
25
- </button>
26
- <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-up">
27
- <li>系统信息及设置</li>
28
- <!-- <li>{{name}}</li> -->
29
- <li>{{ date }}</li>
30
- <li @click="show=true">修改密码</li>
31
- <li @click="AddChangeMsgShow=true">系统版本:1.0.0</li>
32
- <li @click="openUrl()">售后服务</li>
33
- </ul>
34
-
35
- </dropdown>
36
- <a href="index.html" @click.prevent="logOut">
37
- <img :src="imgs.out" alt=""><span v-if="treeOrIcon">退出系统</span>
38
- </a>
39
- </div>
40
- </div>
41
- </div>
42
- <div class="flex right-bg system-right" id="bottom" v-el:bottom>
43
- <div class="span">
44
- <echarts-box v-if="$refs.mic.tabs.length === 0"></echarts-box>
45
- <dynamic :comps='[]' name='main' :selecttab.sync="selecttab" :orgpathnames="orgpathnames"
46
- @tab-changed="tabChange" @tabscg="tabcg" v-ref:mic v-show="!($refs.mic.tabs.length === 0)"></dynamic>
47
- </div>
48
- </div>
49
- </div>
50
- <div v-show="isManger">
51
- <route v-ref:route></route>
52
- </div>
53
- <!-- 变更录入 模态框 -->
54
- <add-changemsg :show="AddChangeMsgShow" v-on:toggle="AddChangeMsgShow = false"></add-changemsg>
55
- <!-- 修改密码组件 -->
56
- <modify-pw :show.sync="show" v-if="show"></modify-pw>
57
- <!-- 修改密码模态框 -->
58
- </div>
59
- </template>
60
-
61
- <script>
62
- import vue from 'vue'
63
- import co from 'co'
64
- import {HttpResetClass} from "vue-client";
65
-
66
- let getwartermakr = async function (self) {
67
- let param = {
68
- tablename: 't_singlevalue',
69
- condition: " 1=1 and name=\'水印内容\'"
70
- };
71
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
72
- if (result && result.data.length > 0) {
73
- self.showwatermakeflag = true;
74
- createWaterMark(result.data[0].value);
75
- } else {
76
- self.showwatermakeflag = false;
77
- }
78
- }
79
-
80
- let createWaterMark = function (userName) {
81
- let style;
82
- if (style) style.remove();
83
- let width = window.parseInt(document.body.clientWidth);
84
- let canvasWidth = width / window.parseInt(width / 320);
85
- let fontFamily = window.getComputedStyle(document.body)["font-family"];
86
- let canvas = document.createElement("canvas");
87
- canvas.width = canvasWidth;
88
- canvas.height = 200;
89
- let ctx = canvas.getContext("2d");
90
- ctx.rotate((-20 * Math.PI) / 180);
91
- ctx.font = `20px ${fontFamily}`;
92
- ctx.fillStyle = "rgba(8,8,8,.1)";
93
- ctx.fillText(userName, 50, 200);
94
- let imgSrc = canvas.toDataURL("image/png");
95
- style = document.createElement("style");
96
- style.innerHTML = `.with-watermark:before{
97
- content: "";
98
- width: 100%;
99
- height: 100%;
100
- display: block;
101
- position: absolute;
102
- background-image: url("${imgSrc}");
103
- }`;
104
- (document.head.append || document.head.appendChild).apply(document.head, [style]);
105
- }
106
-
107
- window.onunload = () => {
108
- vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
109
- }
110
- window.onbeforeunload = () => {
111
- vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
112
- }
113
- export default {
114
- title: '主界面',
115
- props: ['functions', 'userid'],
116
- data() {
117
- return {
118
- // 左侧树下部三个小图标
119
- imgs: {
120
- open: '/images/lefticon/菜单伸缩.png',
121
- set: '/images/lefticon/系统设置.png',
122
- out: '/images/lefticon/退出系统.png',
123
- img1: '/images/newStyle/login-user.png',
124
- logoimg: '/static/newStyle/fife.png'
125
- // img2: '/images/lefticon/退出系统.png',
126
- },
127
- treeOrIcon: false,
128
- isManger: false,
129
- show: false,
130
- orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
131
- systemname: '客服系统',
132
- date: this.$login.toStandardDateString(),
133
- tabs: [], //已初始化页签数组
134
- selecttab: '',
135
- setting: true,
136
- srcsetting: '../../static/newStyle/setting.png',
137
- showwatermakeflag: false,
138
- // headerHint: true, // 右侧顶部提示信息
139
- // value: 25645.26,
140
- // AddChangeMsgShow: false,
141
- // showsum: false
142
- }
143
- },
144
- ready() {
145
- getwartermakr(this);
146
- let component = this.$login.getUrlCompileParames('component')
147
- if (component) {
148
- this.isManger = true
149
- this.$refs.route.init(component, {data: this.functions.functions})
150
- }
151
- if (this.$login.f.password == '1') {
152
- this.$showMessage('本地登录系统为此账户的初始密码,请确认修改密码!!!', ['confirm', 'cancel']).then((res) => {
153
- if (res == 'confirm')
154
- this.show = true
155
- })
156
- }
157
- console.log("系统名称", this.$appdata.getSingleValue("系统名称"))
158
- this.systemname = this.$appdata.getSingleValue("系统名称") ? this.$appdata.getSingleValue("系统名称") : '客服系统'
159
- // let oBox = this.getElement("box")
160
- // let oTop = this.getElement("top")
161
- // let oBottom = this.getElement("bottom")
162
- // let oLine = this.getElement("line")
163
- // let that = this
164
- // oLine.onmousedown = function(e) {
165
- // let disX = (e || event).clientX
166
- // oLine.left = oLine.offsetLeft
167
- // document.onmousemove = function(e) {
168
- // let iT = oLine.left + ((e || event).clientX - disX)
169
- // var e = e || window.event
170
- // let tarnameb = e.target || e.srcElement
171
- // let maxT = oBox.clientWight - oLine.offsetWidth
172
- // oLine.style.margin = 0
173
- // iT < 0 && (iT = 0)
174
- // iT > maxT && (iT = maxT)
175
- // oLine.style.left = oTop.style.width = iT + "px"
176
- // oBottom.style.width = oBox.clientWidth - iT + "px"
177
- // that.$set('treeWidth', iT)
178
- // return false
179
- // }
180
- // document.onmouseup = function() {
181
- // document.onmousemove = null
182
- // document.onmouseup = null
183
- // oLine.releaseCapture && oLine.releaseCapture()
184
- // }
185
- // oLine.setCapture && oLine.setCapture()
186
- // return false
187
- // }
188
- this.changeShow()
189
- this.gotoWorkOrderSite()
190
- },
191
- methods: {
192
- gotoWorkOrderSite(){
193
- const isRemind =this.$appdata.getSingleValue("站点工单提醒")
194
- console.log('站点工单是否提醒',isRemind)
195
- if(isRemind && isRemind !== '是'){
196
- return
197
- }
198
- if(this.functions.f_role_name.indexOf('派单员') !== -1){
199
- const data = {
200
- "condition":
201
- {
202
- "condition":" 1=1 ",
203
- "sign":"1=1"
204
- },
205
- "userid":this.functions.name
206
- }
207
- new HttpResetClass().load('POST','rs/path/operatorService/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
208
- if(res.data && res.data.n !== 0){
209
- this.$showMessage('你有'+res.data.n+'个工单待处理,是否跳转到站点工单页面',['confirm','cancel']).then((res) => {
210
- if(res === 'confirm'){
211
- this.$goto('stand-work', {})
212
- }
213
- })
214
- }
215
- })
216
- }
217
- },
218
- openUrl() {
219
- var url = `http://123.60.214.109:8406/submitTicket?contact=${this.$login.f.name}&orgName=${this.$login.f.orgs}&phone=${this.$login.f.f_user_telephone}`
220
- window.open(url, '_blank')
221
- },
222
- hindsetting() {
223
- this.setting = !this.setting
224
- if (this.setting) {
225
- this.srcsetting = '../../static/newStyle/setting.png'
226
- } else {
227
- this.srcsetting = '../../static/newStyle/setting1.png'
228
- }
229
-
230
- },
231
- hindsetting1() {
232
-
233
- if (!this.setting) {
234
- this.srcsetting = '../../static/newStyle/setting.png'
235
- this.setting = true
236
- }
237
-
238
- },
239
- isnodo(val) {
240
- console.log(val, 'ss')
241
- this.selecttab = val
242
- },
243
- unfurl() {
244
- if (this.showsum) {
245
- this.showsum = false
246
- } else {
247
- this.showsum = true
248
- }
249
- },
250
- // getElement(id) {
251
- // return document.getElementById(id)
252
- // },
253
- changeShow() {
254
- // this.treeOrIcon = !this.treeOrIcon
255
- // let oBox = this.getElement("box")
256
- // let oTop = this.getElement("top")
257
- // let oBottom = this.getElement("bottom")
258
- // let oLine = this.getElement("line")
259
- // if (this.treeOrIcon) {
260
- // // oLine.style.left = oTop.style.width = 300 + "px"
261
- // oTop.style.width = 150 + "px"
262
- // oBottom.style.width = oBox.clientWidth - 150 + "px"
263
- // }else {
264
- // oLine.style.left = oTop.style.width = 50 + "px"
265
- // oBottom.style.width = oBox.clientWidth - 50 + "px"
266
- // }
267
- // }
268
- this.treeOrIcon = !this.treeOrIcon
269
- // if (this.treeOrIcon) {
270
- // this.$els.top.style.width = 14 + "%"
271
- // this.$els.bottom.style.width = this.$els.box.clientWidth - 14 + "%"
272
- // }else {
273
- // this.$els.top.style.width = 8 + "%"
274
- // this.$els.bottom.style.width = this.$els.box.clientWidth - 8 + "%"
275
- // }
276
- },
277
- changeMain(userid) {
278
- this.$goto('res-main', {userid: this.userid}, 'self')
279
- },
280
- tabChange(name) {
281
- console.log(name, 'tabchanage')
282
- this.selecttab = name
283
- this.$refs.tree.changeSelect(name)
284
- },
285
- tabcg(val) {
286
- console.log(val)
287
- this.tabs = val
288
- },
289
- logOut() {
290
- console.log(this.$login.f)
291
- this.$showMessage('您确定要退出系统吗?', ['confirm', 'cancel']).then(async (res) => {
292
- if (res == 'confirm') {
293
- let data = {
294
- userid: this.$login.f.id,
295
- username: this.$login.f.name,
296
- usertelephone: this.$login.f.f_user_telephone
297
- }
298
- await this.$resetpost('api/af-system/user/logout', data, {resolveMsg: '退出成功', rejectMsg: null})
299
- window.location.reload()
300
- }
301
- })
302
- }
303
- },
304
- computed: {
305
- nowDate() {
306
- return this.$login.getNowDate()
307
- }
308
- }
309
- }
310
- </script>
311
- <style lang="less">
312
-
313
- .logopicaode{
314
- width: 100%;
315
- height: 61px;
316
- float: left;
317
- margin-left: 2.5%;
318
- margin-top: 10px;
319
- }
320
-
321
- .rizhao_img {
322
- height: 150px;
323
- float: right;
324
- width: 200px;
325
- background-size: 400px;
326
- background-repeat: no-repeat;
327
- background-image: url(../../../static/rizhao.png);
328
- background-position: 0px -80px
329
- }
330
-
331
- /* 组件内通用样式 */
332
- .select-error {
333
- button {
334
- border-bottom: 1px solid #a94442 !important;
335
- }
336
- }
337
-
338
- // input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
339
- // -webkit-appearance:textfield;
340
- // }
341
- /* 表单输入框组 */
342
- .form-input-group {
343
- display: flex;
344
-
345
- label {
346
- width: 100px;
347
- text-align: right;
348
-
349
- + * {
350
- flex: 1;
351
- }
352
- }
353
- }
354
-
355
- // 日期组件在表单中沾满
356
- .form-horizontal .datepicker {
357
- width: 100%;
358
- }
359
-
360
- // 下拉选择框占据剩余全部空间
361
- .select-overspread {
362
- .form-group {
363
- // margin: 0px 5px 10px 0px;
364
- .form-control {
365
- margin-right: 0px;
366
- }
367
- }
368
-
369
- .btn-group, .btn-group-vertical {
370
- width: 100%;
371
- // padding-right: 5px;
372
- button {
373
- width: 100%;
374
- display: flex;
375
- justify-content: space-between;
376
- align-items: center;
377
- }
378
- }
379
-
380
- .dropdown-menu {
381
- width: 100%
382
- }
383
- }
384
-
385
- // 需要特定宽度的的样式
386
- .width-60 {
387
- width: 60px;
388
- }
389
-
390
- .userpanel {
391
- font-weight: 300;
392
- color: #333;
393
- position: fixed;
394
- right: 30px;
395
- top: 45px;
396
- background-color: white;
397
- box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
398
- padding: 4px 10px 4px 10px;
399
- border-radius: 2px;
400
- }
401
-
402
- .width-80 {
403
- width: 80px;
404
- }
405
-
406
- .width-100 {
407
- width: 100px;
408
- }
409
-
410
-
411
- /*右侧区域的背景*/
412
- .right-bg {
413
- width: 100%;
414
- flex: 1;
415
- color: #304A66;
416
- }
417
-
418
- .tree-flex {
419
- height: 100%;
420
- // width: 150px;
421
- /*width: 60px;*/
422
- background: #4a7cae;
423
- color: #fff;
424
-
425
- }
426
-
427
- .tree-flex-icon {
428
- width: 50px;
429
- /*transition: 0.5s;*/
430
-
431
- > .span {
432
- overflow-x: visible;
433
- }
434
- }
435
-
436
- .tree-flex h3 {
437
- text-align: center;
438
- margin: 1em 0;
439
- }
440
-
441
- .tree-flex-footer {
442
- height: 50px;
443
- display: flex;
444
- flex-direction: column;
445
- color: #fff;
446
- }
447
-
448
- .tree-flex-footer a, .tree-flex-footer button {
449
- flex: 1;
450
- padding: 8px 5px;
451
- font-size: 1.2em;
452
- // border-top: 1px solid #697D93;
453
- border-top: 1px solid #4a7cae;
454
- text-decoration: none;
455
- color: #fff;
456
- cursor: pointer;
457
- }
458
-
459
- .tree-flex-footer button {
460
- height: auto;
461
- width: 100%;
462
- border-radius: 0px;
463
- background-color: rgba(255, 255, 255, 0);
464
- border: none;
465
- border-top: 1px solid #4a7cae;
466
- // border-top: 1px solid #697D93;
467
- text-align: left;
468
- }
469
-
470
- .tree-flex-footer button:hover {
471
- outline: none;
472
- background-color: rgba(255, 255, 255, 0.2);
473
- }
474
-
475
- .tree-flex-footer button:focus {
476
- outline: none;
477
- background-color: rgba(255, 255, 255, 0.5);
478
- }
479
-
480
- .tree-flex-footer a:hover {
481
- color: #FFF;
482
- background-color: rgba(255, 255, 255, 0.2);
483
- }
484
-
485
- .tree-flex .btn-group {
486
- height: 50px !important;
487
- }
488
-
489
- .tree-flex .dropdown-menu {
490
- /* 控制显示列表的样式 */
491
- background: #4a7cae;
492
- border-radius: 0px;
493
- color: #fff;
494
- width: auto;
495
- margin: 0px;
496
- padding: 0px;
497
- }
498
-
499
- .tree-flex .dropdown-menu-up {
500
- /* bottom,top控制上下,left和right控制左右*/
501
- left: 100% !important;
502
- top: auto !important;
503
- bottom: 0;
504
- }
505
-
506
- .tree-flex .dropdown-menu-down {
507
- /* bottom,top控制上下,left和right控制左右*/
508
- left: 100% !important;
509
- top: 0 !important;
510
- }
511
-
512
- .tree-flex .dropdown-menu li {
513
- text-align: center;
514
- line-height: 50px;
515
- border-bottom: 1px solid #697D93;
516
- font-size: 1.2em;
517
- width: auto;
518
- white-space: nowrap;
519
- cursor: default;
520
-
521
- }
522
-
523
- .tree-flex .dropdown-menu li + li {
524
- text-align: left;
525
- border: 0;
526
- line-height: 40px;
527
- padding-left: 15px;
528
- padding-right: 15px;
529
- font-size: 1em;
530
- cursor: pointer;
531
- }
532
-
533
- .tree-flex .dropdown-menu li + li:hover {
534
- background-color: rgba(255, 255, 255, 0.2);
535
- }
536
-
537
- .tree-flex .dropdown-menu li a {
538
- border: none;
539
- color: #fff;
540
- height: 40px;
541
- line-height: 40px;
542
- font-size: 1em;
543
- padding: 0px;
544
- }
545
-
546
- .tree-flex .dropdown-menu li a:hover {
547
- color: #fff;
548
- background-color: rgba(255, 255, 255, 0);
549
- }
550
-
551
- .tree-flex img {
552
- height: 1.2em;
553
- width: 1.2em;
554
- margin-right: 15px;
555
- margin-left: 5px;
556
- }
557
-
558
- .line {
559
- height: 100%;
560
- width: 5px;
561
- background: #4C637B;
562
- cursor: e-resize;
563
- }
564
-
565
- /*为树(tree)组件写的样式*/
566
- .tree-img {
567
- font-size: 1.2em;
568
- }
569
-
570
- /*将较长信息截断显示,鼠标悬停显示全部信息*/
571
- .cutout50 {
572
- max-width: 50px;
573
- overflow: hidden;
574
- text-overflow: ellipsis;
575
- white-space: nowrap;
576
- }
577
-
578
- /* 滚动条样式 */
579
- /*---滚动条默认显示样式--*/
580
- ::-webkit-scrollbar-thumb {
581
- // display: none;
582
- background-color: rgba(0, 0, 0, 0.4);
583
- /*background-color:red;*/
584
- height: 50px;
585
- outline-offset: -2px;
586
- /*outline:2px solid #fff;*/
587
- -webkit-border-radius: 4px;
588
- /*border: 2px solid #fff;*/
589
- }
590
-
591
- /*---鼠标点击滚动条显示样式--*/
592
- ::-webkit-scrollbar-thumb:hover {
593
- // display: inherit;
594
- background-color: rgba(0, 0, 0, 0.4);
595
- height: 50px;
596
- -webkit-border-radius: 4px;
597
- }
598
-
599
- /*---滚动条大小--*/
600
- ::-webkit-scrollbar {
601
- width: 8px;
602
- height: 8px;
603
- }
604
-
605
- /*---滚动框背景样式--*/
606
- ::-webkit-scrollbar-track-piece {
607
- /* 全透明,不显示 */
608
- background-color: rgba(255, 255, 255, 0);
609
- -webkit-border-radius: 0;
610
- }
611
- </style>
1
+ <template>
2
+ <div @click="hindsetting1()" :class="{'with-watermark':showwatermakeflag}">
3
+ <div class='flex-row system-main' id="box" v-el:box v-if="!isManger">
4
+ <div class="auto login-operator1" v-if="$refs.mic.tabs.length === 0">
5
+ <span>
6
+ <img
7
+ src="../../assets/people.png" height="15" width="15">
8
+ 登录人:</span>
9
+ <label>{{ orgpathnames }}</label>
10
+ </div>
11
+ <div class="system-left tree-flex" :class="{'tree-flex-icon': !treeOrIcon}" id="top" v-el:top>
12
+ <div class="system-left-chi" :class="{'system-left-icon': !treeOrIcon}">
13
+ <div class="span system-left-tree " style="height:85%">
14
+ <div class="logopicaode" >
15
+ <div class="rizhao_img"></div>
16
+ </div>
17
+ <left-tree :functions='functions.functions' :userid='userid' @isnodo="isnodo" v-show="treeOrIcon"
18
+ :tabs="tabs" v-ref:tree></left-tree>
19
+ </div>
20
+
21
+ <div class="tree-flex-footer">
22
+ <dropdown class="auto">
23
+ <button type="button" data-toggle="dropdown">
24
+ <img :src="imgs.set" alt=""><span v-if="treeOrIcon">系统设置</span>
25
+ </button>
26
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-up">
27
+ <li>系统信息及设置</li>
28
+ <!-- <li>{{name}}</li> -->
29
+ <li>{{ date }}</li>
30
+ <li @click="show=true">修改密码</li>
31
+ <li @click="AddChangeMsgShow=true">系统版本:1.0.0</li>
32
+ <li @click="openUrl()">售后服务</li>
33
+ </ul>
34
+
35
+ </dropdown>
36
+ <a href="index.html" @click.prevent="logOut">
37
+ <img :src="imgs.out" alt=""><span v-if="treeOrIcon">退出系统</span>
38
+ </a>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ <div class="flex right-bg system-right" id="bottom" v-el:bottom>
43
+ <div class="span">
44
+ <echarts-box v-if="$refs.mic.tabs.length === 0"></echarts-box>
45
+ <dynamic :comps='[]' name='main' :selecttab.sync="selecttab" :orgpathnames="orgpathnames"
46
+ @tab-changed="tabChange" @tabscg="tabcg" v-ref:mic v-show="!($refs.mic.tabs.length === 0)"></dynamic>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div v-show="isManger">
51
+ <route v-ref:route></route>
52
+ </div>
53
+ <!-- 变更录入 模态框 -->
54
+ <add-changemsg :show="AddChangeMsgShow" v-on:toggle="AddChangeMsgShow = false"></add-changemsg>
55
+ <!-- 修改密码组件 -->
56
+ <modify-pw :show.sync="show" v-if="show"></modify-pw>
57
+ <!-- 修改密码模态框 -->
58
+ </div>
59
+ </template>
60
+
61
+ <script>
62
+ import vue from 'vue'
63
+ import co from 'co'
64
+ import {HttpResetClass} from "vue-client";
65
+
66
+ let getwartermakr = async function (self) {
67
+ let param = {
68
+ tablename: 't_singlevalue',
69
+ condition: " 1=1 and name=\'水印内容\'"
70
+ };
71
+ let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
72
+ if (result && result.data.length > 0) {
73
+ self.showwatermakeflag = true;
74
+ createWaterMark(result.data[0].value);
75
+ } else {
76
+ self.showwatermakeflag = false;
77
+ }
78
+ }
79
+
80
+ let createWaterMark = function (userName) {
81
+ let style;
82
+ if (style) style.remove();
83
+ let width = window.parseInt(document.body.clientWidth);
84
+ let canvasWidth = width / window.parseInt(width / 320);
85
+ let fontFamily = window.getComputedStyle(document.body)["font-family"];
86
+ let canvas = document.createElement("canvas");
87
+ canvas.width = canvasWidth;
88
+ canvas.height = 200;
89
+ let ctx = canvas.getContext("2d");
90
+ ctx.rotate((-20 * Math.PI) / 180);
91
+ ctx.font = `20px ${fontFamily}`;
92
+ ctx.fillStyle = "rgba(8,8,8,.1)";
93
+ ctx.fillText(userName, 50, 200);
94
+ let imgSrc = canvas.toDataURL("image/png");
95
+ style = document.createElement("style");
96
+ style.innerHTML = `.with-watermark:before{
97
+ content: "";
98
+ width: 100%;
99
+ height: 100%;
100
+ display: block;
101
+ position: absolute;
102
+ background-image: url("${imgSrc}");
103
+ }`;
104
+ (document.head.append || document.head.appendChild).apply(document.head, [style]);
105
+ }
106
+
107
+ window.onunload = () => {
108
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
109
+ }
110
+ window.onbeforeunload = () => {
111
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
112
+ }
113
+ export default {
114
+ title: '主界面',
115
+ props: ['functions', 'userid'],
116
+ data() {
117
+ return {
118
+ // 左侧树下部三个小图标
119
+ imgs: {
120
+ open: '/images/lefticon/菜单伸缩.png',
121
+ set: '/images/lefticon/系统设置.png',
122
+ out: '/images/lefticon/退出系统.png',
123
+ img1: '/images/newStyle/login-user.png',
124
+ logoimg: '/static/newStyle/fife.png'
125
+ // img2: '/images/lefticon/退出系统.png',
126
+ },
127
+ treeOrIcon: false,
128
+ isManger: false,
129
+ show: false,
130
+ orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
131
+ systemname: '客服系统',
132
+ date: this.$login.toStandardDateString(),
133
+ tabs: [], //已初始化页签数组
134
+ selecttab: '',
135
+ setting: true,
136
+ srcsetting: '../../static/newStyle/setting.png',
137
+ showwatermakeflag: false,
138
+ // headerHint: true, // 右侧顶部提示信息
139
+ // value: 25645.26,
140
+ // AddChangeMsgShow: false,
141
+ // showsum: false
142
+ }
143
+ },
144
+ ready() {
145
+ getwartermakr(this);
146
+ let component = this.$login.getUrlCompileParames('component')
147
+ if (component) {
148
+ this.isManger = true
149
+ this.$refs.route.init(component, {data: this.functions.functions})
150
+ }
151
+ if (this.$login.f.password == '1') {
152
+ this.$showMessage('本地登录系统为此账户的初始密码,请确认修改密码!!!', ['confirm', 'cancel']).then((res) => {
153
+ if (res == 'confirm')
154
+ this.show = true
155
+ })
156
+ }
157
+ console.log("系统名称", this.$appdata.getSingleValue("系统名称"))
158
+ this.systemname = this.$appdata.getSingleValue("系统名称") ? this.$appdata.getSingleValue("系统名称") : '客服系统'
159
+ // let oBox = this.getElement("box")
160
+ // let oTop = this.getElement("top")
161
+ // let oBottom = this.getElement("bottom")
162
+ // let oLine = this.getElement("line")
163
+ // let that = this
164
+ // oLine.onmousedown = function(e) {
165
+ // let disX = (e || event).clientX
166
+ // oLine.left = oLine.offsetLeft
167
+ // document.onmousemove = function(e) {
168
+ // let iT = oLine.left + ((e || event).clientX - disX)
169
+ // var e = e || window.event
170
+ // let tarnameb = e.target || e.srcElement
171
+ // let maxT = oBox.clientWight - oLine.offsetWidth
172
+ // oLine.style.margin = 0
173
+ // iT < 0 && (iT = 0)
174
+ // iT > maxT && (iT = maxT)
175
+ // oLine.style.left = oTop.style.width = iT + "px"
176
+ // oBottom.style.width = oBox.clientWidth - iT + "px"
177
+ // that.$set('treeWidth', iT)
178
+ // return false
179
+ // }
180
+ // document.onmouseup = function() {
181
+ // document.onmousemove = null
182
+ // document.onmouseup = null
183
+ // oLine.releaseCapture && oLine.releaseCapture()
184
+ // }
185
+ // oLine.setCapture && oLine.setCapture()
186
+ // return false
187
+ // }
188
+ this.changeShow()
189
+ this.gotoWorkOrderSite()
190
+ },
191
+ methods: {
192
+ gotoWorkOrderSite(){
193
+ const isRemind =this.$appdata.getSingleValue("站点工单提醒")
194
+ console.log('站点工单是否提醒',isRemind)
195
+ if(isRemind && isRemind !== '是'){
196
+ return
197
+ }
198
+ if(this.functions.f_role_name.indexOf('派单员') !== -1){
199
+ const data = {
200
+ "condition":
201
+ {
202
+ "condition":" 1=1 ",
203
+ "sign":"1=1"
204
+ },
205
+ "userid":this.functions.name
206
+ }
207
+ new HttpResetClass().load('POST','rs/path/operatorService/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
208
+ if(res.data && res.data.n !== 0){
209
+ this.$showMessage('你有'+res.data.n+'个工单待处理,是否跳转到站点工单页面',['confirm','cancel']).then((res) => {
210
+ if(res === 'confirm'){
211
+ this.$goto('stand-work', {})
212
+ }
213
+ })
214
+ }
215
+ })
216
+ }
217
+ },
218
+ openUrl() {
219
+ var url = `http://123.60.214.109:8406/submitTicket?contact=${this.$login.f.name}&orgName=${this.$login.f.orgs}&phone=${this.$login.f.f_user_telephone}`
220
+ window.open(url, '_blank')
221
+ },
222
+ hindsetting() {
223
+ this.setting = !this.setting
224
+ if (this.setting) {
225
+ this.srcsetting = '../../static/newStyle/setting.png'
226
+ } else {
227
+ this.srcsetting = '../../static/newStyle/setting1.png'
228
+ }
229
+
230
+ },
231
+ hindsetting1() {
232
+
233
+ if (!this.setting) {
234
+ this.srcsetting = '../../static/newStyle/setting.png'
235
+ this.setting = true
236
+ }
237
+
238
+ },
239
+ isnodo(val) {
240
+ console.log(val, 'ss')
241
+ this.selecttab = val
242
+ },
243
+ unfurl() {
244
+ if (this.showsum) {
245
+ this.showsum = false
246
+ } else {
247
+ this.showsum = true
248
+ }
249
+ },
250
+ // getElement(id) {
251
+ // return document.getElementById(id)
252
+ // },
253
+ changeShow() {
254
+ // this.treeOrIcon = !this.treeOrIcon
255
+ // let oBox = this.getElement("box")
256
+ // let oTop = this.getElement("top")
257
+ // let oBottom = this.getElement("bottom")
258
+ // let oLine = this.getElement("line")
259
+ // if (this.treeOrIcon) {
260
+ // // oLine.style.left = oTop.style.width = 300 + "px"
261
+ // oTop.style.width = 150 + "px"
262
+ // oBottom.style.width = oBox.clientWidth - 150 + "px"
263
+ // }else {
264
+ // oLine.style.left = oTop.style.width = 50 + "px"
265
+ // oBottom.style.width = oBox.clientWidth - 50 + "px"
266
+ // }
267
+ // }
268
+ this.treeOrIcon = !this.treeOrIcon
269
+ // if (this.treeOrIcon) {
270
+ // this.$els.top.style.width = 14 + "%"
271
+ // this.$els.bottom.style.width = this.$els.box.clientWidth - 14 + "%"
272
+ // }else {
273
+ // this.$els.top.style.width = 8 + "%"
274
+ // this.$els.bottom.style.width = this.$els.box.clientWidth - 8 + "%"
275
+ // }
276
+ },
277
+ changeMain(userid) {
278
+ this.$goto('res-main', {userid: this.userid}, 'self')
279
+ },
280
+ tabChange(name) {
281
+ console.log(name, 'tabchanage')
282
+ this.selecttab = name
283
+ this.$refs.tree.changeSelect(name)
284
+ },
285
+ tabcg(val) {
286
+ console.log(val)
287
+ this.tabs = val
288
+ },
289
+ logOut() {
290
+ console.log(this.$login.f)
291
+ this.$showMessage('您确定要退出系统吗?', ['confirm', 'cancel']).then(async (res) => {
292
+ if (res == 'confirm') {
293
+ let data = {
294
+ userid: this.$login.f.id,
295
+ username: this.$login.f.name,
296
+ usertelephone: this.$login.f.f_user_telephone
297
+ }
298
+ await this.$resetpost('api/af-system/user/logout', data, {resolveMsg: '退出成功', rejectMsg: null})
299
+ window.location.reload()
300
+ }
301
+ })
302
+ }
303
+ },
304
+ computed: {
305
+ nowDate() {
306
+ return this.$login.getNowDate()
307
+ }
308
+ }
309
+ }
310
+ </script>
311
+ <style lang="less">
312
+
313
+ .logopicaode{
314
+ width: 100%;
315
+ height: 61px;
316
+ float: left;
317
+ margin-left: 2.5%;
318
+ margin-top: 10px;
319
+ }
320
+
321
+ .rizhao_img {
322
+ height: 150px;
323
+ float: right;
324
+ width: 200px;
325
+ background-size: 400px;
326
+ background-repeat: no-repeat;
327
+ background-image: url(../../../static/rizhao.png);
328
+ background-position: 0px -80px
329
+ }
330
+
331
+ /* 组件内通用样式 */
332
+ .select-error {
333
+ button {
334
+ border-bottom: 1px solid #a94442 !important;
335
+ }
336
+ }
337
+
338
+ // input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
339
+ // -webkit-appearance:textfield;
340
+ // }
341
+ /* 表单输入框组 */
342
+ .form-input-group {
343
+ display: flex;
344
+
345
+ label {
346
+ width: 100px;
347
+ text-align: right;
348
+
349
+ + * {
350
+ flex: 1;
351
+ }
352
+ }
353
+ }
354
+
355
+ // 日期组件在表单中沾满
356
+ .form-horizontal .datepicker {
357
+ width: 100%;
358
+ }
359
+
360
+ // 下拉选择框占据剩余全部空间
361
+ .select-overspread {
362
+ .form-group {
363
+ // margin: 0px 5px 10px 0px;
364
+ .form-control {
365
+ margin-right: 0px;
366
+ }
367
+ }
368
+
369
+ .btn-group, .btn-group-vertical {
370
+ width: 100%;
371
+ // padding-right: 5px;
372
+ button {
373
+ width: 100%;
374
+ display: flex;
375
+ justify-content: space-between;
376
+ align-items: center;
377
+ }
378
+ }
379
+
380
+ .dropdown-menu {
381
+ width: 100%
382
+ }
383
+ }
384
+
385
+ // 需要特定宽度的的样式
386
+ .width-60 {
387
+ width: 60px;
388
+ }
389
+
390
+ .userpanel {
391
+ font-weight: 300;
392
+ color: #333;
393
+ position: fixed;
394
+ right: 30px;
395
+ top: 45px;
396
+ background-color: white;
397
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
398
+ padding: 4px 10px 4px 10px;
399
+ border-radius: 2px;
400
+ }
401
+
402
+ .width-80 {
403
+ width: 80px;
404
+ }
405
+
406
+ .width-100 {
407
+ width: 100px;
408
+ }
409
+
410
+
411
+ /*右侧区域的背景*/
412
+ .right-bg {
413
+ width: 100%;
414
+ flex: 1;
415
+ color: #304A66;
416
+ }
417
+
418
+ .tree-flex {
419
+ height: 100%;
420
+ // width: 150px;
421
+ /*width: 60px;*/
422
+ background: #4a7cae;
423
+ color: #fff;
424
+
425
+ }
426
+
427
+ .tree-flex-icon {
428
+ width: 50px;
429
+ /*transition: 0.5s;*/
430
+
431
+ > .span {
432
+ overflow-x: visible;
433
+ }
434
+ }
435
+
436
+ .tree-flex h3 {
437
+ text-align: center;
438
+ margin: 1em 0;
439
+ }
440
+
441
+ .tree-flex-footer {
442
+ height: 50px;
443
+ display: flex;
444
+ flex-direction: column;
445
+ color: #fff;
446
+ }
447
+
448
+ .tree-flex-footer a, .tree-flex-footer button {
449
+ flex: 1;
450
+ padding: 8px 5px;
451
+ font-size: 1.2em;
452
+ // border-top: 1px solid #697D93;
453
+ border-top: 1px solid #4a7cae;
454
+ text-decoration: none;
455
+ color: #fff;
456
+ cursor: pointer;
457
+ }
458
+
459
+ .tree-flex-footer button {
460
+ height: auto;
461
+ width: 100%;
462
+ border-radius: 0px;
463
+ background-color: rgba(255, 255, 255, 0);
464
+ border: none;
465
+ border-top: 1px solid #4a7cae;
466
+ // border-top: 1px solid #697D93;
467
+ text-align: left;
468
+ }
469
+
470
+ .tree-flex-footer button:hover {
471
+ outline: none;
472
+ background-color: rgba(255, 255, 255, 0.2);
473
+ }
474
+
475
+ .tree-flex-footer button:focus {
476
+ outline: none;
477
+ background-color: rgba(255, 255, 255, 0.5);
478
+ }
479
+
480
+ .tree-flex-footer a:hover {
481
+ color: #FFF;
482
+ background-color: rgba(255, 255, 255, 0.2);
483
+ }
484
+
485
+ .tree-flex .btn-group {
486
+ height: 50px !important;
487
+ }
488
+
489
+ .tree-flex .dropdown-menu {
490
+ /* 控制显示列表的样式 */
491
+ background: #4a7cae;
492
+ border-radius: 0px;
493
+ color: #fff;
494
+ width: auto;
495
+ margin: 0px;
496
+ padding: 0px;
497
+ }
498
+
499
+ .tree-flex .dropdown-menu-up {
500
+ /* bottom,top控制上下,left和right控制左右*/
501
+ left: 100% !important;
502
+ top: auto !important;
503
+ bottom: 0;
504
+ }
505
+
506
+ .tree-flex .dropdown-menu-down {
507
+ /* bottom,top控制上下,left和right控制左右*/
508
+ left: 100% !important;
509
+ top: 0 !important;
510
+ }
511
+
512
+ .tree-flex .dropdown-menu li {
513
+ text-align: center;
514
+ line-height: 50px;
515
+ border-bottom: 1px solid #697D93;
516
+ font-size: 1.2em;
517
+ width: auto;
518
+ white-space: nowrap;
519
+ cursor: default;
520
+
521
+ }
522
+
523
+ .tree-flex .dropdown-menu li + li {
524
+ text-align: left;
525
+ border: 0;
526
+ line-height: 40px;
527
+ padding-left: 15px;
528
+ padding-right: 15px;
529
+ font-size: 1em;
530
+ cursor: pointer;
531
+ }
532
+
533
+ .tree-flex .dropdown-menu li + li:hover {
534
+ background-color: rgba(255, 255, 255, 0.2);
535
+ }
536
+
537
+ .tree-flex .dropdown-menu li a {
538
+ border: none;
539
+ color: #fff;
540
+ height: 40px;
541
+ line-height: 40px;
542
+ font-size: 1em;
543
+ padding: 0px;
544
+ }
545
+
546
+ .tree-flex .dropdown-menu li a:hover {
547
+ color: #fff;
548
+ background-color: rgba(255, 255, 255, 0);
549
+ }
550
+
551
+ .tree-flex img {
552
+ height: 1.2em;
553
+ width: 1.2em;
554
+ margin-right: 15px;
555
+ margin-left: 5px;
556
+ }
557
+
558
+ .line {
559
+ height: 100%;
560
+ width: 5px;
561
+ background: #4C637B;
562
+ cursor: e-resize;
563
+ }
564
+
565
+ /*为树(tree)组件写的样式*/
566
+ .tree-img {
567
+ font-size: 1.2em;
568
+ }
569
+
570
+ /*将较长信息截断显示,鼠标悬停显示全部信息*/
571
+ .cutout50 {
572
+ max-width: 50px;
573
+ overflow: hidden;
574
+ text-overflow: ellipsis;
575
+ white-space: nowrap;
576
+ }
577
+
578
+ /* 滚动条样式 */
579
+ /*---滚动条默认显示样式--*/
580
+ ::-webkit-scrollbar-thumb {
581
+ // display: none;
582
+ background-color: rgba(0, 0, 0, 0.4);
583
+ /*background-color:red;*/
584
+ height: 50px;
585
+ outline-offset: -2px;
586
+ /*outline:2px solid #fff;*/
587
+ -webkit-border-radius: 4px;
588
+ /*border: 2px solid #fff;*/
589
+ }
590
+
591
+ /*---鼠标点击滚动条显示样式--*/
592
+ ::-webkit-scrollbar-thumb:hover {
593
+ // display: inherit;
594
+ background-color: rgba(0, 0, 0, 0.4);
595
+ height: 50px;
596
+ -webkit-border-radius: 4px;
597
+ }
598
+
599
+ /*---滚动条大小--*/
600
+ ::-webkit-scrollbar {
601
+ width: 8px;
602
+ height: 8px;
603
+ }
604
+
605
+ /*---滚动框背景样式--*/
606
+ ::-webkit-scrollbar-track-piece {
607
+ /* 全透明,不显示 */
608
+ background-color: rgba(255, 255, 255, 0);
609
+ -webkit-border-radius: 0;
610
+ }
611
+ </style>