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,333 @@
1
+ <template>
2
+ <el-form :model="configData.form"
3
+ label-position="right"
4
+ label-width="100px"
5
+ ref="formRef"
6
+ class="el-form-globals">
7
+ <el-row>
8
+ <el-col :xs="24" :sm="12" :md="12" :lg="3">
9
+ <el-form-item label="序号:" prop="seq">
10
+ <el-switch v-model="configData.form.seq"
11
+ @change="seqChange"
12
+ inline-prompt
13
+ active-value="1"
14
+ inactive-value="0"
15
+ active-icon="Check"
16
+ inactive-icon="Close"/>
17
+ </el-form-item>
18
+ </el-col>
19
+ <el-col :xs="24" :sm="12" :md="12" :lg="6">
20
+ <el-form-item label="表格选择框:" prop="selectBox">
21
+ <el-radio-group v-model="configData.form.selectBox">
22
+ <el-radio border v-for="(item, index) in selectBoxOptions" :key="index" :label="item.value" :value="item.value" style="{display: inline}">{{ item.label }}
23
+ </el-radio>
24
+ </el-radio-group>
25
+ </el-form-item>
26
+ </el-col>
27
+ <el-col :xs="24" :sm="12" :md="12" :lg="9">
28
+ <el-form-item label="左工具栏按钮:" prop="toolBut">
29
+ <el-checkbox-group v-model="configData.form.toolBut" @change="updateBtn('toolBut')">
30
+ <el-checkbox border v-for="(item, index) in configData.toolButConfig.filter(o=>o.alignMode == 'left')" :key="index" :value="item.code" :label="item.code"
31
+ :disabled="item.disabled" style="{display: inline;margin-right: 10px;}">{{ item.name }}
32
+ </el-checkbox>
33
+ </el-checkbox-group>
34
+ </el-form-item>
35
+ </el-col>
36
+ <el-col :xs="24" :sm="12" :md="12" :lg="6">
37
+ <el-form-item label="表格操作栏:" prop="operationBut">
38
+ <el-checkbox-group v-model="configData.form.operationBut" @change="updateBtn('operationBut')">
39
+ <el-checkbox border v-for="(item, index) in configData.operationButConfig" :key="index" :label="item.code" :value="item.code"
40
+ :disabled="item.disabled" style="{display: inline}">{{ item.name }}
41
+ </el-checkbox>
42
+ </el-checkbox-group>
43
+ </el-form-item>
44
+ </el-col>
45
+ </el-row>
46
+ <el-row>
47
+ <el-col :xs="24" :sm="12" :md="12" :lg="3">
48
+ <el-form-item label="首次自动查询:" prop="init">
49
+ <el-switch v-model="configData.form.init"
50
+ inline-prompt
51
+ active-value="1"
52
+ inactive-value="0"
53
+ active-icon="Check"
54
+ inactive-icon="Close"/>
55
+ </el-form-item>
56
+ </el-col>
57
+ <el-col :xs="24" :sm="12" :md="12" :lg="6">
58
+ <el-form-item label="分页\分组:" prop="paging">
59
+ <el-radio-group v-model="configData.form.paging">
60
+ <el-radio border v-for="(item, index) in selectBoxPaging" :key="index" :label="item.value" :value="item.value" style="{display: inline}">{{ item.label }}
61
+ </el-radio>
62
+ </el-radio-group>
63
+ </el-form-item>
64
+ </el-col>
65
+ <el-col :xs="24" :sm="12" :md="7" :lg="9">
66
+ <el-form-item label="右工具栏按钮:" prop="toolBut">
67
+ <el-checkbox-group v-model="configData.form.toolBut" @change="updateBtn('toolBut')">
68
+ <el-checkbox border v-for="(item, index) in configData.toolButConfig.filter(o=>o.alignMode == 'right')" :key="index" :label="item.code" :value="item.code"
69
+ :disabled="item.disabled" style="{display: inline;margin-right: 10px;}">{{ item.name }}
70
+ </el-checkbox>
71
+ </el-checkbox-group>
72
+ </el-form-item>
73
+ </el-col>
74
+ <el-col :xs="24" :sm="12" :md="12" :lg="3">
75
+ <el-form-item label="树表:" prop="tree">
76
+ <el-switch @change="treeChange" v-model="configData.form.tree"
77
+ inline-prompt
78
+ active-value="1"
79
+ inactive-value="0"
80
+ active-icon="Check"
81
+ inactive-icon="Close"/>
82
+ </el-form-item>
83
+ </el-col>
84
+ <el-col v-if="show" :xs="24" :sm="12" :md="5" :lg="5">
85
+ <el-form-item label="树ID:" prop="treeId">
86
+ <el-select v-model="configData.form.treeId" class="full-width-input" clearable>
87
+ <el-option v-for="(item, index) in configDataSource.columns" :key="index" :label="item.title"
88
+ :value="item.field" :disabled="item.disabled"></el-option>
89
+ </el-select>
90
+ </el-form-item>
91
+ </el-col>
92
+ <el-col v-if="show" :xs="24" :sm="12" :md="5" :lg="5">
93
+ <el-form-item label="树列父ID:" prop="treeParentId">
94
+ <el-select v-model="configData.form.treeParentId" class="full-width-input" clearable>
95
+ <el-option v-for="(item, index) in configDataSource.columns" :key="index" :label="item.title"
96
+ :value="item.field" :disabled="item.disabled"></el-option>
97
+ </el-select>
98
+ </el-form-item>
99
+ </el-col>
100
+ <el-col v-if="show" :xs="24" :sm="12" :md="5" :lg="5">
101
+ <el-form-item label="展开列:" prop="openColumn">
102
+ <el-select v-model="configData.form.openColumn" class="full-width-input" clearable>
103
+ <el-option v-for="(item, index) in configDataSource.columns" :key="index" :label="item.title"
104
+ :value="item.field" :disabled="item.disabled"></el-option>
105
+ </el-select>
106
+ </el-form-item>
107
+ </el-col>
108
+ </el-row>
109
+ </el-form>
110
+
111
+ </template>
112
+
113
+ <script>
114
+ import {
115
+ defineComponent,
116
+ toRefs,
117
+ reactive,
118
+ getCurrentInstance, inject, nextTick, onMounted
119
+ }
120
+ from 'vue'
121
+
122
+ export default defineComponent({
123
+ name: 'tableForm',
124
+ components: {},
125
+ setup() {
126
+ const configData = inject("configData")
127
+ const updateBtn = inject('updateBtn', Function, true)
128
+ const state = reactive({
129
+ show: configData.form.tree == '1',
130
+ formData: {
131
+ paging: false,
132
+ seq: null,
133
+ selectBox: null,
134
+ toolBut: [],
135
+ init: false,
136
+ tree: false,
137
+ operationBut: [],
138
+ },
139
+ rules: {},
140
+ selectBoxPaging: [
141
+ {
142
+ label: '分页',
143
+ value: '1',
144
+ }, {
145
+ label: '不分页',
146
+ value: '0'
147
+ }, {
148
+ label: '分组',
149
+ value: '2'
150
+ }],
151
+ selectBoxOptions: [
152
+ {
153
+ label: '多选',
154
+ value: '2',
155
+ }, {
156
+ label: '单选',
157
+ value: '1'
158
+ }, {
159
+ label: '无',
160
+ value: '0'
161
+ }],
162
+ })
163
+ const configDataSource = reactive({
164
+ toolButConfig: [],
165
+ operationButConfig: [],
166
+ show: false,
167
+ columns: [],
168
+ })
169
+ const treeChange = (val) => {
170
+ state.show = val == '1'
171
+ if (val == '1') {
172
+ initColumn()
173
+ }
174
+ }
175
+ const seqChange = (val) => {
176
+ if (val == '1') {
177
+ initColumn()
178
+ }
179
+ }
180
+ const setData = (data) => {
181
+
182
+ }
183
+ const initColumn = (c) => {
184
+ configDataSource.columns.length = 0
185
+ if (configData.form.seq == '1') {
186
+ let column = {
187
+ type: "seq",
188
+ field: 'seq',
189
+ width: 60,
190
+ title: "序号",
191
+ }
192
+ configDataSource.columns.push(column);
193
+ }
194
+ for (let column of JSON.parse(JSON.stringify(configData.tableColumn))) {
195
+ configDataSource.columns.push(column)
196
+ }
197
+ if (c && !configData.form['openColumn']) {
198
+ nextTick(() => {
199
+ configData.form['openColumn'] = configData.form['treeId']
200
+ })
201
+ }
202
+ }
203
+ // 初始化
204
+ const init = () => {
205
+ initColumn()
206
+ }
207
+ const instance = getCurrentInstance()
208
+ const submitForm = () => {
209
+ instance.proxy.$refs['vForm'].validate(valid => {
210
+ if (!valid) return
211
+ //TODO: 提交表单
212
+ })
213
+ }
214
+ const resetForm = () => {
215
+ instance.proxy.$refs['vForm'].resetFields()
216
+ }
217
+ onMounted(()=>{
218
+ init();
219
+ })
220
+ return {
221
+ ...toRefs(state),
222
+ submitForm,
223
+ resetForm,
224
+ treeChange,
225
+ seqChange,
226
+ init,
227
+ setData,
228
+ initColumn,
229
+ configData,
230
+ configDataSource,
231
+ updateBtn
232
+ }
233
+ }
234
+ })
235
+
236
+ </script>
237
+
238
+ <style lang="scss">
239
+ .el-input-number.full-width-input,
240
+ .el-cascader.full-width-input {
241
+ width: 100% !important;
242
+ }
243
+
244
+ .el-form-item--medium {
245
+ .el-radio {
246
+ line-height: 36px !important;
247
+ }
248
+
249
+ .el-rate {
250
+ margin-top: 8px;
251
+ }
252
+ }
253
+
254
+ .el-form-item--small {
255
+ .el-radio {
256
+ line-height: 32px !important;
257
+ }
258
+
259
+ .el-rate {
260
+ margin-top: 6px;
261
+ }
262
+ }
263
+
264
+ .el-form-item--mini {
265
+ .el-radio {
266
+ line-height: 28px !important;
267
+ }
268
+
269
+ .el-rate {
270
+ margin-top: 4px;
271
+ }
272
+ }
273
+
274
+ .clear-fix:before,
275
+ .clear-fix:after {
276
+ display: table;
277
+ content: "";
278
+ }
279
+
280
+ .clear-fix:after {
281
+ clear: both;
282
+ }
283
+
284
+ .float-right {
285
+ float: right;
286
+ }
287
+
288
+ </style>
289
+
290
+ <style lang="scss" scoped>
291
+ div.table-container {
292
+ table.table-layout {
293
+ width: 100%;
294
+ table-layout: fixed;
295
+ border-collapse: collapse;
296
+
297
+ td.table-cell {
298
+ display: table-cell;
299
+ height: 36px;
300
+ border: 1px solid #e1e2e3;
301
+ }
302
+ }
303
+ }
304
+
305
+ div.tab-container {
306
+ }
307
+
308
+ .label-left-align :deep(.el-form-item__label) {
309
+ text-align: left;
310
+ }
311
+
312
+ .label-center-align :deep(.el-form-item__label) {
313
+ text-align: center;
314
+ }
315
+
316
+ .label-right-align :deep(.el-form-item__label) {
317
+ text-align: right;
318
+ }
319
+
320
+ .custom-label {
321
+ }
322
+
323
+ .static-content-item {
324
+ min-height: 20px;
325
+ display: flex;
326
+ align-items: center;
327
+
328
+ :deep(.el-divider--horizontal) {
329
+ margin: 0;
330
+ }
331
+ }
332
+
333
+ </style>