centaline-data-driven 1.2.1 → 1.2.13
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/webpack.centaline.conf.js +1 -1
- package/package.json +1 -1
- package/src/Detail.vue +1 -1
- package/src/Edit.vue +48 -4
- package/src/Form.vue +6 -22
- package/src/SearchList.vue +2 -4
- package/src/centaline/common/index.js +3 -0
- package/src/centaline/css/common.css +6 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +42 -91
- package/src/centaline/dynamicHyperLink/index.js +1 -1
- package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +1 -1
- package/src/centaline/dynamicPlaceHolder/index.js +1 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +8 -7
- package/src/centaline/dynamicT/src/dynamicT.vue +6 -2
- package/src/centaline/dynamicTree/src/dynamicTreeList.vue +42 -9
- package/src/centaline/loader/src/ctl/Detail.js +49 -18
- package/src/centaline/loader/src/ctl/L.js +21 -23
- package/src/centaline/loader/src/ctl/PlaceHolder.js +2 -2
- package/src/centaline/loader/src/ctl/QuickInputSos.js +127 -0
- package/src/centaline/loader/src/ctl/T.js +0 -4
- package/src/centaline/loader/src/ctl.js +1 -0
- package/src/centaline/quickInput/src/quickInput.vue +2 -2
- package/src/centaline/quickInputSos/src/quickInput.vue +96 -0
- package/src/main.js +5 -12
- package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
- package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache +0 -0
- package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/db.lock +0 -0
- package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/storage.ide +0 -0
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +0 -73
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +0 -29
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +0 -15
- package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.AssemblyInfo.cs +0 -23
- package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.RazorAssemblyInfo.cs +0 -20
- package/obj/project.assets.json +0 -11907
package/package.json
CHANGED
package/src/Detail.vue
CHANGED
package/src/Edit.vue
CHANGED
|
@@ -1,27 +1,71 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app">
|
|
3
|
-
|
|
3
|
+
<viewer :images="pics">
|
|
4
|
+
<img v-for="src in pics" :src="src" :key="src">
|
|
5
|
+
</viewer>
|
|
4
6
|
</div>
|
|
5
7
|
|
|
6
8
|
</template>
|
|
7
9
|
|
|
8
10
|
<script>
|
|
9
11
|
import formListTable from './centaline/dynamicForm/src/dynamicFormListTable'
|
|
12
|
+
import Viewer from 'v-viewer'
|
|
13
|
+
import 'viewerjs/dist/viewer.css'
|
|
14
|
+
import Vue from 'vue'
|
|
15
|
+
Vue.use(Viewer)
|
|
10
16
|
export default {
|
|
11
17
|
name: 'App',
|
|
12
18
|
components: {
|
|
13
|
-
'formListTable': formListTable
|
|
19
|
+
'formListTable': formListTable,
|
|
14
20
|
},
|
|
15
21
|
data() {
|
|
16
22
|
return {
|
|
17
|
-
template: ""
|
|
23
|
+
template: "",
|
|
24
|
+
pics:[
|
|
25
|
+
'https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943',
|
|
26
|
+
'https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943',
|
|
27
|
+
'https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943',
|
|
28
|
+
],
|
|
18
29
|
}
|
|
19
30
|
},
|
|
20
31
|
methods: {
|
|
21
32
|
TestEdit() {
|
|
22
33
|
this.$api.post('http://10.88.22.52:2828//api/values/edit', { content: this.template }, (data) => {
|
|
23
34
|
});
|
|
24
|
-
}
|
|
35
|
+
},
|
|
36
|
+
copyField()
|
|
37
|
+
{
|
|
38
|
+
debugger;
|
|
39
|
+
var self = this;
|
|
40
|
+
var dialogOption = {
|
|
41
|
+
title: "复制控件",
|
|
42
|
+
content: [
|
|
43
|
+
{
|
|
44
|
+
component: "ct-form",
|
|
45
|
+
attrs: {
|
|
46
|
+
showTitle: false,
|
|
47
|
+
api: "/forminfo/readTargetDetail",
|
|
48
|
+
apiParam: {
|
|
49
|
+
formId: "1ae27876-a938-4ea5-aeab-fb2a7b067a2f",
|
|
50
|
+
actionType: 3,
|
|
51
|
+
},
|
|
52
|
+
width: "1300px",
|
|
53
|
+
height: "650px",
|
|
54
|
+
},
|
|
55
|
+
on: {
|
|
56
|
+
submit(ev) {
|
|
57
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
58
|
+
},
|
|
59
|
+
closeDialog() {
|
|
60
|
+
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
self.$common.openDialog(dialogOption);
|
|
67
|
+
|
|
68
|
+
},
|
|
25
69
|
},
|
|
26
70
|
created() {
|
|
27
71
|
//this.$api.get('http://10.88.22.52:2828//api/values/test', null, (data) => {
|
package/src/Form.vue
CHANGED
|
@@ -1,40 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
|
|
3
|
-
|
|
3
|
+
<ct-form :api="'/roomtype/readDetail'" :apiParam="apiParam"></ct-form>
|
|
4
4
|
<!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
|
|
5
5
|
<!--:api="'FormSample/formdata'"-->
|
|
6
6
|
<!--<ct-form :source="formdata.content"></ct-form>-->
|
|
7
7
|
<!--<ct-form :api="'/api/form/formdata/contractDetail'" :apiParam="apiParam"></ct-form>-->
|
|
8
8
|
<!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
|
|
9
|
-
<!-- <ct-form :api="'/forminfo/readDetail'" :apiParam="apiParam"></ct-form> -->
|
|
10
|
-
<!-- <ct-form :api="'PropertyKey/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
|
|
11
|
-
<ct-form :api="'Worklist/getLayoutOfMyApply'" :apiParam="apiParam"></ct-form>
|
|
12
|
-
<!-- <ct-form :api="'/api/distribution/transaction/add'" :apiParam="apiParam"></ct-form> -->
|
|
13
9
|
<ct-dialog-list></ct-dialog-list>
|
|
14
10
|
</div>
|
|
15
11
|
</template>
|
|
16
12
|
|
|
17
13
|
<script>
|
|
18
14
|
export default {
|
|
19
|
-
name: '
|
|
15
|
+
name: 'App',
|
|
20
16
|
data() {
|
|
21
17
|
return {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// apiParam: {chanceID: "1", actionType: 2} ,
|
|
27
|
-
// apiParam: {worklistID: "1494206747714392064", actionType: 2}
|
|
28
|
-
apiParam: {instanceID: "1495923412655280128", actionType: 3}
|
|
29
|
-
// apiParam: {
|
|
30
|
-
// actionType: 2,
|
|
31
|
-
// agentId: "1450283160825425922",
|
|
32
|
-
// estateId: "B6E6B3D8-FDF2-4AF8-91E6-B348D637E993",
|
|
33
|
-
// pageOnly: true,
|
|
34
|
-
// pageStyle: 2,
|
|
35
|
-
// propertyId: "14102015-0736-9265-205A-451687BF7062",
|
|
36
|
-
// relProId: "1475708315466829833",
|
|
37
|
-
// }
|
|
18
|
+
apiParam: {
|
|
19
|
+
actionType: 2,
|
|
20
|
+
jsonData: {searchFields: {fields: []}}
|
|
21
|
+
},
|
|
38
22
|
}
|
|
39
23
|
},
|
|
40
24
|
methods: {
|
package/src/SearchList.vue
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div id="app-search" style="height:100%;position: fixed;">
|
|
3
3
|
<!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<ct-searchlist :searchConditionApi="'/estatemanage/estatlist/getLayoutOfSearch'" :searchDataApi="'/estatemanage/estatlist/getList'"></ct-searchlist>
|
|
6
6
|
<!-- <ct-searchlist :searchConditionApi="'/WorklistList/getLayoutOfSearch'" :searchDataApi="'/WorklistList/getListOfSearchModel'" :searchCategoryApi="'/WorklistList/getLayoutOfSearchCategory'"></ct-searchlist> -->
|
|
7
7
|
|
|
8
8
|
<!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
></ct-searchlist> -->
|
|
13
13
|
|
|
14
14
|
<!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
|
|
15
|
-
<ct-searchlist :searchConditionApi="'/PropertyStatusList/getLayoutOfSearch'" :searchDataApi="'/PropertyStatusList/getListOfSearchModel'" :apiParam="para"></ct-searchlist>
|
|
16
15
|
<ct-dialog-list></ct-dialog-list>
|
|
17
16
|
</div>
|
|
18
17
|
</template>
|
|
@@ -24,8 +23,7 @@
|
|
|
24
23
|
data() {
|
|
25
24
|
return {
|
|
26
25
|
//para: { agentId: "1424932685198864386", estateId: "L201402181627000007233", estateName: "271医院宿舍区", pageOnly: "true", pageTitle: "销控房源列表" }
|
|
27
|
-
|
|
28
|
-
para: {paramKey: "PropertyStatusID", code: "002.001", name: "盘源状态", paramName: "盘源状态"}
|
|
26
|
+
para: {}
|
|
29
27
|
}
|
|
30
28
|
},
|
|
31
29
|
mounted() {
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
:index="index.toString()" :name="index.toString()" :label="col.appName"></el-tab-pane>
|
|
186
186
|
</el-tabs>
|
|
187
187
|
<ct-searchlist v-if="model.searchConditionApiTags1" :key="model.searchlistKey"
|
|
188
|
-
:apiParam="model.paramDataTags1"
|
|
188
|
+
:apiParam="model.paramDataTags1" :flagFocus="false"
|
|
189
189
|
:searchConditionApi="model.searchConditionApiTags1"
|
|
190
190
|
:searchDataApi="model.searchDataApiTags1"></ct-searchlist>
|
|
191
191
|
</div>
|
|
@@ -257,89 +257,16 @@
|
|
|
257
257
|
</el-tab-pane>
|
|
258
258
|
</el-tabs>
|
|
259
259
|
</div>
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
<
|
|
263
|
-
|
|
264
|
-
</div> -->
|
|
265
|
-
<div class="operation-table base-box">
|
|
266
|
-
<div class="table-box">
|
|
267
|
-
<div class="t-item">
|
|
268
|
-
<span class="i">住建委卖委托</span>
|
|
269
|
-
</div>
|
|
270
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
271
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增委托</span></button></div>
|
|
272
|
-
</div>
|
|
273
|
-
<div class="table-box">
|
|
274
|
-
<div class="t-item">
|
|
275
|
-
<span class="i">独家委托</span>
|
|
276
|
-
</div>
|
|
277
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
278
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增委托</span></button></div>
|
|
279
|
-
</div>
|
|
280
|
-
<div class="table-box">
|
|
281
|
-
<div class="t-item">
|
|
282
|
-
<span class="i">普通委托</span>
|
|
283
|
-
</div>
|
|
284
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
285
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增委托</span></button></div>
|
|
286
|
-
</div>
|
|
287
|
-
<div class="table-box">
|
|
288
|
-
<div class="t-item">
|
|
289
|
-
<span class="i">踩盘</span>
|
|
290
|
-
</div>
|
|
291
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
292
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>踩盘</span></button></div>
|
|
293
|
-
</div>
|
|
294
|
-
<div class="table-box">
|
|
295
|
-
<div class="t-item">
|
|
296
|
-
<span class="i">普通实勘</span>
|
|
297
|
-
</div>
|
|
298
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
299
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增实勘</span></button></div>
|
|
300
|
-
</div>
|
|
301
|
-
<div class="table-box">
|
|
302
|
-
<div class="t-item">
|
|
303
|
-
<span class="i">VR实勘</span>
|
|
304
|
-
</div>
|
|
305
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
306
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>VR预约</span></button></div>
|
|
307
|
-
</div>
|
|
308
|
-
<div class="table-box">
|
|
309
|
-
<div class="t-item">
|
|
310
|
-
<span class="i">钥匙</span>
|
|
311
|
-
</div>
|
|
312
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
313
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增钥匙</span></button></div>
|
|
314
|
-
</div>
|
|
315
|
-
<div class="table-box">
|
|
316
|
-
<div class="t-item">
|
|
317
|
-
<span class="i">发布房源</span>
|
|
318
|
-
</div>
|
|
319
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
320
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>发布</span></button></div>
|
|
260
|
+
<div v-if="model.operationList!==null" :key="model.operationKey" class="operation-table base-box">
|
|
261
|
+
<div v-for="(col, index) in model.operationList" :key="index" class="table-box">
|
|
262
|
+
<div class="t-item">
|
|
263
|
+
<span class="i">{{col.operationName}}</span>
|
|
321
264
|
</div>
|
|
322
|
-
<div class="
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
</div>
|
|
326
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
327
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>推荐</span></button></div>
|
|
328
|
-
</div>
|
|
329
|
-
<div class="table-box">
|
|
330
|
-
<div class="t-item">
|
|
331
|
-
<span class="i">总房源</span>
|
|
332
|
-
</div>
|
|
333
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
334
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>推荐</span></button></div>
|
|
335
|
-
</div>
|
|
336
|
-
<div class="table-box">
|
|
337
|
-
<div class="t-item">
|
|
338
|
-
<span class="i">推广资料</span>
|
|
339
|
-
</div>
|
|
340
|
-
<div class="t-item"><span class="i">无委托</span></div>
|
|
341
|
-
<div class="t-item"><button type="button" class="el-button t-but el-button--info max-info"><span>新增</span></button></div>
|
|
265
|
+
<div class="t-item"><span class="i">{{col.desc}}</span></div>
|
|
266
|
+
<div class="t-item" style="height: 50px;">
|
|
267
|
+
<component class="el-button t-but el-button--info max-info" v-if="col.router && col.router.show" :is="col.router.is" :vmodel="col.router" :api="model.optionApi" @click="fieldClickHandler(col.router,$event)"></component>
|
|
342
268
|
</div>
|
|
269
|
+
</div>
|
|
343
270
|
</div>
|
|
344
271
|
<div class="customer">
|
|
345
272
|
<div class="customer-title">
|
|
@@ -523,6 +450,7 @@
|
|
|
523
450
|
if(this.model.tags2 && this.model.tags2[0]){
|
|
524
451
|
this.model.getTags2List(0);
|
|
525
452
|
}
|
|
453
|
+
this.loadOperation();
|
|
526
454
|
this.setDetailHeight();
|
|
527
455
|
this.$nextTick(() => {
|
|
528
456
|
window.addEventListener("resize", (ev) => {
|
|
@@ -571,6 +499,12 @@
|
|
|
571
499
|
}
|
|
572
500
|
});
|
|
573
501
|
},
|
|
502
|
+
loadOperation() {
|
|
503
|
+
this.model._operationList=null;
|
|
504
|
+
this.model._operationRouters=[];
|
|
505
|
+
this.model.operationKey=this.model.operationKey+1;
|
|
506
|
+
this.model.getOperationList();
|
|
507
|
+
},
|
|
574
508
|
lookOwner() {
|
|
575
509
|
this.codeOwner = true
|
|
576
510
|
},
|
|
@@ -586,10 +520,9 @@
|
|
|
586
520
|
setDetailHeight() {
|
|
587
521
|
this.$nextTick(() => {
|
|
588
522
|
if (this.$refs.detail && this.$refs.main) {
|
|
589
|
-
var h1 =
|
|
590
|
-
var h2 = this.$refs.
|
|
591
|
-
|
|
592
|
-
let detailHeight = h1 - h3 - 65;
|
|
523
|
+
var h1 = this.$common.getParentPane(this).$el.offsetHeight | 0;
|
|
524
|
+
var h2 = this.$refs.detail.offsetTop | 0;
|
|
525
|
+
let detailHeight = h1 - h2;
|
|
593
526
|
this.model.detailHeight = detailHeight < 40 ? 350 : detailHeight;
|
|
594
527
|
}
|
|
595
528
|
});
|
|
@@ -606,6 +539,7 @@
|
|
|
606
539
|
},
|
|
607
540
|
fieldClickHandler(field) {
|
|
608
541
|
var self = this;
|
|
542
|
+
var callBack=null;
|
|
609
543
|
let submitData={};
|
|
610
544
|
var router = this.model.actionRouters.find((v) => {
|
|
611
545
|
return v.id === field.id;
|
|
@@ -616,9 +550,15 @@
|
|
|
616
550
|
});
|
|
617
551
|
}
|
|
618
552
|
if(router==undefined){
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
}
|
|
553
|
+
if(field.id===this.model.otherTradeActionRouter.id){
|
|
554
|
+
router = this.model.otherTradeActionRouter
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
if(router==undefined){
|
|
558
|
+
router = this.model.operationRouters.find((v) => {
|
|
559
|
+
return v.id === field.id;
|
|
560
|
+
});
|
|
561
|
+
callBack="loadOperation";
|
|
622
562
|
}
|
|
623
563
|
|
|
624
564
|
if(router){
|
|
@@ -634,9 +574,14 @@
|
|
|
634
574
|
}
|
|
635
575
|
}
|
|
636
576
|
|
|
637
|
-
|
|
577
|
+
if(callBack && callBack=='loadOperation'){
|
|
578
|
+
this.routerClickHandler(router,submitData,self.loadOperation);
|
|
579
|
+
}
|
|
580
|
+
else{
|
|
581
|
+
this.routerClickHandler(router,submitData);
|
|
582
|
+
}
|
|
638
583
|
},
|
|
639
|
-
routerClickHandler(field, submitData) {
|
|
584
|
+
routerClickHandler(field, submitData,callBack) {
|
|
640
585
|
var self = this;
|
|
641
586
|
// this.model.scripts.$fd = field.id;
|
|
642
587
|
// this.model.scripts.$result = [];
|
|
@@ -664,6 +609,9 @@
|
|
|
664
609
|
on: {
|
|
665
610
|
submit(ev) {
|
|
666
611
|
self.model.doAction(ev,field);
|
|
612
|
+
if(callBack){
|
|
613
|
+
callBack();
|
|
614
|
+
}
|
|
667
615
|
self.$common.closeDialog(dialogOption.dialog);
|
|
668
616
|
}
|
|
669
617
|
}
|
|
@@ -707,6 +655,9 @@
|
|
|
707
655
|
let query = self.$common.objectToQueryStr(submitData);
|
|
708
656
|
window.open(field.action + query, "_blank");
|
|
709
657
|
}
|
|
658
|
+
else{
|
|
659
|
+
|
|
660
|
+
}
|
|
710
661
|
}
|
|
711
662
|
//执行客户端脚本
|
|
712
663
|
else {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
</span>
|
|
21
21
|
</span>
|
|
22
22
|
|
|
23
|
-
<span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner">{{model.unitName}}</span>
|
|
23
|
+
<span v-if="model.unitName" class="ct-unitname el-input__suffix el-input__suffix-inner" :class="showClear?'unitName-20':'unitName-0'">{{model.unitName}}</span>
|
|
24
24
|
</div>
|
|
25
25
|
<span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
|
|
26
26
|
<transition name="el-fade-in ct-flex-div-span">
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
<div class="ct-tableParent" ref="tableParent" v-bind="model.attrs" v-if="!isLoading"
|
|
20
20
|
:style="{'height':model.tableHeight+'px'}"
|
|
21
|
-
@scroll="scrollHandle($event)" v-focus="
|
|
21
|
+
@scroll="scrollHandle($event)" :v-focus="model.flagFocus"
|
|
22
22
|
@keydown.up="rowKeyDownHandle($event,0)" @keydown.down="rowKeyDownHandle($event,1)"
|
|
23
23
|
tabindex="-1">
|
|
24
24
|
<div class="ct-table-content">
|
|
@@ -157,7 +157,11 @@
|
|
|
157
157
|
props: {
|
|
158
158
|
vmodel: Object,
|
|
159
159
|
api: String,
|
|
160
|
-
searchStatsApi: String
|
|
160
|
+
searchStatsApi: String,
|
|
161
|
+
flagFocus:{
|
|
162
|
+
Boolean,
|
|
163
|
+
default:true
|
|
164
|
+
}
|
|
161
165
|
},
|
|
162
166
|
computed: {
|
|
163
167
|
headAllCheckClass() {
|
|
@@ -211,13 +215,10 @@
|
|
|
211
215
|
},
|
|
212
216
|
methods: {
|
|
213
217
|
rowCheckClass(row) {
|
|
214
|
-
|
|
215
|
-
if(row.$select)
|
|
216
|
-
{
|
|
218
|
+
if(row.$select){
|
|
217
219
|
return 'is-checked';
|
|
218
220
|
}
|
|
219
|
-
|
|
220
|
-
},
|
|
221
|
+
},
|
|
221
222
|
load(data) {
|
|
222
223
|
var self = this;
|
|
223
224
|
self.model = data;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'']" :disabled="model.lock" :rows="model.rows"
|
|
10
10
|
:readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit"
|
|
11
11
|
@keyup.enter.native="search()">
|
|
12
|
-
<span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
|
|
12
|
+
<span slot="suffix" v-if="model.unitName" class="ct-unitname" :class="showClear?'unitName-20':'unitName-0'">{{model.unitName}}</span>
|
|
13
13
|
|
|
14
14
|
<span slot="suffix" class="el-input__suffix el-input--mini" v-if="!model.isPassword&&showClear" :class="model.unitName?'ct-right-10':'ct-right-0'">
|
|
15
15
|
<span class="el-input__suffix-inner ct-close">
|
|
@@ -24,15 +24,19 @@
|
|
|
24
24
|
{{validMessage}}
|
|
25
25
|
</span>
|
|
26
26
|
</transition>
|
|
27
|
-
<
|
|
27
|
+
<ctQuickInputSos v-if="!model.lock && model.paramName" class="ct-flex-div-span" :pn="model.paramName" :action="api" @click="model.value=$event"></ctQuickInputSos>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
30
|
</template>
|
|
31
31
|
<script>
|
|
32
32
|
import dynamicElement from '../../mixins/dynamicElement';
|
|
33
|
+
import ctQuickInputSos from '../../quickInputSos/src/quickInput'
|
|
33
34
|
export default {
|
|
34
35
|
name: 'ct-text',
|
|
35
36
|
mixins: [dynamicElement],
|
|
37
|
+
components: {
|
|
38
|
+
'ctQuickInputSos': ctQuickInputSos,
|
|
39
|
+
},
|
|
36
40
|
props: {
|
|
37
41
|
vmodel: Object
|
|
38
42
|
},
|
|
@@ -4,10 +4,21 @@
|
|
|
4
4
|
<el-aside :width="leftWidth?leftWidth+'px':'15%'" style="background-color:white">
|
|
5
5
|
<ct-searchtree :flagsearch="true" :searchConditionApi="searchConditionApi" :searchDataApi="searchDataApi" @loaded="loaded"></ct-searchtree>
|
|
6
6
|
</el-aside>
|
|
7
|
-
<el-main v-if="
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
<el-main v-if="isShowMain">
|
|
8
|
+
|
|
9
|
+
<template v-if="pageType=='form'">
|
|
10
|
+
<div style="height: calc(100vh - 120px);">
|
|
11
|
+
<div class="ct-form" :style="{'width':(width?width+'px':'auto'),'height':(height?height+'px':'auto')}">
|
|
12
|
+
<ct-form :api="formApi" :api-param="apiParam" :width="width" :height="height"></ct-form>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
<template v-else>
|
|
17
|
+
<div style="height: calc(100vh - 100px);">
|
|
18
|
+
<ct-searchlist :searchConditionApi="searchTableConditionApi" :searchDataApi="searchTableDataApi" :api-param="apiParam"></ct-searchlist>
|
|
19
|
+
</div>
|
|
20
|
+
</template>
|
|
21
|
+
|
|
11
22
|
</el-main>
|
|
12
23
|
</el-container>
|
|
13
24
|
</div>
|
|
@@ -17,12 +28,13 @@
|
|
|
17
28
|
import dynamicElement from '../../mixins/dynamicElement'
|
|
18
29
|
import dynamicSearchTree from './dynamicSearchTree.vue';
|
|
19
30
|
import dynamicSearchList from '../../dynamicSearchList/src/dynamicSearchList.vue';
|
|
31
|
+
import dynamicForm from '../../dynamicForm/src/dynamicForm';
|
|
20
32
|
export default {
|
|
21
33
|
name: 'ct-treelist',
|
|
22
34
|
mixins: [dynamicElement],
|
|
23
35
|
components: {
|
|
24
36
|
'ct-searchtree': dynamicSearchTree,
|
|
25
|
-
'ct-
|
|
37
|
+
'ct-form': dynamicForm,
|
|
26
38
|
},
|
|
27
39
|
props: {
|
|
28
40
|
vmodel: Object,
|
|
@@ -34,25 +46,40 @@
|
|
|
34
46
|
return {
|
|
35
47
|
searchTableConditionApi: "",
|
|
36
48
|
searchTableDataApi: "",
|
|
37
|
-
|
|
49
|
+
formApi: "",
|
|
50
|
+
width: 0,
|
|
51
|
+
height: 0,
|
|
52
|
+
isShowMain: false,
|
|
53
|
+
pageType: 'list',
|
|
38
54
|
apiParam: {}
|
|
39
55
|
};
|
|
40
56
|
},
|
|
41
57
|
methods: {
|
|
42
58
|
loaded(data) {
|
|
43
59
|
var self = this;
|
|
44
|
-
self.
|
|
45
|
-
|
|
60
|
+
self.isShowMain = false;
|
|
61
|
+
self.pageType = "list";
|
|
62
|
+
if (data && data.rowRouter && (JSON.stringify(data.rowRouter) != "{}")) {
|
|
63
|
+
self.formApi = data.rowRouter.getLayout;
|
|
64
|
+
self.pageType = data.rowRouter.pageType != undefined ? data.rowRouter.pageType : "list";
|
|
65
|
+
self.width = parseFloat(data.rowRouter.width != undefined ? data.rowRouter.width : "0");
|
|
66
|
+
self.height = parseFloat(data.rowRouter.height != undefined ? data.rowRouter.height : "0");
|
|
46
67
|
self.searchTableConditionApi = data.rowRouter.getLayoutOfSearch;
|
|
47
68
|
self.searchTableDataApi = data.rowRouter.getList;
|
|
48
69
|
var defaultPara = self.$common.deepClone(data);
|
|
49
70
|
delete defaultPara.rowRouter;
|
|
50
71
|
delete defaultPara.getLayoutOfSearch;
|
|
51
72
|
delete defaultPara.getList;
|
|
73
|
+
delete defaultPara.getLayout;
|
|
74
|
+
delete defaultPara.width;
|
|
75
|
+
delete defaultPara.height;
|
|
52
76
|
|
|
53
77
|
self.apiParam = defaultPara;
|
|
54
78
|
self.$nextTick(() => {
|
|
55
|
-
self.
|
|
79
|
+
if (self.searchTableConditionApi || self.searchTableDataApi || self.formApi) {
|
|
80
|
+
self.isShowMain = true;
|
|
81
|
+
}
|
|
82
|
+
|
|
56
83
|
});
|
|
57
84
|
}
|
|
58
85
|
},
|
|
@@ -72,4 +99,10 @@
|
|
|
72
99
|
#app-Tree .el-main .ct-table-content {
|
|
73
100
|
padding: 0;
|
|
74
101
|
}
|
|
102
|
+
|
|
103
|
+
#app-Tree .el-main ct-form{border: 1px solid #cfcece;
|
|
104
|
+
-webkit-box-shadow: #cfcece 0px 7px 9px 0px!important;
|
|
105
|
+
border-radius: 6px !important;
|
|
106
|
+
margin-top: 14px;}
|
|
107
|
+
|
|
75
108
|
</style>
|