centaline-data-driven 1.1.20 → 1.1.25
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/.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/README.md +7 -7
- package/build/centaline/centaline.path.js +2 -0
- package/build/centaline/webpack.centaline.conf.js +5 -3
- package/build/utils.js +2 -1
- package/build/webpack.dev.conf.js +1 -1
- package/config/dev.env.js +6 -3
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +9 -11
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +3 -7
- package/obj/project.assets.json +9 -16
- package/package.json +7 -5
- package/src/Detail.vue +28 -0
- package/src/Form.vue +3 -2
- package/src/SearchList.vue +5 -3
- package/src/SearchTree.vue +55 -0
- package/src/assets/Mvr.png +0 -0
- package/src/assets/VR.png +0 -0
- package/src/assets/collection.png +0 -0
- package/src/assets/dian.png +0 -0
- package/src/assets/ewm.png +0 -0
- package/src/assets/image.png +0 -0
- package/src/assets/location.png +0 -0
- package/src/assets/max-fold.png +0 -0
- package/src/assets/max-open.png +0 -0
- package/src/assets/mero.png +0 -0
- package/src/assets/node-collapse.png +0 -0
- package/src/assets/node-expand.png +0 -0
- package/src/assets/video.png +0 -0
- package/src/assets//350/256/241/347/256/227/345/231/250.png +0 -0
- package/src/centaline/api/index.js +15 -5
- package/src/centaline/comfirm/src/comfirm.vue +2 -2
- package/src/centaline/css/common.css +34 -33
- package/src/centaline/css/max.css +145 -0
- package/src/centaline/dialogList/src/dialog.vue +2 -2
- package/src/centaline/dialogList/src/dialogNew.vue +16 -16
- package/src/centaline/dynamicBtn/src/dynamicBtn.vue +50 -19
- package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +1 -1
- package/src/centaline/dynamicDetail/index.js +11 -0
- package/src/centaline/dynamicDetail/src/dynamicDetail.vue +39 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1283 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +29 -0
- package/src/centaline/dynamicForm/src/dynamicForm.vue +25 -9
- package/src/centaline/dynamicForm/src/dynamicFormList.vue +2 -2
- package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +39 -18
- package/src/centaline/dynamicHyperLink/index.js +1 -1
- package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +4 -0
- package/src/centaline/dynamicPlaceHolder/index.js +1 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +1 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +6 -6
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +41 -20
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +14 -5
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +59 -33
- package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +41 -0
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +7 -4
- package/src/centaline/dynamicT/src/dynamicT.vue +18 -23
- package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +37 -3
- package/src/centaline/dynamicTree/index.js +11 -0
- package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -0
- package/src/centaline/dynamicTree/src/dynamicTree.vue +213 -0
- package/src/centaline/dynamicTree/src/dynamicTreeList.vue +65 -0
- package/src/centaline/imgPreview/index.js +6 -6
- package/src/centaline/imgPreview/src/imgPreview.vue +3 -3
- package/src/centaline/index.js +14 -14
- package/src/centaline/loader/index.js +1 -2
- package/src/centaline/loader/src/ctl/Base.js +31 -2
- package/src/centaline/loader/src/ctl/Button.js +21 -4
- package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +6 -14
- package/src/centaline/loader/src/ctl/D.js +2 -2
- package/src/centaline/loader/src/ctl/Dtd.js +18 -18
- package/src/centaline/loader/src/ctl/DtdOld.js +8 -8
- package/src/centaline/loader/src/ctl/File.js +1 -1
- package/src/centaline/loader/src/ctl/Form.js +51 -14
- package/src/centaline/loader/src/ctl/FormList.js +7 -0
- package/src/centaline/loader/src/ctl/HyperLink.js +1 -1
- package/src/centaline/loader/src/ctl/Mo.js +1 -9
- package/src/centaline/loader/src/ctl/PlaceHolder.js +2 -2
- package/src/centaline/loader/src/ctl/Router.js +58 -1
- package/src/centaline/loader/src/ctl/SearchScreen.js +37 -7
- package/src/centaline/loader/src/ctl/SearchTable.js +25 -10
- package/src/centaline/loader/src/ctl/So.js +1 -9
- package/src/centaline/loader/src/ctl/Sos.js +2 -11
- package/src/centaline/loader/src/ctl/Tags.js +1 -9
- package/src/centaline/loader/src/ctl/TimeSelect.js +34 -7
- package/src/centaline/loader/src/ctl/Tree.js +154 -0
- package/src/centaline/loader/src/ctl/lib/Enum.js +21 -3
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +8 -0
- package/src/centaline/loader/src/ctl.js +5 -1
- package/src/centaline/mixins/dynamicElement.js +34 -34
- package/src/centaline/progress/src/progress.vue +37 -37
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +14 -9
- package/src/centaline/templates/src/ContractSearch.js +4 -4
- package/src/main.js +3 -3
- package/src/router/index.js +11 -0
- package/wwwroot/static/centaline/centaline-data-driven.js +1 -7
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
- package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
- package/.vs/Centaline.Front_End.DataDriven/config/applicationhost.config +0 -1015
- package/obj/Debug/netcoreapp2.1/.NETCoreApp,Version=v2.1.AssemblyAttributes.cs +0 -4
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class='mytree'>
|
|
3
|
+
<el-tree :data="treeData"
|
|
4
|
+
class="tree-line"
|
|
5
|
+
:props="defaultProps"
|
|
6
|
+
:load="loadNode"
|
|
7
|
+
:indent="0"
|
|
8
|
+
:expand-on-click-node="false"
|
|
9
|
+
@node-click="handleNodeClick"
|
|
10
|
+
lazy
|
|
11
|
+
ref="Tree">
|
|
12
|
+
</el-tree>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script>
|
|
17
|
+
import dynamicElement from '../../mixins/dynamicElement'
|
|
18
|
+
import dynamicTreeScreen from '../../dynamicSearchList/src/dynamicSearchScreen.vue';
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ct-tree',
|
|
21
|
+
mixins: [dynamicElement],
|
|
22
|
+
components: {
|
|
23
|
+
'ct-searchtreescreen': dynamicTreeScreen
|
|
24
|
+
},
|
|
25
|
+
props: {
|
|
26
|
+
vmodel: Object,
|
|
27
|
+
api: String
|
|
28
|
+
},
|
|
29
|
+
data() {
|
|
30
|
+
return {
|
|
31
|
+
treeNode: {},
|
|
32
|
+
treeResolve: function () { },
|
|
33
|
+
LastClickNode: {},
|
|
34
|
+
para: {},
|
|
35
|
+
filterText: '',
|
|
36
|
+
treeData: [], // 树节点
|
|
37
|
+
defaultProps: {
|
|
38
|
+
label: 'name',
|
|
39
|
+
key: 'Key',
|
|
40
|
+
children: 'children',
|
|
41
|
+
isLeaf: "isLeaf",
|
|
42
|
+
id: 'code'
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
methods: {
|
|
47
|
+
search(m) {
|
|
48
|
+
this.treeNode.childNodes = [];
|
|
49
|
+
this.searchComplate(m, undefined, this.treeResolve);
|
|
50
|
+
},
|
|
51
|
+
loadNode(node, resolve) { // 加载 树数据
|
|
52
|
+
let self = this;
|
|
53
|
+
if (node.level === 0) {
|
|
54
|
+
self.treeNode = node;
|
|
55
|
+
self.treeResolve = resolve;
|
|
56
|
+
return self.loadtreeData(resolve);
|
|
57
|
+
}
|
|
58
|
+
if (node.level >= 1) {
|
|
59
|
+
return self.getChildByList(node.data.code, resolve, node.data);
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
loadtreeData(resolve) { // 获取loadtreeData 就是父节点数据,getChildByList就是异步获取子节点数据
|
|
63
|
+
this.searchComplate(undefined, undefined, resolve);
|
|
64
|
+
},
|
|
65
|
+
getChildByList(_parentID, resolve,) { // 获取子节点请求
|
|
66
|
+
var fields = this.model.searchData("code", _parentID, 9, 3);
|
|
67
|
+
var model = {
|
|
68
|
+
"searchData": fields
|
|
69
|
+
};
|
|
70
|
+
this.searchComplate(model, undefined, resolve);
|
|
71
|
+
},
|
|
72
|
+
load(data, resolve) {
|
|
73
|
+
var self = this;
|
|
74
|
+
self.model = data;
|
|
75
|
+
var treeResolve = resolve || self.treeResolve;
|
|
76
|
+
treeResolve(data.modeltree);
|
|
77
|
+
self.LastResolve = treeResolve;
|
|
78
|
+
},
|
|
79
|
+
searchComplate(m, defaultSearch, resolve) {
|
|
80
|
+
var self = this;
|
|
81
|
+
this.$nextTick(function () {
|
|
82
|
+
if (typeof self.api !== 'undefined') {
|
|
83
|
+
self.loaderObj.Tree(self.api, self.load, m, defaultSearch, resolve);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
handleNodeClick(data) {
|
|
88
|
+
var self = this;
|
|
89
|
+
if (self.LastClickNode != data) {
|
|
90
|
+
self.LastClickNode = data;
|
|
91
|
+
var rowRouter = self.model.rowSelectRouter;
|
|
92
|
+
this.model.getCurrentRowApiData(rowRouter.action, data, function (rowdata) {
|
|
93
|
+
var newdata = self.$common.deepClone(data);
|
|
94
|
+
newdata.rowRouter = rowdata
|
|
95
|
+
self.$emit('loaded', newdata);
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
created() {
|
|
103
|
+
this.model = this.vmodel;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
</script>
|
|
107
|
+
<style lang="scss">
|
|
108
|
+
|
|
109
|
+
.el-tree-node {
|
|
110
|
+
position: relative;
|
|
111
|
+
padding-left: 16px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.el-tree-node__children {
|
|
115
|
+
padding-left: 16px;
|
|
116
|
+
}
|
|
117
|
+
.el-tree-node__content {
|
|
118
|
+
padding-left: 0px !important;
|
|
119
|
+
padding-right:2px !important;
|
|
120
|
+
}
|
|
121
|
+
/* 竖线 */
|
|
122
|
+
.el-tree-node::before {
|
|
123
|
+
content: "";
|
|
124
|
+
height: 100%;
|
|
125
|
+
width: 1px;
|
|
126
|
+
position: absolute;
|
|
127
|
+
left: 27px;
|
|
128
|
+
top: -33px;
|
|
129
|
+
border-width: 1px;
|
|
130
|
+
border-left: 1px dashed #52627C;
|
|
131
|
+
}
|
|
132
|
+
/* 当前最后一个接点的竖线高度 */
|
|
133
|
+
.el-tree-node:last-child::before {
|
|
134
|
+
height: 46px; /*可以自己调整 */
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* 横线 */
|
|
138
|
+
.el-tree-node::after {
|
|
139
|
+
content: "";
|
|
140
|
+
width: 12px;
|
|
141
|
+
height: 20px;
|
|
142
|
+
position: absolute;
|
|
143
|
+
left: 27px;
|
|
144
|
+
top: 12px;
|
|
145
|
+
right:2px;
|
|
146
|
+
border-width: 1px;
|
|
147
|
+
border-top: 1px dashed #52627C;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.el-tree:first-child .el-tree-node:before {
|
|
151
|
+
height: 46px; /*可以自己调整 */
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.el-tree-node__expand-icon {
|
|
155
|
+
font-size: 16px;
|
|
156
|
+
}
|
|
157
|
+
/* 去掉顶层虚线 */
|
|
158
|
+
.tree > .el-tree-node:first-child::after {
|
|
159
|
+
border-top: none;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.el-tree > .el-tree-node:first-child:before {
|
|
163
|
+
border-left: none;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.tree > .is-leaf {
|
|
167
|
+
color: transparent;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.el-tree .el-tree-node__expand-icon.expanded {
|
|
171
|
+
-webkit-transform: rotate(0deg);
|
|
172
|
+
transform: rotate(0deg);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.el-tree .el-tree-node__expand-icon.expanded {
|
|
176
|
+
-webkit-transform: rotate(0deg);
|
|
177
|
+
transform: rotate(0deg);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
.el-tree .el-icon-caret-right:before {
|
|
182
|
+
background: url("../../../assets/node-collapse.png") no-repeat;
|
|
183
|
+
content: '';
|
|
184
|
+
display: block;
|
|
185
|
+
width: 12px;
|
|
186
|
+
height: 12px;
|
|
187
|
+
font-size: 12px;
|
|
188
|
+
background-size: 10px;
|
|
189
|
+
}
|
|
190
|
+
/*
|
|
191
|
+
//有子节点 且已展开*/
|
|
192
|
+
.el-tree .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
|
|
193
|
+
background: url("../../../assets/node-expand.png") no-repeat;
|
|
194
|
+
content: '';
|
|
195
|
+
display: block;
|
|
196
|
+
width: 12px;
|
|
197
|
+
height: 12px;
|
|
198
|
+
font-size: 12px;
|
|
199
|
+
background-size: 10px;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* //没有子节点*/
|
|
203
|
+
.el-tree .el-tree-node__expand-icon.is-leaf::before {
|
|
204
|
+
background: transparent no-repeat 0 3px;
|
|
205
|
+
content: '';
|
|
206
|
+
display: block;
|
|
207
|
+
width: 12px;
|
|
208
|
+
height: 12px;
|
|
209
|
+
font-size: 12px;
|
|
210
|
+
background-size: 10px;
|
|
211
|
+
}
|
|
212
|
+
</style>
|
|
213
|
+
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="app-Tree" style="height:100%;position: fixed;">
|
|
3
|
+
<el-container style="height: 100vh;width:100vw; border: 1px solid #eee">
|
|
4
|
+
<el-aside width="200px" style="background-color:#eceff2">
|
|
5
|
+
<ct-searchtree :flagsearch="true" :searchConditionApi="searchConditionApi" :searchDataApi="searchDataApi" @loaded="loaded"></ct-searchtree>
|
|
6
|
+
</el-aside>
|
|
7
|
+
<el-main v-if="isShowSearchlist">
|
|
8
|
+
<ct-searchlist :searchConditionApi="searchTableConditionApi" :searchDataApi="searchTableDataApi" :api-param="apiParam"></ct-searchlist>
|
|
9
|
+
</el-main>
|
|
10
|
+
</el-container>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import dynamicElement from '../../mixins/dynamicElement'
|
|
16
|
+
import dynamicSearchTree from './dynamicSearchTree.vue';
|
|
17
|
+
import dynamicSearchList from '../../dynamicSearchList/src/dynamicSearchList.vue';
|
|
18
|
+
export default {
|
|
19
|
+
name: 'ct-treelist',
|
|
20
|
+
mixins: [dynamicElement],
|
|
21
|
+
components: {
|
|
22
|
+
'ct-searchtree': dynamicSearchTree,
|
|
23
|
+
'ct-searchlist': dynamicSearchList
|
|
24
|
+
},
|
|
25
|
+
props: {
|
|
26
|
+
vmodel: Object,
|
|
27
|
+
searchConditionApi: String,
|
|
28
|
+
searchDataApi: String,
|
|
29
|
+
apiParam: {
|
|
30
|
+
type: Object,
|
|
31
|
+
default: () => { }
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
data() {
|
|
35
|
+
return {
|
|
36
|
+
searchTableConditionApi: "",
|
|
37
|
+
searchTableDataApi: "",
|
|
38
|
+
isShowSearchlist: false
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
methods: {
|
|
42
|
+
loaded(data) {
|
|
43
|
+
var self = this;
|
|
44
|
+
self.isShowSearchlist = false;
|
|
45
|
+
if (data&&data.rowRouter) {
|
|
46
|
+
self.searchTableConditionApi = data.rowRouter.getLayoutOfSearch;
|
|
47
|
+
self.searchTableDataApi = data.rowRouter.getList;
|
|
48
|
+
var defaultPara = self.$common.deepClone(data);
|
|
49
|
+
delete defaultPara.rowRouter;
|
|
50
|
+
delete defaultPara.getLayoutOfSearch;
|
|
51
|
+
delete defaultPara.getList;
|
|
52
|
+
self.apiParam.defaultPara = defaultPara;
|
|
53
|
+
self.$nextTick(() => {
|
|
54
|
+
self.isShowSearchlist = true;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
},
|
|
60
|
+
created() {
|
|
61
|
+
this.model = this.vmodel;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
</script>
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import imgPreview from './src/imgPreview.vue'
|
|
2
2
|
|
|
3
3
|
imgPreview.install = function (Vue) {
|
|
4
|
-
Vue.component(imgPreview.name, imgPreview);
|
|
4
|
+
Vue.component(imgPreview.name, imgPreview);
|
|
5
5
|
//import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
|
6
|
-
//Vue.component("ElImageViewer", ElImageViewer);
|
|
6
|
+
//Vue.component("ElImageViewer", ElImageViewer);
|
|
7
7
|
|
|
8
8
|
const PreviewConstructor = Vue.extend(imgPreview);
|
|
9
9
|
const instance = new PreviewConstructor();
|
|
10
|
-
instance.$mount(document.createElement("div"));
|
|
10
|
+
instance.$mount(document.createElement("div"));
|
|
11
11
|
setTimeout(function () {
|
|
12
|
-
document.body.appendChild(instance.$el);
|
|
12
|
+
document.body.appendChild(instance.$el);
|
|
13
13
|
}, 1000);
|
|
14
14
|
|
|
15
15
|
|
|
@@ -24,8 +24,8 @@ imgPreview.install = function (Vue) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
if (typeof window !== 'undefined' && window.Vue) {
|
|
27
|
-
window.Vue.use(imgPreview);
|
|
28
|
-
|
|
27
|
+
window.Vue.use(imgPreview);
|
|
28
|
+
|
|
29
29
|
const PreviewConstructor = Vue.extend(imgPreview);
|
|
30
30
|
const instance = new PreviewConstructor();
|
|
31
31
|
instance.$mount(document.createElement("div"));
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
:urlList="previewImages"
|
|
4
4
|
:on-close="closeViewer"></el-image-viewer>
|
|
5
5
|
</template>
|
|
6
|
-
<script>
|
|
6
|
+
<script>
|
|
7
7
|
//该组件打包被排除(会导致包大很多),不排除的话无法使用,todo待更新
|
|
8
|
-
//import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
|
8
|
+
//import ElImageViewer from "element-ui/packages/image/src/image-viewer";
|
|
9
9
|
export default {
|
|
10
10
|
name: 'ctImgPreview',
|
|
11
11
|
data() {
|
|
@@ -23,4 +23,4 @@
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
-
</script>
|
|
26
|
+
</script>
|
package/src/centaline/index.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
const paths = require('../../build/centaline/centaline.path').default;
|
|
2
2
|
//import './css/common.css'
|
|
3
3
|
import babelpolyfill from 'babel-polyfill'
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
let defaultInstallOpt = {
|
|
6
6
|
baseUrl: '',
|
|
7
|
-
zIndex: 2000,
|
|
7
|
+
zIndex: 2000,
|
|
8
8
|
showRequestErrorMessage: true,
|
|
9
|
-
handler: {
|
|
9
|
+
handler: {
|
|
10
10
|
// 打开tab页
|
|
11
11
|
openTab: function (action, submitData, pageTitle) {
|
|
12
12
|
|
|
13
|
-
},
|
|
13
|
+
},
|
|
14
14
|
// 关闭当前tab页
|
|
15
15
|
closeTab: function () {
|
|
16
16
|
|
|
17
|
-
},
|
|
18
|
-
// 获取请求头
|
|
19
|
-
getRequestHeaders: function () {
|
|
20
|
-
return {};
|
|
21
|
-
},
|
|
22
|
-
// 请求完成事件,可判断是否登录过期执行响应操作
|
|
23
|
-
requestComplete: function (response) {
|
|
24
|
-
|
|
17
|
+
},
|
|
18
|
+
// 获取请求头
|
|
19
|
+
getRequestHeaders: function () {
|
|
20
|
+
return {};
|
|
21
|
+
},
|
|
22
|
+
// 请求完成事件,可判断是否登录过期执行响应操作
|
|
23
|
+
requestComplete: function (response) {
|
|
24
|
+
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
}
|
|
27
|
+
}
|
|
28
28
|
|
|
29
29
|
const centaline = {
|
|
30
30
|
install(Vue, opts = {}) {
|
|
@@ -37,7 +37,7 @@ const centaline = {
|
|
|
37
37
|
var plug = require("./" + plugName + "/index.js").default;
|
|
38
38
|
Vue.use(plug);
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
|
|
41
41
|
opts.handler = Object.assign(defaultInstallOpt.handler, opts.handler)
|
|
42
42
|
const option = Object.assign(defaultInstallOpt, opts)
|
|
43
43
|
Vue.prototype.$dataDrivenOpts = option
|
|
@@ -192,9 +192,14 @@ const Base = function (source) {
|
|
|
192
192
|
get size() {
|
|
193
193
|
return "mini";
|
|
194
194
|
},
|
|
195
|
+
set class(v)
|
|
196
|
+
{
|
|
197
|
+
source.className=v
|
|
198
|
+
},
|
|
195
199
|
get class() {
|
|
196
200
|
var size = this.size ? this.size : "mini";
|
|
197
|
-
|
|
201
|
+
source.className=source.className||'ct-font-size-' + size;
|
|
202
|
+
return source.className;
|
|
198
203
|
}
|
|
199
204
|
},
|
|
200
205
|
get max() {
|
|
@@ -208,7 +213,31 @@ const Base = function (source) {
|
|
|
208
213
|
},
|
|
209
214
|
set min(v) {
|
|
210
215
|
source.minValue1 = v;
|
|
211
|
-
}
|
|
216
|
+
},
|
|
217
|
+
get refFieldName() {
|
|
218
|
+
return source.refFieldName;
|
|
219
|
+
},
|
|
220
|
+
getFormRefFieldPara() {
|
|
221
|
+
if (rtn.form && typeof rtn.refFieldName !== 'undefined' && rtn.refFieldName.length > 0) {
|
|
222
|
+
if (typeof rtn.form.getRefFieldPara === 'function') {
|
|
223
|
+
return JSON.stringify(rtn.form.getRefFieldPara(rtn.refFieldName));
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return null;
|
|
227
|
+
},
|
|
228
|
+
get parentField() {
|
|
229
|
+
let rf='';
|
|
230
|
+
if(source.parentField)rf=source.parentField.split(',');
|
|
231
|
+
return rf;
|
|
232
|
+
},
|
|
233
|
+
getFormParentFieldPara() {
|
|
234
|
+
if (rtn.form && typeof rtn.parentField !== 'undefined' && rtn.parentField.length > 0) {
|
|
235
|
+
if (typeof rtn.form.getRefFieldPara === 'function') {
|
|
236
|
+
return JSON.stringify(rtn.form.getParentFieldPara(rtn.parentField));
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return null;
|
|
240
|
+
},
|
|
212
241
|
};
|
|
213
242
|
|
|
214
243
|
return rtn;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import base from '../../index';
|
|
2
2
|
import Base from './Base';
|
|
3
|
-
import Enum from './lib/Enum';
|
|
4
3
|
const Button = function (source, router) {
|
|
5
4
|
var rtn = {
|
|
6
5
|
disabled: false,
|
|
@@ -14,12 +13,30 @@ const Button = function (source, router) {
|
|
|
14
13
|
set label(v) {
|
|
15
14
|
source.controlLabel = v;
|
|
16
15
|
},
|
|
17
|
-
get isHyperLink() {
|
|
16
|
+
get isHyperLink() {
|
|
18
17
|
if (router) {
|
|
19
|
-
return router.isHyperLink;
|
|
20
|
-
}
|
|
18
|
+
return router.isHyperLink;
|
|
19
|
+
}
|
|
21
20
|
return false;
|
|
22
21
|
},
|
|
22
|
+
get textColor() {
|
|
23
|
+
return source.textColor ? source.textColor : '';
|
|
24
|
+
},
|
|
25
|
+
set bgColor(v)
|
|
26
|
+
{
|
|
27
|
+
source.bgColor = v;
|
|
28
|
+
},
|
|
29
|
+
get bgColor() {
|
|
30
|
+
return source.bgColor ? source.bgColor : '';
|
|
31
|
+
},
|
|
32
|
+
set borderColor(v)
|
|
33
|
+
{
|
|
34
|
+
source.borderColor = v;
|
|
35
|
+
},
|
|
36
|
+
get borderColor() {
|
|
37
|
+
return source.borderColor ? source.borderColor + '' : (source.bgColor ? source.bgColor + '' : '');
|
|
38
|
+
},
|
|
39
|
+
icon:'',
|
|
23
40
|
};
|
|
24
41
|
rtn = base.copy(Base(source), rtn);
|
|
25
42
|
return rtn;
|
|
@@ -3,7 +3,7 @@ import Base from './Base';
|
|
|
3
3
|
import valid from '../../../validate/index';
|
|
4
4
|
import common from '../../../common';
|
|
5
5
|
import Vue from 'vue';
|
|
6
|
-
const cbwt = function (source) {
|
|
6
|
+
const cbwt = function (source) {
|
|
7
7
|
var rtn = {
|
|
8
8
|
options: [{ code: source.code1, name: source.name1 }],
|
|
9
9
|
options1: [{ code: source.code2, name: source.name2 }],
|
|
@@ -95,7 +95,7 @@ const cbwt = function (source) {
|
|
|
95
95
|
action: apiAddrs,
|
|
96
96
|
para: {
|
|
97
97
|
paramName: self['paramName' + numStr],
|
|
98
|
-
parentValue: parentValue,
|
|
98
|
+
parentValue: parentValue,
|
|
99
99
|
extraData: rtn.getFormRefFieldPara()
|
|
100
100
|
}
|
|
101
101
|
};
|
|
@@ -105,14 +105,6 @@ const cbwt = function (source) {
|
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
107
|
},
|
|
108
|
-
getFormRefFieldPara() {
|
|
109
|
-
if (rtn.form && typeof source.refFieldName !== 'undefined' && source.refFieldName.length > 0) {
|
|
110
|
-
if (typeof rtn.form.getRefFieldPara === 'function') {
|
|
111
|
-
return JSON.stringify(rtn.form.getRefFieldPara(source.refFieldName));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return null;
|
|
115
|
-
},
|
|
116
108
|
getFormObj() {
|
|
117
109
|
var rtnFormObj = {};
|
|
118
110
|
Object.defineProperty(rtnFormObj, source.fieldName1, {
|
|
@@ -121,21 +113,21 @@ const cbwt = function (source) {
|
|
|
121
113
|
},
|
|
122
114
|
enumerable: true,
|
|
123
115
|
configurable: true
|
|
124
|
-
});
|
|
116
|
+
});
|
|
125
117
|
Object.defineProperty(rtnFormObj, source.fieldName2, {
|
|
126
118
|
get: function () {
|
|
127
119
|
return source.code2;
|
|
128
120
|
},
|
|
129
121
|
enumerable: true,
|
|
130
122
|
configurable: true
|
|
131
|
-
});
|
|
123
|
+
});
|
|
132
124
|
Object.defineProperty(rtnFormObj, source.fieldName3, {
|
|
133
125
|
get: function () {
|
|
134
126
|
return source.code3;
|
|
135
127
|
},
|
|
136
128
|
enumerable: true,
|
|
137
129
|
configurable: true
|
|
138
|
-
});
|
|
130
|
+
});
|
|
139
131
|
Object.defineProperty(rtnFormObj, source.fieldName4, {
|
|
140
132
|
get: function () {
|
|
141
133
|
return source.code4;
|
|
@@ -160,7 +152,7 @@ const cbwt = function (source) {
|
|
|
160
152
|
attrs: {
|
|
161
153
|
clearable: true
|
|
162
154
|
},
|
|
163
|
-
};
|
|
155
|
+
};
|
|
164
156
|
var baseSource = Base(source);
|
|
165
157
|
//rtn.attrs = base.copy(baseSource.attrs, rtn.attrs);
|
|
166
158
|
rtn = base.copy(baseSource, rtn);
|
|
@@ -12,9 +12,9 @@ const D = function (source, dateType) {
|
|
|
12
12
|
if (typeof source.valueFormat !== 'undefined') {
|
|
13
13
|
return source.valueFormat;
|
|
14
14
|
}
|
|
15
|
-
else {
|
|
15
|
+
else {
|
|
16
16
|
if (dateType === "datetime") {
|
|
17
|
-
return 'yyyy-MM-dd HH:mm:ss'
|
|
17
|
+
return 'yyyy-MM-dd HH:mm:ss'
|
|
18
18
|
}
|
|
19
19
|
return 'yyyy-MM-dd'
|
|
20
20
|
}
|
|
@@ -6,9 +6,9 @@ import Vue from 'vue';
|
|
|
6
6
|
import common from '../../../common';
|
|
7
7
|
|
|
8
8
|
const Dtd = function (source, dateType) {
|
|
9
|
-
var self = this;
|
|
10
|
-
if (!dateType) {
|
|
11
|
-
dateType = "date";
|
|
9
|
+
var self = this;
|
|
10
|
+
if (!dateType) {
|
|
11
|
+
dateType = "date";
|
|
12
12
|
}
|
|
13
13
|
var init = function (data) {
|
|
14
14
|
var rtn = {
|
|
@@ -16,9 +16,9 @@ const Dtd = function (source, dateType) {
|
|
|
16
16
|
if (typeof source.valueFormat !== 'undefined') {
|
|
17
17
|
return source.valueFormat;
|
|
18
18
|
}
|
|
19
|
-
else {
|
|
19
|
+
else {
|
|
20
20
|
if (dateType === "datetime") {
|
|
21
|
-
return 'yyyy-MM-dd HH:mm:ss'
|
|
21
|
+
return 'yyyy-MM-dd HH:mm:ss'
|
|
22
22
|
}
|
|
23
23
|
return 'yyyy-MM-dd'
|
|
24
24
|
}
|
|
@@ -42,21 +42,21 @@ const Dtd = function (source, dateType) {
|
|
|
42
42
|
get value() {
|
|
43
43
|
return source.code1;
|
|
44
44
|
},
|
|
45
|
-
set value(v) {
|
|
46
|
-
if (!v) {
|
|
47
|
-
source.code1 = "";
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
45
|
+
set value(v) {
|
|
46
|
+
if (!v) {
|
|
47
|
+
source.code1 = "";
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
50
|
source.code1 = common.formatDate(v, rtn.valueFormat);
|
|
51
51
|
},
|
|
52
52
|
get value1() {
|
|
53
53
|
return source.code2;
|
|
54
54
|
},
|
|
55
|
-
set value1(v) {
|
|
56
|
-
if (!v) {
|
|
57
|
-
source.code2 = "";
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
55
|
+
set value1(v) {
|
|
56
|
+
if (!v) {
|
|
57
|
+
source.code2 = "";
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
60
|
source.code2 = common.formatDate(v, rtn.valueFormat);
|
|
61
61
|
},
|
|
62
62
|
get id1() {
|
|
@@ -68,7 +68,7 @@ const Dtd = function (source, dateType) {
|
|
|
68
68
|
source.code1 = this.formatValue[0];
|
|
69
69
|
source.code2 = this.formatValue[1];
|
|
70
70
|
},
|
|
71
|
-
getFormObj() {
|
|
71
|
+
getFormObj() {
|
|
72
72
|
var rtnFormObj = {};
|
|
73
73
|
Object.defineProperty(rtnFormObj, source.fieldName1, {
|
|
74
74
|
get: function () {
|
|
@@ -89,8 +89,8 @@ const Dtd = function (source, dateType) {
|
|
|
89
89
|
attrs: {
|
|
90
90
|
type: dateType,
|
|
91
91
|
'unlink-panels': true,
|
|
92
|
-
get format() {
|
|
93
|
-
return rtn.valueFormat;
|
|
92
|
+
get format() {
|
|
93
|
+
return rtn.valueFormat;
|
|
94
94
|
},
|
|
95
95
|
//'value-format': 'yyyy-MM-dd',
|
|
96
96
|
align: 'left'
|
|
@@ -5,9 +5,9 @@ import Axios from 'axios';
|
|
|
5
5
|
import Vue from 'vue';
|
|
6
6
|
|
|
7
7
|
const Dtd = function (source, dateType) {
|
|
8
|
-
var self = this;
|
|
9
|
-
if (!dateType) {
|
|
10
|
-
dateType = "daterange";
|
|
8
|
+
var self = this;
|
|
9
|
+
if (!dateType) {
|
|
10
|
+
dateType = "daterange";
|
|
11
11
|
}
|
|
12
12
|
var init = function (data) {
|
|
13
13
|
var rtn = {
|
|
@@ -37,11 +37,11 @@ const Dtd = function (source, dateType) {
|
|
|
37
37
|
get placeholder1() {
|
|
38
38
|
return source.placeholder2 || '';
|
|
39
39
|
},
|
|
40
|
-
setFormatValue(v1) {//上面的set formatValue(v1)无法自动触发(无法监听数组)
|
|
41
|
-
let dateFormat = "yyyy-MM-dd";
|
|
42
|
-
if (dateType === "datetimerange") {
|
|
43
|
-
dateFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
44
|
-
}
|
|
40
|
+
setFormatValue(v1) {//上面的set formatValue(v1)无法自动触发(无法监听数组)
|
|
41
|
+
let dateFormat = "yyyy-MM-dd";
|
|
42
|
+
if (dateType === "datetimerange") {
|
|
43
|
+
dateFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
44
|
+
}
|
|
45
45
|
|
|
46
46
|
if (v1 && v1.length > 0) {
|
|
47
47
|
source.code1 = v1[0] && v1[0] instanceof Date ? Vue.prototype.$common.formatDate(v1[0], dateFormat) : "";
|
|
@@ -237,7 +237,7 @@ const box = function (source, fileSourceList, router, optionApi) {
|
|
|
237
237
|
Vue.prototype.$message.error(res.rtnMsg);
|
|
238
238
|
}
|
|
239
239
|
},
|
|
240
|
-
deleteFile(file, forceDelete) {
|
|
240
|
+
deleteFile(file, forceDelete) {
|
|
241
241
|
for (let i = 0; i < rtn.fileList.length; i++) {
|
|
242
242
|
if (rtn.fileList[i].uid === file.uid) {
|
|
243
243
|
if (forceDelete) {
|