sh-view 2.6.2 → 2.6.3

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 (38) hide show
  1. package/package.json +1 -1
  2. package/packages/components/global-components/sh-form/form.vue +110 -108
  3. package/packages/components/global-components/sh-form/js/useForm.js +3 -0
  4. package/packages/components/global-components/sh-form/query.vue +70 -68
  5. package/packages/components/global-components/sh-table/components/sh-column.vue +69 -69
  6. package/packages/components/global-components/sh-table/grid.vue +160 -159
  7. package/packages/components/global-components/sh-table/table.vue +218 -217
  8. package/packages/components/other-components/sh-cron-modal/mixin/cron-hooks.js +179 -177
  9. package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +101 -99
  10. package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +68 -66
  11. package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +68 -66
  12. package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +68 -66
  13. package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +68 -66
  14. package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +126 -125
  15. package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +59 -57
  16. package/packages/components/other-components/sh-preview/components/sh-excel.vue +929 -927
  17. package/packages/components/other-components/sh-preview/components/sh-word.vue +78 -76
  18. package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +28 -26
  19. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +43 -42
  20. package/packages/vxeTable/render/cell/vxe-render-code.vue +36 -34
  21. package/packages/vxeTable/render/cell/vxe-render-goption.vue +104 -103
  22. package/packages/vxeTable/render/cell/vxe-render-href.vue +21 -19
  23. package/packages/vxeTable/render/cell/vxe-render-input.vue +53 -52
  24. package/packages/vxeTable/render/cell/vxe-render-money.vue +33 -31
  25. package/packages/vxeTable/render/cell/vxe-render-progress.vue +28 -26
  26. package/packages/vxeTable/render/cell/vxe-render-radio.vue +28 -26
  27. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +43 -42
  28. package/packages/vxeTable/render/cell/vxe-render-select.vue +52 -51
  29. package/packages/vxeTable/render/cell/vxe-render-switch.vue +28 -26
  30. package/packages/vxeTable/render/cell/vxe-render-table.vue +51 -50
  31. package/packages/vxeTable/render/cell/vxe-render-textarea.vue +28 -26
  32. package/packages/vxeTable/render/cell/vxe-render-time.vue +44 -41
  33. package/packages/vxeTable/render/cell/vxe-render-tree.vue +63 -60
  34. package/packages/vxeTable/render/cell/vxe-render-upload.vue +28 -26
  35. package/packages/vxeTable/render/filters/vxe-filter-input.vue +25 -23
  36. package/packages/vxeTable/render/footer/vxe-footer-input.vue +23 -21
  37. package/packages/vxeTable/render/footer/vxe-footer-money.vue +30 -28
  38. package/packages/vxeTable/render/header/vxe-header-money.vue +31 -29
@@ -1,52 +1,53 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform, 'flex-render': controlButton }">
3
- <template v-if="redit || isEditAll">
4
- <span v-if="rprops.prefixText && rform" class="prefix">
5
- <vxe-button v-if="prefixButton" v-bind="psButtonConfig" @click="vxeInputPrefixClick">{{ rprops.prefixText }}</vxe-button>
6
- <span v-else @click="vxeInputPrefixClick">{{ rprops.prefixText }}</span>
7
- </span>
8
- <span v-else-if="controlButton" class="control-btn before" @click="vxeControlClick(false)">-</span>
9
- <vxe-input v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback"></vxe-input>
10
- <span v-if="rprops.suffixText && rform" class="suffix">
11
- <vxe-button v-if="suffixButton" v-bind="psButtonConfig" @click="vxeInputSuffixClick">{{ rprops.suffixText }}</vxe-button>
12
- <span v-else @click="vxeInputSuffixClick">{{ rprops.suffixText }}</span>
13
- </span>
14
- <span v-else-if="controlButton" class="control-btn after" @click="vxeControlClick(true)">+</span>
15
- </template>
16
- <template v-else>
17
- <span v-if="rprops.prefixText && renderText" class="prefix">{{ rprops.prefixText }}</span>
18
- <span v-html="renderText"></span>
19
- <span v-if="rprops.suffixText && renderText" class="suffix">{{ rprops.suffixText }}</span>
20
- </template>
21
- </span>
22
- </template>
23
-
24
- <script>
25
- import { computed, defineComponent, getCurrentInstance } from 'vue'
26
- import cellProps from '../mixin/cell-props'
27
- import cellHooks from '../mixin/cell-hooks'
28
- export default defineComponent({
29
- name: 'VxeRenderInput',
30
- props: cellProps,
31
- setup(props, context) {
32
- const { proxy } = getCurrentInstance()
33
- const { $vUtils } = proxy
34
- const useCell = cellHooks(props, context, proxy)
35
-
36
- const controlButton = computed(() => props.rprops.control && ['number', 'float', 'integer'].includes(props.rprops.type))
37
-
38
- // 输入框数字加减控制
39
- const vxeControlClick = bol => {
40
- const { step = 1, min, max } = props.rprops
41
- let value = bol ? $vUtils.add(useCell.renderValue.value, step) : $vUtils.subtract(useCell.renderValue.value, step)
42
- if ((min !== undefined && value < min) || (max !== undefined && value > max)) return
43
- useCell.setRenderValue(value)
44
- }
45
-
46
- return Object.assign({}, useCell, {
47
- controlButton,
48
- vxeControlClick
49
- })
50
- }
51
- })
52
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform, 'flex-render': controlButton }">
3
+ <template v-if="redit || isEditAll">
4
+ <span v-if="rprops.prefixText && rform" class="prefix">
5
+ <vxe-button v-if="prefixButton" v-bind="psButtonConfig" @click="vxeInputPrefixClick">{{ rprops.prefixText }}</vxe-button>
6
+ <span v-else @click="vxeInputPrefixClick">{{ rprops.prefixText }}</span>
7
+ </span>
8
+ <span v-else-if="controlButton" class="control-btn before" @click="vxeControlClick(false)">-</span>
9
+ <vxe-input v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback"></vxe-input>
10
+ <span v-if="rprops.suffixText && rform" class="suffix">
11
+ <vxe-button v-if="suffixButton" v-bind="psButtonConfig" @click="vxeInputSuffixClick">{{ rprops.suffixText }}</vxe-button>
12
+ <span v-else @click="vxeInputSuffixClick">{{ rprops.suffixText }}</span>
13
+ </span>
14
+ <span v-else-if="controlButton" class="control-btn after" @click="vxeControlClick(true)">+</span>
15
+ </template>
16
+ <template v-else>
17
+ <span v-if="rprops.prefixText && renderText" class="prefix">{{ rprops.prefixText }}</span>
18
+ <span v-html="renderText"></span>
19
+ <span v-if="rprops.suffixText && renderText" class="suffix">{{ rprops.suffixText }}</span>
20
+ </template>
21
+ </span>
22
+ </template>
23
+
24
+ <script>
25
+ import { computed, defineComponent, getCurrentInstance } from 'vue'
26
+ import cellProps from '../mixin/cell-props'
27
+ import cellHooks from '../mixin/cell-hooks'
28
+ export default defineComponent({
29
+ name: 'VxeRenderInput',
30
+ props: cellProps,
31
+ setup(props, context) {
32
+ const { proxy } = getCurrentInstance()
33
+ const { $vUtils } = proxy
34
+ const useCell = cellHooks(props, context, proxy)
35
+
36
+ const controlButton = computed(() => props.rprops.control && ['number', 'float', 'integer'].includes(props.rprops.type))
37
+
38
+ // 输入框数字加减控制
39
+ const vxeControlClick = bol => {
40
+ const { step = 1, min, max } = props.rprops
41
+ let value = bol ? $vUtils.add(useCell.renderValue.value, step) : $vUtils.subtract(useCell.renderValue.value, step)
42
+ if ((min !== undefined && value < min) || (max !== undefined && value > max)) return
43
+ useCell.setRenderValue(value)
44
+ }
45
+
46
+ return {
47
+ ...useCell,
48
+ controlButton,
49
+ vxeControlClick
50
+ }
51
+ }
52
+ })
53
+ </script>
@@ -1,31 +1,33 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform, 'td-all': rprops.bill }">
3
- <template v-if="redit || isEditAll">
4
- <vxe-input v-model="renderValue" type="number" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback" />
5
- </template>
6
- <template v-else-if="rprops.bill">
7
- <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
8
- <span class="cell-bill-number" :class="getBillClass(bil)">{{ getBillValue(bilindex) }}</span>
9
- </template>
10
- </template>
11
- <template v-else>
12
- <span class="blue" v-html="renderText"></span>
13
- </template>
14
- </span>
15
- </template>
16
-
17
- <script>
18
- import { computed, defineComponent, getCurrentInstance } from 'vue'
19
- import cellProps from '../mixin/cell-props'
20
- import cellHooks from '../mixin/cell-hooks'
21
- export default defineComponent({
22
- name: 'VxeRenderMoney',
23
- props: cellProps,
24
- setup(props, context) {
25
- const { proxy } = getCurrentInstance()
26
- const useCell = cellHooks(props, context, proxy)
27
-
28
- return Object.assign({}, useCell)
29
- }
30
- })
31
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform, 'td-all': rprops.bill }">
3
+ <template v-if="redit || isEditAll">
4
+ <vxe-input v-model="renderValue" type="number" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback" />
5
+ </template>
6
+ <template v-else-if="rprops.bill">
7
+ <template v-for="(bil, bilindex) in billGroups" :key="bilindex">
8
+ <span class="cell-bill-number" :class="getBillClass(bil)">{{ getBillValue(bilindex) }}</span>
9
+ </template>
10
+ </template>
11
+ <template v-else>
12
+ <span class="blue" v-html="renderText"></span>
13
+ </template>
14
+ </span>
15
+ </template>
16
+
17
+ <script>
18
+ import { computed, defineComponent, getCurrentInstance } from 'vue'
19
+ import cellProps from '../mixin/cell-props'
20
+ import cellHooks from '../mixin/cell-hooks'
21
+ export default defineComponent({
22
+ name: 'VxeRenderMoney',
23
+ props: cellProps,
24
+ setup(props, context) {
25
+ const { proxy } = getCurrentInstance()
26
+ const useCell = cellHooks(props, context, proxy)
27
+
28
+ return {
29
+ ...useCell
30
+ }
31
+ }
32
+ })
33
+ </script>
@@ -1,26 +1,28 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
- <template v-if="redit || isEditAll">
4
- <vxe-input v-model="renderValue" type="number" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback" />
5
- </template>
6
- <template v-else>
7
- <sh-progress :percent="renderText" v-bind="rprops" />
8
- </template>
9
- </span>
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: 'VxeRenderPropgress',
18
- props: cellProps,
19
- setup(props, context) {
20
- const { proxy } = getCurrentInstance()
21
- const useCell = cellHooks(props, context, proxy)
22
-
23
- return Object.assign({}, useCell)
24
- }
25
- })
26
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
+ <template v-if="redit || isEditAll">
4
+ <vxe-input v-model="renderValue" type="number" v-bind="rprops" :size="rsize" @change="vxeInputChange" @blur="vxeBlurCallback" @clear="vxeBlurCallback" />
5
+ </template>
6
+ <template v-else>
7
+ <sh-progress :percent="renderText" v-bind="rprops" />
8
+ </template>
9
+ </span>
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: 'VxeRenderPropgress',
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>
@@ -1,26 +1,28 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'vxe-render--inner--readonly': !redit, 'form-render': rform, 'td-render': !rform }">
3
- <template v-if="redit || isEditAll">
4
- <vxe-radio v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeRadioCallBack" />
5
- </template>
6
- <template v-else>
7
- <vxe-radio :model-value="renderText" :disabled="true" v-bind="rprops" :size="rsize" />
8
- </template>
9
- </span>
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: 'VxeRenderRadio',
18
- props: cellProps,
19
- setup(props, context) {
20
- const { proxy } = getCurrentInstance()
21
- const useCell = cellHooks(props, context, proxy)
22
-
23
- return Object.assign({}, useCell)
24
- }
25
- })
26
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'vxe-render--inner--readonly': !redit, 'form-render': rform, 'td-render': !rform }">
3
+ <template v-if="redit || isEditAll">
4
+ <vxe-radio v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeRadioCallBack" />
5
+ </template>
6
+ <template v-else>
7
+ <vxe-radio :model-value="renderText" :disabled="true" v-bind="rprops" :size="rsize" />
8
+ </template>
9
+ </span>
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: 'VxeRenderRadio',
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>
@@ -1,42 +1,43 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
- <template v-if="redit || isEditAll">
4
- <vxe-radio-group v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeRadioCallBack">
5
- <vxe-radio v-for="checkitem in rprops.options" :key="checkitem.value" :label="checkitem.value" :content="checkitem.label" />
6
- </vxe-radio-group>
7
- </template>
8
- <template v-else-if="!redit && showType">
9
- <div v-for="roption in rprops.options" :key="roption">
10
- <sh-tag v-if="roptionShow(roption)" :color="roption.tagColor || rprops.tagColor" :type="roption.tagType || rprops.tagType">{{ roption.label }}</sh-tag>
11
- </div>
12
- </template>
13
- <template v-else>
14
- <span v-html="renderText"></span>
15
- </template>
16
- </span>
17
- </template>
18
-
19
- <script>
20
- import { computed, defineComponent, getCurrentInstance } from 'vue'
21
- import cellProps from '../mixin/cell-props'
22
- import cellHooks from '../mixin/cell-hooks'
23
- export default defineComponent({
24
- name: 'VxeRenderRadiogroup',
25
- props: cellProps,
26
- setup(props, context) {
27
- const { proxy } = getCurrentInstance()
28
- const useCell = cellHooks(props, context, proxy)
29
-
30
- const showType = computed(() => props.rprops.showType === 'tag')
31
-
32
- const roptionShow = roption => {
33
- return useCell.renderText.value.split(props.rprops.split).includes(roption.label)
34
- }
35
-
36
- return Object.assign({}, useCell, {
37
- showType,
38
- roptionShow
39
- })
40
- }
41
- })
42
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
+ <template v-if="redit || isEditAll">
4
+ <vxe-radio-group v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeRadioCallBack">
5
+ <vxe-radio v-for="checkitem in rprops.options" :key="checkitem.value" :label="checkitem.value" :content="checkitem.label" />
6
+ </vxe-radio-group>
7
+ </template>
8
+ <template v-else-if="!redit && showType">
9
+ <div v-for="roption in rprops.options" :key="roption">
10
+ <sh-tag v-if="roptionShow(roption)" :color="roption.tagColor || rprops.tagColor" :type="roption.tagType || rprops.tagType">{{ roption.label }}</sh-tag>
11
+ </div>
12
+ </template>
13
+ <template v-else>
14
+ <span v-html="renderText"></span>
15
+ </template>
16
+ </span>
17
+ </template>
18
+
19
+ <script>
20
+ import { computed, defineComponent, getCurrentInstance } from 'vue'
21
+ import cellProps from '../mixin/cell-props'
22
+ import cellHooks from '../mixin/cell-hooks'
23
+ export default defineComponent({
24
+ name: 'VxeRenderRadiogroup',
25
+ props: cellProps,
26
+ setup(props, context) {
27
+ const { proxy } = getCurrentInstance()
28
+ const useCell = cellHooks(props, context, proxy)
29
+
30
+ const showType = computed(() => props.rprops.showType === 'tag')
31
+
32
+ const roptionShow = roption => {
33
+ return useCell.renderText.value.split(props.rprops.split).includes(roption.label)
34
+ }
35
+
36
+ return {
37
+ ...useCell,
38
+ showType,
39
+ roptionShow
40
+ }
41
+ }
42
+ })
43
+ </script>
@@ -1,51 +1,52 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
- <template v-if="redit || isEditAll">
4
- <span v-if="rprops.prefixText && rform" class="prefix">
5
- <vxe-button v-if="prefixButton" v-bind="psButtonConfig" @click="vxeInputPrefixClick">{{ rprops.prefixText }}</vxe-button>
6
- <span v-else @click="vxeInputPrefixClick">{{ rprops.prefixText }}</span>
7
- </span>
8
- <vxe-select v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeChangeCallBack" />
9
- <span v-if="rprops.suffixText && rform" class="suffix">
10
- <vxe-button v-if="suffixButton" v-bind="psButtonConfig" @click="vxeInputSuffixClick">{{ rprops.suffixText }}</vxe-button>
11
- <span v-else @click="vxeInputSuffixClick">{{ rprops.suffixText }}</span>
12
- </span>
13
- </template>
14
- <template v-else-if="!redit && showType">
15
- <template v-for="showTag in showTags" :key="showTag.value">
16
- <sh-tag :color="showTag.tagColor || rprops.tagColor" :type="showTag.tagType || rprops.tagType">{{ showTag.label }}</sh-tag>
17
- </template>
18
- </template>
19
- <span v-else v-html="renderText"></span>
20
- </span>
21
- </template>
22
-
23
- <script>
24
- import { computed, defineComponent, getCurrentInstance } from 'vue'
25
- import cellProps from '../mixin/cell-props'
26
- import cellHooks from '../mixin/cell-hooks'
27
- export default defineComponent({
28
- name: 'VxeRenderSelect',
29
- props: cellProps,
30
- setup(props, context) {
31
- const { proxy } = getCurrentInstance()
32
- const useCell = cellHooks(props, context, proxy)
33
-
34
- const showType = computed(() => props.rprops.showType === 'tag')
35
-
36
- const showTags = computed(() => {
37
- const renderValue = useCell.renderValue.value
38
- const { options = [], multiple } = props.rprops
39
- if (multiple && Array.isArray(renderValue)) {
40
- return options.filter(option => renderValue.includes(option.value))
41
- }
42
- return options.filter(option => String(option.value) === String(renderValue))
43
- })
44
-
45
- return Object.assign({}, useCell, {
46
- showType,
47
- showTags
48
- })
49
- }
50
- })
51
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'form-render': rform, 'td-render': !rform }">
3
+ <template v-if="redit || isEditAll">
4
+ <span v-if="rprops.prefixText && rform" class="prefix">
5
+ <vxe-button v-if="prefixButton" v-bind="psButtonConfig" @click="vxeInputPrefixClick">{{ rprops.prefixText }}</vxe-button>
6
+ <span v-else @click="vxeInputPrefixClick">{{ rprops.prefixText }}</span>
7
+ </span>
8
+ <vxe-select v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeChangeCallBack" />
9
+ <span v-if="rprops.suffixText && rform" class="suffix">
10
+ <vxe-button v-if="suffixButton" v-bind="psButtonConfig" @click="vxeInputSuffixClick">{{ rprops.suffixText }}</vxe-button>
11
+ <span v-else @click="vxeInputSuffixClick">{{ rprops.suffixText }}</span>
12
+ </span>
13
+ </template>
14
+ <template v-else-if="!redit && showType">
15
+ <template v-for="showTag in showTags" :key="showTag.value">
16
+ <sh-tag :color="showTag.tagColor || rprops.tagColor" :type="showTag.tagType || rprops.tagType">{{ showTag.label }}</sh-tag>
17
+ </template>
18
+ </template>
19
+ <span v-else v-html="renderText"></span>
20
+ </span>
21
+ </template>
22
+
23
+ <script>
24
+ import { computed, defineComponent, getCurrentInstance } from 'vue'
25
+ import cellProps from '../mixin/cell-props'
26
+ import cellHooks from '../mixin/cell-hooks'
27
+ export default defineComponent({
28
+ name: 'VxeRenderSelect',
29
+ props: cellProps,
30
+ setup(props, context) {
31
+ const { proxy } = getCurrentInstance()
32
+ const useCell = cellHooks(props, context, proxy)
33
+
34
+ const showType = computed(() => props.rprops.showType === 'tag')
35
+
36
+ const showTags = computed(() => {
37
+ const renderValue = useCell.renderValue.value
38
+ const { options = [], multiple } = props.rprops
39
+ if (multiple && Array.isArray(renderValue)) {
40
+ return options.filter(option => renderValue.includes(option.value))
41
+ }
42
+ return options.filter(option => String(option.value) === String(renderValue))
43
+ })
44
+
45
+ return {
46
+ ...useCell,
47
+ showType,
48
+ showTags
49
+ }
50
+ }
51
+ })
52
+ </script>
@@ -1,26 +1,28 @@
1
- <template>
2
- <span class="vxe-render--inner" :class="{ 'vxe-render--inner--readonly': !redit, 'form-render': rform, 'td-render': !rform }">
3
- <template v-if="redit || isEditAll">
4
- <vxe-switch v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeChangeCallBack" />
5
- </template>
6
- <template v-else>
7
- <span v-html="renderText"></span>
8
- </template>
9
- </span>
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: 'VxeRenderSwitch',
18
- props: cellProps,
19
- setup(props, context) {
20
- const { proxy } = getCurrentInstance()
21
- const useCell = cellHooks(props, context, proxy)
22
-
23
- return Object.assign({}, useCell)
24
- }
25
- })
26
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" :class="{ 'vxe-render--inner--readonly': !redit, 'form-render': rform, 'td-render': !rform }">
3
+ <template v-if="redit || isEditAll">
4
+ <vxe-switch v-model="renderValue" v-bind="rprops" :size="rsize" @change="vxeChangeCallBack" />
5
+ </template>
6
+ <template v-else>
7
+ <span v-html="renderText"></span>
8
+ </template>
9
+ </span>
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: 'VxeRenderSwitch',
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>
@@ -1,50 +1,51 @@
1
- <template>
2
- <span class="vxe-render--inner" style="display: inline-grid; 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, ref } 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 Object.assign({}, useCell, {
44
- shTableRef,
45
- vxeInputCallback,
46
- onToolbaroption
47
- })
48
- }
49
- })
50
- </script>
1
+ <template>
2
+ <span class="vxe-render--inner" style="display: inline-grid; 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, ref } 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>