lw-cdp-ui 1.2.48 → 1.2.49
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/package.json +1 -1
- package/dist/assets/images/empty.jpg +0 -0
- package/dist/assets/images/login.svg +0 -558
- package/dist/assets/images/logo.jpg +0 -0
- package/dist/assets/images/logo.svg +0 -78
- package/dist/assets/images/logo1.svg +0 -86
- package/dist/assets/images/register.svg +0 -351
- package/dist/components/lwCronSelect/index.vue +0 -218
- package/dist/components/lwFlow/components/lfControl.vue +0 -126
- package/dist/components/lwFlow/components/lfNodePanel.vue +0 -98
- package/dist/components/lwFlow/config/dagre.js +0 -279
- package/dist/components/lwFlow/config/nodesList.js +0 -243
- package/dist/components/lwFlow/index.vue +0 -781
- package/dist/components/lwFlow/nodeEdit/audienceReceive.vue +0 -262
- package/dist/components/lwFlow/nodeEdit/basicSettings.vue +0 -88
- package/dist/components/lwFlow/nodeEdit/eventReceive.vue +0 -145
- package/dist/components/lwFlow/nodeEdit/index.vue +0 -306
- package/dist/components/lwFlow/nodeEdit/sms.vue +0 -107
- package/dist/components/lwFlow/nodeEdit/styleSettings.vue +0 -236
- package/dist/components/lwFlow/nodes/basisEnd.js +0 -56
- package/dist/components/lwFlow/nodes/basisStart.js +0 -56
- package/dist/components/lwFlow/nodes/custom.js +0 -129
- package/dist/components/lwFlow/nodes/et2lTable.js +0 -132
- package/dist/components/lwFlow/nodesData/datas/audienceReceive.js +0 -137
- package/dist/components/lwFlow/nodesData/datas/base.js +0 -190
- package/dist/components/lwFlow/nodesData/datas/collap.js +0 -95
- package/dist/components/lwFlow/nodesData/datas/eventReceive.js +0 -106
- package/dist/components/lwFlow/nodesData/datas/expand.js +0 -85
- package/dist/components/lwFlow/nodesData/datas/filter.js +0 -85
- package/dist/components/lwFlow/nodesData/datas/joiner.js +0 -96
- package/dist/components/lwFlow/nodesData/datas/mapper.js +0 -111
- package/dist/components/lwFlow/nodesData/datas/reduce.js +0 -69
- package/dist/components/lwFlow/nodesData/datas/sms.js +0 -69
- package/dist/components/lwFlow/nodesData/datas/source.js +0 -142
- package/dist/components/lwFlow/nodesData/datas/target.js +0 -95
- package/dist/components/lwFlow/nodesData/datas/timer.js +0 -180
- package/dist/components/lwFlow/nodesData/index.js +0 -41
- package/dist/components/lwForm/index.vue +0 -631
- package/dist/components/lwFormJson/JsonItem.vue +0 -302
- package/dist/components/lwFormJson/StatsConfig.vue +0 -544
- package/dist/components/lwFormJson/TreeItem.vue +0 -149
- package/dist/components/lwFormJson/index.vue +0 -362
- package/dist/components/lwFormJson/menuList.js +0 -324
- package/dist/components/lwFormMini/FormItem.vue +0 -466
- package/dist/components/lwFormMini/ViewItem.vue +0 -391
- package/dist/components/lwFormMini/index.vue +0 -421
- package/dist/components/lwFormMini/textToPassword.vue +0 -61
- package/dist/components/lwFormView/index.vue +0 -390
- package/dist/components/lwFormView/textToPassword.vue +0 -59
- package/dist/components/lwIconSelect/iconSelect.js +0 -289
- package/dist/components/lwIconSelect/index.vue +0 -142
- package/dist/components/lwLayout/components/NavMenu.vue +0 -36
- package/dist/components/lwLayout/components/aside.vue +0 -295
- package/dist/components/lwLayout/components/bu.vue +0 -88
- package/dist/components/lwLayout/components/iframeView.vue +0 -57
- package/dist/components/lwLayout/components/lang.vue +0 -77
- package/dist/components/lwLayout/components/setting.vue +0 -102
- package/dist/components/lwLayout/components/sideM.vue +0 -135
- package/dist/components/lwLayout/components/tags.vue +0 -388
- package/dist/components/lwLayout/components/topbar.vue +0 -69
- package/dist/components/lwLayout/components/userbar.vue +0 -214
- package/dist/components/lwLayout/index.vue +0 -469
- package/dist/components/lwLogin/index.vue +0 -511
- package/dist/components/lwLogin/locale/en-us.js +0 -37
- package/dist/components/lwLogin/locale/zh-cn.js +0 -37
- package/dist/components/lwSearch/date/date.vue +0 -113
- package/dist/components/lwSearch/dateRange/dateRange.vue +0 -118
- package/dist/components/lwSearch/dates/dates.vue +0 -366
- package/dist/components/lwSearch/index.vue +0 -628
- package/dist/components/lwSearch/input/input.vue +0 -55
- package/dist/components/lwSearch/locale/en-us.js +0 -15
- package/dist/components/lwSearch/locale/zh-cn.js +0 -15
- package/dist/components/lwSearch/select/select.vue +0 -58
- package/dist/components/lwSvgIcon/index.vue +0 -29
- package/dist/components/lwTable/index.js +0 -286
- package/dist/components/lwTable/index.scss +0 -238
- package/dist/components/lwTable/index.vue +0 -346
- package/dist/components/lwTable/locale/en-US.js +0 -26
- package/dist/components/lwTable/locale/zh-CN.js +0 -26
- package/dist/components/lwTable/useFullscreen.js +0 -73
- package/dist/components/lwTableForm/index.vue +0 -662
- package/dist/components/lwTableSelect/index.vue +0 -266
- package/dist/components/lwTableSelect/tableSelect.js +0 -23
- package/dist/components/lwUpload/index.vue +0 -564
- package/dist/lw-cdp-ui.esm.js +0 -19906
- package/dist/lw-cdp-ui.umd.js +0 -22
- package/dist/style.css +0 -1
- package/dist/vite.svg +0 -1
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export default function registerStart(lf) {
|
|
2
|
-
lf.register('start', ({ HtmlNode, HtmlNodeModel, h }) => {
|
|
3
|
-
class HtmlNodeView extends HtmlNode {
|
|
4
|
-
setHtml(rootEl) {
|
|
5
|
-
const { properties, text } = this.props.model
|
|
6
|
-
|
|
7
|
-
const el = document.createElement('div')
|
|
8
|
-
el.className = 'lw-flow-node-start'
|
|
9
|
-
// 设置样式
|
|
10
|
-
el.style.backgroundColor = properties?.style?.backgroundColor || ''
|
|
11
|
-
el.style.borderStyle = properties?.style?.borderStyle || ''
|
|
12
|
-
el.style.borderColor = properties?.style?.borderColor || ''
|
|
13
|
-
el.style.borderWidth = `${properties?.style?.borderWidth || 2}px`
|
|
14
|
-
el.style.color = properties?.style?.fontColor || '' // 使用 color 替代 font-color
|
|
15
|
-
el.style.fontSize = `${properties?.style?.fontSize || 14}px` // 默认字体大小为 12px
|
|
16
|
-
el.style.fontFamily = properties?.style?.fontFamily || 'Microsoft YaHei' // 添加默认字体
|
|
17
|
-
el.style.lineHeight = properties?.style?.lineHeight || '1'
|
|
18
|
-
el.style.fontWeight = properties?.style?.fontWeight || ''
|
|
19
|
-
el.style.justifyContent = properties?.style?.textAlign || ''
|
|
20
|
-
el.style.textDecoration = properties?.style?.textDecoration || ''
|
|
21
|
-
el.style.fontStyle = properties?.style?.fontStyle || ''
|
|
22
|
-
const html = `<span>${properties?.data?.name || '开始'}</span>`
|
|
23
|
-
el.innerHTML = html
|
|
24
|
-
rootEl.innerHTML = ''
|
|
25
|
-
rootEl.appendChild(el)
|
|
26
|
-
window.stop = (ev) => {
|
|
27
|
-
ev.stopPropagation()
|
|
28
|
-
}
|
|
29
|
-
window.setData = () => {
|
|
30
|
-
const { graphModel, model } = this.props
|
|
31
|
-
graphModel.eventCenter.emit('custom:button-click', model)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
class HtmlNodeModelAttributes extends HtmlNodeModel {
|
|
36
|
-
setAttributes() {
|
|
37
|
-
this.width = 100
|
|
38
|
-
this.height = 40
|
|
39
|
-
this.text.editable = false
|
|
40
|
-
}
|
|
41
|
-
getConnectedTargetRules() {
|
|
42
|
-
const rules = super.getConnectedTargetRules()
|
|
43
|
-
const notAsTarget = {
|
|
44
|
-
message: '起始节点不能作为连线的终点',
|
|
45
|
-
validate: () => false
|
|
46
|
-
}
|
|
47
|
-
rules.push(notAsTarget)
|
|
48
|
-
return rules
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
view: HtmlNodeView,
|
|
53
|
-
model: HtmlNodeModelAttributes
|
|
54
|
-
}
|
|
55
|
-
})
|
|
56
|
-
}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description 公共节点初始化
|
|
3
|
-
*/
|
|
4
|
-
import dayjs from 'dayjs'
|
|
5
|
-
import nodeDatas from '../nodesData/index.js'
|
|
6
|
-
export default function registerCustom(lf, node, state) {
|
|
7
|
-
// 是否显示
|
|
8
|
-
function hideHandle(item, data) {
|
|
9
|
-
if (Object.keys(data).length === 0) return false
|
|
10
|
-
|
|
11
|
-
if (typeof item.hideHandle === 'string') {
|
|
12
|
-
try {
|
|
13
|
-
const hideHandleFunc = new Function('data', `return ${item.hideHandle.replace(/\$/g, 'data')}`)
|
|
14
|
-
return hideHandleFunc(data)
|
|
15
|
-
} catch (error) {
|
|
16
|
-
console.error('遇到错误时返回默认值:', error)
|
|
17
|
-
return false // 遇到错误时返回默认值
|
|
18
|
-
}
|
|
19
|
-
} else if (typeof item.hideHandle === 'boolean') {
|
|
20
|
-
return item.hideHandle
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return false
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* 解析模板字符串,将其中的占位符替换为对应的数据值。
|
|
28
|
-
* 占位符格式为 ${key},其中 key 可以是嵌套的对象属性。
|
|
29
|
-
* 如果数据中存在对应的值,则替换占位符;否则保留原占位符。
|
|
30
|
-
* @param {string} template - 待解析的模板字符串
|
|
31
|
-
* @param {object} data - 包含替换数据的对象
|
|
32
|
-
* @returns {string} 解析后的字符串
|
|
33
|
-
*/
|
|
34
|
-
function parseTemplateString(data) {
|
|
35
|
-
let html = ''
|
|
36
|
-
nodeDatas[node.type].nodeHtml.forEach((item) => {
|
|
37
|
-
let value = item.value?.split('.').reduce((acc, part) => acc && acc[part], data)
|
|
38
|
-
|
|
39
|
-
// 日期
|
|
40
|
-
if (item?.component == 'date') {
|
|
41
|
-
if (Array.isArray(value)) {
|
|
42
|
-
value = `${dayjs(value[0]).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')} 到 ${dayjs(value[1]).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')}`
|
|
43
|
-
} else {
|
|
44
|
-
value = dayjs(value).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// switch
|
|
49
|
-
if (item?.component == 'switch') {
|
|
50
|
-
value = value ? item['activeText'] || '是' : item['inactiveText'] || '否'
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// 转换
|
|
54
|
-
if (state[`lwFlow_${node.type}`] && state[`lwFlow_${node.type}`][item.value]) {
|
|
55
|
-
let items = state[`lwFlow_${node.type}`][item.value]
|
|
56
|
-
let x = items.find((x) => {
|
|
57
|
-
return x[item.key || 'value'] == value
|
|
58
|
-
})
|
|
59
|
-
value = x?.label
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
if (item.hideHandle) {
|
|
63
|
-
if (!hideHandle(item, data)) {
|
|
64
|
-
html += `<span>${item.label}: ${value || '--'}</span>`
|
|
65
|
-
}
|
|
66
|
-
} else {
|
|
67
|
-
html += `<span>${item.label}: ${value || '--'}</span>`
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
return html
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
lf.register(node.type, ({ HtmlNode, HtmlNodeModel, h }) => {
|
|
74
|
-
class HtmlNodeView extends HtmlNode {
|
|
75
|
-
setHtml(rootEl) {
|
|
76
|
-
const { properties, text } = this.props.model
|
|
77
|
-
const el = document.createElement('div')
|
|
78
|
-
el.className = 'lw-flow-node-custom'
|
|
79
|
-
// 设置样式
|
|
80
|
-
el.style.backgroundColor = properties?.style?.backgroundColor || node.background || ''
|
|
81
|
-
el.style.borderStyle = properties?.style?.borderStyle || ''
|
|
82
|
-
el.style.borderColor = properties?.style?.borderColor || node.themeColor || ''
|
|
83
|
-
el.style.borderWidth = `${properties?.style?.borderWidth || 2}px`
|
|
84
|
-
el.style.color = properties?.style?.fontColor || '' // 使用 color 替代 font-color
|
|
85
|
-
el.style.fontSize = `${properties?.style?.fontSize || 12}px` // 默认字体大小为 12px
|
|
86
|
-
el.style.fontFamily = properties?.style?.fontFamily || 'Microsoft YaHei' // 添加默认字体
|
|
87
|
-
el.style.lineHeight = properties?.style?.lineHeight || '1'
|
|
88
|
-
el.style.fontWeight = properties?.style?.fontWeight || ''
|
|
89
|
-
el.style.justifyContent = properties?.style?.textAlign || ''
|
|
90
|
-
el.style.textDecoration = properties?.style?.textDecoration || ''
|
|
91
|
-
el.style.fontStyle = properties?.style?.fontStyle || ''
|
|
92
|
-
|
|
93
|
-
// 检验不通过提示
|
|
94
|
-
if (properties.error) {
|
|
95
|
-
el.classList.add('lw-flow-node-error')
|
|
96
|
-
} else {
|
|
97
|
-
el.classList.remove('lw-flow-node-error')
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
const html = `<div class="top-name" style="border-color: ${node.themeColor};">
|
|
101
|
-
<i class="iconfont ${node.icon}"></i> ${properties?.data?.name || node.name}</div>
|
|
102
|
-
<div class="bottom-content" style="border-color: ${node.themeColor};">
|
|
103
|
-
${parseTemplateString({ ...properties.data })}
|
|
104
|
-
`
|
|
105
|
-
el.innerHTML = html
|
|
106
|
-
rootEl.innerHTML = ''
|
|
107
|
-
rootEl.appendChild(el)
|
|
108
|
-
window.stop = (ev) => {
|
|
109
|
-
ev.stopPropagation()
|
|
110
|
-
}
|
|
111
|
-
window.setData = () => {
|
|
112
|
-
const { graphModel, model } = this.props
|
|
113
|
-
graphModel.eventCenter.emit('custom:button-click', model)
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
class HtmlNodeModelAttributes extends HtmlNodeModel {
|
|
118
|
-
setAttributes() {
|
|
119
|
-
this.width = 230
|
|
120
|
-
this.height = 105
|
|
121
|
-
this.text.editable = false
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
return {
|
|
125
|
-
view: HtmlNodeView,
|
|
126
|
-
model: HtmlNodeModelAttributes
|
|
127
|
-
}
|
|
128
|
-
})
|
|
129
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description ET2L节点节点初始化
|
|
3
|
-
*/
|
|
4
|
-
import dayjs from 'dayjs'
|
|
5
|
-
import nodeDatas from '../nodesData/index.js'
|
|
6
|
-
export default function registerEt2l(lf, node) {
|
|
7
|
-
// 是否显示
|
|
8
|
-
function hideHandle(item, data) {
|
|
9
|
-
if (Object.keys(data).length === 0) return false;
|
|
10
|
-
|
|
11
|
-
if (typeof item.hideHandle === 'string') {
|
|
12
|
-
try {
|
|
13
|
-
const hideHandleFunc = new Function("data", `return ${item.hideHandle.replace(/\$/g, 'data')}`);
|
|
14
|
-
return hideHandleFunc(data);
|
|
15
|
-
} catch (error) {
|
|
16
|
-
console.error("遇到错误时返回默认值:", error);
|
|
17
|
-
return false; // 遇到错误时返回默认值
|
|
18
|
-
}
|
|
19
|
-
} else if (typeof item.hideHandle === 'boolean') {
|
|
20
|
-
return item.hideHandle;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* 解析模板字符串,将其中的占位符替换为对应的数据值。
|
|
28
|
-
* 占位符格式为 ${key},其中 key 可以是嵌套的对象属性。
|
|
29
|
-
* 如果数据中存在对应的值,则替换占位符;否则保留原占位符。
|
|
30
|
-
* @param {string} template - 待解析的模板字符串
|
|
31
|
-
* @param {object} data - 包含替换数据的对象
|
|
32
|
-
* @returns {string} 解析后的字符串
|
|
33
|
-
*/
|
|
34
|
-
function parseTemplateString(data) {
|
|
35
|
-
let html = ''
|
|
36
|
-
nodeDatas[node.type].nodeHtml.forEach((item) => {
|
|
37
|
-
let value = item.value?.split('.').reduce((acc, part) => acc && acc[part], data)
|
|
38
|
-
// 日期
|
|
39
|
-
if (item?.component == 'date') {
|
|
40
|
-
if (Array.isArray(value)) {
|
|
41
|
-
value = `${dayjs(value[0]).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')}到${dayjs(value[1]).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')}`
|
|
42
|
-
} else {
|
|
43
|
-
value = dayjs(value).format(item['value-format'] || 'YYYY-MM-DD HH:mm:ss')
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// 转换
|
|
47
|
-
if (item?.items) {
|
|
48
|
-
let x = item.items.find((x) => {
|
|
49
|
-
return x.value == value
|
|
50
|
-
})
|
|
51
|
-
value = x?.label
|
|
52
|
-
}
|
|
53
|
-
if (item.hideHandle) {
|
|
54
|
-
if (!hideHandle(item, data)) {
|
|
55
|
-
html += `<span>${item.label}: ${value || '--'}</span>`
|
|
56
|
-
}
|
|
57
|
-
} else {
|
|
58
|
-
html += `<span>${item.label}: ${value || '--'}</span>`
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
return html
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
lf.register(node.type, ({ HtmlNode, HtmlNodeModel, h }) => {
|
|
65
|
-
class HtmlNodeView extends HtmlNode {
|
|
66
|
-
setHtml(rootEl) {
|
|
67
|
-
const { properties, text } = this.props.model
|
|
68
|
-
const el = document.createElement('div')
|
|
69
|
-
el.className = 'lw-flow-node-et2l'
|
|
70
|
-
// 设置样式
|
|
71
|
-
el.style.backgroundColor = properties?.style?.backgroundColor || node.themeColor || ''
|
|
72
|
-
el.style.borderStyle = properties?.style?.borderStyle || ''
|
|
73
|
-
el.style.borderColor = properties?.style?.borderColor || node.themeColor || ''
|
|
74
|
-
el.style.borderWidth = `${properties?.style?.borderWidth || 2}px`
|
|
75
|
-
el.style.color = properties?.style?.fontColor || '' // 使用 color 替代 font-color
|
|
76
|
-
el.style.fontSize = `${properties?.style?.fontSize || 12}px` // 默认字体大小为 12px
|
|
77
|
-
el.style.fontFamily = properties?.style?.fontFamily || 'Microsoft YaHei' // 添加默认字体
|
|
78
|
-
el.style.lineHeight = properties?.style?.lineHeight || '1'
|
|
79
|
-
el.style.fontWeight = properties?.style?.fontWeight || ''
|
|
80
|
-
el.style.justifyContent = properties?.style?.textAlign || ''
|
|
81
|
-
el.style.textDecoration = properties?.style?.textDecoration || ''
|
|
82
|
-
el.style.fontStyle = properties?.style?.fontStyle || ''
|
|
83
|
-
|
|
84
|
-
// 检验不通过提示
|
|
85
|
-
if (properties.error) {
|
|
86
|
-
el.classList.add('lw-flow-node-error')
|
|
87
|
-
} else {
|
|
88
|
-
el.classList.remove('lw-flow-node-error')
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const html = `<i class="iconfont ${node.icon}"></i> <span class="text" title="${properties?.data?.name || node.name}">${properties?.data?.name || node.name}</span>`
|
|
92
|
-
|
|
93
|
-
// 暂无显示需求
|
|
94
|
-
// if (properties?.data.mode) {
|
|
95
|
-
// html += `<div class="details-body">
|
|
96
|
-
// <i class="iconfont icon-ziliao"></i>
|
|
97
|
-
// <div class="p-list">11111111111111${parseTemplateString({ ...properties.data })}</div>
|
|
98
|
-
// </div>`
|
|
99
|
-
// }
|
|
100
|
-
|
|
101
|
-
el.innerHTML = html
|
|
102
|
-
rootEl.innerHTML = ''
|
|
103
|
-
rootEl.appendChild(el)
|
|
104
|
-
window.stop = (ev) => {
|
|
105
|
-
ev.stopPropagation()
|
|
106
|
-
}
|
|
107
|
-
window.setData = () => {
|
|
108
|
-
const { graphModel, model } = this.props
|
|
109
|
-
graphModel.eventCenter.emit('custom:button-click', model)
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
class HtmlNodeModelAttributes extends HtmlNodeModel {
|
|
114
|
-
setAttributes() {
|
|
115
|
-
this.width = 120
|
|
116
|
-
this.height = 40
|
|
117
|
-
this.text.editable = false
|
|
118
|
-
}
|
|
119
|
-
initNodeData(data) {
|
|
120
|
-
super.initNodeData(data)
|
|
121
|
-
// 目标节点校验
|
|
122
|
-
nodeDatas[node.type]?.targetRules?.forEach((item) => {
|
|
123
|
-
this.targetRules.push(item)
|
|
124
|
-
})
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
view: HtmlNodeView,
|
|
129
|
-
model: HtmlNodeModelAttributes
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 营销目标: 人群包
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
// 暂无显示需求
|
|
7
|
-
nodeHtml: [
|
|
8
|
-
{
|
|
9
|
-
label: '事件',
|
|
10
|
-
component: 'select',
|
|
11
|
-
value: 'audienceId'
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
label: '人群快照',
|
|
15
|
-
component: 'select',
|
|
16
|
-
value: 'snapshotId'
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
label: '营销频次',
|
|
20
|
-
component: 'select',
|
|
21
|
-
value: 'schedule.type'
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
label: '触发时间',
|
|
25
|
-
component: 'date',
|
|
26
|
-
value: 'schedule.date',
|
|
27
|
-
hideHandle: '$.schedule.type != "DATE"'
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
label: '时间范围',
|
|
31
|
-
component: 'date',
|
|
32
|
-
value: 'startEndTime',
|
|
33
|
-
'value-format': 'YYYY-MM-DD',
|
|
34
|
-
hideHandle: '$.schedule.type != "CRON"'
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
label: 'Cron',
|
|
38
|
-
component: 'Cron',
|
|
39
|
-
value: 'schedule.cron',
|
|
40
|
-
hideHandle: '$.schedule.type != "CRON"'
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
// 目标节点校验
|
|
44
|
-
targetRules: [],
|
|
45
|
-
// 表单内容
|
|
46
|
-
formConfig: {
|
|
47
|
-
labelWidth: '70px',
|
|
48
|
-
labelPosition: 'top',
|
|
49
|
-
formItems: [
|
|
50
|
-
{
|
|
51
|
-
label: '选择事件',
|
|
52
|
-
name: 'audienceId',
|
|
53
|
-
value: '',
|
|
54
|
-
component: 'audienceIdSelect',
|
|
55
|
-
span: 24,
|
|
56
|
-
options: {
|
|
57
|
-
items: [],
|
|
58
|
-
placeholder: '请选择'
|
|
59
|
-
},
|
|
60
|
-
rules: [{ required: true, message: '不能为空', trigger: 'change' }]
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
label: '人群快照',
|
|
64
|
-
name: 'snapshotId',
|
|
65
|
-
value: '',
|
|
66
|
-
component: 'snapshotIdSelect',
|
|
67
|
-
span: 24,
|
|
68
|
-
options: {
|
|
69
|
-
items: [],
|
|
70
|
-
placeholder: '请选择'
|
|
71
|
-
},
|
|
72
|
-
rules: [{ required: true, message: '不能为空', trigger: 'change' }]
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
label: '营销频次',
|
|
76
|
-
name: 'schedule',
|
|
77
|
-
value: 'DATE',
|
|
78
|
-
component: 'select',
|
|
79
|
-
span: 24,
|
|
80
|
-
options: {
|
|
81
|
-
name: 'type',
|
|
82
|
-
items: [
|
|
83
|
-
{
|
|
84
|
-
label: '单次定时',
|
|
85
|
-
note: '活动周期内仅触发 1 次',
|
|
86
|
-
value: 'DATE'
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
label: '多次定时',
|
|
90
|
-
note: '活动周期内允许触发多次',
|
|
91
|
-
value: 'CRON'
|
|
92
|
-
}
|
|
93
|
-
],
|
|
94
|
-
placeholder: '请选择'
|
|
95
|
-
},
|
|
96
|
-
rules: [{ required: true, message: '不能为空', trigger: 'change' }]
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
label: '触发时间',
|
|
100
|
-
name: 'schedule',
|
|
101
|
-
value: '',
|
|
102
|
-
component: 'scheduleTime',
|
|
103
|
-
span: 24,
|
|
104
|
-
options: {
|
|
105
|
-
name: 'date',
|
|
106
|
-
placeholder: '请选择'
|
|
107
|
-
},
|
|
108
|
-
hideHandle: '$.schedule.type != "DATE"',
|
|
109
|
-
rules: [{ required: true, message: '不能为空', trigger: 'change' }]
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
label: '触发时间',
|
|
113
|
-
name: 'schedule',
|
|
114
|
-
value: '',
|
|
115
|
-
component: 'scheduleDate',
|
|
116
|
-
span: 24,
|
|
117
|
-
options: {
|
|
118
|
-
name: 'startTime',
|
|
119
|
-
placeholder: '请选择'
|
|
120
|
-
},
|
|
121
|
-
hideHandle: '$.schedule.type != "CRON"',
|
|
122
|
-
rules: [{ required: true, message: '不能为空', trigger: 'change' }]
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
label: '备注信息',
|
|
126
|
-
name: 'desp',
|
|
127
|
-
value: '',
|
|
128
|
-
component: 'input',
|
|
129
|
-
options: {
|
|
130
|
-
type: 'textarea',
|
|
131
|
-
placeholder: '请输入'
|
|
132
|
-
},
|
|
133
|
-
span: 24
|
|
134
|
-
}
|
|
135
|
-
]
|
|
136
|
-
}
|
|
137
|
-
}
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ET2L数据合并节点 JOINER 表单自定义内容
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export default {
|
|
6
|
-
// 表单内容
|
|
7
|
-
formConfig: {
|
|
8
|
-
labelWidth: '70px',
|
|
9
|
-
labelPosition: 'top',
|
|
10
|
-
formItems: [
|
|
11
|
-
{
|
|
12
|
-
label: '节点名称',
|
|
13
|
-
name: 'name',
|
|
14
|
-
value: '',
|
|
15
|
-
component: 'input',
|
|
16
|
-
options: {
|
|
17
|
-
placeholder: '请输入节点名称'
|
|
18
|
-
},
|
|
19
|
-
span: 24
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
label: '节点并行度',
|
|
23
|
-
name: 'para',
|
|
24
|
-
value: '',
|
|
25
|
-
component: 'number',
|
|
26
|
-
options: {
|
|
27
|
-
placeholder: '请输入节点并行度'
|
|
28
|
-
},
|
|
29
|
-
span: 24
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
label: '节点标签',
|
|
33
|
-
name: 'tags',
|
|
34
|
-
value: '',
|
|
35
|
-
component: 'tags',
|
|
36
|
-
span: 24
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
label: '描述信息',
|
|
40
|
-
name: 'desp',
|
|
41
|
-
value: '',
|
|
42
|
-
component: 'input',
|
|
43
|
-
options: {
|
|
44
|
-
placeholder: '请输入描述信息'
|
|
45
|
-
},
|
|
46
|
-
span: 24
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
label: '输出名称',
|
|
50
|
-
name: 'into',
|
|
51
|
-
value: '',
|
|
52
|
-
component: 'select',
|
|
53
|
-
options: {
|
|
54
|
-
placeholder: '请选择输出名称'
|
|
55
|
-
},
|
|
56
|
-
span: 24
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
// 数据来源
|
|
61
|
-
configKeyableSource: {
|
|
62
|
-
treeProps: {
|
|
63
|
-
children: 'fields'
|
|
64
|
-
},
|
|
65
|
-
rowKey: 'id',
|
|
66
|
-
formItems: [
|
|
67
|
-
{
|
|
68
|
-
label: '来源名称',
|
|
69
|
-
name: 'name',
|
|
70
|
-
value: '',
|
|
71
|
-
minWidth: '80',
|
|
72
|
-
component: 'input',
|
|
73
|
-
options: {
|
|
74
|
-
placeholder: '请输入'
|
|
75
|
-
},
|
|
76
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
label: '名称简写',
|
|
80
|
-
name: 'abbr',
|
|
81
|
-
value: '',
|
|
82
|
-
minWidth: '80',
|
|
83
|
-
component: 'input',
|
|
84
|
-
options: {
|
|
85
|
-
placeholder: '请输入'
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
label: '关联字段',
|
|
90
|
-
name: 'with',
|
|
91
|
-
value: '',
|
|
92
|
-
minWidth: '80',
|
|
93
|
-
component: 'input',
|
|
94
|
-
options: {
|
|
95
|
-
placeholder: '请输入'
|
|
96
|
-
},
|
|
97
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
label: '自动映射',
|
|
101
|
-
name: 'auto',
|
|
102
|
-
value: false,
|
|
103
|
-
minWidth: '75',
|
|
104
|
-
component: 'switch'
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
label: '操作',
|
|
108
|
-
component: 'operation',
|
|
109
|
-
width: '60',
|
|
110
|
-
fixed: 'right',
|
|
111
|
-
options: {
|
|
112
|
-
addDelete: [
|
|
113
|
-
{
|
|
114
|
-
icon: '',
|
|
115
|
-
type: 'delete',
|
|
116
|
-
label: '删除'
|
|
117
|
-
}
|
|
118
|
-
]
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
},
|
|
123
|
-
// 映射动作
|
|
124
|
-
configMapAction: {
|
|
125
|
-
treeProps: {
|
|
126
|
-
children: 'fields'
|
|
127
|
-
},
|
|
128
|
-
rowKey: 'id',
|
|
129
|
-
formItems: [
|
|
130
|
-
{
|
|
131
|
-
label: '来源字段',
|
|
132
|
-
name: 'from',
|
|
133
|
-
value: '',
|
|
134
|
-
minWidth: '80',
|
|
135
|
-
component: 'sourceField',
|
|
136
|
-
options: {
|
|
137
|
-
placeholder: '请输入'
|
|
138
|
-
},
|
|
139
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
140
|
-
},
|
|
141
|
-
{
|
|
142
|
-
label: '映射类型',
|
|
143
|
-
name: 'type',
|
|
144
|
-
value: '',
|
|
145
|
-
minWidth: '80',
|
|
146
|
-
component: 'select',
|
|
147
|
-
options: {
|
|
148
|
-
placeholder: '请选择',
|
|
149
|
-
items: [
|
|
150
|
-
{
|
|
151
|
-
label: '任意映射',
|
|
152
|
-
value: 'any_of'
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
label: '直接映射',
|
|
156
|
-
value: 'direct'
|
|
157
|
-
}
|
|
158
|
-
]
|
|
159
|
-
},
|
|
160
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
label: '目标字段',
|
|
164
|
-
name: 'into',
|
|
165
|
-
value: '',
|
|
166
|
-
minWidth: '80',
|
|
167
|
-
component: 'input',
|
|
168
|
-
options: {
|
|
169
|
-
placeholder: '请输入'
|
|
170
|
-
},
|
|
171
|
-
rules: [{ required: true, message: '不能为空', trigger: 'blur' }]
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
label: '操作',
|
|
175
|
-
component: 'operation',
|
|
176
|
-
width: '60',
|
|
177
|
-
fixed: 'right',
|
|
178
|
-
options: {
|
|
179
|
-
addDelete: [
|
|
180
|
-
{
|
|
181
|
-
icon: '',
|
|
182
|
-
type: 'delete',
|
|
183
|
-
label: '删除'
|
|
184
|
-
}
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
]
|
|
189
|
-
}
|
|
190
|
-
}
|