system-clients 3.2.63-jingwei → 3.2.64-wuhai

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