centaline-data-driven-v3 0.1.10 → 0.1.12
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/dist/centaline-data-driven-v3.umd.js +11 -11
- package/package.json +1 -1
- package/src/components/app/TextBox.vue +13 -1
- package/src/components/web/ComboBox.vue +71 -68
- package/src/components/web/NumericRange.vue +2 -2
- package/src/components/web/SearchList/SearchTable.vue +117 -106
- package/src/components/web/SearchScreen.vue +1 -0
- package/src/components/web/TextBox.vue +39 -25
- package/src/loader/src/Field.js +31 -7
- package/src/loader/src/Form.js +168 -13
- package/src/loader/src/SearchScreen.js +873 -808
- package/src/main.js +1 -1
- package/src/utils/validate.js +21 -0
- package/src/views/Form.vue +2 -2
- package/src/views/SearchList.vue +3 -3
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</template>
|
|
10
10
|
</van-field>
|
|
11
11
|
<van-field clearable :type="model.inputType" :rows="model.rows" v-bind="model.attrs" v-model="model.code1"
|
|
12
|
-
:readonly="model.readonly" :disabled="model.locked" :maxlength="model.maxValue1"
|
|
12
|
+
:readonly="model.readonly" :disabled="model.locked" :maxlength="model.controlType !== Enum.ControlType.NumericTextBox ? model.maxValue1 : ''"
|
|
13
13
|
:show-word-limit="model.showWordLimit" :label-align="model.inputType == 'textarea' ? 'top' : 'left'"
|
|
14
14
|
@input="input()" @blur="change()" class="ct-text" autocomplete="off">
|
|
15
15
|
<template #label v-if="model.showLabel && model.controlLabel">
|
|
@@ -44,6 +44,18 @@ const props = defineProps({
|
|
|
44
44
|
source: Object,
|
|
45
45
|
})
|
|
46
46
|
const model = initData(props, TextBox)
|
|
47
|
+
model.value.selfValidExcute = () => {
|
|
48
|
+
model.value.valid = true;
|
|
49
|
+
if (model.value.controlType === Enum.ControlType.NumericTextBox) {
|
|
50
|
+
if (model.value.minValue1 && model.value.code1 < parseFloat(model.value.minValue1)) {
|
|
51
|
+
model.value.validMessage = "最小值为" + model.value.minValue1 + "";
|
|
52
|
+
model.value.valid = false;
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
return model.value.valid;
|
|
58
|
+
}
|
|
47
59
|
//弹出选择列表
|
|
48
60
|
function popupSearchListHandle() {
|
|
49
61
|
let isSingle = model.value.moreActionRouter.isSingle
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<ct-field :vmodel="model">
|
|
3
3
|
<template #Control>
|
|
4
|
-
<el-select-v2 ref="refselect" :key="model.itemKey" v-model="model.value" :options="model.options"
|
|
5
|
-
:props="model.optionAttrs" v-bind="model.attrs" :disabled="model.locked"
|
|
6
|
-
:placeholder="model.placeholder" @visible-change="visibleChange"
|
|
7
|
-
:filterable="model.filterable" :multiple="model.multiple" class="fieldControl"
|
|
8
|
-
|
|
4
|
+
<el-select-v2 ref="refselect" :key="model.itemKey" v-model="model.value" :options="model.options"
|
|
5
|
+
:no-data-text="nodatatext" :props="model.optionAttrs" v-bind="model.attrs" :disabled="model.locked"
|
|
6
|
+
clearable @change="change" :placeholder="model.placeholder" @visible-change="visibleChange"
|
|
7
|
+
@clear="clear" :filterable="model.filterable" :multiple="model.multiple" class="fieldControl"
|
|
8
|
+
:height="300" @click="clickHandler"
|
|
9
|
+
:class="[model.moreActionRouter ? 'selectmore' : '', open ? 'open' : '']"
|
|
9
10
|
:filter-method="debouncedRemoteMethod" @compositionstart="handleCompositionStart"
|
|
10
11
|
@compositionend="handleCompositionEnd">
|
|
11
12
|
<template #default="{ item }">
|
|
@@ -27,9 +28,8 @@
|
|
|
27
28
|
</el-select-v2>
|
|
28
29
|
<template v-if="model.flagaFterText">
|
|
29
30
|
<el-input type="text" v-model="model.code2" v-bind="model.attrs" @change="changeHandler(model, emit)"
|
|
30
|
-
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly"
|
|
31
|
-
:
|
|
32
|
-
class="fieldControl ml10">
|
|
31
|
+
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly" :maxlength="model.maxValue1"
|
|
32
|
+
:show-word-limit="model.showWordLimit" clearable class="fieldControl ml10">
|
|
33
33
|
</el-input>
|
|
34
34
|
</template>
|
|
35
35
|
</template>
|
|
@@ -61,17 +61,17 @@ const refselect = ref()
|
|
|
61
61
|
const open = ref(false)
|
|
62
62
|
const isComposing = ref(false);
|
|
63
63
|
const nodatatext = ref(' ')
|
|
64
|
-
model.value.itemKey=Math.random();
|
|
64
|
+
model.value.itemKey = Math.random();
|
|
65
65
|
let cancelTokenSource = null; // 用于存储取消令牌
|
|
66
66
|
|
|
67
|
-
const qrtimer=ref(null)
|
|
68
|
-
onBeforeUnmount(()=>{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
const qrtimer = ref(null)
|
|
68
|
+
onBeforeUnmount(() => {
|
|
69
|
+
model.value = null
|
|
70
|
+
refselect.value = null
|
|
71
|
+
if (qrtimer.value) {
|
|
72
|
+
clearTimeout(qrtimer.value);
|
|
73
|
+
qrtimer.value = null;
|
|
74
|
+
}
|
|
75
75
|
})
|
|
76
76
|
|
|
77
77
|
//下拉框出现/隐藏时触发
|
|
@@ -97,55 +97,55 @@ function visibleChange(visible) {
|
|
|
97
97
|
//获取数据列表
|
|
98
98
|
function getOptions(key) {
|
|
99
99
|
if (cancelTokenSource) {
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
// 取消上一次未完成的请求
|
|
101
|
+
cancelTokenSource.cancel('取消上一次请求');
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
// 创建新的取消令牌
|
|
105
105
|
cancelTokenSource = Axios.CancelToken.source();
|
|
106
|
-
if (!isComposing.value
|
|
107
|
-
model.value.getOptions(props.parameterAction, key,cancelTokenSource, function (data) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
if (!isComposing.value && !model.value.moreActionRouter) {
|
|
107
|
+
model.value.getOptions(props.parameterAction, key, cancelTokenSource, function (data) {
|
|
108
|
+
if (data) {
|
|
109
|
+
data.forEach((v) => {
|
|
110
|
+
let item = model.value.globalOptions.find((v1) => {
|
|
111
|
+
return v1.code === v.code && v1.locked;
|
|
112
|
+
});
|
|
113
|
+
if (item) {
|
|
114
|
+
v.locked = true
|
|
115
|
+
}
|
|
116
|
+
v.label = v.displayName || v.name
|
|
117
|
+
v.value = v.code
|
|
118
|
+
v.disabled = v.locked
|
|
119
|
+
if (v.options) {
|
|
120
|
+
let data1 = v.options;
|
|
121
|
+
data1.forEach((v2) => {
|
|
122
|
+
let item1 = model.value.globalOptions.find((v3) => {
|
|
123
|
+
return v3.code === v2.code && v3.locked;
|
|
124
|
+
});
|
|
125
|
+
if (item1) {
|
|
126
|
+
v2.locked = true
|
|
127
|
+
}
|
|
128
|
+
v2.label = v2.displayName || v2.name
|
|
129
|
+
v2.value = v2.code
|
|
130
|
+
v2.disabled = v2.locked
|
|
131
|
+
});
|
|
132
|
+
}
|
|
112
133
|
});
|
|
113
|
-
if (
|
|
114
|
-
|
|
134
|
+
if (JSON.stringify(model.value.options) != JSON.stringify(data)) {
|
|
135
|
+
model.value.options = data;
|
|
115
136
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (v.options) {
|
|
120
|
-
let data1 = v.options;
|
|
121
|
-
data1.forEach((v2) => {
|
|
122
|
-
let item1 = model.value.globalOptions.find((v3) => {
|
|
123
|
-
return v3.code === v2.code && v3.locked;
|
|
124
|
-
});
|
|
125
|
-
if (item1) {
|
|
126
|
-
v2.locked = true
|
|
127
|
-
}
|
|
128
|
-
v2.label = v2.displayName || v2.name
|
|
129
|
-
v2.value = v2.code
|
|
130
|
-
v2.disabled = v2.locked
|
|
131
|
-
});
|
|
137
|
+
|
|
138
|
+
if (data.length == 0) {
|
|
139
|
+
nodatatext.value = common.LocalizedString('无数据', '無數據');
|
|
132
140
|
}
|
|
133
|
-
});
|
|
134
|
-
if (JSON.stringify(model.value.options) != JSON.stringify(data)) {
|
|
135
|
-
model.value.options = data;
|
|
136
|
-
}
|
|
137
141
|
|
|
138
|
-
|
|
139
|
-
|
|
142
|
+
nextTick(function () {
|
|
143
|
+
setminWidth()
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
nodatatext.value = common.LocalizedString('无数据', '無數據');
|
|
140
148
|
}
|
|
141
|
-
|
|
142
|
-
nextTick(function () {
|
|
143
|
-
setminWidth()
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
else{
|
|
147
|
-
nodatatext.value = common.LocalizedString('无数据', '無數據');
|
|
148
|
-
}
|
|
149
149
|
})
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -155,7 +155,7 @@ function debounce(func, delay) {
|
|
|
155
155
|
return function () {
|
|
156
156
|
const context = this;
|
|
157
157
|
const args = arguments;
|
|
158
|
-
if(qrtimer.value)clearTimeout(qrtimer.value);
|
|
158
|
+
if (qrtimer.value) clearTimeout(qrtimer.value);
|
|
159
159
|
qrtimer.value = setTimeout(() => {
|
|
160
160
|
func.apply(context, args);
|
|
161
161
|
}, delay);
|
|
@@ -171,6 +171,9 @@ function change(val) {
|
|
|
171
171
|
model.value.value = val
|
|
172
172
|
model.value.itemKey = Math.random()
|
|
173
173
|
}
|
|
174
|
+
else {
|
|
175
|
+
val = ''
|
|
176
|
+
}
|
|
174
177
|
}
|
|
175
178
|
model.value.setcode(val)
|
|
176
179
|
changeHandler(model.value, emit)
|
|
@@ -227,13 +230,13 @@ function setminWidth() {
|
|
|
227
230
|
let maxLength = -1;
|
|
228
231
|
let text;
|
|
229
232
|
for (let item of model.value.options) {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
233
|
+
if (item.name) {
|
|
234
|
+
if (item.name.length > maxLength) {
|
|
235
|
+
maxLength = item.name.length;
|
|
236
|
+
text = item.name;
|
|
237
|
+
}
|
|
234
238
|
}
|
|
235
|
-
|
|
236
|
-
}
|
|
239
|
+
}
|
|
237
240
|
|
|
238
241
|
let span = document.createElement('span');
|
|
239
242
|
span.innerText = text;
|
|
@@ -241,12 +244,12 @@ function setminWidth() {
|
|
|
241
244
|
span.style.width = 'auto';
|
|
242
245
|
span.style.fontSize = '17px';
|
|
243
246
|
document.body.appendChild(span);
|
|
244
|
-
|
|
247
|
+
|
|
245
248
|
if ((span.getBoundingClientRect().width + 40) <= refselect.value.selectRef.offsetWidth) {
|
|
246
|
-
|
|
249
|
+
refselect.value.popperSize = refselect.value.selectRef.offsetWidth;
|
|
247
250
|
}
|
|
248
|
-
else{
|
|
249
|
-
|
|
251
|
+
else {
|
|
252
|
+
refselect.value.popperSize = span.getBoundingClientRect().width + 40;
|
|
250
253
|
}
|
|
251
254
|
|
|
252
255
|
document.body.removeChild(span);
|
|
@@ -91,117 +91,121 @@
|
|
|
91
91
|
@drop="drop($event, row, column, 'table')" @dragover.prevent
|
|
92
92
|
@dragenter="dragenter($event, column, 'table')"
|
|
93
93
|
@dragleave="dragleave($event, column, 'table')">
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
<template v-
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
<
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
94
|
+
<div class="card__delete-wrapper">
|
|
95
|
+
<!--操作列-->
|
|
96
|
+
<div v-if="column.id === 'operation'" class="div_allinline"
|
|
97
|
+
:class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
|
|
98
|
+
style="float: left;">
|
|
99
|
+
<template v-for="(router, rowRouterIndex) in getRowRouterShow(row)">
|
|
100
|
+
<template v-if="router.isCallTel">
|
|
101
|
+
<component
|
|
102
|
+
v-if="!router.rightField || !row[router.rightField] || row[router.rightField] == 1"
|
|
103
|
+
:key="rowRouterIndex"
|
|
104
|
+
:ref="el => getRowsRouterRef(el, 'router' + router.key + rowindex)"
|
|
105
|
+
:rowData="row" :rowindex="rowindex" :is="router.is"
|
|
106
|
+
:vmodel="router" :api="model.parameterAction"
|
|
107
|
+
@click="rolRouterClickHandler">
|
|
108
|
+
</component>
|
|
109
|
+
</template>
|
|
110
|
+
<template v-else>
|
|
111
|
+
<Tablecurrency
|
|
112
|
+
v-if="!router.rightField || row[router.rightField] == 1"
|
|
113
|
+
:key="rowRouterIndex" :rowData="row" :rowindex="rowindex"
|
|
114
|
+
:isOperationalColumn="true" :router="router"
|
|
115
|
+
:colValue="router.controlLabel"
|
|
116
|
+
@click="rolRouterClickHandler">
|
|
117
|
+
</Tablecurrency>
|
|
118
|
+
</template>
|
|
116
119
|
</template>
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
</
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
</
|
|
120
|
+
<el-popover v-if="getRowRouterDisplay(row).length > 0"
|
|
121
|
+
:ref="el => getRowsPopoverRef(el, rowindex)"
|
|
122
|
+
:append-to-table="option.appendId ? option.appendId : ''"
|
|
123
|
+
:placement="option.placement ? option.placement : 'left'"
|
|
124
|
+
:trigger="option.trigger ? option.trigger : ''">
|
|
125
|
+
<div class="tab-list" style="border-bottom: none">
|
|
126
|
+
<template
|
|
127
|
+
v-for="(router, rowRouterIndex) in getRowRouterDisplay(row)">
|
|
128
|
+
<template v-if="router.isCallTel">
|
|
129
|
+
<component
|
|
130
|
+
v-if="!router.rightField || !row[router.rightField] || row[router.rightField] == 1"
|
|
131
|
+
:key="rowRouterIndex"
|
|
132
|
+
:ref="el => getRowsRouterRef(el, 'router' + router.key + rowindex)"
|
|
133
|
+
:rowData="row" :rowindex="rowindex" :is="router.is"
|
|
134
|
+
:vmodel="router" :api="model.parameterAction"
|
|
135
|
+
@click="rolRouterClickHandler">
|
|
136
|
+
</component>
|
|
137
|
+
</template>
|
|
138
|
+
<template v-else>
|
|
139
|
+
<Tablecurrency
|
|
140
|
+
v-if="!router.rightField || row[router.rightField] == 1"
|
|
141
|
+
:key="rowRouterIndex" :rowData="row"
|
|
142
|
+
:rowindex="rowindex" :isOperationalColumn="true"
|
|
143
|
+
:router="router" :colValue="router.label"
|
|
144
|
+
:isShowImg="false" @click="rolRouterClickHandler">
|
|
145
|
+
</Tablecurrency>
|
|
146
|
+
</template>
|
|
144
147
|
</template>
|
|
148
|
+
</div>
|
|
149
|
+
<template #reference>
|
|
150
|
+
<span class="icon-more Stats-popover"></span>
|
|
145
151
|
</template>
|
|
146
|
-
</div>
|
|
147
|
-
<template #reference>
|
|
148
|
-
<span class="icon-more Stats-popover"></span>
|
|
149
|
-
</template>
|
|
150
152
|
|
|
151
|
-
|
|
153
|
+
</el-popover>
|
|
152
154
|
|
|
153
155
|
|
|
154
156
|
|
|
155
|
-
</div>
|
|
156
|
-
|
|
157
|
-
<template v-else-if="column.id === 'linksCol'">
|
|
158
|
-
<div v-if="row[column.id]">
|
|
159
|
-
<template v-for="(r, linksColIndex) in JSON.parse(row[column.id])">
|
|
160
|
-
<a v-if="r.routerKey" style="padding-right: 10px;"
|
|
161
|
-
class="ct-tablecurrencyItem" :key="linksColIndex"
|
|
162
|
-
@click="linksColClickHandler(r)" v-html="r.name"
|
|
163
|
-
href="javascript:void(0);">
|
|
164
|
-
</a>
|
|
165
|
-
<span v-else v-html="r.name" style="padding-right: 10px;"></span>
|
|
166
|
-
</template>
|
|
167
157
|
</div>
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
:
|
|
185
|
-
|
|
158
|
+
|
|
159
|
+
<template v-else-if="column.id === 'linksCol'">
|
|
160
|
+
<div v-if="row[column.id]">
|
|
161
|
+
<template v-for="(r, linksColIndex) in JSON.parse(row[column.id])">
|
|
162
|
+
<a v-if="r.routerKey" style="padding-right: 10px;"
|
|
163
|
+
class="ct-tablecurrencyItem" :key="linksColIndex"
|
|
164
|
+
@click="linksColClickHandler(r)" v-html="r.name"
|
|
165
|
+
href="javascript:void(0);">
|
|
166
|
+
</a>
|
|
167
|
+
<span v-else v-html="r.name"
|
|
168
|
+
style="padding-right: 10px;"></span>
|
|
169
|
+
</template>
|
|
170
|
+
</div>
|
|
171
|
+
</template>
|
|
172
|
+
|
|
173
|
+
<Tablecurrency v-else-if="column.id === 'voice'" :isShowVoice="true"
|
|
174
|
+
:router="column.router" :colValue="column.router.label"
|
|
175
|
+
:rowindex="rowindex" :rowData="row" @click="rolRouterClickHandler"
|
|
176
|
+
:class="column.autoRowHeight ? 'lineFeedCell' : 'cell'">
|
|
186
177
|
</Tablecurrency>
|
|
187
|
-
</template>
|
|
188
178
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
179
|
+
<!--可点击的列-->
|
|
180
|
+
<template v-else-if="column.router">
|
|
181
|
+
<div v-if="column.router.rightField && row[column.router.rightField] == 0"
|
|
182
|
+
v-html="row[column.id]"></div>
|
|
183
|
+
<Tablecurrency v-else :rowindex="rowindex" :align="column.attrs.align"
|
|
184
|
+
:class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
|
|
185
|
+
:columnName="column.id" :router="column.router"
|
|
186
|
+
:colValue="row[column.id]" :rowData="row"
|
|
187
|
+
:eventTriggerType="column.eventTriggerType"
|
|
188
|
+
@click="rolRouterClickHandler"
|
|
189
|
+
@mouseenter="rolRouterMouseenterHandler">
|
|
190
|
+
</Tablecurrency>
|
|
191
|
+
</template>
|
|
194
192
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
<el-icon v-if="showDelete(row, column)" class="el-icon-close card__delete"
|
|
201
|
-
@click="deleteColumn(row, column)">
|
|
202
|
-
<CircleClose />
|
|
203
|
-
</el-icon>
|
|
193
|
+
<!--正常的列-->
|
|
194
|
+
<div v-else-if="column.flagHtml" v-html="row[column.id]"
|
|
195
|
+
:class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
|
|
196
|
+
:style="column.style ? column.style : ''">
|
|
197
|
+
</div>
|
|
204
198
|
|
|
199
|
+
<div v-else-if="typeof column.template === 'undefined'"
|
|
200
|
+
:class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
|
|
201
|
+
:style="column.style ? column.style : ''">
|
|
202
|
+
{{ common.getDataOfUpperLower(row, column.id) }}
|
|
203
|
+
</div>
|
|
204
|
+
<el-icon v-if="showDelete(row, column)" class="el-icon-close card__delete"
|
|
205
|
+
@click.stop="deleteColumn(row, column)">
|
|
206
|
+
<CircleClose />
|
|
207
|
+
</el-icon>
|
|
208
|
+
</div>
|
|
205
209
|
</td>
|
|
206
210
|
</template>
|
|
207
211
|
|
|
@@ -1394,13 +1398,13 @@ function onDragStartColumn(event, row, column, name) {
|
|
|
1394
1398
|
|
|
1395
1399
|
|
|
1396
1400
|
function drop(e, row, column, name) {
|
|
1397
|
-
if ((
|
|
1401
|
+
if ((props.dragStartName == "top" || dragStartName.value == "table") && name == "table" && column.paramName == "drop") {
|
|
1398
1402
|
|
|
1399
1403
|
|
|
1400
1404
|
if (dragStartName.value == "table") {
|
|
1401
1405
|
exchangeRequest(row, column, dragStartItem.value, dragStartColumn.value);
|
|
1402
1406
|
}
|
|
1403
|
-
else if (
|
|
1407
|
+
else if (props.dragStartName == "top") {
|
|
1404
1408
|
dropRequest(row, column, props.dragStartItem);
|
|
1405
1409
|
}
|
|
1406
1410
|
if (name === "table") {
|
|
@@ -1597,7 +1601,7 @@ function addClass(el, className) {
|
|
|
1597
1601
|
newClassName.push(className);
|
|
1598
1602
|
el.className = newClassName.join(" ");
|
|
1599
1603
|
}
|
|
1600
|
-
|
|
1604
|
+
|
|
1601
1605
|
defineExpose({
|
|
1602
1606
|
model,
|
|
1603
1607
|
searchComplate,
|
|
@@ -1609,15 +1613,22 @@ defineExpose({
|
|
|
1609
1613
|
})
|
|
1610
1614
|
</script>
|
|
1611
1615
|
<style lang="css" scoped>
|
|
1612
|
-
.
|
|
1616
|
+
.card__delete-wrapper {
|
|
1617
|
+
width: 100%;
|
|
1618
|
+
height: 100%;
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
/* 鼠标移上去才变成 relative */
|
|
1622
|
+
.card__delete-wrapper:hover {
|
|
1613
1623
|
position: relative;
|
|
1624
|
+
|
|
1614
1625
|
}
|
|
1615
1626
|
|
|
1616
1627
|
/* 右上角删除图标,默认隐藏 */
|
|
1617
1628
|
.card__delete {
|
|
1618
1629
|
position: absolute;
|
|
1619
|
-
top:
|
|
1620
|
-
right:
|
|
1630
|
+
top: 1px;
|
|
1631
|
+
right: -5px;
|
|
1621
1632
|
font-size: 14px;
|
|
1622
1633
|
color: #909399;
|
|
1623
1634
|
cursor: pointer;
|
|
@@ -1628,7 +1639,7 @@ defineExpose({
|
|
|
1628
1639
|
}
|
|
1629
1640
|
|
|
1630
1641
|
/* 鼠标悬停卡片时让图标出现,并恢复点击事件 */
|
|
1631
|
-
.
|
|
1642
|
+
.card__delete-wrapper:hover .card__delete {
|
|
1632
1643
|
opacity: 1;
|
|
1633
1644
|
pointer-events: auto;
|
|
1634
1645
|
}
|
|
@@ -176,6 +176,7 @@ function searchHandler(field) {
|
|
|
176
176
|
model.value.reset();
|
|
177
177
|
model.value.screen.forEach((v) => {
|
|
178
178
|
SearchScreen.hiddenHandle(v, model.value);
|
|
179
|
+
SearchScreen.displayHandle(v, model.value);
|
|
179
180
|
})
|
|
180
181
|
if (validExcute()) {
|
|
181
182
|
emit('resetSearch', model.value);
|