xs-common-plugins 1.1.2 → 1.1.6

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 (139) hide show
  1. package/README.md +37 -0
  2. package/package.json +1 -1
  3. package/src/App.vue +11 -11
  4. package/src/common/common.js +143 -14
  5. package/src/common/createMenuId.js +7 -7
  6. package/src/common/uploadImgToBase64.js +12 -12
  7. package/src/common/utils.js +95 -95
  8. package/src/components/Breadcrumb/index.vue +81 -81
  9. package/src/components/Col_TableCell/data.js +4 -4
  10. package/src/components/Col_TableCell/index.scss +77 -77
  11. package/src/components/Col_TableCell/index.vue +43 -43
  12. package/src/components/Col_TableCell/methods.js +19 -19
  13. package/src/components/Hamburger/index.vue +44 -44
  14. package/src/components/ReportCmp/data.js +3 -3
  15. package/src/components/ReportCmp/index.scss +29 -29
  16. package/src/components/ReportCmp/index.vue +2 -2
  17. package/src/components/ReportCmp/methods.js +30 -30
  18. package/src/components/Search/cascader/data.js +3 -3
  19. package/src/components/Search/cascader/index.scss +17 -17
  20. package/src/components/Search/cascader/index.vue +96 -96
  21. package/src/components/Search/cascader/methods.js +41 -41
  22. package/src/components/Search/data.js +5 -5
  23. package/src/components/Search/hk_cascader/index.vue +104 -104
  24. package/src/components/Search/hk_cascader_qudao/index.vue +94 -94
  25. package/src/components/Search/methods.js +86 -86
  26. package/src/components/Search/product_option/data.js +3 -3
  27. package/src/components/Search/product_option/index.scss +68 -68
  28. package/src/components/Search/product_option/index.vue +419 -419
  29. package/src/components/Search/product_option/methods.js +46 -46
  30. package/src/components/Search/select/data.js +3 -3
  31. package/src/components/Search/select/index.scss +2 -2
  32. package/src/components/Search/select/index.vue +114 -114
  33. package/src/components/Search/select/methods.js +51 -51
  34. package/src/components/Search_filter/data.js +5 -5
  35. package/src/components/Search_filter/index.vue +88 -88
  36. package/src/components/Search_filter/methods.js +43 -43
  37. package/src/components/TableCmp/data.js +3 -3
  38. package/src/components/TableCmp/index.scss +22 -22
  39. package/src/components/TableCmp/index.vue +98 -98
  40. package/src/components/TableCmp/methods.js +35 -35
  41. package/src/components/home/BarChart.vue +118 -118
  42. package/src/components/home/LineChart.vue +146 -146
  43. package/src/components/home/Panel.vue +135 -135
  44. package/src/components/home/PanelGroup.vue +146 -146
  45. package/src/components/home/PieChart.vue +81 -81
  46. package/src/components/home/RaddarChart.vue +119 -119
  47. package/src/components/home/TabLayout.vue +88 -88
  48. package/src/components/home/TableList.vue +158 -158
  49. package/src/components/home/Teng.vue +248 -248
  50. package/src/components/home/TransactionTable.vue +49 -49
  51. package/src/components/home/mixins/resize.js +55 -55
  52. package/src/components/im/methods.js +25 -25
  53. package/src/components/image-singleUpload/data.js +3 -3
  54. package/src/components/image-singleUpload/index.scss +26 -26
  55. package/src/components/image-singleUpload/index.vue +56 -56
  56. package/src/components/image-singleUpload/methods.js +30 -30
  57. package/src/components/image-upload/data.js +7 -7
  58. package/src/components/image-upload/index.vue +41 -41
  59. package/src/components/image-upload/methods.js +80 -80
  60. package/src/components/multiple-image-upload/data.js +11 -11
  61. package/src/components/multiple-image-upload/index.scss +8 -8
  62. package/src/components/multiple-image-upload/index.vue +63 -63
  63. package/src/components/multiple-image-upload/methods.js +45 -45
  64. package/src/components/pro-upload/data.js +3 -3
  65. package/src/components/pro-upload/index.scss +4 -4
  66. package/src/components/pro-upload/index.vue +89 -89
  67. package/src/components/pro-upload/methods.js +86 -86
  68. package/src/components/report_set/index.scss +44 -44
  69. package/src/components/report_set/index.vue +153 -153
  70. package/src/components/search-page/src/index.scss +5 -5
  71. package/src/components/search-page/src/index.vue +76 -76
  72. package/src/components/search-page/src/methods.js +36 -36
  73. package/src/mixin/dialog.js +31 -31
  74. package/src/mixin/dlg.js +46 -46
  75. package/src/mixin/newDialog.js +19 -19
  76. package/src/mixin/report.js +82 -82
  77. package/src/mixin/table.js +93 -93
  78. package/src/mixin/tableCell/colTableCell_analysis.js +103 -103
  79. package/src/mixin/upload.js +22 -22
  80. package/src/mixin/vmodel.js +26 -26
  81. package/src/plugins/im/components/conversation-list/index.css +91 -91
  82. package/src/plugins/im/components/conversation-list/index.json +3 -3
  83. package/src/plugins/im/components/conversation-list/index.vue +89 -89
  84. package/src/plugins/im/components/loading/loading.css +69 -69
  85. package/src/plugins/im/components/loading/loading.json +3 -3
  86. package/src/plugins/im/components/loading/loading.vue +14 -14
  87. package/src/plugins/im/components/msg-image/index.json +3 -3
  88. package/src/plugins/im/components/msg-text/index.json +3 -3
  89. package/src/plugins/im/components/msg-text/index.vue +24 -24
  90. package/src/plugins/im/im-plug-in/Protobuf-2.3.7.min.js +1 -1
  91. package/src/plugins/im/im-plug-in/RongCallLib-3.1.5.min.js +74 -74
  92. package/src/plugins/im/im-plug-in/RongIMLib-4.1.0.js +17420 -17420
  93. package/src/plugins/im/im-plug-in/init.js +216 -216
  94. package/src/plugins/im/im-plug-in/qiniu.js +266 -266
  95. package/src/plugins/im/im-plug-in/send-data.js +431 -431
  96. package/src/plugins/im/im-plug-in/upload.js +232 -232
  97. package/src/plugins/im/lib/RongIMEmoji-2.2.6.js +332 -332
  98. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.js +11635 -11635
  99. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.min.js +6 -6
  100. package/src/plugins/im/utils/underscore-1.8.3.js +1531 -1531
  101. package/src/plugins/im/utils/utils.js +149 -149
  102. package/src/plugins/row-col-cmp/colCmp/data.js +3 -3
  103. package/src/plugins/row-col-cmp/colCmp/index.scss +50 -50
  104. package/src/plugins/row-col-cmp/colCmp/index.vue +53 -53
  105. package/src/plugins/row-col-cmp/colCmp/methods.js +25 -25
  106. package/src/plugins/row-col-cmp/rowCmp/data.js +3 -3
  107. package/src/plugins/row-col-cmp/rowCmp/index.scss +3 -3
  108. package/src/plugins/row-col-cmp/rowCmp/index.vue +43 -43
  109. package/src/plugins/row-col-cmp/rowCmp/methods.js +29 -29
  110. package/src/router/index.js +47 -43
  111. package/src/store/getters.js +13 -13
  112. package/src/store/index.js +58 -58
  113. package/src/store/modules/app.js +55 -55
  114. package/src/store/modules/dic.js +1 -1
  115. package/src/store/modules/settings.js +28 -28
  116. package/src/store/modules/user.js +94 -94
  117. package/src/store/modules/widgetdata.js +42 -42
  118. package/src/styles/element-ui.scss +49 -49
  119. package/src/styles/mixin.scss +28 -28
  120. package/src/styles/sidebar.scss +210 -210
  121. package/src/styles/transition.scss +48 -48
  122. package/src/styles/variables.scss +25 -25
  123. package/src/utils/get-page-title.js +10 -10
  124. package/src/utils/getMenu.js +2 -1
  125. package/src/utils/global-config.js +15 -15
  126. package/src/utils/index.js +332 -332
  127. package/src/utils/localStorage.js +21 -21
  128. package/src/utils/validate.js +20 -20
  129. package/src/views/layout/components/AllSearch/index.vue +44 -44
  130. package/src/views/layout/components/AppMain.vue +50 -50
  131. package/src/views/layout/components/Navbar.vue +43 -2
  132. package/src/views/layout/components/Sidebar/FixiOSBug.js +26 -26
  133. package/src/views/layout/components/Sidebar/Item.vue +28 -28
  134. package/src/views/layout/components/Sidebar/Link.vue +34 -34
  135. package/src/views/layout/components/Sidebar/Logo.vue +79 -79
  136. package/src/views/layout/components/Sidebar/SidebarItem.vue +67 -67
  137. package/src/views/layout/components/Sidebar/index.vue +114 -114
  138. package/src/views/layout/components/index.js +3 -3
  139. package/src/views/layout/index.vue +105 -105
@@ -1,21 +1,21 @@
1
- import Storage from 'web-storage-cache'
2
-
3
- const localStorage = new Storage()
4
-
5
- export function getLocalStorage(key) {
6
- return localStorage.get(key)
7
- }
8
-
9
- export function setLocalStorage(key, value, expire = 30 * 24 * 3600) {
10
- return localStorage.set(key, value, {
11
- exp: expire
12
- })
13
- }
14
-
15
- export function removeLocalStorage(key) {
16
- return localStorage.delete(key)
17
- }
18
-
19
- export function clearLocalStorage() {
20
- return localStorage.clear()
21
- }
1
+ import Storage from 'web-storage-cache'
2
+
3
+ const localStorage = new Storage()
4
+
5
+ export function getLocalStorage(key) {
6
+ return localStorage.get(key)
7
+ }
8
+
9
+ export function setLocalStorage(key, value, expire = 30 * 24 * 3600) {
10
+ return localStorage.set(key, value, {
11
+ exp: expire
12
+ })
13
+ }
14
+
15
+ export function removeLocalStorage(key) {
16
+ return localStorage.delete(key)
17
+ }
18
+
19
+ export function clearLocalStorage() {
20
+ return localStorage.clear()
21
+ }
@@ -1,20 +1,20 @@
1
- /**
2
- * Created by PanJiaChen on 16/11/18.
3
- */
4
-
5
- /**
6
- * @param {string} path
7
- * @returns {Boolean}
8
- */
9
- export function isExternal(path) {
10
- return /^(https?:|mailto:|tel:)/.test(path)
11
- }
12
-
13
- /**
14
- * @param {string} str
15
- * @returns {Boolean}
16
- */
17
- export function validUsername(str) {
18
- const valid_map = ['admin', 'editor']
19
- return valid_map.indexOf(str.trim()) >= 0
20
- }
1
+ /**
2
+ * Created by PanJiaChen on 16/11/18.
3
+ */
4
+
5
+ /**
6
+ * @param {string} path
7
+ * @returns {Boolean}
8
+ */
9
+ export function isExternal(path) {
10
+ return /^(https?:|mailto:|tel:)/.test(path)
11
+ }
12
+
13
+ /**
14
+ * @param {string} str
15
+ * @returns {Boolean}
16
+ */
17
+ export function validUsername(str) {
18
+ const valid_map = ['admin', 'editor']
19
+ return valid_map.indexOf(str.trim()) >= 0
20
+ }
@@ -1,45 +1,45 @@
1
- <template>
2
- <div class="allSearch-wrapper">
3
- <el-input
4
- v-if="search"
5
- suffix-icon="el-icon-search"
6
- clearable
7
- size="small"
8
- v-model="globalSearch"
9
- placeholder="请输入内容"
10
- @change="changeHandler"
11
- maxlength="50"
12
- ></el-input>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- import { mapState } from "vuex";
18
- export default {
19
- data() {
20
- return {
21
- // 全局搜索
22
- globalSearch: ""
23
- };
24
- },
25
- methods: {
26
- /**
27
- * 搜索框选中操作
28
- */
29
- changeHandler(val) {
30
- this.search(val);
31
- }
32
- },
33
- computed: {
34
- ...mapState({
35
- search: state => state.search
36
- })
37
- }
38
- };
39
- </script>
40
-
41
- <style lang="scss">
42
- .allSearch-wrapper .el-input--small .el-input__inner {
43
- width: 300px;
44
- }
1
+ <template>
2
+ <div class="allSearch-wrapper">
3
+ <el-input
4
+ v-if="search"
5
+ suffix-icon="el-icon-search"
6
+ clearable
7
+ size="small"
8
+ v-model="globalSearch"
9
+ placeholder="请输入内容"
10
+ @change="changeHandler"
11
+ maxlength="50"
12
+ ></el-input>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import { mapState } from "vuex";
18
+ export default {
19
+ data() {
20
+ return {
21
+ // 全局搜索
22
+ globalSearch: ""
23
+ };
24
+ },
25
+ methods: {
26
+ /**
27
+ * 搜索框选中操作
28
+ */
29
+ changeHandler(val) {
30
+ this.search(val);
31
+ }
32
+ },
33
+ computed: {
34
+ ...mapState({
35
+ search: state => state.search
36
+ })
37
+ }
38
+ };
39
+ </script>
40
+
41
+ <style lang="scss">
42
+ .allSearch-wrapper .el-input--small .el-input__inner {
43
+ width: 300px;
44
+ }
45
45
  </style>
@@ -1,50 +1,50 @@
1
- <template>
2
- <section class="app-main">
3
- <router-view :key="key" />
4
- </section>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: "AppMain",
10
- data() {
11
- return {
12
- framepath: ""
13
- };
14
- },
15
- computed: {
16
- key() {
17
- return this.$route.path;
18
- }
19
- }
20
- };
21
- </script>
22
-
23
- <style lang="scss" scoped>
24
-
25
- .app-main {
26
- display: flex;
27
- /*50 = navbar */
28
- height: calc(100vh - 50px);
29
- width: 100%;
30
- position: relative;
31
- overflow: hidden;
32
- }
33
- .footer {
34
- position: absolute;
35
- bottom: -10px;
36
- line-height: 1.5;
37
- height: 50px;
38
- }
39
- .fixed-header + .app-main {
40
- padding-top: 50px;
41
- }
42
- </style>
43
-
44
- <style lang="scss">
45
- .el-popup-parent--hidden {
46
- .fixed-header {
47
- padding-right: 15px;
48
- }
49
- }
50
- </style>
1
+ <template>
2
+ <section class="app-main">
3
+ <router-view :key="key" />
4
+ </section>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: "AppMain",
10
+ data() {
11
+ return {
12
+ framepath: ""
13
+ };
14
+ },
15
+ computed: {
16
+ key() {
17
+ return this.$route.path;
18
+ }
19
+ }
20
+ };
21
+ </script>
22
+
23
+ <style lang="scss" scoped>
24
+
25
+ .app-main {
26
+ display: flex;
27
+ /*50 = navbar */
28
+ height: calc(100vh - 50px);
29
+ width: 100%;
30
+ position: relative;
31
+ overflow: hidden;
32
+ }
33
+ .footer {
34
+ position: absolute;
35
+ bottom: -10px;
36
+ line-height: 1.5;
37
+ height: 50px;
38
+ }
39
+ .fixed-header + .app-main {
40
+ padding-top: 50px;
41
+ }
42
+ </style>
43
+
44
+ <style lang="scss">
45
+ .el-popup-parent--hidden {
46
+ .fixed-header {
47
+ padding-right: 15px;
48
+ }
49
+ }
50
+ </style>
@@ -31,6 +31,7 @@
31
31
  <AllSearch />
32
32
  <div class="is-dot">
33
33
  <el-badge
34
+ style="margin: 0 3px;"
34
35
  v-if="isShowKF === 'isv' || isShowKF === 'erp'"
35
36
  is-dot
36
37
  class="item"
@@ -45,7 +46,7 @@
45
46
  </el-badge>
46
47
  </div>
47
48
  <div>
48
- <el-tag>{{
49
+ <el-tag style="margin: 0 3px;">{{
49
50
  userProfile &&
50
51
  userProfile.hasOwnProperty("real_name") &&
51
52
  userProfile.real_name
@@ -61,6 +62,18 @@
61
62
  : "--未绑定--"
62
63
  }}
63
64
  </el-tag>
65
+ </div>
66
+ <!-- 租户 -->
67
+ {{userProfile.TId}}
68
+ <div class="tenant" v-if="userProfile.TId">
69
+ <el-dropdown @command="changeTenant">
70
+ <span class="el-dropdown-link">
71
+ {{tenantList && tenantList[userProfile.TId]}}
72
+ </span>
73
+ <el-dropdown-menu slot="dropdown">
74
+ <el-dropdown-item v-for="(value, key) in tenantList" :key="key" :command="key">{{value}}</el-dropdown-item>
75
+ </el-dropdown-menu>
76
+ </el-dropdown>
64
77
  </div>
65
78
  <el-dropdown class="avatar-container" trigger="click">
66
79
  <div class="avatar-wrapper">
@@ -107,7 +120,9 @@ import AllSearch from "./AllSearch";
107
120
  import { getConfig } from "@/utils/global-config";
108
121
  import { getToken, removeToken, removeLocalToken } from "@/utils/auth"; // get token from cookie
109
122
  import ImCom from "@/components/im";
110
- import { getLocalStorage } from "@/utils/localStorage";
123
+ import { getLocalStorage, setLocalStorage } from "@/utils/localStorage";
124
+ import { setToken } from "@/utils/auth"; // get token from cookie
125
+ import { initMenu } from '@/utils/getMenu'
111
126
 
112
127
  export default {
113
128
  components: {
@@ -136,6 +151,7 @@ export default {
136
151
  LoginName: false,
137
152
  isShowKF: getConfig("GROUP"),
138
153
  defaultParentId: "887904812217cca9bc2b9adb875daf42",
154
+ tenantList: [], // 租户列表
139
155
  };
140
156
  },
141
157
  computed: {
@@ -146,8 +162,29 @@ export default {
146
162
  if (userName === "admin") {
147
163
  this.LoginName = true;
148
164
  }
165
+ if(this.userProfile.TId) this.getTenantList()
149
166
  },
150
167
  methods: {
168
+ changeTenant (id) {
169
+ if(id === this.userProfile.TId) return
170
+ this.$router.push("/home")
171
+ this.$ask.ucmng.api.sysmng.Tenant.SwitchTenant({clientId: getConfig('CLIENT_ID'), newTId: id}).then(res => {
172
+ let newuser = this.userProfile
173
+ newuser.TId = id
174
+ setLocalStorage('userProfile', newuser)
175
+ this.userProfile = getLocalStorage('userProfile')
176
+ let user = res.data
177
+ setToken(user.accessToken);
178
+ localStorage.setItem("token", user.accessToken);
179
+ initMenu()
180
+
181
+ })
182
+ },
183
+ getTenantList () {
184
+ this.$ask.ucmng.api.sysmng.Tenant.GetTenants().then(res => {
185
+ this.tenantList = res.data
186
+ })
187
+ },
151
188
  toggleSideBar() {
152
189
  this.$store.dispatch("app/toggleSideBar");
153
190
  },
@@ -279,6 +316,10 @@ export default {
279
316
  }
280
317
  }
281
318
 
319
+ .tenant {
320
+ padding: 0 10px;
321
+ }
322
+
282
323
  .breadcrumb-container {
283
324
  float: left;
284
325
  }
@@ -1,26 +1,26 @@
1
- export default {
2
- computed: {
3
- device() {
4
- return this.$store.state.app.device
5
- }
6
- },
7
- mounted() {
8
- // In order to fix the click on menu on the ios device will trigger the mouseleave bug
9
- // https://github.com/PanJiaChen/vue-element-admin/issues/1135
10
- this.fixBugIniOS()
11
- },
12
- methods: {
13
- fixBugIniOS() {
14
- const $subMenu = this.$refs.subMenu
15
- if ($subMenu) {
16
- const handleMouseleave = $subMenu.handleMouseleave
17
- $subMenu.handleMouseleave = (e) => {
18
- if (this.device === 'mobile') {
19
- return
20
- }
21
- handleMouseleave(e)
22
- }
23
- }
24
- }
25
- }
26
- }
1
+ export default {
2
+ computed: {
3
+ device() {
4
+ return this.$store.state.app.device
5
+ }
6
+ },
7
+ mounted() {
8
+ // In order to fix the click on menu on the ios device will trigger the mouseleave bug
9
+ // https://github.com/PanJiaChen/vue-element-admin/issues/1135
10
+ this.fixBugIniOS()
11
+ },
12
+ methods: {
13
+ fixBugIniOS() {
14
+ const $subMenu = this.$refs.subMenu
15
+ if ($subMenu) {
16
+ const handleMouseleave = $subMenu.handleMouseleave
17
+ $subMenu.handleMouseleave = (e) => {
18
+ if (this.device === 'mobile') {
19
+ return
20
+ }
21
+ handleMouseleave(e)
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
@@ -1,28 +1,28 @@
1
- <script>
2
- export default {
3
- name: 'MenuItem',
4
- functional: true,
5
- props: {
6
- icon: {
7
- type: String,
8
- default: ''
9
- },
10
- title: {
11
- type: String,
12
- default: ''
13
- }
14
- },
15
- render(h, context) {
16
- const { icon, title } = context.props
17
- const vnodes = []
18
-
19
- if (icon) {
20
- vnodes.push(<i class={[icon, 'iconfont']} ></i>)
21
- }
22
- if (title) {
23
- vnodes.push(<span slot='title' style="marginLeft:10px">{(title)}</span>)
24
- }
25
- return vnodes
26
- }
27
- }
28
- </script>
1
+ <script>
2
+ export default {
3
+ name: 'MenuItem',
4
+ functional: true,
5
+ props: {
6
+ icon: {
7
+ type: String,
8
+ default: ''
9
+ },
10
+ title: {
11
+ type: String,
12
+ default: ''
13
+ }
14
+ },
15
+ render(h, context) {
16
+ const { icon, title } = context.props
17
+ const vnodes = []
18
+
19
+ if (icon) {
20
+ vnodes.push(<i class={[icon, 'iconfont']} ></i>)
21
+ }
22
+ if (title) {
23
+ vnodes.push(<span slot='title' style="marginLeft:10px">{(title)}</span>)
24
+ }
25
+ return vnodes
26
+ }
27
+ }
28
+ </script>
@@ -1,34 +1,34 @@
1
-
2
- <template>
3
- <!-- eslint-disable vue/require-component-is -->
4
- <component v-bind="linkProps(to)">
5
- <slot />
6
- </component>
7
- </template>
8
-
9
- <script>
10
- import { isExternal } from "@/utils/validate";
11
-
12
- export default {
13
- props: {
14
- to: {
15
- type: String,
16
- required: true
17
- }
18
- },
19
- methods: {
20
- linkProps(url) {
21
- if (isExternal(url)) {
22
- return {
23
- is: "a",
24
- href: url,
25
- };
26
- }
27
- return {
28
- is: "router-link",
29
- to: url
30
- };
31
- }
32
- }
33
- };
34
- </script>
1
+
2
+ <template>
3
+ <!-- eslint-disable vue/require-component-is -->
4
+ <component v-bind="linkProps(to)">
5
+ <slot />
6
+ </component>
7
+ </template>
8
+
9
+ <script>
10
+ import { isExternal } from "@/utils/validate";
11
+
12
+ export default {
13
+ props: {
14
+ to: {
15
+ type: String,
16
+ required: true
17
+ }
18
+ },
19
+ methods: {
20
+ linkProps(url) {
21
+ if (isExternal(url)) {
22
+ return {
23
+ is: "a",
24
+ href: url,
25
+ };
26
+ }
27
+ return {
28
+ is: "router-link",
29
+ to: url
30
+ };
31
+ }
32
+ }
33
+ };
34
+ </script>