centaline-data-driven-v3 0.1.39 → 0.1.40
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 +259 -259
- package/package.json +2 -1
- package/src/assets/commonWeb.css +4 -1
- package/src/components/web/Cron.vue +194 -0
- package/src/components/web/DatePicker.vue +2 -2
- package/src/components/web/JsonViewer.vue +1 -1
- package/src/components/web/SearchScreen.vue +4 -2
- package/src/components/web/dialog.vue +9 -1
- package/src/loader/src/Cron.js +11 -0
- package/src/loader/src/DatePicker.js +3 -7
- package/src/loader/src/LibFunction.js +5 -0
- package/src/main.js +4 -2
- package/src/utils/Enum.js +6 -1
- package/src/utils/mixins.js +50 -0
- package/src/views/Form.vue +2 -2
- package/src/views/SearchList.vue +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "centaline-data-driven-v3",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.40",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "centaline-data-driven-v3",
|
|
6
6
|
"main": "dist/centaline-data-driven-v3.umd.js",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"vue-cropper": "^1.1.1",
|
|
26
26
|
"vue-router": "^4.2.5",
|
|
27
27
|
"vue-ueditor-wrap": "^3.0.8",
|
|
28
|
+
"vue3-cron-plus-picker": "^1.0.2",
|
|
28
29
|
"vue3-json-viewer": "^2.4.1",
|
|
29
30
|
"vue3-pdf-app": "^1.0.3",
|
|
30
31
|
"vuedraggable": "^4.1.0"
|
package/src/assets/commonWeb.css
CHANGED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ct-field :vmodel="model" v-if="model">
|
|
3
|
+
<template #Control>
|
|
4
|
+
<el-input v-model="model.code1" :placeholder="点击选择" @click="showCron = true" />
|
|
5
|
+
<el-dialog v-model="showCron" title="" width="700px" append-to-body>
|
|
6
|
+
<Vue3CronPlusPicker :expression="model.code1" class="cron-plus-picker" :teleported="true"
|
|
7
|
+
@fill="val => { model.code1 = val; showCron = false }" @hide="showCron = false" />
|
|
8
|
+
</el-dialog>
|
|
9
|
+
</template>
|
|
10
|
+
</ct-field>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script setup>
|
|
14
|
+
import { Vue3CronPlusPicker } from 'vue3-cron-plus-picker'
|
|
15
|
+
import 'vue3-cron-plus-picker/style.css'
|
|
16
|
+
import { nextTick, ref, onMounted } from "vue";
|
|
17
|
+
const props = defineProps({
|
|
18
|
+
api: String,
|
|
19
|
+
vmodel: Object,
|
|
20
|
+
actionRouter: Array,
|
|
21
|
+
listHeight: Number,
|
|
22
|
+
})
|
|
23
|
+
const model = ref(null);
|
|
24
|
+
|
|
25
|
+
const showCron = ref(false)
|
|
26
|
+
|
|
27
|
+
init()
|
|
28
|
+
//初始化数据
|
|
29
|
+
function init() {
|
|
30
|
+
nextTick(function () {
|
|
31
|
+
if (props.vmodel) {
|
|
32
|
+
load(props.vmodel);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function load(data) {
|
|
37
|
+
model.value = data;
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
<style scoped>
|
|
41
|
+
.cron-plus-picker :deep(.el-input__wrapper) {
|
|
42
|
+
align-items: center;
|
|
43
|
+
background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
|
|
44
|
+
background-image: none;
|
|
45
|
+
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
46
|
+
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
47
|
+
cursor: text;
|
|
48
|
+
display: inline-flex;
|
|
49
|
+
flex-grow: 1;
|
|
50
|
+
justify-content: center;
|
|
51
|
+
padding: 1px 11px;
|
|
52
|
+
transform: translateZ(0);
|
|
53
|
+
transition: var(--el-transition-box-shadow);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.cron-plus-picker :deep(.el-input--small) {
|
|
57
|
+
--el-input-inner-height: calc(var(--el-input-height, 24px) - 2px);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.cron-plus-picker :deep(.el-input--small),
|
|
61
|
+
.cron-plus-picker :deep(.el-input) {
|
|
62
|
+
--el-input-height: var(--el-component-size-small);
|
|
63
|
+
font-size: 12px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/* 使用更精确的选择器,避免全局覆盖 */
|
|
67
|
+
.cron-plus-picker :deep(.el-input .el-input__wrapper) {
|
|
68
|
+
align-items: center;
|
|
69
|
+
background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
|
|
70
|
+
background-image: none;
|
|
71
|
+
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
72
|
+
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
73
|
+
cursor: text;
|
|
74
|
+
display: inline-flex;
|
|
75
|
+
flex-grow: 1;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
padding: 1px 11px;
|
|
78
|
+
transform: translateZ(0);
|
|
79
|
+
transition: var(--el-transition-box-shadow);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.cron-plus-picker :deep(.el-select__wrapper) {
|
|
83
|
+
|
|
84
|
+
min-height: 24px;
|
|
85
|
+
/* 使用 min-height 而不是 height */
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.cron-plus-picker :deep(.el-radio.el-radio--small) {
|
|
89
|
+
height: 24px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.cron-plus-picker :deep(.el-select) {
|
|
93
|
+
--el-select-border-color-hover: var(--el-border-color-hover);
|
|
94
|
+
--el-select-disabled-color: var(--el-disabled-text-color);
|
|
95
|
+
--el-select-disabled-border: var(--el-disabled-border-color);
|
|
96
|
+
--el-select-font-size: var(--el-font-size-base);
|
|
97
|
+
--el-select-close-hover-color: var(--el-text-color-secondary);
|
|
98
|
+
--el-select-input-color: var(--el-text-color-placeholder);
|
|
99
|
+
--el-select-multiple-input-color: var(--el-text-color-regular);
|
|
100
|
+
--el-select-input-focus-border-color: var(--el-color-primary);
|
|
101
|
+
--el-select-input-font-size: 14px;
|
|
102
|
+
--el-select-width: 100%;
|
|
103
|
+
display: inline-block;
|
|
104
|
+
position: relative;
|
|
105
|
+
vertical-align: middle;
|
|
106
|
+
width: var(--el-select-width);
|
|
107
|
+
z-index: 100;
|
|
108
|
+
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* 修改Cron组件的样式 - 区分焦点和非焦点状态 */
|
|
112
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-input__wrapper),
|
|
113
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-select__wrapper),
|
|
114
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-textarea__inner) {
|
|
115
|
+
box-shadow: 0 0 0 1px var(--el-border-color) inset;
|
|
116
|
+
/* 非焦点状态 */
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-input__wrapper.is-focus),
|
|
120
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-input__wrapper:focus),
|
|
121
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-select__wrapper.is-focus),
|
|
122
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-select__wrapper:focus),
|
|
123
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-textarea__inner.is-focus),
|
|
124
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-textarea__inner:focus) {
|
|
125
|
+
box-shadow: 0 0 0 1px var(--el-color-primary) inset !important;
|
|
126
|
+
/* 焦点状态 - 蓝色 */
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* hover状态保持原来的灰色 */
|
|
130
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-input__wrapper:hover),
|
|
131
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-select__wrapper:hover),
|
|
132
|
+
.cron-plus-picker :deep(.el-form-item.is-error .el-textarea__inner:hover) {
|
|
133
|
+
box-shadow: 0 0 0 1px var(--el-text-color-secondary) inset;
|
|
134
|
+
/* hover时也保持灰色 */
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.cron-plus-picker :deep(.el-radio) {
|
|
138
|
+
--el-radio-font-size: var(--el-font-size-base);
|
|
139
|
+
--el-radio-text-color: var(--el-text-color-regular);
|
|
140
|
+
--el-radio-font-weight: var(--el-font-weight-primary);
|
|
141
|
+
--el-radio-input-height: 12px;
|
|
142
|
+
--el-radio-input-width: 12px;
|
|
143
|
+
--el-radio-input-border-radius: var(--el-border-radius-circle);
|
|
144
|
+
--el-radio-input-bg-color: var(--el-fill-color-blank);
|
|
145
|
+
--el-radio-input-border: var(--el-border);
|
|
146
|
+
--el-radio-input-border-color: var(--el-border-color);
|
|
147
|
+
--el-radio-input-border-color-hover: var(--el-color-primary);
|
|
148
|
+
align-items: center;
|
|
149
|
+
color: var(--el-radio-text-color);
|
|
150
|
+
cursor: pointer;
|
|
151
|
+
display: inline-flex;
|
|
152
|
+
font-size: var(--el-font-size-base);
|
|
153
|
+
font-weight: var(--el-radio-font-weight);
|
|
154
|
+
height: 32px;
|
|
155
|
+
margin-right: 30px;
|
|
156
|
+
outline: none;
|
|
157
|
+
position: relative;
|
|
158
|
+
-webkit-user-select: none;
|
|
159
|
+
-moz-user-select: none;
|
|
160
|
+
user-select: none;
|
|
161
|
+
white-space: nowrap;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.cron-plus-picker :deep(.el-radio:last-child) {
|
|
165
|
+
margin-right: 0;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.cron-plus-picker :deep(.el-checkbox.el-checkbox--small .el-checkbox__inner),
|
|
169
|
+
.cron-plus-picker :deep(.el-radio.el-radio--small .el-radio__inner) {
|
|
170
|
+
width: 12px;
|
|
171
|
+
height: 12px;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* 1. 让内部 el-select 继续用 ElementPlus 的公共骨架,我们只覆盖 mini 尺寸变量 */
|
|
175
|
+
.cron-plus-picker :deep(.el-radio--small) {
|
|
176
|
+
font-size: 12px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.cron-plus-picker :deep(.el-radio--small .el-select__wrapper) {
|
|
180
|
+
height: 24px;
|
|
181
|
+
line-height: 24px;
|
|
182
|
+
padding: 0 7px 0 11px;
|
|
183
|
+
/* 左右各缩 4px,与官网 mini 保持一致 */
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.cron-plus-picker :deep(.el-form-item--small) {
|
|
187
|
+
margin-bottom: 18px;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.cron-plus-picker :deep(.el-select__placeholder) {
|
|
191
|
+
pointer-events: none;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
</style>
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
</DateTimePicker>
|
|
23
23
|
</template>
|
|
24
24
|
<template v-else>
|
|
25
|
-
<el-date-picker v-model="model.code1" :type="model.dateType" v-bind="model.attrs"
|
|
25
|
+
<el-date-picker v-model="model.code1" :type="model.dateType" v-bind="model.attrs" :format="model.format"
|
|
26
26
|
:disabled="model.locked" :disabled-date="disabledDate" @change="changeHandler(model, emit)"
|
|
27
27
|
class="fieldControl" />
|
|
28
28
|
<span class="range-span" v-if="model.flagrange"> - </span>
|
|
29
|
-
<el-date-picker v-if="model.flagrange" v-model="model.code2" :type="model.dateType"
|
|
29
|
+
<el-date-picker v-if="model.flagrange" v-model="model.code2" :type="model.dateType" :format="model.format"
|
|
30
30
|
v-bind="model.attrs" :disabled="model.locked" :disabled-date="disabledDate"
|
|
31
31
|
@change="changeHandler(model, emit)" class="fieldControl" />
|
|
32
32
|
</template>
|
|
@@ -24,7 +24,7 @@ import { JsonViewer } from "vue3-json-viewer"
|
|
|
24
24
|
import "vue3-json-viewer/dist/vue3-json-viewer.css";
|
|
25
25
|
import { useDistanceCalculator } from '../../utils/distance-utils.js';
|
|
26
26
|
|
|
27
|
-
import { nextTick, ref, onMounted
|
|
27
|
+
import { nextTick, ref, onMounted} from "vue";
|
|
28
28
|
const props = defineProps({
|
|
29
29
|
api: String,
|
|
30
30
|
vmodel: Object,
|
|
@@ -180,8 +180,10 @@ function searchHandler(field) {
|
|
|
180
180
|
SearchScreen.hiddenHandle(v, model.value);
|
|
181
181
|
SearchScreen.displayHandle(v, model.value);
|
|
182
182
|
})
|
|
183
|
-
if (
|
|
184
|
-
|
|
183
|
+
if (field.autoSearch) {
|
|
184
|
+
if (validExcute()) {
|
|
185
|
+
emit('resetSearch', model.value);
|
|
186
|
+
}
|
|
185
187
|
}
|
|
186
188
|
break;
|
|
187
189
|
default:
|
|
@@ -12,6 +12,7 @@ const contentTop = ref(0)
|
|
|
12
12
|
const content = ref()
|
|
13
13
|
const captionBarButtons = ref([])
|
|
14
14
|
const modelSelf = ref(null)
|
|
15
|
+
const submitCancelData= ref(null)
|
|
15
16
|
onBeforeUnmount(()=>{
|
|
16
17
|
modelSelf.value=null
|
|
17
18
|
})
|
|
@@ -23,7 +24,7 @@ onActivated(() => {
|
|
|
23
24
|
function close() {
|
|
24
25
|
emit('close', props);
|
|
25
26
|
if (props.vmodel.content[0].component != 'ct-iframe' && props.vmodel.content[0].attrs && typeof props.vmodel.content[0].attrs["onCloseDialog"] === "function") {
|
|
26
|
-
props.vmodel.content[0].attrs["onCloseDialog"]();
|
|
27
|
+
props.vmodel.content[0].attrs["onCloseDialog"](submitCancelData.value);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
function scrollHandle(ev) {
|
|
@@ -159,6 +160,13 @@ const render = () => {
|
|
|
159
160
|
close();
|
|
160
161
|
}
|
|
161
162
|
}
|
|
163
|
+
|
|
164
|
+
//加载失败关闭弹框
|
|
165
|
+
if (!item.attrs.onSubmitCancel) {
|
|
166
|
+
item.attrs.onSubmitCancel = (ev) => {
|
|
167
|
+
submitCancelData.value = ev;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
162
170
|
//此行代码是为了防止弹出的窗口高度 大于父级页面的高度
|
|
163
171
|
//暂时注释 高度由接口控制
|
|
164
172
|
var ph = 0;
|
|
@@ -41,13 +41,6 @@ const DatePicker = function (source) {
|
|
|
41
41
|
|
|
42
42
|
if (this.flagtime) {
|
|
43
43
|
dateformat = 'HH:mm';
|
|
44
|
-
if (source.paramName1 && source.paramName1.length >= 2) {
|
|
45
|
-
dateformat = source.paramName1;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
else if (source.paramName1 && source.paramName1.length >= 10) {
|
|
50
|
-
dateformat = source.paramName1;
|
|
51
44
|
}
|
|
52
45
|
else if (source.controlType == Enum.ControlType.DateTime || source.controlType == Enum.ControlType.DateTimeRange) {
|
|
53
46
|
dateformat = 'YYYY-MM-DD HH:mm';
|
|
@@ -55,6 +48,9 @@ const DatePicker = function (source) {
|
|
|
55
48
|
else if (source.controlType == Enum.ControlType.DateYearMonth) {
|
|
56
49
|
dateformat = 'YYYY-MM';
|
|
57
50
|
}
|
|
51
|
+
if (source.paramName1) {
|
|
52
|
+
dateformat = source.paramName1;
|
|
53
|
+
}
|
|
58
54
|
return dateformat
|
|
59
55
|
},
|
|
60
56
|
get minuteStep() {
|
|
@@ -24,6 +24,7 @@ import Tags from './Tags';
|
|
|
24
24
|
import Location from './Location';
|
|
25
25
|
import AIChat from './AIChat';
|
|
26
26
|
import JsonViewer from './JsonViewer';
|
|
27
|
+
import Cron from './Cron';
|
|
27
28
|
const LibFunction = {
|
|
28
29
|
install(app) {
|
|
29
30
|
},
|
|
@@ -279,6 +280,10 @@ const LibFunction = {
|
|
|
279
280
|
item = JsonViewer.loadJsonViewerModel(item);
|
|
280
281
|
item.is = 'ct-jsonviewer';
|
|
281
282
|
break;
|
|
283
|
+
case Enum.ControlType.Cron: //Cron表达式控件
|
|
284
|
+
item = Cron(item)
|
|
285
|
+
item.is = 'ct-cron'
|
|
286
|
+
break;
|
|
282
287
|
default:
|
|
283
288
|
item = Label(item)
|
|
284
289
|
item.is = 'ct-label'
|
package/src/main.js
CHANGED
|
@@ -21,7 +21,7 @@ for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
app.use(centaline, {
|
|
24
|
-
baseUrl: "http://10.88.22.
|
|
24
|
+
baseUrl: "http://10.88.22.46:20808/service-api/",
|
|
25
25
|
//baseUrl:"http://10.88.22.13:7070/onecard-api/",
|
|
26
26
|
//baseUrl: "https://kq-api.centaline.com.cn/onecard-api/",
|
|
27
27
|
//baseUrl: "http://10.88.22.13:6060/onecard-api/",
|
|
@@ -65,7 +65,9 @@ app.use(centaline, {
|
|
|
65
65
|
//获取请求头
|
|
66
66
|
getRequestHeaders: function () {
|
|
67
67
|
return {
|
|
68
|
-
|
|
68
|
+
|
|
69
|
+
AuthorizationCode:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjI3NjY3NmE5LWE5ZDEtNDJhNy05N2UwLWZjYjM4ZmM4NGExYiJ9.NMtc9T_b_BHBj1Ru6_BsVrlkUiptS4EKrrMsx9i7FScbcpGSnQqd1JnQ0ObEu_kwkNAqvMA4LDHuve1DsS8hkA',
|
|
70
|
+
authobject: '{"currentEstate":{},"platform":1,"osVersion":"","clientVersion":"","machineCode":"f1fe9ca3d9c88ffd7d1298227dbb4def","token":"","random":"c6HfeQ","time":1766043585321,"sign":""}',
|
|
69
71
|
//oldToken: 'd92d4a3b-2274-42e8-96f0-100ffb579b6e',
|
|
70
72
|
//authObject: '{token:"jiangzf-1958445358178844672",platform:"WEB"}',
|
|
71
73
|
//authObject: '{EmpID:"Token_4e09499b-4b76-46df-9ce5-5498d48ed062",MachineCode:"ae184643-f8e2-453c-a752-ba82612b592f",SSO_Token:"SSOToken_4e09499b-4b76-46df-9ce5-5498d48ed062",Platform:"WEB"}',
|
package/src/utils/Enum.js
CHANGED
package/src/utils/mixins.js
CHANGED
|
@@ -310,6 +310,9 @@ export function RouterClickHandler(field, submitData, action, model, source, cal
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
model.$vue.emit('submit', { formData: model, responseData: data });
|
|
313
|
+
}, () => {
|
|
314
|
+
model.$vue.emit('submitCancel', { formData: model, responseData: data });
|
|
315
|
+
model.$vue.init();
|
|
313
316
|
}).catch(() => {
|
|
314
317
|
model.$vue.init();
|
|
315
318
|
});
|
|
@@ -788,6 +791,53 @@ export function RouterClickHandler(field, submitData, action, model, source, cal
|
|
|
788
791
|
}
|
|
789
792
|
common.closeDialog(dialogOption);
|
|
790
793
|
},
|
|
794
|
+
onCloseDialog: (ev) => {
|
|
795
|
+
if (ev) {
|
|
796
|
+
if (source == 'table') {
|
|
797
|
+
if (ev.responseData.notification == Enum.ActionType.UpdateColumns) {
|
|
798
|
+
//更新列
|
|
799
|
+
model.$vue.refreshTableColumns();
|
|
800
|
+
}
|
|
801
|
+
else if (ev.responseData.notification == Enum.ActionType.Delete
|
|
802
|
+
|| ev.responseData.notification == Enum.ActionType.Refersh
|
|
803
|
+
) {
|
|
804
|
+
model.$vue.doAction(ev);
|
|
805
|
+
model.$vue.loadStats();
|
|
806
|
+
}
|
|
807
|
+
else {
|
|
808
|
+
if (!field.flagFreshCurrentRow && !field.flagAddRowAfterAction) {
|
|
809
|
+
model.$vue.doAction(ev);
|
|
810
|
+
let response = ev;
|
|
811
|
+
if (response.responseData) {
|
|
812
|
+
response = response.responseData;
|
|
813
|
+
}
|
|
814
|
+
if (response.notification === Enum.ActionType.Delete || response.notification === Enum.ActionType.CloseTabThenDelete) {
|
|
815
|
+
model.$vue.loadStats();
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
model.$vue.updateCurrentRow(field, ev);
|
|
819
|
+
if (ev.responseData && ev.responseData.notification === Enum.ActionType.Router) {
|
|
820
|
+
setTimeout(() => {
|
|
821
|
+
routerClickHandler(model.getRtnRouter(ev.responseData.content), {}, action, model, source);
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
else {
|
|
827
|
+
if (callBack) {
|
|
828
|
+
callBack(ev.responseData.content[0]);
|
|
829
|
+
}
|
|
830
|
+
if (ev.responseData && ev.responseData.notification === Enum.ActionType.Refersh) {
|
|
831
|
+
model.$vue.init();
|
|
832
|
+
}
|
|
833
|
+
else {
|
|
834
|
+
if (model.$vue && model.$vue.updateFields) {
|
|
835
|
+
model.$vue.updateFields(ev);
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
},
|
|
791
841
|
isIframe: model.isIframe,
|
|
792
842
|
},
|
|
793
843
|
}]
|
package/src/views/Form.vue
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
|
|
3
|
-
<ct-form :api="'/
|
|
3
|
+
<ct-form :api="'/jobschedulingmanage/JobManage/readDetail'" :apiParam="apiParam"></ct-form>
|
|
4
4
|
<!-- <ct-textbox :source="source"></ct-textbox> -->
|
|
5
5
|
<ct-dialoglist ref="dialogList"></ct-dialoglist>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
8
8
|
<script lang="ts" setup>
|
|
9
|
-
const apiParam={"
|
|
9
|
+
const apiParam={"actionType":2}
|
|
10
10
|
</script>
|
package/src/views/SearchList.vue
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-search" style="width:100%;height:100%;position: fixed;">
|
|
3
|
-
<ct-searchlist :apiParam="apiParam" :searchConditionApi="'/
|
|
4
|
-
|
|
5
|
-
:searchDataApi="'/
|
|
3
|
+
<ct-searchlist :apiParam="apiParam" :searchConditionApi="'/comprehensive/ApplicationList/getLayoutOfSearch'"
|
|
4
|
+
|
|
5
|
+
:searchDataApi="'/comprehensive/ApplicationList/getList'"></ct-searchlist>
|
|
6
6
|
|
|
7
7
|
<!-- <ct-searchlist :apiParam="apiParam" :searchConditionApi="'/EmployeeMaternityList/getLayoutOfSearch'"
|
|
8
8
|
:searchDataApi="'/EmployeeMaternityList/getListOfSearchModel'"></ct-searchlist> -->
|