centaline-data-driven 1.1.69 → 1.1.70
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/Edit.vue +14 -4
- package/src/SearchList.vue +1 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +45 -4
- package/src/centaline/loader/src/ctl/L.js +28 -6
- package/src/centaline/loader/src/ctl/SearchTable.js +44 -0
- package/src/main.js +2 -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/Edit.vue
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app">
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
<viewer :images="pics">
|
|
4
|
+
<img v-for="src in pics" :src="src" :key="src">
|
|
5
|
+
</viewer>
|
|
5
6
|
</div>
|
|
6
7
|
|
|
7
8
|
</template>
|
|
8
9
|
|
|
9
10
|
<script>
|
|
10
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)
|
|
11
16
|
export default {
|
|
12
17
|
name: 'App',
|
|
13
18
|
components: {
|
|
14
|
-
'formListTable': formListTable
|
|
19
|
+
'formListTable': formListTable,
|
|
15
20
|
},
|
|
16
21
|
data() {
|
|
17
22
|
return {
|
|
18
|
-
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
|
+
],
|
|
19
29
|
}
|
|
20
30
|
},
|
|
21
31
|
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
|
-
<ct-searchlist :searchConditionApi="'/
|
|
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'"
|
|
@@ -28,7 +28,14 @@
|
|
|
28
28
|
<thead ref="tableHead">
|
|
29
29
|
<tr class="ct-tr" ref="headTr" v-for="(columns,columnsIndex) in model.columnsArr">
|
|
30
30
|
<th v-if="model.isMulti && columnsIndex === 0" ref="headLeftThs" class="ct-td left-fixation-th checkbox-td" :class="[model.tdClass]">
|
|
31
|
-
<
|
|
31
|
+
<label class="el-checkbox"><span class="el-checkbox__input" :class="headAllCheckClass">
|
|
32
|
+
<span class="el-checkbox__inner"></span>
|
|
33
|
+
<!-- <input type="checkbox" aria-hidden="false" class="el-checkbox__original" value=""> -->
|
|
34
|
+
<input type="checkbox" @click="selectAll($event)" v-model="model.selectAll" class="el-checkbox__original checkbox-td-1" aria-hidden="false" />
|
|
35
|
+
</span>
|
|
36
|
+
</label>
|
|
37
|
+
|
|
38
|
+
|
|
32
39
|
</th>
|
|
33
40
|
<th :ref="column.fixed?(column.fixed==='left'?'headLeftThs':'headRightThs'):'headThs'" v-for="(column,colIndex) in columns"
|
|
34
41
|
v-if="column.show" class="ct-td ct-searchtable-th"
|
|
@@ -74,7 +81,12 @@
|
|
|
74
81
|
class="ct-tr"
|
|
75
82
|
:style="row.$style">
|
|
76
83
|
<td v-if="model.isMulti" class="ct-td tdFiexd left-fixation checkbox-td" :class="[model.tdClass]" align="center">
|
|
77
|
-
<
|
|
84
|
+
<label class="el-checkbox is-checked"><span class="el-checkbox__input" :class="rowCheckClass(row)">
|
|
85
|
+
<span class="el-checkbox__inner"></span>
|
|
86
|
+
<!-- <input type="checkbox" aria-hidden="false" class="el-checkbox__original" value=""> -->
|
|
87
|
+
<input v-if="!model.rightMulti || row[model.rightMulti] == 1" type="checkbox" v-model="row.$select" @change="selectOne($event)" class="el-checkbox__original checkbox-td-1" />
|
|
88
|
+
</span>
|
|
89
|
+
</label>
|
|
78
90
|
</td>
|
|
79
91
|
<td :ref="column.fixed?(column.fixed==='left'?'headLeftTds':'headRightTds'):null"
|
|
80
92
|
v-for="(column,colIndex) in model.dataFieldcolumns"
|
|
@@ -148,6 +160,23 @@
|
|
|
148
160
|
searchStatsApi: String
|
|
149
161
|
},
|
|
150
162
|
computed: {
|
|
163
|
+
headAllCheckClass() {
|
|
164
|
+
|
|
165
|
+
if(this.selectAllType==1)
|
|
166
|
+
{
|
|
167
|
+
return '';
|
|
168
|
+
}
|
|
169
|
+
else if(this.selectAllType==2)
|
|
170
|
+
{
|
|
171
|
+
return 'is-indeterminate';
|
|
172
|
+
}
|
|
173
|
+
else if(this.selectAllType==3)
|
|
174
|
+
{
|
|
175
|
+
return 'is-checked';
|
|
176
|
+
}
|
|
177
|
+
return '';
|
|
178
|
+
},
|
|
179
|
+
|
|
151
180
|
},
|
|
152
181
|
data() {
|
|
153
182
|
return {
|
|
@@ -171,7 +200,8 @@
|
|
|
171
200
|
firstRow: 0,//展示出来可视的第一行号
|
|
172
201
|
pageRowMin: 0,//页面实际的第一行号
|
|
173
202
|
pageRowMax: 100,//页面实际的第后行号
|
|
174
|
-
displayRowNumber: 30
|
|
203
|
+
displayRowNumber: 30,
|
|
204
|
+
selectAllType:1,
|
|
175
205
|
}
|
|
176
206
|
},
|
|
177
207
|
activated() {
|
|
@@ -180,6 +210,14 @@
|
|
|
180
210
|
})
|
|
181
211
|
},
|
|
182
212
|
methods: {
|
|
213
|
+
rowCheckClass(row) {
|
|
214
|
+
|
|
215
|
+
if(row.$select)
|
|
216
|
+
{
|
|
217
|
+
return 'is-checked';
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
},
|
|
183
221
|
load(data) {
|
|
184
222
|
var self = this;
|
|
185
223
|
self.model = data;
|
|
@@ -215,7 +253,7 @@
|
|
|
215
253
|
}
|
|
216
254
|
self.tableComplate = true;
|
|
217
255
|
this.setTableHeight();
|
|
218
|
-
|
|
256
|
+
this.selectAllType=this.model.getSelectAll();
|
|
219
257
|
|
|
220
258
|
this.$nextTick(() => {
|
|
221
259
|
self.loadStats();
|
|
@@ -812,10 +850,13 @@
|
|
|
812
850
|
}
|
|
813
851
|
});
|
|
814
852
|
this.model.setButtonsDisabled();
|
|
853
|
+
this.selectAllType=this.model.getSelectAll();
|
|
815
854
|
this.$forceUpdate();
|
|
816
855
|
},
|
|
817
856
|
selectOne($ev) {
|
|
818
857
|
this.model.setButtonsDisabled();
|
|
858
|
+
this.model.setIsMulti();
|
|
859
|
+
this.selectAllType=this.model.getSelectAll();
|
|
819
860
|
},
|
|
820
861
|
calculatingRowHeight() {
|
|
821
862
|
let self = this;
|
|
@@ -3,12 +3,34 @@ import Base from './Base';
|
|
|
3
3
|
const T = function (source) {
|
|
4
4
|
var rtn = {
|
|
5
5
|
get labelValue() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
var rtn = "";
|
|
7
|
+
var rtn1 = "";
|
|
8
|
+
var rtn2 = "";
|
|
9
|
+
if (source.name1) {
|
|
10
|
+
rtn1 = source.name1;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
if (source.code1) {
|
|
14
|
+
rtn1 = source.code1;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (source.name2) {
|
|
19
|
+
rtn2 = source.name2;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
if (source.code2) {
|
|
23
|
+
rtn2 = source.code2;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (rtn2.trim()) {
|
|
28
|
+
rtn = rtn1 + " ~ " + rtn2;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
rtn = rtn1;
|
|
32
|
+
}
|
|
33
|
+
return rtn;
|
|
12
34
|
}
|
|
13
35
|
};
|
|
14
36
|
rtn = base.copy(Base(source), rtn);
|
|
@@ -267,6 +267,50 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
267
267
|
return [rtn.listData[rtn.selectIndex]];
|
|
268
268
|
}
|
|
269
269
|
},
|
|
270
|
+
setIsMulti() {
|
|
271
|
+
if (rtn.listData.length === 0) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
if (rtn.isMulti) {
|
|
275
|
+
//找出没有被选中的框
|
|
276
|
+
var rtnData = rtn.listData.filter((ro) => {
|
|
277
|
+
return ro.$select === false
|
|
278
|
+
});
|
|
279
|
+
if(!rtnData||rtnData.length>0)
|
|
280
|
+
{
|
|
281
|
+
this.selectAll = false;
|
|
282
|
+
}else
|
|
283
|
+
{
|
|
284
|
+
this.selectAll = true;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
//1.没选中 2.部分选中 3.全选中
|
|
289
|
+
getSelectAll()
|
|
290
|
+
{
|
|
291
|
+
if (rtn.listData.length === 0) {
|
|
292
|
+
return 1;
|
|
293
|
+
}
|
|
294
|
+
if (rtn.isMulti) {
|
|
295
|
+
//找出没有被选中的框
|
|
296
|
+
var rtnData = rtn.listData.filter((ro) => {
|
|
297
|
+
return (ro.$select === false||ro.$select ===undefined)
|
|
298
|
+
});
|
|
299
|
+
if(rtnData.length<=0)//没有找到未选中的复选框
|
|
300
|
+
{
|
|
301
|
+
return 3;
|
|
302
|
+
}
|
|
303
|
+
if(rtnData.length>0&&rtnData.length<rtn.listData.length)//部分选中
|
|
304
|
+
{
|
|
305
|
+
return 2;
|
|
306
|
+
}
|
|
307
|
+
if(rtnData.length>0&&rtnData.length==rtn.listData.length)//没选中
|
|
308
|
+
{
|
|
309
|
+
return 1;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
return 1;
|
|
313
|
+
},
|
|
270
314
|
_buttons: null,
|
|
271
315
|
get buttons() {
|
|
272
316
|
if (rtn._buttons !== null) {
|
package/src/main.js
CHANGED
|
@@ -8,6 +8,7 @@ import App from './App';
|
|
|
8
8
|
import router from './router';
|
|
9
9
|
import centaline from './centaline/index';
|
|
10
10
|
|
|
11
|
+
|
|
11
12
|
Vue.use(ElementUI, { size: 'mini'});
|
|
12
13
|
// 关闭生产模式下给出的提示
|
|
13
14
|
Vue.config.productionTip = false;
|
|
@@ -27,7 +28,7 @@ Vue.use(centaline, {
|
|
|
27
28
|
// 获取请求头
|
|
28
29
|
getRequestHeaders: function () {
|
|
29
30
|
return {
|
|
30
|
-
Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.
|
|
31
|
+
Authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlYmY1ZjczLTExZDItNDJlOS04MTRiLTAwODVjNWUxY2YzZiJ9.2nbFfFzcE46WJLKZxs6-RSYkMeL82IUaBvs_afX7HrHyHEtyq_dR5vl2fj9A_ToPSsRTuc_SMRS6qF31sGA2ow',
|
|
31
32
|
originalRequestURL: 'http://10.88.23.22:9999',
|
|
32
33
|
EstateInfo: '{"estateId":"201509230915485D942241BBA30FF49F","estateName":"A-%E7%88%B1%E7%90%B4%E6%B5%B7B%E7%BB%84"}'
|
|
33
34
|
};
|