centaline-data-driven-v3 0.0.65 → 0.0.66
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 +63 -63
- package/package.json +2 -2
- package/src/assets/commonWeb.css +1 -45
- package/src/components/web/Button.vue +57 -1
- package/src/components/web/ComboBox.vue +2 -2
- package/src/components/web/Form.vue +11 -2
- package/src/components/web/SearchScreen.vue +9 -5
- package/src/components/web/SensitiveEye.vue +3 -2
- package/src/components/web/TextBox.vue +11 -5
- package/src/loader/src/Button.js +6 -6
- package/src/loader/src/SearchScreen.js +10 -10
- package/src/loader/src/SearchTable.js +5 -2
- package/src/main.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "centaline-data-driven-v3",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.66",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "centaline-data-driven-v3",
|
|
6
6
|
"main": "dist/centaline-data-driven-v3.umd.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"moment": "^2.30.1",
|
|
17
17
|
"photo-sphere-viewer": "^4.8.1",
|
|
18
18
|
"sortablejs": "^1.15.6",
|
|
19
|
-
"vant": "^4.8.0",
|
|
19
|
+
"vant": "^4.8.0",
|
|
20
20
|
"vite-plugin-css-injected-by-js": "^3.3.0",
|
|
21
21
|
"vue": "^3.3.4",
|
|
22
22
|
"vue-cropper": "^1.1.1",
|
package/src/assets/commonWeb.css
CHANGED
|
@@ -358,50 +358,6 @@ body {
|
|
|
358
358
|
color: var(--centalineBlack);
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
/* 查询搜索 */
|
|
362
|
-
.search-btn,
|
|
363
|
-
.more-btn {
|
|
364
|
-
height: 26px;
|
|
365
|
-
background: var(--chinaRed) !important;
|
|
366
|
-
border-color: var(--chinaRed) !important;
|
|
367
|
-
box-shadow: 0px 2px 4px 0px rgba(238, 107, 107, 0.25);
|
|
368
|
-
border-radius: 6px;
|
|
369
|
-
color: #fff !important;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/* 重置按钮 更多按钮*/
|
|
373
|
-
.reset-btn {
|
|
374
|
-
height: 26px;
|
|
375
|
-
background: #FFFFFF !important;
|
|
376
|
-
border-color: var(--chinaRed) !important;
|
|
377
|
-
border-radius: 6px;
|
|
378
|
-
color: var(--chinaRed) !important;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
|
-
/* 搜索按钮,重置按钮和更多按钮的hover */
|
|
382
|
-
.search-btn:hover,
|
|
383
|
-
.reset-btn:hover,
|
|
384
|
-
.more-btn:hover {
|
|
385
|
-
background-color: var(--btnHoverRed) !important;
|
|
386
|
-
border-color: var(--btnHoverRed) !important;
|
|
387
|
-
color: #fff !important;
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
.more-btn:hover .open,
|
|
391
|
-
.more-btn:hover .fold {
|
|
392
|
-
background-color: var(--btnHoverRed) !important;
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
.search-btn:active,
|
|
396
|
-
.search-btn:focus,
|
|
397
|
-
.reset-btn:active.reset-btn:focus,
|
|
398
|
-
.more-btn:active.more-btn:focus {
|
|
399
|
-
background-color: var(--btnFocusRed);
|
|
400
|
-
border-color: var(--btnFocusRed);
|
|
401
|
-
color: #fff !important;
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
|
|
405
361
|
.subdiv_allinline {
|
|
406
362
|
margin: 0;
|
|
407
363
|
padding: 0;
|
|
@@ -1067,7 +1023,7 @@ body {
|
|
|
1067
1023
|
.el-tag--small {
|
|
1068
1024
|
height: auto;
|
|
1069
1025
|
line-height: 16px;
|
|
1070
|
-
padding: 3px
|
|
1026
|
+
padding: 3px 5px;
|
|
1071
1027
|
}
|
|
1072
1028
|
|
|
1073
1029
|
.el-checkbox.el-checkbox--small {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
:style="{ color: model.textColor, backgroundColor: model.imgUrl ? 'transparent' : model.bgColor, borderColor: model.imgUrl ? 'transparent' : model.borderColor, padding: model.imgUrl ? '0px' : null }"
|
|
17
17
|
@click="clickHandle">{{ model.controlLabel }}</el-link>
|
|
18
18
|
<el-upload v-else-if="model.isImport" :action="model.action" :data="uploadData" :headers="headers" :multiple="false"
|
|
19
|
-
:show-file-list="false" :on-success="handleAvatarSuccess" :on-error="handleAvatarError">
|
|
19
|
+
:show-file-list="false" :on-success="handleAvatarSuccess" :on-error="handleAvatarError" :before-upload="handleAvatarBeforeUpload">
|
|
20
20
|
<el-button type="primary" v-bind="model.attrs"
|
|
21
21
|
:style="{ color: model.textColor, backgroundColor: model.imgUrl ? 'transparent' : model.bgColor, borderColor: model.imgUrl ? 'transparent' : model.borderColor, padding: model.imgUrl ? '0px' : null }"
|
|
22
22
|
:disabled="model.disabled || model.locked">
|
|
@@ -97,6 +97,19 @@ function clickHandle() {
|
|
|
97
97
|
emit('fieldClick', model.value);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
+
function handleAvatarBeforeUpload(file) {
|
|
101
|
+
if(model.value.form && model.value.form.$vue){
|
|
102
|
+
let submitData = model.value.form.$vue.getFileData(model.value);
|
|
103
|
+
for (var key in submitData) {
|
|
104
|
+
if (typeof submitData[key] === "object") {
|
|
105
|
+
uploadData.value[key] = JSON.stringify(submitData[key]);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
uploadData.value[key] = submitData[key];
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
100
113
|
function handleAvatarSuccess(res) {
|
|
101
114
|
emit('importComplete', res, model.value);
|
|
102
115
|
}
|
|
@@ -124,4 +137,47 @@ function commandClick(code) {
|
|
|
124
137
|
color: var(--chinaRed);
|
|
125
138
|
font-weight: 700;
|
|
126
139
|
}
|
|
140
|
+
/* 查询搜索 */
|
|
141
|
+
.search-btn,
|
|
142
|
+
.more-btn {
|
|
143
|
+
height: 26px;
|
|
144
|
+
background: var(--chinaRed);
|
|
145
|
+
border-color: var(--chinaRed);
|
|
146
|
+
box-shadow: 0px 2px 4px 0px rgba(238, 107, 107, 0.25);
|
|
147
|
+
border-radius: 6px;
|
|
148
|
+
color: #fff;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* 重置按钮 更多按钮*/
|
|
152
|
+
.reset-btn {
|
|
153
|
+
height: 26px;
|
|
154
|
+
background: #FFFFFF;
|
|
155
|
+
border-color: var(--chinaRed);
|
|
156
|
+
border-radius: 6px;
|
|
157
|
+
color: var(--chinaRed);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* 搜索按钮,重置按钮和更多按钮的hover */
|
|
161
|
+
.search-btn:hover,
|
|
162
|
+
.reset-btn:hover,
|
|
163
|
+
.more-btn:hover {
|
|
164
|
+
background-color: var(--btnHoverRed);
|
|
165
|
+
border-color: var(--btnHoverRed);
|
|
166
|
+
color: #fff;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.more-btn:hover .open,
|
|
170
|
+
.more-btn:hover .fold {
|
|
171
|
+
background-color: var(--btnHoverRed);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.search-btn:active,
|
|
175
|
+
.search-btn:focus,
|
|
176
|
+
.reset-btn:active.reset-btn:focus,
|
|
177
|
+
.more-btn:active.more-btn:focus {
|
|
178
|
+
background-color: var(--btnFocusRed);
|
|
179
|
+
border-color: var(--btnFocusRed);
|
|
180
|
+
color: #fff;
|
|
181
|
+
}
|
|
182
|
+
|
|
127
183
|
</style>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</el-tooltip>
|
|
14
14
|
</template>
|
|
15
15
|
<template #prefix
|
|
16
|
-
v-if="(model.isList && model.value && !model.multiple) || (model.multiple && model.isList && model.labelValue && model.labelValue.length > 0 && model.placeholder)">
|
|
16
|
+
v-if="((model.isList && model.value && !model.multiple) || (model.multiple && model.isList && model.labelValue && model.labelValue.length > 0 && model.placeholder)) && model.prefix">
|
|
17
17
|
<span>{{ model.prefix }}</span>
|
|
18
18
|
</template>
|
|
19
19
|
<template #tag>
|
|
@@ -181,7 +181,7 @@ function setminWidth() {
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
let span = document.createElement('span');
|
|
186
186
|
span.innerText = text;
|
|
187
187
|
span.style.whiteSpace = 'nowrap';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div ref="refForm" v-loading="loading">
|
|
2
|
+
<div ref="refForm" v-loading="loading" :style="{'min-height': minHeight}">
|
|
3
3
|
<div v-if="model !== null && !loading" class="ct-form">
|
|
4
4
|
<el-affix target=".ct-form" v-if="model.tip" :offset="62">
|
|
5
5
|
<div class="ct-form-tip">
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
</div>
|
|
139
139
|
</template>
|
|
140
140
|
<script lang="ts" setup>
|
|
141
|
-
import { ref, nextTick, onUpdated,onDeactivated } from 'vue'
|
|
141
|
+
import { ref, nextTick, onUpdated,onDeactivated , onMounted } from 'vue'
|
|
142
142
|
import { RouterClickHandler } from '../../utils/mixins';
|
|
143
143
|
import common from '../../utils/common'
|
|
144
144
|
import Form from '../../loader/src/Form'
|
|
@@ -205,6 +205,7 @@ const Fields = ref()
|
|
|
205
205
|
const refForm = ref()
|
|
206
206
|
const qrtimer = ref(null)
|
|
207
207
|
const downloadUrl = ref('')
|
|
208
|
+
const minHeight = ref('auto')
|
|
208
209
|
onUpdated(() => {
|
|
209
210
|
nextTick(() => {
|
|
210
211
|
qrtimer.value = setTimeout(getisScroll, 100);
|
|
@@ -213,6 +214,9 @@ onUpdated(() => {
|
|
|
213
214
|
onDeactivated(() => {
|
|
214
215
|
downloadUrl.value=''
|
|
215
216
|
})
|
|
217
|
+
onMounted(() => {
|
|
218
|
+
setCss();
|
|
219
|
+
})
|
|
216
220
|
init()
|
|
217
221
|
//初始化数据
|
|
218
222
|
function init() {
|
|
@@ -535,4 +539,9 @@ function flagNotificationParentAfterContentChanged() {
|
|
|
535
539
|
function updateFields(data) {
|
|
536
540
|
Form.updateFields(data, model.value)
|
|
537
541
|
}
|
|
542
|
+
function setCss() {
|
|
543
|
+
if (props.topHeight > -1) {
|
|
544
|
+
minHeight.value = (document.documentElement.clientHeight - props.topHeight - 20) + 'px';
|
|
545
|
+
}
|
|
546
|
+
}
|
|
538
547
|
</script>
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
50
|
<iframe :src="downloadUrl"
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
style="height:0px;width:0px;border-width: 0px;position: absolute;bottom: 0px;display: none;">
|
|
52
|
+
</iframe>
|
|
53
53
|
</div>
|
|
54
54
|
</template>
|
|
55
55
|
<script setup lang="ts">
|
|
56
|
-
import { ref, nextTick,onDeactivated } from 'vue'
|
|
56
|
+
import { ref, nextTick, onDeactivated } from 'vue'
|
|
57
57
|
import SearchScreen from '../../loader/src/SearchScreen'
|
|
58
58
|
import Form from '../../loader/src/Form'
|
|
59
59
|
import Enum from '../../utils/Enum'
|
|
@@ -88,7 +88,7 @@ const Fields = ref()
|
|
|
88
88
|
const downloadUrl = ref('')
|
|
89
89
|
|
|
90
90
|
onDeactivated(() => {
|
|
91
|
-
|
|
91
|
+
downloadUrl.value = ''
|
|
92
92
|
})
|
|
93
93
|
|
|
94
94
|
searchComplate()
|
|
@@ -178,11 +178,15 @@ function searchHandler(field) {
|
|
|
178
178
|
//组件数据验证
|
|
179
179
|
function validExcute() {
|
|
180
180
|
var rtnBool = true;
|
|
181
|
+
var i = 0;
|
|
181
182
|
if (Fields.value) {
|
|
182
183
|
Fields.value.forEach((f) => {
|
|
183
184
|
if (f.model && typeof f.model.validExcute !== 'undefined') {
|
|
184
185
|
if (!f.model.validExcute()) {
|
|
185
|
-
|
|
186
|
+
if (i === 0) {
|
|
187
|
+
common.message(f.model.displayValidMessage)
|
|
188
|
+
}
|
|
189
|
+
i++
|
|
186
190
|
rtnBool = false;
|
|
187
191
|
}
|
|
188
192
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<ct-field :vmodel="model">
|
|
3
3
|
<template #Control>
|
|
4
4
|
<span class="eyelabel">{{ showLable == true ? model.code1 : model.name1 }}</span>
|
|
5
|
-
<el-icon size="16" v-if="model.name1" @click="onSensitiveEye()" style="margin-top:
|
|
5
|
+
<el-icon size="16" v-if="model.name1" @click="onSensitiveEye()" style="margin-top: 5px;">
|
|
6
6
|
<View v-if="showLable" />
|
|
7
7
|
<Hide v-else />
|
|
8
8
|
</el-icon>
|
|
@@ -57,6 +57,7 @@ defineExpose({
|
|
|
57
57
|
</script>
|
|
58
58
|
<style scoped>
|
|
59
59
|
.eyelabel {
|
|
60
|
-
|
|
60
|
+
min-width: 80px;
|
|
61
|
+
line-height: 26px;
|
|
61
62
|
}
|
|
62
63
|
</style>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<ct-field :vmodel="model">
|
|
3
3
|
<template #Control>
|
|
4
4
|
<div v-if="model.controlType === Enum.ControlType.MultiLineText" style="width: 100%;">
|
|
5
|
-
<el-input :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="change()"
|
|
5
|
+
<el-input :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="input()" @change="change()"
|
|
6
6
|
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly"
|
|
7
7
|
:show-password="model.inputType == 'password'" autocomplete="on" :maxlength="model.maxValue1"
|
|
8
8
|
:show-word-limit="model.showWordLimit" clearable @keyup.enter.native="search()" class="fieldControl">
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</el-input>
|
|
13
13
|
<span v-if="model.sufLabel1" class="sufLabel" v-html="model.sufLabel1"></span>
|
|
14
14
|
</div>
|
|
15
|
-
<el-input v-else :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="change()"
|
|
15
|
+
<el-input v-else :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="input()" @change="change()"
|
|
16
16
|
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly"
|
|
17
17
|
:show-password="model.inputType == 'password'" autocomplete="on" :maxlength="model.maxValue1"
|
|
18
18
|
:show-word-limit="model.showWordLimit" clearable @keyup.enter.native="search()" class="fieldControl">
|
|
@@ -51,10 +51,16 @@ function search() {
|
|
|
51
51
|
emit('search');
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
function input() {
|
|
55
|
+
if(model.value.controlType===Enum.ControlType.MultiLineText || model.value.controlType===Enum.ControlType.TextBox){
|
|
56
|
+
}
|
|
57
|
+
else{
|
|
58
|
+
change();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
55
61
|
function change() {
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
changeHandler(model.value, emit);
|
|
63
|
+
if (props.from == 'tree') { emit('search'); }
|
|
58
64
|
}
|
|
59
65
|
//弹出选择列表
|
|
60
66
|
function popupSearchListHandle() {
|
package/src/loader/src/Button.js
CHANGED
|
@@ -7,15 +7,15 @@ const Button = function (source) {
|
|
|
7
7
|
let rtn = {
|
|
8
8
|
icon: '',
|
|
9
9
|
get bgColor() {
|
|
10
|
-
if (source.controlType == Enum.ControlType.ButtonReset) {
|
|
11
|
-
|
|
12
|
-
}
|
|
10
|
+
// if (source.controlType == Enum.ControlType.ButtonReset) {
|
|
11
|
+
// return '#519DA6'
|
|
12
|
+
// }
|
|
13
13
|
return source.bgColor
|
|
14
14
|
},
|
|
15
15
|
get borderColor() {
|
|
16
|
-
if (source.controlType == Enum.ControlType.ButtonReset) {
|
|
17
|
-
|
|
18
|
-
}
|
|
16
|
+
// if (source.controlType == Enum.ControlType.ButtonReset) {
|
|
17
|
+
// return '#519DA6'
|
|
18
|
+
// }
|
|
19
19
|
return source.borderColor
|
|
20
20
|
},
|
|
21
21
|
get action() {
|
|
@@ -135,16 +135,16 @@ function loadSearchScreenModel(source, prevParam) {
|
|
|
135
135
|
var advIndex = rtn.sourceFieldsArr.findIndex((v) => {
|
|
136
136
|
return v.controlType === Enum.ControlType.ButtonAdvancedSearch;
|
|
137
137
|
});
|
|
138
|
-
if (advIndex === -1) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
if (advIndex === -1) {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
138
|
+
// if (advIndex === -1) {
|
|
139
|
+
// advIndex = rtn.sourceFieldsArr.findIndex((v) => {
|
|
140
|
+
// return v.controlType === Enum.ControlType.ButtonReset;
|
|
141
|
+
// });
|
|
142
|
+
// }
|
|
143
|
+
// if (advIndex === -1) {
|
|
144
|
+
// advIndex = rtn.sourceFieldsArr.findIndex((v) => {
|
|
145
|
+
// return v.controlType === Enum.ControlType.ButtonSearch;
|
|
146
|
+
// });
|
|
147
|
+
// }
|
|
148
148
|
var screens = rtn.sourceFieldsArr.filter((v, i) => {
|
|
149
149
|
return (advIndex !== -1 && i > advIndex) && v.controlType !== Enum.ControlType.From;
|
|
150
150
|
});
|
|
@@ -598,6 +598,9 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
|
|
|
598
598
|
get dataDictionary() {
|
|
599
599
|
return rtn._dataDictionary;
|
|
600
600
|
},
|
|
601
|
+
get rowColorColumn() { //行字体颜色列
|
|
602
|
+
return source.content.rowColorColumn;
|
|
603
|
+
},
|
|
601
604
|
//设置行样式
|
|
602
605
|
setRow(rows) {
|
|
603
606
|
rtn.setStyleRow(rows);
|
|
@@ -610,10 +613,10 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
|
|
|
610
613
|
row.rowStyle = "";
|
|
611
614
|
}
|
|
612
615
|
if (rtn.rowColorColumn && row[rtn.rowColorColumn]) {
|
|
613
|
-
|
|
616
|
+
row.rowStyle = row.rowStyle + ";color:" + row[rtn.rowColorColumn] + ";";
|
|
614
617
|
}
|
|
615
618
|
if (row.flagDrag && row.flagDrag == '1') {
|
|
616
|
-
|
|
619
|
+
row.rowStyle = row.rowStyle + "cursor:move;";
|
|
617
620
|
}
|
|
618
621
|
});
|
|
619
622
|
},
|
package/src/main.js
CHANGED
|
@@ -64,7 +64,7 @@ app.use(centaline, {
|
|
|
64
64
|
//authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQBe-ydVay1xvvOl3sJA2HiPIxElSIJBIIcXdAQEfPFK-YZt4Nlm2EChqtDafOYWqpRG6kxLoTxZhUTSRxHLUPH_DHfOmt5SDWt1gHScieHapNiol94q5pXYoNFJAvJ6isGHWmNMYVcBjWtyCr_iW2JZ93-fqPc8f18MwGIqFRCIO1GXmWGYd9npCZJ6N5JjYZ7g8AAAD__w.HgtNKtHWooj8c9Hy_vB8CfKq-qOeHMp0irnW0DfXtHo"}',
|
|
65
65
|
//oldToken: 'd92d4a3b-2274-42e8-96f0-100ffb579b6e',
|
|
66
66
|
//authObject: '{token:"1-a7289bb2-9f1e-4a04-9016-1e555bf39188"}',
|
|
67
|
-
authObject: '{EmpID:"
|
|
67
|
+
authObject: '{EmpID:"Token_052cca91-c75e-45cc-b549-90730d12f6bc",MachineCode:"e1f39b75-7069-4c4f-b5d5-c590da2d9aa2",SSO_Token:"SSOToken_052cca91-c75e-45cc-b549-90730d12f6bc",Platform:"IOS"}',
|
|
68
68
|
};
|
|
69
69
|
},
|
|
70
70
|
// 请求完成事件,可判断是否登录过期执行响应操作
|