centaline-data-driven 1.2.32 → 1.2.35
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 +2 -2
- package/src/Form.vue +5 -7
- package/src/centaline/css/common.css +1 -0
- package/src/centaline/dynamicDetail/src/dynamicContactList.vue +11 -6
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +19 -34
- package/src/centaline/dynamicForm/src/dynamicForm.vue +19 -5
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +5 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +8 -22
- package/src/centaline/dynamicTags/src/dynamicTags.vue +18 -2
- package/src/centaline/loader/src/ctl/Detail.js +41 -1
- package/src/centaline/loader/src/ctl/Tags.js +22 -1
- package/src/main.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/src/Detail.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div id="appDetail" style="height:100%;
|
|
2
|
+
<div id="appDetail" style="height:100%;">
|
|
3
3
|
<ct-Detail :api="'PropertyRET/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailRET'"></ct-Detail>
|
|
4
4
|
<ct-dialog-list></ct-dialog-list>
|
|
5
5
|
</div>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
name: 'DataDrivendetail',
|
|
11
11
|
data() {
|
|
12
12
|
return {
|
|
13
|
-
apiParam: {actionType: 1,chanceID: "
|
|
13
|
+
apiParam: {actionType: 1,chanceID: "1"} ,
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
mounted() {
|
package/src/Form.vue
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-form" class="data-driven" style="width:100%;height:100%;overflow:auto">
|
|
3
|
-
<ct-form :api="'/api/third-dept-tran/
|
|
4
|
-
|
|
3
|
+
<!-- <ct-form :api="'/api/third-dept-tran/profit-return/applyUI'" :apiParam="apiParam"></ct-form> -->
|
|
4
|
+
<ct-form :api="'/PropertyRET/getLayoutOfNewStepOne'" :apiParam="apiParam"></ct-form>
|
|
5
5
|
<!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
|
|
6
|
-
<!--:api="'FormSample/formdata'"-->
|
|
7
|
-
<!--<ct-form :source="formdata.content"></ct-form>-->
|
|
8
6
|
<!--<ct-form :api="'/api/form/formdata/contractDetail'" :apiParam="apiParam"></ct-form>-->
|
|
9
7
|
<!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
|
|
10
8
|
<ct-dialog-list></ct-dialog-list>
|
|
@@ -16,10 +14,10 @@
|
|
|
16
14
|
name: 'App',
|
|
17
15
|
data() {
|
|
18
16
|
return {
|
|
19
|
-
// apiParam: {
|
|
20
|
-
apiParam: {originalTraId: "1475658732246241281", actionType: 3, pageTitle: "成交报告", pageOnly: true} ,
|
|
17
|
+
// apiParam: {profitReturnId: "1504359257134055426", actionType: 1, pageStyle: 2, pageTitle: "查看返利", pageOnly: true} ,
|
|
21
18
|
// apiParam: {headerParam: {}, urlParam: {contractID: "06cad32e-4d0d-4b6f-bd24-16a28629a550", actionType: "0"}}
|
|
22
|
-
// apiParam: {
|
|
19
|
+
// apiParam: {originalTraId: "1475658732246241281", actionType: 2, chanceID: "1"} ,
|
|
20
|
+
apiParam: {actionType: "2", pageStyle: "2", pageTitle: "新增盘源", pageOnly: "true"},
|
|
23
21
|
}
|
|
24
22
|
},
|
|
25
23
|
methods: {
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
//row.flagRow && row.columnShow===column.id?'ct-td3':null,
|
|
72
72
|
rowBorderLeftColumns.includes(column.id)?'ct-td4':null,
|
|
73
73
|
rowBorderRightColumns.includes(column.id)?'ct-td5':null,
|
|
74
|
+
rowMergedTopColumns.includes(column.id)?'ct-tdTop':null,
|
|
74
75
|
model.rowHiddenKeyData.indexOf(row[model.rowHiddenKey])%2?'ct-tdDouble':'ct-tdSingle',
|
|
75
76
|
selectKey===row[model.rowHiddenKey]?'select':null,
|
|
76
77
|
colIndex === leftShadow?'shadowLeft':null,
|
|
@@ -134,6 +135,7 @@
|
|
|
134
135
|
rowMergedColumns:['contactNameDesc','propertyIdentityTypeID','operation'],
|
|
135
136
|
rowBorderLeftColumns:['contactNameDesc','operation'],
|
|
136
137
|
rowBorderRightColumns:['propertyIdentityTypeID','operation'],
|
|
138
|
+
rowMergedTopColumns:['contactNameDesc','propertyIdentityTypeID'],
|
|
137
139
|
selectKey:'',
|
|
138
140
|
}
|
|
139
141
|
},
|
|
@@ -180,12 +182,12 @@
|
|
|
180
182
|
};
|
|
181
183
|
submitData.para.searchFields=router.getSearchPara();
|
|
182
184
|
submitData.para.searchFields.fields.push({
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
fieldName1: 'flagLookFromButton',
|
|
186
|
+
groupName: 'flagLookFromButton',
|
|
187
|
+
operation: 1,
|
|
188
|
+
searchDataType: 3,
|
|
189
|
+
searchValue1: '1',
|
|
190
|
+
});
|
|
189
191
|
router.doSearch(submitData, (res) => {
|
|
190
192
|
if (res.rtnCode === 200) {
|
|
191
193
|
res.apiRouter=self.apiRouter;
|
|
@@ -544,6 +546,9 @@
|
|
|
544
546
|
.ct-searchtable .ct-tr > .ct-tdDouble {
|
|
545
547
|
background-color: rgb(239 255 239);
|
|
546
548
|
}
|
|
549
|
+
.ct-searchtable .ct-tr > .ct-tdTop {
|
|
550
|
+
vertical-align: top;
|
|
551
|
+
}
|
|
547
552
|
.shadowLeft {
|
|
548
553
|
border-right: 1px solid #e7e8eb;
|
|
549
554
|
box-shadow: 2px 0 3px -1px rgba(0,0,0,0.1);
|
|
@@ -24,8 +24,7 @@
|
|
|
24
24
|
{{tag.label}}
|
|
25
25
|
</div>
|
|
26
26
|
</div>
|
|
27
|
-
</div>
|
|
28
|
-
|
|
27
|
+
</div>
|
|
29
28
|
<div class="head-but">
|
|
30
29
|
<div>
|
|
31
30
|
<component v-if="model.otherTradeActionRouter!==null" v-bind="model.otherTradeActionRouter" class="max-default"
|
|
@@ -56,7 +55,7 @@
|
|
|
56
55
|
</div>
|
|
57
56
|
</div>
|
|
58
57
|
<div ref="detail" class="details-mid y-auto" :style="{'height':model.detailHeight?model.detailHeight+'px':'780px'}">
|
|
59
|
-
<div class="mid-l">
|
|
58
|
+
<div ref="midl" class="mid-l" :style="{'width':model.midlWidth?model.midlWidth+'px':'1200px'}">
|
|
60
59
|
<!-- 图片内容部分 -->
|
|
61
60
|
<div class="hous-info base-box">
|
|
62
61
|
<div class="info-conten">
|
|
@@ -153,38 +152,22 @@
|
|
|
153
152
|
:searchDataApi="model.searchDataApiTags1"></ct-searchlist>
|
|
154
153
|
</div>
|
|
155
154
|
</div>
|
|
156
|
-
<div class="contribute-info base-box">
|
|
155
|
+
<div class="contribute-info base-box" v-if="model._commissionList !==null">
|
|
157
156
|
<div class="title-l">贡献人信息</div>
|
|
158
157
|
<div class="contribute-list">
|
|
159
|
-
<div class="contribute-i">
|
|
160
|
-
<img src="" alt="图片">
|
|
161
|
-
<div
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
</div>
|
|
167
|
-
<div class="contribute-i">
|
|
168
|
-
<img src="" alt="图片">
|
|
169
|
-
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
170
|
-
</div>
|
|
171
|
-
<div class="contribute-i">
|
|
172
|
-
<img src="" alt="图片">
|
|
173
|
-
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
174
|
-
</div>
|
|
175
|
-
<div class="contribute-i">
|
|
176
|
-
<img src="" alt="图片">
|
|
177
|
-
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
178
|
-
</div>
|
|
179
|
-
<div class="contribute-i">
|
|
180
|
-
<img src="" alt="图片">
|
|
181
|
-
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
158
|
+
<div class="contribute-i" v-for="(m, index) in model._commissionList" :key="index">
|
|
159
|
+
<img :src="m.regEmpImgUrl" alt="图片">
|
|
160
|
+
<div>
|
|
161
|
+
<div class="user-title">{{m.regEmpName}}</div>
|
|
162
|
+
<div class="user-title">{{m.commissionPercentDesc}}</div>
|
|
163
|
+
<div class="user-but w56">{{m.commissionRole}}</div>
|
|
164
|
+
</div>
|
|
182
165
|
</div>
|
|
183
166
|
</div>
|
|
184
167
|
</div>
|
|
185
168
|
</div>
|
|
186
169
|
<!-- 右侧委托信息 -->
|
|
187
|
-
<div class="mid-r">
|
|
170
|
+
<div ref="midr" class="mid-r" style="width:420px;">
|
|
188
171
|
<div class="take-info base-box">
|
|
189
172
|
<div>该房源共<span class="red-text">{{model.fields1Dic.LookCustomerCount.value}}</span>位客户看房</div>
|
|
190
173
|
<div>最近7天带看<span class="red-text">{{model.fields1Dic.CustomerLookCount7.value}}</span>次,总带看<span class="red-text">{{model.fields1Dic.CustomerLookCountAll.value}}</span>次。</div>
|
|
@@ -361,6 +344,7 @@
|
|
|
361
344
|
this.model.getTags2List(0);
|
|
362
345
|
}
|
|
363
346
|
this.loadOperation();
|
|
347
|
+
this.loadCommission();
|
|
364
348
|
this.setDetailHeight();
|
|
365
349
|
this.$nextTick(() => {
|
|
366
350
|
window.addEventListener("resize", (ev) => {
|
|
@@ -414,6 +398,9 @@
|
|
|
414
398
|
this.model._operationRouters=[];
|
|
415
399
|
this.model.getOperationList();
|
|
416
400
|
},
|
|
401
|
+
loadCommission() {
|
|
402
|
+
this.model.getCommissionList();
|
|
403
|
+
},
|
|
417
404
|
lookOwner() {
|
|
418
405
|
this.codeOwner = true
|
|
419
406
|
},
|
|
@@ -433,6 +420,10 @@
|
|
|
433
420
|
var h2 = this.$refs.detail.offsetTop | 0;
|
|
434
421
|
let detailHeight = h1 - h2;
|
|
435
422
|
this.model.detailHeight = detailHeight < 40 ? 350 : detailHeight;
|
|
423
|
+
|
|
424
|
+
var w1=this.$refs.detail.clientWidth | 0;
|
|
425
|
+
var w2=this.$refs.midr.clientWidth | 0;
|
|
426
|
+
this.model.midlWidth=w1-w2-10;
|
|
436
427
|
}
|
|
437
428
|
});
|
|
438
429
|
},
|
|
@@ -912,12 +903,6 @@
|
|
|
912
903
|
text-align: center;
|
|
913
904
|
padding: 3px 0;
|
|
914
905
|
}
|
|
915
|
-
// .mero{
|
|
916
|
-
|
|
917
|
-
// vertical-align: 2px;
|
|
918
|
-
// overflow: hidden;
|
|
919
|
-
// margin-left: 5px;
|
|
920
|
-
// }
|
|
921
906
|
.more-colose{
|
|
922
907
|
background: url('../../../assets/mero-colose.png')no-repeat;
|
|
923
908
|
background-size: 100% 100%;
|
|
@@ -6,16 +6,18 @@
|
|
|
6
6
|
<div slot="header" class="clearfix" v-if="typeof model.title !== 'undefined' && model.flagShowTitle">
|
|
7
7
|
<span style="font-weight:bold">{{model.title}}</span>
|
|
8
8
|
</div>
|
|
9
|
+
|
|
9
10
|
<!--头部元素-->
|
|
10
11
|
<el-row v-if="collapseFieldsRow.length > 0">
|
|
11
12
|
<el-col v-for="(col, index) in collapseFieldsRow[0]" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
|
|
12
|
-
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara"
|
|
13
|
+
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :from="'form'"
|
|
13
14
|
@click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)"
|
|
14
15
|
@input="inputHandler(col,$event)"
|
|
15
16
|
@popupSearchList="popupSearchListHandler"
|
|
16
17
|
@tableButtonClick="clickHandler"></component>
|
|
17
18
|
</el-col>
|
|
18
19
|
</el-row>
|
|
20
|
+
|
|
19
21
|
<!--tabs-->
|
|
20
22
|
<el-tabs v-if="model.isHorizontalLayout" v-model="activeName">
|
|
21
23
|
<el-tab-pane :label="item.label" :name="index.toString()"
|
|
@@ -31,6 +33,7 @@
|
|
|
31
33
|
</el-row>
|
|
32
34
|
</el-tab-pane>
|
|
33
35
|
</el-tabs>
|
|
36
|
+
|
|
34
37
|
<!--分组-->
|
|
35
38
|
<el-collapse v-else v-model="collapseActiveNames" @change="collapseHandleChange">
|
|
36
39
|
<el-collapse-item v-for="(item, index) in collapse" v-if="item.show !== false" :key="index" :title="item.label" :name="index" :disabled="item.lock" :class="item.lock?'ct-collapse-item-title':''">
|
|
@@ -40,7 +43,7 @@
|
|
|
40
43
|
</template>
|
|
41
44
|
<el-row>
|
|
42
45
|
<el-col v-for="(col, index) in collapseFieldsRow[index + 1]" :key="index" :span="col.colspan" v-if="col.show !== false" style="padding:5px">
|
|
43
|
-
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara"
|
|
46
|
+
<component ref="Fields" :is="col.is" :vmodel="col" :api="model.optionApi" v-bind="col.bindPara" :from="'form'"
|
|
44
47
|
@click="fieldClickHandler(col,$event)" @change="changeHandler(col,$event)"
|
|
45
48
|
@input="inputHandler(col,$event)"
|
|
46
49
|
@popupSearchList="popupSearchListHandler"
|
|
@@ -49,6 +52,7 @@
|
|
|
49
52
|
</el-row>
|
|
50
53
|
</el-collapse-item>
|
|
51
54
|
</el-collapse>
|
|
55
|
+
|
|
52
56
|
<!--尾部元素-->
|
|
53
57
|
<el-row v-if="independentItem.length > 0" style="margin-top: 20px;">
|
|
54
58
|
<el-col v-for="(col, index) in independentItem" :key="index" v-if="col.show !== false" :span="col.colspan" style="padding:5px">
|
|
@@ -294,6 +298,11 @@
|
|
|
294
298
|
}
|
|
295
299
|
}
|
|
296
300
|
else {
|
|
301
|
+
if(field.flagAttachSearchCondition){
|
|
302
|
+
if (!self.validExcute()){
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
297
306
|
if (typeof field.onClick !== 'undefined') {
|
|
298
307
|
verified = self.$common.excute.call(self.model.scripts, field.onClick);
|
|
299
308
|
}
|
|
@@ -301,9 +310,14 @@
|
|
|
301
310
|
if (!submitData) {
|
|
302
311
|
submitData = {};
|
|
303
312
|
var tempFormData = self.model.getFormObj();
|
|
304
|
-
field.
|
|
305
|
-
submitData
|
|
306
|
-
}
|
|
313
|
+
if(field.flagAttachSearchCondition){
|
|
314
|
+
submitData.jsonData=tempFormData;
|
|
315
|
+
}
|
|
316
|
+
else{
|
|
317
|
+
field.submitFormField.forEach((v) => {
|
|
318
|
+
submitData[v] = tempFormData[v];
|
|
319
|
+
});
|
|
320
|
+
}
|
|
307
321
|
}
|
|
308
322
|
|
|
309
323
|
if (field.isOpenForm) {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
:categoryLoaded="loaded.categoryLoaded" @search="search()"
|
|
12
12
|
@showTitle="showTitleScreenHandler"></ct-searchscreen>
|
|
13
13
|
|
|
14
|
-
<ct-searchtable ref="table" :api="searchDataApi" :searchStatsApi="searchStatsApi"
|
|
14
|
+
<ct-searchtable ref="table" :api="searchDataApi" :searchStatsApi="searchStatsApi" :from="from"
|
|
15
15
|
@toolbarClick="toolbarClickHandler" @refreshParent="refreshParentHandler" :key="reloadKeyTable" @searchComplate="searchComplate()"
|
|
16
16
|
@showTitle="showTitleHandler"></ct-searchtable>
|
|
17
17
|
</div>
|
|
@@ -42,6 +42,10 @@
|
|
|
42
42
|
type: Object,
|
|
43
43
|
default: () => { }
|
|
44
44
|
},
|
|
45
|
+
from: {
|
|
46
|
+
String,
|
|
47
|
+
default:'searchlist'
|
|
48
|
+
},
|
|
45
49
|
},
|
|
46
50
|
created() {
|
|
47
51
|
this.model = this.vmodel;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div style="width:100%;" class="ct-searchtable" ref="searchTable">
|
|
3
|
-
|
|
4
3
|
<ct-tableStats ref="tableStats" class="ct-search-table-list-header"
|
|
5
4
|
v-if="!isLoading&&searchStatsApi"
|
|
6
5
|
:api="searchStatsApi"
|
|
@@ -17,7 +16,7 @@
|
|
|
17
16
|
<div v-loading="operationLoading">
|
|
18
17
|
</div>
|
|
19
18
|
<div class="ct-tableParent" ref="tableParent" v-bind="model.attrs" v-if="!isLoading"
|
|
20
|
-
:style="{'height':model.tableHeight+'px'}"
|
|
19
|
+
:style="{'height':from=='form'?'100%':model.tableHeight+'px'}"
|
|
21
20
|
@scroll="scrollHandle($event)" :v-focus="model.flagFocus"
|
|
22
21
|
@keydown.up="rowKeyDownHandle($event,0)" @keydown.down="rowKeyDownHandle($event,1)"
|
|
23
22
|
tabindex="-1">
|
|
@@ -30,14 +29,12 @@
|
|
|
30
29
|
<th v-if="model.isMulti && columnsIndex === 0" ref="headLeftThs" class="ct-td left-fixation-th checkbox-td" :class="[model.tdClass]">
|
|
31
30
|
<label class="el-checkbox"><span class="el-checkbox__input" :class="model.selectAllType">
|
|
32
31
|
<span class="el-checkbox__inner"></span>
|
|
33
|
-
<!-- <input type="checkbox" aria-hidden="false" class="el-checkbox__original" value=""> -->
|
|
34
32
|
<input type="checkbox" @click="selectAll($event)" v-model="model.selectAll" class="el-checkbox__original checkbox-td-1" aria-hidden="false" />
|
|
35
33
|
</span>
|
|
36
34
|
</label>
|
|
37
|
-
|
|
38
|
-
|
|
39
35
|
</th>
|
|
40
|
-
<th :ref="column.fixed?(column.fixed==='left'?'headLeftThs':'headRightThs'):'headThs'"
|
|
36
|
+
<th :ref="column.fixed?(column.fixed==='left'?'headLeftThs':'headRightThs'):'headThs'"
|
|
37
|
+
v-for="(column,colIndex) in columns" :key="colIndex"
|
|
41
38
|
v-if="column.show" class="ct-td ct-searchtable-th"
|
|
42
39
|
:rowspan="column.rowspan"
|
|
43
40
|
:colspan="column.colspan"
|
|
@@ -50,7 +47,6 @@
|
|
|
50
47
|
typeof column.fixed === 'undefined'?'right-no-fixation-th':null]"
|
|
51
48
|
@mousemove="thMouseMoveHandle($event)" @mousedown="thMouseDownHandle($event,colIndex)"
|
|
52
49
|
v-bind="column.attrs">
|
|
53
|
-
|
|
54
50
|
<span>{{column.name}}</span>
|
|
55
51
|
<span class="caret-wrapper" v-if="column.sort" @click="toSort($event,column);" @contextmenu.prevent="clearSort($event,column);">
|
|
56
52
|
<i class="sort-caret ascending" @click.left="toSort($event,column,'asc')" @contextmenu.prevent="clearSort($event,column);"></i>
|
|
@@ -65,15 +61,6 @@
|
|
|
65
61
|
</thead>
|
|
66
62
|
<!--表体-->
|
|
67
63
|
<tbody>
|
|
68
|
-
<!--这一行仅用于设置未加载数据时的列宽-->
|
|
69
|
-
<!--<tr v-if="model.listData.length === 0" class="ct-tr" style="visibility: hidden;">
|
|
70
|
-
<td v-if="model.isMulti">
|
|
71
|
-
</td>
|
|
72
|
-
<td v-for="(column,colIndex) in model.dataFieldcolumns" class="ct-td" v-if="column.show">
|
|
73
|
-
<div :style="{'width': column.width + 'px'}">
|
|
74
|
-
</div>
|
|
75
|
-
</td>
|
|
76
|
-
</tr>-->
|
|
77
64
|
<!--可视区域的行数据-->
|
|
78
65
|
<tr v-for="(row,rowindex) in model.listData" :key="rowindex"
|
|
79
66
|
v-if="pageRowMin <= rowindex && rowindex <= pageRowMax"
|
|
@@ -83,7 +70,6 @@
|
|
|
83
70
|
<td v-if="model.isMulti" class="ct-td tdFiexd left-fixation checkbox-td" :class="[model.tdClass]" align="center">
|
|
84
71
|
<label v-if="!model.rightMulti || row[model.rightMulti] == 1" class="el-checkbox is-checked"><span class="el-checkbox__input" :class="rowCheckClass(row)">
|
|
85
72
|
<span class="el-checkbox__inner"></span>
|
|
86
|
-
<!-- <input type="checkbox" aria-hidden="false" class="el-checkbox__original" value=""> -->
|
|
87
73
|
<input type="checkbox" v-model="row.$select" @change="selectOne($event)" class="el-checkbox__original checkbox-td-1" />
|
|
88
74
|
</span>
|
|
89
75
|
</label>
|
|
@@ -125,16 +111,12 @@
|
|
|
125
111
|
</component>-->
|
|
126
112
|
</td>
|
|
127
113
|
</tr>
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
114
|
<!--适配滚动条-->
|
|
132
115
|
<tr v-else v-bind:style="{ height: row.$heigth + 'px' }"></tr>
|
|
133
116
|
</tbody>
|
|
134
117
|
</table>
|
|
135
118
|
</div>
|
|
136
119
|
</div>
|
|
137
|
-
|
|
138
120
|
<ct-tabletip ref="listFooter" class="ct-search-table-list-footer" :tip="model.listFooter" v-if="!isLoading"></ct-tabletip>
|
|
139
121
|
<ct-tabletip ref="footer" class="ct-search-table-footer" :tip="model.footer" v-if="!isLoading"></ct-tabletip>
|
|
140
122
|
<div v-if="isLoading && searchLoading" v-loading="isLoading" style="top:30px;">
|
|
@@ -161,7 +143,11 @@
|
|
|
161
143
|
flagFocus:{
|
|
162
144
|
Boolean,
|
|
163
145
|
default:true
|
|
164
|
-
}
|
|
146
|
+
},
|
|
147
|
+
from: {
|
|
148
|
+
String,
|
|
149
|
+
default:'searchlist'
|
|
150
|
+
},
|
|
165
151
|
},
|
|
166
152
|
computed: {
|
|
167
153
|
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
<div ref="cttags" class="el-select__tags" :style="{'max-width':tagsWidth + 'px'}" @click="clickHandle">
|
|
12
12
|
<span>
|
|
13
13
|
<span class="ct-tags-value-label">{{model.valueLabel}}</span>
|
|
14
|
-
<span class="el-tag el-tag--info" :class="[model.attrs.size?'el-tag--'+model.attrs.size:'']" v-for="item in model.value">
|
|
14
|
+
<span class="el-tag el-tag--info" :class="[model.attrs.size?'el-tag--'+model.attrs.size:'']" v-for="(item, index) in model.value" :key="index">
|
|
15
15
|
<span class="el-select__tags-text">{{getOptionText(item)}}</span>
|
|
16
|
-
<i v-if="!model.lock" class="el-tag__close el-icon-close" @click="deleteOption(item,$event)"></i>
|
|
16
|
+
<i v-if="!model.lock && !getOptionLocked(item)" class="el-tag__close el-icon-close" @click="deleteOption(item,$event)"></i>
|
|
17
17
|
</span>
|
|
18
18
|
</span>
|
|
19
19
|
</div>
|
|
@@ -240,6 +240,16 @@
|
|
|
240
240
|
return "";
|
|
241
241
|
}
|
|
242
242
|
},
|
|
243
|
+
getOptionLocked: function (value) {
|
|
244
|
+
var self = this;
|
|
245
|
+
var option = this.globalOptions.find((v) => { return v[self.model.optionAttrs.value] === value });
|
|
246
|
+
if (option) {
|
|
247
|
+
return option[self.model.optionAttrs.locked];
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
return "";
|
|
251
|
+
}
|
|
252
|
+
},
|
|
243
253
|
deleteOption(value, event) {
|
|
244
254
|
var self = this;
|
|
245
255
|
this.model.value.splice(
|
|
@@ -303,7 +313,13 @@
|
|
|
303
313
|
this.$set(this, 'showClear', false);
|
|
304
314
|
},
|
|
305
315
|
clearClickHandle: function (event) {
|
|
316
|
+
var self =this;
|
|
306
317
|
this.model.value.splice(0);
|
|
318
|
+
if(this.model.lockedValue.length>0){
|
|
319
|
+
this.model.lockedValue.forEach((v) => {
|
|
320
|
+
self.model.value.push(v);
|
|
321
|
+
});
|
|
322
|
+
}
|
|
307
323
|
this.resize();
|
|
308
324
|
this.tagsChange();
|
|
309
325
|
this.$emit('input', this.model.value);
|
|
@@ -15,7 +15,9 @@ const Detail = function (source,para ,callBack) {
|
|
|
15
15
|
_actionRouters:null,//页面上的动作行为
|
|
16
16
|
_actionRoutersMoreList:null,//页面上的更多动作行为
|
|
17
17
|
_contactApiRouter:null,//查看联系人
|
|
18
|
+
_commissionApiRouter:null,//查看角色
|
|
18
19
|
detailHeight:750,
|
|
20
|
+
midlWidth:1200,
|
|
19
21
|
activeIndex1:'0',
|
|
20
22
|
activeIndex2:'0',
|
|
21
23
|
searchlistKey:0,
|
|
@@ -27,6 +29,7 @@ const Detail = function (source,para ,callBack) {
|
|
|
27
29
|
_operationApiRouter:null,
|
|
28
30
|
_operationList:null,
|
|
29
31
|
_operationRouters:[],
|
|
32
|
+
_commissionList:null,
|
|
30
33
|
get fields1() {
|
|
31
34
|
return data.fields1;
|
|
32
35
|
},
|
|
@@ -145,7 +148,7 @@ const Detail = function (source,para ,callBack) {
|
|
|
145
148
|
}
|
|
146
149
|
return rtn._contactApiRouter;
|
|
147
150
|
}
|
|
148
|
-
},
|
|
151
|
+
},
|
|
149
152
|
get actionRouters() {
|
|
150
153
|
if (rtn._actionRouters !== null) {
|
|
151
154
|
return rtn._actionRouters;
|
|
@@ -303,6 +306,43 @@ const Detail = function (source,para ,callBack) {
|
|
|
303
306
|
}
|
|
304
307
|
);
|
|
305
308
|
}
|
|
309
|
+
},
|
|
310
|
+
get commissionApiRouter() {
|
|
311
|
+
if (rtn._commissionApiRouter !== null) {
|
|
312
|
+
return rtn._commissionApiRouter;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
if (data.commissionApiRouter) {
|
|
316
|
+
var router = Router(data.commissionApiRouter);
|
|
317
|
+
router.is = "ct-btn";
|
|
318
|
+
router.attrs = { size: "mini" }
|
|
319
|
+
rtn._commissionApiRouter=router;
|
|
320
|
+
}
|
|
321
|
+
return rtn._commissionApiRouter;
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
getCommissionList(){
|
|
325
|
+
if (rtn._commissionList !==null){
|
|
326
|
+
return rtn._commissionList;
|
|
327
|
+
}
|
|
328
|
+
else if(rtn.commissionApiRouter){
|
|
329
|
+
var router=rtn.commissionApiRouter;
|
|
330
|
+
var submitData={
|
|
331
|
+
action: router.action,
|
|
332
|
+
para: {
|
|
333
|
+
searchFields: null,
|
|
334
|
+
pageAttribute: { pageIndex: 1 },
|
|
335
|
+
flagSearch: true
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
submitData.para.searchFields=router.getSearchPara();
|
|
339
|
+
router.doSearch(submitData, (res) => {
|
|
340
|
+
if (res.rtnCode === 200) {
|
|
341
|
+
rtn._commissionList=res.content.rows;
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
return rtn._commissionList;
|
|
306
346
|
},
|
|
307
347
|
doAction(response,field) {
|
|
308
348
|
if (response.responseData) {
|
|
@@ -14,8 +14,10 @@ const Tags = function (source, moreActionRouter) {
|
|
|
14
14
|
label: 'name',
|
|
15
15
|
displayLabel:'displayName',
|
|
16
16
|
actionType: 'actionType',
|
|
17
|
-
flagDeleted: 'flagDeleted'
|
|
17
|
+
flagDeleted: 'flagDeleted',
|
|
18
|
+
locked: 'locked'
|
|
18
19
|
},
|
|
20
|
+
_lockedValue: null,
|
|
19
21
|
_value: null,
|
|
20
22
|
get value() {
|
|
21
23
|
if (this._value !== null) {
|
|
@@ -102,6 +104,11 @@ const Tags = function (source, moreActionRouter) {
|
|
|
102
104
|
//},
|
|
103
105
|
reset() {
|
|
104
106
|
this.value.splice(0);
|
|
107
|
+
if(this.model.lockedValue.length>0){
|
|
108
|
+
this.model.lockedValue.forEach((v) => {
|
|
109
|
+
this.model.value.push(v);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
105
112
|
this.defaultValue.forEach((v1) => {
|
|
106
113
|
this.value.push(v1);
|
|
107
114
|
});
|
|
@@ -183,6 +190,20 @@ const Tags = function (source, moreActionRouter) {
|
|
|
183
190
|
|
|
184
191
|
return null;
|
|
185
192
|
},
|
|
193
|
+
get lockedValue() {
|
|
194
|
+
if (this._lockedValue !== null) {
|
|
195
|
+
return this._lockedValue;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
this._lockedValue = [];
|
|
199
|
+
this.options.forEach((v) => {
|
|
200
|
+
if(v[this.optionAttrs.locked]){
|
|
201
|
+
this._lockedValue.push(v[this.optionAttrs.value]);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
return this._lockedValue;
|
|
205
|
+
}
|
|
206
|
+
},
|
|
186
207
|
};
|
|
187
208
|
rtn = base.copy(Base(source), rtn);
|
|
188
209
|
rtn = base.copy(rtn, valid.Init(rtn));
|
package/src/main.js
CHANGED
|
@@ -36,7 +36,7 @@ Vue.use(centaline, {
|
|
|
36
36
|
// 获取请求头
|
|
37
37
|
getRequestHeaders: function () {
|
|
38
38
|
return {
|
|
39
|
-
oldToken: '
|
|
39
|
+
oldToken: '4195d16c-9b1d-43b2-b6de-ef4a9f2b7d44',
|
|
40
40
|
estateId: '20210729104021C49F04B55C50F6AF58',
|
|
41
41
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
42
42
|
Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjE0NmU5ZjEzLTVjMmYtNGVlMy1hM2U5LWIxM2QyZThjZTBhZSJ9.Gl8K5lbG7t5DyCqouu7Ux7Oh9xuAxqdOXr4JnoHCN-YwC3b2zPO-C2sHbYJUZHYQPa7kTNRmg1xJiwugpVo5Xw',
|