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.
- package/package.json +1 -1
- package/packages/components/global-components/sh-form/form.vue +110 -108
- package/packages/components/global-components/sh-form/js/useForm.js +3 -0
- package/packages/components/global-components/sh-form/query.vue +70 -68
- package/packages/components/global-components/sh-table/components/sh-column.vue +69 -69
- package/packages/components/global-components/sh-table/grid.vue +160 -159
- package/packages/components/global-components/sh-table/table.vue +218 -217
- package/packages/components/other-components/sh-cron-modal/mixin/cron-hooks.js +179 -177
- package/packages/components/other-components/sh-cron-modal/tabs/cron-day-box.vue +101 -99
- package/packages/components/other-components/sh-cron-modal/tabs/cron-hour-box.vue +68 -66
- package/packages/components/other-components/sh-cron-modal/tabs/cron-minute-box.vue +68 -66
- package/packages/components/other-components/sh-cron-modal/tabs/cron-month-box.vue +68 -66
- package/packages/components/other-components/sh-cron-modal/tabs/cron-second-box.vue +68 -66
- package/packages/components/other-components/sh-cron-modal/tabs/cron-week-box.vue +126 -125
- package/packages/components/other-components/sh-cron-modal/tabs/cron-year-box.vue +59 -57
- package/packages/components/other-components/sh-preview/components/sh-excel.vue +929 -927
- package/packages/components/other-components/sh-preview/components/sh-word.vue +78 -76
- package/packages/vxeTable/render/cell/vxe-render-checkbox.vue +28 -26
- package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +43 -42
- package/packages/vxeTable/render/cell/vxe-render-code.vue +36 -34
- package/packages/vxeTable/render/cell/vxe-render-goption.vue +104 -103
- package/packages/vxeTable/render/cell/vxe-render-href.vue +21 -19
- package/packages/vxeTable/render/cell/vxe-render-input.vue +53 -52
- package/packages/vxeTable/render/cell/vxe-render-money.vue +33 -31
- package/packages/vxeTable/render/cell/vxe-render-progress.vue +28 -26
- package/packages/vxeTable/render/cell/vxe-render-radio.vue +28 -26
- package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +43 -42
- package/packages/vxeTable/render/cell/vxe-render-select.vue +52 -51
- package/packages/vxeTable/render/cell/vxe-render-switch.vue +28 -26
- package/packages/vxeTable/render/cell/vxe-render-table.vue +51 -50
- package/packages/vxeTable/render/cell/vxe-render-textarea.vue +28 -26
- package/packages/vxeTable/render/cell/vxe-render-time.vue +44 -41
- package/packages/vxeTable/render/cell/vxe-render-tree.vue +63 -60
- package/packages/vxeTable/render/cell/vxe-render-upload.vue +28 -26
- package/packages/vxeTable/render/filters/vxe-filter-input.vue +25 -23
- package/packages/vxeTable/render/footer/vxe-footer-input.vue +23 -21
- package/packages/vxeTable/render/footer/vxe-footer-money.vue +30 -28
- 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
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
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
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
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
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
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
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
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
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
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
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
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
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
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
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
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>
|