n20-common-lib 2.4.15 → 2.4.17

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "2.4.15",
3
+ "version": "2.4.17",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -26,7 +26,7 @@ vxeTable.formats.mixin({
26
26
  formatRate({ cellValue }) {
27
27
  return numerify(cellValue, '0.000000', Math.floor)
28
28
  },
29
- // 四舍五入金额,每隔3位逗号分隔,默认2位数
29
+ // 格式化时间,默认 yyyy-MM-dd HH:mm:ss
30
30
  formatDatetime({ cellValue }) {
31
31
  return dayjs(cellValue).format('YYYY-MM-DD HH:mm:ss')
32
32
  }
@@ -3,8 +3,8 @@
3
3
  <vxe-table
4
4
  ref="vxeTable"
5
5
  :key="colsKey"
6
- row-key
7
6
  :align="'center'"
7
+ :header-align="'center'"
8
8
  :data="data"
9
9
  :height="height"
10
10
  :class="{ 'cell-default-set--': cellDefault }"
@@ -26,7 +26,6 @@
26
26
  @sort-change="(val) => customSortMethod(val)"
27
27
  @filter-change="filterChange"
28
28
  @checkbox-change="handleSelectionChange"
29
- @checkbox-all="handleSelectionChange"
30
29
  >
31
30
  <template v-for="(item, i) in columns">
32
31
  <slot v-if="item.slotName" :name="item.slotName" :column="item"></slot>
@@ -40,20 +39,20 @@
40
39
  width="50"
41
40
  fixed="left"
42
41
  >
43
- <!-- <template #header="{ $table, checked, indeterminate }">
44
- <span class="custom-checkbox" @click.stop="toggleAll($table)">
45
- <el-checkbox v-if="indeterminate" :key="key" :indeterminate="indeterminate" />
46
- <el-checkbox v-else-if="checked" :key="key" :value="checked" />
47
- <el-checkbox v-else :key="key" :value="checked" />
42
+ <template #header="{ $table, checked, indeterminate, disabled }">
43
+ <span class="custom-checkbox" @click.stop="toggleAll($table, disabled)">
44
+ <el-checkbox v-if="indeterminate" :key="key" :indeterminate="indeterminate" :disabled="disabled" />
45
+ <el-checkbox v-else-if="checked" :key="key" :value="checked" :disabled="disabled" />
46
+ <el-checkbox v-else :key="key" :value="checked" :disabled="disabled" />
48
47
  </span>
49
48
  </template>
50
- <template #checkbox="{ $table, row, checked, indeterminate }">
51
- <span class="custom-checkbox" @click.stop="toggleChecked($table, row)">
52
- <el-checkbox v-if="indeterminate" :key="key" :indeterminate="indeterminate" />
53
- <el-checkbox v-else-if="checked" :key="key" :value="checked" />
54
- <el-checkbox v-else :key="key" :value="checked" />
49
+ <template #checkbox="{ $table, row, checked, indeterminate, disabled }">
50
+ <span class="custom-checkbox" @click.stop="toggleChecked($table, row, disabled)">
51
+ <el-checkbox v-if="indeterminate" :key="key" :indeterminate="indeterminate" :disabled="disabled" />
52
+ <el-checkbox v-else-if="checked" :key="key" :value="checked" :disabled="disabled" />
53
+ <el-checkbox v-else :key="key" :value="checked" :disabled="disabled" />
55
54
  </span>
56
- </template> -->
55
+ </template>
57
56
  </vxe-column>
58
57
  <vxe-column
59
58
  v-else
@@ -130,16 +129,49 @@ export default {
130
129
  },
131
130
  size(val) {
132
131
  this.sizeC = val
132
+ },
133
+ data() {
134
+ // 翻页清除选中
135
+ this.$refs.vxeTable.clearCheckboxRow()
136
+ this.$emit('selection-change-method', [])
133
137
  }
134
138
  },
135
139
  mounted() {},
136
140
  methods: {
137
- toggleAll($table) {
141
+ // 全选
142
+ toggleAllSelection() {
143
+ if (this.$refs.vxeTable) {
144
+ this.$refs.vxeTable.setAllCheckboxRow(true)
145
+ // 得手动触发
146
+ this.handleSelectionChange()
147
+ }
148
+ },
149
+ // 清空选择
150
+ clearSelection() {
151
+ if (this.$refs.vxeTable) {
152
+ this.$refs.vxeTable.setAllCheckboxRow(false)
153
+ // 得手动触发
154
+ this.handleSelectionChange()
155
+ }
156
+ },
157
+ // 选中某些行
158
+ toggleRowSelection(row, state = true) {
159
+ this.$refs.vxeTable.setCheckboxRow(row, state)
160
+ // 得手动触发
161
+ this.handleSelectionChange()
162
+ },
163
+ toggleAll($table, disabled) {
164
+ if (disabled) {
165
+ return false
166
+ }
138
167
  $table.toggleAllCheckboxRow()
139
168
  this.key++
140
169
  this.handleSelectionChange()
141
170
  },
142
- toggleChecked($table, row) {
171
+ toggleChecked($table, row, disabled) {
172
+ if (disabled) {
173
+ return false
174
+ }
143
175
  $table.toggleCheckboxRow(row)
144
176
  this.key++
145
177
  this.handleSelectionChange()
@@ -155,8 +187,18 @@ export default {
155
187
  },
156
188
  filterChange({ filterList }) {
157
189
  const obj = {}
190
+ // 复制默认筛选条件为空
191
+ this.columns.forEach((item) => {
192
+ if (item.filters) {
193
+ this.$set(obj, item.prop, undefined)
194
+ }
195
+ })
158
196
  filterList.forEach((item) => {
159
- this.$set(obj, item.field, item.values)
197
+ if (item.column.filterMultiple) {
198
+ this.$set(obj, item.field, item.values)
199
+ } else {
200
+ this.$set(obj, item.field, item.values && item.values[0])
201
+ }
160
202
  })
161
203
  this.$emit('filter-change-method', obj)
162
204
  },