olp-table 5.3.7 → 5.5.1

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/{olp-table/olp-table.common.js → olp-table.common.js} +67 -67
  2. package/{olp-table/olp-table.umd.js → olp-table.umd.js} +67 -67
  3. package/{olp-table/olp-table.umd.min.js → olp-table.umd.min.js} +67 -67
  4. package/package.json +7 -87
  5. package/.env.build +0 -1
  6. package/.env.prod +0 -1
  7. package/README.md +0 -26
  8. package/babel.config.js +0 -5
  9. package/jsconfig.json +0 -22
  10. package/public/favicon.ico +0 -0
  11. package/public/index.html +0 -17
  12. package/rmMode.bat +0 -1
  13. package/src/App.vue +0 -199
  14. package/src/api/crud.js +0 -22
  15. package/src/api/dist.js +0 -6
  16. package/src/assets/iconfont/iconfont.css +0 -20
  17. package/src/assets/iconfont/iconfont.json +0 -16
  18. package/src/assets/iconfont/iconfont.ttf +0 -0
  19. package/src/assets/iconfont/iconfont.woff +0 -0
  20. package/src/assets/iconfont/iconfont.woff2 +0 -0
  21. package/src/assets/logo.png +0 -0
  22. package/src/components/auto-height/index.vue +0 -75
  23. package/src/components/codemirror-tag.vue +0 -100
  24. package/src/components/lazy-load-select.vue +0 -107
  25. package/src/components/ol-dialog-excel.vue +0 -112
  26. package/src/components/ol-dialog-import.vue +0 -304
  27. package/src/components/ol-dialog-json.vue +0 -83
  28. package/src/components/ol-dialog-table.vue +0 -81
  29. package/src/components/ol-dialog-upload-file.vue +0 -208
  30. package/src/components/ol-dict-tag.vue +0 -271
  31. package/src/components/ol-select-dom.vue +0 -71
  32. package/src/components/ol-table-filter.vue +0 -28
  33. package/src/components/ol-table-render.vue +0 -44
  34. package/src/components/ol-table-select.vue +0 -154
  35. package/src/components/pinia-init.vue +0 -18
  36. package/src/components/table/model/ModelMixins.js +0 -43
  37. package/src/components/table/model/model-index.vue +0 -124
  38. package/src/components/table/model/ot-left-right.vue +0 -18
  39. package/src/components/table/model/ot-left-tree-right-table.scss +0 -14
  40. package/src/components/table/model/ot-left-tree-right-table.vue +0 -41
  41. package/src/components/table/model/ot-top-1-bottom-2.vue +0 -39
  42. package/src/components/table/model/ot-top-2-bottom-1.vue +0 -38
  43. package/src/components/table/model/ot-top-2-bottom-2.vue +0 -38
  44. package/src/components/table/model/ot-top-bottom.vue +0 -18
  45. package/src/components/table/model/splitpanesModel.css +0 -22
  46. package/src/components/table/model/splitpanesModel.vue +0 -54
  47. package/src/components/table/ol-form/index.vue +0 -544
  48. package/src/components/table/ol-form-v3/index.vue +0 -455
  49. package/src/components/table/ol-main-form-sub-table/index.vue +0 -611
  50. package/src/components/table/ol-pager/index.vue +0 -46
  51. package/src/components/table/ol-table/components/ol-table-column-config/columnIndex.vue +0 -233
  52. package/src/components/table/ol-table/components/ol-table-column-config/index.vue +0 -145
  53. package/src/components/table/ol-table/components/ol-table-column-dict-color/index.vue +0 -88
  54. package/src/components/table/ol-table/index.vue +0 -232
  55. package/src/components/table/ol-table-operate/index.vue +0 -61
  56. package/src/components/table/ol-table-search/index.vue +0 -17
  57. package/src/components/table/ol-table-tool-btn/index.vue +0 -60
  58. package/src/components/tree/components/o-tree.vue +0 -289
  59. package/src/components/tree/index.vue +0 -46
  60. package/src/components/v-component/index.vue +0 -43
  61. package/src/config/dev-config.js +0 -5
  62. package/src/config/prod-config.js +0 -5
  63. package/src/config/shared-config.js +0 -20
  64. package/src/data.js +0 -9378
  65. package/src/directives/permission/hasPermi.js +0 -63
  66. package/src/directives/permission/hasRole.js +0 -30
  67. package/src/main.js +0 -55
  68. package/src/mixins/VTMixin/DefaultMethods.js +0 -821
  69. package/src/mixins/VTMixin/OTMixinBody.js +0 -105
  70. package/src/mixins/VTMixin/OTMixinBodyFooter.js +0 -93
  71. package/src/mixins/VTMixin/OTMixinBodyMethods.js +0 -421
  72. package/src/mixins/VTMixin/OTMixinColumnMethod.js +0 -454
  73. package/src/mixins/VTMixin/OTMixinInitMethod.js +0 -130
  74. package/src/mixins/VTMixin/OTMixinPager.js +0 -38
  75. package/src/mixins/VTMixin/OTMixinSortable.js +0 -43
  76. package/src/mixins/VTMixin/index.js +0 -18
  77. package/src/package/index.js +0 -20
  78. package/src/plugins/axios.js +0 -61
  79. package/src/store/dict.js +0 -76
  80. package/src/store/dictType.js +0 -52
  81. package/src/store/permi.js +0 -45
  82. package/src/styles/common.scss +0 -37
  83. package/src/styles/index.scss +0 -48
  84. package/src/styles/theme.scss +0 -32
  85. package/src/utils/AESCRUDUtils.js +0 -87
  86. package/src/utils/DateUtils.js +0 -35
  87. package/src/utils/ExcelUtil.js +0 -159
  88. package/src/utils/TableSortUtil.js +0 -91
  89. package/src/utils/columnProp.js +0 -3
  90. package/src/utils/groupCompute.js +0 -68
  91. package/src/utils/http/httpFactory.js +0 -92
  92. package/src/utils/http/httpFactory2.js +0 -79
  93. package/src/utils/http/httpUtil.js +0 -123
  94. package/src/utils/http/httpUtils.js +0 -38
  95. package/src/utils/loadStyle.js +0 -14
  96. package/src/utils/message.js +0 -56
  97. package/src/utils/object.js +0 -80
  98. package/src/utils/security/TokenUtil.js +0 -19
  99. package/src/utils/tree.js +0 -54
  100. package/src/utils/util.js +0 -127
  101. package/src/views/Test/index.vue +0 -77
  102. package/src/views/Test/index2.vue +0 -33
  103. package/src/views/components/btn-config/index.vue +0 -202
  104. package/src/views/components/option-config/index.vue +0 -192
  105. package/src/views/db/chineseToEnglish.vue +0 -127
  106. package/src/views/db/filed.vue +0 -395
  107. package/src/views/db/index.vue +0 -192
  108. package/src/views/db/preview/index.vue +0 -139
  109. package/src/views/db/preview/left.vue +0 -204
  110. package/src/views/db/preview/right.vue +0 -466
  111. package/src/views/groupTable/index.vue +0 -137
  112. package/src/views/groupTable/ol-table-column-config/columnIndex.vue +0 -194
  113. package/src/views/groupTable/ol-table-column-config/index.vue +0 -92
  114. package/src/views/table/add-or-edit/config/base-config/index.vue +0 -539
  115. package/src/views/table/add-or-edit/config/base-config/table-form.vue +0 -333
  116. package/src/views/table/add-or-edit/config/column-config/header-config.vue +0 -475
  117. package/src/views/table/add-or-edit/config/column-config/index.vue +0 -790
  118. package/src/views/table/add-or-edit/config/data/column.js +0 -218
  119. package/src/views/table/add-or-edit/config/data/crud.js +0 -122
  120. package/src/views/table/add-or-edit/config/data/events.js +0 -109
  121. package/src/views/table/add-or-edit/config/data/method.js +0 -127
  122. package/src/views/table/add-or-edit/config/data/option.js +0 -725
  123. package/src/views/table/add-or-edit/config/data/page.js +0 -79
  124. package/src/views/table/add-or-edit/config/field-config/filed-config-table.vue +0 -42
  125. package/src/views/table/add-or-edit/config/field-config/index.vue +0 -91
  126. package/src/views/table/add-or-edit/config/form-config/index.vue +0 -1180
  127. package/src/views/table/add-or-edit/config/index.vue +0 -377
  128. package/src/views/table/add-or-edit/config/initFormObject.js +0 -25
  129. package/src/views/table/add-or-edit/config/script-config/LeftMeun.vue +0 -71
  130. package/src/views/table/add-or-edit/config/script-config/index.vue +0 -70
  131. package/src/views/table/add-or-edit/config/table-config/btn-config.vue +0 -340
  132. package/src/views/table/add-or-edit/config/table-config/btn-sort.vue +0 -132
  133. package/src/views/table/add-or-edit/config/table-config/index.vue +0 -446
  134. package/src/views/table/add-or-edit/configOld/dataTags/filed-config-table-model.vue +0 -41
  135. package/src/views/table/add-or-edit/configOld/dataTags/filed-config.vue +0 -74
  136. package/src/views/table/add-or-edit/configOld/dataTags/index.vue +0 -439
  137. package/src/views/table/add-or-edit/configOld/dataTags/set-table-sql.vue +0 -79
  138. package/src/views/table/add-or-edit/configOld/dataTags/table-on-config.vue +0 -74
  139. package/src/views/table/add-or-edit/configOld/index.vue +0 -127
  140. package/src/views/table/add-or-edit/configOld/tableTags/columnConfig.js +0 -5
  141. package/src/views/table/add-or-edit/configOld/tableTags/index.vue +0 -353
  142. package/src/views/table/add-or-edit/configOld/tableTags/operation-but-config.vue +0 -75
  143. package/src/views/table/add-or-edit/configOld/tableTags/tool-but-config.vue +0 -92
  144. package/src/views/table/add-or-edit/index.vue +0 -201
  145. package/src/views/table/add-or-edit/themeModel/index.vue +0 -53
  146. package/src/views/table/add-or-edit/themeModel/init-model-table.vue +0 -48
  147. package/src/views/table/add-or-edit/themeModel/init-model.vue +0 -81
  148. package/src/views/table/add-or-edit/themeModel/left-right.vue +0 -24
  149. package/src/views/table/add-or-edit/themeModel/left-tree-right-table.vue +0 -75
  150. package/src/views/table/add-or-edit/themeModel/olTableSearchModelMixins.js +0 -42
  151. package/src/views/table/add-or-edit/themeModel/splitpanesThemeModel.vue +0 -49
  152. package/src/views/table/add-or-edit/themeModel/top-1-bottom-2.vue +0 -29
  153. package/src/views/table/add-or-edit/themeModel/top-2-bottom-1.vue +0 -32
  154. package/src/views/table/add-or-edit/themeModel/top-2-bottom-2.vue +0 -32
  155. package/src/views/table/add-or-edit/themeModel/top-bottom.vue +0 -14
  156. package/src/views/table/index.vue +0 -43
  157. package/src/views/table/index2.vue +0 -199
  158. package/src/views/table/preview/index.vue +0 -29
  159. package/src/views/tree/components/config-core-data.vue +0 -85
  160. package/src/views/tree/components/config-core-table.vue +0 -362
  161. package/src/views/tree/components/config-core-tree/data/events.js +0 -95
  162. package/src/views/tree/components/config-core-tree/data/option.js +0 -88
  163. package/src/views/tree/components/config-core-tree/data/prop.js +0 -28
  164. package/src/views/tree/components/config-core-tree/index.vue +0 -181
  165. package/src/views/tree/components/config-core.vue +0 -42
  166. package/src/views/tree/components/form-config/index.vue +0 -967
  167. package/src/views/tree/index.vue +0 -424
  168. package/vue.config.js +0 -44
  169. /package/{olp-table/demo.html → demo.html} +0 -0
  170. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.7e4906d9.woff +0 -0
  171. /package/{olp-table/fonts → fonts}/iconfont.1720006583309.947a27f0.ttf +0 -0
@@ -1,377 +0,0 @@
1
- <template>
2
- <el-dialog
3
- v-model="show"
4
- :title="'配置中心 - '+provides.form.theme"
5
- width="90%"
6
- :close-on-press-escape="false"
7
- :close-on-click-modal="false"
8
- destroy-on-close
9
- :show-close="false"
10
- style="height: 800px;"
11
- align-center
12
- >
13
- <el-tabs v-model="activeName" @tab-change="updateShow" v-loading="loading"
14
- :element-loading-text="provides.loadingText"
15
- element-loading-background="rgba(122, 122, 122, 0.8)" :key="'config_el_tables_1'" style="height: 680px">
16
- <el-tab-pane label="数据配置" name="baseConfig">
17
- <BaseConfig :columns="columns" ref="baseConfig" @updateTable="updateTable" @loading="loading = $event"
18
- @updateCurd="updateCurd"/>
19
- </el-tab-pane>
20
- <el-tab-pane label="table配置" name="tableConfig">
21
- <TableConfig ref="tableConfig" @tableConfigChange="tableConfigChange"/>
22
- </el-tab-pane>
23
- <el-tab-pane label="列配置" name="columnConfig">
24
- <ColumnConfig :addVisible="provides.form.toolBut.indexOf('add') != -1"
25
- :editVisible="provides.form.operationBut.indexOf('edit') != -1" ref="columnConfig"
26
- @checkBoxChange="columnCheckBoxChange"
27
- @checkBoxAll="columnCheckBoxAll"/>
28
- </el-tab-pane>
29
- <el-tab-pane :label="item.name+'表单配置'" :name="item.code"
30
- v-for="item in provides.form.toolButOptions.filter(option=>option.isForm == 1)">
31
- <FormConfig :type="item.code" :ref="(el) => setRefMap(el, item.code)"/>
32
- </el-tab-pane>
33
- <!-- 编辑表单配置 -->
34
- <el-tab-pane :label="item.name+'表单配置'" :name="item.code"
35
- v-for="item in provides.form.operationButOptions.filter(option=>option.isForm == 1)">
36
- <FormConfig :type="item.code" :ref="(el) => setRefMap(el, item.code)"/>
37
- </el-tab-pane>
38
- <!-- <el-tab-pane label="新增表单配置" name="add" v-if="provides.form.toolBut.indexOf('add') != -1">
39
- <FormConfig type="add" :ref="(el) => setRefMap(el, 'add')"/>
40
- </el-tab-pane>
41
- <el-tab-pane label="编辑表单配置" name="edit" v-if="provides.form.operationBut.indexOf('edit') != -1">
42
- <FormConfig type="edit" :ref="(el) => setRefMap(el, 'edit')"/>
43
- </el-tab-pane>-->
44
- <!-- <el-tab-pane label="脚本配置" name="scriptConfig">
45
- <ScriptConfig ref="scriptConfig"/>
46
- </el-tab-pane>-->
47
- </el-tabs>
48
- <template #footer>
49
- <el-button @click="show = false;emits('configClose');" :loading="loading">取 消</el-button>
50
- <el-button type="primary" @click="saveClick" :loading="loading">保 存</el-button>
51
- </template>
52
- </el-dialog>
53
- </template>
54
- <script setup>
55
- import {nextTick, provide, reactive, ref, toRaw, defineExpose, defineEmits, inject} from "vue";
56
- import BaseConfig from "@/views/table/add-or-edit/config/base-config/index.vue";
57
- import ColumnConfig from "@/views/table/add-or-edit/config/column-config/index.vue";
58
- import TableConfig from "@/views/table/add-or-edit/config/table-config/index.vue";
59
- import FormConfig from "@/views/table/add-or-edit/config/form-config/index.vue";
60
- import initFormObject from "@/views/table/add-or-edit/config/initFormObject.js";
61
- import ScriptConfig from "@/views/table/add-or-edit/config/script-config/index.vue";
62
- import {post, get} from "@/utils/http/httpUtils";
63
- import {useMessage} from "@/utils/message";
64
-
65
- const msg = useMessage() // 消息弹窗
66
- const refMap = ref({});
67
-
68
- const setRefMap = (el, item) => {
69
- if (el) {
70
- refMap.value[item] = el
71
- }
72
- }
73
- const http = inject("http")
74
- const show = ref(false);
75
- const loading = ref(true);
76
- const baseConfig = ref(null);
77
- const tableConfig = ref(null);
78
- const columnConfig = ref(null);
79
- const columns = ref([])
80
- const provides = reactive({
81
- loadingText: '正在获取数据...',
82
- form: {
83
- mainTable: '',
84
- hump: '0',
85
- definitionSql: '0',
86
- executeSql: '',
87
- executeWhere: '',
88
- parameterDefault: '',
89
- paging: '1',
90
- selectBox: '2',
91
- tips: '1',
92
- tree: '0',
93
- treeParentId: '',
94
- openColumn: '',
95
- operationBut: [],
96
- tableDelete: {},
97
- toolBut: [],
98
- parentId: '',
99
- theme: '',
100
- toolButOptions: [],
101
- operationButOptions: [],
102
- },
103
- updateIndex: 0,
104
- tableColumn: [],
105
- tableOption: '{}',
106
- operationButConfig: [],
107
- toolButConfig: [],
108
- })
109
-
110
- const activeName = ref('baseConfig')
111
-
112
- //列配置多选框更新
113
- const columnCheckBoxChange = ({row, column}) => {
114
- nextTick(() => {
115
- if (column.field == 'addDisplay' && refMap.value['add']) {
116
- //新增多选点击
117
- refMap.value['add'].updateData(row, column)
118
- } else if (column.field == 'editDisplay' && refMap.value['edit']) {
119
- refMap.value['edit'].updateData(row, column)
120
- }
121
- })
122
- }
123
-
124
- function updateShow(v) {
125
- if (v == 'columnConfig') {
126
- columnConfig.value.setShow(true);
127
- } else if (refMap.value[v]) {
128
- refMap.value[v].setShow(true);
129
- }
130
- }
131
-
132
- //列配置全选框更新
133
- const columnCheckBoxAll = ({checkBoxName, isAll, list}) => {
134
- nextTick(() => {
135
- //新增全选和全不选
136
- if (refMap.value[checkBoxName]) {
137
- refMap.value[checkBoxName].setAll({list, isAll})
138
- }
139
- })
140
- }
141
-
142
- function setOtherProp(item) {
143
- let filedToOtherProp = Object.keys(item).filter(item => item.indexOf("ToOtherProp") != -1);
144
- if (filedToOtherProp.length != 0) {
145
- let otherProp = {};
146
- if (item.otherProp) {
147
- try {
148
- otherProp = JSON.parse(item.otherProp)
149
- if(!otherProp){
150
- otherProp = {};
151
- }
152
- }catch (e) {
153
- }
154
- }
155
- for (let filed of filedToOtherProp) {
156
- if(item[filed] != undefined){
157
- otherProp[filed] = item[filed];
158
- }
159
- }
160
- //将展开行的表单设置为json的形式传给其他属性
161
- item.otherProp = JSON.stringify(otherProp)
162
- }
163
- }
164
-
165
- //点击保存
166
- const saveClick = () => {
167
- let columnConfigData = columnConfig.value.gridOptions.data
168
- baseConfig.value.parseData(provides.form);
169
- if ((provides.form.toolBut.indexOf("batchDelete") != -1 || provides.form.operationBut.indexOf("delete") != -1) && !provides.form.deleteWhere) {
170
- msg.error("您启用删除功能,请填写删除条件!")
171
- return;
172
- }
173
- let tableConfigData = tableConfig.value
174
- //保存列配置
175
- columnConfigData.forEach(item => {
176
- setOtherProp(item);
177
- item.field = item.field.toString().trim()
178
- //下拉值为空字符串时置为Null处理
179
- item.selectType = item.selectType != '' ? item.selectType : null
180
- item.tableField = item.tableField ? item.tableField : item.field
181
- item.fixed = item.fixed != '' ? item.fixed : null
182
- item.selectDom = item.selectDom != '' ? item.selectDom : null
183
- })
184
- provides.tableColumn = columnConfigData
185
- provides.tableGroupHeader = columnConfig.value.getGroupColumnData()
186
- provides.form.optionJson = JSON.stringify(tableConfigData.getOptions())
187
- if (refMap.value['add'] && refMap.value['add'].getData()) {
188
- try {
189
- JSON.parse(refMap.value['add'].getData().codeForm)
190
- } catch (e) {
191
- console.error(e)
192
- msg.error('解析编码设计json失败,请检查对象格式是否正确' + e)
193
- return;
194
- }
195
- }
196
- setFormList();
197
- if (provides.form.operationBut.includes('edit') && provides.formMainList) {
198
- for (const item of provides.formMainList) {
199
- // 基础表单 编辑时,更新条件或保存路径不能为空!
200
- if (item.formMain.designer == '0'
201
- && item.formMain.formType == 'edit'
202
- && item.formMain.updateKey.trim() == '' && item.formMain.saveUrl.trim() == '') {
203
- activeName.value = 'edit'
204
- msg.error("基础表单 编辑时,更新条件或保存路径不能为空!")
205
- return;
206
- }
207
- }
208
- }
209
- saveData()
210
- }
211
-
212
- function setFormList() {
213
- //保存新增和编辑表单配置
214
- provides.formMainList = [];
215
- for (let key of Object.keys(refMap.value)) {
216
- provides.formMainList.push(getFormMain(refMap.value[key]));
217
- }
218
- }
219
-
220
- function getFormMain(formConfig) {
221
- let form = formConfig.getForm();
222
- let formConfigData = formConfig.getData();
223
- let formMain = {
224
- uuid: provides.form.uuid,
225
- }
226
- let formJson = {};
227
- if (formConfigData) {
228
- formMain.designer = "" + formConfigData.designer; //表单类型 (0)基础表单 (1)自定义表单
229
- formMain.customForm = formConfigData.customForm;
230
- formJson.optionJson = formConfigData.codeForm;
231
- formJson.customJson = JSON.stringify(formConfigData.customJson);
232
- }
233
- for (let key of Object.keys(form)) {
234
- formMain[key] = form[key];
235
- }
236
- return {
237
- formMain,
238
- formJson
239
- }
240
- }
241
-
242
- function saveData() {
243
- loading.value = true;
244
- // baseConfig.value.setDeleteTable();
245
- post(http, "/online/tableConfig/saveJson", toRaw(provides), undefined, false).then(({code}) => {
246
- if (code == 200) {
247
- show.value = false;
248
- nextTick(() => {
249
- emits('configClose', provides.form.theme);
250
- })
251
- }
252
- }).finally(() => {
253
- loading.value = false;
254
- })
255
- }
256
-
257
-
258
- //数据配置更新数据表
259
- function updateTable(data) {
260
- columnConfig.value.updateData(data)
261
- loading.value = false
262
- }
263
-
264
- const updateCurd = () => {
265
- columnConfig.value.setAddDisplay("1")
266
- columnConfig.value.setEditDisplay("1")
267
- }
268
-
269
- //配置中心更新数据
270
- function tableConfigChange(map) {
271
- columnConfig.value.updateColumnConfig(map)
272
- }
273
-
274
- const updateBtnData = (options, type) => {
275
- let butType = type.substr(0, type.indexOf('Options'));
276
- for (let i = options.length - 1; i >= 0; i--) {
277
- let o = options[i];
278
- if (provides.form[butType].indexOf(o.code) == -1) {
279
- provides.form[butType].push(o.code)
280
- }
281
- }
282
- provides.form[type] = options
283
- }
284
-
285
- function initForm(res) {
286
- res.form = JSON.parse(JSON.stringify(initFormObject));
287
- res.tableColumn = [];
288
- }
289
-
290
- function parseOtherProp(res) {
291
- if(!res.tableColumn){
292
- return
293
- }
294
- for (let column of res.tableColumn) {
295
- if (column.otherProp && column.otherProp != '') {
296
- try {
297
- let otherProp = JSON.parse(column.otherProp);
298
- for (let key of Object.keys(otherProp)) {
299
- column[key] = otherProp[key];
300
- }
301
- }catch (e){}
302
- }
303
- }
304
- }
305
-
306
- function init({o, v}) {
307
- show.value = true;
308
- loading.value = true;
309
- provides.loadingText = "正在加载数据...";
310
- get(http, "/online/tableConfig/getJson", {uuid: v.uuid, theme: o}).then(res => {
311
- parseOtherProp(res);
312
- provides.toolButConfig = res.toolButConfig;
313
- provides.operationButConfig = res.operationButConfig;
314
- if (res.newConfig) {
315
- initForm(res);
316
- res.form.parentId = v.parentId;
317
- res.form.uuid = v.uuid;
318
- res.form.theme = o;
319
- }
320
- provides.form = res.form;
321
- if (!res.form.optionJson) {
322
- res.form.optionJson = "{}"
323
- }
324
- // 将json解析为对象
325
- provides.form.optionObj = JSON.parse(res.form.optionJson)
326
- if (provides.form.optionObj.table) {
327
- provides.form.tableObj = provides.form.optionObj.table
328
- } else {
329
- provides.form.tableObj = {}
330
- }
331
- provides.tableColumn = res.tableColumn;
332
- columnConfig.value.setData(res.tableColumn)
333
- baseConfig.value.setData(res.form);
334
- tableConfig.value.setData(res.form)
335
- nextTick(() => {
336
- if (res.formMainList) {
337
- for (let obj of provides.form.toolButOptions) {
338
- let data = res.formMainList[obj.code];
339
- if (data && refMap.value[obj.code]) {
340
- refMap.value[obj.code].setData(data)
341
- }
342
- }
343
- for (let obj of provides.form.operationButOptions) {
344
- let data = res.formMainList[obj.code];
345
- if (data && refMap.value[obj.code]) {
346
- refMap.value[obj.code].setData(data)
347
- }
348
- }
349
- }
350
- })
351
- loading.value = false;
352
- }).catch(() => {
353
- loading.value = false;
354
- })
355
- }
356
-
357
-
358
- provide('configData', provides);
359
- provide('updateBtnData', updateBtnData)
360
- const emits = (m, v) => {
361
- if (m == "updateVisible") {
362
- baseConfig.value.refreshColumn();
363
- } else {
364
- emit("emits", {m: m, v});
365
- }
366
- }
367
-
368
- // 子组件调用父组件
369
- const emit = defineEmits(["emits"]); //声明 emits
370
- defineExpose({
371
- init,
372
- })
373
-
374
- </script>
375
-
376
-
377
-
@@ -1,25 +0,0 @@
1
- export default {
2
- "hump": "0",
3
- "toolBut": [
4
- "add",
5
- "batchDelete",
6
- "upload",
7
- "download"
8
- ],
9
- "tree": "0",
10
- "paging": "1",
11
- "seq": "1",
12
- "executeSql": '',
13
- "definitionSql": "0",
14
- "requestType": "0",
15
- "tips": "1",
16
- "operationButOptions": [],
17
- "toolButOptions": [],
18
- "operationBut": [
19
- "edit",
20
- "delete"
21
- ],
22
- "selectBox": "2",
23
- "theme": "t1",
24
- "init": "1"
25
- }
@@ -1,71 +0,0 @@
1
- <template>
2
- <div>
3
- <p>
4
- <vxe-button @click="expandAllEvent">展开</vxe-button>
5
- <vxe-button @click="claseExpandEvent">关闭</vxe-button>
6
- </p>
7
- <!-- 树表格-->
8
- <vxe-table
9
- border="inner"
10
- size="small"
11
- ref="tableRef"
12
- :column-config="{resizable: true}"
13
- :tree-config="{transform: true, rowField: 'id', parentField: 'parentId'}"
14
- :data="tableData"
15
- @toggle-tree-expand="toggleExpandChangeEvent">
16
- <vxe-column field="name" title="名称" tree-node></vxe-column>
17
- <!-- <vxe-column field="size" title="类型"></vxe-column> -->
18
-
19
- <vxe-column title="操作" width="140">
20
- <template #default="{ row }">
21
- <vxe-button mode="text" icon="vxe-icon-add"></vxe-button>
22
- <vxe-button mode="text" icon="vxe-icon-edit"></vxe-button>
23
- <vxe-button mode="text" icon="vxe-icon-delete" @click="removeRowEvent(row)"></vxe-button>
24
- </template>
25
- </vxe-column>
26
- </vxe-table>
27
- </div>
28
- </template>
29
-
30
- <script setup>
31
- import { ref } from 'vue'
32
- import { VXETable, VxeTableInstance, VxeTableEvents } from 'vxe-table'
33
-
34
-
35
-
36
- const tableRef = ref()
37
-
38
- const tableData = ref([
39
- { id: 1, parentId: null, name: '表格', type: '', size: 1024, date: '2020-08-01' },
40
- { id: 2, parentId: 1, name: '新增', type: '表格', size: 1024, date: '2020-08-01' },
41
- { id: 3, parentId: 1, name: '编辑', type: '表格', size: 1024, date: '2020-08-01' },
42
- { id: 4, parentId: 1, name: '删除', type: '表格', size: 1024, date: '2020-08-01' },
43
- { id: 5, parentId: null, name: '表单', type: '', size: 1024, date: '2020-08-01' },
44
- { id: 3, parentId: 5, name: '编辑', type: '表单', size: 1024, date: '2020-08-01' },
45
- { id: 4, parentId: 5, name: '删除', type: '表单', size: 1024, date: '2020-08-01' },
46
- ])
47
-
48
- // 展开事件
49
- const toggleExpandChangeEvent = (params) => {
50
- const $table = tableRef.value
51
- if ($table) {
52
- const { row, expanded } = params
53
- console.log('节点展开事件', expanded, '获取父节点:', $table.getParentRow(row))
54
- }
55
- }
56
-
57
- //全部展开
58
- const expandAllEvent = () => {
59
- const $table = tableRef.value
60
- if ($table) {
61
- $table.setAllTreeExpand(true)
62
- }
63
- }
64
- //全部关闭
65
- const claseExpandEvent = () => {
66
- const $table = tableRef.value
67
- if ($table) {
68
- $table.clearTreeExpand()
69
- }
70
- }
71
- </script>
@@ -1,70 +0,0 @@
1
- <template>
2
- <el-button type="primary">预览脚本</el-button>
3
-
4
- <el-row>
5
- <!-- 左边树状菜单 -->
6
- <el-col :span="6" class="bordered-col">
7
- <div class="height-col">
8
- <LeftMeun></LeftMeun>
9
- </div>
10
- </el-col>
11
- <!-- codemirror代码在线预览 -->
12
- <el-col :span="18" class="bordered-col">
13
- <div class="height-col colored-div">
14
- <codemirror
15
- v-model="values"
16
- :autofocus="true"
17
- :indent-with-tab="true"
18
- :tabSize="2"
19
- :extensions="state.extensions"/>
20
- </div>
21
- </el-col>
22
- </el-row>
23
- </template>
24
- <script setup>
25
-
26
- import {Codemirror} from "vue-codemirror";
27
- import {computed, defineProps, reactive, ref} from "vue";
28
- import {javascript} from "@codemirror/lang-javascript";
29
- import {oneDark} from "@codemirror/theme-one-dark";
30
- import LeftMeun from '@/views/table/add-or-edit/config/script-config/LeftMeun.vue'
31
-
32
- const props = defineProps({
33
- modelValue: {},
34
- })
35
-
36
- // const values = computed({
37
- // get: () => props.modelValue,
38
- // // eslint-disable-next-line no-undef
39
- // set: (value) => emits("update:modelValue", value),
40
- // });
41
- const values = ref(`const values = computed({
42
- get: () => props.modelValue,
43
- // eslint-disable-next-line no-undef
44
- set: (value) => emits("update:modelValue", value),
45
- })`);
46
-
47
- const state = reactive({
48
- show: false,
49
- extensions: [javascript(), oneDark],
50
- values: ``,
51
- err: false,
52
- })
53
-
54
- </script>
55
- <style>
56
-
57
- .bordered-col {
58
- border: 1px solid #d3dce6; /* 边框颜色和宽度 */
59
- border-radius: 4px; /* 可选:圆角 */
60
- }
61
-
62
- .height-col {
63
- height: 600px;
64
- }
65
-
66
- .colored-div {
67
- background-color: #2d2a2e; /* 背景 */
68
- }
69
-
70
- </style>