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,107 +0,0 @@
1
- <template>
2
- <el-select
3
- v-model="selectedValue"
4
- :filterable="filterable"
5
- remote-show-suffix
6
- :loading="loading"
7
- :remote="true"
8
- :remote-method="handleRemoteMethod"
9
- :size="size"
10
- @visible-change="handleVisibleChange"
11
- >
12
- <el-option
13
- v-for="item in visibleData"
14
- :key="item[valueKey]"
15
- :label="item[labelKey]"
16
- :value="item[valueKey]"
17
- />
18
- </el-select>
19
- </template>
20
-
21
- <script>
22
- export default {
23
- name: 'lazyLoadSelect',
24
- props: {
25
- data: {
26
- type: Array,
27
- default: () => [],
28
- },
29
- value: {
30
- type: [String, Number, Array],
31
- default: '',
32
- },
33
- labelKey: {
34
- type: String,
35
- default: 'label',
36
- },
37
- valueKey: {
38
- type: String,
39
- default: 'value',
40
- },
41
- size: {
42
- type: Number,
43
- default: 30,
44
- },
45
- filterable: {
46
- type: Boolean,
47
- default: true,
48
- },
49
- },
50
- data() {
51
- return {
52
- selectedValue: this.value,
53
- visibleData: [],
54
- loading: false,
55
- filteredData: [],
56
- searchQuery: '',
57
- };
58
- },
59
- watch: {
60
- value(newVal) {
61
- this.selectedValue = newVal;
62
- },
63
- selectedValue(newVal) {
64
- this.$emit('input', newVal);
65
- },
66
- data(newData) {
67
- this.filteredData = newData;
68
- this.updateVisibleData();
69
- },
70
- },
71
- mounted() {
72
- this.filteredData = this.data;
73
- this.updateVisibleData();
74
- },
75
- methods: {
76
- // 更新可见数据
77
- updateVisibleData() {
78
- this.visibleData = this.filteredData.slice(0, this.size);
79
- },
80
- // 处理远程搜索
81
- handleRemoteMethod(query) {
82
- this.searchQuery = query;
83
- this.filterData();
84
- this.updateVisibleData();
85
- },
86
- // 过滤数据
87
- filterData() {
88
- if (!this.searchQuery) {
89
- this.filteredData = this.data;
90
- return;
91
- }
92
- const query = this.searchQuery.toLowerCase();
93
- this.filteredData = this.data.filter((item) => {
94
- const label = String(item[this.labelKey]).toLowerCase();
95
- const value = String(item[this.valueKey]).toLowerCase();
96
- return label.includes(query) || value.includes(query);
97
- });
98
- },
99
- // 处理下拉框显示/隐藏
100
- handleVisibleChange(isVisible) {
101
- if (isVisible) {
102
- this.updateVisibleData();
103
- }
104
- },
105
- },
106
- };
107
- </script>
@@ -1,112 +0,0 @@
1
- <template>
2
- <el-dialog v-model="show" :title="title" destroy-on-close :width="600" show-footer>
3
- <template #default>
4
- <el-form :model="form" label-width="80px">
5
- <el-form-item label="选择数据" prop="selectData" :span="24">
6
- <olDictTag code="select_data" type="radio" border="true" v-model="form.selectData"/>
7
- </el-form-item>
8
- <el-form-item label="选择字段" prop="selectField" :span="24">
9
- <vxe-grid style="width: 100%" ref='xGrid' v-bind="gridOptions"/>
10
- </el-form-item>
11
- </el-form>
12
- </template>
13
- <template #footer>
14
- <vxe-button @click="cancelEvent">取消</vxe-button>
15
- <vxe-button status="primary" @click="confirmEvent">立即导出</vxe-button>
16
- </template>
17
- </el-dialog>
18
- </template>
19
- <script>
20
- import {get} from "@/utils/http/httpUtils";
21
- import {getDateTime} from "@/utils/DateUtils";
22
-
23
- export default {
24
- name: 'olDialogExcel',
25
- inject: ['http'],
26
- props: {
27
- title: {
28
- default: '导出数据'
29
- },
30
- name: {
31
- default: undefined
32
- },
33
- selectData: {
34
- default: '1'
35
- }
36
- },
37
- data() {
38
- return {
39
- gridOptions: {
40
- border: true,
41
- keepSource: true,
42
- showOverflow: true,
43
- loading: false,
44
- height: 330,
45
- align: 'left',
46
- scrollX: {enabled: true, gt: 15},
47
- scrollY: {enabled: true, gt: 0},
48
- columnConfig: {
49
- resizable: true
50
- },
51
- rowConfig: {
52
- useKey: true,
53
- keyField: 'id',
54
- },
55
- expandConfig: {
56
- labelField: 'seq'
57
- },
58
- editConfig: {
59
- trigger: 'click',
60
- mode: 'row',
61
- showStatus: true,
62
- },
63
- checkboxConfig: {
64
- labelField: 'title',
65
- reserve: true,
66
- highlight: true,
67
- range: true,
68
- checkAll: true
69
- },
70
- columns: [
71
- {
72
- type: 'checkbox',
73
- title: '全部字段',
74
- // width: 330
75
- },
76
- ],
77
- toolbarConfig: {},
78
- data: [],
79
- url: '/online/tableConfigColumn/queryByParentId',
80
- },
81
- show: false,
82
- form: {selectData: ''}
83
- }
84
- },
85
- methods: {
86
- init(id) {
87
- this.gridOptions.loading = true
88
- get(this.http, this.gridOptions.url, {id: id}, true).then(res => {
89
- this.gridOptions.data = res
90
- this.gridOptions.loading = false
91
- })
92
- },
93
- cancelEvent() {
94
- this.show = false
95
- },
96
- confirmEvent() {
97
- let columns = this.$refs.xGrid.getCheckboxRecords(true);
98
- let exportParam = {
99
- selectData: this.form.selectData,
100
- columns: columns,
101
- name: this.name || getDateTime(98)
102
- }
103
- this.$emit('emits', {m: 'exportData', v: {exportParam: exportParam, cancelEvent: this.cancelEvent}})
104
- }, open({column, selectData}) {
105
- this.form.selectData = selectData
106
- this.show= true
107
- let columns = column.filter(o => o.columnAuth == 1)
108
- this.gridOptions.data = columns;
109
- }
110
- },
111
- }
112
- </script>
@@ -1,304 +0,0 @@
1
- <template>
2
- <el-Dialog v-model="show" destroy-on-close :title="title" :width="width" :center="center" :draggable="draggable" show-footer>
3
- <template #default>
4
- <el-form :model="formData" ref="formRef" label-width="80px" class="el-form-globals">
5
- <el-row>
6
- <el-col :xs="24" :sm="4" :md="4" :lg="4">
7
- <div class="static-content-item">
8
- <el-upload
9
- ref="uploadRef"
10
- :action="formData.action"
11
- :headers="formData.headers"
12
- :show-file-list="false"
13
- :on-success="onChange"
14
- >
15
- <el-button>上传预览
16
- <el-icon class="el-icon--right">
17
- <Upload/>
18
- </el-icon>
19
- </el-button>
20
- </el-upload>
21
- </div>
22
- </el-col>
23
- <el-col :xs="24" :sm="4" :md="4" :lg="4">
24
- <div class="static-content-item">
25
- <el-button @click="submit">立即上传
26
- <el-icon class="el-icon--right">
27
- <Upload/>
28
- </el-icon>
29
- </el-button>
30
- </div>
31
- </el-col>
32
- <el-col :xs="24" :sm="4" :md="4" :lg="4">
33
- <div class="static-content-item">
34
- <el-button @click="download">下载模板
35
- <el-icon class="el-icon--right">
36
- <Download/>
37
- </el-icon>
38
- </el-button>
39
- </div>
40
- </el-col>
41
- <el-col :xs="24" :sm="4" :md="4" :lg="4">
42
- <div class="static-content-item">
43
- <el-button :disabled="formData.disabled" :class="formData.selected_but"
44
- @click="batchRemove">批量删除
45
- <el-icon class="el-icon--right">
46
- <Delete/>
47
- </el-icon>
48
- </el-button>
49
- </div>
50
- </el-col>
51
- <el-col :xs="24" :sm="8" :md="8" :lg="8">
52
- <el-form-item label="校验唯一" prop="uniCode">
53
- <el-select v-model="formData.uniCode" @change="handleChange" class="full-width-input" clearable>
54
- <el-option v-for="(item, index) in gridOptions.columns.filter(o=>o.field)" :key="index"
55
- :label="item.title"
56
- :value="item.title" :disabled="item.disabled"></el-option>
57
- </el-select>
58
- </el-form-item>
59
- </el-col>
60
- </el-row>
61
- <el-row>
62
- <vxe-grid style="width: 100%" ref='xGrid' v-bind="gridOptions" @checkboxChange="selectRowChange"
63
- @checkboxAll="selectRowChange"/>
64
- </el-row>
65
- </el-form>
66
- </template>
67
- <template #footer>
68
- <vxe-button @click="close">关闭</vxe-button>
69
- </template>
70
- </el-Dialog>
71
- </template>
72
-
73
- <script>
74
- import {useMessage} from "@/utils/message";
75
- import {get, request} from "@/utils/http/httpUtils";
76
- import {exportExcel} from "@/utils/ExcelUtil";
77
- import {storeDict} from "@/store/dict";
78
-
79
- const dict = storeDict();
80
- const message = useMessage() // 消息弹窗
81
- export default {
82
- name: 'olDialogImport',
83
- inject: ['http'],
84
- props: {
85
- title: {
86
- default: '导入数据'
87
- },
88
- name: {
89
- default: '导入数据'
90
- },
91
- width: {
92
- default: 800
93
- },
94
- draggable: {
95
- default: true
96
- },
97
- center: {
98
- default: false
99
- },
100
- selectData: {
101
- default: '1'
102
- }
103
- },
104
- data() {
105
- return {
106
- form: {selectData: ''},
107
- tableConfigId: '',
108
- show: '',
109
- formData: {},
110
- gridOptions: {
111
- border: true,
112
- keepSource: true,
113
- showOverflow: true,
114
- loading: false,
115
- height: 330,
116
- align: 'left',
117
- scrollX: {enabled: true, gt: 15},
118
- scrollY: {enabled: true, gt: 0},
119
- columnConfig: {
120
- resizable: true
121
- },
122
- rowConfig: {
123
- useKey: true,
124
- keyField: 'id',
125
- },
126
- expandConfig: {
127
- labelField: 'seq'
128
- },
129
- editConfig: {
130
- trigger: 'click',
131
- mode: 'row',
132
- showStatus: true,
133
- },
134
- checkboxConfig: {
135
- labelField: 'title',
136
- reserve: true,
137
- highlight: true,
138
- range: true,
139
- checkAll: false
140
- },
141
- columns: [],
142
- data: [],
143
- toolbarConfig: {},
144
- initColumns: [
145
- {type: 'checkbox', width: 50, fixed: 'left'},
146
- {type: 'seq', title: '序号', width: 50, fixed: 'left'}
147
- ],
148
- url: '/online/tableConfigColumn/queryByParentId',
149
- }
150
- }
151
- },
152
- methods: {
153
- submit() {
154
- if (!this.gridOptions.data || this.gridOptions.data.length == 0) return message.error('导入数据为空!')
155
- let params = this.getParams();
156
- this.gridOptions.loading = true
157
- request(this.http, {
158
- url: '/online/crud/batchSave',
159
- method: 'post',
160
- data: params,
161
- timeout: 1000 * 90 * 90
162
- }, false, false).then(({msg}) => {
163
- message.success(msg)
164
- }).finally(() => {
165
- this.gridOptions.loading = false;
166
- this.show = false
167
- this.$emit('emits', {m: 'query'})
168
- })
169
- },
170
- open({id}) {
171
- this.show = true
172
- this.tableConfigId = id
173
- this.gridOptions.data = []
174
- this.init(id)
175
- },
176
- handleChange(title) {
177
- let que = [];
178
- for (let j = 0; j < this.gridOptions.data.length; j++) {
179
- let data = this.gridOptions.data[j];
180
- if (j == 0) {
181
- que.push(data[title])
182
- break
183
- }
184
- let index = que.index0f(data[title]);
185
- if (index != -1) {
186
- return message.warn('第' + (j + 1) + '行-第' + (index + 1) + '行数据不唯-:' + data[title])
187
-
188
- }
189
- que.push(data[title])
190
- }
191
- message.success(title + '无重复数据!');
192
- },
193
- selectRowChange() {
194
- this.formData.disabled = this.$refs.xGrid.getCheckboxRecords(true).length == 0
195
- this.formData.selected_but = this.formData.disabled ? 'unselected_but' : 'selected_but'
196
- },
197
- batchRemove() {
198
- let records = this.$refs.xGrid.getCheckboxRecords(true);
199
- if (!records || records.length == 0) return message.error('未选中数据!')
200
- this.$refs.xGrid.removeCheckboxRow()
201
- },
202
- getParams() {
203
- return {
204
- tableConfigId: this.tableConfigId,
205
- columnAndValueListMap: this.getDataByDict(this.gridOptions.data)
206
- }
207
- }, onChange({data}) {
208
- data = this.getDataByTitle(data)
209
- this.gridOptions.data = data
210
- },
211
- getDataByTitle(data) {
212
- if (data && data.length >= 1) {
213
- let rows = []
214
- data.map(row => {
215
- let obj = {}
216
- for (let key in row) {
217
- this.gridOptions.columns.forEach((item) => {
218
- if (item.title == key) {
219
- obj[item.field] = row[key]
220
- }
221
- })
222
- }
223
- rows.push(obj)
224
- })
225
- return rows
226
- }
227
- },
228
- getDataByDict(data) {
229
- if (data && data.length >= 1) {
230
- let rows = []
231
- data.map(row => {
232
- let obj = {}
233
- for (let key in row) {
234
- this.gridOptions.columns.forEach((item) => {
235
- if (item.field == key) {
236
- obj[item.field] = this.getRowValue(item.dictCode, row[key])
237
- }
238
- })
239
- }
240
- rows.push(obj)
241
- })
242
- return rows
243
- }
244
- },
245
- download() {
246
- exportExcel({
247
- data: [],
248
- name: '模板下载',
249
- columns: this.gridOptions.columns,
250
- option: {align: 'center'}
251
- })
252
- },
253
- init(id) {
254
- this.gridOptions.loading = true
255
- get(this.http, this.gridOptions.url, {id: id}, true).then(res => {
256
- for (const data of res) {
257
- data.width = 100
258
- }
259
- res.push(...this.gridOptions.initColumns)
260
- this.gridOptions.columns = res
261
- this.gridOptions.loading = false
262
- })
263
- },
264
- getRowValue(dictCode, val) {
265
- if (dictCode) {
266
- return this.getDictValueByCode(dictCode, val);
267
- }
268
- return val
269
- },
270
- getDictValueByCode(dictCode, val) {
271
- for (const option of dict.val(dictCode)) {
272
- if (option.label == val) {
273
- return option
274
- }
275
- }
276
- return val
277
- },
278
- close() {
279
- this.show = false
280
- }
281
- }, created() {
282
- this.formData = {
283
- action: this.http.axios().defaults.baseURL + '/online/crud/upload',
284
- uniCode: '',
285
- headers: this.http.axios().defaults.headers,
286
- disabled: true,
287
- selected_but: 'unselected_but'
288
- }
289
- }
290
- }
291
- </script>
292
- <style lang="less" scoped>
293
- .el-form-item__content {
294
- display: flow;
295
- }
296
-
297
- .selected_but {
298
- background-color: #f56c6c;
299
- }
300
-
301
- .unselected_but {
302
- background-color: #fbcccc;
303
- }
304
- </style>
@@ -1,83 +0,0 @@
1
- <template>
2
- <div>
3
- <el-dialog
4
- destroy-on-close
5
- v-bind="$attrs"
6
- width="500px"
7
- v-model="show"
8
- :close-on-click-modal="false"
9
- :modal-append-to-body="false"
10
- @open="onOpen"
11
- @close="onClose"
12
- >
13
- <JsonViewer :style="{
14
- minHeight: mainRowHeight,
15
- maxHeight: mainRowHeight,
16
- overflow: 'auto',
17
- fontSize: `${fontSize}px`,
18
- fontWeight: fontWeight,
19
- }"
20
- :boxed="false"
21
- :sort="false"
22
- :expanded="true"
23
- :copyable="true"
24
- :show-array-index="false"
25
- :show-double-quotes="true"
26
- expand-depth="20"
27
- :value="values"/>
28
- </el-dialog>
29
- </div>
30
- </template>
31
-
32
- <script>
33
- // 引入组件
34
- import JsonViewer from "vue-json-viewer";
35
- import "vue-json-viewer/style.css";//引入插件样式
36
-
37
- export default {
38
- name: 'olDialogJson',
39
- components: {
40
- JsonViewer,
41
- },
42
- props: {
43
- modelValue: {
44
- required: false
45
- },
46
- item: {
47
- required: false
48
- }
49
- },
50
- data() {
51
- return {
52
- show: true,
53
- fontSize: '',
54
- fontWeight: '',
55
- mainRowHeight: '',
56
- };
57
- },
58
- computed: {
59
- values: {
60
- get() {
61
- return this.modelValue ? this.getJson(this.modelValue) : '';
62
- },
63
- set(value) {
64
- this.$emit('update:modelValue', value);
65
- }
66
- }
67
- },
68
- methods: {
69
- onOpen() {
70
-
71
- },
72
- onClose() {
73
-
74
- },
75
- getJson(val) {
76
- if (typeof val === 'string') {
77
- return JSON.parse(val);
78
- }
79
- return val;
80
- }
81
- }
82
- };
83
- </script>
@@ -1,81 +0,0 @@
1
- <template>
2
- <el-dialog v-model="show" destroy-on-close :title="title" :width="width" :fullscreen="fullscreen" top="5vh" show-footer append-to-body>
3
- <div style="height: 75vh; overflow-y: auto;">
4
- <!--表单开始-->
5
- <!-- <el-scrollbar class="content-wrapper">-->
6
- <model-index ref="table" v-if="show && uuid" :http="https" :uuid="uuid" style="height: calc(100% - 50px)"/>
7
- <!-- </el-scrollbar>-->
8
-
9
- </div>
10
- <template #footer>
11
- <vxe-button @click="cancelEvent">取消</vxe-button>
12
- <vxe-button status="primary" @click="ok">确认</vxe-button>
13
- </template>
14
- </el-dialog>
15
- </template>
16
- <script>
17
-
18
- import ModelIndex from "@/components/table/model/model-index.vue";
19
-
20
- export default {
21
- name: 'olDialogTable',
22
- components: {ModelIndex},
23
- inject: ['http'],
24
- props: {
25
- name: {
26
- default: undefined
27
- }
28
- },
29
- data() {
30
- return {
31
- title: undefined,
32
- show: false,
33
- uuid: undefined,
34
- fullscreen: false,
35
- width: '80%',
36
- js: undefined,
37
- style: 'height:70vh',
38
- }
39
- },
40
- computed: {
41
- https() {
42
- return this.http;
43
- }
44
- },
45
- methods: {
46
- init({uuid, title, width, height,fullscreen,js}) {
47
- this.show = true
48
- this.uuid = uuid;
49
- this.js = js;
50
- if (width) {
51
- this.width = width;
52
- }
53
- this.title = title;
54
- this.fullscreen = fullscreen == true;
55
- if (height) {
56
- this.style = 'height:' + height + "px";
57
- }
58
- },
59
- ok() {
60
- this.$emit('emits',{js:this.js,v:this.$refs.table.$refs.tableModel.getSelectRows()});
61
- },
62
- cancelEvent() {
63
- this.show = false
64
- },
65
- },
66
- }
67
- </script>
68
- <style scoped>
69
- .content-wrapper {
70
- max-height: 60vh;
71
- overflow-y: auto;
72
- padding-right: 12px;
73
- }
74
-
75
- :deep(.content-wrapper)::-webkit-scrollbar {
76
- width: 6px;
77
- }
78
- /deep/ .el-dialog__body {
79
- max-height: calc(100vh - 200px);
80
- }
81
- </style>