centaline-data-driven-v3 0.0.58 → 0.0.60
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/dist/centaline-data-driven-v3.umd.js +61 -60
- package/package.json +1 -1
- package/src/assets/commonWeb.css +0 -1
- package/src/components/app/PhotoSelect.vue +11 -13
- package/src/components/web/Field.vue +3 -1
- package/src/components/web/FormList.vue +12 -3
- package/src/components/web/Progress.vue +7 -5
- package/src/components/web/SearchList/SearchTable.vue +3 -1
- package/src/components/web/SearchList.vue +4 -1
- package/src/components/web/SearchScreen.vue +4 -0
- package/src/components/web/TextBox.vue +12 -0
- package/src/loader/src/Form.js +46 -28
- package/src/loader/src/PhotoSelect.js +11 -1
- package/src/loader/src/SearchTable.js +32 -2
- package/src/main.js +1 -1
- package/src/utils/mixins.js +2 -1
- package/src/views/Form.vue +2 -3
package/package.json
CHANGED
package/src/assets/commonWeb.css
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="van-uploader" style="margin:10px 10px 0 10px; ">
|
|
2
|
+
<div class="van-uploader" style="margin:10px 10px 0 10px; " v-if="model">
|
|
3
3
|
<div class="van-uploader__wrapper">
|
|
4
4
|
<div ref="uploadImgItem">
|
|
5
|
-
<template v-for="(element, index) in
|
|
5
|
+
<template v-for="(element, index) in model.fileList" :key="element.mediaCode">
|
|
6
6
|
<div class="van-uploader__preview" style="display:inline-block;"
|
|
7
|
-
@click="viewerfile(
|
|
7
|
+
@click="viewerfile(model.fileList, index)">
|
|
8
8
|
<div class="van-image van-uploader__preview-image">
|
|
9
9
|
<img :src="element.thumbnailUrl" class="van-image__img" style="object-fit: cover;">
|
|
10
10
|
<div class="van-uploader__preview-cover">
|
|
11
11
|
<div class="preview-cover van-ellipsis">{{ element.mediaLabelName }}</div>
|
|
12
12
|
</div>
|
|
13
|
-
<div class="swiper-i" @click="viewerfile(
|
|
13
|
+
<div class="swiper-i" @click="viewerfile(model.fileList, index)"
|
|
14
14
|
v-if="element.mediaTypeID == '7'">
|
|
15
15
|
<img :src="util.getAssetsImage('p3602x.png')" class="hous-icon" />
|
|
16
16
|
</div>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</div>
|
|
25
25
|
</template>
|
|
26
26
|
</div>
|
|
27
|
-
<div class="van-uploader__upload" v-if="!model.locked &&
|
|
27
|
+
<div class="van-uploader__upload" v-if="!model.locked && model.fileList.length < max" @click="handleOpen()">
|
|
28
28
|
<i class="van-badge__wrapper van-icon van-icon-plus van-uploader__upload-icon"></i>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
@@ -43,7 +43,6 @@ const props = defineProps({
|
|
|
43
43
|
api: String,
|
|
44
44
|
})
|
|
45
45
|
const max = ref(99999)
|
|
46
|
-
const photoList = ref([])
|
|
47
46
|
const uploadImgItem = ref()
|
|
48
47
|
|
|
49
48
|
onMounted(() => {
|
|
@@ -74,10 +73,10 @@ const initDragSort = () => {
|
|
|
74
73
|
// 获取旧的索引和新索引
|
|
75
74
|
const { oldIndex, newIndex } = evt
|
|
76
75
|
// 交换位置
|
|
77
|
-
const movedItem =
|
|
78
|
-
|
|
76
|
+
const movedItem = model.value.fileList.splice(oldIndex, 1)[0]
|
|
77
|
+
model.value.fileList.splice(newIndex, 0, movedItem)
|
|
79
78
|
|
|
80
|
-
PhotoSelect.setfileSourceList(
|
|
79
|
+
PhotoSelect.setfileSourceList(model.value.fileList, model.value);
|
|
81
80
|
}
|
|
82
81
|
})
|
|
83
82
|
}
|
|
@@ -89,14 +88,13 @@ function load(data) {
|
|
|
89
88
|
model.value.validExcute = () => {
|
|
90
89
|
return selfValidExcute("valid");
|
|
91
90
|
}
|
|
92
|
-
photoList.value = data.fileList;
|
|
93
91
|
|
|
94
92
|
max.value = data.max ? data.max : 99999;
|
|
95
93
|
selfValidExcute("valid");
|
|
96
94
|
}
|
|
97
95
|
function handleRemove(item, index) {
|
|
98
96
|
PhotoSelect.deletePhoto(item, model.value);
|
|
99
|
-
|
|
97
|
+
model.value.fileList.splice(index, 1);
|
|
100
98
|
selfValidExcute("valid");
|
|
101
99
|
}
|
|
102
100
|
|
|
@@ -115,7 +113,7 @@ function handleOpen() {
|
|
|
115
113
|
parentValue: model.value.getFormParentFieldPara(),
|
|
116
114
|
extraData: model.value.getFormRefFieldPara(),
|
|
117
115
|
};
|
|
118
|
-
|
|
116
|
+
model.value.fileList.forEach((n) => {
|
|
119
117
|
chooseList.push(n);
|
|
120
118
|
});
|
|
121
119
|
var dialogOption = {
|
|
@@ -148,7 +146,7 @@ function handleOpen() {
|
|
|
148
146
|
}
|
|
149
147
|
}
|
|
150
148
|
PhotoSelect.setSelectfileSourceList(List, model.value);
|
|
151
|
-
|
|
149
|
+
model.value.fileList = List;
|
|
152
150
|
// selfValidExcute("valid");
|
|
153
151
|
common.closeDialog(dialogOption);
|
|
154
152
|
});
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
|
|
22
22
|
</slot>
|
|
23
23
|
<!-- 插槽--控件后面的内容 -->
|
|
24
|
-
<slot name="SufLabel" v-if="model.controlType != Enum.ControlType.CheckBox
|
|
24
|
+
<slot name="SufLabel" v-if="model.controlType != Enum.ControlType.CheckBox
|
|
25
|
+
&&model.controlType != Enum.ControlType.MultiLineText
|
|
26
|
+
&&model.controlType != Enum.ControlType.Switch">
|
|
25
27
|
<span v-if="model.sufLabel1" class="sufLabel" v-html="model.sufLabel1"></span>
|
|
26
28
|
</slot>
|
|
27
29
|
<!-- 插槽--验证提示的内容 -->
|
|
@@ -178,9 +178,6 @@ model.value.parameterAction = props.parameterAction
|
|
|
178
178
|
model.value.$vue = { insertOrUpdateRow, insertRow, delRow, deleteAll, insertSingleRow, itemKey };
|
|
179
179
|
model.value.validExcute = () => {
|
|
180
180
|
var rtn = fieldsValidExcute();
|
|
181
|
-
if (!rtn) {
|
|
182
|
-
model.value.displayValidMessage = common.LocalizedString('请填写', '請填寫') + '[' + model.value.controlLabel + ']'
|
|
183
|
-
}
|
|
184
181
|
return fieldsValidExcute();
|
|
185
182
|
}
|
|
186
183
|
const Fields = ref()
|
|
@@ -379,8 +376,10 @@ function getSummaries(param) {
|
|
|
379
376
|
//验证
|
|
380
377
|
function fieldsValidExcute() {
|
|
381
378
|
var rtnBool = true;
|
|
379
|
+
var i = 0;
|
|
382
380
|
if (model.value.required) {
|
|
383
381
|
if (model.value.tableData.length == 0) {
|
|
382
|
+
model.value.displayValidMessage = common.LocalizedString('请填写', '請填寫') + '[' + model.value.controlLabel + ']'
|
|
384
383
|
return false;
|
|
385
384
|
}
|
|
386
385
|
}
|
|
@@ -391,6 +390,12 @@ function fieldsValidExcute() {
|
|
|
391
390
|
var f = r[c["fieldName1"]]
|
|
392
391
|
if (f.validExcute) {
|
|
393
392
|
if (!f.validExcute()) {
|
|
393
|
+
if (i === 0) {
|
|
394
|
+
if (f.displayValidMessage) {
|
|
395
|
+
model.value.displayValidMessage = f.displayValidMessage;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
i++;
|
|
394
399
|
rtnBool = false;
|
|
395
400
|
}
|
|
396
401
|
}
|
|
@@ -404,6 +409,10 @@ function fieldsValidExcute() {
|
|
|
404
409
|
Fields.value.forEach((f) => {
|
|
405
410
|
if (f.model.validExcute) {
|
|
406
411
|
if (!f.model.validExcute()) {
|
|
412
|
+
if (i === 0) {
|
|
413
|
+
model.value.displayValidMessage = "【" + model.value.controlLabel + "-" + f.model.controlLabel + "】不能为空!";
|
|
414
|
+
}
|
|
415
|
+
i++;
|
|
407
416
|
rtnBool = false;
|
|
408
417
|
}
|
|
409
418
|
}
|
|
@@ -68,7 +68,7 @@ function getApiData() {
|
|
|
68
68
|
progressFlag.value = true;
|
|
69
69
|
percentage.value = data.percentage;
|
|
70
70
|
if (data.flagFinished) {
|
|
71
|
-
if (props.progressType == 'export' && data.content) {
|
|
71
|
+
if (props.progressType == 'export' && data.content && props.flagNotification=='1') {
|
|
72
72
|
if (data.content.indexOf(".zip") > -1) {
|
|
73
73
|
window.location.href = encodeURI(data.content);
|
|
74
74
|
}
|
|
@@ -80,11 +80,13 @@ function getApiData() {
|
|
|
80
80
|
downloadUrl.value = data.content + "?" + Math.random();
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
emit('finished', data);
|
|
85
|
+
}, 800);
|
|
86
|
+
}
|
|
87
|
+
else{
|
|
88
|
+
emit('finished', data);
|
|
84
89
|
}
|
|
85
|
-
setTimeout(() => {
|
|
86
|
-
emit('finished', data);
|
|
87
|
-
}, 800);
|
|
88
90
|
}
|
|
89
91
|
else {
|
|
90
92
|
setTimeout(() => {
|
|
@@ -373,7 +373,7 @@ function searchComplate(m, defaultSearch) {
|
|
|
373
373
|
//初始化数据
|
|
374
374
|
function load(data) {
|
|
375
375
|
model.value = data;
|
|
376
|
-
model.value.$vue = { searchStrat, searchEnd, downloadUrl, loadStats, setTableHeight, updateCurrentRow, doAction, itemKey, refreshTableColumns, calculatingRowHeight, emit, operationLoading, getPage };
|
|
376
|
+
model.value.$vue = { searchStrat, searchEnd, downloadUrl, loadStats, setTableHeight, updateCurrentRow, doAction, itemKey, refreshTableColumns, calculatingRowHeight, emit, operationLoading, getPage,toolbarClickHandler };
|
|
377
377
|
model.value.isIframe = props.isIframe
|
|
378
378
|
//自动查询 调用合并列
|
|
379
379
|
if (model.value.listData.length > 0) {
|
|
@@ -384,6 +384,8 @@ function load(data) {
|
|
|
384
384
|
model.value.setStyleRow(model.value.listData);
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
+
model.value.scripts.formData = model.value.formData;
|
|
388
|
+
model.value.scripts.formData.formTable = model.value;
|
|
387
389
|
isLoading.value = false
|
|
388
390
|
emit("loaded");
|
|
389
391
|
setTableHeight()
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
@rowClickHandle="rowClickHandle" @refreshRowHandle="refreshRowHandle" @scrollHandle="scrollHandle"
|
|
20
20
|
@refreshParent="refreshParentHandler" @simpleRouterRefreshHandler="simpleRouterRefreshHandler"
|
|
21
21
|
@closeSideBar="closeSideBar" @popupClickHandler="popupClickHandler" :dragStartItem="dragStartItem"
|
|
22
|
-
:dragStartName="dragStartName"
|
|
22
|
+
:dragStartName="dragStartName" @loadedError="tableLoadedError"
|
|
23
23
|
@flagNotificationParentAfterContentChanged="flagNotificationParentAfterContentChanged"
|
|
24
24
|
@drag="drag"
|
|
25
25
|
>
|
|
@@ -285,6 +285,9 @@ function tableLoaded() {
|
|
|
285
285
|
emit('tableLoaded', refTable.value.model);
|
|
286
286
|
emit('loaded', refTable.value.model);
|
|
287
287
|
}
|
|
288
|
+
function tableLoadedError() {
|
|
289
|
+
pageDisabled.value = false;
|
|
290
|
+
}
|
|
288
291
|
function sideMenuClickHandler(v) {
|
|
289
292
|
drowerClose.value = v;
|
|
290
293
|
let popoverCallTels = document.getElementsByClassName('el-popoverCallTel');
|
|
@@ -47,6 +47,9 @@
|
|
|
47
47
|
</div>
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
|
+
<iframe :src="downloadUrl"
|
|
51
|
+
style="height:0px;width:0px;border-width: 0px;position: absolute;bottom: 0px;display: none;">
|
|
52
|
+
</iframe>
|
|
50
53
|
</div>
|
|
51
54
|
</template>
|
|
52
55
|
<script setup lang="ts">
|
|
@@ -82,6 +85,7 @@ const showScreen = ref(true)
|
|
|
82
85
|
const highScreen = ref(false)
|
|
83
86
|
const model = ref({ searchData: {} })
|
|
84
87
|
const Fields = ref()
|
|
88
|
+
const downloadUrl = ref('')
|
|
85
89
|
searchComplate()
|
|
86
90
|
//初始化数据
|
|
87
91
|
function searchComplate(flagLoad) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<ct-field :vmodel="model">
|
|
3
3
|
<template #Control>
|
|
4
|
+
<div v-if="model.controlType === Enum.ControlType.MultiLineText" style="width: 100%;">
|
|
4
5
|
<el-input :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="change()"
|
|
5
6
|
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly"
|
|
6
7
|
:show-password="model.inputType == 'password'" autocomplete="on" :maxlength="model.maxValue1"
|
|
@@ -9,6 +10,16 @@
|
|
|
9
10
|
<span v-if="model.unitName1">{{ model.unitName1 }}</span>
|
|
10
11
|
</template>
|
|
11
12
|
</el-input>
|
|
13
|
+
<span v-if="model.sufLabel1" class="sufLabel" v-html="model.sufLabel1"></span>
|
|
14
|
+
</div>
|
|
15
|
+
<el-input v-else :type="model.inputType" v-model="model.code1" v-bind="model.attrs" @input="change()"
|
|
16
|
+
:disabled="model.locked" :rows="model.rows" :readonly="model.readonly"
|
|
17
|
+
:show-password="model.inputType == 'password'" autocomplete="on" :maxlength="model.maxValue1"
|
|
18
|
+
:show-word-limit="model.showWordLimit" clearable @keyup.enter.native="search()" class="fieldControl">
|
|
19
|
+
<template #suffix>
|
|
20
|
+
<span v-if="model.unitName1">{{ model.unitName1 }}</span>
|
|
21
|
+
</template>
|
|
22
|
+
</el-input>
|
|
12
23
|
</template>
|
|
13
24
|
<template #Sufbutton v-if="model.moreActionRouter">
|
|
14
25
|
<div style="margin-left: 5px;">
|
|
@@ -23,6 +34,7 @@
|
|
|
23
34
|
<script lang="ts" setup>
|
|
24
35
|
import { initData, changeHandler } from '../../utils/mixins';
|
|
25
36
|
import TextBox from '../../loader/src/TextBox';
|
|
37
|
+
import Enum from '../../utils/Enum'
|
|
26
38
|
const emit = defineEmits(['input', 'change', 'click','search','popupSearchList'])
|
|
27
39
|
const props = defineProps({
|
|
28
40
|
parameterAction: String,
|
package/src/loader/src/Form.js
CHANGED
|
@@ -81,6 +81,11 @@ function loadFromModel(source, isFormList) {
|
|
|
81
81
|
attrValue = Number(attrValue).toFixed(rtn1.decimals1)
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
+
else if (attrKey == 'code1' && (rtn1.controlType === Enum.ControlType.File
|
|
85
|
+
|| rtn1.controlType === Enum.ControlType.SliceUpload || rtn1.controlType === Enum.ControlType.PhotoSelect)
|
|
86
|
+
&& attrValue != undefined && attrValue != null && attrValue != '') {
|
|
87
|
+
rtn1.jsSetFile(attrValue, rtn1);
|
|
88
|
+
}
|
|
84
89
|
rtn1[attrKey] = attrValue;
|
|
85
90
|
if (rtn1.controlType === Enum.ControlType.Tags) {
|
|
86
91
|
rtn1["value"] = JSON.parse(attrValue);
|
|
@@ -964,8 +969,21 @@ function popupSearchListHandler(singleSelectio, field, router, model, Fields, pr
|
|
|
964
969
|
if (typeof callBack === "function" && !router.callBackFunName) {
|
|
965
970
|
callBack(option);
|
|
966
971
|
}
|
|
967
|
-
|
|
968
|
-
|
|
972
|
+
if (typeof option === 'object' && option !== null && option.flagAlert) {
|
|
973
|
+
common.confirm(option.content, option.caption? option.caption : "提示", {
|
|
974
|
+
confirmButtonText: option.confirmButtonText? option.confirmButtonText : "确定",
|
|
975
|
+
cancelButtonText: option.cancelButtonText? option.cancelButtonText : "取消",
|
|
976
|
+
center: Enum.HalignType.Center
|
|
977
|
+
}).then(() => {
|
|
978
|
+
model.$vue.changeCallBackHandler(field, router.callBackFunName, option);
|
|
979
|
+
common.closeDialog(dialogOption);
|
|
980
|
+
}).catch(() => {
|
|
981
|
+
});
|
|
982
|
+
}
|
|
983
|
+
else {
|
|
984
|
+
model.$vue.changeCallBackHandler(field, router.callBackFunName, option);
|
|
985
|
+
common.closeDialog(dialogOption);
|
|
986
|
+
}
|
|
969
987
|
}
|
|
970
988
|
},
|
|
971
989
|
}]
|
|
@@ -1020,31 +1038,31 @@ function popupGroupListHandler(field, router, model, Fields, props, callBack) {
|
|
|
1020
1038
|
return;
|
|
1021
1039
|
}
|
|
1022
1040
|
submitData = router.getActionPara(submitData).para;
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
}
|
|
1042
|
-
model.$vue.changeCallBackHandler(field, router.callBackFunName, option);
|
|
1043
|
-
common.closeDialog(dialogOption);
|
|
1041
|
+
var dialogOption = {
|
|
1042
|
+
title: router.pageTitle,
|
|
1043
|
+
pane: common.getParentPane(),
|
|
1044
|
+
content: [{
|
|
1045
|
+
component: 'ct-popupgrouplist',
|
|
1046
|
+
width: router.pageWidth + 'px',
|
|
1047
|
+
height: (router.pageHeight || 500) + 'px',
|
|
1048
|
+
documentHeight: props.documentHeight,
|
|
1049
|
+
documentWidth: props.documentWidth,
|
|
1050
|
+
attrs: {
|
|
1051
|
+
searchConditionApi: router.actionForSearchLayout,
|
|
1052
|
+
searchFormApi: router.actionForSearchLayout,
|
|
1053
|
+
searchDataApi: router.actionForSearch,
|
|
1054
|
+
apiParam: submitData,
|
|
1055
|
+
flagPopupSearchlist: flagSearchlist,
|
|
1056
|
+
onSubmit: (option) => {
|
|
1057
|
+
if (typeof callBack === "function" && !router.callBackFunName) {
|
|
1058
|
+
callBack(option);
|
|
1044
1059
|
}
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1060
|
+
model.$vue.changeCallBackHandler(field, router.callBackFunName, option);
|
|
1061
|
+
common.closeDialog(dialogOption);
|
|
1062
|
+
}
|
|
1063
|
+
},
|
|
1064
|
+
}]
|
|
1065
|
+
};
|
|
1048
1066
|
common.openDialog(dialogOption);
|
|
1049
1067
|
}
|
|
1050
1068
|
function getFileData(field, model) {
|
|
@@ -1082,10 +1100,10 @@ function changeHandler(field, model) {
|
|
|
1082
1100
|
var router = model.actionRouters.find((v) => {
|
|
1083
1101
|
return v.id === field.onAfterChanged;
|
|
1084
1102
|
});
|
|
1085
|
-
if(router){
|
|
1103
|
+
if (router) {
|
|
1086
1104
|
clickHandler(router);
|
|
1087
1105
|
}
|
|
1088
|
-
else{
|
|
1106
|
+
else {
|
|
1089
1107
|
if (model.scripts) {
|
|
1090
1108
|
model.scripts.formData.setExcuteListData(model.fields);
|
|
1091
1109
|
}
|
|
@@ -32,6 +32,16 @@ const loadModel = function (source, fileSourceList, router, optionApi, sourceLis
|
|
|
32
32
|
}
|
|
33
33
|
return rtn._fileList;
|
|
34
34
|
},
|
|
35
|
+
//外部调用赋值
|
|
36
|
+
jsSetFile(data, model) {
|
|
37
|
+
var photos = JSON.parse(data);
|
|
38
|
+
photos.forEach((v) => {
|
|
39
|
+
if (model.fileSourceList.length < parseInt(model.maxValue1 || 999)) {
|
|
40
|
+
model.fileList.push(v);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
PhotoSelect.setSelectfileSourceList(model.fileList, model);
|
|
44
|
+
},
|
|
35
45
|
getFormObj() {
|
|
36
46
|
var rtnFormObj = {};
|
|
37
47
|
var self = this;
|
|
@@ -95,7 +105,7 @@ function setSelectfileSourceList(newfileList, model) {
|
|
|
95
105
|
let item = newfileList.find(v => {
|
|
96
106
|
return v.mediaID === model.fileSourceList[i].mediaID;
|
|
97
107
|
});
|
|
98
|
-
if(!item){
|
|
108
|
+
if (!item) {
|
|
99
109
|
model.fileSourceList[i].flagDefault = false;
|
|
100
110
|
model.fileSourceList[i].flagDeleted = true;
|
|
101
111
|
pushArr.push(model.fileSourceList[i])
|
|
@@ -32,6 +32,22 @@ function loadSearchTableApi(action, callBack, searchModel, flagSearch, defaultSe
|
|
|
32
32
|
}
|
|
33
33
|
function loadSearchTableModel(source, searchModel, defaultSearchData, action, searchAction) {
|
|
34
34
|
var rtn = {
|
|
35
|
+
formData: {
|
|
36
|
+
formTable: null,
|
|
37
|
+
execRouter(routerKey) {
|
|
38
|
+
var router = this.formTable.buttons.find((v) => {
|
|
39
|
+
return v.key === routerKey;
|
|
40
|
+
});
|
|
41
|
+
if(router){
|
|
42
|
+
this.formTable.$vue.toolbarClickHandler(router);
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
//消息提示 type主题:success/warning/info/error。 duration 显示时间, 毫秒。设为 0 则不会自动关闭。 showClose 是否显示关闭按钮。
|
|
46
|
+
message(message, type, center, duration, showClose, dangerouslyUseHTMLString) {
|
|
47
|
+
common.message(message, type, center, duration, showClose, dangerouslyUseHTMLString)
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
},
|
|
35
51
|
selectAll: false,//全选是否选中
|
|
36
52
|
selectIndex: 0,//选中行的索引
|
|
37
53
|
pageIndex: 1,//当前显示页数
|
|
@@ -46,6 +62,20 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
|
|
|
46
62
|
rightShadow: -1, //右阴影个数
|
|
47
63
|
toolbarKey: 0,
|
|
48
64
|
downloadUrl: '',
|
|
65
|
+
_scripts: null,
|
|
66
|
+
get scripts() {
|
|
67
|
+
if (rtn._scripts !== null) {
|
|
68
|
+
return rtn._scripts;
|
|
69
|
+
} else {
|
|
70
|
+
if (typeof source.scripts !== 'undefined') {
|
|
71
|
+
rtn._scripts = base.common.eval(source.scripts);
|
|
72
|
+
return rtn._scripts;
|
|
73
|
+
} else {
|
|
74
|
+
rtn._scripts = {};
|
|
75
|
+
return rtn._scripts;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
49
79
|
//列表标题
|
|
50
80
|
get title() {
|
|
51
81
|
return source.content.title;
|
|
@@ -576,13 +606,13 @@ function loadSearchTableModel(source, searchModel, defaultSearchData, action, se
|
|
|
576
606
|
//设置行样式
|
|
577
607
|
setStyleRow(rows) {
|
|
578
608
|
rows.forEach((row) => {
|
|
579
|
-
if (!row.rowStyle) {
|
|
609
|
+
if (!row.rowStyle) {
|
|
580
610
|
row.rowStyle = "";
|
|
581
611
|
}
|
|
582
612
|
if (rtn.rowColorColumn && row[rtn.rowColorColumn]) {
|
|
583
613
|
row.rowStyle = row.rowStyle + "color:" + row[rtn.rowColorColumn] + ";";
|
|
584
614
|
}
|
|
585
|
-
|
|
615
|
+
if (row.flagDrag && row.flagDrag == '1') {
|
|
586
616
|
row.rowStyle = row.rowStyle + "cursor:move;";
|
|
587
617
|
}
|
|
588
618
|
});
|
package/src/main.js
CHANGED
|
@@ -64,7 +64,7 @@ app.use(centaline, {
|
|
|
64
64
|
//authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQBe-ydVay1xvvOl3sJA2HiPIxElSIJBIIcXdAQEfPFK-YZt4Nlm2EChqtDafOYWqpRG6kxLoTxZhUTSRxHLUPH_DHfOmt5SDWt1gHScieHapNiol94q5pXYoNFJAvJ6isGHWmNMYVcBjWtyCr_iW2JZ93-fqPc8f18MwGIqFRCIO1GXmWGYd9npCZJ6N5JjYZ7g8AAAD__w.HgtNKtHWooj8c9Hy_vB8CfKq-qOeHMp0irnW0DfXtHo"}',
|
|
65
65
|
//oldToken: 'd92d4a3b-2274-42e8-96f0-100ffb579b6e',
|
|
66
66
|
//authObject: '{token:"1-7acf3f06-c2ea-471c-a5fa-07e1c2a81728"}',
|
|
67
|
-
authObject: '{EmpID:"
|
|
67
|
+
authObject: '{EmpID:"Token_5f3cda7e-a0b5-4899-8231-f6a4aaae661b",MachineCode:"7a216b39-84af-43bb-842b-07604ac37a10",SSO_Token:"SSOToken_5f3cda7e-a0b5-4899-8231-f6a4aaae661b",Platform:"WEB"}',
|
|
68
68
|
};
|
|
69
69
|
},
|
|
70
70
|
// 请求完成事件,可判断是否登录过期执行响应操作
|
package/src/utils/mixins.js
CHANGED
|
@@ -876,7 +876,7 @@ export function RouterClickHandler(field, submitData, action, model, source, cal
|
|
|
876
876
|
}
|
|
877
877
|
model.$vue.updateCurrentRow(field, res);
|
|
878
878
|
}
|
|
879
|
-
});
|
|
879
|
+
}, model.scripts);
|
|
880
880
|
}).catch(() => {
|
|
881
881
|
});
|
|
882
882
|
}
|
|
@@ -1599,6 +1599,7 @@ export function RouterMouseenterHandler(field, submitData, action, model, source
|
|
|
1599
1599
|
cancelButtonText: '取消',
|
|
1600
1600
|
type: 'warning'
|
|
1601
1601
|
}).then(() => {
|
|
1602
|
+
|
|
1602
1603
|
submitData.flagHaveAlert = '1';
|
|
1603
1604
|
field.doAction(submitData, (res) => {
|
|
1604
1605
|
if (res.rtnCode === Enum.ReturnCode.Successful) {
|
package/src/views/Form.vue
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="data-driven" id="app-form" >
|
|
3
3
|
|
|
4
|
-
<ct-form :api="'/
|
|
4
|
+
<ct-form :api="'/PropertyPublish/readDetail'" :apiParam="apiParam" :flagNavbar="true"></ct-form>
|
|
5
5
|
<!-- <ct-form :api="'/api/third-dept-tran/tran-comm-adjust/task'" :apiParam="apiParam"></ct-form> -->
|
|
6
6
|
<!-- <ct-form :api="'/PropertyTranToActive/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
|
|
7
7
|
<!-- <ct-textbox :source="source"></ct-textbox> -->
|
|
@@ -10,6 +10,5 @@
|
|
|
10
10
|
</template>
|
|
11
11
|
<script lang="ts" setup>
|
|
12
12
|
//const apiParam={"originalTraId":"1739561435204980737","actionType":1,"pageStyle":2,"pageTitle":"成交报告","pageOnly":true}
|
|
13
|
-
const apiParam={"actionType":2,"
|
|
14
|
-
const source={"controlType":2,"showLabel":true,"controlLabel":"制度标识","groupExpand":false,"singleLine":false,"rows":1,"required":true,"spanCols":1,"locked":false,"autoFill":false,"searchDataType":1,"searchOperation":1,"displayLabelAfterSelected":true,"autoSearch":false,"mediaViewPageType":1,"fieldName1":"WorkSystemID","code1":"CD","name1":"","decimals1":-1,"maxValue1":"50","preLabel1":"","sufLabel1":"","fieldName2":"","code2":"","name2":"","decimals2":-1,"decimals3":0,"decimals4":-1,"width":200,"applyNew":1,"applyEdit":1,"applyBrowse":1}
|
|
13
|
+
const apiParam={"actionType":2,propertyCode: "B9D0D330-95B2-4D5D-B6DB-EB0D62B7BF5A",sitePlatformID: "10"}
|
|
15
14
|
</script>
|