centaline-data-driven 1.2.94 → 1.2.97
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/Detail.vue +1 -1
- package/src/centaline/dynamicCompound/src/dynamicCompound.vue +1 -1
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +10 -4
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +1 -1
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildrenFor.vue +1 -1
- package/src/centaline/dynamicLayout/src/dynamicLayoutImage.vue +2 -2
- package/src/centaline/dynamicLayout/src/dynamicLayoutLabel.vue +2 -2
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +5 -0
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +1 -14
- package/src/centaline/loader/src/ctl/CellLayout.js +11 -0
- package/src/centaline/loader/src/ctl/SearchScreen.js +12 -3
- package/src/centaline/loader/src/ctl/lib/Enum.js +4 -0
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +14 -1
- package/src/main.js +2 -2
- package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/src/Detail.vue
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<el-container v-if="model.fields.length > 0">
|
|
3
|
-
<div v-for="(col, index) in model.fields" :key="index" v-if="col.show !== false" :class="index>0&&col.label==''?'complex-left-10':''" :style="{'width':(col.width!='0'?col.width+'px':'100%'),'flex':(col.width!='0'?'0 0 '+col.width+'px':'100%')}">
|
|
3
|
+
<div v-for="(col, index) in model.fields" :key="index" v-if="col.show !== false" :class="index>0&&(col.label==''||col.is=='ct-btn')?'complex-left-10':''" :style="{'width':(col.width!='0'?col.width+'px':'100%'),'flex':(col.width!='0'?'0 0 '+col.width+'px':'100%')}">
|
|
4
4
|
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.OptApi" v-bind="col.bindPara"
|
|
5
5
|
@click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)" @enter="enterHandler(col,$event)"
|
|
6
6
|
@input="inputHandler(col,$event)"></component>
|
|
@@ -24,6 +24,10 @@
|
|
|
24
24
|
{{tag.label}}
|
|
25
25
|
</div>
|
|
26
26
|
</div>
|
|
27
|
+
<div v-if="model.fields1Dic.PropertyDepict" v-html="model.fields1Dic.PropertyDepict.value"
|
|
28
|
+
style="font-weight: bold;font-size: 13px;margin-top: 10px;background: rgb(236, 249, 255);
|
|
29
|
+
flex: 1;align-items: center;padding: 5px;border-radius: 5px;">
|
|
30
|
+
</div>
|
|
27
31
|
</div>
|
|
28
32
|
<div class="head-but">
|
|
29
33
|
<div>
|
|
@@ -164,9 +168,11 @@
|
|
|
164
168
|
<div class="contribute-i" v-for="(m, index) in model._commissionList" :key="index">
|
|
165
169
|
<img :src="m.regEmpImgUrl" alt="图片">
|
|
166
170
|
<div>
|
|
167
|
-
<div
|
|
168
|
-
|
|
169
|
-
|
|
171
|
+
<div style="display: flex;">
|
|
172
|
+
<div class="user-title" v-html="m.empNameCN"></div>
|
|
173
|
+
<div class="user-title" style="margin-left: 10px;" v-html="m.commissionPercentDesc"></div>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="user-but w56" v-html="m.commissionRoleName"></div>
|
|
170
176
|
</div>
|
|
171
177
|
</div>
|
|
172
178
|
</div>
|
|
@@ -1210,7 +1216,7 @@
|
|
|
1210
1216
|
// align-items: center;
|
|
1211
1217
|
border-bottom: 1px solid #e0e0e0;
|
|
1212
1218
|
.t-item {
|
|
1213
|
-
padding:
|
|
1219
|
+
padding: 5px 16px;
|
|
1214
1220
|
font-size: 14px;
|
|
1215
1221
|
flex: 1;
|
|
1216
1222
|
position: relative;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-container :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
2
|
+
<el-container v-if="model.visibility!='0'" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
3
3
|
<component v-for="(item, index) in model.fields" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
4
4
|
</el-container>
|
|
5
5
|
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-container :direction="model.orientation" :style="model.styleObject">
|
|
2
|
+
<el-container v-if="model.visibility!='0'" :direction="model.orientation" :style="model.styleObject">
|
|
3
3
|
<ct-layoutchildren v-for="(item, index) in model.fields" :key="index" :rowindex="rowindex" :forrowindex="model.forrowindex" :vmodel="item" :forname="model.forname" @click="clickHandler"></ct-layoutchildren>
|
|
4
4
|
</el-container>
|
|
5
5
|
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="model.routerKey">
|
|
2
|
+
<div v-if="model.routerKey&&model.visibility!='0'">
|
|
3
3
|
<div v-if="model.rightRouter&&model.value!=''" :ref="'router'+forname+forrowindex" :style="model.styleObject">
|
|
4
4
|
<el-popover class="Stats-popover" :placement="option.placement?option.placement:'left'"
|
|
5
5
|
v-model="visible" :trigger="option.trigger?option.trigger:''">
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
</el-popover>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
14
|
-
<div v-else-if="model.value!=''" :style="model.styleObject">
|
|
14
|
+
<div v-else-if="model.value!=''&&model.visibility!='0'" :style="model.styleObject">
|
|
15
15
|
<el-image :src="model.value"
|
|
16
16
|
fit="fit"></el-image>
|
|
17
17
|
</div>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="model.routerKey">
|
|
2
|
+
<div v-if="model.routerKey&&model.visibility!='0'">
|
|
3
3
|
<div v-if="model.rightRouter&&model.value!=''" :style="model.styleObject">
|
|
4
4
|
<a href="javascript:void(0);" @click="clickHandler($event)" class="ct-tablecurrencyItem">
|
|
5
5
|
{{model.value}}
|
|
6
6
|
</a>
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
|
-
<div v-else-if="model.value!=''" :style="model.styleObject" v-html="model.value">
|
|
9
|
+
<div v-else-if="model.value!=''&&model.visibility!='0'" :style="model.styleObject" v-html="model.value">
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
12
12
|
|
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
},
|
|
186
186
|
tableLoaded() {
|
|
187
187
|
if(this.$refs.table.model.listData.length>0){
|
|
188
|
+
this.flagSideBarOfData=true;
|
|
188
189
|
this.flagSideBar=this.$refs.table.model.flagSideBar;
|
|
189
190
|
this.flagDefaultDisplaySideBar=this.$refs.table.model.flagDefaultDisplaySideBar;
|
|
190
191
|
|
|
@@ -209,6 +210,10 @@
|
|
|
209
210
|
}
|
|
210
211
|
}
|
|
211
212
|
}
|
|
213
|
+
else{
|
|
214
|
+
this.flagSideBarOfData=false;
|
|
215
|
+
this.searchWidth=0;
|
|
216
|
+
}
|
|
212
217
|
this.$emit('tableLoaded', this.$refs.table.model);
|
|
213
218
|
},
|
|
214
219
|
rowClickHandle() {
|
|
@@ -8,22 +8,8 @@
|
|
|
8
8
|
</template>
|
|
9
9
|
<component v-for="(col, index) in model.btnScreen" :key="index" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
|
|
10
10
|
</div>
|
|
11
|
-
<!--<el-row>
|
|
12
|
-
<el-col v-for="(col, index) in model.screen" :key="index" :span="col.colspan" style="padding:10px" v-if="col.show !== false">
|
|
13
|
-
<component :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
|
|
14
|
-
</el-col>-->
|
|
15
|
-
<!--搜索后面跟的按钮,直接挨个排序-->
|
|
16
|
-
<!--<el-col style="padding:5px" v-if="model.btnScreen && model.btnScreen[0]" :span="model.btnScreen[0].colspan">
|
|
17
|
-
<component v-for="(col, index) in model.btnScreen" :key="index" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
|
|
18
|
-
</el-col>
|
|
19
|
-
</el-row>-->
|
|
20
11
|
<el-popover class="SeachScreenPop max-seachpopper" placement="top" transition="el-zoom-in-top" v-model="highScreen" trigger="click" visible-arrow="false">
|
|
21
12
|
<div style="width:100%">
|
|
22
|
-
<!--<el-row v-if="highScreenRow.length > 0">
|
|
23
|
-
<el-col v-for="(col, index) in highScreenRow" :key="index" :span="col.colspan" style="padding:10px" v-if="col.show !== false">
|
|
24
|
-
<component :is="col.is" :vmodel="col" :api="model.optionApi" :popShow="highScreen" @click="clickHandler(col)"></component>
|
|
25
|
-
</el-col>
|
|
26
|
-
</el-row>-->
|
|
27
13
|
<template v-for="(col, index) in highScreenRow" v-if="col.show !== false">
|
|
28
14
|
<br v-if="col.is === 'ct-linefeed'" />
|
|
29
15
|
<component v-else class="list-field" v-bind="col.listBind" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
|
|
@@ -107,6 +93,7 @@
|
|
|
107
93
|
},
|
|
108
94
|
loadScreen() {
|
|
109
95
|
var self = this;
|
|
96
|
+
console.log(self.model)
|
|
110
97
|
var hasParent = self.model.screen.filter((v) => {
|
|
111
98
|
return typeof v.parentName !== 'undefined';
|
|
112
99
|
});
|
|
@@ -25,6 +25,14 @@ const CellLayout = function (source) {
|
|
|
25
25
|
get orientation() {
|
|
26
26
|
return source.orientation;
|
|
27
27
|
},
|
|
28
|
+
get visibility() {
|
|
29
|
+
if (source.visibility == 'gone' || source.visibility == 'hidden' || source.visibility == 'false' || source.visibility == '0' || source.visibility == '0.0') {
|
|
30
|
+
return '0';
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return source.visibility;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
28
36
|
get placeholder() {
|
|
29
37
|
return source.placeholder;
|
|
30
38
|
},
|
|
@@ -177,6 +185,9 @@ const CellLayout = function (source) {
|
|
|
177
185
|
if (typeof source.weight !== 'undefined') {
|
|
178
186
|
self._styleObject.flex = source.weight;
|
|
179
187
|
}
|
|
188
|
+
if (typeof source.lineHeight !== 'undefined') {
|
|
189
|
+
self._styleObject.lineHeight = source.lineHeight+'px';
|
|
190
|
+
}
|
|
180
191
|
if (typeof source.maxLines !== 'undefined') {
|
|
181
192
|
self._styleObject.WebkitLineClamp = source.maxLines;
|
|
182
193
|
self._styleObject.WebkitBoxOrient = "vertical";
|
|
@@ -68,7 +68,7 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
68
68
|
return v.controlType === Enum.ControlType.ButtonSearch;
|
|
69
69
|
});
|
|
70
70
|
var screens = rtn.sourceFieldsArr.filter((v, i) => {
|
|
71
|
-
return advIndex === -1 || i < advIndex;
|
|
71
|
+
return (advIndex === -1 || i < advIndex) && v.controlType!==Enum.ControlType.From;
|
|
72
72
|
});
|
|
73
73
|
|
|
74
74
|
rtnscreens = this.initScreen(screens);
|
|
@@ -93,7 +93,7 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
93
93
|
|
|
94
94
|
if (buttonSearchIndex > -1) {
|
|
95
95
|
var screens = rtn.sourceFieldsArr.filter((v, i) => {
|
|
96
|
-
return buttonSearchIndex <= i && (buttonAdvancedSearchIndex === -1 || i <= buttonAdvancedSearchIndex);
|
|
96
|
+
return buttonSearchIndex <= i && (buttonAdvancedSearchIndex === -1 || i <= buttonAdvancedSearchIndex) && v.controlType!==Enum.ControlType.From;
|
|
97
97
|
});
|
|
98
98
|
|
|
99
99
|
rtnscreens = this.initScreen(screens);
|
|
@@ -121,7 +121,7 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
123
|
var screens = rtn.sourceFieldsArr.filter((v, i) => {
|
|
124
|
-
return advIndex !== -1 && i > advIndex;
|
|
124
|
+
return (advIndex !== -1 && i > advIndex) && v.controlType!==Enum.ControlType.From;
|
|
125
125
|
});
|
|
126
126
|
rtnscreens = this.initScreen(screens);
|
|
127
127
|
rtnscreens.forEach((v)=>{
|
|
@@ -130,6 +130,15 @@ const SearchScreen = function (source, callBack, screenPara) {
|
|
|
130
130
|
this._highScreen = rtnscreens;
|
|
131
131
|
return rtnscreens;
|
|
132
132
|
},
|
|
133
|
+
get shortcutForm() {
|
|
134
|
+
var screens = rtn.sourceFieldsArr.filter((v, i) => {
|
|
135
|
+
return v.controlType!==Enum.ControlType.From;
|
|
136
|
+
});
|
|
137
|
+
if(screens && screens.length>0){
|
|
138
|
+
return screens[0];
|
|
139
|
+
}
|
|
140
|
+
return null;
|
|
141
|
+
},
|
|
133
142
|
setBtnLoading(loading) {
|
|
134
143
|
this.btnScreen.forEach(btn => {
|
|
135
144
|
btn.disabled = loading;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<div class="alert fade in" role="alert" style="padding:0px;border-bottom:none;display: table-caption;">
|
|
7
7
|
<button type="button" class="close el-icon-close" style="right:0px;float:right;margin-bottom: 5px;cursor: pointer;" data-dismiss="alert" aria-label="Close" @click="clickHandler">
|
|
8
8
|
</button>
|
|
9
|
-
<video :src="rowData[router.submitFormField]" controls="true" autoplay controlslist="nodownload"
|
|
9
|
+
<video ref="video" :src="rowData[router.submitFormField]" controls="true" autoplay controlslist="nodownload" @timeupdate="saveVoiceHistoryHandler"
|
|
10
10
|
:height="router.dialogHeight?router.dialogHeight:'40'" :width="router.dialogWidth?router.dialogWidth:'100%'">您的浏览器不支持 video 标签。
|
|
11
11
|
</video>
|
|
12
12
|
</div>
|
|
@@ -73,6 +73,19 @@
|
|
|
73
73
|
else{
|
|
74
74
|
this.$emit('click', this.router, this.rowData,this.rowindex);
|
|
75
75
|
}
|
|
76
|
+
},
|
|
77
|
+
saveVoiceHistoryHandler() {
|
|
78
|
+
var self=this;
|
|
79
|
+
if(self.router.action && self.visible){
|
|
80
|
+
var submitData = {};
|
|
81
|
+
self.router.actionField.split(',').forEach((k) => {
|
|
82
|
+
submitData[k] = self.rowData[k];
|
|
83
|
+
});
|
|
84
|
+
submitData.listenSeconds=self.$refs.video.currentTime;
|
|
85
|
+
self.router.doAction(submitData, (data) => {
|
|
86
|
+
|
|
87
|
+
})
|
|
88
|
+
}
|
|
76
89
|
}
|
|
77
90
|
}
|
|
78
91
|
}
|
package/src/main.js
CHANGED
|
@@ -14,8 +14,8 @@ Vue.config.productionTip = false;
|
|
|
14
14
|
Vue.use(centaline, {
|
|
15
15
|
baseUrl: "http://10.88.22.46:7070/v1/form/router",
|
|
16
16
|
// baseUrl: "http://10.88.23.22:9999/v1/form/router",
|
|
17
|
-
baseUrl: "http://10.88.22.69:8080/",
|
|
18
|
-
flagRouterSelf: true,
|
|
17
|
+
// baseUrl: "http://10.88.22.69:8080/",
|
|
18
|
+
// flagRouterSelf: true,
|
|
19
19
|
zindex: 999,
|
|
20
20
|
showRequestErrorMessage: true,
|
|
21
21
|
handler: {
|