xs-common-plugins 1.2.4 → 1.2.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 (188) hide show
  1. package/README.md +309 -299
  2. package/common.js +110 -110
  3. package/index.js +1 -1
  4. package/package.json +16 -16
  5. package/src/App.vue +12 -12
  6. package/src/common/common.js +551 -549
  7. package/src/common/createMenuId.js +7 -7
  8. package/src/common/uploadImgToBase64.js +12 -12
  9. package/src/common/utils.js +95 -95
  10. package/src/components/Breadcrumb/index.vue +81 -81
  11. package/src/components/CheckBox_Cmp/index.vue +62 -62
  12. package/src/components/Col_TableCell/data.js +4 -4
  13. package/src/components/Col_TableCell/index.scss +77 -77
  14. package/src/components/Col_TableCell/index.vue +43 -43
  15. package/src/components/Col_TableCell/methods.js +19 -19
  16. package/src/components/FormItem/index.vue +92 -92
  17. package/src/components/Hamburger/index.vue +44 -44
  18. package/src/components/ReportCmp/data.js +3 -3
  19. package/src/components/ReportCmp/index.scss +29 -29
  20. package/src/components/ReportCmp/index.vue +76 -76
  21. package/src/components/ReportCmp/methods.js +30 -30
  22. package/src/components/Search/cascader/data.js +3 -3
  23. package/src/components/Search/cascader/index.scss +17 -17
  24. package/src/components/Search/cascader/index.vue +96 -96
  25. package/src/components/Search/cascader/methods.js +41 -41
  26. package/src/components/Search/data.js +5 -5
  27. package/src/components/Search/hk_cascader/index.vue +104 -104
  28. package/src/components/Search/hk_cascader_qudao/index.vue +94 -94
  29. package/src/components/Search/index.scss +219 -219
  30. package/src/components/Search/index.vue +410 -410
  31. package/src/components/Search/methods.js +86 -86
  32. package/src/components/Search/product_option/data.js +3 -3
  33. package/src/components/Search/product_option/index.scss +68 -68
  34. package/src/components/Search/product_option/index.vue +412 -412
  35. package/src/components/Search/product_option/methods.js +58 -58
  36. package/src/components/Search/select/data.js +3 -3
  37. package/src/components/Search/select/index.scss +2 -2
  38. package/src/components/Search/select/index.vue +114 -114
  39. package/src/components/Search/select/methods.js +51 -51
  40. package/src/components/Search_filter/data.js +5 -5
  41. package/src/components/Search_filter/index.scss +104 -104
  42. package/src/components/Search_filter/index.vue +88 -88
  43. package/src/components/Search_filter/methods.js +43 -43
  44. package/src/components/TableCmp/data.js +3 -3
  45. package/src/components/TableCmp/index.scss +22 -22
  46. package/src/components/TableCmp/index.vue +98 -98
  47. package/src/components/TableCmp/methods.js +35 -35
  48. package/src/components/TableItem/TableItem.vue +55 -55
  49. package/src/components/TextOVer/index.vue +55 -55
  50. package/src/components/UploadImg/index.vue +177 -177
  51. package/src/components/home/BarChart.vue +118 -118
  52. package/src/components/home/LineChart.vue +146 -146
  53. package/src/components/home/Panel.vue +135 -135
  54. package/src/components/home/PanelGroup.vue +146 -146
  55. package/src/components/home/PieChart.vue +81 -81
  56. package/src/components/home/RaddarChart.vue +119 -119
  57. package/src/components/home/TabLayout.vue +88 -88
  58. package/src/components/home/TableList.vue +158 -158
  59. package/src/components/home/Teng.vue +248 -248
  60. package/src/components/home/TransactionTable.vue +49 -49
  61. package/src/components/home/mixins/resize.js +55 -55
  62. package/src/components/im/index.vue +155 -155
  63. package/src/components/im/methods.js +25 -25
  64. package/src/components/im/pages/chatList/index.vue +45 -45
  65. package/src/components/im/pages/chatRoom/index.vue +159 -159
  66. package/src/components/image-singleUpload/data.js +3 -3
  67. package/src/components/image-singleUpload/index.scss +26 -26
  68. package/src/components/image-singleUpload/index.vue +56 -56
  69. package/src/components/image-singleUpload/methods.js +30 -30
  70. package/src/components/image-upload/data.js +7 -7
  71. package/src/components/image-upload/index.vue +41 -41
  72. package/src/components/image-upload/methods.js +80 -80
  73. package/src/components/multiple-image-upload/data.js +11 -11
  74. package/src/components/multiple-image-upload/index.scss +8 -8
  75. package/src/components/multiple-image-upload/index.vue +63 -63
  76. package/src/components/multiple-image-upload/methods.js +45 -45
  77. package/src/components/pro-upload/data.js +3 -3
  78. package/src/components/pro-upload/index.scss +4 -4
  79. package/src/components/pro-upload/index.vue +89 -89
  80. package/src/components/pro-upload/methods.js +86 -86
  81. package/src/components/report_set/index.scss +44 -44
  82. package/src/components/report_set/index.vue +153 -153
  83. package/src/components/search-page/src/index.scss +5 -5
  84. package/src/components/search-page/src/index.vue +76 -76
  85. package/src/components/search-page/src/methods.js +36 -36
  86. package/src/components/xsSelect/index.vue +125 -125
  87. package/src/mixin/dialog.js +31 -31
  88. package/src/mixin/dlg.js +46 -46
  89. package/src/mixin/keepAlive.js +53 -53
  90. package/src/mixin/newDialog.js +19 -19
  91. package/src/mixin/report.js +82 -82
  92. package/src/mixin/table.js +93 -93
  93. package/src/mixin/tableCell/colTableCell_analysis.js +103 -103
  94. package/src/mixin/upload.js +22 -22
  95. package/src/mixin/vmodel.js +26 -26
  96. package/src/plugins/im/components/chat/index.scss +163 -163
  97. package/src/plugins/im/components/chat/index.vue +144 -144
  98. package/src/plugins/im/components/chat/methods.js +149 -149
  99. package/src/plugins/im/components/conversation-list/index.css +91 -91
  100. package/src/plugins/im/components/conversation-list/index.json +3 -3
  101. package/src/plugins/im/components/conversation-list/index.vue +89 -89
  102. package/src/plugins/im/components/loading/loading.css +69 -69
  103. package/src/plugins/im/components/loading/loading.json +3 -3
  104. package/src/plugins/im/components/loading/loading.vue +14 -14
  105. package/src/plugins/im/components/msg-image/index.json +3 -3
  106. package/src/plugins/im/components/msg-image/index.vue +40 -40
  107. package/src/plugins/im/components/msg-text/index.json +3 -3
  108. package/src/plugins/im/components/msg-text/index.vue +24 -24
  109. package/src/plugins/im/components/send-msg/index.scss +164 -164
  110. package/src/plugins/im/components/send-msg/index.vue +107 -107
  111. package/src/plugins/im/components/send-msg/methods.js +125 -125
  112. package/src/plugins/im/components/template-message/index.vue +76 -76
  113. package/src/plugins/im/components/without.vue +19 -19
  114. package/src/plugins/im/im-plug-in/Protobuf-2.3.7.min.js +1 -1
  115. package/src/plugins/im/im-plug-in/RongCallLib-3.1.5.min.js +74 -74
  116. package/src/plugins/im/im-plug-in/RongIMLib-4.1.0.js +17420 -17420
  117. package/src/plugins/im/im-plug-in/init.js +216 -216
  118. package/src/plugins/im/im-plug-in/qiniu.js +266 -266
  119. package/src/plugins/im/im-plug-in/send-data.js +431 -431
  120. package/src/plugins/im/im-plug-in/upload.js +232 -232
  121. package/src/plugins/im/index.js +31 -31
  122. package/src/plugins/im/lib/RongIMEmoji-2.2.6.js +332 -332
  123. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.js +11635 -11635
  124. package/src/plugins/im/lib/RongIMLib-3.0.7.2-dev.min.js +6 -6
  125. package/src/plugins/im/utils/services.js +625 -625
  126. package/src/plugins/im/utils/underscore-1.8.3.js +1531 -1531
  127. package/src/plugins/im/utils/utils.js +149 -149
  128. package/src/plugins/index.js +60 -60
  129. package/src/plugins/row-col-cmp/colCmp/data.js +3 -3
  130. package/src/plugins/row-col-cmp/colCmp/index.scss +50 -50
  131. package/src/plugins/row-col-cmp/colCmp/index.vue +53 -53
  132. package/src/plugins/row-col-cmp/colCmp/methods.js +25 -25
  133. package/src/plugins/row-col-cmp/index.js +20 -20
  134. package/src/plugins/row-col-cmp/rowCmp/data.js +3 -3
  135. package/src/plugins/row-col-cmp/rowCmp/index.scss +3 -3
  136. package/src/plugins/row-col-cmp/rowCmp/index.vue +43 -43
  137. package/src/plugins/row-col-cmp/rowCmp/methods.js +29 -29
  138. package/src/router/index.js +58 -58
  139. package/src/router/permission.js +126 -126
  140. package/src/store/getters.js +13 -13
  141. package/src/store/index.js +60 -60
  142. package/src/store/modules/app.js +55 -55
  143. package/src/store/modules/dic.js +74 -74
  144. package/src/store/modules/oss.js +40 -40
  145. package/src/store/modules/settings.js +28 -28
  146. package/src/store/modules/tagsView.js +160 -160
  147. package/src/store/modules/user.js +94 -94
  148. package/src/store/modules/widgetdata.js +42 -42
  149. package/src/styles/element-ui.scss +49 -49
  150. package/src/styles/index.scss +91 -91
  151. package/src/styles/mixin.scss +28 -28
  152. package/src/styles/sidebar.scss +210 -210
  153. package/src/styles/table.scss +90 -90
  154. package/src/styles/transition.scss +48 -48
  155. package/src/styles/variables.scss +25 -25
  156. package/src/utils/api.js +54 -54
  157. package/src/utils/auth.js +38 -38
  158. package/src/utils/concat_batch_btns.js +88 -88
  159. package/src/utils/enum.js +150 -150
  160. package/src/utils/filter.js +5 -5
  161. package/src/utils/filterRules.js +55 -55
  162. package/src/utils/get-page-title.js +10 -10
  163. package/src/utils/getMenu.js +82 -82
  164. package/src/utils/global-config.js +15 -15
  165. package/src/utils/global_directive.js +10 -10
  166. package/src/utils/index.js +332 -332
  167. package/src/utils/localStorage.js +21 -21
  168. package/src/utils/ossService.js +55 -55
  169. package/src/utils/prototype.js +46 -46
  170. package/src/utils/search.js +33 -33
  171. package/src/utils/signalR.js +24 -24
  172. package/src/utils/validate.js +20 -20
  173. package/src/views/callback/index.vue +35 -35
  174. package/src/views/home/index.vue +25 -25
  175. package/src/views/layout/components/AllSearch/index.vue +44 -44
  176. package/src/views/layout/components/AppMain.vue +66 -66
  177. package/src/views/layout/components/Sidebar/FixiOSBug.js +26 -26
  178. package/src/views/layout/components/Sidebar/Item.vue +28 -28
  179. package/src/views/layout/components/Sidebar/Link.vue +34 -34
  180. package/src/views/layout/components/Sidebar/Logo.vue +79 -79
  181. package/src/views/layout/components/Sidebar/SidebarItem.vue +67 -67
  182. package/src/views/layout/components/Sidebar/index.vue +114 -114
  183. package/src/views/layout/components/TagsView/ScrollPane.vue +94 -94
  184. package/src/views/layout/components/TagsView/index.vue +330 -330
  185. package/src/views/layout/components/index.js +3 -3
  186. package/src/views/layout/index.vue +107 -107
  187. package/src/views/redirect/index.vue +12 -12
  188. package/src/views/slienceAuth/index.vue +42 -42
@@ -1,44 +1,44 @@
1
- <template>
2
- <div class="Col_TableCell-wrapper">
3
- <div
4
- :class="['group',{ 'abs':copyClass}]"
5
- v-for="(group,groupIndex) in _layout"
6
- :key="groupIndex"
7
- >
8
- <div v-for="item in group" :key="item.id">
9
- <div :class="['item-main',{ 'abs':copyClass}]" v-if="item !== 'copy' && !item.hide">
10
- <span :class="[{'label':item.label},{'noLabel':!item.label}]">{{item.label}}</span>
11
- <span>{{item.value}}</span>
12
- <div class="copy-btn copy-btn-abs" v-if="item.copy" @click="handle_copy(group)">复制</div>
13
- </div>
14
- <div class="copy-btn copy-btn-abs" v-if="item == 'copy'" @click="handle_copy(group)">复制</div>
15
- </div>
16
- </div>
17
- </div>
18
- </template>
19
-
20
- <script>
21
- import data from "./data";
22
- import methods from "./methods";
23
- import { MIX_ColCellAnalysis } from "@/mixin/tableCell/colTableCell_analysis";
24
-
25
- export default {
26
- props: {},
27
- data,
28
- methods,
29
- mixins: [MIX_ColCellAnalysis],
30
- components: {},
31
- watch: {},
32
- computed: {},
33
- // ------------------------------------------------------------------
34
- // pragma mark - Life Cycle(生命周期)
35
- // ------------------------------------------------------------------
36
- created() {
37
- this.createdInit();
38
- },
39
- mounted() {
40
- this.mountedInit();
41
- }
42
- };
43
- </script>
1
+ <template>
2
+ <div class="Col_TableCell-wrapper">
3
+ <div
4
+ :class="['group',{ 'abs':copyClass}]"
5
+ v-for="(group,groupIndex) in _layout"
6
+ :key="groupIndex"
7
+ >
8
+ <div v-for="item in group" :key="item.id">
9
+ <div :class="['item-main',{ 'abs':copyClass}]" v-if="item !== 'copy' && !item.hide">
10
+ <span :class="[{'label':item.label},{'noLabel':!item.label}]">{{item.label}}</span>
11
+ <span>{{item.value}}</span>
12
+ <div class="copy-btn copy-btn-abs" v-if="item.copy" @click="handle_copy(group)">复制</div>
13
+ </div>
14
+ <div class="copy-btn copy-btn-abs" v-if="item == 'copy'" @click="handle_copy(group)">复制</div>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ import data from "./data";
22
+ import methods from "./methods";
23
+ import { MIX_ColCellAnalysis } from "@/mixin/tableCell/colTableCell_analysis";
24
+
25
+ export default {
26
+ props: {},
27
+ data,
28
+ methods,
29
+ mixins: [MIX_ColCellAnalysis],
30
+ components: {},
31
+ watch: {},
32
+ computed: {},
33
+ // ------------------------------------------------------------------
34
+ // pragma mark - Life Cycle(生命周期)
35
+ // ------------------------------------------------------------------
36
+ created() {
37
+ this.createdInit();
38
+ },
39
+ mounted() {
40
+ this.mountedInit();
41
+ }
42
+ };
43
+ </script>
44
44
  <style lang="scss" src="./index.scss" scoped></style>
@@ -1,20 +1,20 @@
1
- export default {
2
- // ------------------------------------------------------------------
3
- // pragma mark - inti(初始化行为)
4
- // ------------------------------------------------------------------
5
- createdInit() {
6
- },
7
- mountedInit() {
8
- },
9
-
10
- // ------------------------------------------------------------------
11
- // pragma mark - Event Response(响应事件)
12
- // 命名规范: Name + EventHandler
13
- // ------------------------------------------------------------------
14
- handle_copy(data) {
15
- const newArray = data.filter(function (item, index, arr) {
16
- return item !== 'copy'
17
- })
18
- this.$emit('copy-click', newArray)
19
- },
1
+ export default {
2
+ // ------------------------------------------------------------------
3
+ // pragma mark - inti(初始化行为)
4
+ // ------------------------------------------------------------------
5
+ createdInit() {
6
+ },
7
+ mountedInit() {
8
+ },
9
+
10
+ // ------------------------------------------------------------------
11
+ // pragma mark - Event Response(响应事件)
12
+ // 命名规范: Name + EventHandler
13
+ // ------------------------------------------------------------------
14
+ handle_copy(data) {
15
+ const newArray = data.filter(function (item, index, arr) {
16
+ return item !== 'copy'
17
+ })
18
+ this.$emit('copy-click', newArray)
19
+ },
20
20
  }
@@ -1,93 +1,93 @@
1
- <template>
2
- <el-col :span="width">
3
- <el-form-item :label="name" :prop="prop">
4
- <template v-if="!isSlot">
5
- <div class="space">
6
- <el-input v-if="type == 'input'" v-model="formVal" />
7
- <XSSelect v-else-if="type == 'select'" v-model="formVal" :options="options" :multiple="multiple ? multiple : false" />
8
- <UploadImg v-else-if="type == 'image'" v-model="formVal" />
9
- <el-input v-else-if="type == 'textarea'" v-model="formVal" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入内容"></el-input>
10
- </div>
11
- </template>
12
- <template>
13
- <div class="space">
14
- <slot :name="slotName"></slot>
15
- </div>
16
- </template>
17
- </el-form-item>
18
- </el-col>
19
- </template>
20
-
21
- <script>
22
- import XSSelect from '@/components/xsSelect/index'
23
- import UploadImg from '@/components/UploadImg/index'
24
- export default {
25
- name: 'formItem',
26
- components: {
27
- XSSelect,
28
- UploadImg
29
- },
30
- props: {
31
- options: {
32
- type: Array,
33
- default: () => []
34
- },
35
- width: {
36
- type: [String, Number],
37
- default: 12
38
- },
39
- multiple: {
40
- type: [String, Boolean],
41
- default: false
42
- },
43
- name: {
44
- type: String
45
- },
46
- type: {
47
- type: String,
48
- default: 'input'
49
- },
50
- value: {
51
- type: [String, Number, Array]
52
- },
53
- isSlot: {
54
- type: [String, Boolean],
55
- default: false
56
- },
57
- slotName: {
58
- type: String
59
- },
60
- prop: {
61
- type: String
62
- }
63
- },
64
- watch: {
65
- value: {
66
- handler (newVal) {
67
- this.formVal = newVal
68
- },
69
- immediate: true,
70
- deep: true
71
- },
72
- formVal: {
73
- handler(newVal) {
74
- this.$emit('input', newVal)
75
- },
76
- deep: true,
77
- immediate: true,
78
- }
79
- },
80
- data () {
81
- return {
82
- formVal: this.value,
83
- url: '',
84
- }
85
- }
86
- }
87
- </script>
88
-
89
- <style lang="scss" scoped>
90
- .space {
91
- margin: 3px 0;
92
- }
1
+ <template>
2
+ <el-col :span="width">
3
+ <el-form-item :label="name" :prop="prop">
4
+ <template v-if="!isSlot">
5
+ <div class="space">
6
+ <el-input v-if="type == 'input'" v-model="formVal" />
7
+ <XSSelect v-else-if="type == 'select'" v-model="formVal" :options="options" :multiple="multiple ? multiple : false" />
8
+ <UploadImg v-else-if="type == 'image'" v-model="formVal" />
9
+ <el-input v-else-if="type == 'textarea'" v-model="formVal" type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="请输入内容"></el-input>
10
+ </div>
11
+ </template>
12
+ <template>
13
+ <div class="space">
14
+ <slot :name="slotName"></slot>
15
+ </div>
16
+ </template>
17
+ </el-form-item>
18
+ </el-col>
19
+ </template>
20
+
21
+ <script>
22
+ import XSSelect from '@/components/xsSelect/index'
23
+ import UploadImg from '@/components/UploadImg/index'
24
+ export default {
25
+ name: 'formItem',
26
+ components: {
27
+ XSSelect,
28
+ UploadImg
29
+ },
30
+ props: {
31
+ options: {
32
+ type: Array,
33
+ default: () => []
34
+ },
35
+ width: {
36
+ type: [String, Number],
37
+ default: 12
38
+ },
39
+ multiple: {
40
+ type: [String, Boolean],
41
+ default: false
42
+ },
43
+ name: {
44
+ type: String
45
+ },
46
+ type: {
47
+ type: String,
48
+ default: 'input'
49
+ },
50
+ value: {
51
+ type: [String, Number, Array]
52
+ },
53
+ isSlot: {
54
+ type: [String, Boolean],
55
+ default: false
56
+ },
57
+ slotName: {
58
+ type: String
59
+ },
60
+ prop: {
61
+ type: String
62
+ }
63
+ },
64
+ watch: {
65
+ value: {
66
+ handler (newVal) {
67
+ this.formVal = newVal
68
+ },
69
+ immediate: true,
70
+ deep: true
71
+ },
72
+ formVal: {
73
+ handler(newVal) {
74
+ this.$emit('input', newVal)
75
+ },
76
+ deep: true,
77
+ immediate: true,
78
+ }
79
+ },
80
+ data () {
81
+ return {
82
+ formVal: this.value,
83
+ url: '',
84
+ }
85
+ }
86
+ }
87
+ </script>
88
+
89
+ <style lang="scss" scoped>
90
+ .space {
91
+ margin: 3px 0;
92
+ }
93
93
  </style>
@@ -1,44 +1,44 @@
1
- <template>
2
- <div style="padding: 0 15px;" @click="toggleClick">
3
- <svg
4
- :class="{'is-active':isActive}"
5
- class="hamburger"
6
- viewBox="0 0 1024 1024"
7
- xmlns="http://www.w3.org/2000/svg"
8
- width="64"
9
- height="64"
10
- >
11
- <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
12
- </svg>
13
- </div>
14
- </template>
15
-
16
- <script>
17
- export default {
18
- name: 'Hamburger',
19
- props: {
20
- isActive: {
21
- type: [Boolean,Number],
22
- default: false
23
- }
24
- },
25
- methods: {
26
- toggleClick() {
27
- this.$emit('toggleClick')
28
- }
29
- }
30
- }
31
- </script>
32
-
33
- <style scoped>
34
- .hamburger {
35
- display: inline-block;
36
- vertical-align: middle;
37
- width: 20px;
38
- height: 20px;
39
- }
40
-
41
- .hamburger.is-active {
42
- transform: rotate(180deg);
43
- }
44
- </style>
1
+ <template>
2
+ <div style="padding: 0 15px;" @click="toggleClick">
3
+ <svg
4
+ :class="{'is-active':isActive}"
5
+ class="hamburger"
6
+ viewBox="0 0 1024 1024"
7
+ xmlns="http://www.w3.org/2000/svg"
8
+ width="64"
9
+ height="64"
10
+ >
11
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
12
+ </svg>
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: 'Hamburger',
19
+ props: {
20
+ isActive: {
21
+ type: [Boolean,Number],
22
+ default: false
23
+ }
24
+ },
25
+ methods: {
26
+ toggleClick() {
27
+ this.$emit('toggleClick')
28
+ }
29
+ }
30
+ }
31
+ </script>
32
+
33
+ <style scoped>
34
+ .hamburger {
35
+ display: inline-block;
36
+ vertical-align: middle;
37
+ width: 20px;
38
+ height: 20px;
39
+ }
40
+
41
+ .hamburger.is-active {
42
+ transform: rotate(180deg);
43
+ }
44
+ </style>
@@ -1,4 +1,4 @@
1
- export default () => {
2
- return {
3
- }
1
+ export default () => {
2
+ return {
3
+ }
4
4
  };
@@ -1,30 +1,30 @@
1
- .ReportCmp-wrapper {
2
- width: 100%;
3
- height: 100%;
4
- display: flex;
5
- flex-direction: column;
6
-
7
- .t-search {
8
- // box-shadow: 0 2px 4px rgba(0, 0, 0, .12),
9
- // 0 0 6px rgba(0, 0, 0, .04);
10
- }
11
-
12
- .t-table {
13
- flex: 99;
14
- overflow: hidden;
15
- }
16
-
17
- .t-page {
18
- height: 32px;
19
- background-color: #fff;
20
- border-top: 1px solid #eee;
21
- }
22
-
23
-
24
-
25
-
26
- .nullTable {
27
- margin-top: 10px;
28
- }
29
-
1
+ .ReportCmp-wrapper {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+
7
+ .t-search {
8
+ // box-shadow: 0 2px 4px rgba(0, 0, 0, .12),
9
+ // 0 0 6px rgba(0, 0, 0, .04);
10
+ }
11
+
12
+ .t-table {
13
+ flex: 99;
14
+ overflow: hidden;
15
+ }
16
+
17
+ .t-page {
18
+ height: 32px;
19
+ background-color: #fff;
20
+ border-top: 1px solid #eee;
21
+ }
22
+
23
+
24
+
25
+
26
+ .nullTable {
27
+ margin-top: 10px;
28
+ }
29
+
30
30
  }
@@ -1,76 +1,76 @@
1
- <template>
2
- <div v-loading="glo_loading" class="ReportCmp-wrapper">
3
- <div class="t-search">
4
- <search-cmp v-model="query" :form-content="formContent" :btn-content="btnContent" @search-click="handleSearch"
5
- @btn-click="handleCommand" @btns-click="btnsClick">
6
- <div slot="search_custemBtn">
7
- <slot name="custemBtn" />
8
- </div>
9
- </search-cmp>
10
- </div>
11
-
12
- <div class="t-table">
13
- <el-table v-if="query.data && query.data.data && query.data.data.length > 0" ref="table" size="mini"
14
- :data="query.data.data" style="width: 100%" :height="'100%'" :show-summary="showSummary || query.report.totalCol == 2" border fit
15
- highlight-current-row :row-class-name="rowClassName" @selection-change="handleSelectionChange"
16
- @sort-change="customSortChange">
17
- <!--:fixed="idx==0"-->
18
- <el-table-column :label="rowGroup.title" header-align="center">
19
- <el-table-column v-for="col in rowGroup.columns" :key="col.field" :prop="col.field+''" :label="col.title"
20
- header-align="center" align="left" width="120" />
21
- f
22
- </el-table-column>
23
-
24
- <el-table-column v-for="(sheet,idx) in dataSheet" :key="idx" :label="sheet.title" header-align="center">
25
- <el-table-column v-for="col in sheet.columns" :key="col.field" :prop="col.field+''" :label="col.title"
26
- header-align="center" align="right" width="120" />
27
- </el-table-column>
28
- <el-table-column />
29
-
30
- </el-table>
31
- <el-table v-else class="nullTable" :data="[]" style="width: 100%" />
32
- </div>
33
- </div>
34
- </template>
35
-
36
- <script>
37
- import data from "./data";
38
- import methods from "./methods";
39
- import SearchCmp from "../Search";
40
- import { mapState } from "vuex";
41
- export default {
42
- name: "Report",
43
- props: {
44
- query: {
45
- type: [Object],
46
- },
47
- formContent: {
48
- type: [Object, Array],
49
- },
50
- btnContent: {
51
- type: [Object, Array],
52
- },
53
- rowClassName: {
54
- type: [String, Function],
55
- }, // 合计
56
- showSummary: {
57
- type: Boolean,
58
- default: false,
59
- },
60
- },
61
- data,
62
- computed: {
63
- ...mapState(["glo_loading"]),
64
- rowGroup: function () {
65
- return this.query.data.colGroups[0];
66
- },
67
- dataSheet: function () {
68
- return this.query.data.colGroups.filter((val, idx) => idx > 0);
69
- },
70
- },
71
- mounted() {},
72
- methods,
73
- components: { SearchCmp },
74
- };
75
- </script>
76
- <style lang="scss" src="./index.scss" scoped></style>
1
+ <template>
2
+ <div v-loading="glo_loading" class="ReportCmp-wrapper">
3
+ <div class="t-search">
4
+ <search-cmp v-model="query" :form-content="formContent" :btn-content="btnContent" @search-click="handleSearch"
5
+ @btn-click="handleCommand" @btns-click="btnsClick">
6
+ <div slot="search_custemBtn">
7
+ <slot name="custemBtn" />
8
+ </div>
9
+ </search-cmp>
10
+ </div>
11
+
12
+ <div class="t-table">
13
+ <el-table v-if="query.data && query.data.data && query.data.data.length > 0" ref="table" size="mini"
14
+ :data="query.data.data" style="width: 100%" :height="'100%'" :show-summary="showSummary || query.report.totalCol == 2" border fit
15
+ highlight-current-row :row-class-name="rowClassName" @selection-change="handleSelectionChange"
16
+ @sort-change="customSortChange">
17
+ <!--:fixed="idx==0"-->
18
+ <el-table-column :label="rowGroup.title" header-align="center">
19
+ <el-table-column v-for="col in rowGroup.columns" :key="col.field" :prop="col.field+''" :label="col.title"
20
+ header-align="center" align="left" width="120" />
21
+ f
22
+ </el-table-column>
23
+
24
+ <el-table-column v-for="(sheet,idx) in dataSheet" :key="idx" :label="sheet.title" header-align="center">
25
+ <el-table-column v-for="col in sheet.columns" :key="col.field" :prop="col.field+''" :label="col.title"
26
+ header-align="center" align="right" width="120" />
27
+ </el-table-column>
28
+ <el-table-column />
29
+
30
+ </el-table>
31
+ <el-table v-else class="nullTable" :data="[]" style="width: 100%" />
32
+ </div>
33
+ </div>
34
+ </template>
35
+
36
+ <script>
37
+ import data from "./data";
38
+ import methods from "./methods";
39
+ import SearchCmp from "../Search";
40
+ import { mapState } from "vuex";
41
+ export default {
42
+ name: "Report",
43
+ props: {
44
+ query: {
45
+ type: [Object],
46
+ },
47
+ formContent: {
48
+ type: [Object, Array],
49
+ },
50
+ btnContent: {
51
+ type: [Object, Array],
52
+ },
53
+ rowClassName: {
54
+ type: [String, Function],
55
+ }, // 合计
56
+ showSummary: {
57
+ type: Boolean,
58
+ default: false,
59
+ },
60
+ },
61
+ data,
62
+ computed: {
63
+ ...mapState(["glo_loading"]),
64
+ rowGroup: function () {
65
+ return this.query.data.colGroups[0];
66
+ },
67
+ dataSheet: function () {
68
+ return this.query.data.colGroups.filter((val, idx) => idx > 0);
69
+ },
70
+ },
71
+ mounted() {},
72
+ methods,
73
+ components: { SearchCmp },
74
+ };
75
+ </script>
76
+ <style lang="scss" src="./index.scss" scoped></style>