olp-table 5.3.1 → 5.3.4

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 (171) hide show
  1. package/.env.build +1 -0
  2. package/README.md +26 -0
  3. package/babel.config.js +5 -0
  4. package/jsconfig.json +22 -0
  5. package/{olp-table.common.js → olp-table/olp-table.common.js} +5 -5
  6. package/{olp-table.umd.js → olp-table/olp-table.umd.js} +5 -5
  7. package/{olp-table.umd.min.js → olp-table/olp-table.umd.min.js} +3 -3
  8. package/package.json +92 -12
  9. package/public/favicon.ico +0 -0
  10. package/public/index.html +17 -0
  11. package/rmMode.bat +1 -0
  12. package/src/App.vue +199 -0
  13. package/src/api/crud.js +22 -0
  14. package/src/api/dist.js +6 -0
  15. package/src/assets/iconfont/iconfont.css +20 -0
  16. package/src/assets/iconfont/iconfont.json +16 -0
  17. package/src/assets/iconfont/iconfont.ttf +0 -0
  18. package/src/assets/iconfont/iconfont.woff +0 -0
  19. package/src/assets/iconfont/iconfont.woff2 +0 -0
  20. package/src/assets/logo.png +0 -0
  21. package/src/components/auto-height/index.vue +75 -0
  22. package/src/components/codemirror-tag.vue +100 -0
  23. package/src/components/lazy-load-select.vue +107 -0
  24. package/src/components/ol-dialog-excel.vue +112 -0
  25. package/src/components/ol-dialog-import.vue +304 -0
  26. package/src/components/ol-dialog-json.vue +82 -0
  27. package/src/components/ol-dialog-table.vue +81 -0
  28. package/src/components/ol-dialog-upload-file.vue +208 -0
  29. package/src/components/ol-dict-tag.vue +271 -0
  30. package/src/components/ol-select-dom.vue +71 -0
  31. package/src/components/ol-table-filter.vue +28 -0
  32. package/src/components/ol-table-render.vue +44 -0
  33. package/src/components/ol-table-select.vue +150 -0
  34. package/src/components/pinia-init.vue +18 -0
  35. package/src/components/table/model/ModelMixins.js +43 -0
  36. package/src/components/table/model/model-index.vue +121 -0
  37. package/src/components/table/model/ot-left-right.vue +18 -0
  38. package/src/components/table/model/ot-left-tree-right-table.scss +14 -0
  39. package/src/components/table/model/ot-left-tree-right-table.vue +41 -0
  40. package/src/components/table/model/ot-top-1-bottom-2.vue +39 -0
  41. package/src/components/table/model/ot-top-2-bottom-1.vue +38 -0
  42. package/src/components/table/model/ot-top-2-bottom-2.vue +38 -0
  43. package/src/components/table/model/ot-top-bottom.vue +18 -0
  44. package/src/components/table/model/splitpanesModel.css +22 -0
  45. package/src/components/table/model/splitpanesModel.vue +54 -0
  46. package/src/components/table/ol-form/index.vue +537 -0
  47. package/src/components/table/ol-form-v3/index.vue +455 -0
  48. package/src/components/table/ol-main-form-sub-table/index.vue +601 -0
  49. package/src/components/table/ol-pager/index.vue +46 -0
  50. package/src/components/table/ol-table/components/ol-table-column-config/columnIndex.vue +233 -0
  51. package/src/components/table/ol-table/components/ol-table-column-config/index.vue +145 -0
  52. package/src/components/table/ol-table/components/ol-table-column-dict-color/index.vue +88 -0
  53. package/src/components/table/ol-table/index.vue +232 -0
  54. package/src/components/table/ol-table-operate/index.vue +61 -0
  55. package/src/components/table/ol-table-search/index.vue +17 -0
  56. package/src/components/table/ol-table-tool-btn/index.vue +60 -0
  57. package/src/components/tree/components/o-tree.vue +289 -0
  58. package/src/components/tree/index.vue +46 -0
  59. package/src/components/v-component/index.vue +43 -0
  60. package/src/config/dev-config.js +5 -0
  61. package/src/config/prod-config.js +5 -0
  62. package/src/config/shared-config.js +20 -0
  63. package/src/data.js +9378 -0
  64. package/src/directives/permission/hasPermi.js +63 -0
  65. package/src/directives/permission/hasRole.js +30 -0
  66. package/src/main.js +55 -0
  67. package/src/mixins/VTMixin/DefaultMethods.js +749 -0
  68. package/src/mixins/VTMixin/OTMixinBody.js +105 -0
  69. package/src/mixins/VTMixin/OTMixinBodyFooter.js +93 -0
  70. package/src/mixins/VTMixin/OTMixinBodyMethods.js +420 -0
  71. package/src/mixins/VTMixin/OTMixinColumnMethod.js +450 -0
  72. package/src/mixins/VTMixin/OTMixinInitMethod.js +130 -0
  73. package/src/mixins/VTMixin/OTMixinPager.js +38 -0
  74. package/src/mixins/VTMixin/OTMixinSortable.js +43 -0
  75. package/src/mixins/VTMixin/index.js +18 -0
  76. package/src/package/index.js +20 -0
  77. package/src/plugins/axios.js +61 -0
  78. package/src/store/dict.js +76 -0
  79. package/src/store/dictType.js +52 -0
  80. package/src/store/permi.js +45 -0
  81. package/src/styles/common.scss +37 -0
  82. package/src/styles/index.scss +48 -0
  83. package/src/styles/theme.scss +32 -0
  84. package/src/utils/AESCRUDUtils.js +87 -0
  85. package/src/utils/DateUtils.js +35 -0
  86. package/src/utils/ExcelUtil.js +159 -0
  87. package/src/utils/TableSortUtil.js +91 -0
  88. package/src/utils/columnProp.js +3 -0
  89. package/src/utils/groupCompute.js +68 -0
  90. package/src/utils/http/httpFactory.js +92 -0
  91. package/src/utils/http/httpFactory2.js +79 -0
  92. package/src/utils/http/httpUtil.js +123 -0
  93. package/src/utils/http/httpUtils.js +38 -0
  94. package/src/utils/loadStyle.js +14 -0
  95. package/src/utils/message.js +56 -0
  96. package/src/utils/object.js +80 -0
  97. package/src/utils/security/TokenUtil.js +19 -0
  98. package/src/utils/tree.js +54 -0
  99. package/src/utils/util.js +127 -0
  100. package/src/views/Test/index.vue +77 -0
  101. package/src/views/Test/index2.vue +33 -0
  102. package/src/views/components/btn-config/index.vue +202 -0
  103. package/src/views/components/option-config/index.vue +192 -0
  104. package/src/views/db/chineseToEnglish.vue +127 -0
  105. package/src/views/db/filed.vue +395 -0
  106. package/src/views/db/index.vue +192 -0
  107. package/src/views/db/preview/index.vue +139 -0
  108. package/src/views/db/preview/left.vue +204 -0
  109. package/src/views/db/preview/right.vue +466 -0
  110. package/src/views/groupTable/index.vue +137 -0
  111. package/src/views/groupTable/ol-table-column-config/columnIndex.vue +194 -0
  112. package/src/views/groupTable/ol-table-column-config/index.vue +92 -0
  113. package/src/views/table/add-or-edit/config/base-config/index.vue +539 -0
  114. package/src/views/table/add-or-edit/config/base-config/table-form.vue +333 -0
  115. package/src/views/table/add-or-edit/config/column-config/header-config.vue +475 -0
  116. package/src/views/table/add-or-edit/config/column-config/index.vue +790 -0
  117. package/src/views/table/add-or-edit/config/data/column.js +218 -0
  118. package/src/views/table/add-or-edit/config/data/crud.js +122 -0
  119. package/src/views/table/add-or-edit/config/data/events.js +109 -0
  120. package/src/views/table/add-or-edit/config/data/method.js +127 -0
  121. package/src/views/table/add-or-edit/config/data/option.js +725 -0
  122. package/src/views/table/add-or-edit/config/data/page.js +79 -0
  123. package/src/views/table/add-or-edit/config/field-config/filed-config-table.vue +42 -0
  124. package/src/views/table/add-or-edit/config/field-config/index.vue +91 -0
  125. package/src/views/table/add-or-edit/config/form-config/index.vue +1179 -0
  126. package/src/views/table/add-or-edit/config/index.vue +376 -0
  127. package/src/views/table/add-or-edit/config/initFormObject.js +25 -0
  128. package/src/views/table/add-or-edit/config/script-config/LeftMeun.vue +71 -0
  129. package/src/views/table/add-or-edit/config/script-config/index.vue +70 -0
  130. package/src/views/table/add-or-edit/config/table-config/btn-config.vue +340 -0
  131. package/src/views/table/add-or-edit/config/table-config/btn-sort.vue +132 -0
  132. package/src/views/table/add-or-edit/config/table-config/index.vue +446 -0
  133. package/src/views/table/add-or-edit/configOld/dataTags/filed-config-table-model.vue +41 -0
  134. package/src/views/table/add-or-edit/configOld/dataTags/filed-config.vue +74 -0
  135. package/src/views/table/add-or-edit/configOld/dataTags/index.vue +439 -0
  136. package/src/views/table/add-or-edit/configOld/dataTags/set-table-sql.vue +79 -0
  137. package/src/views/table/add-or-edit/configOld/dataTags/table-on-config.vue +74 -0
  138. package/src/views/table/add-or-edit/configOld/index.vue +127 -0
  139. package/src/views/table/add-or-edit/configOld/tableTags/columnConfig.js +5 -0
  140. package/src/views/table/add-or-edit/configOld/tableTags/index.vue +353 -0
  141. package/src/views/table/add-or-edit/configOld/tableTags/operation-but-config.vue +75 -0
  142. package/src/views/table/add-or-edit/configOld/tableTags/tool-but-config.vue +92 -0
  143. package/src/views/table/add-or-edit/index.vue +201 -0
  144. package/src/views/table/add-or-edit/themeModel/index.vue +53 -0
  145. package/src/views/table/add-or-edit/themeModel/init-model-table.vue +48 -0
  146. package/src/views/table/add-or-edit/themeModel/init-model.vue +81 -0
  147. package/src/views/table/add-or-edit/themeModel/left-right.vue +24 -0
  148. package/src/views/table/add-or-edit/themeModel/left-tree-right-table.vue +75 -0
  149. package/src/views/table/add-or-edit/themeModel/olTableSearchModelMixins.js +42 -0
  150. package/src/views/table/add-or-edit/themeModel/splitpanesThemeModel.vue +49 -0
  151. package/src/views/table/add-or-edit/themeModel/top-1-bottom-2.vue +29 -0
  152. package/src/views/table/add-or-edit/themeModel/top-2-bottom-1.vue +32 -0
  153. package/src/views/table/add-or-edit/themeModel/top-2-bottom-2.vue +32 -0
  154. package/src/views/table/add-or-edit/themeModel/top-bottom.vue +14 -0
  155. package/src/views/table/index.vue +43 -0
  156. package/src/views/table/index2.vue +199 -0
  157. package/src/views/table/preview/index.vue +29 -0
  158. package/src/views/tree/components/config-core-data.vue +85 -0
  159. package/src/views/tree/components/config-core-table.vue +362 -0
  160. package/src/views/tree/components/config-core-tree/data/events.js +95 -0
  161. package/src/views/tree/components/config-core-tree/data/option.js +88 -0
  162. package/src/views/tree/components/config-core-tree/data/prop.js +28 -0
  163. package/src/views/tree/components/config-core-tree/index.vue +181 -0
  164. package/src/views/tree/components/config-core.vue +42 -0
  165. package/src/views/tree/components/form-config/index.vue +967 -0
  166. package/src/views/tree/index.vue +424 -0
  167. package/vue.config.js +44 -0
  168. /package/{demo.html → olp-table/demo.html} +0 -0
  169. /package/{fonts → olp-table/fonts}/iconfont.1720006583309.7e4906d9.woff +0 -0
  170. /package/{fonts → olp-table/fonts}/iconfont.1720006583309.947a27f0.ttf +0 -0
  171. /package/{olp-table.css → olp-table/olp-table.css} +0 -0
@@ -0,0 +1,194 @@
1
+ <template>
2
+ <vxe-grid v-bind="gridOptions" ref="vexGridRef" :data="gridOptions1.columns">
3
+ <!-- 通用多选框 -->
4
+ <template #checkedBox_header="{ column }">
5
+ <div style="display: flex;align-items: center;">
6
+ <el-checkbox v-model="column.params.all" @change="headerClick(column)"></el-checkbox>
7
+ <span style="margin-left: 5px;">{{ column.title }} </span>
8
+
9
+ </div>
10
+ </template>
11
+ <template #seq="{ rowIndex}">
12
+ <vxe-button size="mini" style="padding:0" type="text">
13
+ <span class="vxe-icon-sort"/>{{ rowIndex + 1 }}
14
+ </vxe-button>
15
+ </template>
16
+ <template #checkedBox_default="{ column, row }">
17
+ <el-checkbox v-model="row[column.field]" @change="checkBoxClick(column, row)"></el-checkbox>
18
+ </template>
19
+ <template #select_com="{ column, row }">
20
+ <el-select v-model="row[column.field]" clearable placeholder="计算类型" @change="gridOptions1.refresh()" size="small">
21
+ <el-option v-for="type in ['sum','avg','max','min']" :key="type" :value="type" :label="type"></el-option>
22
+ </el-select>
23
+ </template>
24
+ </vxe-grid>
25
+ </template>
26
+ <script>
27
+ import {get} from "@/utils/http/httpUtils";
28
+ import {updateSort} from "@/utils/TableSortUtil";
29
+
30
+ export default {
31
+ name: 'columnIndex',
32
+ data() {
33
+ return {
34
+ gridOptions: {
35
+ border: true,
36
+ keepSource: true,
37
+ showOverflow: true,
38
+ loading: false,
39
+ height: 'auto',
40
+ size: 'mini',
41
+ align: 'center',
42
+ scrollX: {enabled: true, gt: 15},
43
+ scrollY: {enabled: true, gt: 0},
44
+ columnConfig: {
45
+ resizable: true
46
+ },
47
+ rowConfig: {
48
+ useKey: true
49
+ },
50
+ expandConfig: {
51
+ labelField: 'seq'
52
+ },
53
+ editConfig: {
54
+ trigger: 'click',
55
+ mode: 'row',
56
+ showStatus: true,
57
+ }
58
+ ,
59
+ checkboxConfig: {
60
+ showHeader: false
61
+ }
62
+ ,
63
+ columns: [
64
+ {
65
+ field: 'sort',
66
+ width: 70,
67
+ className: 'move',
68
+ title: "序号",
69
+ slots: {
70
+ default: 'seq'
71
+ }
72
+ },
73
+ {
74
+ field: 'title',
75
+ minWidth: 110,
76
+ title: '列名称'
77
+ },
78
+ {
79
+ field: 'visible',
80
+ params: {
81
+ all: 0
82
+ },
83
+ slots: {
84
+ header: 'checkedBox_header',
85
+ default: 'checkedBox_default'
86
+ },
87
+ width: 70,
88
+ title: '显示'
89
+ },
90
+ {
91
+ minWidth: 70,
92
+ title: '分组',
93
+ field: 'group',
94
+ slots: {
95
+ default: 'checkedBox_default'
96
+ },
97
+ }, {
98
+ field: 'computes',
99
+ minWidth: 100,
100
+ title: '计算',
101
+ slots: {
102
+ default: 'select_com'
103
+ },
104
+ },{
105
+ field: 'footer',
106
+ minWidth: 100,
107
+ title: '表尾',
108
+ slots: {
109
+ default: 'select_com'
110
+ },
111
+ },
112
+ /*{
113
+ field: 'align',
114
+ params: {
115
+ dictCode: 'align'
116
+ },
117
+ slots: {
118
+ default: 'select_default'
119
+ },
120
+ width: 100,
121
+ title: '对齐'
122
+ }*/
123
+ ],
124
+ toolbarConfig: {},
125
+ data: []
126
+ },
127
+ }
128
+ },
129
+ inject: ['gridOptions1'],
130
+ methods: {
131
+ headerClick(column) {
132
+ this.gridOptions.data.forEach(item => {
133
+ item[column.field] = column.params.all ? '1' : '0'
134
+ })
135
+ if (column.params.all == '0') {
136
+ //全不选的时候
137
+ if (column.field == 'addDisplay') {
138
+ this.$emit("checkBoxAll", {
139
+ checkBoxName: "add",
140
+ isAll: false,
141
+ list: this.gridOptions.data
142
+ })
143
+ } else if (column.field == 'editDisplay') {
144
+ this.$emit("checkBoxAll", {
145
+ checkBoxName: "edit",
146
+ isAll: false,
147
+ list: this.gridOptions.data
148
+ })
149
+ }
150
+ } else if (column.params.all == '1') {
151
+ //全选
152
+ if (column.field == 'addDisplay') {
153
+ this.$emit("checkBoxAll", {
154
+ checkBoxName: "add",
155
+ isAll: true,
156
+ list: this.gridOptions.data
157
+ })
158
+ } else if (column.field == 'editDisplay') {
159
+ this.$emit("checkBoxAll", {
160
+ checkBoxName: "edit",
161
+ isAll: true,
162
+ list: this.gridOptions.data
163
+ })
164
+ }
165
+ }
166
+ },
167
+ checkBoxClick(column, row) {
168
+ let f = true
169
+ this.gridOptions.data.forEach(item => {
170
+ if (!item[column.visible]) {
171
+ f = false
172
+ }
173
+ })
174
+ if(column.params){
175
+ column.params.all = f
176
+ }
177
+ this.gridOptions1.refresh()
178
+ },
179
+ init(data) {
180
+ this.gridOptions.loading = true
181
+ this.gridOptions.data = this.gridOptions1.columns;
182
+ this.gridOptions.loading = false
183
+ },
184
+ getData() {
185
+ return this.gridOptions.data
186
+ }
187
+ }, mounted() {
188
+ updateSort(this.$refs.vexGridRef, this.gridOptions)
189
+ }, created() {
190
+ }
191
+ }
192
+ </script>
193
+ <style scoped>
194
+ </style>
@@ -0,0 +1,92 @@
1
+ <template>
2
+ <el-drawer v-model="show" :with-header="true" direction="rtl" size="25%">
3
+ <template #default>
4
+ <ColumnIndex ref="columnIndex"/>
5
+ </template>
6
+ <template #footer>
7
+ <div style="flex: auto;display: flex;justify-content: center;">
8
+ <el-button @click="cancelClick" :loading="loading">取消</el-button>
9
+ <el-button type="primary" @click="confirmClick" :loading="loading">保存</el-button>
10
+ </div>
11
+ </template>
12
+ </el-drawer>
13
+ </template>
14
+ <script>
15
+ import ColumnIndex from "./columnIndex.vue";
16
+
17
+ export default {
18
+ name: 'tableColumnConfig',
19
+ components: {
20
+ ColumnIndex,
21
+ },
22
+ data() {
23
+ return {
24
+ uuid: '',
25
+ show: false,
26
+ loading: true,
27
+ }
28
+ },
29
+ methods: {
30
+ cancelClick() {
31
+ this.show = false;
32
+ },
33
+ confirmClick() {
34
+ let data = this.$refs.columnIndex.getData();
35
+ let datas = JSON.parse(JSON.stringify(data));
36
+ let i = 1;
37
+ for (let data1 of datas) {
38
+ i++;
39
+ data1.sort = i;
40
+ }
41
+ this.loading = true;
42
+ /* put(this.http, '/online/tableConfigColumn/editBatch', datas).then(res => {
43
+ if (res) {
44
+ this.$emit('ok');
45
+ this.show = false;
46
+ }
47
+ }).finally(() => {
48
+ this.loading = false;
49
+ })*/
50
+ },
51
+ open(data, id) {
52
+ this.show = true;
53
+ this.loading = true;
54
+ this.uuid = id;
55
+ this.$nextTick(() => {
56
+ this.$refs.columnIndex.init(data)
57
+ this.loading = false;
58
+ })
59
+ },
60
+ }
61
+ }
62
+ </script>
63
+ <style lang="less" scoped>
64
+ .page-left {
65
+ position: absolute;
66
+ left: 10px;
67
+ top: 50%;
68
+ transform: translateY(-50%);
69
+ z-index: 10;
70
+ }
71
+
72
+ .vxe-pager {
73
+ height: 35px;
74
+ top: 5px;
75
+ }
76
+
77
+ .container :deep(.el-drawer__header) {
78
+ padding: 0px 20px;
79
+ margin-bottom: 0px;
80
+ }
81
+
82
+ .el-tag:hover {
83
+ background-color: #f56c6c; /* 红色背景 */
84
+ color: #fff; /* 白色文字 */
85
+ cursor: pointer;
86
+ }
87
+
88
+ :deep(.move) {
89
+ cursor: move;
90
+ }
91
+
92
+ </style>