system-clients 3.2.25 → 3.2.26

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 (219) hide show
  1. package/build/example-server.js +80 -80
  2. package/build/utils.js +71 -71
  3. package/index.html +21 -21
  4. package/package.json +1 -1
  5. package/src/App.vue +24 -24
  6. package/src/assets/point.png +0 -0
  7. package/src/assets/refresh.png +0 -0
  8. package/src/components/server/Login.vue +535 -535
  9. package/src/filiale/chengtou/Login.vue +537 -537
  10. package/src/filiale/qianneng/Main.vue +816 -0
  11. package/src/filiale/qianneng/system.js +2 -1
  12. package/.gradle/7.3/checksums/checksums.lock +0 -0
  13. package/.gradle/7.3/dependencies-accessors/dependencies-accessors.lock +0 -0
  14. package/.gradle/7.3/dependencies-accessors/gc.properties +0 -0
  15. package/.gradle/7.3/executionHistory/executionHistory.lock +0 -0
  16. package/.gradle/7.3/fileChanges/last-build.bin +0 -0
  17. package/.gradle/7.3/fileHashes/fileHashes.lock +0 -0
  18. package/.gradle/7.3/gc.properties +0 -0
  19. package/.gradle/7.4/checksums/checksums.lock +0 -0
  20. package/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  21. package/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
  22. package/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
  23. package/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  24. package/.gradle/7.4/fileChanges/last-build.bin +0 -0
  25. package/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  26. package/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  27. package/.gradle/7.4/gc.properties +0 -0
  28. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  29. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  30. package/.gradle/file-system.probe +0 -0
  31. package/.gradle/vcs-1/gc.properties +0 -0
  32. package/dist/index.html +0 -3
  33. package/dist/mergeUser/1.ec8612159ccab10397e0.js +0 -3
  34. package/dist/mergeUser/1.ec8612159ccab10397e0.js.map +0 -1
  35. package/dist/mergeUser/10.148fe8c37cb1fb8e3f6e.js +0 -2
  36. package/dist/mergeUser/10.148fe8c37cb1fb8e3f6e.js.map +0 -1
  37. package/dist/mergeUser/11.7e9a2ba6424da45d0dca.js +0 -2
  38. package/dist/mergeUser/11.7e9a2ba6424da45d0dca.js.map +0 -1
  39. package/dist/mergeUser/12.b4a381aff0b7c4f02693.js +0 -2
  40. package/dist/mergeUser/12.b4a381aff0b7c4f02693.js.map +0 -1
  41. package/dist/mergeUser/13.fdac10427f24d5f7a28b.js +0 -2
  42. package/dist/mergeUser/13.fdac10427f24d5f7a28b.js.map +0 -1
  43. package/dist/mergeUser/14.28baad6991fe5204ead3.js +0 -2
  44. package/dist/mergeUser/14.28baad6991fe5204ead3.js.map +0 -1
  45. package/dist/mergeUser/15.530a897a2997812c5418.js +0 -2
  46. package/dist/mergeUser/15.530a897a2997812c5418.js.map +0 -1
  47. package/dist/mergeUser/16.92407bef5fa073457109.js +0 -2
  48. package/dist/mergeUser/16.92407bef5fa073457109.js.map +0 -1
  49. package/dist/mergeUser/17.7064906a84da8b1132f3.js +0 -2
  50. package/dist/mergeUser/17.7064906a84da8b1132f3.js.map +0 -1
  51. package/dist/mergeUser/18.5212677506a93ebdda30.js +0 -2
  52. package/dist/mergeUser/18.5212677506a93ebdda30.js.map +0 -1
  53. package/dist/mergeUser/19.0d1f021e239b50e11922.js +0 -2
  54. package/dist/mergeUser/19.0d1f021e239b50e11922.js.map +0 -1
  55. package/dist/mergeUser/2.68dcd0f5cf09c3c9b495.js +0 -2
  56. package/dist/mergeUser/2.68dcd0f5cf09c3c9b495.js.map +0 -1
  57. package/dist/mergeUser/20.a4e259281f32352cb5b4.js +0 -2
  58. package/dist/mergeUser/20.a4e259281f32352cb5b4.js.map +0 -1
  59. package/dist/mergeUser/21.d5155651f0bf9781cb1d.js +0 -2
  60. package/dist/mergeUser/21.d5155651f0bf9781cb1d.js.map +0 -1
  61. package/dist/mergeUser/22.491e9e1f20d2e09cfced.js +0 -2
  62. package/dist/mergeUser/22.491e9e1f20d2e09cfced.js.map +0 -1
  63. package/dist/mergeUser/23.03585ac83d286f486505.js +0 -2
  64. package/dist/mergeUser/23.03585ac83d286f486505.js.map +0 -1
  65. package/dist/mergeUser/24.2e857ab5131ae7929579.js +0 -2
  66. package/dist/mergeUser/24.2e857ab5131ae7929579.js.map +0 -1
  67. package/dist/mergeUser/25.0cef277d3fbe58974482.js +0 -2
  68. package/dist/mergeUser/25.0cef277d3fbe58974482.js.map +0 -1
  69. package/dist/mergeUser/26.dd4cb597baeee630bf8a.js +0 -2
  70. package/dist/mergeUser/26.dd4cb597baeee630bf8a.js.map +0 -1
  71. package/dist/mergeUser/27.758f969d1b5fb5330535.js +0 -2
  72. package/dist/mergeUser/27.758f969d1b5fb5330535.js.map +0 -1
  73. package/dist/mergeUser/28.b2528ba6a73466d5f4ff.js +0 -2
  74. package/dist/mergeUser/28.b2528ba6a73466d5f4ff.js.map +0 -1
  75. package/dist/mergeUser/29.3a0579c09ff8818604c6.js +0 -2
  76. package/dist/mergeUser/29.3a0579c09ff8818604c6.js.map +0 -1
  77. package/dist/mergeUser/3.b39fbc18d49ee3ab6d81.js +0 -2
  78. package/dist/mergeUser/3.b39fbc18d49ee3ab6d81.js.map +0 -1
  79. package/dist/mergeUser/30.cda297fd79303a0cf811.js +0 -2
  80. package/dist/mergeUser/30.cda297fd79303a0cf811.js.map +0 -1
  81. package/dist/mergeUser/4.701439cc3f1cfff59754.js +0 -2
  82. package/dist/mergeUser/4.701439cc3f1cfff59754.js.map +0 -1
  83. package/dist/mergeUser/5.5c25c3d20cbedd4c21c0.js +0 -2
  84. package/dist/mergeUser/5.5c25c3d20cbedd4c21c0.js.map +0 -1
  85. package/dist/mergeUser/6.7cab81f5a59eaaf69716.js +0 -2
  86. package/dist/mergeUser/6.7cab81f5a59eaaf69716.js.map +0 -1
  87. package/dist/mergeUser/7.188dfa97c774a528e98b.js +0 -2
  88. package/dist/mergeUser/7.188dfa97c774a528e98b.js.map +0 -1
  89. package/dist/mergeUser/8.605fb0f1f16be5a7eab8.js +0 -3
  90. package/dist/mergeUser/8.605fb0f1f16be5a7eab8.js.map +0 -1
  91. package/dist/mergeUser/9.2d1930cad76557118a2e.js +0 -2
  92. package/dist/mergeUser/9.2d1930cad76557118a2e.js.map +0 -1
  93. package/dist/mergeUser/about-us.png +0 -0
  94. package/dist/mergeUser/app.css +0 -2
  95. package/dist/mergeUser/app.css.map +0 -1
  96. package/dist/mergeUser/appfcaece0f38004cc29bb0.js +0 -84
  97. package/dist/mergeUser/appfcaece0f38004cc29bb0.js.map +0 -1
  98. package/dist/mergeUser/backgroundImage.png +0 -0
  99. package/dist/mergeUser/chengtou-logo.jpg +0 -0
  100. package/dist/mergeUser/dg-about-us.png +0 -0
  101. package/dist/mergeUser/dongguan1.png +0 -0
  102. package/dist/mergeUser/gasAnalysis.png +0 -0
  103. package/dist/mergeUser/gasAnalysis1.png +0 -0
  104. package/dist/mergeUser/gasCustomerService.png +0 -0
  105. package/dist/mergeUser/gasCustomerService1.png +0 -0
  106. package/dist/mergeUser/gasLargeScreen.png +0 -0
  107. package/dist/mergeUser/gasLargeScreen1.png +0 -0
  108. package/dist/mergeUser/gasProduction.png +0 -0
  109. package/dist/mergeUser/gasProduction1.png +0 -0
  110. package/dist/mergeUser/gasSupervise.png +0 -0
  111. package/dist/mergeUser/gasSupervise1.png +0 -0
  112. package/dist/mergeUser/glyphicons-halflings-regular.eot +0 -0
  113. package/dist/mergeUser/glyphicons-halflings-regular.svg +0 -288
  114. package/dist/mergeUser/glyphicons-halflings-regular.ttf +0 -0
  115. package/dist/mergeUser/glyphicons-halflings-regular.woff +0 -0
  116. package/dist/mergeUser/glyphicons-halflings-regular.woff2 +0 -0
  117. package/dist/mergeUser/login-do.gif +0 -0
  118. package/dist/mergeUser/login-left.png +0 -0
  119. package/dist/mergeUser/loginbg.gif +0 -0
  120. package/dist/mergeUser/loginbg1280.gif +0 -0
  121. package/dist/mergeUser/loginbg1366.gif +0 -0
  122. package/dist/mergeUser/logo.png +0 -0
  123. package/dist/mergeUser/rizhao.png +0 -0
  124. package/dist/static/.gitkeep +0 -0
  125. package/dist/static/batchleft.png +0 -0
  126. package/dist/static/batchright.png +0 -0
  127. package/dist/static/bluemainbg.jpg +0 -0
  128. package/dist/static/guangxi/backgroundImage.png +0 -0
  129. package/dist/static/guangxi/ename.png +0 -0
  130. package/dist/static/guangxi/enameCopy.png +0 -0
  131. package/dist/static/guangxi/gasAnalysis.png +0 -0
  132. package/dist/static/guangxi/gasAnalysis1.png +0 -0
  133. package/dist/static/guangxi/gasCustomerService.png +0 -0
  134. package/dist/static/guangxi/gasCustomerService1.png +0 -0
  135. package/dist/static/guangxi/gasLargeScreen.png +0 -0
  136. package/dist/static/guangxi/gasLargeScreen1.png +0 -0
  137. package/dist/static/guangxi/gasProduction.png +0 -0
  138. package/dist/static/guangxi/gasProduction1.png +0 -0
  139. package/dist/static/guangxi/gasSupervise.png +0 -0
  140. package/dist/static/guangxi/gasSupervise1.png +0 -0
  141. package/dist/static/guangxi/password.png +0 -0
  142. package/dist/static/guangxi/passwordCopy.png +0 -0
  143. package/dist/static/guangxi/verificationCode.png +0 -0
  144. package/dist/static/guangxi/verificationCodeCopy.png +0 -0
  145. package/dist/static/huangtengbiaozhi.png +0 -0
  146. package/dist/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  147. package/dist/static/images/lefticon//345/220/210/345/220/214/347/256/241/347/220/206.png +0 -0
  148. package/dist/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  149. package/dist/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  150. package/dist/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  151. package/dist/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  152. package/dist/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  153. package/dist/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  154. package/dist/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  155. package/dist/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  156. package/dist/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  157. package/dist/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  158. package/dist/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  159. package/dist/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  160. package/dist/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  161. package/dist/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  162. package/dist/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  163. package/dist/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  164. package/dist/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  165. package/dist/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  166. package/dist/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  167. package/dist/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  168. package/dist/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  169. package/dist/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  170. package/dist/static/login_bg.jpg +0 -0
  171. package/dist/static/login_title.png +0 -0
  172. package/dist/static/login_title1.png +0 -0
  173. package/dist/static/loginbg.jpg +0 -0
  174. package/dist/static/loginlogo.png +0 -0
  175. package/dist/static/logo.png +0 -0
  176. package/dist/static/main_logo.png +0 -0
  177. package/dist/static/mainbg.jpg +0 -0
  178. package/dist/static/menulogo.png +0 -0
  179. package/dist/static/newStyle/about-us.png +0 -0
  180. package/dist/static/newStyle/chengtou-logo.jpg +0 -0
  181. package/dist/static/newStyle/clear.png +0 -0
  182. package/dist/static/newStyle/dg-about-us.png +0 -0
  183. package/dist/static/newStyle/dongguan1.png +0 -0
  184. package/dist/static/newStyle/fife.png +0 -0
  185. package/dist/static/newStyle/hidden.png +0 -0
  186. package/dist/static/newStyle/label-clear.png +0 -0
  187. package/dist/static/newStyle/left-img.png +0 -0
  188. package/dist/static/newStyle/list_ok.png +0 -0
  189. package/dist/static/newStyle/login-check.png +0 -0
  190. package/dist/static/newStyle/login-con.png +0 -0
  191. package/dist/static/newStyle/login-do.gif +0 -0
  192. package/dist/static/newStyle/login-f.png +0 -0
  193. package/dist/static/newStyle/login-info.png +0 -0
  194. package/dist/static/newStyle/login-left.png +0 -0
  195. package/dist/static/newStyle/login-org.png +0 -0
  196. package/dist/static/newStyle/login-pwd.png +0 -0
  197. package/dist/static/newStyle/login-user.png +0 -0
  198. package/dist/static/newStyle/loginbg.gif +0 -0
  199. package/dist/static/newStyle/loginbg1280.gif +0 -0
  200. package/dist/static/newStyle/loginbg1366.gif +0 -0
  201. package/dist/static/newStyle/setting.png +0 -0
  202. package/dist/static/newStyle/shirk.png +0 -0
  203. package/dist/static/newStyle/stretch_bottom.png +0 -0
  204. package/dist/static/newStyle/stretch_left.png +0 -0
  205. package/dist/static/newStyle/stretch_right.png +0 -0
  206. package/dist/static/newStyle/stretch_top.png +0 -0
  207. package/dist/static/newStyle/system-off.png +0 -0
  208. package/dist/static/newmainbg.jpg +0 -0
  209. package/dist/static/psicon.png +0 -0
  210. package/dist/static/rizhao.png +0 -0
  211. package/dist/static/singleleft.png +0 -0
  212. package/dist/static/singleright.png +0 -0
  213. package/dist/static/treeopen.png +0 -0
  214. package/dist/static/treeout.png +0 -0
  215. package/dist/static/treeset.png +0 -0
  216. package/dist/static/usericon.png +0 -0
  217. package/dist/static/xinxi.png +0 -0
  218. package/gradlew +0 -234
  219. package/gradlew.bat +0 -89
@@ -0,0 +1,816 @@
1
+ <template>
2
+ <div class="bg" v-show="isShowbg" @click="jobHidden">
3
+ </div>
4
+ <div @click="hindsetting1()" :class="{'with-watermark':showwatermakeflag}">
5
+ <span class="newTip" transition="newTip" @click="tipClick" v-if="newTipShow">
6
+ <span>您有一条新提醒</span>
7
+ </span>
8
+ <div class="progress-list" v-if="!isManger" v-show="progressListShow" @click.stop style="padding-top: 8px">
9
+ <div style="height: auto;width: auto;overflow: hidden;">
10
+ <span style="float:left; margin-left: 20px;text-align: center;vertical-align: middle"><button class="button_search button_spacing" style="border-radius: 10px" @click="getProgressList()">
11
+ <img
12
+ src="../../assets/refresh.png" style="height: 16px; width: 14px;margin-bottom: 4px">
13
+ 查询更新进度按钮
14
+ </button></span>
15
+ </div>
16
+ <div style="height: 89%; padding:8px">
17
+ <data-grid :model="jobProgressList" partial='list' class="my_table_sy list_area table_sy" v-ref:job id="job_grid"
18
+ :optional="false" style="font-size: 12px;">
19
+ <template partial='head'>
20
+ <th><nobr>任务名</nobr></th>
21
+
22
+ <th><nobr>执行描述</nobr></th>
23
+
24
+ <th><nobr>执行人</nobr></th>
25
+
26
+ <th><nobr>任务总数</nobr><label style="font-size: 12px;margin: 0">(个)</label></th>
27
+
28
+ <th><nobr>任务进度</nobr></th>
29
+ </template>
30
+ <template partial='body'>
31
+ <td>{{ row.f_job_name }}</td>
32
+ <td>{{ row.f_start_date}}&nbsp;&nbsp;{{ row.f_job_type }}</td>
33
+ <td>{{ row.f_job_operator }}</td>
34
+ <td>{{ row.f_job_count }}</td>
35
+ <td>
36
+ <!-- <div class="m-progress">-->
37
+ <!-- <div class="m-progress-outer">-->
38
+ <!-- <div class="m-progress-inner">-->
39
+ <!-- <div class="['u-progress-bg',{'u-success-bg':progress>=100}]" :style="`height:${progress > 100?100:progress}%;width:${stokeWidth}px;`"></div>-->
40
+ <!-- </div>-->
41
+ <!-- </div>-->
42
+ <!-- </div>-->
43
+ <!-- <p class="u-progress-text">-->
44
+ <!-- {{ row.f_job_progress == 100||row.f_job_progress > 100? 100: row.f_job_progress}}%-->
45
+ <!-- </p>-->
46
+ {{row.f_job_progress}}
47
+ </td>
48
+ </template>
49
+ </data-grid>
50
+ </div>
51
+ </div>
52
+ <div class='flex-row system-main' id="box" v-el:box v-if="!isManger">
53
+
54
+ <div class="auto login-operator1" v-if="$refs.mic.tabs.length === 0">
55
+ <button class="my_button_search button_spacing" title="点击弹出我的任务" @click.stop="JobProgress">
56
+ <img
57
+ src="../../assets/point.png" style="height: 14px; width: 14px;margin-bottom: 4px">
58
+ {{job_total == 0? ' ':job_total}}&nbsp;我的任务&nbsp;
59
+ </button>
60
+ <span>
61
+ <img
62
+ src="../../assets/people.png" height="15" width="15">
63
+ 登录人:</span>
64
+ <label>{{ orgpathnames }}</label>
65
+ </div>
66
+ <div class="system-left tree-flex" :class="{'tree-flex-icon': !treeOrIcon}" id="top" v-el:top>
67
+ <div class="system-left-chi" :class="{'system-left-icon': !treeOrIcon}">
68
+ <div class="span system-left-tree " style="height:85%">
69
+ <h3>{{ systemname }}</h3>
70
+ <!-- <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;">-->
71
+ <left-tree :functions='functions.functions' :userid='userid' @isnodo="isnodo" v-show="treeOrIcon"
72
+ :tabs="tabs" v-ref:tree></left-tree>
73
+ <!--&lt;!&ndash; <icon-tree :functions='functions.functions' :userid='userid' v-show="!treeOrIcon"></icon-tree>&ndash;&gt;-->
74
+ </div>
75
+
76
+ <div class="tree-flex-footer">
77
+ <!-- <a @click="changeShow()"><img :src="imgs.open" alt=""><span v-if="treeOrIcon">菜单伸缩</span></a>-->
78
+ <!-- <a><img src="../../../static/treeset.png" alt="">系统设置</a> -->
79
+ <dropdown class="auto">
80
+ <button type="button" data-toggle="dropdown">
81
+ <img :src="imgs.set" alt=""><span v-if="treeOrIcon">系统设置</span>
82
+ </button>
83
+ <ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-up">
84
+ <li>系统信息及设置</li>
85
+ <!-- <li>{{name}}</li> -->
86
+ <li>{{ date }}</li>
87
+ <li @click="openUrl()">售后服务</li>
88
+ <li @click="qrCode=true">APP二维码</li>
89
+ <li @click="show=true">修改密码</li>
90
+ <li @click="AddChangeMsgShow=true">系统版本:V3.0</li>
91
+ </ul>
92
+
93
+ </dropdown>
94
+ <a href="index.html" @click.prevent="logOut">
95
+ <img :src="imgs.out" alt=""><span v-if="treeOrIcon">退出系统</span>
96
+ </a>
97
+ </div>
98
+ </div>
99
+ </div>
100
+ <!-- <div class="line" id="line" v-show="treeOrIcon" v-el:line></div> -->
101
+
102
+ <div class="flex right-bg system-right" id="bottom" v-el:bottom>
103
+ <!-- <operator-badge></operator-badge> -->
104
+ <div class="span">
105
+ <echarts-box v-if="$refs.mic.tabs.length === 0"></echarts-box>
106
+ <dynamic :comps='[]' name='main' :selecttab.sync="selecttab" :orgpathnames="orgpathnames"
107
+ @tab-changed="tabChange" @tabscg="tabcg" v-ref:mic v-show="!($refs.mic.tabs.length === 0)"></dynamic>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <div v-show="isManger">
112
+ <route v-ref:route></route>
113
+ </div>
114
+ <modal v-if="newTipContextShow" :show.sync="newTipContextShow" :backdrop="false">
115
+ <header slot="modal-header" style="display:none"> </header>
116
+ <article slot="modal-body" class="modal-body">
117
+ <form class="form-horizontal">
118
+ <div class="row">
119
+ <div class="col-sm-12 " v-if="AppDaiBan !==''">
120
+ <label class="col-sm-2">报装待办:</label>
121
+ <span style="font-weight:normal">{{AppDaiBan}}</span>
122
+ </div>
123
+ <div class="col-sm-12 " v-if="OrderDaiBan !==''">
124
+ <label class="col-sm-2">预约待办:</label>
125
+ <span style="font-weight:normal">{{OrderDaiBan}}</span>
126
+ </div>
127
+ </div>
128
+ </form>
129
+ </article>
130
+ <footer slot="modal-footer" style="height: 8vh" class="modal-footer">
131
+ <button class="button_search" @click="newTipContextShow = false">确认</button>
132
+ </footer>
133
+ </modal>
134
+
135
+ <!-- 变更录入 模态框 -->
136
+ <add-changemsg :show="AddChangeMsgShow" v-on:toggle="AddChangeMsgShow = false"></add-changemsg>
137
+ <!-- 修改密码组件 -->
138
+ <modify-pw :show.sync="show" v-if="show"></modify-pw>
139
+ <!-- 手机扫描二维码 -->
140
+ <modal :show.sync="qrCode" v-if="qrCode" v-ref:qrmodal backdrop="false">
141
+ <header slot="modal-header" class="modal-header">
142
+ 请打开手机扫一扫功能进行扫描下载App
143
+ </header>
144
+ <article slot="modal-body" class="modal-body">
145
+ <img style="width: 300px;height: 300px;display: block;margin: auto" src="/images/DownLoadQRCode.png"/>
146
+ </article>
147
+ <footer slot="modal-footer" class="modal-footer">
148
+ <button type="button" class="btn btn-success" @click='qrCode=false'>关闭</button>
149
+ </footer>
150
+ </modal>
151
+ </div>
152
+ </template>
153
+
154
+ <script>
155
+ import vue from 'vue'
156
+ import co from 'co'
157
+ import {HttpResetClass} from "vue-client";
158
+
159
+ let getwartermakr = async function (self) {
160
+ let param = {
161
+ tablename: 't_singlevalue',
162
+ condition: " 1=1 and name=\'水印内容\'"
163
+ };
164
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
165
+ if (result && result.data.length > 0) {
166
+ self.showwatermakeflag = true;
167
+ createWaterMark(`${result.data[0].value}${self.$login.f.ename}`);
168
+ } else {
169
+ self.showwatermakeflag = false;
170
+ }
171
+ }
172
+
173
+ let createWaterMark = function (userName) {
174
+ let style;
175
+ if (style) style.remove();
176
+ let width = window.parseInt(document.body.clientWidth);
177
+ let canvasWidth = width / window.parseInt(width / 320);
178
+ let fontFamily = window.getComputedStyle(document.body)["font-family"];
179
+ let canvas = document.createElement("canvas");
180
+ canvas.width = canvasWidth;
181
+ canvas.height = 200;
182
+ let ctx = canvas.getContext("2d");
183
+ ctx.rotate((-20 * Math.PI) / 180);
184
+ ctx.font = `20px ${fontFamily}`;
185
+ ctx.fillStyle = "rgba(8,8,8,.1)";
186
+ ctx.fillText(userName, 50, 200);
187
+ let imgSrc = canvas.toDataURL("image/png");
188
+ style = document.createElement("style");
189
+ style.innerHTML = `.with-watermark:before{
190
+ pointer-events: none;
191
+ content: "";
192
+ width: 100%;
193
+ height: 100%;
194
+ display: block;
195
+ position: absolute;
196
+ background-image: url("${imgSrc}");
197
+ }`;
198
+ (document.head.append || document.head.appendChild).apply(document.head, [style]);
199
+ }
200
+
201
+ window.onunload = () => {
202
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
203
+ }
204
+ window.onbeforeunload = () => {
205
+ vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
206
+ }
207
+ export default {
208
+ title: '主界面',
209
+ props: ['functions', 'userid', 'config'],
210
+ data() {
211
+ return {
212
+ // 页面提示信息定时器
213
+ interval: null,
214
+ newTipShow: false,
215
+ newTipContextShow: false,
216
+ AppDaiBan: '',
217
+ OrderDaiBan: '',
218
+ // 左侧树下部三个小图标
219
+ job_total: 0,
220
+ imgs: {
221
+ open: '/images/lefticon/菜单伸缩.png',
222
+ set: '/images/lefticon/系统设置.png',
223
+ out: '/images/lefticon/退出系统.png',
224
+ img1: '/images/newStyle/login-user.png',
225
+ logoimg: '/static/newStyle/fife.png'
226
+ // img2: '/images/lefticon/退出系统.png',
227
+ },
228
+ progress: 0,
229
+
230
+ jobProgressList:{rows:[]},
231
+ progressListShow: false,
232
+ treeOrIcon: false,
233
+ qrCode:false,
234
+ isShowbg: false,
235
+ isManger: false,
236
+ show: false,
237
+ orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
238
+ systemname: '客服系统',
239
+ date: this.$login.toStandardDateString(),
240
+ tabs: [], //已初始化页签数组
241
+ selecttab: '',
242
+ setting: true,
243
+ srcsetting: '../../static/newStyle/setting.png',
244
+ showwatermakeflag: false,
245
+ }
246
+ },
247
+ ready() {
248
+ getwartermakr(this);
249
+ let component = this.$login.getUrlCompileParames('component')
250
+ if (component) {
251
+ this.isManger = true
252
+ this.$refs.route.init(component, {data: this.functions.functions})
253
+ }
254
+ if (this.$login.f.password == '1') {
255
+ this.$showMessage('本地登录系统为此账户的初始密码,请确认修改密码!!!', ['confirm', 'cancel']).then((res) => {
256
+ if (res == 'confirm')
257
+ this.show = true
258
+ })
259
+ }
260
+ console.log("系统名称", this.$appdata.getSingleValue("系统名称"))
261
+ this.systemname = this.$appdata.getSingleValue("系统名称") ? this.$appdata.getSingleValue("系统名称") : '客服系统'
262
+ this.changeShow()
263
+ this.gotoWorkOrderSite()
264
+ // 获取预约列表
265
+ this.functions.f_role_name && this.functions.f_role_name.includes(this.config.msgRole) && this.config.isTip && this.getOrderList()
266
+ },
267
+ methods: {
268
+ getOrderList(){
269
+ let times = this.config.times * 60 * 1000
270
+ console.log("=定时提示间隔=", times)
271
+ try {
272
+ this.interval = setInterval(() => {
273
+ this.getDaiBan()
274
+ }, times)
275
+ } catch (error) {
276
+ console.log('捕获到异常', error)
277
+ }
278
+ },
279
+ JobProgress(){
280
+ console.log("点击显示任务列表,当前状态:"+this.progressListShow)
281
+ this.isShowbg = true
282
+ this.progressListShow = true
283
+ },
284
+ async getProgressList(){
285
+ let list = {}
286
+ list = await new HttpResetClass().load('POST', 'rs/sql/getJobProgressList', {
287
+ data: {
288
+ condition: `and f_operator_id = '${this.$login.f.id}'`
289
+ }
290
+ },{resolveMsg: null, rejectMsg: '获取任务进度失败'})
291
+ let dataList = []
292
+ let rows = []
293
+ dataList = list.data
294
+ for (let i = 0; i < dataList.length; i++) {
295
+ rows.push(dataList[i])
296
+ }
297
+ this.jobProgressList.rows = rows
298
+ },
299
+ async getDaiBan(){
300
+ this.OrderDaiBan = ''
301
+ this.AppDaiBan = ''
302
+ let http = new HttpResetClass()
303
+ await http.load('POST', '/rs/sql/singleTable', {data: {
304
+ tablename:'t_order_center',
305
+ condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
306
+ }}, {
307
+ resolveMsg: null,
308
+ rejectMsg: null
309
+ }).then((res) => {
310
+ let OrderDaiBan = {}
311
+ res.data.forEach(item=>{
312
+ OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
313
+ OrderDaiBan[item.f_ordertype].push(item)
314
+ })
315
+ if (res.data.length> 0){
316
+ this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
317
+ this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
318
+ }
319
+ })
320
+ let data = {
321
+ condition: '1 = 1',
322
+ data: {
323
+ orgid: this.$login.f.orgid,
324
+ id: this.$login.f.id
325
+ }
326
+ }
327
+ await http.load('POST', '/rs/sql/checkuser', {data: data}, {
328
+ resolveMsg: null,
329
+ rejectMsg: null
330
+ }).then((res) => {
331
+ let AppDaiBan = {}
332
+ res.data.forEach(item=>{
333
+ AppDaiBan[item.defname] = AppDaiBan[item.defname] || []
334
+ AppDaiBan[item.defname].push(item)
335
+ })
336
+ if (res.data.length> 0){
337
+ this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
338
+ this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
339
+ }
340
+ }).catch((e)=>{
341
+ console.error(e)
342
+ })
343
+ if(this.AppDaiBan || this.OrderDaiBan){
344
+ this.newTipShow = true
345
+ }
346
+ },
347
+ // 提醒框被点击
348
+ tipClick(){
349
+ this.newTipShow = false
350
+ this.newTipContextShow = true
351
+ },
352
+ gotoWorkOrderSite(){
353
+ const isRemind =this.$appdata.getSingleValue("站点工单提醒")
354
+ console.log('站点工单是否提醒',isRemind)
355
+ if(isRemind && isRemind !== '是'){
356
+ return
357
+ }
358
+ if(this.functions && this.functions.f_role_name && this.functions.f_role_name.indexOf('派单员') !== -1){
359
+ const data = {
360
+ "condition":
361
+ {
362
+ "condition":" 1=1 ",
363
+ "sign":"1=1"
364
+ },
365
+ "userid":this.functions.name
366
+ }
367
+ new HttpResetClass().load('POST','rs/path/operatorService/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
368
+ if(res.data && res.data.n !== 0){
369
+ this.$showMessage('你有'+res.data.n+'个工单待处理,请尽快前往站点工单页面进行处理')
370
+ }
371
+ })
372
+ }
373
+ },
374
+ openUrl() {
375
+ var url = `http://123.60.214.109:8406/submitTicket?personName=${this.$login.f.name}&orgName=${this.$login.f.orgs}`
376
+ window.open(url, '_blank')
377
+ },
378
+ hindsetting() {
379
+ this.setting = !this.setting
380
+ if (this.setting) {
381
+ this.srcsetting = '../../static/newStyle/setting.png'
382
+ } else {
383
+ this.srcsetting = '../../static/newStyle/setting1.png'
384
+ }
385
+
386
+ },
387
+ jobHidden(){
388
+ this.isShowbg = false
389
+ this.progressListShow = false
390
+ },
391
+ hindsetting1() {
392
+
393
+ if (!this.setting) {
394
+ this.srcsetting = '../../static/newStyle/setting.png'
395
+ this.setting = true
396
+ }
397
+ },
398
+
399
+ isnodo(val) {
400
+ console.log(val, 'ss')
401
+ this.selecttab = val
402
+ },
403
+ unfurl() {
404
+ if (this.showsum) {
405
+ this.showsum = false
406
+ } else {
407
+ this.showsum = true
408
+ }
409
+ },
410
+ changeShow() {
411
+ this.treeOrIcon = !this.treeOrIcon
412
+ },
413
+ changeMain(userid) {
414
+ this.$goto('res-main', {userid: this.userid}, 'self')
415
+ },
416
+ tabChange(name) {
417
+ console.log(name, 'tabchanage')
418
+ this.selecttab = name
419
+ this.$refs.tree.changeSelect(name)
420
+ },
421
+ tabcg(val) {
422
+ console.log(val)
423
+ this.tabs = val
424
+ },
425
+ logOut() {
426
+ console.log(this.$login.f)
427
+ this.$showMessage('您确定要退出系统吗?', ['confirm', 'cancel']).then(async (res) => {
428
+ if (res == 'confirm') {
429
+ let data = {
430
+ userid: this.$login.f.id,
431
+ username: this.$login.f.name,
432
+ usertelephone: this.$login.f.f_user_telephone
433
+ }
434
+ await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
435
+ window.location.reload()
436
+ }
437
+ })
438
+ }
439
+ },
440
+ watch: {
441
+ 'jobProgressList.rows.length'(){
442
+ total = 0
443
+ if(jobProgressList.rows.length>0){
444
+ for (let i = 0; i < jobProgressList.rows.length; i++) {
445
+ if (jobProgressList.rows[i].f_job_state != '已完成'){
446
+ total+= 1
447
+ }
448
+ }
449
+ this.job_total = total
450
+ }
451
+ }
452
+ },
453
+ computed: {
454
+ nowDate() {
455
+ return this.$login.getNowDate()
456
+ }
457
+ }
458
+ }
459
+ </script>
460
+ <style lang="less">
461
+ th {
462
+ text-align: center;
463
+ vertical-align: middle;
464
+ }
465
+
466
+ /*表格主体_完成*/
467
+ .my_table_sy tbody tr:nth-child(odd){background-color: #f0f9ec !important;border: solid 1px #f0f4fa !important;color: #666666!important;font-size: 15px!important;font-family: PingFang!important;}
468
+ /*表格主体_未完成*/
469
+ .my_table_sy tbody tr:nth-child(even){background-color: #eff7ff !important;border: solid 1px #f0f4fa !important;color: #666666!important;font-size: 15px!important;font-family: PingFang!important;}
470
+
471
+ .progress-list {
472
+ background-color: #e8f4ff;
473
+ position: absolute;
474
+ top: 55px;
475
+ right: 430px;
476
+ width: 723px;
477
+ height: 342px;
478
+ z-index: 10001;
479
+ color: #9eb3c0;
480
+ border: 1px solid #7e7c81;
481
+ border-radius: 15px;
482
+ }
483
+ .my_button_search{width: auto; height: 25px;position: relative; padding-left:2px;top: 0px;line-height: 25px; background-color: #6aa6e2; border-radius: 4px; border:none; font-family: PingFang; font-size: 15px; color: #ffffff;}
484
+ .my_button_search:hover{ background-color: #3592ef;}
485
+
486
+ .m-progress{
487
+ width: 5px;
488
+ margin: 0 auto;
489
+ display: flex;
490
+ .m-progress-outer{
491
+ width: 100%;
492
+ .m-progress-inner{
493
+ display: inline-block;
494
+ width: 100%;
495
+ background-color: #f5f5f5;
496
+
497
+ }
498
+ }
499
+ }
500
+ .bg{
501
+ position: fixed;
502
+ top: 0;
503
+ left: 0;
504
+ bottom: 0;
505
+ right: 0;
506
+ z-index: 999;
507
+ background-color: rgba(0,0,0,.4);
508
+ }
509
+
510
+ .newTip-transition {
511
+ transition: all .4s ease;
512
+ }
513
+ .newTip-enter, .newTip-leave {
514
+ height: 0;
515
+ padding: 0 10px;
516
+ opacity: 0;
517
+ }
518
+ .newTip a {
519
+ color: #333;
520
+ }
521
+ .newTip {
522
+ cursor: pointer;
523
+ text-align: center;
524
+ position: absolute;
525
+ top: 3em;
526
+ margin: 0 auto;
527
+ width: 200px;
528
+ left: 48%;
529
+ line-height: 2;
530
+ z-index: 10010;
531
+ box-shadow: 0 4px 12px rgba(0,0,0,0.38);
532
+ pointer-events: all;
533
+ border-radius: 4px;
534
+ background-color: whitesmoke;
535
+ }
536
+ /* 组件内通用样式 */
537
+ .select-error {
538
+ button {
539
+ border-bottom: 1px solid #a94442 !important;
540
+ }
541
+ }
542
+
543
+ // input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{
544
+ // -webkit-appearance:textfield;
545
+ // }
546
+ /* 表单输入框组 */
547
+ .form-input-group {
548
+ display: flex;
549
+
550
+ label {
551
+ width: 100px;
552
+ text-align: right;
553
+
554
+ + * {
555
+ flex: 1;
556
+ }
557
+ }
558
+ }
559
+
560
+ // 日期组件在表单中沾满
561
+ .form-horizontal .datepicker {
562
+ width: 100%;
563
+ }
564
+
565
+ // 下拉选择框占据剩余全部空间
566
+ .select-overspread {
567
+ .form-group {
568
+ // margin: 0px 5px 10px 0px;
569
+ .form-control {
570
+ margin-right: 0px;
571
+ }
572
+ }
573
+
574
+ .btn-group, .btn-group-vertical {
575
+ width: 100%;
576
+ // padding-right: 5px;
577
+ button {
578
+ width: 100%;
579
+ display: flex;
580
+ justify-content: space-between;
581
+ align-items: center;
582
+ }
583
+ }
584
+
585
+ .dropdown-menu {
586
+ width: 100%
587
+ }
588
+ }
589
+
590
+ // 需要特定宽度的的样式
591
+ .width-60 {
592
+ width: 60px;
593
+ }
594
+
595
+ .userpanel {
596
+ font-weight: 300;
597
+ color: #333;
598
+ position: fixed;
599
+ right: 30px;
600
+ top: 45px;
601
+ background-color: white;
602
+ box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px;
603
+ padding: 4px 10px 4px 10px;
604
+ border-radius: 2px;
605
+ }
606
+
607
+ .width-80 {
608
+ width: 80px;
609
+ }
610
+
611
+ .width-100 {
612
+ width: 100px;
613
+ }
614
+
615
+
616
+ /*右侧区域的背景*/
617
+ .right-bg {
618
+ width: 100%;
619
+ flex: 1;
620
+ color: #304A66;
621
+ }
622
+
623
+ .tree-flex {
624
+ height: 100%;
625
+ // width: 150px;
626
+ /*width: 60px;*/
627
+ background: #4a7cae;
628
+ color: #fff;
629
+
630
+ }
631
+
632
+ .tree-flex-icon {
633
+ width: 50px;
634
+ /*transition: 0.5s;*/
635
+
636
+ > .span {
637
+ overflow-x: visible;
638
+ }
639
+ }
640
+
641
+ .tree-flex h3 {
642
+ text-align: center;
643
+ margin: 1em 0;
644
+ }
645
+
646
+ .tree-flex-footer {
647
+ height: 50px;
648
+ display: flex;
649
+ flex-direction: column;
650
+ color: #fff;
651
+ }
652
+
653
+ .tree-flex-footer a, .tree-flex-footer button {
654
+ flex: 1;
655
+ padding: 8px 5px;
656
+ font-size: 1.2em;
657
+ // border-top: 1px solid #697D93;
658
+ border-top: 1px solid #4a7cae;
659
+ text-decoration: none;
660
+ color: #fff;
661
+ cursor: pointer;
662
+ }
663
+
664
+ .tree-flex-footer button {
665
+ height: auto;
666
+ width: 100%;
667
+ border-radius: 0px;
668
+ background-color: rgba(255, 255, 255, 0);
669
+ border: none;
670
+ border-top: 1px solid #4a7cae;
671
+ // border-top: 1px solid #697D93;
672
+ text-align: left;
673
+ }
674
+
675
+ .tree-flex-footer button:hover {
676
+ outline: none;
677
+ background-color: rgba(255, 255, 255, 0.2);
678
+ }
679
+
680
+ .tree-flex-footer button:focus {
681
+ outline: none;
682
+ background-color: rgba(255, 255, 255, 0.5);
683
+ }
684
+
685
+ .tree-flex-footer a:hover {
686
+ color: #FFF;
687
+ background-color: rgba(255, 255, 255, 0.2);
688
+ }
689
+
690
+ .tree-flex .btn-group {
691
+ height: 50px !important;
692
+ }
693
+
694
+ .tree-flex .dropdown-menu {
695
+ /* 控制显示列表的样式 */
696
+ background: #4a7cae;
697
+ border-radius: 0px;
698
+ color: #fff;
699
+ width: auto;
700
+ margin: 0px;
701
+ padding: 0px;
702
+ }
703
+
704
+ .tree-flex .dropdown-menu-up {
705
+ /* bottom,top控制上下,left和right控制左右*/
706
+ left: 100% !important;
707
+ top: auto !important;
708
+ bottom: 0;
709
+ }
710
+
711
+ .tree-flex .dropdown-menu-down {
712
+ /* bottom,top控制上下,left和right控制左右*/
713
+ left: 100% !important;
714
+ top: 0 !important;
715
+ }
716
+
717
+ .tree-flex .dropdown-menu li {
718
+ text-align: center;
719
+ line-height: 50px;
720
+ border-bottom: 1px solid #697D93;
721
+ font-size: 1.2em;
722
+ width: auto;
723
+ white-space: nowrap;
724
+ cursor: default;
725
+
726
+ }
727
+
728
+ .tree-flex .dropdown-menu li + li {
729
+ text-align: left;
730
+ border: 0;
731
+ line-height: 40px;
732
+ padding-left: 15px;
733
+ padding-right: 15px;
734
+ font-size: 1em;
735
+ cursor: pointer;
736
+ }
737
+
738
+ .tree-flex .dropdown-menu li + li:hover {
739
+ background-color: rgba(255, 255, 255, 0.2);
740
+ }
741
+
742
+ .tree-flex .dropdown-menu li a {
743
+ border: none;
744
+ color: #fff;
745
+ height: 40px;
746
+ line-height: 40px;
747
+ font-size: 1em;
748
+ padding: 0px;
749
+ }
750
+
751
+ .tree-flex .dropdown-menu li a:hover {
752
+ color: #fff;
753
+ background-color: rgba(255, 255, 255, 0);
754
+ }
755
+
756
+ .tree-flex img {
757
+ height: 1.2em;
758
+ width: 1.2em;
759
+ margin-right: 15px;
760
+ margin-left: 5px;
761
+ }
762
+
763
+ .line {
764
+ height: 100%;
765
+ width: 5px;
766
+ background: #4C637B;
767
+ cursor: e-resize;
768
+ }
769
+
770
+ /*为树(tree)组件写的样式*/
771
+ .tree-img {
772
+ font-size: 1.2em;
773
+ }
774
+
775
+ /*将较长信息截断显示,鼠标悬停显示全部信息*/
776
+ .cutout50 {
777
+ max-width: 50px;
778
+ overflow: hidden;
779
+ text-overflow: ellipsis;
780
+ white-space: nowrap;
781
+ }
782
+
783
+ /* 滚动条样式 */
784
+ /*---滚动条默认显示样式--*/
785
+ ::-webkit-scrollbar-thumb {
786
+ // display: none;
787
+ background-color: rgba(0, 0, 0, 0.4);
788
+ /*background-color:red;*/
789
+ height: 50px;
790
+ outline-offset: -2px;
791
+ /*outline:2px solid #fff;*/
792
+ -webkit-border-radius: 4px;
793
+ /*border: 2px solid #fff;*/
794
+ }
795
+
796
+ /*---鼠标点击滚动条显示样式--*/
797
+ ::-webkit-scrollbar-thumb:hover {
798
+ // display: inherit;
799
+ background-color: rgba(0, 0, 0, 0.4);
800
+ height: 50px;
801
+ -webkit-border-radius: 4px;
802
+ }
803
+
804
+ /*---滚动条大小--*/
805
+ ::-webkit-scrollbar {
806
+ width: 8px;
807
+ height: 8px;
808
+ }
809
+
810
+ /*---滚动框背景样式--*/
811
+ ::-webkit-scrollbar-track-piece {
812
+ /* 全透明,不显示 */
813
+ background-color: rgba(255, 255, 255, 0);
814
+ -webkit-border-radius: 0;
815
+ }
816
+ </style>