centaline-data-driven 1.1.54 → 1.1.55
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/.babelrc +12 -12
- package/.editorconfig +9 -9
- package/.gitattributes +63 -63
- package/.postcssrc.js +10 -10
- package/Centaline.Front_End.DataDriven.csproj +37 -37
- package/Centaline.Front_End.DataDriven.sln +25 -25
- package/Properties/launchSettings.json +26 -26
- package/README.md +140 -140
- package/build/build.js +41 -41
- package/build/centaline/centaline.path.js +59 -59
- package/build/centaline/webpack.centaline.conf.js +106 -106
- package/build/check-versions.js +54 -54
- package/build/utils.js +102 -102
- package/build/vue-loader.conf.js +22 -22
- package/build/webpack.base.conf.js +82 -82
- package/build/webpack.dev.conf.js +111 -111
- package/build/webpack.prod.conf.js +145 -145
- package/config/dev.env.js +12 -12
- package/config/index.js +73 -73
- package/config/prod.env.js +4 -4
- package/index.html +14 -14
- package/package.json +75 -75
- package/src/App.vue +10 -10
- package/src/Detail.vue +26 -26
- package/src/Edit.vue +32 -32
- package/src/Form.vue +29 -29
- package/src/SearchList.vue +40 -40
- package/src/SearchTree.vue +51 -51
- package/src/Tabs.vue +19 -19
- package/src/centaline/api/index.js +249 -249
- package/src/centaline/comfirm/index.js +11 -11
- package/src/centaline/comfirm/src/comfirm.vue +44 -44
- package/src/centaline/common/index.js +738 -738
- package/src/centaline/css/common.css +748 -748
- package/src/centaline/css/max.css +207 -207
- package/src/centaline/dialogList/index.js +11 -11
- package/src/centaline/dialogList/src/dialog.vue +210 -210
- package/src/centaline/dialogList/src/dialogList.vue +65 -65
- package/src/centaline/dialogList/src/dialogNew.vue +78 -78
- package/src/centaline/dialogList/src/drag.js +77 -77
- package/src/centaline/directives/index.js +23 -23
- package/src/centaline/dynamicBtn/index.js +11 -11
- package/src/centaline/dynamicBtn/src/dynamicBtn.vue +100 -100
- package/src/centaline/dynamicCb/index.js +11 -11
- package/src/centaline/dynamicCb/src/dynamicCb.vue +72 -72
- package/src/centaline/dynamicCheckbox/index.js +11 -11
- package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +128 -128
- package/src/centaline/dynamicComboBoxWithTextBox/index.js +11 -11
- package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +240 -240
- package/src/centaline/dynamicD/index.js +11 -11
- package/src/centaline/dynamicD/src/dynamicD.vue +92 -92
- package/src/centaline/dynamicDetail/index.js +10 -10
- package/src/centaline/dynamicDetail/src/dynamicDetail.vue +40 -40
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1280 -1280
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +1293 -1293
- package/src/centaline/dynamicDrop/index.js +11 -11
- package/src/centaline/dynamicDrop/src/dynamicDrop.vue +54 -54
- package/src/centaline/dynamicDtd/index.js +11 -11
- package/src/centaline/dynamicDtd/src/dynamicDtd.vue +125 -125
- package/src/centaline/dynamicDtd/src/dynamicDtdOld.vue +93 -93
- package/src/centaline/dynamicFile/index.js +11 -11
- package/src/centaline/dynamicFile/src/dynamicFile.vue +288 -283
- package/src/centaline/dynamicForm/index.js +24 -24
- package/src/centaline/dynamicForm/src/dynamicForm.vue +564 -564
- package/src/centaline/dynamicForm/src/dynamicFormList.vue +209 -209
- package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +376 -376
- package/src/centaline/dynamicGp/index.js +11 -11
- package/src/centaline/dynamicGp/src/dynamicGp.vue +27 -27
- package/src/centaline/dynamicHyperLink/index.js +11 -11
- package/src/centaline/dynamicHyperLink/src/dynamicHyperLink.vue +54 -54
- package/src/centaline/dynamicInput/index.js +35 -35
- package/src/centaline/dynamicInput/src/dynamicInput.vue +35 -35
- package/src/centaline/dynamicInputNumber/index.js +11 -11
- package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +157 -157
- package/src/centaline/dynamicIti/index.js +11 -11
- package/src/centaline/dynamicIti/src/dynamicIti.vue +148 -148
- package/src/centaline/dynamicL/index.js +11 -11
- package/src/centaline/dynamicL/src/dynamicL.vue +37 -37
- package/src/centaline/dynamicLabel/index.js +11 -11
- package/src/centaline/dynamicLabel/src/dynamicLabel.vue +73 -73
- package/src/centaline/dynamicLs/index.js +22 -22
- package/src/centaline/dynamicLs/src/dynamicLs.vue +233 -233
- package/src/centaline/dynamicMo/index.js +13 -13
- package/src/centaline/dynamicMo/src/dynamicMo.vue +421 -421
- package/src/centaline/dynamicMt/index.js +11 -11
- package/src/centaline/dynamicMt/src/dynamicMt.vue +44 -44
- package/src/centaline/dynamicPlaceHolder/index.js +11 -11
- package/src/centaline/dynamicPlaceHolder/src/dynamicPlaceHolder.vue +29 -29
- package/src/centaline/dynamicPopupSearchList/index.js +11 -11
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +157 -157
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +239 -239
- package/src/centaline/dynamicRichText/index.js +11 -11
- package/src/centaline/dynamicRichText/src/dynamicRichText.vue +33 -33
- package/src/centaline/dynamicSearchList/index.js +11 -11
- package/src/centaline/dynamicSearchList/src/dynamicSearchCategory.vue +121 -121
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +135 -135
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +206 -206
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +1069 -1069
- package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +41 -41
- package/src/centaline/dynamicSearchList/src/dynamicTableTip.vue +46 -46
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +61 -61
- package/src/centaline/dynamicSeg/index.js +11 -11
- package/src/centaline/dynamicSeg/src/dynamicSeg.vue +100 -100
- package/src/centaline/dynamicSensitiveEye/index.js +11 -11
- package/src/centaline/dynamicSensitiveEye/src/dynamicSensitiveEye.vue +74 -74
- package/src/centaline/dynamicSo/index.js +14 -14
- package/src/centaline/dynamicSo/src/dynamicSo.vue +328 -328
- package/src/centaline/dynamicSo/src/dynamicSo/345/211/257/346/234/254.vue +69 -69
- package/src/centaline/dynamicSos/index.js +14 -14
- package/src/centaline/dynamicSos/src/dynamicSos - /345/244/215/345/210/266.vue" +223 -223
- package/src/centaline/dynamicSos/src/dynamicSos.vue +260 -260
- package/src/centaline/dynamicSw/index.js +11 -11
- package/src/centaline/dynamicSw/src/dynamicSw.vue +74 -74
- package/src/centaline/dynamicT/index.js +11 -11
- package/src/centaline/dynamicT/src/dynamicT.vue +79 -79
- package/src/centaline/dynamicTab/index.js +11 -11
- package/src/centaline/dynamicTab/src/dynamicTab.vue +49 -49
- package/src/centaline/dynamicTabs/index.js +11 -11
- package/src/centaline/dynamicTabs/src/dynamicTabs.vue +69 -69
- package/src/centaline/dynamicTags/index.js +13 -13
- package/src/centaline/dynamicTags/src/dynamicTags - /345/244/215/345/210/266.vue" +391 -391
- package/src/centaline/dynamicTags/src/dynamicTags.vue +427 -427
- package/src/centaline/dynamicTimeSelect/index.js +11 -11
- package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +141 -141
- package/src/centaline/dynamicTree/index.js +11 -11
- package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -66
- package/src/centaline/dynamicTree/src/dynamicTree.vue +233 -233
- package/src/centaline/dynamicTree/src/dynamicTreeList.vue +74 -74
- package/src/centaline/formData/index.js +290 -290
- package/src/centaline/imgPreview/index.js +42 -42
- package/src/centaline/imgPreview/src/imgPreview.vue +26 -26
- package/src/centaline/index.js +51 -51
- package/src/centaline/loader/index.js +157 -157
- package/src/centaline/loader/src/ctl/Base.js +261 -261
- package/src/centaline/loader/src/ctl/Button.js +44 -44
- package/src/centaline/loader/src/ctl/Cb.js +27 -27
- package/src/centaline/loader/src/ctl/Checkbox.js +107 -107
- package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +162 -162
- package/src/centaline/loader/src/ctl/D.js +31 -31
- package/src/centaline/loader/src/ctl/Detail.js +175 -175
- package/src/centaline/loader/src/ctl/Dtd.js +115 -115
- package/src/centaline/loader/src/ctl/DtdOld.js +129 -129
- package/src/centaline/loader/src/ctl/File.js +292 -292
- package/src/centaline/loader/src/ctl/Form.js +380 -380
- package/src/centaline/loader/src/ctl/FormList.js +428 -428
- package/src/centaline/loader/src/ctl/GM.js +20 -20
- package/src/centaline/loader/src/ctl/Gp.js +9 -9
- package/src/centaline/loader/src/ctl/Hd.js +13 -13
- package/src/centaline/loader/src/ctl/HyperLink.js +24 -24
- package/src/centaline/loader/src/ctl/InputNumber.js +51 -51
- package/src/centaline/loader/src/ctl/Iti.js +108 -108
- package/src/centaline/loader/src/ctl/L.js +18 -18
- package/src/centaline/loader/src/ctl/Mo.js +183 -183
- package/src/centaline/loader/src/ctl/Mt.js +20 -20
- package/src/centaline/loader/src/ctl/PlaceHolder.js +17 -17
- package/src/centaline/loader/src/ctl/Router.js +273 -273
- package/src/centaline/loader/src/ctl/SearchCategory.js +54 -54
- package/src/centaline/loader/src/ctl/SearchScreen.js +236 -236
- package/src/centaline/loader/src/ctl/SearchTable.js +772 -772
- package/src/centaline/loader/src/ctl/Seg.js +37 -37
- package/src/centaline/loader/src/ctl/SensitiveEye.js +65 -65
- package/src/centaline/loader/src/ctl/So.js +117 -117
- package/src/centaline/loader/src/ctl/Sos.js +128 -128
- package/src/centaline/loader/src/ctl/Sw.js +27 -27
- package/src/centaline/loader/src/ctl/T.js +65 -65
- package/src/centaline/loader/src/ctl/Tabs.js +57 -57
- package/src/centaline/loader/src/ctl/Tags.js +191 -191
- package/src/centaline/loader/src/ctl/TimeSelect.js +87 -87
- package/src/centaline/loader/src/ctl/Tree.js +151 -151
- package/src/centaline/loader/src/ctl/Ttts.js +78 -78
- package/src/centaline/loader/src/ctl/lib/Enum.js +563 -563
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +364 -364
- package/src/centaline/loader/src/ctl.js +36 -36
- package/src/centaline/mixins/dynamicElement.js +151 -151
- package/src/centaline/mixins/dynamicSelect.js +84 -84
- package/src/centaline/mixins/emitter.js +33 -33
- package/src/centaline/progress/index.js +11 -11
- package/src/centaline/progress/src/progress.vue +70 -70
- package/src/centaline/quickInput/src/quickInput.vue +64 -64
- package/src/centaline/selectOption/src/selectOption.vue +61 -61
- package/src/centaline/selectOption/src/selectOptionVertical.vue +80 -80
- package/src/centaline/templateControls/index.js +17 -17
- package/src/centaline/templateControls/src/dynamicTableA.vue +20 -20
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +62 -62
- package/src/centaline/templateControls/src/dynamicTableImg.vue +25 -25
- package/src/centaline/templates/index.js +34 -34
- package/src/centaline/templates/src/ContractSearch.js +67 -67
- package/src/centaline/templates/src/test.js +44 -44
- package/src/centaline/validate/index.js +332 -332
- package/src/main.js +46 -46
- package/src/router/index.js +44 -44
- package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
|
@@ -1,292 +1,292 @@
|
|
|
1
|
-
import base from '../../index';
|
|
2
|
-
import Base from './Base';
|
|
3
|
-
import Enum from './lib/Enum';
|
|
4
|
-
import Vue from 'vue';
|
|
5
|
-
import common from '../../../common';
|
|
6
|
-
import valid from '../../../validate/index';
|
|
7
|
-
//元数据、附件列表元数据、对应router、下拉框数据api
|
|
8
|
-
const box = function (source, fileSourceList, router, optionApi) {
|
|
9
|
-
var self = this;
|
|
10
|
-
var init = function (data) {
|
|
11
|
-
var rtn = {
|
|
12
|
-
get action() {
|
|
13
|
-
return router.action ? router.action : "";//上传完整地址
|
|
14
|
-
},
|
|
15
|
-
get sourceList() {
|
|
16
|
-
return fileSourceList;
|
|
17
|
-
},
|
|
18
|
-
set action(v) {
|
|
19
|
-
data.action = v;
|
|
20
|
-
},
|
|
21
|
-
get uploadData() {
|
|
22
|
-
return {
|
|
23
|
-
};
|
|
24
|
-
},
|
|
25
|
-
get fileAccept() {
|
|
26
|
-
return data.fileAccept1;
|
|
27
|
-
},
|
|
28
|
-
_fileList: [],
|
|
29
|
-
get fileList() {
|
|
30
|
-
if (this._fileList.length !== 0) {
|
|
31
|
-
return rtn._fileList;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
//this._fileList = [];
|
|
35
|
-
fileSourceList.forEach((v, index) => {
|
|
36
|
-
if (v.flagDeleted !== 0) {
|
|
37
|
-
rtn._fileList.push(this.getFileData(v));
|
|
38
|
-
}
|
|
39
|
-
})
|
|
40
|
-
}
|
|
41
|
-
return rtn._fileList;
|
|
42
|
-
},
|
|
43
|
-
getfileListLength() {
|
|
44
|
-
return rtn.fileList.length;
|
|
45
|
-
},
|
|
46
|
-
optionModel: {
|
|
47
|
-
options: [],
|
|
48
|
-
isInit:false,
|
|
49
|
-
optionAttrs: {
|
|
50
|
-
value: 'code',
|
|
51
|
-
label: 'name'
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
//简单分类
|
|
55
|
-
getOptions(callBack) {
|
|
56
|
-
var self = this;
|
|
57
|
-
if (self.optionModel.isInit) {
|
|
58
|
-
return self.optionModel.options;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
var params = {
|
|
62
|
-
action: optionApi,
|
|
63
|
-
para: {
|
|
64
|
-
paramName: source.paramName1,
|
|
65
|
-
parentValue: null
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
|
|
69
|
-
if (response.rtnCode === 200) {
|
|
70
|
-
self.optionModel.options = response.content;
|
|
71
|
-
self.optionModel.isInit = true;
|
|
72
|
-
if (callBack) {
|
|
73
|
-
callBack(response.content);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
},
|
|
78
|
-
//是否是复杂分类
|
|
79
|
-
get isComplexClassify() {
|
|
80
|
-
if (source.paramAction1) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return false;
|
|
85
|
-
}
|
|
86
|
-
},
|
|
87
|
-
//复杂分类
|
|
88
|
-
updateClassify(file, callback) {
|
|
89
|
-
var self = this;
|
|
90
|
-
var dialogOption = {
|
|
91
|
-
title: 'Add',
|
|
92
|
-
pane: common.getParentPane(self),
|
|
93
|
-
content: [{
|
|
94
|
-
component: 'ct-form',
|
|
95
|
-
attrs: {
|
|
96
|
-
api: source.paramAction1,//source.xx
|
|
97
|
-
showTitle:false,
|
|
98
|
-
apiParam: file.mediaFormData,
|
|
99
|
-
width: router.pageWidth + 'px',
|
|
100
|
-
height: router.pageHeight + 'px',
|
|
101
|
-
},
|
|
102
|
-
on: {
|
|
103
|
-
submit: function (formModel) {
|
|
104
|
-
file.mediaFormData = formModel.formData.getFormObj();
|
|
105
|
-
common.closeDialog(dialogOption.dialog);
|
|
106
|
-
|
|
107
|
-
//设置分类显示
|
|
108
|
-
var mediaLabelValue = file.mediaFormData['mediaLabelID'];
|
|
109
|
-
if (typeof mediaLabelValue !== 'undefined') {
|
|
110
|
-
var mediaLabel = formModel.formData.fieldsDic['mediaLabelID'];
|
|
111
|
-
if (mediaLabel.is === "ct-seg") {
|
|
112
|
-
file.mediaLabelID = mediaLabelValue;
|
|
113
|
-
mediaLabel.segmentValue.forEach(v => {
|
|
114
|
-
if (v[self.optionModel.optionAttrs.value] === mediaLabelValue) {
|
|
115
|
-
file.mediaLabelName = v[self.optionModel.optionAttrs.label];
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
else if (mediaLabel.is === "ct-so" || mediaLabel.is === "ct-sos") {
|
|
120
|
-
file.mediaLabelID = mediaLabel.value;
|
|
121
|
-
file.mediaLabelName = mediaLabel.text;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
loaded: function (formModel) {
|
|
126
|
-
dialogOption.title = formModel.title;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}]
|
|
130
|
-
};
|
|
131
|
-
common.openDialog(dialogOption);
|
|
132
|
-
},
|
|
133
|
-
getFileData(fileSource) {
|
|
134
|
-
let fileData = {
|
|
135
|
-
progressFlag: false,//进度条状态
|
|
136
|
-
loadProgress: 0,//进度条状态
|
|
137
|
-
get source() {//通过source修改
|
|
138
|
-
return fileSource;
|
|
139
|
-
},
|
|
140
|
-
get fileAccept() {//文件后缀
|
|
141
|
-
//格式:".jpg,.jpeg,.png,.gif,.bmp,.pdf,.JPG,.JPEG,.PBG,.GIF,.BMP,.PDF"
|
|
142
|
-
return fileSource.fileAccept1;
|
|
143
|
-
},
|
|
144
|
-
get fileName() {
|
|
145
|
-
return fileSource.fileName;
|
|
146
|
-
},
|
|
147
|
-
get mediaUrl() {
|
|
148
|
-
return fileSource.mediaUrl;
|
|
149
|
-
},
|
|
150
|
-
get url() {
|
|
151
|
-
return fileSource.thumbnailUrl;
|
|
152
|
-
},
|
|
153
|
-
get actionType() {
|
|
154
|
-
return fileSource.actionType;
|
|
155
|
-
},
|
|
156
|
-
get mediaTypeID() {
|
|
157
|
-
return fileSource.mediaTypeID;
|
|
158
|
-
},
|
|
159
|
-
get flagDeleted() {
|
|
160
|
-
return fileSource.flagDeleted;
|
|
161
|
-
},
|
|
162
|
-
get rightDel() {
|
|
163
|
-
return fileSource.rightDel;
|
|
164
|
-
},
|
|
165
|
-
set rightDel(v) {
|
|
166
|
-
fileSource.rightDel = v;
|
|
167
|
-
},
|
|
168
|
-
get rightDownload() {
|
|
169
|
-
return fileSource.rightDownload;
|
|
170
|
-
},
|
|
171
|
-
get rightDownloadWithNoWaterMask() {
|
|
172
|
-
return fileSource.rightDownloadWithNoWaterMask;
|
|
173
|
-
},
|
|
174
|
-
get rightEdit() {
|
|
175
|
-
return fileSource.rightEdit;
|
|
176
|
-
},
|
|
177
|
-
set rightEdit(v) {
|
|
178
|
-
fileSource.rightEdit = v;
|
|
179
|
-
},
|
|
180
|
-
get rightMediaTypeID() {
|
|
181
|
-
return fileSource.rightMediaTypeID;
|
|
182
|
-
},
|
|
183
|
-
get mediaLabelName() {
|
|
184
|
-
return fileSource.mediaLabelName;
|
|
185
|
-
},
|
|
186
|
-
set mediaLabelName(v) {
|
|
187
|
-
return fileSource.mediaLabelName = v;
|
|
188
|
-
},
|
|
189
|
-
get mediaLabelID() {//分类id
|
|
190
|
-
return fileSource.mediaLabelID;
|
|
191
|
-
},
|
|
192
|
-
set mediaLabelID(v) {
|
|
193
|
-
return fileSource.mediaLabelID = v;
|
|
194
|
-
},
|
|
195
|
-
get mediaFormData() {
|
|
196
|
-
return fileSource.mediaFormData;
|
|
197
|
-
},
|
|
198
|
-
set mediaFormData(v) {
|
|
199
|
-
return fileSource.mediaFormData = v;
|
|
200
|
-
},
|
|
201
|
-
get fileExtension() {
|
|
202
|
-
return fileSource.fileExtension;
|
|
203
|
-
},
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
return fileData;
|
|
207
|
-
},
|
|
208
|
-
setClassify(classify) {
|
|
209
|
-
classify.file.source.mediaLabelName = classify.option[rtn.optionModel.optionAttrs.label];
|
|
210
|
-
classify.file.source.mediaLabelID = classify.option[rtn.optionModel.optionAttrs.value];
|
|
211
|
-
},
|
|
212
|
-
handleAvatarSuccess(res, file, fileList) {
|
|
213
|
-
if (res.rtnCode === Enum.ReturnCode.Successful) {
|
|
214
|
-
//下面的方式绑定,会有一些问题 todo 不强与页面关联
|
|
215
|
-
fileSourceList.push(res.content[0]);
|
|
216
|
-
var data = rtn.getFileData(res.content[0]);
|
|
217
|
-
|
|
218
|
-
Vue.set(file, "url", data.url);
|
|
219
|
-
Vue.set(file, "source", data.source);
|
|
220
|
-
Vue.set(file, "mediaUrl", data.mediaUrl);
|
|
221
|
-
Vue.set(file, "fileName", data.fileName);
|
|
222
|
-
Vue.set(file, "flagDeleted", data.flagDeleted);
|
|
223
|
-
Vue.set(file, "actionType", data.actionType);
|
|
224
|
-
Vue.set(file, "rightDel", data.rightDel);
|
|
225
|
-
Vue.set(file, "rightEdit", data.rightEdit);
|
|
226
|
-
Vue.set(file, "rightDownload", data.rightDownload);
|
|
227
|
-
Vue.set(file, "mediaLabelID", data.mediaLabelID);
|
|
228
|
-
Vue.set(file, "mediaLabelName", data.mediaLabelName);
|
|
229
|
-
Vue.set(file, "fileExtension", data.fileExtension);
|
|
230
|
-
|
|
231
|
-
Vue.set(file, "progressFlag", false);
|
|
232
|
-
Vue.set(file, "loadProgress", 100);
|
|
233
|
-
|
|
234
|
-
rtn.fileList = fileList;//无数据会监听不到
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
Vue.prototype.$message.error(res.rtnMsg);
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
deleteFile(file, forceDelete) {
|
|
241
|
-
for (let i = 0; i < rtn.fileList.length; i++) {
|
|
242
|
-
if (rtn.fileList[i].uid === file.uid) {
|
|
243
|
-
if (forceDelete) {
|
|
244
|
-
for (let j = 0; j < fileSourceList.length; j++) {
|
|
245
|
-
if (file.source === fileSourceList[j]) {
|
|
246
|
-
fileSourceList.splice(j, 1);
|
|
247
|
-
break;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
rtn.fileList.splice(i, 1);
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
if (file.source.actionType === Enum.ActionType.New) {
|
|
254
|
-
rtn.fileList.splice(i, 1);
|
|
255
|
-
for (let j = 0; j < fileSourceList.length; j++) {
|
|
256
|
-
if (file.source === fileSourceList[j]) {
|
|
257
|
-
fileSourceList.splice(j, 1);
|
|
258
|
-
break;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
else {
|
|
263
|
-
file.flagDeleted = true;
|
|
264
|
-
file.source.flagDeleted = true;
|
|
265
|
-
rtn.fileList.splice(i, 1);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
break;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
},
|
|
272
|
-
getFormObj() {
|
|
273
|
-
var rtnFormObj = {};
|
|
274
|
-
Object.defineProperty(rtnFormObj, source.fieldName1, {
|
|
275
|
-
get: function () {
|
|
276
|
-
return fileSourceList;
|
|
277
|
-
},
|
|
278
|
-
enumerable: true,
|
|
279
|
-
configurable: true
|
|
280
|
-
});
|
|
281
|
-
return rtnFormObj;
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
rtn = base.copy(Base(data), rtn);
|
|
285
|
-
rtn = base.copy(rtn, valid.Init(rtn));
|
|
286
|
-
return rtn;
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
return init(source);
|
|
290
|
-
}
|
|
291
|
-
export default box;
|
|
292
|
-
|
|
1
|
+
import base from '../../index';
|
|
2
|
+
import Base from './Base';
|
|
3
|
+
import Enum from './lib/Enum';
|
|
4
|
+
import Vue from 'vue';
|
|
5
|
+
import common from '../../../common';
|
|
6
|
+
import valid from '../../../validate/index';
|
|
7
|
+
//元数据、附件列表元数据、对应router、下拉框数据api
|
|
8
|
+
const box = function (source, fileSourceList, router, optionApi) {
|
|
9
|
+
var self = this;
|
|
10
|
+
var init = function (data) {
|
|
11
|
+
var rtn = {
|
|
12
|
+
get action() {
|
|
13
|
+
return router.action ? router.action : "";//上传完整地址
|
|
14
|
+
},
|
|
15
|
+
get sourceList() {
|
|
16
|
+
return fileSourceList;
|
|
17
|
+
},
|
|
18
|
+
set action(v) {
|
|
19
|
+
data.action = v;
|
|
20
|
+
},
|
|
21
|
+
get uploadData() {
|
|
22
|
+
return {
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
get fileAccept() {
|
|
26
|
+
return data.fileAccept1;
|
|
27
|
+
},
|
|
28
|
+
_fileList: [],
|
|
29
|
+
get fileList() {
|
|
30
|
+
if (this._fileList.length !== 0) {
|
|
31
|
+
return rtn._fileList;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
//this._fileList = [];
|
|
35
|
+
fileSourceList.forEach((v, index) => {
|
|
36
|
+
if (v.flagDeleted !== 0) {
|
|
37
|
+
rtn._fileList.push(this.getFileData(v));
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
return rtn._fileList;
|
|
42
|
+
},
|
|
43
|
+
getfileListLength() {
|
|
44
|
+
return rtn.fileList.length;
|
|
45
|
+
},
|
|
46
|
+
optionModel: {
|
|
47
|
+
options: [],
|
|
48
|
+
isInit:false,
|
|
49
|
+
optionAttrs: {
|
|
50
|
+
value: 'code',
|
|
51
|
+
label: 'name'
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
//简单分类
|
|
55
|
+
getOptions(callBack) {
|
|
56
|
+
var self = this;
|
|
57
|
+
if (self.optionModel.isInit) {
|
|
58
|
+
return self.optionModel.options;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var params = {
|
|
62
|
+
action: optionApi,
|
|
63
|
+
para: {
|
|
64
|
+
paramName: source.paramName1,
|
|
65
|
+
parentValue: null
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
|
|
69
|
+
if (response.rtnCode === 200) {
|
|
70
|
+
self.optionModel.options = response.content;
|
|
71
|
+
self.optionModel.isInit = true;
|
|
72
|
+
if (callBack) {
|
|
73
|
+
callBack(response.content);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
//是否是复杂分类
|
|
79
|
+
get isComplexClassify() {
|
|
80
|
+
if (source.paramAction1) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
//复杂分类
|
|
88
|
+
updateClassify(file, callback) {
|
|
89
|
+
var self = this;
|
|
90
|
+
var dialogOption = {
|
|
91
|
+
title: 'Add',
|
|
92
|
+
pane: common.getParentPane(self),
|
|
93
|
+
content: [{
|
|
94
|
+
component: 'ct-form',
|
|
95
|
+
attrs: {
|
|
96
|
+
api: source.paramAction1,//source.xx
|
|
97
|
+
showTitle:false,
|
|
98
|
+
apiParam: file.mediaFormData,
|
|
99
|
+
width: router.pageWidth + 'px',
|
|
100
|
+
height: router.pageHeight + 'px',
|
|
101
|
+
},
|
|
102
|
+
on: {
|
|
103
|
+
submit: function (formModel) {
|
|
104
|
+
file.mediaFormData = formModel.formData.getFormObj();
|
|
105
|
+
common.closeDialog(dialogOption.dialog);
|
|
106
|
+
|
|
107
|
+
//设置分类显示
|
|
108
|
+
var mediaLabelValue = file.mediaFormData['mediaLabelID'];
|
|
109
|
+
if (typeof mediaLabelValue !== 'undefined') {
|
|
110
|
+
var mediaLabel = formModel.formData.fieldsDic['mediaLabelID'];
|
|
111
|
+
if (mediaLabel.is === "ct-seg") {
|
|
112
|
+
file.mediaLabelID = mediaLabelValue;
|
|
113
|
+
mediaLabel.segmentValue.forEach(v => {
|
|
114
|
+
if (v[self.optionModel.optionAttrs.value] === mediaLabelValue) {
|
|
115
|
+
file.mediaLabelName = v[self.optionModel.optionAttrs.label];
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else if (mediaLabel.is === "ct-so" || mediaLabel.is === "ct-sos") {
|
|
120
|
+
file.mediaLabelID = mediaLabel.value;
|
|
121
|
+
file.mediaLabelName = mediaLabel.text;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
loaded: function (formModel) {
|
|
126
|
+
dialogOption.title = formModel.title;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}]
|
|
130
|
+
};
|
|
131
|
+
common.openDialog(dialogOption);
|
|
132
|
+
},
|
|
133
|
+
getFileData(fileSource) {
|
|
134
|
+
let fileData = {
|
|
135
|
+
progressFlag: false,//进度条状态
|
|
136
|
+
loadProgress: 0,//进度条状态
|
|
137
|
+
get source() {//通过source修改
|
|
138
|
+
return fileSource;
|
|
139
|
+
},
|
|
140
|
+
get fileAccept() {//文件后缀
|
|
141
|
+
//格式:".jpg,.jpeg,.png,.gif,.bmp,.pdf,.JPG,.JPEG,.PBG,.GIF,.BMP,.PDF"
|
|
142
|
+
return fileSource.fileAccept1;
|
|
143
|
+
},
|
|
144
|
+
get fileName() {
|
|
145
|
+
return fileSource.fileName;
|
|
146
|
+
},
|
|
147
|
+
get mediaUrl() {
|
|
148
|
+
return fileSource.mediaUrl;
|
|
149
|
+
},
|
|
150
|
+
get url() {
|
|
151
|
+
return fileSource.thumbnailUrl;
|
|
152
|
+
},
|
|
153
|
+
get actionType() {
|
|
154
|
+
return fileSource.actionType;
|
|
155
|
+
},
|
|
156
|
+
get mediaTypeID() {
|
|
157
|
+
return fileSource.mediaTypeID;
|
|
158
|
+
},
|
|
159
|
+
get flagDeleted() {
|
|
160
|
+
return fileSource.flagDeleted;
|
|
161
|
+
},
|
|
162
|
+
get rightDel() {
|
|
163
|
+
return fileSource.rightDel;
|
|
164
|
+
},
|
|
165
|
+
set rightDel(v) {
|
|
166
|
+
fileSource.rightDel = v;
|
|
167
|
+
},
|
|
168
|
+
get rightDownload() {
|
|
169
|
+
return fileSource.rightDownload;
|
|
170
|
+
},
|
|
171
|
+
get rightDownloadWithNoWaterMask() {
|
|
172
|
+
return fileSource.rightDownloadWithNoWaterMask;
|
|
173
|
+
},
|
|
174
|
+
get rightEdit() {
|
|
175
|
+
return fileSource.rightEdit;
|
|
176
|
+
},
|
|
177
|
+
set rightEdit(v) {
|
|
178
|
+
fileSource.rightEdit = v;
|
|
179
|
+
},
|
|
180
|
+
get rightMediaTypeID() {
|
|
181
|
+
return fileSource.rightMediaTypeID;
|
|
182
|
+
},
|
|
183
|
+
get mediaLabelName() {
|
|
184
|
+
return fileSource.mediaLabelName;
|
|
185
|
+
},
|
|
186
|
+
set mediaLabelName(v) {
|
|
187
|
+
return fileSource.mediaLabelName = v;
|
|
188
|
+
},
|
|
189
|
+
get mediaLabelID() {//分类id
|
|
190
|
+
return fileSource.mediaLabelID;
|
|
191
|
+
},
|
|
192
|
+
set mediaLabelID(v) {
|
|
193
|
+
return fileSource.mediaLabelID = v;
|
|
194
|
+
},
|
|
195
|
+
get mediaFormData() {
|
|
196
|
+
return fileSource.mediaFormData;
|
|
197
|
+
},
|
|
198
|
+
set mediaFormData(v) {
|
|
199
|
+
return fileSource.mediaFormData = v;
|
|
200
|
+
},
|
|
201
|
+
get fileExtension() {
|
|
202
|
+
return fileSource.fileExtension;
|
|
203
|
+
},
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
return fileData;
|
|
207
|
+
},
|
|
208
|
+
setClassify(classify) {
|
|
209
|
+
classify.file.source.mediaLabelName = classify.option[rtn.optionModel.optionAttrs.label];
|
|
210
|
+
classify.file.source.mediaLabelID = classify.option[rtn.optionModel.optionAttrs.value];
|
|
211
|
+
},
|
|
212
|
+
handleAvatarSuccess(res, file, fileList) {
|
|
213
|
+
if (res.rtnCode === Enum.ReturnCode.Successful) {
|
|
214
|
+
//下面的方式绑定,会有一些问题 todo 不强与页面关联
|
|
215
|
+
fileSourceList.push(res.content[0]);
|
|
216
|
+
var data = rtn.getFileData(res.content[0]);
|
|
217
|
+
|
|
218
|
+
Vue.set(file, "url", data.url);
|
|
219
|
+
Vue.set(file, "source", data.source);
|
|
220
|
+
Vue.set(file, "mediaUrl", data.mediaUrl);
|
|
221
|
+
Vue.set(file, "fileName", data.fileName);
|
|
222
|
+
Vue.set(file, "flagDeleted", data.flagDeleted);
|
|
223
|
+
Vue.set(file, "actionType", data.actionType);
|
|
224
|
+
Vue.set(file, "rightDel", data.rightDel);
|
|
225
|
+
Vue.set(file, "rightEdit", data.rightEdit);
|
|
226
|
+
Vue.set(file, "rightDownload", data.rightDownload);
|
|
227
|
+
Vue.set(file, "mediaLabelID", data.mediaLabelID);
|
|
228
|
+
Vue.set(file, "mediaLabelName", data.mediaLabelName);
|
|
229
|
+
Vue.set(file, "fileExtension", data.fileExtension);
|
|
230
|
+
|
|
231
|
+
Vue.set(file, "progressFlag", false);
|
|
232
|
+
Vue.set(file, "loadProgress", 100);
|
|
233
|
+
|
|
234
|
+
rtn.fileList = fileList;//无数据会监听不到
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
Vue.prototype.$message.error(res.rtnMsg);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
deleteFile(file, forceDelete) {
|
|
241
|
+
for (let i = 0; i < rtn.fileList.length; i++) {
|
|
242
|
+
if (rtn.fileList[i].uid === file.uid) {
|
|
243
|
+
if (forceDelete) {
|
|
244
|
+
for (let j = 0; j < fileSourceList.length; j++) {
|
|
245
|
+
if (file.source === fileSourceList[j]) {
|
|
246
|
+
fileSourceList.splice(j, 1);
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
rtn.fileList.splice(i, 1);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
if (file.source.actionType === Enum.ActionType.New) {
|
|
254
|
+
rtn.fileList.splice(i, 1);
|
|
255
|
+
for (let j = 0; j < fileSourceList.length; j++) {
|
|
256
|
+
if (file.source === fileSourceList[j]) {
|
|
257
|
+
fileSourceList.splice(j, 1);
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
file.flagDeleted = true;
|
|
264
|
+
file.source.flagDeleted = true;
|
|
265
|
+
rtn.fileList.splice(i, 1);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
getFormObj() {
|
|
273
|
+
var rtnFormObj = {};
|
|
274
|
+
Object.defineProperty(rtnFormObj, source.fieldName1, {
|
|
275
|
+
get: function () {
|
|
276
|
+
return fileSourceList;
|
|
277
|
+
},
|
|
278
|
+
enumerable: true,
|
|
279
|
+
configurable: true
|
|
280
|
+
});
|
|
281
|
+
return rtnFormObj;
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
rtn = base.copy(Base(data), rtn);
|
|
285
|
+
rtn = base.copy(rtn, valid.Init(rtn));
|
|
286
|
+
return rtn;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
return init(source);
|
|
290
|
+
}
|
|
291
|
+
export default box;
|
|
292
|
+
|