cnhis-design-vue 0.3.5-beta → 0.3.8-beta
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/es/big-table/index.css +3 -2
- package/es/big-table/index.js +282 -51
- package/es/button-print/index.css +3 -2
- package/es/drag-layout/index.css +3 -2
- package/es/grid/index.css +4 -3
- package/es/index.css +3 -2
- package/es/index.js +282 -51
- package/package.json +2 -1
- package/packages/big-table/src/BigTable.vue +364 -37
- package/packages/big-table/src/assets/style/table-base.less +6 -0
- package/packages/big-table/src/assets/style/table-global.less +9 -1
- package/packages/big-table/src/bigTableProps.ts +1 -1
- package/packages/big-table/src/bigTableState.ts +1 -0
- package/packages/big-table/src/components/edit-form/edit-input.vue +19 -0
- package/packages/big-table/src/components/edit-form/edit-select-table.vue +127 -0
- package/packages/big-table/src/components/edit-form/edit-select.vue +36 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/EditForm.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-date-picker/edit-date-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-digital/edit-digital.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input/edit-input.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input-password/edit-input-password.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-month-picker/edit-month-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search/edit-search.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search-more/edit-search-more.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select/edit-select.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-textarea/edit-textarea.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-time-picker/edit-time-picker.vue +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/editFormProps.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/register-com.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useConfigData.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useDateType.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useFormCommon.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useItemDefault.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useSearch.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useValidateRules.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/interface.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/types.ts +0 -0
- /package/packages/big-table/src/components/{edit-form → edit-form3}/utils.ts +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
<script lang="tsx">
|
|
2
|
+
import { defineComponent, ref, reactive } from 'vue'
|
|
3
|
+
import { NSelect, NPagination, NEmpty, NSpin, NSpace } from 'naive-ui'
|
|
4
|
+
import CGrid from '~/grid'
|
|
5
|
+
import vexutils from '@/utils/vexutils'
|
|
6
|
+
|
|
7
|
+
export default defineComponent({
|
|
8
|
+
name: 'EditSelectTable',
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
components: {
|
|
11
|
+
NSelect,
|
|
12
|
+
CGrid,
|
|
13
|
+
NPagination,
|
|
14
|
+
NEmpty,
|
|
15
|
+
NSpin,
|
|
16
|
+
NSpace
|
|
17
|
+
},
|
|
18
|
+
props: {
|
|
19
|
+
row: {
|
|
20
|
+
type: Object,
|
|
21
|
+
default: {}
|
|
22
|
+
},
|
|
23
|
+
col: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: {}
|
|
26
|
+
},
|
|
27
|
+
value: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: ''
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
emits: ['update:value'],
|
|
33
|
+
setup (props, { attrs, slots, emit }) {
|
|
34
|
+
const state = reactive({
|
|
35
|
+
value: props.value,
|
|
36
|
+
row: JSON.parse(JSON.stringify(props.row)),
|
|
37
|
+
page: 1,
|
|
38
|
+
pageCount: 0,
|
|
39
|
+
keyword: '',
|
|
40
|
+
data: [],
|
|
41
|
+
columns: JSON.parse(JSON.stringify(props.col.tableColumn)),
|
|
42
|
+
loading: false,
|
|
43
|
+
show: true
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
const selectTableFocus = () => {
|
|
47
|
+
state.show = true
|
|
48
|
+
state.page = 1
|
|
49
|
+
state.keyword = ''
|
|
50
|
+
state.pageCount = 0
|
|
51
|
+
querySelectTableList()
|
|
52
|
+
}
|
|
53
|
+
const querySelectTableList = async () => {
|
|
54
|
+
state.loading = true
|
|
55
|
+
const obj = {
|
|
56
|
+
page: state.page,
|
|
57
|
+
keyword: state.keyword
|
|
58
|
+
}
|
|
59
|
+
const { data, pageCount } = await props.col.querySelectTableList(obj)
|
|
60
|
+
state.data = data
|
|
61
|
+
state.pageCount = pageCount
|
|
62
|
+
state.loading = false
|
|
63
|
+
}
|
|
64
|
+
let selectTableSearch = (value: string) => {
|
|
65
|
+
console.log('keyword', value)
|
|
66
|
+
state.keyword = value
|
|
67
|
+
querySelectTableList()
|
|
68
|
+
}
|
|
69
|
+
selectTableSearch = vexutils.debounce(selectTableSearch, 800)
|
|
70
|
+
const getSelectTableGrid = () => {
|
|
71
|
+
const config = {
|
|
72
|
+
border: 'outer',
|
|
73
|
+
resizable: true,
|
|
74
|
+
autoResize: true,
|
|
75
|
+
showOverflow: true,
|
|
76
|
+
showHeaderOverflow: true,
|
|
77
|
+
highlightHoverRow: true,
|
|
78
|
+
highlightCurrentRow: true,
|
|
79
|
+
maxHeight: '500',
|
|
80
|
+
align: 'center',
|
|
81
|
+
columns: state.columns,
|
|
82
|
+
data: state.data
|
|
83
|
+
}
|
|
84
|
+
return <CGrid {...config} onCellClick={(data: any) => onCellClick(data)}>{{
|
|
85
|
+
empty: () => <NEmpty description="无数据" />
|
|
86
|
+
}}</CGrid>
|
|
87
|
+
}
|
|
88
|
+
const onCellClick = (data: any) => {
|
|
89
|
+
emit('update:value', data.row?.[props.col.columnName]);
|
|
90
|
+
state.show = false
|
|
91
|
+
}
|
|
92
|
+
const getPagination = () => {
|
|
93
|
+
const pagination = () => {
|
|
94
|
+
return <NPagination
|
|
95
|
+
v-model={[state.page, 'page']}
|
|
96
|
+
pageCount={state.pageCount}
|
|
97
|
+
onUpdatePage={(page: number) => querySelectTableList()}
|
|
98
|
+
/>
|
|
99
|
+
}
|
|
100
|
+
return <NSpace justify="space-between" align="center" style="margin-top: 5px">{[`共${state.pageCount}条`, pagination()]}</NSpace>
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return () => [
|
|
104
|
+
<NSelect
|
|
105
|
+
class="form-select-table"
|
|
106
|
+
options={[]}
|
|
107
|
+
consistentMenuWidth={false}
|
|
108
|
+
clearable
|
|
109
|
+
filterable
|
|
110
|
+
to={false}
|
|
111
|
+
show={state.show}
|
|
112
|
+
loading={state.loading}
|
|
113
|
+
onFocus={selectTableFocus}
|
|
114
|
+
onBlur={() => state.show = false}
|
|
115
|
+
onSearch={selectTableSearch}
|
|
116
|
+
>{{
|
|
117
|
+
action: () => state.loading ? <NSpace justify="center"><NSpin class="spin" size="small" /></NSpace> : [getSelectTableGrid(), state.pageCount ? getPagination() : null]
|
|
118
|
+
}}</NSelect>
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
})
|
|
122
|
+
</script>
|
|
123
|
+
<style lang="less" scoped>
|
|
124
|
+
.spin {
|
|
125
|
+
margin: 80px auto;
|
|
126
|
+
}
|
|
127
|
+
</style>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script lang="tsx">
|
|
2
|
+
import { defineComponent, ref, reactive } from 'vue'
|
|
3
|
+
import { NSelect } from 'naive-ui'
|
|
4
|
+
|
|
5
|
+
export default defineComponent({
|
|
6
|
+
name: 'EditSelect',
|
|
7
|
+
inheritAttrs: false,
|
|
8
|
+
components: {
|
|
9
|
+
NSelect
|
|
10
|
+
},
|
|
11
|
+
props: {
|
|
12
|
+
col: {
|
|
13
|
+
type: Object,
|
|
14
|
+
default: {}
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
setup (props, { attrs, slots, emit }) {
|
|
18
|
+
const state = reactive({
|
|
19
|
+
options: JSON.parse(JSON.stringify(props.col.options || []))
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
return () => [
|
|
23
|
+
<NSelect
|
|
24
|
+
{...attrs}
|
|
25
|
+
options={state.options}
|
|
26
|
+
consistentMenuWidth={false}
|
|
27
|
+
clearable
|
|
28
|
+
filterable
|
|
29
|
+
to={false}
|
|
30
|
+
placeholder="请选择"
|
|
31
|
+
/>
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
</script>
|
|
36
|
+
<style lang="less" scoped></style>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/editFormProps.ts
RENAMED
|
File without changes
|
/package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/register-com.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useValidateRules.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|