bri-components 1.0.5 → 1.1.0
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/lib/0.bri-components.min.js +1 -1
- package/lib/1.bri-components.min.js +1 -1
- package/lib/2.bri-components.min.js +1 -1
- package/lib/3.bri-components.min.js +1 -1
- package/lib/4.bri-components.min.js +1 -1
- package/lib/5.bri-components.min.js +1 -1
- package/lib/6.bri-components.min.js +1 -1
- package/lib/7.bri-components.min.js +1 -0
- package/lib/8.bri-components.min.js +1 -0
- package/lib/9.bri-components.min.js +1 -0
- package/lib/bri-components.min.js +13 -5
- package/lib/styles/bundle.css +0 -2
- package/package.json +2 -1
- package/src/components/controls/base/BriLabels.vue +117 -0
- package/src/components/controls/base/DshCascader.vue +23 -38
- package/src/components/controls/base/DshCascaderMultiple.vue +1 -1
- package/src/components/controls/base/DshCheckbox.vue +14 -4
- package/src/components/controls/base/DshCoordinates.vue +5 -9
- package/src/components/controls/base/DshDate.vue +10 -34
- package/src/components/controls/base/DshDivider.vue +1 -1
- package/src/components/controls/base/DshEditor.vue +52 -44
- package/src/components/controls/base/DshInput.vue +18 -45
- package/src/components/controls/base/DshLabels.vue +8 -4
- package/src/components/controls/base/DshNumber/DshNumber.vue +6 -20
- package/src/components/controls/base/DshNumberange.vue +1 -1
- package/src/components/controls/base/DshPackage.vue +7 -1
- package/src/components/controls/base/DshSelect.vue +15 -5
- package/src/components/controls/base/DshSwitch.vue +2 -6
- package/src/components/controls/base/YSerialNumber.vue +0 -1
- package/src/components/controls/base/ZUpload/index.vue +16 -10
- package/src/components/controls/base/ZUpload/upload-list.vue +17 -12
- package/src/components/controls/base/ZUpload/uploadMixin.js +1 -5
- package/src/components/controls/base/controlShow.vue +52 -0
- package/src/components/controls/base/textMultiple/DshTextMultiple.vue +1 -1
- package/src/components/controls/controlMap.js +4 -0
- package/src/components/controls/controlMixin.js +18 -12
- package/src/components/controls/senior/cascaderTable.vue +188 -0
- package/src/components/controls/senior/flatTable.vue +131 -0
- package/src/components/form/DshForm.vue +0 -3
- package/src/components/list/BriFlatTable.vue +430 -0
- package/src/components/list/BriTable.vue +184 -0
- package/src/components/list/DshBox/DshPanel.vue +4 -9
- package/src/components/list/DshBox/DshTable.vue +29 -39
- package/src/components/list/DshCascaderTable.vue +6 -11
- package/src/components/other/BriTransfer.vue +71 -0
- package/src/components/small/BriButton.vue +65 -0
- package/src/components/small/BriTree.vue +42 -0
- package/src/components/small/Ctooltip.vue +1 -1
- package/src/components/small/DshButtons.vue +12 -42
- package/src/components/unit/DshFormItem.vue +0 -2
- package/src/components/unit/DshUnit.vue +1 -1
- package/src/components/unit/unitMixin.js +4 -1
- package/src/index.js +24 -4
- package/src/styles/bundle.css +0 -2
- package/src/styles/common/common.less +2 -2
- package/src/styles/common/control.less +53 -0
- package/src/styles/common/index.less +1 -0
- package/src/styles/components/controls/BriLabels.less +23 -0
- package/src/styles/components/controls/DshCascader.less +3 -3
- package/src/styles/components/controls/DshCheckbox.less +1 -1
- package/src/styles/components/controls/DshCoordinates.less +3 -3
- package/src/styles/components/controls/DshDate.less +54 -0
- package/src/styles/components/controls/DshDaterange.less +1 -1
- package/src/styles/components/controls/DshEditor.less +27 -9
- package/src/styles/components/controls/DshInput.less +5 -5
- package/src/styles/components/controls/DshLabels.less +1 -1
- package/src/styles/components/controls/DshSelect.less +46 -30
- package/src/styles/components/controls/ZUpload.less +82 -91
- package/src/styles/components/controls/cascaderTable.less +33 -0
- package/src/styles/components/controls/controlShow.less +12 -0
- package/src/styles/components/controls/flatTable.less +33 -0
- package/src/styles/components/form/DshAdvSearchForm.less +6 -6
- package/src/styles/components/index.less +10 -0
- package/src/styles/components/list/BriFlatTable.less +8 -0
- package/src/styles/components/list/BriTable.less +155 -0
- package/src/styles/components/list/DshFlatTable.less +3 -8
- package/src/styles/components/list/evTable.less +1 -1
- package/src/styles/components/other/BriTransfer.less +65 -0
- package/src/styles/components/other/DshEditPanel.less +2 -2
- package/src/styles/components/other/DshMenuNav.less +5 -5
- package/src/styles/components/other/ZGantt.less +5 -5
- package/src/styles/components/small/BriButton.less +259 -0
- package/src/styles/components/small/BriTree.less +57 -0
- package/src/styles/components/small/Ctooltip.less +14 -0
- package/src/styles/components/small/DshButtons.less +1 -1
- package/src/styles/components/small/DshControlDefine.less +2 -2
- package/src/styles/components/small/DshDropdown.less +1 -1
- package/src/styles/components/small/DshPage.less +1 -1
- package/src/styles/components/small/DshTabs.less +2 -2
- package/src/styles/components/unit/DshFormItem.less +5 -6
- package/src/styles/index.less +1 -5
- package/src/styles/plugin/easytable.less +22 -0
- package/src/styles/plugin/index.less +2 -0
- package/src/styles/plugin/iview.less +33 -0
- package/src/styles/variables.less +71 -88
- package/src/utils/table.js +72 -978
- package/src/styles/define.less +0 -374
- package/src/styles/view_reset.less +0 -452
package/lib/styles/bundle.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bri-components",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"author": "dengshanghui",
|
|
5
5
|
"description": "a component lib for vue project",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"viewerjs": "^1.10.2",
|
|
40
40
|
"vue-codemirror": "^4.0.6",
|
|
41
41
|
"vue-cropperjs": "^4.1.0",
|
|
42
|
+
"vue-easytable": "^2.21.9",
|
|
42
43
|
"vuedraggable": "^2.24.1",
|
|
43
44
|
"wangeditor": "^4.7.5"
|
|
44
45
|
},
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<!-- 动态标签 -->
|
|
2
|
+
<template>
|
|
3
|
+
<div class="BriLabels">
|
|
4
|
+
<Dropdown
|
|
5
|
+
class="BriLabels-dropdown"
|
|
6
|
+
trigger="custom"
|
|
7
|
+
placement="bottom-start"
|
|
8
|
+
transfer
|
|
9
|
+
:visible="listVisible"
|
|
10
|
+
@on-clickoutside="clickInput"
|
|
11
|
+
>
|
|
12
|
+
<Input
|
|
13
|
+
class="BriLabels-dropdown-input"
|
|
14
|
+
:value="showValStr"
|
|
15
|
+
:suffix="inputIcon"
|
|
16
|
+
readonly
|
|
17
|
+
@click.native="clickInput"
|
|
18
|
+
>
|
|
19
|
+
</Input>
|
|
20
|
+
<template #list>
|
|
21
|
+
<DropdownMenu>
|
|
22
|
+
<DropdownItem
|
|
23
|
+
v-for="item in listData"
|
|
24
|
+
:key="item._key"
|
|
25
|
+
:class="{
|
|
26
|
+
'BriLabels-dropdown-item':true,
|
|
27
|
+
'BriLabels-dropdown-item-active':!!val.find(i=>i._key == item._key)
|
|
28
|
+
}"
|
|
29
|
+
>
|
|
30
|
+
{{item.name}}
|
|
31
|
+
</DropdownItem>
|
|
32
|
+
</DropdownMenu>
|
|
33
|
+
</template>
|
|
34
|
+
</Dropdown>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
|
|
38
|
+
<script>
|
|
39
|
+
import controlMixin from "../controlMixin.js";
|
|
40
|
+
|
|
41
|
+
export default {
|
|
42
|
+
name: "BriLabels",
|
|
43
|
+
mixins: [controlMixin],
|
|
44
|
+
data () {
|
|
45
|
+
return {
|
|
46
|
+
listData: [],
|
|
47
|
+
listVisible: false,
|
|
48
|
+
inputIcon: "ios-arrow-down"
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
computed: {
|
|
52
|
+
selfPropsObj () {
|
|
53
|
+
return {
|
|
54
|
+
...this.propsObj,
|
|
55
|
+
...this.commonDealPropsObj
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
modKey () {
|
|
59
|
+
return this.propsObj.modKey;
|
|
60
|
+
},
|
|
61
|
+
val: {
|
|
62
|
+
get () {
|
|
63
|
+
return this.value[this.propsObj._key] || [];
|
|
64
|
+
},
|
|
65
|
+
set (val) {
|
|
66
|
+
this.value[this.propsObj._key] = val;
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
showValStr () {
|
|
70
|
+
let valArr = this.val && this.val.map(item => item.name);
|
|
71
|
+
return valArr && valArr.join("、");
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
created () {
|
|
75
|
+
this.init();
|
|
76
|
+
},
|
|
77
|
+
methods: {
|
|
78
|
+
init () {
|
|
79
|
+
this.getListData();
|
|
80
|
+
},
|
|
81
|
+
getListData () {
|
|
82
|
+
this.$https({
|
|
83
|
+
url: {
|
|
84
|
+
module: "sheet",
|
|
85
|
+
name: "memberAll"
|
|
86
|
+
},
|
|
87
|
+
params: {
|
|
88
|
+
search: {
|
|
89
|
+
entityKey: this.entityKey, // 当前工作表关联的数据表Key
|
|
90
|
+
modKey: this.modKey,
|
|
91
|
+
name: this.curVal,
|
|
92
|
+
fieldKey: this.selfPropsObj._key === "_default" ? this.value._key : (this.selfPropsObj.__realKey__ || this.selfPropsObj._key), // 当前字段Key
|
|
93
|
+
labelType: this.selfPropsObj._labelType
|
|
94
|
+
},
|
|
95
|
+
pagination: {
|
|
96
|
+
page: 1,
|
|
97
|
+
pagesize: 999
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
callback: data => {
|
|
101
|
+
this.listData = data.list;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
},
|
|
105
|
+
clickInput () {
|
|
106
|
+
this.listVisible = !this.listVisible;
|
|
107
|
+
if (this.listVisible) {
|
|
108
|
+
this.inputIcon = "ios-arrow-up";
|
|
109
|
+
} else {
|
|
110
|
+
this.inputIcon = "ios-arrow-down";
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
watch: {
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="`DshCascader
|
|
3
|
-
<!--
|
|
4
|
-
<template v-if="finalCanEdit">
|
|
2
|
+
<div :class="`DshCascader`">
|
|
3
|
+
<!-- 编辑和disabled模式 -->
|
|
4
|
+
<template v-if="finalCanEdit || $isDisabled(canEdit, selfPropsObj)">
|
|
5
5
|
<!-- 多选 多选模式的filterable必须是false,不然出bug -->
|
|
6
6
|
<template v-if="useMultiple === true">
|
|
7
7
|
<Cascader
|
|
@@ -86,17 +86,16 @@
|
|
|
86
86
|
v-else
|
|
87
87
|
style="width: 100%;"
|
|
88
88
|
:class="{
|
|
89
|
-
'DshCascader-readonly': $isReadonly(canEdit, selfPropsObj),
|
|
90
89
|
'DshCascader-disabled': $isDisabled(canEdit, selfPropsObj)
|
|
91
90
|
}"
|
|
92
91
|
:value="value[controlKey]"
|
|
93
92
|
:data="renderCascaderData"
|
|
94
93
|
:placeholder="selfPropsObj._placeholder"
|
|
95
|
-
:disabled="
|
|
94
|
+
:disabled="$isDisabled(canEdit, selfPropsObj)"
|
|
96
95
|
:change-on-select="selfPropsObj._changeOnSelect"
|
|
97
96
|
:clearable="selfPropsObj._clearable"
|
|
98
97
|
:size="selfPropsObj._size"
|
|
99
|
-
:filterable="selfPropsObj._filterable"
|
|
98
|
+
:filterable="selfPropsObj._filterable && !$isDisabled(canEdit, selfPropsObj)"
|
|
100
99
|
:transfer="selfPropsObj._transfer"
|
|
101
100
|
:transfer-class-name="selfPropsObj._transferClassName"
|
|
102
101
|
:load-data="loadData"
|
|
@@ -107,29 +106,13 @@
|
|
|
107
106
|
</template>
|
|
108
107
|
</template>
|
|
109
108
|
|
|
110
|
-
<!--
|
|
111
|
-
<
|
|
109
|
+
<!-- 查看模式 -->
|
|
110
|
+
<control-show
|
|
112
111
|
v-else
|
|
113
|
-
|
|
114
|
-
:
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
:class="commonClass"
|
|
118
|
-
>
|
|
119
|
-
<span
|
|
120
|
-
v-if="showVal"
|
|
121
|
-
class="dsh-ellipsis hb-show-text"
|
|
122
|
-
:class="`control-${mode}-text`"
|
|
123
|
-
>
|
|
124
|
-
{{ showVal }}
|
|
125
|
-
</span>
|
|
126
|
-
<div
|
|
127
|
-
v-else
|
|
128
|
-
class="hb-nodata-text dsh-ellipsis"
|
|
129
|
-
>
|
|
130
|
-
<span>暂无内容</span>
|
|
131
|
-
</div>
|
|
132
|
-
</Ctooltip>
|
|
112
|
+
:showVal="showVal"
|
|
113
|
+
:propsObj="selfPropsObj"
|
|
114
|
+
:isUnit="isUnit"
|
|
115
|
+
></control-show>
|
|
133
116
|
</div>
|
|
134
117
|
</template>
|
|
135
118
|
|
|
@@ -303,16 +286,18 @@
|
|
|
303
286
|
|
|
304
287
|
/* ----------- 单选使用 ---------- */
|
|
305
288
|
clickInput () {
|
|
306
|
-
if (
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
289
|
+
if (this.finalCanEdit) {
|
|
290
|
+
if (
|
|
291
|
+
["cascader"].includes(this.selfPropsObj._type) &&
|
|
292
|
+
this.selfPropsObj._filterable === true &&
|
|
293
|
+
this.renderDataFlag === true &&
|
|
294
|
+
this.clickInputFlag === true
|
|
295
|
+
) {
|
|
296
|
+
this.clickInputFlag = false; // 这个处理其实觉大概率没必要,有没有不受影响
|
|
297
|
+
setTimeout(() => {
|
|
298
|
+
this.renderDataFlag = false;
|
|
299
|
+
}, 0);
|
|
300
|
+
}
|
|
316
301
|
}
|
|
317
302
|
},
|
|
318
303
|
// 展开和关闭弹窗时触发
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
|
|
3
|
+
class="DshCheckbox"
|
|
4
4
|
ref="dshCheckboxRef"
|
|
5
5
|
>
|
|
6
6
|
<template v-if="canEdit">
|
|
@@ -87,11 +87,13 @@
|
|
|
87
87
|
:transfer="true"
|
|
88
88
|
maxWidth="200"
|
|
89
89
|
:content="showVal"
|
|
90
|
-
:class="commonClass"
|
|
91
90
|
>
|
|
92
91
|
<div
|
|
93
92
|
v-if="showVal"
|
|
94
93
|
class="DshCheckbox-value-wrapper"
|
|
94
|
+
:style="{
|
|
95
|
+
justifyContent: flatShowAlign
|
|
96
|
+
}"
|
|
95
97
|
>
|
|
96
98
|
<span
|
|
97
99
|
v-for="col in colData"
|
|
@@ -105,9 +107,14 @@
|
|
|
105
107
|
</div>
|
|
106
108
|
<div
|
|
107
109
|
v-else
|
|
108
|
-
class="
|
|
110
|
+
class="control-nodata-text dsh-ellipsis"
|
|
109
111
|
>
|
|
110
|
-
<
|
|
112
|
+
<template v-if="isUnit">
|
|
113
|
+
-
|
|
114
|
+
</template>
|
|
115
|
+
<template v-else>
|
|
116
|
+
暂无内容
|
|
117
|
+
</template>
|
|
111
118
|
</div>
|
|
112
119
|
</Ctooltip>
|
|
113
120
|
|
|
@@ -169,6 +176,9 @@
|
|
|
169
176
|
// 选项数据
|
|
170
177
|
colData () {
|
|
171
178
|
return this.listData.filter(item => (this.value[this.controlKey] || []).includes(item._key));
|
|
179
|
+
},
|
|
180
|
+
flatShowAlign () {
|
|
181
|
+
return !this.propsObj._align || this.propsObj._align == "left" || !this.isUnit ? "flex-start" : this.propsObj._align == "right" ? "flex-end" : "center";
|
|
172
182
|
}
|
|
173
183
|
},
|
|
174
184
|
created () {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div class="DshCoordinates">
|
|
3
3
|
<Ctooltip
|
|
4
4
|
placement="top"
|
|
5
5
|
:transfer="true"
|
|
6
6
|
maxWidth="200"
|
|
7
|
-
:content="
|
|
8
|
-
:class="commonClass"
|
|
7
|
+
:content="currentVal"
|
|
9
8
|
>
|
|
10
9
|
<!-- 编辑模式 -->
|
|
11
10
|
<div
|
|
@@ -38,11 +37,8 @@
|
|
|
38
37
|
</div>
|
|
39
38
|
|
|
40
39
|
<!-- 查看模式 -->
|
|
41
|
-
<span
|
|
42
|
-
|
|
43
|
-
:class="[`dsh-ellipsis control-${mode}-text`, showVal ? 'hb-show-text' : 'hb-nodata-text']"
|
|
44
|
-
>
|
|
45
|
-
<span>{{ showVal || '暂无内容' }}</span>
|
|
40
|
+
<span v-else :class="commonClass">
|
|
41
|
+
{{ showText }}
|
|
46
42
|
</span>
|
|
47
43
|
</Ctooltip>
|
|
48
44
|
|
|
@@ -177,7 +173,7 @@
|
|
|
177
173
|
this.value[this.controlKey] = val;
|
|
178
174
|
}
|
|
179
175
|
},
|
|
180
|
-
|
|
176
|
+
currentVal () {
|
|
181
177
|
return this.curVal && this.curVal.name;
|
|
182
178
|
},
|
|
183
179
|
curLnglat: {
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="show"
|
|
4
|
-
|
|
4
|
+
class="DshDate"
|
|
5
5
|
>
|
|
6
|
-
<template v-if="finalCanEdit">
|
|
6
|
+
<template v-if="finalCanEdit || $isDisabled(canEdit, selfPropsObj)">
|
|
7
7
|
<template v-if="['time'].includes(subType)">
|
|
8
8
|
<TimePicker
|
|
9
9
|
style="width: 100%;"
|
|
10
10
|
:class="{
|
|
11
|
-
'DshDate-time-readonly': $isReadonly(canEdit, selfPropsObj),
|
|
12
11
|
'DshDate-time-disabled': $isDisabled(canEdit, selfPropsObj)
|
|
13
12
|
}"
|
|
14
13
|
v-model="val"
|
|
15
14
|
:type="subType"
|
|
16
15
|
:placeholder="selfPropsObj._placeholder"
|
|
17
|
-
:disabled="
|
|
16
|
+
:disabled="$isDisabled(canEdit, selfPropsObj)"
|
|
18
17
|
:clearable="selfPropsObj._clearable"
|
|
19
18
|
:transfer="selfPropsObj._transfer"
|
|
20
19
|
@on-change="change"
|
|
@@ -25,13 +24,12 @@
|
|
|
25
24
|
<DatePicker
|
|
26
25
|
style="width: 100%;"
|
|
27
26
|
:class="{
|
|
28
|
-
'DshDate-date-readonly': $isReadonly(canEdit, selfPropsObj),
|
|
29
27
|
'DshDate-date-disabled': $isDisabled(canEdit, selfPropsObj)
|
|
30
28
|
}"
|
|
31
29
|
v-model="val"
|
|
32
30
|
:type="subType"
|
|
33
31
|
:placeholder="selfPropsObj._placeholder"
|
|
34
|
-
:disabled="
|
|
32
|
+
:disabled="$isDisabled(canEdit, selfPropsObj)"
|
|
35
33
|
:clearable="selfPropsObj._clearable"
|
|
36
34
|
:options="options"
|
|
37
35
|
:transfer="selfPropsObj._transfer"
|
|
@@ -40,29 +38,13 @@
|
|
|
40
38
|
</template>
|
|
41
39
|
</template>
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
<!-- 查看模式 -->
|
|
42
|
+
<control-show
|
|
44
43
|
v-else
|
|
45
|
-
|
|
46
|
-
:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
:class="commonClass"
|
|
50
|
-
>
|
|
51
|
-
<span
|
|
52
|
-
v-if="showVal"
|
|
53
|
-
class="dsh-ellipsis hb-show-text"
|
|
54
|
-
:class="`control-${mode}-text`"
|
|
55
|
-
>
|
|
56
|
-
{{ showVal }}
|
|
57
|
-
</span>
|
|
58
|
-
<span
|
|
59
|
-
v-else
|
|
60
|
-
class="hb-nodata-text dsh-ellipsis"
|
|
61
|
-
:class="`control-${mode}-text`"
|
|
62
|
-
>
|
|
63
|
-
<span>暂无内容</span>
|
|
64
|
-
</span>
|
|
65
|
-
</Ctooltip>
|
|
44
|
+
:showVal="showVal"
|
|
45
|
+
:propsObj="selfPropsObj"
|
|
46
|
+
:isUnit="isUnit"
|
|
47
|
+
></control-show>
|
|
66
48
|
</div>
|
|
67
49
|
</template>
|
|
68
50
|
|
|
@@ -140,9 +122,3 @@
|
|
|
140
122
|
}
|
|
141
123
|
};
|
|
142
124
|
</script>
|
|
143
|
-
|
|
144
|
-
<style lang="less">
|
|
145
|
-
.DshDate {
|
|
146
|
-
width: 100%;
|
|
147
|
-
}
|
|
148
|
-
</style>
|
|
@@ -1,49 +1,44 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="DshEditor">
|
|
3
3
|
<!-- 有值、无值 可编辑 -->
|
|
4
|
-
<div
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
<div v-if="isUnit" class="DshEditor-unit">
|
|
5
|
+
<span class="DshEditor-unit-text">
|
|
6
|
+
{{ unitVal }}
|
|
7
|
+
</span>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<template v-else-if="finalCanEdit">
|
|
11
|
+
<div class="DshEditor-show DshEditor-edit"
|
|
12
|
+
:class="value[controlKey] ? '': 'DshEditor-edit-placeholder'"
|
|
13
|
+
v-show="showType === 'show'"
|
|
14
|
+
v-html="editVal"
|
|
15
|
+
@click="handleEdit"
|
|
16
|
+
></div>
|
|
17
|
+
<div v-show="showType=='edit'" class="DshEditor-wrap">
|
|
18
|
+
<div
|
|
19
|
+
ref="toolbar"
|
|
20
|
+
class="toolbar"
|
|
21
|
+
></div>
|
|
22
|
+
<div
|
|
23
|
+
ref="editor"
|
|
24
|
+
class="text"
|
|
25
|
+
></div>
|
|
26
|
+
|
|
27
|
+
<dsh-buttons
|
|
28
|
+
class="DshEditor-wrap-btn"
|
|
29
|
+
:list="$getOperationList(['save'])"
|
|
30
|
+
@click="$dispatchEvent($event)"
|
|
31
|
+
></dsh-buttons>
|
|
32
|
+
</div>
|
|
33
|
+
</template>
|
|
12
34
|
|
|
13
|
-
<div
|
|
14
|
-
|
|
15
|
-
class="DshEditor-show
|
|
16
|
-
:class="commonClass"
|
|
35
|
+
<div v-else
|
|
36
|
+
class="DshEditor-show"
|
|
37
|
+
:class="$isDisabled(canEdit, selfPropsObj) ? 'DshEditor-show-disabled' : value[controlKey] ? '' : 'DshEditor-show-nodata'"
|
|
17
38
|
v-show="showType === 'show'"
|
|
18
|
-
v-html="
|
|
19
|
-
@click="handleEdit"
|
|
39
|
+
v-html="showVal"
|
|
20
40
|
></div>
|
|
21
41
|
|
|
22
|
-
<div
|
|
23
|
-
v-else
|
|
24
|
-
class="DshEditor-show hb-nodata-text"
|
|
25
|
-
>
|
|
26
|
-
<span>暂无内容</span>
|
|
27
|
-
</div>
|
|
28
|
-
<div
|
|
29
|
-
v-show="showType=='edit'"
|
|
30
|
-
class="DshEditor-wrap"
|
|
31
|
-
>
|
|
32
|
-
<div
|
|
33
|
-
ref="toolbar"
|
|
34
|
-
class="toolbar"
|
|
35
|
-
></div>
|
|
36
|
-
<div
|
|
37
|
-
ref="editor"
|
|
38
|
-
class="text"
|
|
39
|
-
></div>
|
|
40
|
-
|
|
41
|
-
<dsh-buttons
|
|
42
|
-
class="DshEditor-wrap-btn"
|
|
43
|
-
:list="$getOperationList(['save'])"
|
|
44
|
-
@click="$dispatchEvent($event)"
|
|
45
|
-
></dsh-buttons>
|
|
46
|
-
</div>
|
|
47
42
|
</div>
|
|
48
43
|
</template>
|
|
49
44
|
|
|
@@ -72,10 +67,25 @@
|
|
|
72
67
|
};
|
|
73
68
|
},
|
|
74
69
|
computed: {
|
|
70
|
+
selfPropsObj () {
|
|
71
|
+
return {
|
|
72
|
+
...this.propsObj,
|
|
73
|
+
...this.commonDealPropsObj
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
unitVal () {
|
|
77
|
+
return this.value[this.controlKey] ? "富文本" : "-";
|
|
78
|
+
},
|
|
79
|
+
showVal () {
|
|
80
|
+
return this.value[this.controlKey] || "暂无内容";
|
|
81
|
+
},
|
|
82
|
+
editVal () {
|
|
83
|
+
return this.value[this.controlKey] || this.selfPropsObj._placeholder;
|
|
84
|
+
}
|
|
75
85
|
},
|
|
76
86
|
created () {},
|
|
77
87
|
mounted () {
|
|
78
|
-
this.initEditor();
|
|
88
|
+
this.finalCanEdit && this.initEditor();
|
|
79
89
|
},
|
|
80
90
|
methods: {
|
|
81
91
|
initEditor () {
|
|
@@ -142,10 +152,8 @@
|
|
|
142
152
|
this.editor = editor;
|
|
143
153
|
},
|
|
144
154
|
handleEdit () {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
this.showType = "edit";
|
|
148
|
-
}
|
|
155
|
+
this.editor.txt.html(this.value[this.propsObj._key]);
|
|
156
|
+
this.showType = "edit";
|
|
149
157
|
},
|
|
150
158
|
save () {
|
|
151
159
|
this.showType = "show";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div :class="`DshInput
|
|
2
|
+
<div :class="`DshInput`">
|
|
3
3
|
<Input
|
|
4
|
-
v-if="finalCanEdit"
|
|
4
|
+
v-if="finalCanEdit || $isDisabled(canEdit, selfPropsObj)"
|
|
5
5
|
:class="{
|
|
6
|
-
'DshInput-readonly': $isReadonly(canEdit, selfPropsObj),
|
|
7
6
|
'DshInput-disabled': $isDisabled(canEdit, selfPropsObj)
|
|
8
7
|
}"
|
|
9
8
|
v-model="value[controlKey]"
|
|
@@ -24,50 +23,23 @@
|
|
|
24
23
|
@on-blur="onBlur"
|
|
25
24
|
@on-clear="onClear"
|
|
26
25
|
>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
<span
|
|
27
|
+
v-if="selfPropsObj._prepend"
|
|
28
|
+
slot="prepend"
|
|
29
|
+
>{{ selfPropsObj._prepend }}</span>
|
|
30
|
+
<span
|
|
31
|
+
v-if="selfPropsObj._append"
|
|
32
|
+
slot="append"
|
|
33
|
+
>{{ selfPropsObj._append }}</span>
|
|
35
34
|
</Input>
|
|
36
35
|
|
|
37
|
-
<!--
|
|
38
|
-
<
|
|
39
|
-
v-else-if="subType === 'textarea'"
|
|
40
|
-
:class="[commonClass, showVal ? 'hb-show-text' : 'hb-nodata-text', 'DshInput-textarea-show']"
|
|
41
|
-
>{{ showVal || '暂无内容' }}</p>
|
|
42
|
-
|
|
43
|
-
<Ctooltip
|
|
36
|
+
<!-- 查看模式 -->
|
|
37
|
+
<control-show
|
|
44
38
|
v-else
|
|
45
|
-
|
|
46
|
-
:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
:class="{
|
|
50
|
-
'DshInput-notAllowed': mode === 'default',
|
|
51
|
-
'DshInput-ellipsis-readonly': mode === 'default' && $isReadonly(canEdit, selfPropsObj),
|
|
52
|
-
'DshInput-ellipsis-disabled': mode === 'default' && $isDisabled(canEdit, selfPropsObj),
|
|
53
|
-
[commonClass]: true
|
|
54
|
-
}"
|
|
55
|
-
>
|
|
56
|
-
<span
|
|
57
|
-
v-if="showVal"
|
|
58
|
-
class="dsh-ellipsis hb-show-text"
|
|
59
|
-
:class="`control-${mode}-text`"
|
|
60
|
-
>
|
|
61
|
-
{{ showVal }}
|
|
62
|
-
</span>
|
|
63
|
-
<span
|
|
64
|
-
v-else
|
|
65
|
-
class="hb-nodata-text dsh-ellipsis"
|
|
66
|
-
:class="`control-${mode}-text`"
|
|
67
|
-
>
|
|
68
|
-
<span>暂无内容</span>
|
|
69
|
-
</span>
|
|
70
|
-
</Ctooltip>
|
|
39
|
+
:showVal="showVal"
|
|
40
|
+
:propsObj="selfPropsObj"
|
|
41
|
+
:isUnit="isUnit"
|
|
42
|
+
></control-show>
|
|
71
43
|
</div>
|
|
72
44
|
</template>
|
|
73
45
|
|
|
@@ -107,7 +79,8 @@
|
|
|
107
79
|
return this.value[this.controlKey] || "";
|
|
108
80
|
}
|
|
109
81
|
},
|
|
110
|
-
created () {
|
|
82
|
+
created () {
|
|
83
|
+
},
|
|
111
84
|
methods: {
|
|
112
85
|
onSearch (...params) {
|
|
113
86
|
this.$emit("search", ...params);
|
|
@@ -106,9 +106,8 @@
|
|
|
106
106
|
<div
|
|
107
107
|
v-else
|
|
108
108
|
:class="{'DshLabels-view':true,
|
|
109
|
-
'DshLabels-view-readonly':
|
|
110
|
-
'DshLabels-view-disabled':
|
|
111
|
-
[commonClass]:true
|
|
109
|
+
'DshLabels-view-readonly': $isReadonly(canEdit, selfPropsObj),
|
|
110
|
+
'DshLabels-view-disabled': $isDisabled(canEdit, selfPropsObj),
|
|
112
111
|
}"
|
|
113
112
|
>
|
|
114
113
|
<template v-if="val.length">
|
|
@@ -126,7 +125,12 @@
|
|
|
126
125
|
v-else
|
|
127
126
|
class="DshLabels-view-nodata"
|
|
128
127
|
>
|
|
129
|
-
<
|
|
128
|
+
<template v-if="isUnit">
|
|
129
|
+
-
|
|
130
|
+
</template>
|
|
131
|
+
<template v-else>
|
|
132
|
+
暂无内容
|
|
133
|
+
</template>
|
|
130
134
|
</div>
|
|
131
135
|
</div>
|
|
132
136
|
</div>
|