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.
Files changed (39) hide show
  1. package/es/big-table/index.css +3 -2
  2. package/es/big-table/index.js +282 -51
  3. package/es/button-print/index.css +3 -2
  4. package/es/drag-layout/index.css +3 -2
  5. package/es/grid/index.css +4 -3
  6. package/es/index.css +3 -2
  7. package/es/index.js +282 -51
  8. package/package.json +2 -1
  9. package/packages/big-table/src/BigTable.vue +364 -37
  10. package/packages/big-table/src/assets/style/table-base.less +6 -0
  11. package/packages/big-table/src/assets/style/table-global.less +9 -1
  12. package/packages/big-table/src/bigTableProps.ts +1 -1
  13. package/packages/big-table/src/bigTableState.ts +1 -0
  14. package/packages/big-table/src/components/edit-form/edit-input.vue +19 -0
  15. package/packages/big-table/src/components/edit-form/edit-select-table.vue +127 -0
  16. package/packages/big-table/src/components/edit-form/edit-select.vue +36 -0
  17. /package/packages/big-table/src/components/{edit-form → edit-form3}/EditForm.vue +0 -0
  18. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-date-picker/edit-date-picker.vue +0 -0
  19. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-digital/edit-digital.vue +0 -0
  20. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input/edit-input.vue +0 -0
  21. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-input-password/edit-input-password.vue +0 -0
  22. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-month-picker/edit-month-picker.vue +0 -0
  23. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search/edit-search.vue +0 -0
  24. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-search-more/edit-search-more.vue +0 -0
  25. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select/edit-select.vue +0 -0
  26. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-select-multiple/edit-select-multiple.vue +0 -0
  27. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-textarea/edit-textarea.vue +0 -0
  28. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/edit-time-picker/edit-time-picker.vue +0 -0
  29. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/editFormProps.ts +0 -0
  30. /package/packages/big-table/src/components/{edit-form → edit-form3}/edit-component/register-com.ts +0 -0
  31. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useConfigData.ts +0 -0
  32. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useDateType.ts +0 -0
  33. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useFormCommon.ts +0 -0
  34. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useItemDefault.ts +0 -0
  35. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useSearch.ts +0 -0
  36. /package/packages/big-table/src/components/{edit-form → edit-form3}/hooks/useValidateRules.ts +0 -0
  37. /package/packages/big-table/src/components/{edit-form → edit-form3}/interface.ts +0 -0
  38. /package/packages/big-table/src/components/{edit-form → edit-form3}/types.ts +0 -0
  39. /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>