sh-view 2.0.8 → 2.2.0

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 (129) hide show
  1. package/package.json +9 -13
  2. package/packages/components/global-components/sh-alert/index.vue +175 -173
  3. package/packages/components/global-components/sh-badge/index.vue +57 -43
  4. package/packages/components/global-components/sh-card/index.vue +24 -16
  5. package/packages/components/global-components/sh-code-editor/index.vue +250 -260
  6. package/packages/components/global-components/sh-col/index.vue +44 -36
  7. package/packages/components/global-components/sh-corner/index.vue +230 -228
  8. package/packages/components/global-components/sh-count-to/index.vue +60 -51
  9. package/packages/components/global-components/sh-drawer/index.vue +216 -183
  10. package/packages/components/global-components/sh-drawer/scrollbar.js +44 -42
  11. package/packages/components/global-components/sh-empty/index.vue +0 -1
  12. package/packages/components/global-components/sh-form/form.vue +110 -0
  13. package/packages/components/global-components/sh-form/js/props.js +76 -63
  14. package/packages/components/global-components/sh-form/js/useForm.js +236 -0
  15. package/packages/components/global-components/sh-form/query.vue +70 -0
  16. package/packages/components/global-components/sh-header/index.vue +35 -50
  17. package/packages/components/global-components/sh-icon/css/index.scss +44 -0
  18. package/packages/components/global-components/sh-icon/index.vue +24 -11
  19. package/packages/components/global-components/sh-image/index.vue +47 -38
  20. package/packages/components/global-components/sh-list/index.vue +42 -37
  21. package/packages/components/global-components/sh-loading/index.vue +12 -8
  22. package/packages/components/global-components/sh-modal/index.vue +49 -40
  23. package/packages/components/global-components/sh-noticebar/index.vue +68 -54
  24. package/packages/components/global-components/sh-poptip/index.vue +247 -130
  25. package/packages/components/global-components/sh-progress/index.vue +71 -69
  26. package/packages/components/global-components/sh-pull-refresh/index.vue +156 -157
  27. package/packages/components/global-components/sh-result/index.vue +37 -28
  28. package/packages/components/global-components/sh-row/index.vue +21 -18
  29. package/packages/components/global-components/sh-split/index.vue +115 -109
  30. package/packages/components/global-components/sh-table/components/importModal.vue +95 -86
  31. package/packages/components/global-components/sh-table/components/sh-column.vue +54 -0
  32. package/packages/components/global-components/sh-table/{index.vue → grid.vue} +34 -145
  33. package/packages/components/global-components/sh-table/js/tableMethods.js +175 -0
  34. package/packages/components/global-components/sh-table/js/useTable.js +592 -0
  35. package/packages/components/global-components/sh-table/table.vue +269 -0
  36. package/packages/components/global-components/sh-tabs/index.vue +118 -93
  37. package/packages/components/global-components/sh-tag/index.vue +52 -51
  38. package/packages/components/global-components/sh-toolbar/index.vue +53 -47
  39. package/packages/components/global-components/sh-tree/components/table-tree.vue +152 -139
  40. package/packages/components/global-components/sh-tree/index.vue +218 -195
  41. package/packages/components/global-components/sh-tree/mixin/treeProps.js +118 -120
  42. package/packages/components/global-components/sh-upload/index.vue +308 -51
  43. package/packages/components/global-components/sh-water-fall/index.vue +4 -11
  44. package/packages/components/index.js +5 -3
  45. package/packages/components/other-components/sh-cron-modal/components/cron-content.vue +294 -287
  46. package/packages/components/other-components/sh-cron-modal/css/index.scss +0 -5
  47. package/packages/components/other-components/sh-cron-modal/index.vue +81 -67
  48. package/packages/components/other-components/sh-cron-modal/mixin/cron-emits.js +1 -0
  49. package/packages/components/other-components/sh-cron-modal/mixin/cron-hooks.js +179 -0
  50. package/packages/components/other-components/sh-cron-modal/mixin/cron-props.js +9 -0
  51. package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +101 -92
  52. package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +68 -56
  53. package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +68 -56
  54. package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +68 -56
  55. package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +68 -56
  56. package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +126 -115
  57. package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +59 -46
  58. package/packages/components/other-components/sh-menu/index.vue +75 -60
  59. package/packages/components/other-components/sh-menu/menu-group-content.vue +71 -59
  60. package/packages/components/other-components/sh-menu/menu-item-content.vue +71 -61
  61. package/packages/components/other-components/sh-menu-card/index.vue +81 -59
  62. package/packages/components/other-components/sh-menu-card/menu-box.vue +87 -68
  63. package/packages/components/other-components/sh-preview/components/sh-excel.vue +182 -0
  64. package/packages/components/other-components/sh-preview/components/sh-word.vue +73 -0
  65. package/packages/components/other-components/sh-preview/index.vue +86 -85
  66. package/packages/components/other-components/sh-preview/js/data-hook.js +37 -0
  67. package/packages/components/other-components/sh-preview/js/data-props.js +11 -0
  68. package/packages/components/other-components/sh-system-tip/index.vue +115 -113
  69. package/packages/css/index.js +4 -4
  70. package/packages/{assets/css → css}/main.scss +2 -50
  71. package/packages/{assets/css → css}/theme.scss +35 -16
  72. package/packages/directive/module/prevent-click.js +1 -1
  73. package/packages/directive/module/resize.js +11 -154
  74. package/packages/index.js +39 -39
  75. package/packages/mixin/index.js +86 -87
  76. package/packages/vxeTable/css/index.scss +3 -0
  77. package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +14 -5
  78. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +43 -36
  79. package/packages/vxeTable/render/cell/vxe-render-code.vue +14 -5
  80. package/packages/vxeTable/render/cell/vxe-render-goption.vue +34 -24
  81. package/packages/vxeTable/render/cell/vxe-render-href.vue +21 -11
  82. package/packages/vxeTable/render/cell/vxe-render-img.vue +16 -10
  83. package/packages/vxeTable/render/cell/vxe-render-input.vue +83 -67
  84. package/packages/vxeTable/render/cell/vxe-render-money.vue +14 -6
  85. package/packages/vxeTable/render/cell/vxe-render-progress.vue +28 -19
  86. package/packages/vxeTable/render/cell/vxe-render-radio.vue +14 -5
  87. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +43 -36
  88. package/packages/vxeTable/render/cell/vxe-render-select.vue +44 -36
  89. package/packages/vxeTable/render/cell/vxe-render-switch.vue +14 -5
  90. package/packages/vxeTable/render/cell/vxe-render-table.vue +51 -78
  91. package/packages/vxeTable/render/cell/vxe-render-textarea.vue +14 -5
  92. package/packages/vxeTable/render/cell/vxe-render-time.vue +23 -13
  93. package/packages/vxeTable/render/cell/vxe-render-tree.vue +23 -27
  94. package/packages/vxeTable/render/cell/vxe-render-upload.vue +11 -7
  95. package/packages/vxeTable/render/filters/vxe-filter-input.vue +25 -43
  96. package/packages/vxeTable/render/footer/vxe-footer-input.vue +23 -13
  97. package/packages/vxeTable/render/footer/vxe-footer-money.vue +30 -20
  98. package/packages/vxeTable/render/globalRenders.jsx +1 -1
  99. package/packages/vxeTable/render/header/vxe-header-money.vue +31 -21
  100. package/packages/vxeTable/render/mixin/cell-hooks.js +162 -0
  101. package/packages/vxeTable/render/mixin/cell-props.js +23 -0
  102. package/packages/vxeTable/render/mixin/filter-hooks.js +28 -0
  103. package/packages/components/global-components/sh-form/components/form-item.vue +0 -25
  104. package/packages/components/global-components/sh-form/css/index.scss +0 -55
  105. package/packages/components/global-components/sh-form/index.vue +0 -114
  106. package/packages/components/global-components/sh-form/js/methods.js +0 -146
  107. package/packages/components/global-components/sh-form/mixin/defaultData.js +0 -32
  108. package/packages/components/global-components/sh-icon/css/default/index.scss +0 -27
  109. package/packages/components/global-components/sh-icon/css/font/index.scss +0 -16
  110. package/packages/components/global-components/sh-icon/icon-default.vue +0 -32
  111. package/packages/components/global-components/sh-icon/icon-font.vue +0 -32
  112. package/packages/components/global-components/sh-poptip/popper.js +0 -115
  113. package/packages/components/global-components/sh-query/index.vue +0 -317
  114. package/packages/components/global-components/sh-table/js/methods.js +0 -549
  115. package/packages/components/global-components/sh-table/mixin/defaultData.js +0 -94
  116. package/packages/components/global-components/sh-upload/js/mixin.js +0 -257
  117. package/packages/components/other-components/sh-cron-modal/mixin/cron-box.js +0 -169
  118. package/packages/vxeTable/render/mixin/cell-mixin.js +0 -206
  119. /package/packages/components/global-components/sh-icon/css/default/{fonts/ionicons.svg → ionicons.svg} +0 -0
  120. /package/packages/components/global-components/sh-icon/css/default/{fonts/ionicons.ttf → ionicons.ttf} +0 -0
  121. /package/packages/components/global-components/sh-icon/css/default/{fonts/ionicons.woff → ionicons.woff} +0 -0
  122. /package/packages/components/global-components/sh-icon/css/default/{fonts/ionicons.woff2 → ionicons.woff2} +0 -0
  123. /package/packages/components/global-components/sh-icon/css/font/{fonts/iconfont.js → iconfont.js} +0 -0
  124. /package/packages/components/global-components/sh-icon/css/font/{fonts/iconfont.json → iconfont.json} +0 -0
  125. /package/packages/components/global-components/sh-icon/css/font/{fonts/iconfont.ttf → iconfont.ttf} +0 -0
  126. /package/packages/components/global-components/sh-icon/css/font/{fonts/iconfont.woff → iconfont.woff} +0 -0
  127. /package/packages/components/global-components/sh-icon/css/font/{fonts/iconfont.woff2 → iconfont.woff2} +0 -0
  128. /package/packages/{assets/css → css}/animated.scss +0 -0
  129. /package/packages/{assets/css → css}/loader.scss +0 -0
@@ -1,78 +1,51 @@
1
- <template>
2
- <span class="vxe-render--inner" style="display: inline-block; width: 100%">
3
- <sh-table :disabled="!redit && !isEditAll" v-bind="rprops" :size="rsize" :data-sourse="renderValue" @edit-closed="vxeInputCallback" @toolbaroption="onToolbaroption"></sh-table>
4
- </span>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'VxeRenderTree',
10
- props: {
11
- redit: { type: Boolean },
12
- rkey: { type: String },
13
- rsize: { type: String },
14
- rdata: {
15
- type: Object,
16
- default() {
17
- return {}
18
- }
19
- },
20
- rprops: {
21
- type: Object,
22
- default() {
23
- return {}
24
- }
25
- },
26
- rparams: {
27
- type: Object,
28
- default() {
29
- return {}
30
- }
31
- }
32
- },
33
- data() {
34
- return {
35
- renderValue: []
36
- }
37
- },
38
- computed: {
39
- rform() {
40
- return this.rparams.$form
41
- },
42
- isEditAll() {
43
- return !this.rform && this.rparams.$table.props.editConfig?.mode === 'all'
44
- }
45
- },
46
- created() {
47
- this.initData()
48
- },
49
- methods: {
50
- // 初始化数据
51
- initData() {
52
- let rvalue = this.$vUtils.get(this.rdata, this.rkey)
53
- this.renderValue = Array.isArray(rvalue) ? rvalue : []
54
- },
55
- // 输入框回调
56
- vxeInputCallback({ $table, row }) {
57
- let fullData = $table.getTableData().fullData
58
- this.driveBackData(fullData)
59
- },
60
- // 新增、删除行回调
61
- onToolbaroption(code, data, $table) {
62
- let fullData = $table.getTableData().fullData
63
- this.driveBackData(fullData)
64
- },
65
- // 回填数据
66
- driveBackData(value) {
67
- if (this.rform) {
68
- let { data, $form } = this.rparams
69
- this.$vUtils.set(data, this.rkey, value)
70
- $form.context.emit('edit-closed', this.rparams, this)
71
- } else {
72
- let { row } = this.rparams
73
- this.$vUtils.set(row, this.rkey, value)
74
- }
75
- }
76
- }
77
- }
78
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" style="display: inline-block; width: 100%">
3
+ <sh-table
4
+ ref="shTableRef"
5
+ :disabled="!redit && !isEditAll"
6
+ v-bind="rprops"
7
+ :size="rsize"
8
+ :data-sourse="renderValue"
9
+ @edit-closed="vxeInputCallback"
10
+ @toolbaroption="onToolbaroption"></sh-table>
11
+ </span>
12
+ </template>
13
+
14
+ <script>
15
+ import { defineComponent, getCurrentInstance } from 'vue'
16
+ import cellProps from '../mixin/cell-props'
17
+ import cellHooks from '../mixin/cell-hooks'
18
+ export default defineComponent({
19
+ name: 'VxeRenderTable',
20
+ props: cellProps,
21
+ setup(props, context) {
22
+ const { proxy } = getCurrentInstance()
23
+ const useCell = cellHooks(props, context, proxy)
24
+ const shTableRef = ref()
25
+
26
+ const fullData = () => {
27
+ return shTableRef.value.getFullData()
28
+ }
29
+
30
+ // 输入框回调
31
+ const vxeInputCallback = ({ $table, row }) => {
32
+ driveBackData()
33
+ }
34
+ // 新增、删除行回调
35
+ const onToolbaroption = (code, data, $table) => {
36
+ driveBackData()
37
+ }
38
+ // 回填数据
39
+ const driveBackData = value => {
40
+ useCell.setRenderValue(fullData(), true)
41
+ }
42
+
43
+ return {
44
+ ...useCell,
45
+ shTableRef,
46
+ vxeInputCallback,
47
+ onToolbaroption
48
+ }
49
+ }
50
+ })
51
+ </script>
@@ -2,7 +2,6 @@
2
2
  <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
3
  <template v-if="redit || isEditAll">
4
4
  <vxe-textarea v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback" />
5
- <span style="display: none" v-html="renderText"></span>
6
5
  </template>
7
6
  <template v-else>
8
7
  <span>{{ renderText }}</span>
@@ -11,9 +10,19 @@
11
10
  </template>
12
11
 
13
12
  <script>
14
- import mixin from '../mixin/cell-mixin'
15
- export default {
13
+ import { defineComponent, getCurrentInstance } from 'vue'
14
+ import cellProps from '../mixin/cell-props'
15
+ import cellHooks from '../mixin/cell-hooks'
16
+ export default defineComponent({
16
17
  name: 'VxeRenderTextarea',
17
- mixins: [mixin]
18
- }
18
+ props: cellProps,
19
+ setup(props, context) {
20
+ const { proxy } = getCurrentInstance()
21
+ const useCell = cellHooks(props, context, proxy)
22
+
23
+ return {
24
+ ...useCell
25
+ }
26
+ }
27
+ })
19
28
  </script>
@@ -2,7 +2,6 @@
2
2
  <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
3
  <template v-if="redit || isEditAll">
4
4
  <vxe-input v-model="renderValue" v-bind="rprops" :size="rsize" :disabled-method="vxeDisabledMethod" @change="vxeChangeCallBack"></vxe-input>
5
- <span style="display: none" v-html="renderText"></span>
6
5
  </template>
7
6
  <template v-else>
8
7
  <span v-html="renderText"></span>
@@ -11,24 +10,35 @@
11
10
  </template>
12
11
 
13
12
  <script>
14
- import mixin from '../mixin/cell-mixin'
15
- export default {
16
- name: 'VxeRenderInput',
17
- mixins: [mixin],
18
- methods: {
13
+ import { defineComponent, getCurrentInstance } from 'vue'
14
+ import cellProps from '../mixin/cell-props'
15
+ import cellHooks from '../mixin/cell-hooks'
16
+ export default defineComponent({
17
+ name: 'VxeRenderTime',
18
+ props: cellProps,
19
+ setup(props, context) {
20
+ const { proxy } = getCurrentInstance()
21
+ const { $vUtils } = proxy
22
+ const useCell = cellHooks(props, context, proxy)
23
+
19
24
  // 禁用事件
20
- vxeDisabledMethod({ date, viewType }) {
21
- let { startTime, endTime } = this.rprops
25
+ const vxeDisabledMethod = ({ date, viewType }) => {
26
+ let { startTime, endTime } = props.rprops
22
27
  if (startTime) {
23
- startTime = this.$vUtils.format(startTime, this.rdata)
24
- let { done, time } = this.$vUtils.getDateDiff(startTime, date)
28
+ startTime = $vUtils.format(startTime, props.rdata)
29
+ let { done, time } = $vUtils.getDateDiff(startTime, date)
25
30
  return startTime ? !done : false
26
31
  } else if (endTime) {
27
- endTime = this.$vUtils.format(endTime, this.rdata)
28
- let { done, time } = this.$vUtils.getDateDiff(endTime, date)
32
+ endTime = $vUtils.format(endTime, props.rdata)
33
+ let { done, time } = $vUtils.getDateDiff(endTime, date)
29
34
  return done
30
35
  }
31
36
  }
37
+
38
+ return {
39
+ ...useCell,
40
+ vxeDisabledMethod
41
+ }
32
42
  }
33
- }
43
+ })
34
44
  </script>
@@ -2,7 +2,6 @@
2
2
  <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
3
  <template v-if="redit || isEditAll">
4
4
  <sh-tree v-model="renderValue" v-bind="rprops" :field="rkey" :value-data="rdata" :size="rsize" is-select @change="vxeTreeCallback"></sh-tree>
5
- <span style="display: none" v-html="renderText"></span>
6
5
  </template>
7
6
  <template v-else>
8
7
  <span v-html="renderText"></span>
@@ -11,24 +10,25 @@
11
10
  </template>
12
11
 
13
12
  <script>
14
- import mixin from '../mixin/cell-mixin'
15
- export default {
13
+ import { defineComponent, getCurrentInstance } from 'vue'
14
+ import cellProps from '../mixin/cell-props'
15
+ import cellHooks from '../mixin/cell-hooks'
16
+ export default defineComponent({
16
17
  name: 'VxeRenderTree',
17
- mixins: [mixin],
18
- data() {
19
- return {
20
- renderValue: []
21
- }
22
- },
23
- methods: {
18
+ props: cellProps,
19
+ setup(props, context) {
20
+ const { proxy } = getCurrentInstance()
21
+ const { $vUtils } = proxy
22
+ const useCell = cellHooks(props, context, proxy)
23
+
24
24
  // 输入框回调
25
- vxeTreeCallback(selectedKeys, selectedRows) {
26
- let { valueKeys, multiple } = this.rprops
25
+ const vxeTreeCallback = (selectedKeys, selectedRows) => {
26
+ let { valueKeys, multiple } = props.rprops
27
27
  if (!multiple) {
28
28
  selectedKeys = selectedKeys[0] || ''
29
29
  }
30
30
  if (valueKeys && selectedRows && selectedRows.length > 0) {
31
- let prefixKey = this.rkey.endsWith('Id') ? String(this.rkey).replace('Id', '') : this.rkey
31
+ let prefixKey = props.rkey.endsWith('Id') ? String(props.rkey).replace('Id', '') : props.rkey
32
32
  let valueks = Array.isArray(valueKeys) ? valueKeys : valueKeys.split(',')
33
33
  valueks.forEach(key => {
34
34
  let keySplits = key.split('=')
@@ -36,24 +36,20 @@ export default {
36
36
  let fromKey = keySplits[1] || String(keySplits[0]).replace(/@/gi, prefixKey)
37
37
  let fromvalue = null
38
38
  if (multiple) {
39
- fromvalue = selectedRows.map(item => this.$vUtils.get(item, fromKey) || this.$vUtils.get(item, fromDefaultKey))
39
+ fromvalue = selectedRows.map(item => $vUtils.get(item, fromKey) || $vUtils.get(item, fromDefaultKey))
40
40
  } else {
41
- fromvalue = this.$vUtils.get(selectedRows[0], fromKey) || this.$vUtils.get(selectedRows[0], fromDefaultKey)
41
+ fromvalue = $vUtils.get(selectedRows[0], fromKey) || $vUtils.get(selectedRows[0], fromDefaultKey)
42
42
  }
43
- this.$vUtils.set(this.rform ? this.rparams.data : this.rparams.row, fromKey, fromvalue)
43
+ $vUtils.set(props.rdata, fromKey, fromvalue)
44
44
  })
45
45
  }
46
- if (this.rform) {
47
- let { data, $form } = this.rparams
48
- this.$vUtils.set(data, this.rkey, selectedKeys)
49
- $form.context.emit('edit-closed', this.rparams, this)
50
- } else {
51
- let { column } = this.rparams
52
- let { model } = column
53
- model.change = true
54
- model.value = selectedKeys
55
- }
46
+ useCell.setRenderValue(selectedKeys, true)
47
+ }
48
+
49
+ return {
50
+ ...useCell,
51
+ vxeTreeCallback
56
52
  }
57
53
  }
58
- }
54
+ })
59
55
  </script>
@@ -2,7 +2,6 @@
2
2
  <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
3
  <template v-if="redit || isEditAll">
4
4
  <sh-upload v-model="renderValue" v-bind="rprops" :size="rsize" @input="vxeChangeCallBack({ value: $event })"></sh-upload>
5
- <span style="display: none" v-html="renderText"></span>
6
5
  </template>
7
6
  <template v-else>
8
7
  <sh-upload :model-value="renderText" v-bind="rprops" :disabled="true" :size="rsize"></sh-upload>
@@ -11,14 +10,19 @@
11
10
  </template>
12
11
 
13
12
  <script>
14
- import mixin from '../mixin/cell-mixin'
15
- export default {
13
+ import { defineComponent, getCurrentInstance } from 'vue'
14
+ import cellProps from '../mixin/cell-props'
15
+ import cellHooks from '../mixin/cell-hooks'
16
+ export default defineComponent({
16
17
  name: 'VxeRenderUpload',
17
- mixins: [mixin],
18
- data() {
18
+ props: cellProps,
19
+ setup(props, context) {
20
+ const { proxy } = getCurrentInstance()
21
+ const useCell = cellHooks(props, context, proxy)
22
+
19
23
  return {
20
- renderValue: []
24
+ ...useCell
21
25
  }
22
26
  }
23
- }
27
+ })
24
28
  </script>
@@ -1,43 +1,25 @@
1
- <template>
2
- <div class="vxe-filter--wrap">
3
- <span class="vxe-filter--inner">
4
- <vxe-input v-model="renderValue.data" v-bind="rprops" :disabled="false" @input="vxeFilterCallback" />
5
- </span>
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import mixin from '../mixin/cell-mixin'
11
- export default {
12
- name: 'VxeFilterInput',
13
- mixins: [mixin],
14
- data() {
15
- return {
16
- renderValue: {}
17
- }
18
- },
19
- computed: {},
20
- watch: {
21
- rparams(nv, ov) {
22
- this.initLoad()
23
- }
24
- },
25
- created() {
26
- this.initLoad()
27
- },
28
- methods: {
29
- // 初始化
30
- initLoad() {
31
- const { column, $panel } = this.rparams
32
- const option = column.filters[0]
33
- this.renderValue = option
34
- $panel.changeOption(null, Boolean(this.renderValue.data), option)
35
- },
36
- // 过滤回调
37
- vxeFilterCallback({ value, $event }) {
38
- const { $panel } = this.rparams
39
- $panel.changeOption(null, Boolean(this.renderValue.data), this.renderValue)
40
- }
41
- }
42
- }
43
- </script>
1
+ <template>
2
+ <div class="vxe-filter--wrap">
3
+ <span class="vxe-filter--inner">
4
+ <vxe-input v-model="renderValue.data" v-bind="rprops" :disabled="false" @input="vxeFilterCallback" />
5
+ </span>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import { defineComponent, getCurrentInstance } from 'vue'
11
+ import cellProps from '../mixin/cell-props'
12
+ import filterHooks from '../mixin/filter-hooks'
13
+ export default defineComponent({
14
+ name: 'VxeFilterInput',
15
+ props: cellProps,
16
+ setup(props, context) {
17
+ const { proxy } = getCurrentInstance()
18
+ const useFilter = filterHooks(props, context, proxy)
19
+
20
+ return {
21
+ ...useFilter
22
+ }
23
+ }
24
+ })
25
+ </script>
@@ -1,13 +1,23 @@
1
- <template>
2
- <span>{{ getFooterData() }}</span>
3
- </template>
4
-
5
- <script>
6
- import mixin from '../mixin/cell-mixin'
7
- export default {
8
- name: 'VxeFooterMoney',
9
- mixins: [mixin]
10
- }
11
- </script>
12
-
13
- <style scoped></style>
1
+ <template>
2
+ <span>{{ getFooterData() }}</span>
3
+ </template>
4
+
5
+ <script>
6
+ import { defineComponent, getCurrentInstance } from 'vue'
7
+ import cellProps from '../mixin/cell-props'
8
+ import cellHooks from '../mixin/cell-hooks'
9
+ export default defineComponent({
10
+ name: 'VxeFooterInput',
11
+ props: cellProps,
12
+ setup(props, context) {
13
+ const { proxy } = getCurrentInstance()
14
+ const useCell = cellHooks(props, context, proxy)
15
+
16
+ return {
17
+ ...useCell
18
+ }
19
+ }
20
+ })
21
+ </script>
22
+
23
+ <style scoped></style>
@@ -1,20 +1,30 @@
1
- <template>
2
- <div v-if="rprops.bill" class="header-bill-box">
3
- <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
4
- <span class="cell-bill-number" :class="getBillClass(bil)">{{ getBillValue(bilindex, true) }}</span>
5
- </template>
6
- </div>
7
- <template v-else>
8
- <span class="blue">{{ getFooterData() }}</span>
9
- </template>
10
- </template>
11
-
12
- <script>
13
- import mixin from '../mixin/cell-mixin'
14
- export default {
15
- name: 'VxeFooterMoney',
16
- mixins: [mixin]
17
- }
18
- </script>
19
-
20
- <style scoped></style>
1
+ <template>
2
+ <div v-if="rprops.bill" class="header-bill-box">
3
+ <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
4
+ <span class="cell-bill-number" :class="getBillClass(bil)">{{ getBillValue(bilindex, true) }}</span>
5
+ </template>
6
+ </div>
7
+ <template v-else>
8
+ <span class="blue">{{ getFooterData() }}</span>
9
+ </template>
10
+ </template>
11
+
12
+ <script>
13
+ import { defineComponent, getCurrentInstance } from 'vue'
14
+ import cellProps from '../mixin/cell-props'
15
+ import cellHooks from '../mixin/cell-hooks'
16
+ export default defineComponent({
17
+ name: 'VxeFooterMoney',
18
+ props: cellProps,
19
+ setup(props, context) {
20
+ const { proxy } = getCurrentInstance()
21
+ const useCell = cellHooks(props, context, proxy)
22
+
23
+ return {
24
+ ...useCell
25
+ }
26
+ }
27
+ })
28
+ </script>
29
+
30
+ <style scoped></style>
@@ -479,7 +479,7 @@ const filterRenders = {
479
479
  const { data } = option
480
480
  const { rname, rprops, property } = column
481
481
  if (publicRendersNames.expendRenders.includes(rname)) {
482
- let { rtext } = $table.$vUtils.formatRender(cellValue, property, row, rname, rprops, $table)
482
+ let { rtext } = utils.formatRender(cellValue, property, row, rname, rprops, { $vUtils: utils })
483
483
  return String(rtext).toLowerCase().indexOf(data.toLowerCase()) > -1
484
484
  }
485
485
  return String(cellValue).toLowerCase().indexOf(data.toLowerCase()) > -1
@@ -1,21 +1,31 @@
1
- <template>
2
- <span>
3
- {{ rparams.column.title }}
4
- <span v-if="moneyUnitText" class="header-money-unit-text">({{ moneyUnitText }})</span>
5
- </span>
6
- <div v-if="rprops.bill" class="header-bill-box">
7
- <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
8
- <span class="cell-bill-number" :class="getBillClass(bil)">{{ bil.shortText }}</span>
9
- </template>
10
- </div>
11
- </template>
12
-
13
- <script>
14
- import mixin from '../mixin/cell-mixin'
15
- export default {
16
- name: 'VxeHeaderMoney',
17
- mixins: [mixin]
18
- }
19
- </script>
20
-
21
- <style scoped></style>
1
+ <template>
2
+ <span>
3
+ {{ rparams.column.title }}
4
+ <span v-if="moneyUnitText" class="header-money-unit-text">({{ moneyUnitText }})</span>
5
+ </span>
6
+ <div v-if="rprops.bill" class="header-bill-box">
7
+ <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
8
+ <span class="cell-bill-number" :class="getBillClass(bil)">{{ bil.shortText }}</span>
9
+ </template>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ import { defineComponent, getCurrentInstance } from 'vue'
15
+ import cellProps from '../mixin/cell-props'
16
+ import cellHooks from '../mixin/cell-hooks'
17
+ export default defineComponent({
18
+ name: 'VxeHeaderMoney',
19
+ props: cellProps,
20
+ setup(props, context) {
21
+ const { proxy } = getCurrentInstance()
22
+ const useCell = cellHooks(props, context, proxy)
23
+
24
+ return {
25
+ ...useCell
26
+ }
27
+ }
28
+ })
29
+ </script>
30
+
31
+ <style scoped></style>