centaline-data-driven 1.1.67 → 1.2.0
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 +4 -1
- package/package.json +4 -2
- package/src/Detail.vue +1 -1
- package/src/Form.vue +3 -2
- package/src/centaline/common/index.js +43 -27
- package/src/centaline/css/common.css +8 -0
- package/src/centaline/css/max.css +1 -1
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +176 -46
- package/src/centaline/dynamicFile/src/dynamicFile.vue +1 -1
- package/src/centaline/dynamicForm/src/dynamicForm.vue +0 -1
- package/src/centaline/dynamicL/src/dynamicL.vue +13 -2
- package/src/centaline/dynamicPhotoSelect/index.js +11 -0
- package/src/centaline/dynamicPhotoSelect/src/dynamicPhotoSelect.vue +237 -0
- package/src/centaline/dynamicPhotoSelectList/index.js +11 -0
- package/src/centaline/dynamicPhotoSelectList/src/dynamicPhotoSelectList.vue +171 -0
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +45 -4
- package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +1 -1
- package/src/centaline/dynamicViewer/index.js +11 -0
- package/src/centaline/dynamicViewer/src/dynamicViewer.vue +45 -0
- package/src/centaline/loader/src/ctl/Detail.js +62 -5
- package/src/centaline/loader/src/ctl/L.js +28 -6
- package/src/centaline/loader/src/ctl/PhotoSelect.js +68 -0
- package/src/centaline/loader/src/ctl/PhotoSelectList.js +116 -0
- package/src/centaline/loader/src/ctl/SearchTable.js +42 -0
- package/src/centaline/loader/src/ctl/lib/Enum.js +5 -1
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +19 -0
- package/src/centaline/loader/src/ctl.js +2 -0
- package/wwwroot/static/centaline/centaline-data-driven.js +16 -1
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
|
@@ -37,7 +37,10 @@ const paths = {
|
|
|
37
37
|
"dynamicTree": "./src/centaline/dynamicTree/index.js",//树组件
|
|
38
38
|
"dynamicSensitiveEye": "./src/centaline/dynamicSensitiveEye/index.js",////敏感数据小眼睛控
|
|
39
39
|
"dynamicCb": "./src/centaline/dynamicCb/index.js",////复选框
|
|
40
|
-
"progress": "./src/centaline/progress/index.js",//进度条
|
|
40
|
+
"progress": "./src/centaline/progress/index.js",//进度条
|
|
41
|
+
"dynamicPhotoSelect": "./src/centaline/dynamicPhotoSelect/index.js",//图片
|
|
42
|
+
"dynamicPhotoSelectList": "./src/centaline/dynamicPhotoSelectList/index.js",//图片选择列表
|
|
43
|
+
"dynamicViewer": "./src/centaline/dynamicViewer/index.js",//图片选择列表
|
|
41
44
|
},
|
|
42
45
|
"plugs": {
|
|
43
46
|
"api": "./src/centaline/api/index.js",//调用API插件
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "centaline-data-driven",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.00",
|
|
4
4
|
"description": "ccai",
|
|
5
5
|
"author": "hjc <3226136347@qq.com>",
|
|
6
6
|
"private": false,
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
"element-ui": "^2.15.7",
|
|
19
19
|
"sass": "^1.34.0",
|
|
20
20
|
"save": "^2.4.0",
|
|
21
|
-
"vue": "2.5.17"
|
|
21
|
+
"vue": "2.5.17",
|
|
22
|
+
"v-viewer": "^1.6.4",
|
|
23
|
+
"vuedraggable": "^2.24.3"
|
|
22
24
|
},
|
|
23
25
|
"peerDependencies": {
|
|
24
26
|
"element-ui": "^2.15.7",
|
package/src/Detail.vue
CHANGED
package/src/Form.vue
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<!--<ct-form :api="'api/Form/formdata'"></ct-form>-->
|
|
9
9
|
<!-- <ct-form :api="'/forminfo/readDetail'" :apiParam="apiParam"></ct-form> -->
|
|
10
10
|
<!-- <ct-form :api="'PropertyKey/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
|
|
11
|
-
<ct-form :api="'Worklist/
|
|
11
|
+
<ct-form :api="'Worklist/getLayoutOfMyApply'" :apiParam="apiParam"></ct-form>
|
|
12
12
|
<!-- <ct-form :api="'/api/distribution/transaction/add'" :apiParam="apiParam"></ct-form> -->
|
|
13
13
|
<ct-dialog-list></ct-dialog-list>
|
|
14
14
|
</div>
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
// apiParam: {SN: "13557_132", UserID: "wuhan3"},
|
|
25
25
|
// apiParam: {actionType: 3,formId: "2c12649f-09c5-4aa9-8011-b6d1c7b56a41"} ,
|
|
26
26
|
// apiParam: {chanceID: "1", actionType: 2} ,
|
|
27
|
-
apiParam: {worklistID: "1494206747714392064", actionType: 2}
|
|
27
|
+
// apiParam: {worklistID: "1494206747714392064", actionType: 2}
|
|
28
|
+
apiParam: {instanceID: "1495923412655280128", actionType: 3}
|
|
28
29
|
// apiParam: {
|
|
29
30
|
// actionType: 2,
|
|
30
31
|
// agentId: "1450283160825425922",
|
|
@@ -60,6 +60,23 @@ const common = {
|
|
|
60
60
|
}
|
|
61
61
|
return rtn;
|
|
62
62
|
},
|
|
63
|
+
/**
|
|
64
|
+
* @method
|
|
65
|
+
* @param {Object}去重数组
|
|
66
|
+
* @desc 将数组去重并合并
|
|
67
|
+
* @returns {Object} 去重合并的对像
|
|
68
|
+
*/
|
|
69
|
+
MergeArray() {
|
|
70
|
+
var _arr = new Array();
|
|
71
|
+
var _arr1 = new Array();
|
|
72
|
+
for (x in arguments) {
|
|
73
|
+
_arr1.concat(arguments[x]);
|
|
74
|
+
}
|
|
75
|
+
for (var i = 0; i < _arr1.length; i++) {
|
|
76
|
+
if (_arr.indexOf(array[i]) == -1) _arr.push(array[i]);
|
|
77
|
+
}
|
|
78
|
+
return _arr;
|
|
79
|
+
},
|
|
63
80
|
|
|
64
81
|
/**
|
|
65
82
|
* @method
|
|
@@ -105,7 +122,7 @@ const common = {
|
|
|
105
122
|
else if (Object.prototype.toString.call(obj) === '[object Array]') {
|
|
106
123
|
rtn = [];
|
|
107
124
|
for (var keyArray in obj) {
|
|
108
|
-
rtn.push(this.CloneCode(obj[keyArray],sourceHistory, cloneHistory));
|
|
125
|
+
rtn.push(this.CloneCode(obj[keyArray], sourceHistory, cloneHistory));
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
128
|
}
|
|
@@ -188,7 +205,7 @@ const common = {
|
|
|
188
205
|
* @desc 打开弹窗
|
|
189
206
|
*/
|
|
190
207
|
openDialog(vmodel) {
|
|
191
|
-
|
|
208
|
+
|
|
192
209
|
//this.dialogList.List.push(vmodel);
|
|
193
210
|
this.dialogList.addDialog(vmodel);
|
|
194
211
|
},
|
|
@@ -199,7 +216,7 @@ const common = {
|
|
|
199
216
|
* @desc 关闭指定弹窗
|
|
200
217
|
*/
|
|
201
218
|
closeDialog(vmodel) {
|
|
202
|
-
|
|
219
|
+
|
|
203
220
|
if (vmodel) {
|
|
204
221
|
if (vmodel.name === 'ct-comfirm' || vmodel.$options.name === 'ctDialog' || vmodel.$options.name === 'ct-dialog') {
|
|
205
222
|
//vmodel.dialogTableVisible = false;
|
|
@@ -215,36 +232,35 @@ const common = {
|
|
|
215
232
|
}
|
|
216
233
|
},
|
|
217
234
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
235
|
+
/**
|
|
236
|
+
* @method
|
|
237
|
+
* @param {Object} message 提示信息
|
|
238
|
+
* @param {Object} title 提示框标题
|
|
239
|
+
* @param {Object} options 参数 如confirmButtonText,cancelButtonText
|
|
240
|
+
* @desc 确认框
|
|
241
|
+
*/
|
|
225
242
|
confirm(message, title, options) {
|
|
226
243
|
let self = this;
|
|
227
|
-
|
|
228
|
-
return new Promise((resolve,reject) => {
|
|
244
|
+
|
|
245
|
+
return new Promise((resolve, reject) => {
|
|
229
246
|
var dialogOption = {
|
|
230
247
|
title: title,
|
|
231
|
-
name:'ct-comfirm',
|
|
232
|
-
vmodel:{},
|
|
248
|
+
name: 'ct-comfirm',
|
|
249
|
+
vmodel: {},
|
|
233
250
|
content: [{
|
|
234
251
|
component: 'ct-comfirm',
|
|
235
252
|
attrs: {
|
|
236
|
-
options:options,
|
|
237
|
-
text:message,
|
|
253
|
+
options: options,
|
|
254
|
+
text: message,
|
|
238
255
|
width: '400px',
|
|
239
256
|
height: '95px'
|
|
240
257
|
},
|
|
241
258
|
on: {
|
|
242
|
-
access(){
|
|
259
|
+
access() {
|
|
243
260
|
self.closeDialog(dialogOption);
|
|
244
261
|
resolve();
|
|
245
262
|
},
|
|
246
|
-
cancel()
|
|
247
|
-
{
|
|
263
|
+
cancel() {
|
|
248
264
|
self.closeDialog(dialogOption);
|
|
249
265
|
reject()
|
|
250
266
|
},
|
|
@@ -641,7 +657,7 @@ const common = {
|
|
|
641
657
|
* @param {Number} oldValue 不是小数时 替换成这个数
|
|
642
658
|
* @desc 字符串转数字(保留num位小数)。
|
|
643
659
|
*/
|
|
644
|
-
numFloat(value, dc, oldValue){
|
|
660
|
+
numFloat(value, dc, oldValue) {
|
|
645
661
|
//value = value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
|
|
646
662
|
//value = value.replace(/^\./g, ""); //验证第一个字符是数字而不是.
|
|
647
663
|
//value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的.
|
|
@@ -655,8 +671,8 @@ const common = {
|
|
|
655
671
|
if (dc == undefined || dc == "" || dc === "0") {
|
|
656
672
|
reg = /^(\-)?\d*$/;
|
|
657
673
|
}
|
|
658
|
-
else{
|
|
659
|
-
if(dc
|
|
674
|
+
else {
|
|
675
|
+
if (dc === -1) dc = 12;
|
|
660
676
|
reg = new RegExp("^(\\-)?\\d*[.]{0,1}(\\d{1," + dc + "})?$");
|
|
661
677
|
}
|
|
662
678
|
if (value === '' || reg.test(value)) {
|
|
@@ -677,9 +693,9 @@ const common = {
|
|
|
677
693
|
* @param {Number} num 小数点位数
|
|
678
694
|
* @desc 字符串转数字(保留num位小数)。
|
|
679
695
|
*/
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
696
|
+
numToFloat(value, num) {
|
|
697
|
+
if (value && num && num > 0) {
|
|
698
|
+
value = parseFloat(value).toFixed(num);
|
|
683
699
|
}
|
|
684
700
|
return value.toString();
|
|
685
701
|
},
|
|
@@ -691,8 +707,8 @@ const common = {
|
|
|
691
707
|
* @desc 判断是否是图片格式。
|
|
692
708
|
*/
|
|
693
709
|
isAssetTypeAnImage(ext) {
|
|
694
|
-
|
|
695
|
-
|
|
710
|
+
return [
|
|
711
|
+
'png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].
|
|
696
712
|
indexOf(ext.toLowerCase()) !== -1;
|
|
697
713
|
},
|
|
698
714
|
|
|
@@ -577,6 +577,14 @@ html {
|
|
|
577
577
|
position: absolute;
|
|
578
578
|
right: 3px;
|
|
579
579
|
}
|
|
580
|
+
.ct-unitnameLable {
|
|
581
|
+
line-height: 26px;
|
|
582
|
+
}
|
|
583
|
+
.ct-lable {
|
|
584
|
+
height: 26px;
|
|
585
|
+
line-height: 26px;
|
|
586
|
+
padding-left: 15px;
|
|
587
|
+
}
|
|
580
588
|
|
|
581
589
|
/* 滚动条的宽度 */
|
|
582
590
|
/* ::-webkit-scrollbar {
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
.ct-search-list .el-date-editor .el-range-input,.ct-search-list .el-input__inner{
|
|
181
181
|
color: #409eff;
|
|
182
182
|
}
|
|
183
|
-
.ct-so .ct-input_inner,.ct-text .showLabel input{
|
|
183
|
+
.ct-so .ct-input_inner,.ct-text .showLabel input,.ct-text .showLabel label{
|
|
184
184
|
color: #409eff!important;
|
|
185
185
|
}
|
|
186
186
|
.cover-list-item .el-checkbox__input.is-checked + .el-checkbox__label,.cover-list-item .el-checkbox__input.is-checked .el-checkbox__inner{
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<span>{{model.fields1Dic.PropertyNo.label}}{{model.fields1Dic.PropertyNo.value}}</span>
|
|
17
17
|
<span>{{model.fields1Dic.GovNo.label}}{{model.fields1Dic.GovNo.value}}</span>
|
|
18
18
|
<span class="mr10">{{model.fields1Dic["DistrictName"].value+model.fields1Dic.AreaName.value}}</span>
|
|
19
|
-
|
|
19
|
+
<img :src="model.fields1Dic.LocationUrl.value" alt="" class="location">
|
|
20
20
|
</div>
|
|
21
21
|
<div class="title-tags">
|
|
22
22
|
<div class="t-tag" v-for="(tag, index) in model.actionRouterLabel" :key="index"
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
<div class="head-but">
|
|
30
30
|
<div>
|
|
31
31
|
<component v-if="model.otherTradeActionRouter!==null" v-bind="model.otherTradeActionRouter" class="max-default"
|
|
32
|
-
:is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi"></component>
|
|
32
|
+
:is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi" @click="fieldClickHandler(model.otherTradeActionRouter,$event)"></component>
|
|
33
33
|
<component class="max-report" v-if="model.actionRouters!==null && model.actionRouters[0]!==null"
|
|
34
|
-
:is="model.actionRouters[0].is" :vmodel="model.actionRouters[0]" :api="model.optionApi"></component>
|
|
34
|
+
:is="model.actionRouters[0].is" :vmodel="model.actionRouters[0]" :api="model.optionApi" @click="fieldClickHandler(model.actionRouters[0],$event)"></component>
|
|
35
35
|
</div>
|
|
36
36
|
<div class="mt5">
|
|
37
37
|
<component class="max-report" v-if="model.actionRouters!==null && model.actionRouters[1]!==null"
|
|
38
|
-
:is="model.actionRouters[1].is" :vmodel="model.actionRouters[1]" :api="model.optionApi"></component>
|
|
38
|
+
:is="model.actionRouters[1].is" :vmodel="model.actionRouters[1]" :api="model.optionApi" @click="fieldClickHandler(model.actionRouters[1],$event)"></component>
|
|
39
39
|
</div>
|
|
40
40
|
<div class="mt5">
|
|
41
41
|
<button type="button" class="el-button el-button--info el-button--mini max-report rel"
|
|
@@ -43,12 +43,12 @@
|
|
|
43
43
|
<img src="../../../assets/dian.png" alt="" class="report">
|
|
44
44
|
<ul class="report-cont">
|
|
45
45
|
<li v-for="(col, index) in model.actionRoutersMoreList" :key="index" v-if="col.show !== false">
|
|
46
|
-
<component class="max-report" :is="col.is" :vmodel="col" :api="model.optionApi"></component>
|
|
46
|
+
<component class="max-report" :is="col.is" :vmodel="col" :api="model.optionApi" @click="fieldClickHandler(col,$event)"></component>
|
|
47
47
|
</li>
|
|
48
48
|
</ul>
|
|
49
49
|
</button>
|
|
50
50
|
<component v-else-if="model.actionRouters!==null && model.actionRouters[2]!==null" class="max-report"
|
|
51
|
-
:is="model.actionRouters[2].is" :vmodel="model.actionRouters[2]" :api="model.optionApi"></component>
|
|
51
|
+
:is="model.actionRouters[2].is" :vmodel="model.actionRouters[2]" :api="model.optionApi" @click="fieldClickHandler(model.actionRouters[2],$event)"></component>
|
|
52
52
|
</div>
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
@@ -180,11 +180,6 @@
|
|
|
180
180
|
</div>
|
|
181
181
|
<div class="tablist-info base-box">
|
|
182
182
|
<div class="details-tabs-box">
|
|
183
|
-
<!-- <el-menu :default-active="model.activeIndex1" class="el-menu-demo el-menu-detail" mode="horizontal" @select="handleSelect">
|
|
184
|
-
<el-menu-item v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()">
|
|
185
|
-
{{col.appName}}
|
|
186
|
-
</el-menu-item>
|
|
187
|
-
</el-menu> -->
|
|
188
183
|
<el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
|
|
189
184
|
<el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID"
|
|
190
185
|
:index="index.toString()" :name="index.toString()" :label="col.appName"></el-tab-pane>
|
|
@@ -195,35 +190,35 @@
|
|
|
195
190
|
:searchDataApi="model.searchDataApiTags1"></ct-searchlist>
|
|
196
191
|
</div>
|
|
197
192
|
</div>
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
193
|
+
<div class="contribute-info base-box">
|
|
194
|
+
<div class="title-l">贡献人信息</div>
|
|
195
|
+
<div class="contribute-list">
|
|
196
|
+
<div class="contribute-i">
|
|
197
|
+
<img src="" alt="图片">
|
|
198
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
199
|
+
</div>
|
|
200
|
+
<div class="contribute-i">
|
|
201
|
+
<img src="" alt="图片">
|
|
202
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
203
|
+
</div>
|
|
204
|
+
<div class="contribute-i">
|
|
205
|
+
<img src="" alt="图片">
|
|
206
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
207
|
+
</div>
|
|
208
|
+
<div class="contribute-i">
|
|
209
|
+
<img src="" alt="图片">
|
|
210
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
211
|
+
</div>
|
|
212
|
+
<div class="contribute-i">
|
|
213
|
+
<img src="" alt="图片">
|
|
214
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
215
|
+
</div>
|
|
216
|
+
<div class="contribute-i">
|
|
217
|
+
<img src="" alt="图片">
|
|
218
|
+
<div><div class="user-title">柳晓青(离职)</div><div class="user-but w56">收钥人</div></div>
|
|
219
|
+
</div>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
227
222
|
</div>
|
|
228
223
|
<!-- 右侧委托信息 -->
|
|
229
224
|
<div class="mid-r">
|
|
@@ -238,25 +233,25 @@
|
|
|
238
233
|
<div v-if="col.appID==='Maintain'" class="el-tabs__content">
|
|
239
234
|
<div v-if="col.list" role="tabpanel" aria-labelledby="tab-first" class="el-tab-pane">
|
|
240
235
|
<div class="tab-conten">
|
|
241
|
-
<img :src="col.list[0].maintainEmpUrl">
|
|
236
|
+
<img :src="col.list[0].maintainEmpUrl" alt="" class="location">
|
|
242
237
|
<div class="user-name">
|
|
243
238
|
<div class="text">{{col.list[0].maintainEmpName}}</div><span class="user-but">{{col.list[0].maintainDeptName}}</span>
|
|
244
239
|
</div>
|
|
245
240
|
<div class="text">{{col.list[0].mobileNo}}</div>
|
|
246
241
|
</div>
|
|
247
|
-
<div v-show="allIn" class="tab-conten">
|
|
248
|
-
<img src="
|
|
242
|
+
<div v-show="allIn" v-for="(info, i) in col.list.slice(1,col.list.legth)" :key="i" class="tab-conten">
|
|
243
|
+
<img :src="info.maintainEmpUrl">
|
|
249
244
|
<div class="user-name">
|
|
250
|
-
<div class="text"
|
|
245
|
+
<div class="text">{{info.maintainEmpName}}</div><span class="user-but">{{info.maintainDeptName}}</span>
|
|
251
246
|
</div>
|
|
252
|
-
<div class="text">
|
|
247
|
+
<div class="text">{{info.mobileNo}}</div>
|
|
253
248
|
</div>
|
|
254
249
|
<div class="open-mero" @click="allIn=!allIn">{{allIn?'收起全部':'查看全部'}}
|
|
255
250
|
<img src="../../../assets/mero.png" alt="" class="mero" > <!--:class="allIn?'more-colose':'more-open'" -->
|
|
256
251
|
</div>
|
|
257
252
|
</div>
|
|
258
253
|
</div>
|
|
259
|
-
<div v-else class="el-tabs__content">
|
|
254
|
+
<div v-else class="el-tabs__content" :key="model.tags2Key">
|
|
260
255
|
<div v-for="(m, i) in col.list" class="text" :key="i">{{m.dutyEmpName}}</div>
|
|
261
256
|
</div>
|
|
262
257
|
</el-tab-pane>
|
|
@@ -523,6 +518,7 @@
|
|
|
523
518
|
load(data) {
|
|
524
519
|
var self = this;
|
|
525
520
|
this.model = data;
|
|
521
|
+
this.model.$vue = self;
|
|
526
522
|
this.loadFields();
|
|
527
523
|
if(this.model.tags2 && this.model.tags2[0]){
|
|
528
524
|
this.model.getTags2List(0);
|
|
@@ -600,12 +596,146 @@
|
|
|
600
596
|
},
|
|
601
597
|
handleSelect(key, keyPath) {
|
|
602
598
|
let i=key.index;
|
|
599
|
+
this.model.activeIndex1=i;
|
|
603
600
|
if(this.model.tags1 && this.model.tags1[i]){
|
|
604
601
|
this.model.searchlistKey=this.model.searchlistKey+1;
|
|
605
602
|
this.model.searchConditionApiTags1=this.model.tags1[i].searchConditionApiUrl||'';
|
|
606
603
|
this.model.searchDataApiTags1=this.model.tags1[i].searchDataApiUrl||'';
|
|
607
604
|
this.model.paramDataTags1=this.model.tags1[i].paramData||'';
|
|
608
605
|
}
|
|
606
|
+
},
|
|
607
|
+
fieldClickHandler(field) {
|
|
608
|
+
var self = this;
|
|
609
|
+
let submitData={};
|
|
610
|
+
var router = this.model.actionRouters.find((v) => {
|
|
611
|
+
return v.id === field.id;
|
|
612
|
+
});
|
|
613
|
+
if(router==undefined){
|
|
614
|
+
router = this.model.actionRoutersMoreList.find((v) => {
|
|
615
|
+
return v.id === field.id;
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
if(router==undefined){
|
|
619
|
+
router = this.model.otherTradeActionRouter.find((v) => {
|
|
620
|
+
return v.id === field.id;
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
if(router){
|
|
625
|
+
if(field.isSubmitDataFromSelf){
|
|
626
|
+
router.submitFormField.forEach((v) => {
|
|
627
|
+
submitData[v] = field.list[field.listIndex].code;
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
else{
|
|
631
|
+
router.submitFormField.forEach((v) => {
|
|
632
|
+
submitData[v] = self.model.fields1Dic[v].value;
|
|
633
|
+
});
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
this.routerClickHandler(router,submitData);
|
|
638
|
+
},
|
|
639
|
+
routerClickHandler(field, submitData) {
|
|
640
|
+
var self = this;
|
|
641
|
+
// this.model.scripts.$fd = field.id;
|
|
642
|
+
// this.model.scripts.$result = [];
|
|
643
|
+
|
|
644
|
+
var clickAcion = function (field) {
|
|
645
|
+
//若不是客户端方法,则直接访问接口
|
|
646
|
+
if (!field.isClientFuntion) {
|
|
647
|
+
// if (typeof field.onClick !== 'undefined') {
|
|
648
|
+
// verified = self.$common.excute.call(self.model.scripts, field.onClick);
|
|
649
|
+
// }
|
|
650
|
+
|
|
651
|
+
if (field.isOpenForm) {
|
|
652
|
+
var dialogOption = {
|
|
653
|
+
title: field.pageTitle,
|
|
654
|
+
pane: self.$common.getParentPane(self),
|
|
655
|
+
content: [{
|
|
656
|
+
component: 'ct-form',
|
|
657
|
+
attrs: {
|
|
658
|
+
api: field.action,
|
|
659
|
+
apiParam: field.getActionPara(submitData).para,
|
|
660
|
+
showTitle: false,
|
|
661
|
+
width: field.dialogWidth + 'px',
|
|
662
|
+
height: field.dialogHeight + 'px'
|
|
663
|
+
},
|
|
664
|
+
on: {
|
|
665
|
+
submit(ev) {
|
|
666
|
+
self.model.doAction(ev,field);
|
|
667
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}]
|
|
671
|
+
};
|
|
672
|
+
self.$common.openDialog(dialogOption);
|
|
673
|
+
}
|
|
674
|
+
else if (field.isOpenList) {
|
|
675
|
+
var dialogOption = {
|
|
676
|
+
title: field.pageTitle,
|
|
677
|
+
pane: self.$common.getParentPane(self),
|
|
678
|
+
content: [{
|
|
679
|
+
component: 'ct-searchlist',
|
|
680
|
+
attrs: {
|
|
681
|
+
searchConditionApi: field.actionForSearchLayout,
|
|
682
|
+
searchDataApi: field.actionForSearch,
|
|
683
|
+
apiParam: submitData,
|
|
684
|
+
width: field.dialogWidth + 'px',
|
|
685
|
+
height: field.dialogHeight + 'px'
|
|
686
|
+
},
|
|
687
|
+
on: {
|
|
688
|
+
submit(ev) {
|
|
689
|
+
self.model.updateFields(ev, () => {
|
|
690
|
+
self.$refs.Fields.forEach((fd) => {
|
|
691
|
+
fd.$forceUpdate();
|
|
692
|
+
});
|
|
693
|
+
});
|
|
694
|
+
self.$common.closeDialog(dialogOption.dialog);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}]
|
|
698
|
+
};
|
|
699
|
+
self.$common.openDialog(dialogOption);
|
|
700
|
+
}
|
|
701
|
+
else if (field.isFormPageInTab || field.isSearchPageInTab) {// 外部框架tab页打开
|
|
702
|
+
submitData = field.getActionPara(submitData).para;
|
|
703
|
+
self.$common.getDataDrivenOpts().handler.openTab(field.action, submitData, field.pageTitle);
|
|
704
|
+
}
|
|
705
|
+
else if (field.isBrowserNewTab) {// 浏览器打开
|
|
706
|
+
submitData = field.getActionPara(submitData).para;
|
|
707
|
+
let query = self.$common.objectToQueryStr(submitData);
|
|
708
|
+
window.open(field.action + query, "_blank");
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
//执行客户端脚本
|
|
712
|
+
else {
|
|
713
|
+
submitData = field.getActionPara(submitData).para;
|
|
714
|
+
let title=field.pageTitle==undefined ?field.label:field.pageTitle;
|
|
715
|
+
submitData.actionType=field.actionType;
|
|
716
|
+
var fun =self.$common.getDataDrivenOpts().handler[field.action];
|
|
717
|
+
fun(submitData,title,self.model);
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
if (field.isSubmit && !self.validExcute()) {
|
|
722
|
+
return;
|
|
723
|
+
}
|
|
724
|
+
|
|
725
|
+
if (field.alert) {
|
|
726
|
+
self.$common.confirm(field.alertMsg, field.alertCaption, {
|
|
727
|
+
confirmButtonText: field.alertOKButtonText,
|
|
728
|
+
cancelButtonText: field.alertCancelButtonText,
|
|
729
|
+
//type: 'warning'
|
|
730
|
+
center: field.alertCenter
|
|
731
|
+
}).then(() => {
|
|
732
|
+
clickAcion(field,submitData);
|
|
733
|
+
}).catch(() => {
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
else {
|
|
737
|
+
clickAcion(field,submitData);
|
|
738
|
+
}
|
|
609
739
|
},
|
|
610
740
|
}
|
|
611
741
|
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<span class="cover-list-item-span-delete" v-if="!model.lock && file.rightDel">
|
|
29
29
|
<i class="el-icon-delete" @click="handleRemove(file)"></i>
|
|
30
30
|
</span>
|
|
31
|
-
<span class="cover-list-item-span" v-if="model.paramName">
|
|
31
|
+
<span class="cover-list-item-span" v-if="model.lock||model.paramName">
|
|
32
32
|
<!--锁定-->
|
|
33
33
|
<span v-if="model.lock || !file.rightEdit" class="el-dropdown-link">
|
|
34
34
|
{{file.mediaLabelName}}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="field-top">
|
|
3
3
|
<div class="ct-text" style="width:100%;display:flex" v-if="model !== null">
|
|
4
|
-
<el-input v-model="model.labelValue" v-bind="model.attrs"
|
|
4
|
+
<!-- <el-input v-model="model.labelValue" v-bind="model.attrs"
|
|
5
5
|
:class="[model.showLabel?'showLabel':'',!valid?'inputError':'','lableinput']"
|
|
6
6
|
:type="model.showLabel? 'text':'textarea'"
|
|
7
7
|
style="flex:1" autosize :readonly="true" autocomplete="on">
|
|
@@ -10,7 +10,18 @@
|
|
|
10
10
|
</div>
|
|
11
11
|
<span slot="suffix" v-if="model.unitName" class="ct-unitname">{{model.unitName}}</span>
|
|
12
12
|
</el-input>
|
|
13
|
-
<span v-if="model.sufLabel" style="width:auto" class="spanMessage">{{model.sufLabel}}</span>
|
|
13
|
+
<span v-if="model.sufLabel" style="width:auto" class="spanMessage">{{model.sufLabel}}</span> -->
|
|
14
|
+
<div class="el-input el-input--mini el-input-group el-input-group--prepend el-input--suffix showLabel lableinput">
|
|
15
|
+
<div class="el-input-group__prepend">
|
|
16
|
+
<div v-if="model.showLabel && model.label" slot="prepend" class="" :class="[model.labelClass]">
|
|
17
|
+
{{model.label}}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<label class="ct-lable">
|
|
21
|
+
{{model.labelValue}}
|
|
22
|
+
</label>
|
|
23
|
+
<span slot="suffix" v-if="model.unitName" class="ct-unitnameLable">{{model.unitName}}</span>
|
|
24
|
+
</div>
|
|
14
25
|
</div>
|
|
15
26
|
</div>
|
|
16
27
|
</template>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import dynamicPhotoSelect from './src/dynamicPhotoSelect'
|
|
2
|
+
|
|
3
|
+
dynamicPhotoSelect.install = function (Vue) {
|
|
4
|
+
Vue.component(dynamicPhotoSelect.name, dynamicPhotoSelect);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
8
|
+
window.Vue.use(dynamicPhotoSelect);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default dynamicPhotoSelect;
|