sh-view 2.8.1 → 2.8.2

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 (91) hide show
  1. package/.eslintrc.js +25 -20
  2. package/other.js +8 -8
  3. package/package.json +9 -6
  4. package/packages/components/index.js +91 -91
  5. package/packages/components/sh-alert/alert.ts +30 -0
  6. package/packages/components/sh-alert/index.vue +143 -168
  7. package/packages/components/sh-badge/index.vue +242 -242
  8. package/packages/components/sh-calendar/index.vue +650 -650
  9. package/packages/components/sh-card/index.vue +148 -148
  10. package/packages/components/sh-code-editor/index.vue +19 -19
  11. package/packages/components/sh-col/index.vue +92 -92
  12. package/packages/components/sh-corner/index.vue +230 -230
  13. package/packages/components/sh-count-to/index.vue +131 -131
  14. package/packages/components/sh-date/index.vue +301 -301
  15. package/packages/components/sh-drawer/index.vue +579 -579
  16. package/packages/components/sh-drawer/scrollbar.js +78 -78
  17. package/packages/components/sh-empty/index.vue +42 -42
  18. package/packages/components/sh-form/js/props.js +76 -76
  19. package/packages/components/sh-form/js/useForm.js +229 -229
  20. package/packages/components/sh-header/index.vue +261 -260
  21. package/packages/components/sh-icon/css/default/ionicons.svg +869 -869
  22. package/packages/components/sh-icon/css/font/iconfont.json +247 -247
  23. package/packages/components/sh-icon/index.vue +41 -41
  24. package/packages/components/sh-image/index.vue +133 -133
  25. package/packages/components/sh-list/index.vue +146 -146
  26. package/packages/components/sh-loading/index.vue +53 -53
  27. package/packages/components/sh-modal/index.vue +188 -188
  28. package/packages/components/sh-noticebar/index.vue +215 -215
  29. package/packages/components/sh-poptip/index.vue +597 -597
  30. package/packages/components/sh-progress/index.vue +276 -276
  31. package/packages/components/sh-pull-refresh/index.vue +289 -289
  32. package/packages/components/sh-result/index.vue +114 -114
  33. package/packages/components/sh-row/index.vue +66 -66
  34. package/packages/components/sh-split/components/trigger.vue +33 -33
  35. package/packages/components/sh-split/index.vue +342 -342
  36. package/packages/components/sh-table/components/importModal.vue +363 -363
  37. package/packages/components/sh-table/components/sh-column.vue +68 -68
  38. package/packages/components/sh-table/js/excel_to_json.js +313 -313
  39. package/packages/components/sh-table/js/props.js +305 -305
  40. package/packages/components/sh-table/js/tableMethods.js +167 -167
  41. package/packages/components/sh-table/js/useTable.js +636 -636
  42. package/packages/components/sh-table/table.vue +217 -217
  43. package/packages/components/sh-tabs/index.vue +426 -426
  44. package/packages/components/sh-tag/index.vue +168 -168
  45. package/packages/components/sh-toolbar/index.vue +182 -182
  46. package/packages/components/sh-tree/components/table-tree.vue +289 -289
  47. package/packages/components/sh-tree/mixin/treeProps.js +122 -122
  48. package/packages/components/sh-upload/index.vue +535 -535
  49. package/packages/components/sh-water-fall/index.vue +80 -80
  50. package/packages/components/sh-water-mark/index.vue +96 -96
  51. package/packages/css/index.js +4 -4
  52. package/packages/directive/index.js +19 -19
  53. package/packages/directive/module/click-out.js +14 -14
  54. package/packages/directive/module/draggable.js +42 -42
  55. package/packages/directive/module/line-clamp.js +22 -22
  56. package/packages/directive/module/prevent-click.js +18 -18
  57. package/packages/directive/module/resize.js +14 -14
  58. package/packages/directive/module/ripple.js +166 -166
  59. package/packages/index.js +39 -39
  60. package/packages/mixin/index.js +86 -86
  61. package/packages/other/sh-cron-modal/components/cron-content.vue +294 -294
  62. package/packages/other/sh-cron-modal/index.vue +81 -81
  63. package/packages/other/sh-cron-modal/mixin/cron-emits.js +1 -1
  64. package/packages/other/sh-cron-modal/mixin/cron-props.js +9 -9
  65. package/packages/other/sh-cron-modal/tabs/cron-week-box.vue +126 -126
  66. package/packages/other/sh-menu/index.vue +326 -326
  67. package/packages/other/sh-menu/menu-group-content.vue +136 -136
  68. package/packages/other/sh-menu/menu-item-content.vue +71 -71
  69. package/packages/other/sh-menu-card/index.vue +250 -250
  70. package/packages/other/sh-menu-card/menu-box.vue +87 -87
  71. package/packages/other/sh-preview/components/sh-excel.vue +163 -163
  72. package/packages/other/sh-preview/js/data-hook.js +41 -41
  73. package/packages/other/sh-preview/js/data-props.js +15 -15
  74. package/packages/other/sh-system-tip/index.vue +115 -115
  75. package/packages/utils/resize.js +69 -70
  76. package/packages/utils/transfer-queue.js +12 -12
  77. package/packages/vxeTable/index.js +193 -184
  78. package/packages/vxeTable/plugins/export.js +450 -450
  79. package/packages/vxeTable/render/cell/vxe-render-img.vue +27 -27
  80. package/packages/vxeTable/render/cell/vxe-render-table.vue +51 -51
  81. package/packages/vxeTable/render/cell/vxe-render-time.vue +44 -44
  82. package/packages/vxeTable/render/cell/vxe-render-tree.vue +70 -70
  83. package/packages/vxeTable/render/filters/vxe-filter-input.vue +26 -26
  84. package/packages/vxeTable/render/filters/vxe-filter-time.vue +26 -26
  85. package/packages/vxeTable/render/globalRenders.jsx +514 -514
  86. package/packages/vxeTable/render/mixin/cell-hooks.js +198 -198
  87. package/packages/vxeTable/render/mixin/cell-props.js +23 -23
  88. package/packages/vxeTable/render/mixin/filter-hooks.js +46 -46
  89. package/tsconfig.json +25 -0
  90. package/types/component.d.ts +1 -0
  91. package/types/index.ts +0 -0
@@ -1,167 +1,167 @@
1
- import { utils } from 'sh-tools'
2
- const $vUtils = utils
3
-
4
- // 判断为true
5
- const isTrue = value => {
6
- return String(value) === '1' || String(value).toLowerCase() === 'true'
7
- }
8
- // 获取默认验证信息
9
- const getDefaultMessage = (renderType, title) => {
10
- let message = ''
11
- const selectRenders = ['$vSelect', '$vTree', '$vTime', '$vSwitch', '$vCheckbox', '$vCheckgroup', '$vRadio', '$vRadiogroup', '$vUpload']
12
- if (selectRenders.includes(renderType)) {
13
- message = '请选择' + title
14
- } else {
15
- message = '请输入' + title
16
- }
17
- return message
18
- }
19
-
20
- // 表格打印、导出统一过滤列
21
- export const columnDefaultFilterMethod = ({ column, $columnIndex }) => {
22
- let field = column.field
23
- let renderObj = column.cellRender || column.editRender
24
- let renderName = renderObj && renderObj.name
25
- let returnValue = true
26
- if (!field || ['seq', 'checkbox', 'radio'].includes(column.type)) {
27
- returnValue = false
28
- } else if (renderName === '$vGlobalOption') {
29
- returnValue = false
30
- }
31
- return returnValue
32
- }
33
-
34
- // 默认求底部计算方法(已改用footer渲染器,其他需要自行计算)
35
- export const tableFooterCompute = (columns, data, computeType, typeObj = {}) => {
36
- let emptyString = ''
37
- let computeName = typeObj.name || ''
38
- let computeData = typeObj.data || {}
39
- let textIndex = 0
40
- if (!computeName) {
41
- switch (computeType) {
42
- case 'subTotal':
43
- computeName = '合计'
44
- break
45
- case 'allTotal':
46
- computeName = '总计'
47
- break
48
- case 'mean':
49
- computeName = '平均'
50
- break
51
- default:
52
- }
53
- }
54
- return columns.map((column, columnIndex) => {
55
- let result = null
56
- if (column.type === 'seq' || column.type === 'total') {
57
- result = computeName
58
- textIndex = columnIndex
59
- } else {
60
- result = computeData[column.property] || emptyString
61
- $vUtils.set(column, `rfooter.index`, textIndex)
62
- $vUtils.set(column, `rfooter.${computeName}`, { computeType, result, typeObj })
63
- }
64
- return result
65
- })
66
- }
67
- // 转化表头过滤配置
68
- export const turnColumnItemFilters = (column, props) => {
69
- if (column.filters) return
70
- let columnRender = column.cellRender || column.editRender || column.contentRender
71
- let columnProps = Object.assign({}, props)
72
- let renderSelects = ['$select', '$vSelect', '$vCheckgroup', '$vRadiogroup', '$vSwitch']
73
- let renderTimes = ['$vTime']
74
- if (renderTimes.includes(columnRender.name)) {
75
- column.filters = [{ data: null }]
76
- column.filterRender = { name: '$vFilterTime', props: columnProps }
77
- } else if (renderSelects.includes(columnRender.name)) {
78
- column.filters = Array.isArray(columnRender.props && columnRender.props.options) ? columnRender.props.options : []
79
- if (column.filterMultiple === undefined) column.filterMultiple = true
80
- } else {
81
- column.filters = [{ data: null }]
82
- column.filterRender = { name: '$vFilterInput', props: columnProps }
83
- }
84
- }
85
- // 转换表头校验规则
86
- export const getFieldsRules = columns => {
87
- let rules = {}
88
- $vUtils.eachTree(columns, column => {
89
- // 首先提取校验配置
90
- if (isTrue(column['renderRequire'])) {
91
- // 若配置了校验参数则走校验参数,没配置则给默认校验条件
92
- if (column['requireProps'] && Array.isArray(column['requireProps']) && column['requireProps'].length > 0) {
93
- rules[column['field']] = column['requireProps']
94
- } else {
95
- let dataType = 'string'
96
- let arrayType = ['$vCheckgroup', '$vUpload', '$vTable']
97
- if (arrayType.includes(column['renderName']) || ((column['renderName'] === '$vSelect' || column['renderName'] === '$vTree') && isTrue(column.renderProps?.multiple))) {
98
- dataType = 'array'
99
- }
100
- rules[column['field']] = [{ required: true, message: getDefaultMessage(column['renderName'], column['title']), type: dataType }]
101
- }
102
- }
103
- })
104
- return rules
105
- }
106
- // 转换生成新表头数据
107
- export const getTransfarFields = (oriArr = [], columnObj, isSearch) => {
108
- let columnsFlatArr = []
109
- let formItemsArr = []
110
- let columnsArr = $vUtils.mapTree(oriArr, ori => {
111
- let tar = Object.assign({}, columnObj, ori)
112
- if (ori.children && ori.children.length > 0) {
113
- tar.sortable = false
114
- tar.filter = false
115
- } else {
116
- let renderConfig = {
117
- name: ori.renderName || '$vInput',
118
- props: Object.assign({}, ori.renderProps || {})
119
- }
120
- // 个性化设置
121
- if (tar.renderName === '$vGlobalOption' || ['$vImg', '$vHref', '$vUpload'].includes(tar.renderName)) {
122
- tar.filter = false
123
- tar.sortable = false
124
- }
125
- if (tar.renderName === '$vGlobalOption') {
126
- tar.resizable = false
127
- }
128
- if (tar.renderName === '$vMoney' || ['number', 'float', 'integer'].includes(renderConfig.props.type)) {
129
- tar.cellType = 'number'
130
- }
131
- if (tar.renderName === '$vMoney' && renderConfig.props.bill) {
132
- tar.filter = false
133
- tar.headerClassName += ' header-bill-cell'
134
- }
135
- // 初始化排序条件
136
- if (Number(tar.sortable) === 0 || tar.sortable === 'false') {
137
- tar.sortable = false
138
- }
139
- // 判断单元格是否可编辑
140
- if (ori.readonly || ori.slots?.default || (!ori.renderName && !(tar.editRender && tar.editRender.name))) {
141
- tar.cellRender = Object.assign({}, renderConfig, tar.cellRender || {})
142
- } else {
143
- tar.editRender = Object.assign({}, renderConfig, tar.editRender || {})
144
- }
145
- // 初始化表单查询配置
146
- if (isSearch) {
147
- let editFixedNames = ['$vImg', '$vHref', '$vUpload']
148
- let formItem = Object.assign({}, tar)
149
- formItem.itemRender = Object.assign({}, renderConfig, tar.editRender || {}, tar.itemRender || {})
150
- delete formItem.cellRender
151
- delete formItem.editRender
152
- formItem.itemRender.name = formItem.itemRender.name || '$vInput'
153
- // 此处修正, 对其不进行默认渲染
154
- if (formItem.search && formItem.search !== '0' && !editFixedNames.includes(formItem.itemRender.name)) {
155
- formItemsArr.push(formItem)
156
- }
157
- }
158
- // 初始化过滤条件
159
- if (tar.filter === true || Number(tar.filter) === 1) {
160
- turnColumnItemFilters(tar, renderConfig.props)
161
- }
162
- }
163
- columnsFlatArr.push(tar)
164
- return tar
165
- })
166
- return { columnsArr, columnsFlatArr, formItemsArr }
167
- }
1
+ import { utils } from 'sh-tools'
2
+ const $vUtils = utils
3
+
4
+ // 判断为true
5
+ const isTrue = value => {
6
+ return String(value) === '1' || String(value).toLowerCase() === 'true'
7
+ }
8
+ // 获取默认验证信息
9
+ const getDefaultMessage = (renderType, title) => {
10
+ let message = ''
11
+ const selectRenders = ['$vSelect', '$vTree', '$vTime', '$vSwitch', '$vCheckbox', '$vCheckgroup', '$vRadio', '$vRadiogroup', '$vUpload']
12
+ if (selectRenders.includes(renderType)) {
13
+ message = '请选择' + title
14
+ } else {
15
+ message = '请输入' + title
16
+ }
17
+ return message
18
+ }
19
+
20
+ // 表格打印、导出统一过滤列
21
+ export const columnDefaultFilterMethod = ({ column, $columnIndex }) => {
22
+ let field = column.field
23
+ let renderObj = column.cellRender || column.editRender
24
+ let renderName = renderObj && renderObj.name
25
+ let returnValue = true
26
+ if (!field || ['seq', 'checkbox', 'radio'].includes(column.type)) {
27
+ returnValue = false
28
+ } else if (renderName === '$vGlobalOption') {
29
+ returnValue = false
30
+ }
31
+ return returnValue
32
+ }
33
+
34
+ // 默认求底部计算方法(已改用footer渲染器,其他需要自行计算)
35
+ export const tableFooterCompute = (columns, data, computeType, typeObj = {}) => {
36
+ let emptyString = ''
37
+ let computeName = typeObj.name || ''
38
+ let computeData = typeObj.data || {}
39
+ let textIndex = 0
40
+ if (!computeName) {
41
+ switch (computeType) {
42
+ case 'subTotal':
43
+ computeName = '合计'
44
+ break
45
+ case 'allTotal':
46
+ computeName = '总计'
47
+ break
48
+ case 'mean':
49
+ computeName = '平均'
50
+ break
51
+ default:
52
+ }
53
+ }
54
+ return columns.map((column, columnIndex) => {
55
+ let result = null
56
+ if (column.type === 'seq' || column.type === 'total') {
57
+ result = computeName
58
+ textIndex = columnIndex
59
+ } else {
60
+ result = computeData[column.property] || emptyString
61
+ $vUtils.set(column, `rfooter.index`, textIndex)
62
+ $vUtils.set(column, `rfooter.${computeName}`, { computeType, result, typeObj })
63
+ }
64
+ return result
65
+ })
66
+ }
67
+ // 转化表头过滤配置
68
+ export const turnColumnItemFilters = (column, props) => {
69
+ if (column.filters) return
70
+ let columnRender = column.cellRender || column.editRender || column.contentRender
71
+ let columnProps = Object.assign({}, props)
72
+ let renderSelects = ['$select', '$vSelect', '$vCheckgroup', '$vRadiogroup', '$vSwitch']
73
+ let renderTimes = ['$vTime']
74
+ if (renderTimes.includes(columnRender.name)) {
75
+ column.filters = [{ data: null }]
76
+ column.filterRender = { name: '$vFilterTime', props: columnProps }
77
+ } else if (renderSelects.includes(columnRender.name)) {
78
+ column.filters = Array.isArray(columnRender.props && columnRender.props.options) ? columnRender.props.options : []
79
+ if (column.filterMultiple === undefined) column.filterMultiple = true
80
+ } else {
81
+ column.filters = [{ data: null }]
82
+ column.filterRender = { name: '$vFilterInput', props: columnProps }
83
+ }
84
+ }
85
+ // 转换表头校验规则
86
+ export const getFieldsRules = columns => {
87
+ let rules = {}
88
+ $vUtils.eachTree(columns, column => {
89
+ // 首先提取校验配置
90
+ if (isTrue(column['renderRequire'])) {
91
+ // 若配置了校验参数则走校验参数,没配置则给默认校验条件
92
+ if (column['requireProps'] && Array.isArray(column['requireProps']) && column['requireProps'].length > 0) {
93
+ rules[column['field']] = column['requireProps']
94
+ } else {
95
+ let dataType = 'string'
96
+ let arrayType = ['$vCheckgroup', '$vUpload', '$vTable']
97
+ if (arrayType.includes(column['renderName']) || ((column['renderName'] === '$vSelect' || column['renderName'] === '$vTree') && isTrue(column.renderProps?.multiple))) {
98
+ dataType = 'array'
99
+ }
100
+ rules[column['field']] = [{ required: true, message: getDefaultMessage(column['renderName'], column['title']), type: dataType }]
101
+ }
102
+ }
103
+ })
104
+ return rules
105
+ }
106
+ // 转换生成新表头数据
107
+ export const getTransfarFields = (oriArr = [], columnObj, isSearch) => {
108
+ let columnsFlatArr = []
109
+ let formItemsArr = []
110
+ let columnsArr = $vUtils.mapTree(oriArr, ori => {
111
+ let tar = Object.assign({}, columnObj, ori)
112
+ if (ori.children && ori.children.length > 0) {
113
+ tar.sortable = false
114
+ tar.filter = false
115
+ } else {
116
+ let renderConfig = {
117
+ name: ori.renderName || '$vInput',
118
+ props: Object.assign({}, ori.renderProps || {})
119
+ }
120
+ // 个性化设置
121
+ if (tar.renderName === '$vGlobalOption' || ['$vImg', '$vHref', '$vUpload'].includes(tar.renderName)) {
122
+ tar.filter = false
123
+ tar.sortable = false
124
+ }
125
+ if (tar.renderName === '$vGlobalOption') {
126
+ tar.resizable = false
127
+ }
128
+ if (tar.renderName === '$vMoney' || ['number', 'float', 'integer'].includes(renderConfig.props.type)) {
129
+ tar.cellType = 'number'
130
+ }
131
+ if (tar.renderName === '$vMoney' && renderConfig.props.bill) {
132
+ tar.filter = false
133
+ tar.headerClassName += ' header-bill-cell'
134
+ }
135
+ // 初始化排序条件
136
+ if (Number(tar.sortable) === 0 || tar.sortable === 'false') {
137
+ tar.sortable = false
138
+ }
139
+ // 判断单元格是否可编辑
140
+ if (ori.readonly || ori.slots?.default || (!ori.renderName && !(tar.editRender && tar.editRender.name))) {
141
+ tar.cellRender = Object.assign({}, renderConfig, tar.cellRender || {})
142
+ } else {
143
+ tar.editRender = Object.assign({}, renderConfig, tar.editRender || {})
144
+ }
145
+ // 初始化表单查询配置
146
+ if (isSearch) {
147
+ let editFixedNames = ['$vImg', '$vHref', '$vUpload']
148
+ let formItem = Object.assign({}, tar)
149
+ formItem.itemRender = Object.assign({}, renderConfig, tar.editRender || {}, tar.itemRender || {})
150
+ delete formItem.cellRender
151
+ delete formItem.editRender
152
+ formItem.itemRender.name = formItem.itemRender.name || '$vInput'
153
+ // 此处修正, 对其不进行默认渲染
154
+ if (formItem.search && formItem.search !== '0' && !editFixedNames.includes(formItem.itemRender.name)) {
155
+ formItemsArr.push(formItem)
156
+ }
157
+ }
158
+ // 初始化过滤条件
159
+ if (tar.filter === true || Number(tar.filter) === 1) {
160
+ turnColumnItemFilters(tar, renderConfig.props)
161
+ }
162
+ }
163
+ columnsFlatArr.push(tar)
164
+ return tar
165
+ })
166
+ return { columnsArr, columnsFlatArr, formItemsArr }
167
+ }