xt-element-ui 2.1.5 → 2.1.6

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 (30) hide show
  1. package/docs/components/base/xt-date-picker.md +127 -37
  2. package/docs/components/base/xt-form-schema.md +358 -0
  3. package/docs/components/base/xt-grid-box.md +4 -4
  4. package/docs/components/base/xt-input.md +204 -42
  5. package/docs/components/base/xt-list.md +458 -458
  6. package/docs/components/base/xt-text.md +1 -0
  7. package/docs/components/utils/config.md +285 -0
  8. package/docs/components/utils/format.md +445 -0
  9. package/lib/index.common.js +2303 -8625
  10. package/lib/index.css +1 -1
  11. package/lib/index.umd.js +2303 -8625
  12. package/lib/index.umd.min.js +1 -1
  13. package/package.json +4 -2
  14. package/src/components/xt-date-picker/component/Picker.vue +196 -0
  15. package/src/components/xt-date-picker/component/RangeDate.vue +136 -0
  16. package/src/components/xt-date-picker/index.vue +164 -144
  17. package/src/components/xt-flex-box/index.vue +1 -1
  18. package/src/components/xt-form-schema/index.js +8 -0
  19. package/src/components/xt-form-schema/index.vue +328 -0
  20. package/src/components/xt-grid-item/index.vue +2 -2
  21. package/src/components/xt-input/index.vue +224 -28
  22. package/src/components/xt-input/style/index.scss +10 -0
  23. package/src/components/xt-list/index.js +7 -7
  24. package/src/components/xt-list/index.vue +885 -885
  25. package/src/components/xt-transfer-tree/index.js +7 -7
  26. package/src/components/xt-transfer-tree/index.vue +493 -493
  27. package/src/index.js +5 -2
  28. package/src/components/xt-date-picker/SearchDate.vue +0 -45
  29. package/src/components/xt-date-picker/quarter.vue +0 -154
  30. package/src/components/xt-table/index copy.vue +0 -663
package/src/index.js CHANGED
@@ -47,6 +47,7 @@ import XtPage from './components/xt-page'
47
47
  import XtSelectTree from './components/xt-select-tree'
48
48
  import XtUpload from './components/xt-upload'
49
49
  import XtTransferTree from './components/xt-transfer-tree' // XtTransferTree 组件(树形穿梭框)
50
+ import XtFormSchema from './components/xt-form-schema' // XtFormSchema 组件(表单配置化搜索)
50
51
 
51
52
 
52
53
  const components = [
@@ -80,7 +81,8 @@ const components = [
80
81
  XtPage,
81
82
  XtSelectTree,
82
83
  XtUpload,
83
- XtTransferTree
84
+ XtTransferTree,
85
+ XtFormSchema
84
86
  ]
85
87
 
86
88
  const install = function (Vue, options = {}) {
@@ -159,7 +161,8 @@ export default {
159
161
  XtPage,
160
162
  XtSelectTree,
161
163
  XtUpload,
162
- XtTransferTree
164
+ XtTransferTree,
165
+ XtFormSchema
163
166
  }
164
167
 
165
168
  // XtChart 组件按需导出(使用时需自行安装 echarts 依赖)
@@ -1,45 +0,0 @@
1
- <template>
2
- <el-form-item label="日期类型">
3
- <el-select v-model="params.SearchCondition" style="width:120px;">
4
- <el-option label="建档日期" value="建档日期"></el-option>
5
- <el-option label="更新日期" value="更新日期"></el-option>
6
- </el-select>
7
- <el-select v-model="params.SearchType" style="width:120px;">
8
- <el-option v-for="item in searchList" :key="item.value" :label="item.name" :value="item.value"></el-option>
9
- </el-select>
10
- <el-date-picker v-model="params.SearchValue" :style="'width:'+txtInputWidth+'px;'" value-format="yyyy-MM-dd" placeholder=""></el-date-picker>
11
- </el-form-item>
12
- </template>
13
- <script>
14
- export default {
15
- name: "SearchDate",
16
- props: {
17
- searchList: {
18
- type: Array,
19
- default() {
20
- return [];
21
- }
22
- },
23
- params: {
24
- type: Object,
25
- default() {
26
- return {
27
- SearchType: "",
28
- SearchCondition: "建档日期",
29
- SearchValue: ""
30
- };
31
- }
32
- },
33
- /** 查询文本输入框宽度 */
34
- txtInputWidth: {
35
- type: Number,
36
- default: 130
37
- }
38
- },
39
- created() {
40
- if (this.searchList.length > 0 && !this.params.SearchType) {
41
- this.params.SearchType = this.searchList[0].value;
42
- }
43
- }
44
- };
45
- </script>
@@ -1,154 +0,0 @@
1
-
2
-
3
- <template>
4
- <el-popover v-model="popoverVisible" trigger="click" :disabled="disabled" transition="el-zoom-in-top" :placement="placement" :width="popoverWidth" @hide="handleBlur">
5
- <div class="quarter-wrapper">
6
- <BaseFlexBox content="between">
7
- <i class="el-icon-d-arrow-left" @click="prev"></i>
8
- <span>{{ selectYear }}</span>
9
- <i class="el-icon-d-arrow-right" @click="after"></i>
10
- </BaseFlexBox>
11
- <BaseFlexBox content="between" style="margin-top: 10px">
12
- <el-button v-for="item in quarterList" :key="item.value" :disabled="getDisable(item)" :type="currentyear==selectYear&&item.value == currentQuarter ?'primary':''" size="mini" round @click="setCurrent(item)">{{ item.label }}</el-button>
13
- </BaseFlexBox>
14
- </div>
15
- <el-input slot="reference" ref="reference" size="small" :value="quarterLabel" readonly :title="value" :placeholder="placeholder" prefix-icon="el-icon-date" clearable />
16
- </el-popover>
17
- </template>
18
-
19
- <script>
20
- import BaseFlexBox from "../xt-flex-box/index.vue";
21
- import dateFns from "date-fns";
22
- export default {
23
- name: "DateQuarter",
24
- components: {
25
- BaseFlexBox
26
- },
27
- model: {
28
- props: "value",
29
- event: "change"
30
- },
31
- props: {
32
- value: {},
33
- quarterType: { // value绑定值类型 1.quarter为时返回当前时间 2.quarter-start时返回季的开始时间 3. quarter-end时返回季的结束时间
34
- type: String,
35
- default: "quarter"
36
- },
37
- placement: {
38
- type: String,
39
- default: "bottom-start"
40
- },
41
- // valueFormat: {
42
- // type: String,
43
- // default: "yyyy-Qq"
44
- // },
45
- format: { // 同时支持字符串 "yyyy-Qq" 使用小写q进行格式化数据
46
- type: String,
47
- default: "yy-Qq"
48
- },
49
- popoverWidth: Number,
50
- placeholder: {},
51
- pickerOptions: {
52
- type: Object,
53
- default: () => {
54
- return {
55
- disabledDate: () => {
56
- return false;
57
- }
58
- };
59
- }
60
- },
61
- disabled: {}
62
- },
63
- data() {
64
- const dateVal = this.getQuarterDate(this.value);
65
- const currentyear = dateVal ? dateVal.getFullYear() : "";
66
- const month = dateVal ? dateVal.getMonth() : "";
67
- const selectYear = dateVal ? dateVal.getFullYear() : new Date().getFullYear();
68
- return {
69
- dateVal: dateVal,
70
- currentyear: currentyear,
71
- currentQuarter: dateFns.getQuarter(dateVal),
72
- selectYear: selectYear,
73
- currentMonth: month,
74
- popoverVisible: false,
75
- quarterList: [
76
- { label: "Q1", value: 1 },
77
- { label: "Q2", value: 2 },
78
- { label: "Q3", value: 3 },
79
- { label: "Q4", value: 4 }
80
- ]
81
- };
82
- },
83
- computed: {
84
- diffQuarter() {
85
- return (this.selectYear - this.currentyear) * 4 - this.currentQuarter;
86
- },
87
- quarterLabel: {
88
- get() {
89
- if (!this.currentyear || !this.currentQuarter) {
90
- return "";
91
- }
92
- return this.getFormatVal();
93
- }
94
- }
95
- },
96
- methods: {
97
- getQuarterDate(val) {
98
- if (!val) return null;
99
- if (this.quarterType == "quarter-start") {
100
- return dateFns.startOfQuarter(val);
101
- } else if (this.quarterType == "quarter-end") {
102
- return dateFns.endOfQuarter(val);
103
- } else {
104
- const currentQuarter = dateFns.getQuarter(val);
105
- return dateFns.setQuarter(this.value, currentQuarter);
106
- }
107
- },
108
- getDisable(it) {
109
- },
110
- handleChangeVal(v) {
111
- },
112
- getFormatVal() {
113
- if (!this.format) {
114
- return `${this.currentyear}-Q${this.currentQuarter}`;
115
- }
116
- const formatMap = {
117
- y: this.currentyear,
118
- q: this.currentQuarter
119
- };
120
- const val = this.format.replace(/(y|q)+/g, (result, key) => {
121
- const value = formatMap[key];
122
- return value || "";
123
- });
124
- return val;
125
- },
126
- setCurrent(item) {
127
- if (!this.dateVal) {
128
- this.dateVal = new Date();
129
- }
130
- this.dateVal.setFullYear(this.selectYear);
131
- this.dateVal = dateFns.setQuarter(this.dateVal, item.value);
132
- this.$emit("change", this.dateVal);
133
- this.currentQuarter = item.value;
134
- this.currentyear = this.selectYear;
135
- this.popoverVisible = false;
136
- },
137
- after() {
138
- this.dateVal.setFullYear(this.dateVal.getFullYear() + 1);
139
- this.selectYear = this.dateVal.getFullYear();
140
- },
141
- prev() {
142
- this.dateVal.setFullYear(this.dateVal.getFullYear() - 1);
143
- this.selectYear = this.dateVal.getFullYear();
144
- },
145
- handleBlur() {
146
- this.$refs.reference.blur();
147
- }
148
- }
149
- };
150
- </script>
151
-
152
- <style>
153
-
154
- </style>