centaline-data-driven 1.2.93 → 1.2.96
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/build/centaline/centaline.path.js +1 -0
- package/package.json +1 -1
- package/src/Detail.vue +1 -1
- package/src/Form.vue +6 -17
- package/src/SearchList.vue +0 -2
- package/src/centaline/browseVideo/index.js +11 -0
- package/src/centaline/browseVideo/src/browseVideo.vue +30 -0
- package/src/centaline/common/index.js +28 -1
- package/src/centaline/dynamicCompound/src/dynamicCompound.vue +1 -1
- package/src/centaline/dynamicContact/src/dynamicContact.vue +3 -0
- package/src/centaline/dynamicDetail/src/dynamicContactList.vue +3 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +20 -2
- package/src/centaline/dynamicDetail/src/dynamicPropertySimpleDetailRET.vue +3 -0
- package/src/centaline/dynamicForm/src/dynamicForm.vue +3 -0
- 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/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +1 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +5 -2
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +5 -0
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +1 -14
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +5 -28
- package/src/centaline/loader/src/ctl/CellLayout.js +11 -0
- package/src/centaline/loader/src/ctl/Form.js +6 -0
- package/src/centaline/loader/src/ctl/SearchScreen.js +12 -3
- package/src/centaline/loader/src/ctl/SearchTable.js +6 -1
- package/src/centaline/loader/src/ctl/lib/Enum.js +4 -0
- 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
|
@@ -44,6 +44,7 @@ const paths = {
|
|
|
44
44
|
"dynamicCompound": "./src/centaline/dynamicCompound/index.js",//复合控件
|
|
45
45
|
"dynamicContact": "./src/centaline/dynamicContact/index.js",//联系人电话
|
|
46
46
|
"dynamicLayout": "./src/centaline/dynamicLayout/index.js",//Layout组件
|
|
47
|
+
"browseVideo": "./src/centaline/browseVideo/index.js",//确认框组件
|
|
47
48
|
},
|
|
48
49
|
"plugs": {
|
|
49
50
|
"api": "./src/centaline/api/index.js",//调用API插件
|
package/package.json
CHANGED
package/src/Detail.vue
CHANGED
package/src/Form.vue
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
|
|
3
3
|
<!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
|
|
4
4
|
<!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
|
|
5
|
-
<ct-form :api="'/
|
|
5
|
+
<ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form>
|
|
6
6
|
<!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
|
|
7
7
|
<ct-dialog-list></ct-dialog-list>
|
|
8
8
|
</div>
|
|
@@ -13,23 +13,12 @@
|
|
|
13
13
|
name: 'App',
|
|
14
14
|
data() {
|
|
15
15
|
return {
|
|
16
|
-
// apiParam: {profitReturnId: "1504359257134055426", actionType: 1, pageStyle: 2, pageTitle: "查看返利", pageOnly: true} ,
|
|
17
|
-
// apiParam: {headerParam: {}, urlParam: {contractID: "06cad32e-4d0d-4b6f-bd24-16a28629a550", actionType: "0"}}
|
|
18
|
-
// apiParam: {originalTraId: "1475658732246241281", actionType: 2, chanceID: "1"} ,
|
|
19
|
-
// apiParam: {originalTraId: "1516290587463507969", actionType: "3", pageStyle: "2", pageTitle: "成交报告",pageOnly: "true"}
|
|
20
16
|
apiParam:{
|
|
21
|
-
actionType:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
groupName: "estateId",
|
|
27
|
-
operation: 2,
|
|
28
|
-
searchDataType: 3,
|
|
29
|
-
searchValue1: "201703020943128D8A8FCF463E4016D6"
|
|
30
|
-
}]
|
|
31
|
-
}
|
|
32
|
-
}
|
|
17
|
+
actionType: 3,
|
|
18
|
+
originalTraId: "1530076554013306882",
|
|
19
|
+
pageOnly: true,
|
|
20
|
+
pageStyle: 2,
|
|
21
|
+
pageTitle: "成交报告",
|
|
33
22
|
}
|
|
34
23
|
}
|
|
35
24
|
},
|
package/src/SearchList.vue
CHANGED
|
@@ -13,8 +13,6 @@
|
|
|
13
13
|
:searchStatsApi="'/exampleList/getListStats'"
|
|
14
14
|
></ct-searchlist>
|
|
15
15
|
|
|
16
|
-
<!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
|
|
17
|
-
<!-- <ct-searchlist :searchConditionApi="'/PropertyStatusList/getLayoutOfSearch'" :searchDataApi="'/PropertyStatusList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
|
|
18
16
|
<ct-dialog-list></ct-dialog-list>
|
|
19
17
|
</div>
|
|
20
18
|
</template>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import browseVideo from './src/browseVideo'
|
|
2
|
+
|
|
3
|
+
browseVideo.install = function (Vue) {
|
|
4
|
+
Vue.component(browseVideo.name, browseVideo);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
8
|
+
window.Vue.use(browseVideo);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default browseVideo;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div class="alert fade in" role="alert" style="padding:0px;border-bottom:none;display: table-caption;margin-left: 5px;">
|
|
4
|
+
<video :src="submitData[router.submitFormField]" controls="true" autoplay controlslist="nodownload"
|
|
5
|
+
:height="router.dialogHeight?router.dialogHeight-10:'40'" :width="router.dialogWidth?router.dialogWidth-10:'100%'">您的浏览器不支持 video 标签。
|
|
6
|
+
</video>
|
|
7
|
+
</div>
|
|
8
|
+
</div>
|
|
9
|
+
</template>
|
|
10
|
+
<script>
|
|
11
|
+
export default {
|
|
12
|
+
name: 'ct-video',
|
|
13
|
+
props: {
|
|
14
|
+
router: Object,
|
|
15
|
+
submitData: Object,
|
|
16
|
+
},
|
|
17
|
+
data() {
|
|
18
|
+
return {
|
|
19
|
+
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
methods: {
|
|
23
|
+
clickHandler(ev, v) {
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
28
|
+
<style scoped>
|
|
29
|
+
|
|
30
|
+
</style>
|
|
@@ -215,7 +215,10 @@ const common = {
|
|
|
215
215
|
*/
|
|
216
216
|
closeDialog(vmodel) {
|
|
217
217
|
if (vmodel) {
|
|
218
|
-
if (vmodel.name === 'ct-comfirm'
|
|
218
|
+
if (vmodel.name === 'ct-comfirm'
|
|
219
|
+
|| vmodel.$options.name === 'ctDialog'
|
|
220
|
+
|| vmodel.$options.name === 'ct-dialog'
|
|
221
|
+
|| vmodel.$options.name === 'ct-video') {
|
|
219
222
|
this.dialogList.deleteDialog(vmodel);
|
|
220
223
|
return;
|
|
221
224
|
}
|
|
@@ -269,6 +272,30 @@ const common = {
|
|
|
269
272
|
|
|
270
273
|
},
|
|
271
274
|
|
|
275
|
+
browseVideo(router, submitData) {
|
|
276
|
+
let self = this;
|
|
277
|
+
|
|
278
|
+
return new Promise((resolve, reject) => {
|
|
279
|
+
var dialogOption = {
|
|
280
|
+
title: router.pageTitle,
|
|
281
|
+
name: 'ct-video',
|
|
282
|
+
vmodel: {},
|
|
283
|
+
content: [{
|
|
284
|
+
component: 'ct-video',
|
|
285
|
+
attrs: {
|
|
286
|
+
router: router,
|
|
287
|
+
submitData: submitData,
|
|
288
|
+
width: router.dialogWidth + 'px',
|
|
289
|
+
height: router.dialogHeight + 'px'
|
|
290
|
+
},
|
|
291
|
+
on: {
|
|
292
|
+
}
|
|
293
|
+
}]
|
|
294
|
+
};
|
|
295
|
+
this.openDialog(dialogOption);
|
|
296
|
+
})
|
|
297
|
+
},
|
|
298
|
+
|
|
272
299
|
/**
|
|
273
300
|
* @method
|
|
274
301
|
* @param {Object} evControl 指定Vue对象
|
|
@@ -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>
|
|
@@ -261,6 +261,9 @@
|
|
|
261
261
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
262
262
|
window.open(submitData[field.submitFormField], "_blank");
|
|
263
263
|
}
|
|
264
|
+
else if (field.isSeeVoice) {//看视频
|
|
265
|
+
self.$common.browseVideo(field,submitData)
|
|
266
|
+
}
|
|
264
267
|
else{
|
|
265
268
|
field.doAction(submitData, (data) => {
|
|
266
269
|
self.model.doAction(data,field);
|
|
@@ -402,6 +402,9 @@
|
|
|
402
402
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
403
403
|
window.open(submitData[field.submitFormField], "_blank");
|
|
404
404
|
}
|
|
405
|
+
else if (field.isSeeVoice) {//看视频
|
|
406
|
+
self.$common.browseVideo(field,submitData)
|
|
407
|
+
}
|
|
405
408
|
else{
|
|
406
409
|
field.doAction(submitData, (data) => {
|
|
407
410
|
self.model.doAction(data,field);
|
|
@@ -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=" color: rgb(25, 137, 250);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>
|
|
@@ -217,7 +221,18 @@
|
|
|
217
221
|
</div>
|
|
218
222
|
</div>
|
|
219
223
|
<div v-else class="el-tabs__content" :key="model.tags2Key">
|
|
220
|
-
<div v-
|
|
224
|
+
<div v-if="col.list" role="tabpanel" aria-labelledby="tab-first" class="el-tab-pane">
|
|
225
|
+
<div v-for="(info, i) in col.list" :key="i" class="tab-conten">
|
|
226
|
+
<img :src="info.dutyEmpUrl">
|
|
227
|
+
<div class="user-name" style="display: block;padding-top: 5px;">
|
|
228
|
+
<div style="display: flex;">
|
|
229
|
+
<div class="text">{{info.dutyEmpName}}</div>
|
|
230
|
+
<span class="user-but">{{info.dutyDeptName}}</span>
|
|
231
|
+
</div>
|
|
232
|
+
<div class="text">{{info.mobileNo}}</div>
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
</div>
|
|
221
236
|
</div>
|
|
222
237
|
</el-tab-pane>
|
|
223
238
|
</el-tabs>
|
|
@@ -587,6 +602,9 @@
|
|
|
587
602
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
588
603
|
window.open(submitData[field.submitFormField], "_blank");
|
|
589
604
|
}
|
|
605
|
+
else if (field.isSeeVoice) {//看视频
|
|
606
|
+
self.$common.browseVideo(field,submitData)
|
|
607
|
+
}
|
|
590
608
|
else{
|
|
591
609
|
field.doAction(submitData, (data) => {
|
|
592
610
|
self.model.doAction(data,field);
|
|
@@ -1196,7 +1214,7 @@
|
|
|
1196
1214
|
// align-items: center;
|
|
1197
1215
|
border-bottom: 1px solid #e0e0e0;
|
|
1198
1216
|
.t-item {
|
|
1199
|
-
padding:
|
|
1217
|
+
padding: 5px 16px;
|
|
1200
1218
|
font-size: 14px;
|
|
1201
1219
|
flex: 1;
|
|
1202
1220
|
position: relative;
|
|
@@ -401,6 +401,9 @@
|
|
|
401
401
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
402
402
|
window.open(submitData[field.submitFormField], "_blank");
|
|
403
403
|
}
|
|
404
|
+
else if (field.isSeeVoice) {//看视频
|
|
405
|
+
self.$common.browseVideo(field,submitData)
|
|
406
|
+
}
|
|
404
407
|
else{
|
|
405
408
|
field.doAction(submitData, (data) => {
|
|
406
409
|
self.model.doAction(data,field);
|
|
@@ -402,6 +402,9 @@
|
|
|
402
402
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
403
403
|
window.open(submitData[field.submitFormField], "_blank");
|
|
404
404
|
}
|
|
405
|
+
else if (field.isSeeVoice) {//看视频
|
|
406
|
+
self.$common.browseVideo(field,submitData)
|
|
407
|
+
}
|
|
405
408
|
else if (field.isExport) {
|
|
406
409
|
submitData = field.getActionPara(submitData).para;
|
|
407
410
|
self.model.export(field, submitData);
|
|
@@ -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
|
|
|
@@ -182,9 +182,10 @@
|
|
|
182
182
|
c.width = (c.maxLen + 2) * 6;
|
|
183
183
|
});
|
|
184
184
|
},
|
|
185
|
-
searchComplate(searchModel) {
|
|
185
|
+
searchComplate(searchModel,flagSearch) {
|
|
186
186
|
var self = this;
|
|
187
187
|
this.loading = true;
|
|
188
|
+
if(flagSearch==undefined)flagSearch=true;
|
|
188
189
|
this.$nextTick(function () {
|
|
189
190
|
if (typeof self.api !== 'undefined' && typeof searchModel !== 'undefined') {
|
|
190
191
|
var postData;
|
|
@@ -205,7 +206,9 @@
|
|
|
205
206
|
}
|
|
206
207
|
postData.fields.push(retains);
|
|
207
208
|
}
|
|
208
|
-
self.loaderObj.SearchTable(self.api, self.load, searchModel,
|
|
209
|
+
self.loaderObj.SearchTable(self.api, self.load, searchModel, flagSearch, postData,function(){
|
|
210
|
+
self.loading = false;
|
|
211
|
+
});
|
|
209
212
|
}
|
|
210
213
|
if (typeof self.source !== 'undefined') {
|
|
211
214
|
self.load(self.loaderObj.SearchTable(self.source));
|
|
@@ -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
|
});
|
|
@@ -757,34 +757,8 @@
|
|
|
757
757
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
758
758
|
window.open(submitData[field.submitFormField], "_blank");
|
|
759
759
|
}
|
|
760
|
-
else if (field.isSeeVoice
|
|
761
|
-
|
|
762
|
-
title: field.pageTitle,
|
|
763
|
-
pane: self.$common.getParentPane(self),
|
|
764
|
-
content: [{
|
|
765
|
-
component: 'ct-form',
|
|
766
|
-
attrs: {
|
|
767
|
-
//ssource: data.content,
|
|
768
|
-
api: field.action,
|
|
769
|
-
apiParam: field.getActionPara(submitData).para,
|
|
770
|
-
showTitle: false,
|
|
771
|
-
width: field.dialogWidth + 'px',
|
|
772
|
-
height: field.dialogHeight + 'px'
|
|
773
|
-
},
|
|
774
|
-
on: {
|
|
775
|
-
submit(ev) {
|
|
776
|
-
self.model.updateFields(ev, () => {
|
|
777
|
-
self.$refs.Fields.forEach((fd) => {
|
|
778
|
-
fd.$forceUpdate();
|
|
779
|
-
});
|
|
780
|
-
});
|
|
781
|
-
self.$common.closeDialog(dialogOption.dialog);
|
|
782
|
-
}
|
|
783
|
-
}
|
|
784
|
-
}]
|
|
785
|
-
};
|
|
786
|
-
self.$common.openDialog(dialogOption);
|
|
787
|
-
window.open(submitData[field.submitFormField], "_blank");
|
|
760
|
+
else if (field.isSeeVoice) {//看视频
|
|
761
|
+
self.$common.browseVideo(field,submitData)
|
|
788
762
|
}
|
|
789
763
|
else {
|
|
790
764
|
//self.operationLoading = true;
|
|
@@ -967,6 +941,9 @@
|
|
|
967
941
|
else if (field.isOpenUrlInBrowse) {// 浏览器打开
|
|
968
942
|
window.open(submitData[field.submitFormField], "_blank");
|
|
969
943
|
}
|
|
944
|
+
else if (field.isSeeVoice) {//看视频
|
|
945
|
+
self.$common.browseVideo(field,submitData)
|
|
946
|
+
}
|
|
970
947
|
else {
|
|
971
948
|
//self.operationLoading = true;
|
|
972
949
|
|
|
@@ -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";
|
|
@@ -13,6 +13,12 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
|
|
|
13
13
|
get source() {
|
|
14
14
|
return source;
|
|
15
15
|
},
|
|
16
|
+
get flagSearch() {
|
|
17
|
+
if(source.flagSearch!=undefined){
|
|
18
|
+
return source.flagSearch;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
},
|
|
16
22
|
get title() {
|
|
17
23
|
return source.title;
|
|
18
24
|
},
|
|
@@ -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;
|
|
@@ -4,7 +4,7 @@ import Router from './Router';
|
|
|
4
4
|
import Vue from 'vue';
|
|
5
5
|
import Enum from './lib/Enum';
|
|
6
6
|
import formData from '../../../formData';
|
|
7
|
-
const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSearchData) {
|
|
7
|
+
const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSearchData,postThenHandler) {
|
|
8
8
|
var init = function (source) {
|
|
9
9
|
var rtn = {
|
|
10
10
|
$vue: null,
|
|
@@ -890,6 +890,11 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
890
890
|
callBack(rtn);
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
|
+
else{
|
|
894
|
+
if(postThenHandler){
|
|
895
|
+
postThenHandler();
|
|
896
|
+
}
|
|
897
|
+
}
|
|
893
898
|
}
|
|
894
899
|
);
|
|
895
900
|
}
|
package/src/main.js
CHANGED
|
@@ -12,7 +12,7 @@ Vue.use(ElementUI, { size: 'mini'});
|
|
|
12
12
|
// 关闭生产模式下给出的提示
|
|
13
13
|
Vue.config.productionTip = false;
|
|
14
14
|
Vue.use(centaline, {
|
|
15
|
-
baseUrl: "http://10.88.22.
|
|
15
|
+
baseUrl: "http://10.88.22.46:7070/v1/form/router",
|
|
16
16
|
// baseUrl: "http://10.88.23.22:9999/v1/form/router",
|
|
17
17
|
// baseUrl: "http://10.88.22.69:8080/",
|
|
18
18
|
// flagRouterSelf: true,
|
|
@@ -39,7 +39,7 @@ Vue.use(centaline, {
|
|
|
39
39
|
// 获取请求头
|
|
40
40
|
getRequestHeaders: function () {
|
|
41
41
|
return {
|
|
42
|
-
oldToken: '
|
|
42
|
+
oldToken: '059a0de9-385e-49d1-85a7-c04e4c1c0a18',
|
|
43
43
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
44
44
|
EstateInfo: '{"estateId":"201703020943128D8A8FCF463E4016D6","estateName":"%E4%B8%87%E7%A7%91%E4%BA%91%E5%9F%8E"}',
|
|
45
45
|
Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc4N2U5ZDA1LThlMGItNDY0ZS1iMThjLTQzNjEyZWIyZDQ1ZCJ9.1W1c_YwAF9jfjAtOq9twaB6FH4KiySPuZmWIzcLSDxjfJTgXu7fcf4Cu8kyWcRC2bXrzNQoOYsHAR1vfMAQvGA',
|