bri-components 1.3.81 → 1.3.83
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 +1 -1
- package/src/components/form/DshForm.vue +1 -1
- package/src/components/list/BriTable.vue +2 -2
- package/src/components/list/DshFlatTable.vue +96 -23
- package/src/components/list/DshTreeTable.vue +12 -2
- package/src/components/list/common/quoteListModal.vue +44 -54
- package/src/components/list/mixins/DshFlatTableMixin.js +12 -9
- package/src/components/list/mixins/DshTreeTableMixin.js +70 -20
- package/src/components/list/mixins/tableBaseMixin.js +48 -18
- package/src/utils/table.js +4 -4
package/package.json
CHANGED
|
@@ -199,7 +199,7 @@
|
|
|
199
199
|
|
|
200
200
|
forceValidateTypes: [
|
|
201
201
|
"select", "region", "cascader", "regions", "cascaders", "file", "coordinates", "editor",
|
|
202
|
-
"users", "departments", "labels", "flatTable", "reference", "referenceBy"
|
|
202
|
+
"users", "departments", "labels", "flatTable", "cascaderTable", "reference", "referenceBy"
|
|
203
203
|
],
|
|
204
204
|
ignoreProperties: [
|
|
205
205
|
"_name", "_key", "_default", "_required", "_regStr", "_regMessage", "_span", "_br", "_line", "_noLabel", "_clearable",
|
|
@@ -189,11 +189,11 @@
|
|
|
189
189
|
methods: {
|
|
190
190
|
// hidden columns
|
|
191
191
|
hideColumnsByKeys (keys = []) {
|
|
192
|
-
this.$refs
|
|
192
|
+
this.$refs.briTable.hideColumnsByKeys(keys);
|
|
193
193
|
},
|
|
194
194
|
// show cloumns
|
|
195
195
|
showColumnsByKeys (keys = []) {
|
|
196
|
-
this.$refs
|
|
196
|
+
this.$refs.briTable.showColumnsByKeys(keys);
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
199
|
};
|
|
@@ -9,29 +9,62 @@
|
|
|
9
9
|
:render="topSearchRender"
|
|
10
10
|
></dsh-render>
|
|
11
11
|
|
|
12
|
-
<!--
|
|
13
|
-
<
|
|
14
|
-
v-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
12
|
+
<!-- 表单展示模式 -->
|
|
13
|
+
<div
|
|
14
|
+
v-if="showMode === 'form'"
|
|
15
|
+
class="DshFlatTable-form"
|
|
16
|
+
>
|
|
17
|
+
<div
|
|
18
|
+
v-for="(row, rowIndex) in showListData"
|
|
19
|
+
:key="row._id"
|
|
20
|
+
class="item"
|
|
21
|
+
>
|
|
22
|
+
<dsh-form
|
|
23
|
+
:canEdit="getRowCanEdit(row)"
|
|
24
|
+
:formData="row"
|
|
25
|
+
:formList="getRowFormList(row)"
|
|
26
|
+
:allFormList="columns"
|
|
27
|
+
:inTableType="inTableType"
|
|
28
|
+
:allListRows="allListData"
|
|
29
|
+
:rowIndex="rowIndex"
|
|
30
|
+
:parentFormList="allFormList"
|
|
31
|
+
:parentObj="parentObj"
|
|
32
|
+
></dsh-form>
|
|
33
|
+
|
|
34
|
+
<dsh-icons
|
|
35
|
+
v-if="$getOperationList(['canCreate', 'canDelete']).length"
|
|
36
|
+
class="item-icons"
|
|
37
|
+
itemClass="item-icons-item"
|
|
38
|
+
:list="$getOperationList(['canCreate', 'canDelete'])"
|
|
39
|
+
@click="$dispatchEvent($event, row, rowIndex)"
|
|
40
|
+
></dsh-icons>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<!-- 表格展示模式 -->
|
|
45
|
+
<template v-else>
|
|
46
|
+
<bri-table
|
|
47
|
+
v-show="showListData.length"
|
|
48
|
+
ref="briTable"
|
|
49
|
+
class="DshFlatTable-main"
|
|
50
|
+
:columns="showColumns"
|
|
51
|
+
:data="renderedListData"
|
|
52
|
+
:footer-data="footerData"
|
|
53
|
+
:propsObj="tablePropsObj"
|
|
54
|
+
@changeSelect="changeSelect"
|
|
55
|
+
@selectAll="changeSelect"
|
|
56
|
+
></bri-table>
|
|
57
|
+
<bri-table
|
|
58
|
+
v-show="!showListData.length"
|
|
59
|
+
class="DshFlatTable-main"
|
|
60
|
+
:columns="showColumns"
|
|
61
|
+
:data="showListData"
|
|
62
|
+
:footer-data="footerData"
|
|
63
|
+
:propsObj="tablePropsObj"
|
|
64
|
+
@changeSelect="changeSelect"
|
|
65
|
+
@selectAll="changeSelect"
|
|
66
|
+
></bri-table>
|
|
67
|
+
</template>
|
|
35
68
|
|
|
36
69
|
<!-- 添加行 -->
|
|
37
70
|
<dsh-render :render="createOperationRender"></dsh-render>
|
|
@@ -58,6 +91,7 @@
|
|
|
58
91
|
|
|
59
92
|
<!-- 表格 -->
|
|
60
93
|
<bri-table
|
|
94
|
+
v-show="showListData.length"
|
|
61
95
|
class="DshFlatTable-main"
|
|
62
96
|
:columns="showColumns"
|
|
63
97
|
:data="renderedListData"
|
|
@@ -66,6 +100,16 @@
|
|
|
66
100
|
@changeSelect="changeSelect"
|
|
67
101
|
@selectAll="changeSelect"
|
|
68
102
|
></bri-table>
|
|
103
|
+
<bri-table
|
|
104
|
+
v-show="!showListData.length"
|
|
105
|
+
class="DshFlatTable-main"
|
|
106
|
+
:columns="showColumns"
|
|
107
|
+
:data="showListData"
|
|
108
|
+
:footer-data="footerData"
|
|
109
|
+
:propsObj="tablePropsObj"
|
|
110
|
+
@changeSelect="changeSelect"
|
|
111
|
+
@selectAll="changeSelect"
|
|
112
|
+
></bri-table>
|
|
69
113
|
|
|
70
114
|
<!-- 添加行 -->
|
|
71
115
|
<dsh-render :render="createOperationRender"></dsh-render>
|
|
@@ -97,6 +141,13 @@
|
|
|
97
141
|
|
|
98
142
|
<style lang="less" scoped>
|
|
99
143
|
.DshFlatTable {
|
|
144
|
+
&-form {
|
|
145
|
+
.item {
|
|
146
|
+
border: 1px solid #E5E5E6;
|
|
147
|
+
margin-bottom: 5px;
|
|
148
|
+
position: relative;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
100
151
|
|
|
101
152
|
&-main {
|
|
102
153
|
width: 100%;
|
|
@@ -110,3 +161,25 @@
|
|
|
110
161
|
}
|
|
111
162
|
}
|
|
112
163
|
</style>
|
|
164
|
+
<style lang="less">
|
|
165
|
+
.DshFlatTable {
|
|
166
|
+
&-form {
|
|
167
|
+
.item {
|
|
168
|
+
&-icons {
|
|
169
|
+
position: absolute;
|
|
170
|
+
top: -10px;
|
|
171
|
+
right: -10px;
|
|
172
|
+
line-height: 18px;
|
|
173
|
+
z-index: 2;
|
|
174
|
+
display: none;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&:hover {
|
|
178
|
+
.item-icons {
|
|
179
|
+
display: block !important;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
</style>
|
|
@@ -23,10 +23,9 @@
|
|
|
23
23
|
></bri-table>
|
|
24
24
|
<bri-table
|
|
25
25
|
v-show="!showListData.length"
|
|
26
|
-
ref="briTable"
|
|
27
26
|
class="DshTreeTable-main"
|
|
28
27
|
:columns="showColumns"
|
|
29
|
-
:data="
|
|
28
|
+
:data="showListData"
|
|
30
29
|
:footer-data="footerData"
|
|
31
30
|
:propsObj="tablePropsObj"
|
|
32
31
|
@changeSelect="changeSelect"
|
|
@@ -58,6 +57,7 @@
|
|
|
58
57
|
|
|
59
58
|
<!-- 表格 -->
|
|
60
59
|
<bri-table
|
|
60
|
+
v-show="showListData.length"
|
|
61
61
|
class="DshTreeTable-main"
|
|
62
62
|
:columns="showColumns"
|
|
63
63
|
:data="renderedListData"
|
|
@@ -66,6 +66,16 @@
|
|
|
66
66
|
@changeSelect="changeSelect"
|
|
67
67
|
@selectAll="changeSelect"
|
|
68
68
|
></bri-table>
|
|
69
|
+
<bri-table
|
|
70
|
+
v-show="!showListData.length"
|
|
71
|
+
class="DshTreeTable-main"
|
|
72
|
+
:columns="showColumns"
|
|
73
|
+
:data="showListData"
|
|
74
|
+
:footer-data="footerData"
|
|
75
|
+
:propsObj="tablePropsObj"
|
|
76
|
+
@changeSelect="changeSelect"
|
|
77
|
+
@selectAll="changeSelect"
|
|
78
|
+
></bri-table>
|
|
69
79
|
|
|
70
80
|
<!-- 添加行 -->
|
|
71
81
|
<dsh-render :render="createOperationRender"></dsh-render>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
:closable="true"
|
|
10
10
|
:draggable="true"
|
|
11
11
|
>
|
|
12
|
-
<div class="quoteListModal-
|
|
12
|
+
<div class="quoteListModal-body">
|
|
13
13
|
<div class="list">
|
|
14
14
|
<template v-if="listData.length">
|
|
15
15
|
<div
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
</div>
|
|
35
35
|
|
|
36
36
|
<dsh-buttons
|
|
37
|
-
class="quoteListModal-
|
|
38
|
-
itemClass="
|
|
37
|
+
class="quoteListModal-body-btns"
|
|
38
|
+
itemClass="btns-item"
|
|
39
39
|
:list="$getOperationList()"
|
|
40
40
|
@click="$dispatchEvent($event)"
|
|
41
41
|
></dsh-buttons>
|
|
@@ -74,12 +74,6 @@
|
|
|
74
74
|
curDataItem: undefined,
|
|
75
75
|
|
|
76
76
|
operationMap: {
|
|
77
|
-
canReset: {
|
|
78
|
-
name: "重 置",
|
|
79
|
-
type: "canReset",
|
|
80
|
-
size: "small",
|
|
81
|
-
event: "clickReset"
|
|
82
|
-
},
|
|
83
77
|
confirm: {
|
|
84
78
|
name: "确 认",
|
|
85
79
|
type: "confirm",
|
|
@@ -123,10 +117,6 @@
|
|
|
123
117
|
} else {
|
|
124
118
|
this.curDataItem = dataItem;
|
|
125
119
|
}
|
|
126
|
-
},
|
|
127
|
-
// 点击重置
|
|
128
|
-
clickReset () {
|
|
129
|
-
|
|
130
120
|
},
|
|
131
121
|
// 点击确认
|
|
132
122
|
clickConfirm () {
|
|
@@ -155,47 +145,6 @@
|
|
|
155
145
|
<style lang="less">
|
|
156
146
|
.quoteListModal {
|
|
157
147
|
&-drawer {
|
|
158
|
-
&-body {
|
|
159
|
-
width: 100%;
|
|
160
|
-
height: 100%;
|
|
161
|
-
padding: 20px;
|
|
162
|
-
overflow: auto;
|
|
163
|
-
|
|
164
|
-
.list {
|
|
165
|
-
&-item {
|
|
166
|
-
padding: 8px 12px;
|
|
167
|
-
margin-bottom: 8px;
|
|
168
|
-
border-radius: 4px;
|
|
169
|
-
cursor: pointer;
|
|
170
|
-
|
|
171
|
-
&-active {
|
|
172
|
-
color: #ffffff;
|
|
173
|
-
background-color: @theme-hover;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
&-nodata {
|
|
178
|
-
#dsh-nodata();
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
&-btns {
|
|
183
|
-
position: absolute;
|
|
184
|
-
bottom: 0px;
|
|
185
|
-
left: 0px;
|
|
186
|
-
.dsh-flex-row-start-stretch();
|
|
187
|
-
width: calc(100% - 48px);
|
|
188
|
-
height: 51px;
|
|
189
|
-
margin: 25px 20px 25px 28px;
|
|
190
|
-
|
|
191
|
-
&-item {
|
|
192
|
-
flex: 1;
|
|
193
|
-
margin: 5px;
|
|
194
|
-
height: 40px;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
148
|
.ivu-drawer-mask,
|
|
200
149
|
.ivu-drawer-wrap {
|
|
201
150
|
z-index: 88888888;
|
|
@@ -212,5 +161,46 @@
|
|
|
212
161
|
font-weight: bold;
|
|
213
162
|
}
|
|
214
163
|
}
|
|
164
|
+
|
|
165
|
+
&-body {
|
|
166
|
+
width: 100%;
|
|
167
|
+
height: 100%;
|
|
168
|
+
padding: 20px;
|
|
169
|
+
overflow: auto;
|
|
170
|
+
|
|
171
|
+
.list {
|
|
172
|
+
&-item {
|
|
173
|
+
padding: 8px 12px;
|
|
174
|
+
margin-bottom: 8px;
|
|
175
|
+
border-radius: 4px;
|
|
176
|
+
cursor: pointer;
|
|
177
|
+
|
|
178
|
+
&-active {
|
|
179
|
+
color: #ffffff;
|
|
180
|
+
background-color: @theme-hover;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
&-nodata {
|
|
185
|
+
#dsh-nodata();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
&-btns {
|
|
190
|
+
position: absolute;
|
|
191
|
+
bottom: 0px;
|
|
192
|
+
left: 0px;
|
|
193
|
+
.dsh-flex-row-start-stretch();
|
|
194
|
+
width: calc(100% - 48px);
|
|
195
|
+
height: 51px;
|
|
196
|
+
margin: 25px 20px 25px 28px;
|
|
197
|
+
|
|
198
|
+
.btns-item {
|
|
199
|
+
flex: 1;
|
|
200
|
+
min-width: 0px;
|
|
201
|
+
height: 40px;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
215
205
|
}
|
|
216
206
|
</style>
|
|
@@ -76,8 +76,9 @@ export default {
|
|
|
76
76
|
h("div", rowIndex + 1),
|
|
77
77
|
|
|
78
78
|
// 添加符
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
(this.operationMap.canCreate && this.operationMap.canCreate.disabled !== true) &&
|
|
80
|
+
!this.isSearching
|
|
81
|
+
// rowIndex !== this.allListData.length - 1
|
|
81
82
|
? h("div", {
|
|
82
83
|
style: {
|
|
83
84
|
position: "absolute",
|
|
@@ -86,7 +87,7 @@ export default {
|
|
|
86
87
|
display: "inline-block",
|
|
87
88
|
width: "16px",
|
|
88
89
|
height: " 16px",
|
|
89
|
-
border: "1px solid #
|
|
90
|
+
border: "1px solid #3DB8C5",
|
|
90
91
|
backgroundColor: "#ffffff",
|
|
91
92
|
lineHeight: "12px",
|
|
92
93
|
cursor: "pointer",
|
|
@@ -96,7 +97,8 @@ export default {
|
|
|
96
97
|
}, [
|
|
97
98
|
h("Icon", {
|
|
98
99
|
style: {
|
|
99
|
-
fontWeight: "500"
|
|
100
|
+
fontWeight: "500",
|
|
101
|
+
color: "#3DB8C5"
|
|
100
102
|
},
|
|
101
103
|
props: {
|
|
102
104
|
type: "md-add-circle", // "ios-add"
|
|
@@ -104,7 +106,7 @@ export default {
|
|
|
104
106
|
},
|
|
105
107
|
on: {
|
|
106
108
|
click: () => {
|
|
107
|
-
this
|
|
109
|
+
this.$dispatchEvent(this.operationMap.canCreate, row, rowIndex);
|
|
108
110
|
}
|
|
109
111
|
}
|
|
110
112
|
})
|
|
@@ -119,7 +121,6 @@ export default {
|
|
|
119
121
|
methods: {
|
|
120
122
|
// 点击 -添加行
|
|
121
123
|
clickCreate (operationItem, row, rowIndex) {
|
|
122
|
-
const list = this.allListData;
|
|
123
124
|
const newRow = {
|
|
124
125
|
...this.$deepCopy(this.selfRowDefault),
|
|
125
126
|
_id: this.$ObjectID().str,
|
|
@@ -128,9 +129,11 @@ export default {
|
|
|
128
129
|
__isTmpShow__: true,
|
|
129
130
|
__isSearchShow__: false
|
|
130
131
|
};
|
|
131
|
-
const
|
|
132
|
+
const list = this.data;
|
|
133
|
+
const newRowIndex = row
|
|
134
|
+
? list.findIndex(rowItem => rowItem._id === row._id) + 1
|
|
135
|
+
: list.length;
|
|
132
136
|
list.splice(newRowIndex, 0, newRow);
|
|
133
|
-
// this.$forceUpdate(); // 自定义页中点击添加一行没有更新页面
|
|
134
137
|
|
|
135
138
|
this.change("createRow", null, newRow, newRowIndex);
|
|
136
139
|
},
|
|
@@ -140,7 +143,7 @@ export default {
|
|
|
140
143
|
title: "提示",
|
|
141
144
|
content: "确定删除吗?",
|
|
142
145
|
onOk: () => {
|
|
143
|
-
this.
|
|
146
|
+
this.data.splice(rowIndex, 1);
|
|
144
147
|
|
|
145
148
|
this.change("deleteRow", null, row, rowIndex);
|
|
146
149
|
}
|
|
@@ -161,7 +161,47 @@ export default {
|
|
|
161
161
|
}, row.__treeIndex__),
|
|
162
162
|
|
|
163
163
|
// 添加符
|
|
164
|
-
this.operationMap.canCreate &&
|
|
164
|
+
(this.operationMap.canCreate && this.operationMap.canCreate.disabled !== true) &&
|
|
165
|
+
!this.isSearching
|
|
166
|
+
// rowIndex !== this.allListData.length - 1
|
|
167
|
+
? h("div", {
|
|
168
|
+
style: {
|
|
169
|
+
position: "absolute",
|
|
170
|
+
bottom: "0px",
|
|
171
|
+
right: row.level < this.maxLevel ? "17px" : "0px",
|
|
172
|
+
display: "inline-block",
|
|
173
|
+
width: "16px",
|
|
174
|
+
height: " 16px",
|
|
175
|
+
border: "1px solid #3DB8C5",
|
|
176
|
+
backgroundColor: "#ffffff",
|
|
177
|
+
lineHeight: "12px",
|
|
178
|
+
cursor: "pointer",
|
|
179
|
+
verticalAlign: "middle",
|
|
180
|
+
transition: "color .2s ease-in-out,border-color .2s ease-in-out"
|
|
181
|
+
}
|
|
182
|
+
}, [
|
|
183
|
+
h("Icon", {
|
|
184
|
+
style: {
|
|
185
|
+
fontWeight: "500",
|
|
186
|
+
color: "#3DB8C5"
|
|
187
|
+
},
|
|
188
|
+
props: {
|
|
189
|
+
type: "md-add-circle",
|
|
190
|
+
size: "14"
|
|
191
|
+
},
|
|
192
|
+
on: {
|
|
193
|
+
click: () => {
|
|
194
|
+
this.$dispatchEvent(this.operationMap.canCreate, row, rowIndex);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
})
|
|
198
|
+
])
|
|
199
|
+
: h("span", ""),
|
|
200
|
+
|
|
201
|
+
// 下级添加符
|
|
202
|
+
(this.operationMap.canCreateChild && this.operationMap.canCreateChild.disabled !== true) &&
|
|
203
|
+
!this.isSearching &&
|
|
204
|
+
row.level < this.maxLevel
|
|
165
205
|
? h("div", {
|
|
166
206
|
style: {
|
|
167
207
|
position: "absolute",
|
|
@@ -170,7 +210,7 @@ export default {
|
|
|
170
210
|
display: "inline-block",
|
|
171
211
|
width: "16px",
|
|
172
212
|
height: " 16px",
|
|
173
|
-
border: "1px solid #
|
|
213
|
+
border: "1px solid #3DB8C5",
|
|
174
214
|
backgroundColor: "#ffffff",
|
|
175
215
|
lineHeight: "12px",
|
|
176
216
|
cursor: "pointer",
|
|
@@ -180,15 +220,16 @@ export default {
|
|
|
180
220
|
}, [
|
|
181
221
|
h("Icon", {
|
|
182
222
|
style: {
|
|
183
|
-
fontWeight: "
|
|
223
|
+
fontWeight: "600",
|
|
224
|
+
color: "#3DB8C5"
|
|
184
225
|
},
|
|
185
226
|
props: {
|
|
186
|
-
type: "ios-add",
|
|
227
|
+
type: "ios-add",
|
|
187
228
|
size: "14"
|
|
188
229
|
},
|
|
189
230
|
on: {
|
|
190
231
|
click: () => {
|
|
191
|
-
this
|
|
232
|
+
this.$dispatchEvent(this.operationMap.canCreateChild, row, rowIndex);
|
|
192
233
|
}
|
|
193
234
|
}
|
|
194
235
|
})
|
|
@@ -221,13 +262,35 @@ export default {
|
|
|
221
262
|
|
|
222
263
|
// 点击 -添加一行
|
|
223
264
|
clickCreate (operationItem, row, rowIndex) {
|
|
265
|
+
const newRow = {
|
|
266
|
+
...this.$deepCopy(this.selfRowDefault),
|
|
267
|
+
_id: this.$ObjectID().str,
|
|
268
|
+
level: row ? row.level : 1,
|
|
269
|
+
isLeaf: true,
|
|
270
|
+
children: [],
|
|
271
|
+
// __old__: false,
|
|
272
|
+
__isExpand__: false,
|
|
273
|
+
__isRendered__: true,
|
|
274
|
+
__isShow__: true,
|
|
275
|
+
__isTmpShow__: false,
|
|
276
|
+
__isSearchShow__: false
|
|
277
|
+
};
|
|
278
|
+
const list = row
|
|
279
|
+
? this.getParentNode(row, this.data).children
|
|
280
|
+
: this.data;
|
|
281
|
+
const newRowIndex = row
|
|
282
|
+
? list.findIndex(rowItem => rowItem._id === row._id) + 1
|
|
283
|
+
: list.length;
|
|
284
|
+
list.splice(newRowIndex, 0, newRow);
|
|
224
285
|
|
|
286
|
+
this.change("createRow", null, newRow, newRowIndex);
|
|
225
287
|
},
|
|
226
288
|
// 点击 -添加子行
|
|
227
289
|
clickCreateChild (operationItem, row, rowIndex) {
|
|
228
290
|
const newRow = {
|
|
229
291
|
...this.$deepCopy(this.selfRowDefault),
|
|
230
292
|
_id: this.$ObjectID().str,
|
|
293
|
+
level: row.level + 1,
|
|
231
294
|
isLeaf: true,
|
|
232
295
|
children: [],
|
|
233
296
|
// __old__: false,
|
|
@@ -237,21 +300,8 @@ export default {
|
|
|
237
300
|
__isTmpShow__: false,
|
|
238
301
|
__isSearchShow__: false
|
|
239
302
|
};
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
if (!row) {
|
|
243
|
-
this.data.push({
|
|
244
|
-
...newRow,
|
|
245
|
-
level: 1
|
|
246
|
-
});
|
|
247
|
-
} else {
|
|
248
|
-
row.children.push({
|
|
249
|
-
...newRow,
|
|
250
|
-
level: row.level + 1
|
|
251
|
-
});
|
|
252
|
-
|
|
253
|
-
this.toggleExpand(row, true);
|
|
254
|
-
}
|
|
303
|
+
row.children.push(newRow);
|
|
304
|
+
this.toggleExpand(row, true);
|
|
255
305
|
|
|
256
306
|
this.change("createRow", null, newRow, row.children.length);
|
|
257
307
|
},
|
|
@@ -137,11 +137,21 @@ export default {
|
|
|
137
137
|
name: "添加一行",
|
|
138
138
|
type: "canCreate",
|
|
139
139
|
btnType: "default",
|
|
140
|
+
icon: "md-add-circle",
|
|
140
141
|
size: "default",
|
|
141
142
|
long: true,
|
|
142
143
|
disabled: false,
|
|
143
144
|
event: "clickCreate"
|
|
144
145
|
},
|
|
146
|
+
canCreateChild: {
|
|
147
|
+
name: "添加子行",
|
|
148
|
+
type: "canCreateChild",
|
|
149
|
+
btnType: "default",
|
|
150
|
+
size: "default",
|
|
151
|
+
long: true,
|
|
152
|
+
disabled: false,
|
|
153
|
+
event: "clickCreateChild"
|
|
154
|
+
},
|
|
145
155
|
canDelete: {
|
|
146
156
|
name: "删除",
|
|
147
157
|
type: "canDelete",
|
|
@@ -193,7 +203,7 @@ export default {
|
|
|
193
203
|
_useIndex: true, // 使用序号列
|
|
194
204
|
_useSummary: false, // 使用汇总行
|
|
195
205
|
_disabledBtns: false, // 禁用增删按钮
|
|
196
|
-
_disabledCreateBtn: false, // 置灰新增按钮,目前只内部使用,comp_web数据表配置页那块
|
|
206
|
+
// _disabledCreateBtn: false, // 置灰新增按钮,目前只内部使用,comp_web数据表配置页那块
|
|
197
207
|
_disabledOldDataRow: false, // 置灰老数据行包含删除
|
|
198
208
|
|
|
199
209
|
_hideColKeys: [], // 隐藏/查看列字段的keys
|
|
@@ -223,9 +233,12 @@ export default {
|
|
|
223
233
|
...this.commonPropsObj
|
|
224
234
|
};
|
|
225
235
|
},
|
|
236
|
+
showMode () {
|
|
237
|
+
return this.selfPropsObj._showMode;
|
|
238
|
+
},
|
|
226
239
|
inTableType () {
|
|
227
|
-
return this.controlType === "cascaderTable" && ["treeTable"].includes(this.
|
|
228
|
-
? this.
|
|
240
|
+
return this.controlType === "cascaderTable" && ["treeTable"].includes(this.showMode)
|
|
241
|
+
? this.showMode
|
|
229
242
|
: this.controlType;
|
|
230
243
|
},
|
|
231
244
|
// isShare () {
|
|
@@ -258,9 +271,9 @@ export default {
|
|
|
258
271
|
disabledBtns () {
|
|
259
272
|
return this.selfPropsObj._disabledBtns;
|
|
260
273
|
},
|
|
261
|
-
disabledCreateBtn () {
|
|
262
|
-
|
|
263
|
-
},
|
|
274
|
+
// disabledCreateBtn () {
|
|
275
|
+
// return this.selfPropsObj._disabledCreateBtn;
|
|
276
|
+
// },
|
|
264
277
|
disabledOldDataRow () {
|
|
265
278
|
return this.selfPropsObj._disabledOldDataRow;
|
|
266
279
|
},
|
|
@@ -604,11 +617,15 @@ export default {
|
|
|
604
617
|
canHideOrShow: {
|
|
605
618
|
...this.topOperationMap.canHideOrShow,
|
|
606
619
|
name: this.hideStatus ? "显示字段" : "隐藏字段"
|
|
607
|
-
},
|
|
608
|
-
canCreate: {
|
|
609
|
-
...this.baseOperationMap.canCreate,
|
|
610
|
-
disabled: !!this.disabledCreateBtn
|
|
611
620
|
}
|
|
621
|
+
// canCreate: {
|
|
622
|
+
// ...this.baseOperationMap.canCreate,
|
|
623
|
+
// disabled: !!this.disabledCreateBtn
|
|
624
|
+
// },
|
|
625
|
+
// canCreateChild: {
|
|
626
|
+
// ...this.baseOperationMap.canCreateChild,
|
|
627
|
+
// disabled: !!this.disabledCreateBtn
|
|
628
|
+
// }
|
|
612
629
|
};
|
|
613
630
|
},
|
|
614
631
|
operationMap () {
|
|
@@ -657,6 +674,7 @@ export default {
|
|
|
657
674
|
this.initFlag = true;
|
|
658
675
|
this.showRuleMessage = false;
|
|
659
676
|
this.ruleRecordMap = {};
|
|
677
|
+
this.selfReset && this.selfReset();
|
|
660
678
|
},
|
|
661
679
|
// 共外部使用
|
|
662
680
|
validate () {
|
|
@@ -688,15 +706,15 @@ export default {
|
|
|
688
706
|
|
|
689
707
|
/* ----------- 隐藏/显示字段 ---------- */
|
|
690
708
|
toggleHideOrShow () {
|
|
691
|
-
if (this.$refs
|
|
709
|
+
if (this.$refs.briTable) {
|
|
692
710
|
if (this.hideStatus === true) {
|
|
693
|
-
this.$refs
|
|
711
|
+
this.$refs.briTable.showColumnsByKeys(this.hideColKeys);
|
|
694
712
|
} else {
|
|
695
|
-
this.$refs
|
|
713
|
+
this.$refs.briTable.hideColumnsByKeys(this.hideColKeys);
|
|
696
714
|
}
|
|
697
|
-
}
|
|
698
715
|
|
|
699
|
-
|
|
716
|
+
this.hideStatus = !this.hideStatus;
|
|
717
|
+
}
|
|
700
718
|
},
|
|
701
719
|
|
|
702
720
|
/* ----------- 全屏 ---------- */
|
|
@@ -753,7 +771,8 @@ export default {
|
|
|
753
771
|
...fieldVal,
|
|
754
772
|
list: fieldVal.list.map(item => ({
|
|
755
773
|
...item,
|
|
756
|
-
__isQuote__: true
|
|
774
|
+
__isQuote__: true,
|
|
775
|
+
__old__: false
|
|
757
776
|
}))
|
|
758
777
|
};
|
|
759
778
|
} else if (["cascaderTable"].includes(this.controlType)) {
|
|
@@ -762,7 +781,8 @@ export default {
|
|
|
762
781
|
list.map(item => ({
|
|
763
782
|
...item,
|
|
764
783
|
children: item.children ? loop(item.children) : item.children,
|
|
765
|
-
__isQuote__: true
|
|
784
|
+
__isQuote__: true,
|
|
785
|
+
__old__: false
|
|
766
786
|
}));
|
|
767
787
|
|
|
768
788
|
return loop(list);
|
|
@@ -776,7 +796,6 @@ export default {
|
|
|
776
796
|
|
|
777
797
|
this.$Message.success("引用成功!");
|
|
778
798
|
this.reset();
|
|
779
|
-
this.selfReset && this.selfReset();
|
|
780
799
|
this.change("quote");
|
|
781
800
|
}
|
|
782
801
|
} else {
|
|
@@ -1060,6 +1079,17 @@ export default {
|
|
|
1060
1079
|
return this.getRowCanEdit(row) &&
|
|
1061
1080
|
this.getColCanEdit(col, row) &&
|
|
1062
1081
|
this.$isAdvRelyShow(col, row, this.parentObj, true);
|
|
1082
|
+
},
|
|
1083
|
+
getRowFormList (row) {
|
|
1084
|
+
return this.columns.map(column => {
|
|
1085
|
+
column = this.$transformDynamicProperty(column, row, this.parentObj);
|
|
1086
|
+
const unitCanEdit = this.getColCanEdit(column, row);
|
|
1087
|
+
|
|
1088
|
+
return {
|
|
1089
|
+
...column,
|
|
1090
|
+
canEdit: unitCanEdit
|
|
1091
|
+
};
|
|
1092
|
+
});
|
|
1063
1093
|
}
|
|
1064
1094
|
}
|
|
1065
1095
|
};
|
package/src/utils/table.js
CHANGED
|
@@ -8,12 +8,12 @@ const getHeadRender = function (h, column, {
|
|
|
8
8
|
return h("div", {
|
|
9
9
|
style: {
|
|
10
10
|
display: "inline-block",
|
|
11
|
-
maxWidth: `calc(100% - ${column.sortBy || column.sortBy === "" || !!column.filter ?
|
|
11
|
+
maxWidth: `calc(100% - ${column.sortBy || column.sortBy === "" || !!column.filter ? 4 : 0}px)`,
|
|
12
12
|
paddingLeft: "8px",
|
|
13
|
-
paddingRight: `${
|
|
13
|
+
paddingRight: `${8 + (column._description ? 18 : 0)}px`,
|
|
14
14
|
verticalAlign: "middle",
|
|
15
15
|
position: "relative",
|
|
16
|
-
marginRight: `${column.sortBy || column.sortBy === "" || !!column.filter ?
|
|
16
|
+
marginRight: `${column.sortBy || column.sortBy === "" || !!column.filter ? 4 : 0}px`
|
|
17
17
|
}
|
|
18
18
|
}, [
|
|
19
19
|
showRequired && column._required && h("i", {
|
|
@@ -161,7 +161,7 @@ const transformToColumns = function (form, {
|
|
|
161
161
|
|
|
162
162
|
...col
|
|
163
163
|
};
|
|
164
|
-
|
|
164
|
+
});
|
|
165
165
|
};
|
|
166
166
|
|
|
167
167
|
export default {
|