n20-common-lib 2.4.2 → 2.4.4

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.2",
3
+ "version": "2.4.4",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -56,7 +56,9 @@
56
56
  "resize-detector": "*",
57
57
  "strip-json-comments": "*",
58
58
  "v-viewer": "*",
59
- "vuedraggable": "*"
59
+ "vuedraggable": "*",
60
+ "vxe-table": "^3.6.17",
61
+ "xe-utils": "^3.5.11"
60
62
  },
61
63
  "devDependencies": {
62
64
  "@babel/plugin-proposal-optional-chaining": "^7.14.5",
@@ -94,8 +96,8 @@
94
96
  "svg-url-loader": "^7.1.1",
95
97
  "svgo": "1.2.0",
96
98
  "swiper": "^8.4.5",
97
- "url-loader": "^4.1.1",
98
99
  "umy-table": "^1.1.8",
100
+ "url-loader": "^4.1.1",
99
101
  "vue": "^2.6.11",
100
102
  "vue-cli-plugin-axios": "~0.0.4",
101
103
  "vue-grid-layout": "^2.3.12",
@@ -1,7 +1,7 @@
1
1
  <script>
2
2
  import ExpandablePane from './main.vue'
3
3
  export default {
4
- ...ExpandablePane,
5
- name: 'Expandable'
4
+ name: 'Expandable',
5
+ extends: ExpandablePane
6
6
  }
7
7
  </script>
@@ -50,8 +50,11 @@ export default {
50
50
  }
51
51
  },
52
52
  watch: {
53
- defaultExpand(val) {
54
- this.expand = val
53
+ defaultExpand: {
54
+ handler(val) {
55
+ this.expand = val
56
+ },
57
+ immediate: true
55
58
  }
56
59
  },
57
60
  methods: {
@@ -2,6 +2,7 @@ import numerify from 'numerify'
2
2
  import dayjs from 'dayjs'
3
3
 
4
4
  function tplFn(row, sc, mck, map = {}) {
5
+ console.log(row, sc, mck, map)
5
6
  let str = ''
6
7
  sc.forEach((s, i) => {
7
8
  str += s
@@ -46,6 +47,7 @@ function tplFn(row, sc, mck, map = {}) {
46
47
  }
47
48
 
48
49
  export function colfF(colf, map) {
50
+ console.log(colf)
49
51
  if (typeof colf !== 'string') return colf
50
52
  let sc = colf.split(/{.+?}/g) || []
51
53
  let mc = colf.match(/{.+?}/g) || []
@@ -0,0 +1,10 @@
1
+ import vxeTable from 'vxe-table'
2
+ import 'vxe-table/lib/style.css'
3
+
4
+ function install(Vue) {
5
+ Vue.use(vxeTable)
6
+ }
7
+
8
+ export default {
9
+ install
10
+ }
@@ -0,0 +1,160 @@
1
+ <template>
2
+ <vxe-table
3
+ ref="el-table"
4
+ :key="colsKey"
5
+ :header-cell-style="{ 'text-align': 'center' }"
6
+ :data="data"
7
+ :height="height"
8
+ v-bind="Object.assign({ size: size }, $attrs, sizeBind)"
9
+ v-on="$listeners"
10
+ >
11
+ <template v-for="(item, i) in columns">
12
+ <slot v-if="item.slotName" :name="item.slotName" :column="item"></slot>
13
+ <!-- <vxe-column v-else-if="item.render" :key="'vxe-table-' + i" v-bind="item">
14
+ <columnRender slot-scope="{ row, $index }" :c-render="item.render" :row="row" :index="$index" />
15
+ </vxe-column> -->
16
+ <vxe-column
17
+ v-else
18
+ :key="'vxe-table-' + i"
19
+ :formatter="item.formatter | colfF(item.formatterMap)"
20
+ :filters="item.filters | colftF(filtersMap)"
21
+ :title="item.label"
22
+ :field="item.prop"
23
+ v-bind="item"
24
+ />
25
+ </template>
26
+ <tableSetSize :size="sizeC" @update:size="sizeUp" @resize="sizeSet" />
27
+ </vxe-table>
28
+ </template>
29
+
30
+ <script>
31
+ // import { $lc } from '../../utils/i18n/index'
32
+ import { colfF, colftF, colf_BD_F, colft_BD_F } from '../Table/filters'
33
+
34
+ import tableSetSize from '../TableSetSize/index.vue'
35
+
36
+ const columnRender = {
37
+ props: {
38
+ cRender: {
39
+ type: Function
40
+ },
41
+ row: {
42
+ type: Object
43
+ },
44
+ index: {
45
+ type: [Number, String]
46
+ },
47
+ height: {
48
+ type: [Number, String]
49
+ }
50
+ },
51
+ render(h) {
52
+ return this.cRender(h, this.row, this.index)
53
+ }
54
+ }
55
+
56
+ export default {
57
+ name: 'TablePro',
58
+ components: {
59
+ tableSetSize
60
+ },
61
+ filters: {
62
+ colfF,
63
+ colftF,
64
+ typeF(type) {
65
+ return type && type === 'selection' ? 'checkbox' : type
66
+ },
67
+ overflowF(item) {
68
+ return item.showOverflowTooltip || item['show-overflow-tooltip'] ? 'tooltip' : 'ellipsis'
69
+ },
70
+ colf_BD_F,
71
+ colft_BD_F,
72
+ colKey(item) {
73
+ let key = item.columnKey || item['column-key']
74
+ return key ? 'key@' + key : ''
75
+ }
76
+ },
77
+ props: {
78
+ data: {
79
+ type: Array,
80
+ default: undefined
81
+ },
82
+ columns: {
83
+ type: Array,
84
+ require: true,
85
+ default: () => []
86
+ },
87
+ filtersMap: {
88
+ type: Object,
89
+ default: () => ({})
90
+ },
91
+ pageObj: {
92
+ type: Object,
93
+ default: undefined
94
+ },
95
+ pageKey: {
96
+ type: Object,
97
+ default: undefined
98
+ },
99
+ height: {
100
+ type: [String, Number],
101
+ default: undefined
102
+ },
103
+ size: {
104
+ type: String,
105
+ default: 'small'
106
+ },
107
+ showSetsize: {
108
+ type: Boolean,
109
+ default: false
110
+ },
111
+ cellDefault: {
112
+ type: Boolean,
113
+ default: false
114
+ },
115
+ clearInFormMargin: {
116
+ type: Boolean,
117
+ default: false
118
+ }
119
+ },
120
+ data() {
121
+ let _this = this
122
+ return {
123
+ colsKey: 0,
124
+ sizeC: _this.size,
125
+ sizeBind: undefined
126
+ }
127
+ },
128
+ watch: {
129
+ columns() {
130
+ this.colsKey = this.colsKey + 1
131
+ },
132
+ size(val) {
133
+ this.sizeC = val
134
+ }
135
+ },
136
+ mounted() {},
137
+ methods: {
138
+ sizeUp(size) {
139
+ this.sizeC = size
140
+ this.$emit('update:size', size)
141
+ },
142
+ sizeSet(el) {
143
+ this.sizeBind = el
144
+
145
+ let inTable = this.$refs['el-table']
146
+ if (inTable) {
147
+ inTable.doLayout()
148
+ }
149
+ }
150
+ }
151
+ }
152
+ </script>
153
+ <style>
154
+ .cell-default-set-- .el-table__body .el-table__cell .cell:empty::before {
155
+ content: '--';
156
+ }
157
+ .clear-in-form-margin .el-table__body .el-table__cell .cell .el-form-item {
158
+ margin-bottom: 0;
159
+ }
160
+ </style>
@@ -118,7 +118,8 @@ HoverTooltip.install = (Vue) => {
118
118
  el.$tipShow = () => tipShow(el, binding.arg)
119
119
  el.$tipHide = () => tipHide(el)
120
120
  el.addEventListener('mouseenter', () => {
121
- if (getWidth(binding.value) > (binding.arg || 103)) {
121
+ console.log(getWidth(binding.value))
122
+ if (getWidth(binding.value) > (binding.arg || 100)) {
122
123
  return el.$tipShow()
123
124
  }
124
125
  })
package/src/index.js CHANGED
@@ -50,6 +50,7 @@ import StatisPopover from './components/Statis/statisPopover.vue'
50
50
  import Step from './components/Step/index.vue'
51
51
  import Suspend from './components/Suspend/index.vue'
52
52
  import Table from './components/Table/index.vue'
53
+ import TablePro from './components/TablePro/index.vue'
53
54
  import TableOperate from './components/TableOperateColumn/OperateBtns.vue'
54
55
  import TableOperateColumn from './components/TableOperateColumn/index.vue'
55
56
  import TableSetSize from './components/TableSetSize'
@@ -155,6 +156,7 @@ const components = [
155
156
  FooterBox,
156
157
  Filters,
157
158
  Table,
159
+ TablePro,
158
160
  TableOperate,
159
161
  TableOperateColumn,
160
162
  TableSetSize,
@@ -295,6 +297,7 @@ export {
295
297
  Step,
296
298
  Suspend,
297
299
  Table,
300
+ TablePro,
298
301
  TableOperate,
299
302
  TableOperateColumn,
300
303
  TableSetSize,