Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-dml
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-dml
Commits
a307abe9
提交
a307abe9
authored
6月 29, 2023
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: update
上级
c09f95a7
显示空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
120 行增加
和
671 行删除
+120
-671
UpdateMaterialDialog.vue
src/components/base/UpdateMaterialDialog.vue
+5
-13
FormDialog.vue
src/modules/connect/components/FormDialog.vue
+6
-12
Icon.vue
src/modules/connect/components/Icon.vue
+0
-368
ListItem.vue
src/modules/connect/components/ListItem.vue
+14
-12
View.vue
src/modules/connect/views/View.vue
+10
-10
FieldDialog.vue
src/modules/metadata/event/components/FieldDialog.vue
+7
-32
FormDialog.vue
src/modules/metadata/event/components/FormDialog.vue
+3
-8
Index.vue
src/modules/metadata/event/views/Index.vue
+3
-11
FormDialog.vue
src/modules/metadata/user/components/FormDialog.vue
+5
-22
Index.vue
src/modules/metadata/user/views/Index.vue
+2
-4
Index.vue
src/modules/trip/template/views/Index.vue
+0
-8
UpdateDialog.vue
src/modules/user/components/UpdateDialog.vue
+9
-29
UpdateEventsDialog.vue
src/modules/user/components/UpdateEventsDialog.vue
+9
-38
UploadEventsDialog.vue
src/modules/user/components/UploadEventsDialog.vue
+3
-12
UploadUserDialog.vue
src/modules/user/components/UploadUserDialog.vue
+3
-9
ViewProgressDialog.vue
src/modules/user/components/ViewProgressDialog.vue
+2
-11
EventDetails.vue
src/modules/user/views/EventDetails.vue
+2
-8
Image.vue
src/modules/user/views/Image.vue
+37
-64
没有找到文件。
src/components/base/UpdateMaterialDialog.vue
浏览文件 @
a307abe9
...
...
@@ -39,13 +39,13 @@ const submitForm = (formEl: FormInstance | undefined) => {
formEl
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
props
.
data
?.
id
)
{
updateMaterial
(
form
).
then
(
res
=>
{
updateMaterial
(
form
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'更新成功'
,
type
:
'success'
})
})
}
else
{
createMaterial
(
params
).
then
(
res
=>
{
createMaterial
(
params
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'新建成功'
,
type
:
'success'
})
...
...
@@ -84,8 +84,7 @@ const typeName = computed(() => {
:title=
"props.data ? (props.data?.isView ? `查看$
{typeName}资料` : `编辑${typeName}资料`) : `新建${typeName}资料`"
:close-on-click-modal="false"
width="800px"
@update:modelValue="$emit('update:modelValue')"
>
@update:modelValue="$emit('update:modelValue')">
<el-form
:disabled=
"props.data?.isView"
ref=
"ruleFormRef"
...
...
@@ -93,19 +92,12 @@ const typeName = computed(() => {
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"110px"
>
label-width=
"110px"
>
<el-form-item
label=
"资料名称"
prop=
"name"
>
<el-input
placeholder=
"请输入"
v-model=
"form.name"
style=
"width: 100%"
></el-input>
</el-form-item>
<el-form-item
label=
"资料内容"
prop=
"content"
>
<el-input
v-if=
"type === '1'"
placeholder=
"请输入"
type=
"textarea"
v-model=
"form.content"
style=
"width: 100%"
></el-input>
<el-input
v-if=
"type === '1'"
placeholder=
"请输入"
type=
"textarea"
v-model=
"form.content"
style=
"width: 100%"
></el-input>
<AppUpload
v-if=
"type === '2' || type === '6' || type === '7' || type === '8'"
v-model=
"form.content"
/>
<div
class=
"audio"
v-if=
"type === '3'"
>
<AppUpload
v-model=
"form.content"
accept=
".mp3"
>
...
...
src/modules/connect/components/FormDialog.vue
浏览文件 @
a307abe9
...
...
@@ -19,13 +19,13 @@ const params = $ref({ type: '', config_attributes: '' })
function
handleSubmit
()
{
if
(
props
.
data
?.
id
)
{
const
updateParams
=
{
id
:
props
.
data
?.
id
,
config_attributes
:
stepTwo
.
value
.
formItem
}
updateConnection
(
updateParams
).
then
(
res
=>
{
updateConnection
(
updateParams
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'保修改成功'
,
type
:
'success'
})
})
}
else
{
createConnection
(
params
).
then
(
res
=>
{
createConnection
(
params
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'保存成功'
,
type
:
'success'
})
...
...
@@ -75,13 +75,7 @@ const handleStepTwoNext = function () {
</
script
>
<
template
>
<el-dialog
class=
"connect-form"
:title=
"props.data?.id ? '编辑链接' : '新建链接'"
:close-on-click-modal=
"false"
width=
"1050px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
class=
"connect-form"
:title=
"props.data?.id ? '编辑链接' : '新建链接'"
:close-on-click-modal=
"false"
width=
"1050px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-tabs
v-model=
"activeName"
class=
"demo-tabs"
>
<!-- 第一步 -->
<el-tab-pane
disabled
label=
"选择链接类型"
:name=
"1"
v-if=
"!props.data?.id"
>
...
...
@@ -99,12 +93,12 @@ const handleStepTwoNext = function () {
<template
v-if=
"props.data?.id"
>
<el-button
type=
"primary"
@
click=
"activeName--"
v-if=
"activeName === 3"
>
上一步
</el-button>
</
template
>
<el-button
v-else
type=
"primary"
@
click=
"activeName--"
v-if=
"activeName === 2 || activeName === 3"
>
上一步
</el-button
>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"activeName--"
v-if=
"activeName === 2 || activeName === 3"
>
上一步
</el-button>
<el-button
type=
"primary"
@
click=
"handleStepOneNext"
v-if=
"activeName === 1"
>
下一步
</el-button>
<el-button
type=
"primary"
@
click=
"handleStepTwoNext"
v-if=
"activeName === 2"
>
下一步
</el-button>
<el-button
type=
"primary"
v-if=
"activeName === 3"
@
click=
"handleSubmit"
>
保存
</el-button>
</
template
>
</div>
</el-dialog>
</template>
...
...
src/modules/connect/components/Icon.vue
deleted
100644 → 0
浏览文件 @
c09f95a7
<
script
setup
lang=
"ts"
>
withDefaults
(
defineProps
<
{
multicolour
:
boolean
;
name
:
string
;
color
?:
string
;
w
?:
string
;
h
?:
string
}
>
(),
{
multicolour
:
false
,
color
:
'#000000'
,
w
:
'30'
,
h
:
'30'
})
</
script
>
<
template
>
<div>
<svg
v-if=
"name === '1'"
t=
"1675654500635"
class=
"icon"
viewBox=
"0 0 28 28"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"10798"
:width=
"w"
:height=
"h"
>
<path
d=
"M18.7121298828125,10.3173566015625C18.9936298828125,10.3173566015625,19.2704298828125,10.3387066015625,19.5488298828125,10.3692666015625C18.7992298828125,6.8785966015625,15.0684298828125,4.2857666015625,10.8081898828125,4.2857666015625C6.0462398828125,4.2857666015625,2.1456298828125,7.530166601562501,2.1456298828125,11.652666601562501C2.1456298828125,14.0313666015625,3.4427698828124997,15.9847666015625,5.6119198828125,17.5021666015625L4.7460798828125,20.1072666015625L7.7748298828125,18.5898666015625C8.8578598828125,18.8024666015625,9.7267298828125,19.022866601562498,10.8082198828125,19.022866601562498C11.0804798828125,19.022866601562498,11.3497398828125,19.010566601562502,11.6159198828125,18.9907666015625C11.4476398828125,18.4109666015625,11.3482598828125,17.805166601562497,11.3482598828125,17.1733666015625C11.3497098828125,13.3888666015625,14.5988298828125,10.3173566015625,18.7121298828125,10.3173566015625ZM14.0558298828125,7.969216601562501C14.7105298828125,7.969216601562501,15.1403298828125,8.399066601562499,15.1403298828125,9.0507366015625C15.1403298828125,9.6992566015625,14.7105298828125,10.1337766015625,14.0558298828125,10.1337766015625C13.4086298828125,10.1337766015625,12.7570298828125,9.6992866015625,12.7570298828125,9.0507366015625C12.7570298828125,8.3975466015625,13.4071298828125,7.969216601562501,14.0558298828125,7.969216601562501ZM7.9936098828125,10.1337466015625C7.3434698828125,10.1337466015625,6.6887098828125,9.6992566015625,6.6887098828125,9.050716601562499C6.6887098828125,8.3990366015625,7.3434398828125,7.9691866015625,7.9936098828125,7.9691866015625C8.6436398828125,7.9691866015625,9.0751298828125,8.3975266015625,9.0751298828125,9.050716601562499C9.0751598828125,9.6992566015625,8.6436598828125,10.1337466015625,7.9936098828125,10.1337466015625ZM26.6205298828125,17.0693666015625C26.6205298828125,13.6061066015625,23.1542298828125,10.783826601562499,19.2611298828125,10.783826601562499C15.1388298828125,10.783826601562499,11.8942498828125,13.6076466015625,11.8942498828125,17.0693666015625C11.8942498828125,20.5417666015625,15.1403298828125,23.3547666015625,19.2611298828125,23.3547666015625C20.1240298828125,23.3547666015625,20.9943298828125,23.1390666015625,21.8602298828125,22.9219666015625L24.2357298828125,24.2251666015625L23.5841298828125,22.0592666015625C25.3233298828125,20.7527666015625,26.6205298828125,19.022766601562502,26.6205298828125,17.0693666015625ZM16.8718298828125,15.9847666015625C16.4420298828125,15.9847666015625,16.0060298828125,15.5564666015625,16.0060298828125,15.1189666015625C16.0060298828125,14.6875666015625,16.4420298828125,14.2532566015625,16.8718298828125,14.2532566015625C17.5296298828125,14.2532566015625,17.9564298828125,14.6875666015625,17.9564298828125,15.1189666015625C17.9564298828125,15.5564666015625,17.5296298828125,15.9847666015625,16.8718298828125,15.9847666015625ZM21.6368298828125,15.9847666015625C21.2100298828125,15.9847666015625,20.7757298828125,15.5564666015625,20.7757298828125,15.1189666015625C20.7757298828125,14.6875666015625,21.2085298828125,14.2532566015625,21.6368298828125,14.2532566015625C22.2885298828125,14.2532566015625,22.7214298828125,14.6875666015625,22.7214298828125,15.1189666015625C22.7213298828125,15.5564666015625,22.2885298828125,15.9847666015625,21.6368298828125,15.9847666015625Z"
:fill=
"multicolour ? '#19AA20' : color"
p-id=
"10799"
></path>
</svg>
<svg
v-if=
"name === '2'"
t=
"1675654004777"
class=
"icon"
viewBox=
"0 0 24 24"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"8908"
:width=
"w"
:height=
"h"
>
<path
d=
"M21.17067373046875,8.97251822265625C21.10037373046875,9.22797822265625,21.00897373046875,9.47640822265625,20.89647373046875,9.71545822265625L20.89887373046875,9.71545822265625L20.88477373046875,9.74591822265625Q20.08557373046875,11.54117822265625,17.99737373046875,15.06597822265625L17.987973730468752,15.04257822265625L17.378673730468748,16.15817822265625L20.31757373046875,16.15817822265625L14.70227373046875,23.99997822265625L15.97717373046875,18.66587822265625L13.66167373046875,18.66587822265625L14.46547373046875,15.13867822265625C13.81397373046875,15.30267822265625,13.04761373046875,15.53007822265625,12.13593373046875,15.83707822265625Q10.905523730468751,16.59407822265625,8.587663730468751,14.37927822265625Q7.02444373046875,12.93557822265625,7.93144373046875,12.57237822265625C8.31579373046875,12.41997822265625,9.80166373046875,12.22547822265625,10.97114373046875,12.05677822265625Q12.54842373046875,11.83177822265625,13.52107373046875,11.71227822265625Q8.65328373046875,11.78957822265625,7.49786373046875,11.59737822265625C6.34244373046875,11.40757822265625,4.88001373046875,9.38265822265625,4.56596373046875,7.60382822265625Q4.08317373046875,6.62652822265625,5.601853730468751,7.08822822265625Q7.12288373046875,7.54992822265625,13.41557373046875,8.88814822265625Q5.23390373046875,6.25623822265625,4.69017373046875,5.61407822265625C4.14645273046875,4.97191822265625,3.08712473046875,2.10329822265625,3.22539973046875,0.34321922265625Q3.28633453046875,-0.09738597734375,3.71522173046875,0.01979632265625Q9.76651373046875,2.92591822265625,13.90307373046875,4.51256822265625C18.03957373046875,6.10389822265625,21.63477373046875,6.91479822265625,21.17067373046875,8.97251822265625Z"
:fill=
"multicolour ? '#2877D7' : color"
p-id=
"8909"
></path>
</svg>
<svg
v-if=
"name === '3'"
t=
"1675654843770"
class=
"icon"
viewBox=
"0 0 24 23.489362716674805"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"14477"
:width=
"w"
:height=
"h"
>
<path
d=
"M10.609953979492188,23.48939287109375C5.0496439794921875,23.54609287109375,0.1702099794921875,18.95039287109375,-0.0000025805078124998063,13.39009287109375C-0.0567402205078125,11.80139287109375,0.2269479794921875,10.83689287109375,1.9858139794921874,12.25529287109375C2.8368739794921876,12.93619287109375,3.8581539794921875,12.99289287109375,4.8794339794921875,12.99289287109375C7.943263979492188,12.99289287109375,11.007053979492188,12.99289287109375,14.070953979492188,12.99289287109375C17.418453979492188,12.93619287109375,18.496453979492188,11.80139287109375,18.553153979492187,8.39716287109375C18.609953979492186,6.35461287109375,18.553153979492187,4.31206287109375,18.553153979492187,2.26950287109375C18.553153979492187,1.30496287109375,18.723353979492188,0.34042787109375,19.801453979492187,0.05673987109375C21.049653979492188,-0.22694812890625,21.333353979492188,0.85106587109375,22.070953979492188,1.53191287109375C23.943253979492187,3.40425287109375,25.304953979492186,4.70922287109375,21.390053979492187,5.50355287109375C20.822653979492188,5.61702287109375,20.936153979492186,6.63830287109375,20.936153979492186,7.31915287109375C20.936153979492186,9.36170287109375,20.99295397949219,11.40429287109375,20.879453979492187,13.44679287109375C20.70925397949219,19.06379287109375,16.226953979492187,23.37589287109375,10.609953979492188,23.48939287109375Z"
:fill=
"multicolour ? '#2877D7' : color"
p-id=
"14478"
></path>
</svg>
<svg
v-if=
"name === '4'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
version=
"1.1"
:width=
"w"
:height=
"h"
viewBox=
"0 0 24.00000762939453 23.9979248046875"
>
<g
style=
"mix-blend-mode: passthrough"
>
<g>
<g>
<path
d=
"M24.000051538085938,9.84599884765625C20.942771538085935,9.84599884765625,17.912601538085937,9.84599884765625,14.855371538085937,9.87341884765625C14.097821538085938,9.87341884765625,13.692001538085938,9.54430884765625,13.502611538085937,8.83122884765625C13.096786538085938,7.54219884765625,12.663904538085937,6.25316884765625,12.312187138085937,4.93670884765625C11.987525538085938,3.75738884765625,12.853289538085937,2.79746884765625,13.286171538085938,1.64556884765625C13.881381538085938,3.12657884765625,14.557761538085938,4.58016884765625,15.044751538085936,6.08860884765625C15.342361538085937,7.02109884765625,15.856411538085938,7.45991884765625,16.77628153808594,7.62447884765625C18.670141538085936,7.95358884765625,20.536941538085937,8.41982884765625,22.43085153808594,8.74894884765625C23.05305153808594,8.85864884765625,23.837651538085936,9.16033884765625,24.000051538085938,9.68143884765625C24.000051538085938,9.76371884765625,24.000051538085938,9.79113884765625,24.000051538085938,9.84599884765625Z"
:fill=
"multicolour ? '#CEAA62' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M22.59314462158203,11.13500814453125C21.294494621582032,12.25948314453125,20.022904621582033,13.41138314453125,18.69720462158203,14.50842314453125C18.23726462158203,14.892393144531251,18.10199462158203,15.276363144531249,18.21020462158203,15.90716314453125C18.56192462158203,18.07382314453125,18.80542462158203,20.24049314453125,19.07597462158203,22.407123144531248C19.15713462158203,23.03792314453125,19.292414621582033,23.696223144531253,18.399594621582033,23.99792314453125C17.42561462158203,21.09072314453125,16.47868462158203,18.15610314453125,15.477640621582031,15.24893314453125C15.207089621582032,14.48100314453125,15.369419721582032,13.95990314453125,16.018743621582033,13.49366314453125C17.07389462158203,12.72572314453125,18.10198462158203,11.90294314453125,19.18419462158203,11.16243414453125C20.26640462158203,10.42192814453125,21.53799462158203,10.86074714453125,22.59314462158203,11.13500814453125Z"
:fill=
"multicolour ? '#CEAA62' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M3.9250557220458986,21.50206884765625C4.384985722045898,19.63716884765625,4.682595722045899,17.99155884765625,5.196645722045899,16.40084884765625C5.467195722045899,15.52320884765625,5.2507557220458985,14.97468884765625,4.682595722045899,14.37130884765625C3.2486757220458986,12.835438847656249,1.8959157220458984,11.24472884765625,0.4890517220458984,9.70885884765625C0.11027972204589843,9.29746884765625,-0.24143727795410155,8.886075847656251,0.21850072204589843,8.14556884765625C2.7616857220458986,10.06539884765625,5.304865722045898,11.98522884765625,7.848045722045899,13.90506884765625C8.253875722045898,14.23417884765625,8.226815722045899,14.70041884765625,8.091545722045899,15.16666884765625C7.631605722045898,16.537978847656248,7.279885722045899,17.96413884765625,6.684675722045898,19.280568847656248C6.2247357220458985,20.35016884765625,4.980205722045898,20.65186884765625,3.9250557220458986,21.50206884765625Z"
:fill=
"multicolour ? '#CEAA62' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M1.54425048828125,7.92616C3.60044048828125,7.73418,5.2778604882812505,7.5422,6.95528048828125,7.45992C7.60460048828125,7.43249,7.87515048828125,7.15823,8.17276048828125,6.63713C9.17380048828125,4.7173,10.20189048828125,2.79747,11.22998048828125,0.877637C11.36526048828125,0.603376,11.52759048828125,0.301688,11.74405048828125,0.109705C11.87935048828125,8.17364e-9,12.17695048828125,-0.0274262,12.36635048828125,0.0274262C12.69095048828125,0.137131,12.44745048828125,0.411393,12.39335048828125,0.57595C11.52759048828125,3.40085,10.68888048828125,6.22574,9.82312048828125,9.02321C9.63373048828125,9.62658,9.22790048828125,9.87342,8.60564048828125,9.87342C7.25288048828125,9.84599,5.90012048828125,9.92827,4.57442048828125,9.84599C3.38400048828125,9.79114,2.7887904882812498,8.66667,1.54425048828125,7.92616Z"
:fill=
"multicolour ? '#CEAA62' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M3.7627716064453125,22.95569759765625C6.278901606445313,21.09071759765625,8.740911606445312,19.22573759765625,11.229981606445312,17.38818759765625C11.500541606445314,17.16877859765625,11.879311606445313,17.11392599765625,12.122801606445313,17.30590959765625C13.475561606445313,18.26582759765625,14.909471606445312,19.17088759765625,16.07287160644531,20.35021759765625C16.668071606445313,20.95358759765625,16.668071606445313,22.10548759765625,17.046871606445315,23.28481759765625C15.423571606445313,22.27004759765625,13.962571606445312,21.41983759765625,12.609791606445313,20.48734759765625C12.041641606445312,20.103377597656248,11.608761606445313,20.103377597656248,11.013541606445312,20.40506759765625C9.119681606445312,21.33755759765625,7.198771606445312,22.21518759765625,5.304911606445312,23.147677597656248C4.817921606445313,23.36708759765625,4.330929606445313,23.61392759765625,3.7627716064453125,22.95569759765625Z"
:fill=
"multicolour ? '#CEAA62' : color"
fill-opacity=
"1"
/>
</g>
</g>
</g>
</svg>
<svg
v-if=
"name === '5'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
:width=
"w"
:height=
"h"
viewBox=
"0 0 26 16.5845947265625"
>
<g
style=
"mix-blend-mode: passthrough"
>
<g>
<path
d=
"M13.4703,7.72793L13.4703,9.50796L15.1635,9.37771L19.453,6.94645L23.8553,8.81331L25.5485,8.72648L25.5485,6.94645L24.4197,7.03329L21.5224,5.77424L25.3603,3.60347L25.3603,0.520984L23.0275,0.694645L17.6469,1.04197L15.7656,0L13.3951,4.38495L15.3517,5.20984L16.631,2.86541L23.0275,2.43126L23.0275,2.86541L19.453,4.90593L16.6686,3.73372L15.7656,5.3835L17.3835,6.07815L14.5991,7.6411L13.4703,7.72793ZM7.71346,11.2445L12.0405,10.9841L12.0405,9.20403L9.18089,9.37769L9.18089,1.56293L6.84804,1.73659L6.84804,9.55135L0,9.9855L0,11.7655L4.74095,11.4616L2.63386,14.6309L0.0752532,14.8046L0.0752532,16.5846L4.40231,16.2807L7.71346,11.2445ZM5.49348,5.20984L3.61215,2.47467L1.01592,2.64833L2.89725,5.3835L5.49348,5.20984ZM3.61215,5.90448L5.49348,8.68306L2.89725,8.81331L1.01592,6.07814L3.61215,5.90448ZM25.5485,9.24744L25.5485,10.9841L20.6946,11.3314L20.6946,15.2388L18.3618,15.369L18.3618,11.4616L13.508,11.8089L13.508,10.0289L18.3618,9.72501L18.3618,8.81329L20.6946,8.68304L20.6946,9.55135L25.5485,9.24744ZM7.93921,11.7221L9.78291,15.9334L12.3791,15.7597L10.5354,11.5919L7.93921,11.7221ZM24.2692,11.5919L21.9363,11.7655L23.6295,15.0217L26,14.8914L24.2692,11.5919ZM15.8408,15.5426L13.508,15.7163L15.0506,12.1996L17.3835,12.0694L15.8408,15.5426Z"
fill-rule=
"evenodd"
:fill=
"multicolour ? '#C20000' : color"
fill-opacity=
"1"
/>
</g>
</g>
</svg>
<svg
v-if=
"name === '6'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
version=
"1.1"
:width=
"w"
:height=
"h"
viewBox=
"0 0 18 20.4871826171875"
>
<g
style=
"mix-blend-mode: passthrough"
>
<g>
<g>
<path
d=
"M3.30718994140625,13.55474078125C3.30718994140625,12.93392078125,3.51413094140625,11.89921078125,4.44536994140625,11.17492078125C4.96271994140625,10.76103078125,5.79047994140625,10.55409078125,7.03212994140625,10.55409078125L7.03212994140625,8.07080078125C7.23906994140625,8.07080078125,7.44600994140625,8.07080078125,7.75641994140625,8.07080078125L7.75641994140625,11.38186078125C6.51477994140625,11.38186078125,5.6870099414062505,11.58880078125,5.16965994140625,12.00268078125C4.23842494140625,12.72697078125,4.03148394140625,13.65821078125,4.03148394140625,14.38250078125C4.03148394140625,14.89986078125,4.23842494140625,15.417210781249999,4.54883994140625,15.93456078125C3.72107194140625,15.31374078125,3.30718994140625,14.27903078125,3.30718994140625,13.55474078125Z"
:fill=
"multicolour ? '#DD1F3F' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M12.619537353515625,1.2416726093750001Q12.619537353515625,1.034731609375,12.619537353515625,0.620849609375L13.343831353515625,0.620849609375Q13.343831353515625,1.4486136093750002,13.343831353515625,1.862499609375C13.343831353515625,2.586789609375,13.654247353515625,3.104139609375,14.068127353515624,3.621499609375C13.343831353515625,3.207609609375,12.619537353515625,2.2763796093749997,12.619537353515625,1.2416726093750001Z"
:fill=
"multicolour ? '#000000' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M18.000021240234375,5.79438796875L18.000021240234375,9.10544796875C17.793021240234374,9.10544796875,17.172221240234375,9.00197796875,16.344421240234375,8.89850796875C15.516721240234375,8.69156796875,14.378521240234376,8.27767796875,13.136821240234376,7.44991796875L13.136821240234376,14.17549796875C13.136821240234376,14.79632796875,12.929921240234375,20.487217968750002,7.032111240234375,20.487217968750002C4.755751240234375,20.487217968750002,3.100231240234375,19.65941796875,2.065521240234375,18.41781796875C3.100231240234375,19.24551796875,4.4453412402343755,19.76291796875,6.307811240234375,19.76291796875C12.309121240234376,19.76291796875,12.412621240234374,14.07202796875,12.412621240234374,13.451207968750001L12.412621240234374,6.7256279687500005C13.654221240234374,7.55338796875,14.792421240234376,7.96726796875,15.620121240234376,8.17420796875C16.551421240234376,8.38114796875,17.068721240234375,8.38114796875,17.275721240234375,8.38114796875L17.275721240234375,5.69091796875C17.586121240234377,5.69091796875,17.793021240234374,5.69091796875,18.000021240234375,5.79438796875Z"
:fill=
"multicolour ? '#DD1F3F' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M17.379170068359375,5.6908331640625L17.379170068359375,8.484533164062501C17.172270068359374,8.484533164062501,16.551370068359375,8.484533164062501,15.723670068359375,8.2775931640625C14.895870068359375,8.070653164062499,13.757670068359374,7.6567731640625,12.516070068359374,6.8290031640625L12.516070068359374,13.4511431640625C12.516070068359374,14.0719431640625,12.309070068359375,19.7628431640625,6.411290068359375,19.7628431640625C4.548820068359375,19.7628431640625,3.203700068359375,19.2454431640625,2.169000068359375,18.4177431640625C0.410000068359375,16.4517431640625,0.306530068359375,13.4511431640625,1.341235068359375,11.3817431640625C2.4794100683593747,9.2088231640625,4.341880068359375,8.1741231640625,7.032110068359375,8.070653164062499L7.032110068359375,10.6574131640625C5.790470068359375,10.6574131640625,4.962700068359375,10.8643431640625,4.4453500683593745,11.2782431640625C3.514120068359375,12.0025431640625,3.307180068359375,12.9337431640625,3.307180068359375,13.6580431640625C3.307180068359375,14.3823431640625,3.721060068359375,15.3135431640625,4.548820068359375,15.9344431640625C5.066170068359375,16.5552431640625,5.790470068359375,17.0725431640625,6.825170068359375,17.0725431640625C8.687640068359375,17.0725431640625,9.618880068359376,15.4170431640625,9.618880068359376,14.1754431640625C9.618880068359376,13.3476431640625,9.618880068359376,8.8984131640625,9.618880068359376,0.7242431640625L12.619570068359375,0.7242431640625Q12.619570068359375,1.1381251640625,12.619570068359375,1.3450661640625001C12.619570068359375,2.3797731640624997,13.343770068359374,3.2075331640625,14.068070068359376,3.8283631640625C14.688970068359374,4.5526531640625,15.413270068359376,4.9665331640625,15.930570068359375,5.2769431640625C16.344470068359374,5.3804131640625,16.861770068359377,5.4838931640625,17.379170068359375,5.6908331640625Z"
:fill=
"multicolour ? '#000000' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M1.34124,11.3817533203125C0.306535,13.4511633203125,0.410006,16.4518133203125,2.06553,18.417703320312498C-0.210818,16.555283320312498,-0.521229,13.0372833203125,0.720417,10.6574633203125C1.85859,8.3811113203125,4.03147,7.2429353203125,7.03212,7.4498759203125L7.03212,8.0706993203125C4.34189,8.0706993203125,2.47942,9.2088733203125,1.34124,11.3817533203125Z"
:fill=
"multicolour ? '#4DE2C6' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M8.894588125,0L12.619528125,0L12.619528125,0.724294L9.618888125,0.724294C9.618888125,8.89847,9.618888125,13.3477,9.618888125,14.1755C9.618888125,15.4171,8.687648124999999,17.0726,6.825178125,17.0726C5.790478125,17.0726,4.962710125,16.5553,4.548828125,15.9345C4.962710125,16.2449,5.480063125,16.4518,6.100888125,16.4518C7.963358125,16.4518,8.894588125,14.7963,8.894588125,13.5546C8.894588125,12.6234,8.894588125,8.17417,8.894588125,0Z"
:fill=
"multicolour ? '#4DE2C6' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M17.379175234375,5.069973515625L17.379175234375,5.587323515625C16.861815234375,5.483853515625,16.344465234375,5.380383515625,15.930585234375,5.173443515625C15.413235234375,4.966503515625,14.585468234375,4.449147515625,14.068115234375,3.724853515625C14.481998234375,4.138735515625,14.895880234375,4.345676515625,15.206295234375,4.552618515625C15.827115234375,4.7595635156250005,16.551405234375,4.966503515625,17.379175234375,5.069973515625Z"
:fill=
"multicolour ? '#4DE2C6' : color"
fill-opacity=
"1"
/>
</g>
</g>
</g>
</svg>
<svg
v-if=
"name === '7'"
t=
"1675655112200"
class=
"icon"
viewBox=
"0 0 1138 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"18176"
:width=
"w"
:height=
"h"
>
<path
d=
"M914.432 518.144q27.648 21.504 38.912 51.712t9.216 62.976-14.336 65.536-31.744 59.392q-34.816 48.128-78.848 81.92t-91.136 56.32-94.72 35.328-89.6 18.944-75.264 7.68-51.712 1.536-49.152-2.56-68.096-10.24-78.336-21.504-79.872-36.352-74.24-55.296-59.904-78.848q-16.384-29.696-22.016-63.488t-5.632-86.016q0-22.528 7.68-51.2t27.136-63.488 53.248-75.776 86.016-90.112q51.2-48.128 105.984-85.504t117.248-57.856q28.672-10.24 63.488-11.264t57.344 11.264q10.24 11.264 19.456 23.04t12.288 29.184q3.072 14.336 0.512 27.648t-5.632 26.624-5.12 25.6 2.048 22.528q17.408 2.048 33.792-1.536t31.744-9.216 31.232-11.776 33.28-9.216q27.648-5.12 54.784-4.608t49.152 7.68 36.352 22.016 17.408 38.4q2.048 14.336-2.048 26.624t-8.704 23.04-7.168 22.016 1.536 23.552q3.072 7.168 14.848 13.312t27.136 12.288 32.256 13.312 29.184 16.384zM656.384 836.608q26.624-16.384 53.76-45.056t44.032-64 18.944-75.776-20.48-81.408q-19.456-33.792-47.616-57.344t-62.976-37.376-74.24-19.968-80.384-6.144q-78.848 0-139.776 16.384t-105.472 43.008-72.192 60.416-38.912 68.608q-11.264 33.792-6.656 67.072t20.992 62.976 42.496 53.248 57.856 37.888q58.368 25.6 119.296 32.256t116.224 0.512 100.864-21.504 74.24-33.792zM522.24 513.024q20.48 8.192 38.912 18.432t32.768 27.648q10.24 12.288 17.92 30.72t10.752 39.424 1.536 42.496-9.728 38.912q-8.192 18.432-19.968 37.376t-28.672 35.328-40.448 29.184-57.344 18.944q-61.44 11.264-117.76-11.264t-88.064-74.752q-12.288-39.936-13.312-70.656t16.384-66.56q13.312-27.648 40.448-51.712t62.464-38.912 75.264-17.408 78.848 12.8zM359.424 764.928q37.888 3.072 57.856-18.432t21.504-48.128-15.36-47.616-52.736-16.896q-27.648 3.072-43.008 23.552t-17.408 43.52 9.728 42.496 39.424 21.504zM778.24 6.144q74.752 0 139.776 19.968t113.664 57.856 76.288 92.16 27.648 122.88q0 33.792-16.384 50.688t-35.328 17.408-35.328-14.336-16.384-45.568q0-40.96-22.528-77.824t-59.392-64.512-84.48-43.52-96.768-15.872q-31.744 0-47.104-15.36t-14.336-34.304 18.944-34.304 51.712-15.36zM778.24 169.984q95.232 0 144.384 48.64t49.152 146.944q0 30.72-10.24 43.52t-22.528 11.264-22.528-14.848-10.24-35.84q0-60.416-34.816-96.256t-93.184-35.84q-19.456 0-28.672-10.752t-9.216-23.04 9.728-23.04 28.16-10.752z"
:fill=
"multicolour ? '#D31818' : color"
p-id=
"18177"
></path>
</svg>
<svg
v-if=
"name === '8'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
version=
"1.1"
:width=
"w"
:height=
"h"
viewBox=
"0 0 42 10.6287841796875"
>
<g
style=
"mix-blend-mode: passthrough"
>
<g>
<g>
<path
d=
"M3.58743,2.720703125L0.676873,2.720703125Q0.930701,5.441383125,0,7.509093125L1.55681,9.552623125Q3.63819,8.923843125000001,3.58743,2.720703125Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M13.080569743652344,2.720703125L10.153095850652344,2.720703125Q10.119252043652343,8.911753125,12.183719743652343,9.552623125L13.740519743652344,7.509093125C13.757449743652344,7.509093125,12.826749743652343,5.441383125,13.080569743652344,2.720703125Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M5.431911192398071,8.948L3.5874311923980713,8.948Q3.5874311923980713,10.4958,5.414991192398071,10.6288L6.345691192398071,10.6288Q8.207091192398071,10.6288,8.291701192398072,9.1052L8.291701192398072,0L5.431911192398071,0L5.431911192398071,8.948Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M15.263494921875001,4.59492L17.158739921875,4.59492L15.703459921875,6.711Q14.857370921875,7.89601,16.211119921875,7.94438L19.375499921875,7.94438L20.644639921875,6.31197L19.070909921875,6.31197C18.867849921875,6.31197,18.732469921875,6.15478,18.833999921874998,6.03386L21.186139921875,2.73277L18.444799921875,2.73277L18.275579921875,2.97461L18.106359921875,2.97461C17.903299921875,2.97461,17.767929921875,2.81741,17.869459921875,2.69649L19.832389921875,0L17.091049921875,0L14.755839921875,3.36155Q13.909748921875,4.55865,15.263494921875001,4.59492Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M15.669624886779784,8.5973725078125Q15.314264886779785,8.6215565078125,15.094274886779786,8.4522705078125L13.672844886779785,10.3990705078125Q13.909750886779785,10.6288105078125,14.383560886779785,10.6288105078125L17.903304886779786,10.6288105078125L19.409344886779785,8.5973735078125L15.669624886779784,8.5973725078125Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M26.27961172241211,2.720679140625L28.09024172241211,2.720679140625L28.09024172241211,0.640869140625L21.62610172241211,0.640869140625L21.62610172241211,2.720679140625L23.47058172241211,2.720679140625L23.47058172241211,8.669889140625L20.76309172241211,8.669889140625L19.39242172241211,10.628779140625L29.02094172241211,10.628779140625L29.02094172241211,8.669889140625L26.27961172241211,8.669889140625L26.27961172241211,2.720679140625Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M39.22485031738282,4.25635L38.886380317382816,4.25635L38.886380317382816,2.91415C38.886380317382816,1.65659,37.464950317382815,0.640871,35.70507031738281,0.640871L34.605150317382815,0.640871L34.605150317382815,0L31.813050317382814,0L31.813050317382814,0.628779L30.05318031738281,0.628779L30.05318031738281,2.66022L31.813050317382814,2.66022L31.813050317382814,4.24426L29.020950317382812,4.24426L29.020950317382812,6.28779L31.813050317382814,6.28779L31.813050317382814,10.6288L34.605150317382815,10.6288L34.605150317382815,6.28779L38.446410317382814,6.28779C38.81869031738281,6.28779,39.12325031738281,6.50544,39.12325031738281,6.77146L39.12325031738281,8.91173L36.466560317382815,8.91173C36.466560317382815,9.8549,37.53263031738281,10.6288,38.86946031738281,10.6288L39.59705031738281,10.6288C40.91695031738281,10.6288,41.99995031738281,9.86699,41.99995031738281,8.91173L41.99995031738281,6.22733C41.98305031738281,5.13906,40.74775031738281,4.25635,39.22485031738282,4.25635ZM34.605150317382815,2.67231L35.60354031738281,2.67231C35.84045031738281,2.67231,36.04351031738281,2.80532,36.04351031738281,2.9867L36.04351031738281,4.25635L34.605150317382815,4.25635L34.605150317382815,2.67231Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
<g>
<path
d=
"M41.93229975097656,1.632405140625C41.93229975097656,1.088269140625,41.306189750976564,0.640869140625,40.544709750976565,0.640869140625C39.78322675097656,0.640869140625,39.15711975097656,1.088269140625,39.15711975097656,1.632405140625L39.15711975097656,2.623939140625L40.544709750976565,2.623939140625C41.32310975097656,2.623939140625,41.93229975097656,2.176539140625,41.93229975097656,1.632405140625Z"
:fill=
"multicolour ? '#D31818' : color"
fill-opacity=
"1"
/>
</g>
</g>
</g>
</svg>
<svg
v-if=
"name === '9'"
t=
"1675655183921"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"19990"
:width=
"w"
:height=
"h"
>
<path
d=
"M149.6 171.8h691.9c47.2 0 85.9 37.7 86.5 83.9L495.7 493 63.5 256c0.4-46.4 38.8-84.2 86.1-84.2z m-86.1 175l-0.4 419.6c0 46.7 38.9 84.9 86.5 84.9h691.9c47.6 0 86.5-38.2 86.5-84.9V346.6L505.9 572.8c-6.5 3.5-14.3 3.5-20.7 0l-421.7-226z"
:fill=
"multicolour ? '#2877D7' : color"
p-id=
"19991"
></path>
</svg>
<svg
v-if=
"name === '10'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
version=
"1.1"
:width=
"w"
:height=
"h"
viewBox=
"0 0 20 20"
>
<g
style=
"mix-blend-mode: passthrough"
>
<g>
<path
d=
"M20,9C20,12.8624,17.2967,16.1565,13.5,17.4334C12.4107,17.7997,11.2313,18,10,18Q6,18,1,20L2.1323,17.5543C2.6952,16.3384,2.336,14.9248,1.5616,13.8314C0.5729,12.4356,0,10.778,0,9C0,4.0294,4.4772,0,10,0C15.5228,0,20,4.0294,20,9Z"
:fill=
"multicolour ? '#19AA20' : color"
fill-opacity=
"1"
/>
</g>
</g>
</svg>
<svg
v-if=
"name === '11'"
t=
"1675660021839"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"24527"
:width=
"w"
:height=
"h"
>
<path
d=
"M512 0C229.2 0 0 229.2 0 512s229.2 512 512 512 512-229.2 512-512S794.8 0 512 0z m-32 769V353c0-17.7 14.3-32 32-32s32 14.3 32 32v416c0 8.8-3.6 16.8-9.4 22.6-5.8 5.8-13.8 9.4-22.6 9.4-17.7 0-32-14.3-32-32z m64-543.5c0 8.8-3.6 16.8-9.4 22.6-5.8 5.8-13.8 9.4-22.6 9.4-17.7 0-32-14.3-32-32v-1c0-17.7 14.3-32 32-32s32 14.3 32 32v1z"
:fill=
"multicolour ? '#D31818' : color"
p-id=
"24528"
></path>
</svg>
<svg
v-if=
"name === '12'"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
fill=
"none"
version=
"1.1"
:width=
"w"
:height=
"h"
viewBox=
"0 0 24 24"
>
<g
clip-path=
"url(#master_svg0_457_9611)"
>
<g><rect
x=
"0"
y=
"0"
width=
"24"
height=
"24"
rx=
"0"
fill=
"#FFFFFF"
fill-opacity=
"0.009999999776482582"
/></g>
<g>
<path
d=
"M11.9993,2.5L8.9428,8.738800000000001L2,9.74555L7.02945,14.6625L5.8271999999999995,21.5L11.9993,18.209600000000002L18.1727,21.5L16.979300000000002,14.6625L22,9.74555L15.0956,8.738800000000001L11.9993,2.5Z"
:fill=
"multicolour ? '#19AAA5' : color"
fill-opacity=
"1"
/>
<path
d=
"M14.1999,9.18336L11.10355,2.944564L11.9993,2.5L12.8973,2.939956L9.84082,9.17876Q9.78714,9.288319999999999,9.7087,9.38176Q9.63025,9.47521,9.53164,9.547049999999999Q9.433029999999999,9.61889,9.320039999999999,9.66492Q9.207049999999999,9.71094,9.086310000000001,9.728449999999999L2.143505,10.7352L2,9.74555L2.699068,9.03049L7.72852,13.9475Q7.81571,14.0327,7.87987,14.1364Q7.94403,14.2401,7.98138,14.3562Q8.01873,14.4723,8.0271,14.594Q8.03546,14.7156,8.01434,14.8357L6.81209,21.6732L5.8271999999999995,21.5L5.35677,20.6176L11.52887,17.327199999999998Q11.63745,17.2693,11.75683,17.2394Q11.87621,17.209600000000002,11.99926,17.209600000000002Q12.1223,17.209600000000002,12.2417,17.2394Q12.3611,17.269199999999998,12.4697,17.3271L18.6431,20.6175L18.1727,21.5L17.1876,21.6719L15.9942,14.8345Q15.9733,14.7146,15.9817,14.5932Q15.9901,14.4719,16.0274,14.356Q16.064700000000002,14.2402,16.128700000000002,14.1367Q16.192700000000002,14.0332,16.279600000000002,13.9481L21.3003,9.0311L22,9.74555L21.8557,10.73509L14.9514,9.72834Q14.8314,9.710840000000001,14.7191,9.66518Q14.6067,9.61951,14.5086,9.54833Q14.4104,9.47714,14.3321,9.38456Q14.2538,9.291979999999999,14.1999,9.18336ZM15.9914,8.29424L15.0956,8.738800000000001L15.2399,7.74926L22.1443,8.75601Q22.3068,8.77971,22.4532,8.85412Q22.5995,8.92854,22.7144,9.045860000000001Q22.7834,9.11623,22.8372,9.19869Q22.8911,9.28115,22.9278,9.372530000000001Q22.9646,9.46391,22.9828,9.5607Q23.001,9.657499999999999,22.9999,9.755980000000001Q22.9989,9.85447,22.9787,9.950859999999999Q22.9585,10.04726,22.9198,10.13785Q22.8812,10.228449999999999,22.8256,10.30977Q22.7701,10.391079999999999,22.6997,10.46L17.679000000000002,15.377L16.979300000000002,14.6625L17.964399999999998,14.4906L19.1578,21.3281Q19.1865,21.4927,19.1602,21.6578Q19.1338,21.8228,19.0552,21.9704Q19.0089,22.0573,18.9465,22.1335Q18.8841,22.2097,18.808,22.2723Q18.7319,22.3348,18.6451,22.3814Q18.5583,22.4279,18.4641,22.4566Q18.3699,22.4853,18.2719,22.4951Q18.1739,22.5048,18.0759,22.4953Q17.977800000000002,22.4858,17.883499999999998,22.4573Q17.7893,22.4288,17.7023,22.3825L11.52894,19.0921L11.9993,18.209600000000002L12.4697,19.092L6.29763,22.3824Q6.14983,22.4612,5.9844100000000005,22.4876Q5.818989999999999,22.5139,5.65402,22.4849Q5.55702,22.4678,5.46521,22.4322Q5.3734,22.3965,5.2903,22.3436Q5.20721,22.2908,5.13603,22.2227Q5.06485,22.1546,5.008319999999999,22.074Q4.95179,21.9933,4.91208,21.9032Q4.87237,21.8131,4.8510100000000005,21.7169Q4.8296399999999995,21.6208,4.82745,21.5223Q4.8252500000000005,21.4238,4.8423099999999994,21.3268L6.04456,14.4894L7.02945,14.6625L6.33038,15.3776L1.300932,10.460609999999999Q1.183206,10.34551,1.108592,10.19875Q1.0339770000000001,10.05199,1.0103499999999999,9.88906Q0.9962200000000001,9.79158,1.00137,9.69323Q1.006523,9.59487,1.0307659999999998,9.499410000000001Q1.055009,9.40395,1.0974089999999999,9.31505Q1.13981,9.22615,1.198738,9.14724Q1.257667,9.06832,1.33086,9.002410000000001Q1.404052,8.93651,1.488696,8.88615Q1.573339,8.83579,1.666181,8.80291Q1.759023,8.77003,1.856495,8.7559L8.79929,7.74915L8.9428,8.738800000000001L8.04478,8.29884L11.10128,2.060044Q11.17392,1.911767,11.29038,1.794712Q11.40683,1.677658,11.55474,1.604253Q11.64296,1.560467,11.73803,1.534734Q11.8331,1.509002,11.93136,1.50231Q12.0296,1.49562,12.1273,1.508227Q12.225,1.520835,12.3183,1.552257Q12.4117,1.583679,12.4971,1.632708Q12.5825,1.681737,12.6567,1.746489Q12.7309,1.8112409999999999,12.7911,1.889227Q12.8513,1.967213,12.895,2.055436L15.9914,8.29424Z"
:fill=
"multicolour ? '#19AAA5' : color"
fill-opacity=
"1"
/>
</g>
</g>
</svg>
</div>
</
template
>
<
style
lang=
"scss"
></
style
>
src/modules/connect/components/ListItem.vue
浏览文件 @
a307abe9
...
...
@@ -13,7 +13,7 @@ const emits = defineEmits(['update', 'edit'])
// 删除
function
handleRemove
()
{
ElMessageBox
.
confirm
(
'确定要删除该连接吗?'
,
'提示'
).
then
(()
=>
{
deleteConnection
({
id
:
props
.
data
?.
id
}).
then
(
res
=>
{
deleteConnection
({
id
:
props
.
data
.
id
}).
then
(()
=>
{
ElMessage
({
message
:
'删除成功'
,
type
:
'success'
})
emits
(
'update'
)
})
...
...
@@ -25,29 +25,27 @@ const routerView = function () {
}
const
edit
=
function
()
{
emits
(
'edit'
,
props
.
data
?
.
id
)
emits
(
'edit'
,
props
.
data
.
id
)
}
</
script
>
<
template
>
<div
class=
"connect-item"
>
<div
class=
"connect-item"
@
click=
"routerView"
>
<div
class=
"connect-item__edit"
>
<!--
<img
@
click=
"edit"
src=
"https://webapp-pub.ezijing.com/pages/assa/dml_edit.png"
alt=
""
/>
-->
<el-icon
size=
"20"
color=
"#333"
@
click=
"edit"
><Edit
/></el-icon>
<!--
<img
@
click=
"edit"
src=
"https://webapp-pub.ezijing.com/pages/assa/dml_edit.png"
/>
-->
<el-icon
size=
"20"
color=
"#333"
@
click
.
stop
=
"edit"
><Edit
/></el-icon>
</div>
<div
class=
"connect-item__remove"
@
click=
"handleRemove"
>
<!--
<img
src=
"https://webapp-pub.ezijing.com/pages/assa/dml_delete.png"
alt=
""
/>
-->
<div
class=
"connect-item__remove"
@
click
.
stop
=
"handleRemove"
>
<!--
<img
src=
"https://webapp-pub.ezijing.com/pages/assa/dml_delete.png"
/>
-->
<el-icon
size=
"20"
color=
"#333"
><Delete
/></el-icon>
</div>
<div
@
click=
"routerView"
style=
"display: flex; width: 100%; flex-direction: column; align-items: center"
>
<div
class=
"connect-item__icon"
>
<Icon
w=
"40"
h=
"40"
:multicolour=
"true"
class=
"svg"
:name=
"data?
.type"
></Icon>
<Icon
w=
"40"
h=
"40"
:multicolour=
"true"
class=
"svg"
:name=
"data
.type"
></Icon>
</div>
<p
style=
"font-size: 18px; margin-top: 8px"
>
{{
data
?.
type
===
'12'
?
data
?.
config_attributes
[
0
].
value
:
data
?
.
type_name
}}
<p
>
{{
data
.
type
===
'12'
?
data
.
config_attributes
[
0
].
value
:
data
.
type_name
}}
</p>
</div>
</div>
</
template
>
<
style
lang=
"scss"
>
...
...
@@ -70,6 +68,10 @@ const edit = function () {
display
:
block
;
}
}
p
{
font-size
:
18px
;
margin-top
:
8px
;
}
}
.connect-item__remove
{
display
:
none
;
...
...
src/modules/connect/views/View.vue
浏览文件 @
a307abe9
<
script
setup
lang=
"ts"
>
import
Icon
from
'@/components/ConnectionIcon.vue'
import
{
ElMessageBox
}
from
'element-plus'
//
import { ElMessageBox } from 'element-plus'
import
{
getConnectionDetails
}
from
'../api'
const
route
=
useRoute
()
// 点击标签弹出详情文案(产品还没提供)
const
openMsg
=
()
=>
{
// ElMessageBox.alert('成功链接xxxx', '提示', {
// confirmButtonText: '关闭'
// })
}
//
const openMsg = () => {
//
// ElMessageBox.alert('成功链接xxxx', '提示', {
//
// confirmButtonText: '关闭'
//
// })
//
}
let
dataDetail
=
$ref
<
any
>
()
onMounted
(()
=>
{
...
...
@@ -464,12 +464,12 @@ const abilityItem = computed(() => {
</div>
</AppCard>
<AppCard
title=
"链接能力"
>
<el-tabs
class=
"tabs-box"
v-for=
"
item in abilityItem
"
>
<el-tabs
class=
"tabs-box"
v-for=
"
(item, index) in abilityItem"
:key=
"index
"
>
<el-tab-pane
:label=
"item.title"
>
<div
class=
"tag-box"
>
<div
v-for=
"cItem in item.child"
class=
"tag"
>
{{
cItem
?
.
title
}}
</div>
<div
class=
"tag-box"
v-if=
"item.child.length"
>
<div
class=
"tag"
v-for=
"cItem in item.child"
:key=
"cItem.title"
>
{{
cItem
.
title
}}
</div>
</div>
<div
v-if=
"!item.child.length"
class=
"tag-null"
>
无数据
</div>
<div
class=
"tag-null"
v-else
>
无数据
</div>
</el-tab-pane>
</el-tabs>
</AppCard>
...
...
src/modules/metadata/event/components/FieldDialog.vue
浏览文件 @
a307abe9
...
...
@@ -60,7 +60,7 @@ function handleUpdate() {
id
:
eventDetail
?.
id
||
''
,
attributes
:
JSON
.
stringify
(
tableData
)
}
updateAttributes
(
params
).
then
(
res
=>
{
updateAttributes
(
params
).
then
(
()
=>
{
ElMessage
({
message
:
'保存成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
...
...
@@ -89,12 +89,7 @@ const changeFormatType = function (row: any) {
</
script
>
<
template
>
<el-dialog
title=
"事件属性"
:close-on-click-modal=
"false"
width=
"800px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
title=
"事件属性"
:close-on-click-modal=
"false"
width=
"800px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<div
style=
"display: flex; justify-content: space-around"
>
<el-form
label-width=
"120px"
>
<el-form-item
label=
"事件英文名称:"
>
{{
eventDetail
?.
english_name
}}
</el-form-item>
...
...
@@ -125,43 +120,23 @@ const changeFormatType = function (row: any) {
</el-table-column>
<el-table-column
label=
"字段类型"
>
<
template
#
default=
"scope"
>
<el-select
@
change=
"changeFormatType(scope.row)"
:disabled=
"scope.row.id !== ''"
v-model=
"scope.row.type"
placeholder=
"请选择"
>
<el-option
:label=
"item.label"
:value=
"item.value"
:key=
"item.id"
v-for=
"item in experimentAttributeOptions"
></el-option>
<el-select
@
change=
"changeFormatType(scope.row)"
:disabled=
"scope.row.id !== ''"
v-model=
"scope.row.type"
placeholder=
"请选择"
>
<el-option
:label=
"item.label"
:value=
"item.value"
:key=
"item.id"
v-for=
"item in experimentAttributeOptions"
></el-option>
</el-select>
</
template
>
</el-table-column>
<el-table-column
label=
"字段格式"
>
<
template
#
default=
"scope"
>
<el-select
:disabled=
"scope.row.id !== ''"
v-if=
"scope.row.type === '4' || scope.row.type === '5'"
v-model=
"scope.row.format"
placeholder=
"请选择"
>
<el-select
:disabled=
"scope.row.id !== ''"
v-if=
"scope.row.type === '4' || scope.row.type === '5'"
v-model=
"scope.row.format"
placeholder=
"请选择"
>
<el-option
v-if=
"scope.row.type !== '5'"
label=
"yyyy-mm-dd"
value=
"yyyy-mm-dd"
></el-option>
<el-option
v-if=
"scope.row.type !== '4'"
label=
"yyyy-mm-dd hh:mm:ss"
value=
"yyyy-mm-dd hh:mm:ss"
></el-option>
<el-option
v-if=
"scope.row.type !== '4'"
label=
"yyyy-mm-dd hh:mm:ss"
value=
"yyyy-mm-dd hh:mm:ss"
></el-option>
</el-select>
<el-input
v-else
:disabled=
"scope.row.id !== ''"
type=
"number"
v-model=
"scope.row.format"
:placeholder=
"scope.row.type === '1' ? '请输入字符串长度' : '请输入长度'"
></el-input>
:placeholder=
"scope.row.type === '1' ? '请输入字符串长度' : '请输入长度'"
></el-input>
</
template
>
</el-table-column>
<el-table-column
width=
"30"
>
...
...
src/modules/metadata/event/components/FormDialog.vue
浏览文件 @
a307abe9
...
...
@@ -47,7 +47,7 @@ function handleSubmit() {
// 新建
function
handleCreate
()
{
createMetaEvent
(
form
).
then
(
res
=>
{
createMetaEvent
(
form
).
then
(
()
=>
{
ElMessage
({
message
:
'创建成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
...
...
@@ -55,7 +55,7 @@ function handleCreate() {
}
// 修改
function
handleUpdate
()
{
updateMetaEvent
(
form
).
then
(
res
=>
{
updateMetaEvent
(
form
).
then
(
()
=>
{
ElMessage
({
message
:
'修改成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
...
...
@@ -76,12 +76,7 @@ function handleUpdate() {
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
<el-form-item
label=
"所属连接"
prop=
"experiment_connection_id"
>
<el-select
:disabled=
"isUpdate"
v-model=
"form.experiment_connection_id"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-select
:disabled=
"isUpdate"
v-model=
"form.experiment_connection_id"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-option
:label=
"item.type_name"
:value=
"item.id"
:key=
"item.id"
v-for=
"item in props.option"
></el-option>
</el-select>
</el-form-item>
...
...
src/modules/metadata/event/views/Index.vue
浏览文件 @
a307abe9
...
...
@@ -55,9 +55,7 @@ const listOptions = computed(() => {
label
:
'状态'
,
prop
:
'status_name'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
status
===
'0'
?
`<span style="color: rgb(170, 2, 49)">
${
row
.
row
.
status_name
}
</span>`
:
`<span style="color: #00ac27">
${
row
.
row
.
status_name
}
</span>`
return
row
.
row
.
status
===
'0'
?
`<span style="color: rgb(170, 2, 49)">
${
row
.
row
.
status_name
}
</span>`
:
`<span style="color: #00ac27">
${
row
.
row
.
status_name
}
</span>`
}
},
{
label
:
'更新人'
,
prop
:
'updated_operator_name'
},
...
...
@@ -97,7 +95,7 @@ function handleView(row: EventProp) {
// 删除
function
handleRemove
(
row
:
EventProp
)
{
ElMessageBox
.
confirm
(
'确定要删除该属性吗?'
,
'提示'
).
then
(()
=>
{
deleteMetaEvent
({
id
:
row
.
id
}).
then
(
res
=>
{
deleteMetaEvent
({
id
:
row
.
id
}).
then
(
()
=>
{
ElMessage
({
message
:
'删除成功'
,
type
:
'success'
})
handleRefresh
()
})
...
...
@@ -129,13 +127,7 @@ const handleField = function (row: EventProp) {
</AppList>
</AppCard>
<!-- 新建/修改 -->
<FormDialog
v-model=
"formVisible"
:data=
"currentRow"
@
update=
"handleRefresh"
:option=
"experimentConnectionOptions || []"
v-if=
"formVisible"
/>
<FormDialog
v-model=
"formVisible"
:data=
"currentRow"
@
update=
"handleRefresh"
:option=
"experimentConnectionOptions || []"
v-if=
"formVisible"
/>
<!-- 查看 -->
<ViewDialog
v-model=
"viewVisible"
:data=
"currentRow"
v-if=
"viewVisible && currentRow"
/>
<FieldDialog
v-model=
"fieldVisible"
:data=
"currentRow"
v-if=
"fieldVisible && currentRow"
></FieldDialog>
...
...
src/modules/metadata/user/components/FormDialog.vue
浏览文件 @
a307abe9
...
...
@@ -52,7 +52,7 @@ function handleSubmit() {
// 新建
function
handleCreate
()
{
createMemberMeta
(
form
).
then
(
res
=>
{
createMemberMeta
(
form
).
then
(
()
=>
{
ElMessage
({
message
:
'创建成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
...
...
@@ -60,7 +60,7 @@ function handleCreate() {
}
// 修改
function
handleUpdate
()
{
updateMemberMeta
(
form
).
then
(
res
=>
{
updateMemberMeta
(
form
).
then
(
()
=>
{
ElMessage
({
message
:
'修改成功'
,
type
:
'success'
})
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
...
...
@@ -109,29 +109,12 @@ const changeFormatType = function () {
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
<el-form-item
label=
"属性字段类型"
prop=
"type"
>
<el-select
:disabled=
"isUpdate"
@
change=
"changeFormatType"
v-model=
"form.type"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-option
:label=
"item.label"
:value=
"item.value"
:key=
"item.id"
v-for=
"item in experimentAttributeOptions"
></el-option>
<el-select
:disabled=
"isUpdate"
@
change=
"changeFormatType"
v-model=
"form.type"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-option
:label=
"item.label"
:value=
"item.value"
:key=
"item.id"
v-for=
"item in experimentAttributeOptions"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"属性字段格式"
prop=
"format"
v-if=
"form.type !== ''"
>
<el-select
:disabled=
"isUpdate"
v-if=
"form.type === '4' || form.type === '5'"
v-model=
"form.format"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-select
:disabled=
"isUpdate"
v-if=
"form.type === '4' || form.type === '5'"
v-model=
"form.format"
style=
"width: 100%"
placeholder=
"请选择"
>
<el-option
v-if=
"form.type !== '5'"
label=
"yyyy-mm-dd"
value=
"yyyy-mm-dd"
></el-option>
<el-option
v-if=
"form.type !== '4'"
label=
"yyyy-mm-dd hh:mm:ss"
value=
"yyyy-mm-dd hh:mm:ss"
></el-option>
</el-select>
...
...
src/modules/metadata/user/views/Index.vue
浏览文件 @
a307abe9
...
...
@@ -48,9 +48,7 @@ const listOptions = computed(() => {
label
:
'状态'
,
prop
:
'status_name'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
status
===
'0'
?
`<span style="color: rgb(170, 2, 49)">
${
row
.
row
.
status_name
}
</span>`
:
`<span style="color: #00ac27">
${
row
.
row
.
status_name
}
</span>`
return
row
.
row
.
status
===
'0'
?
`<span style="color: rgb(170, 2, 49)">
${
row
.
row
.
status_name
}
</span>`
:
`<span style="color: #00ac27">
${
row
.
row
.
status_name
}
</span>`
}
},
{
label
:
'更新人'
,
prop
:
'updated_operator_name'
},
...
...
@@ -90,7 +88,7 @@ function handleView(row: UserProp) {
// 删除
function
handleRemove
(
row
:
UserProp
)
{
ElMessageBox
.
confirm
(
'确定要删除该属性吗?'
,
'提示'
).
then
(()
=>
{
deleteMemberMeta
({
id
:
row
.
id
}).
then
(
res
=>
{
deleteMemberMeta
({
id
:
row
.
id
}).
then
(
()
=>
{
ElMessage
({
message
:
'删除成功'
,
type
:
'success'
})
handleRefresh
()
})
...
...
src/modules/trip/template/views/Index.vue
浏览文件 @
a307abe9
...
...
@@ -2,7 +2,6 @@
import
type
{
TripTemplate
}
from
'../types'
import
{
Plus
}
from
'@element-plus/icons-vue'
import
AppList
from
'@/components/base/AppList.vue'
import
{
ElMessageBox
}
from
'element-plus'
import
{
getTripTemplateList
}
from
'../api'
import
{
useMapStore
}
from
'@/stores/map'
import
{
getNameByValue
,
tripTemplateTypeList
}
from
'@/utils/dictionary'
...
...
@@ -77,12 +76,6 @@ function handleUpdate(row: TripTemplate) {
currentRow
=
row
formVisible
=
true
}
// 删除
function
handleRemove
(
row
:
TripTemplate
)
{
ElMessageBox
.
confirm
(
'确定要删除该旅程模板吗?'
,
'提示'
).
then
(()
=>
{
handleRefresh
()
})
}
// 查看
let
viewVisible
=
$ref
(
false
)
function
handleView
(
row
:
TripTemplate
)
{
...
...
@@ -117,7 +110,6 @@ function handleConfig(row: TripTemplate) {
<el-button
type=
"primary"
plain
@
click=
"handleConfig(row)"
>
配置
</el-button>
<el-button
type=
"primary"
plain
@
click=
"handleView(row)"
>
查看
</el-button>
<el-button
type=
"primary"
plain
@
click=
"handleUpdate(row)"
>
编辑
</el-button>
<!--
<el-button
type=
"primary"
plain
@
click=
"handleRemove(row)"
>
删除
</el-button>
-->
</
template
>
</AppList>
</AppCard>
...
...
src/modules/user/components/UpdateDialog.vue
浏览文件 @
a307abe9
...
...
@@ -74,14 +74,14 @@ const submitForm = (formEl: FormInstance | undefined) => {
formEl
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
props
.
data
?.
id
)
{
updateMember
(
params
).
then
(
res
=>
{
updateMember
(
params
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'更新成功'
,
type
:
'success'
})
})
}
else
{
createMember
(
params
)
.
then
(
res
=>
{
.
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'添加成功'
,
type
:
'success'
})
...
...
@@ -105,8 +105,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
:title=
"props.data ? (props.data?.isView ? '查看用户' : '编辑用户') : '新建用户'"
:close-on-click-modal=
"false"
width=
"800px"
@
update:modelValue=
"$emit('update:modelValue')"
>
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-form
:disabled=
"props.data?.isView"
ref=
"ruleFormRef"
...
...
@@ -114,11 +113,10 @@ const submitForm = (formEl: FormInstance | undefined) => {
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"auto"
>
label-width=
"auto"
>
<el-form-item
label=
"来源链接"
prop=
"experiment_connection_id"
>
<el-select
v-model=
"form.experiment_connection_id"
style=
"width: 100%"
>
<el-option
v-for=
"item in connectionOptions"
:label=
"item?.type_name"
:value=
"item?.id"
></el-option>
<el-option
v-for=
"item in connectionOptions"
:
key=
"item.id"
:
label=
"item?.type_name"
:value=
"item?.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"姓名"
prop=
"name"
>
...
...
@@ -129,34 +127,16 @@ const submitForm = (formEl: FormInstance | undefined) => {
</el-form-item>
<el-form-item
label=
"性别"
prop=
"gender"
>
<el-select
v-model=
"form.gender"
style=
"width: 100%"
>
<el-option
v-for=
"item in store.getMapValuesByKey('system_gender')"
:label=
"item?.label"
:value=
"item?.value"
></el-option>
<el-option
v-for=
"item in store.getMapValuesByKey('system_gender')"
:key=
"item.id"
:label=
"item?.label"
:value=
"item?.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"手机号码"
prop=
"mobile"
>
<el-input
v-model=
"form.mobile"
style=
"width: 100%"
></el-input>
</el-form-item>
<el-form-item
:label=
"item.name"
v-for=
"item in fieldsList"
>
<el-form-item
:label=
"item.name"
v-for=
"item in fieldsList"
:key=
"item.id"
>
<template
v-if=
"item.type === '4' || item.type === '5'"
>
<el-date-picker
v-if=
"item.format === 'yyyy-mm-dd'"
v-model=
"item.value"
type=
"date"
placeholder=
"请选择"
style=
"width: 100%"
value-format=
"YYYY-MM-DD"
/>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-else
v-model=
"item.value"
type=
"datetime"
placeholder=
"请选择"
style=
"width: 100%"
/>
<el-date-picker
v-if=
"item.format === 'yyyy-mm-dd'"
v-model=
"item.value"
type=
"date"
placeholder=
"请选择"
style=
"width: 100%"
value-format=
"YYYY-MM-DD"
/>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-else
v-model=
"item.value"
type=
"datetime"
placeholder=
"请选择"
style=
"width: 100%"
/>
</
template
>
<el-input
v-else
v-model=
"item.value"
style=
"width: 100%"
placeholder=
"请输入"
></el-input>
</el-form-item>
...
...
src/modules/user/components/UpdateEventsDialog.vue
浏览文件 @
a307abe9
...
...
@@ -32,10 +32,7 @@ let eventList = $ref<EventProp[]>()
onMounted
(()
=>
{
getEventList
().
then
(
res
=>
{
eventList
=
res
.
data
.
map
(
(
item
:
any
)
=>
item
.
attributes
.
map
((
cItem
:
any
)
=>
props
.
data
?
(
cItem
.
value
=
JSON
.
parse
(
props
.
data
.
fields
)[
cItem
.
id
])
:
(
cItem
.
value
=
''
)
&&
cItem
)
&&
item
(
item
:
any
)
=>
item
.
attributes
.
map
((
cItem
:
any
)
=>
(
props
.
data
?
(
cItem
.
value
=
JSON
.
parse
(
props
.
data
.
fields
)[
cItem
.
id
])
:
(
cItem
.
value
=
''
)
&&
cItem
))
&&
item
)
})
})
...
...
@@ -60,7 +57,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
id
:
props
.
data
?.
id
,
fields
:
attributes
}
updateEvent
(
params
).
then
(
res
=>
{
updateEvent
(
params
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'更新成功'
,
type
:
'success'
})
...
...
@@ -72,7 +69,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
experiment_meta_event_id
:
form
.
experiment_meta_event_id
,
fields
:
attributes
}
createEvent
(
params
).
then
(
res
=>
{
createEvent
(
params
).
then
(
()
=>
{
emit
(
'update'
)
emit
(
'update:modelValue'
,
false
)
ElMessage
({
message
:
'创建成功'
,
type
:
'success'
})
...
...
@@ -86,48 +83,22 @@ const submitForm = (formEl: FormInstance | undefined) => {
</
script
>
<
template
>
<el-dialog
:title=
"!props.data ? '新建用户事件属性' : '修改用户事件属性'"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
:title=
"!props.data ? '新建用户事件属性' : '修改用户事件属性'"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<div
class=
"update-event_info"
>
<span>
姓名:
{{
props
.
info
?.
name
}}
</span>
<span>
来源链接:
{{
props
.
info
?.
connection_name
}}
</span>
</div>
<el-form
:disabled=
"props.data?.isView"
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"122px"
>
<el-form
:disabled=
"props.data?.isView"
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"122px"
>
<el-form-item
label=
"请选择事件"
prop=
"experiment_meta_event_id"
>
<el-select
:disabled=
"!!props.data"
v-model=
"form.experiment_meta_event_id"
style=
"width: 100%"
>
<el-option
v-for=
"item in eventList"
:label=
"item.name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in eventList"
:
key=
"item.id"
:
label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<!-- 属性字段 -->
<el-form-item
:label=
"item.name"
v-for=
"item in eventAttributes"
>
<el-form-item
:label=
"item.name"
v-for=
"item in eventAttributes"
:key=
"item.id"
>
<template
v-if=
"item.type === '4' || item.type === '5'"
>
<el-date-picker
v-if=
"item.format === 'yyyy-mm-dd'"
v-model=
"item.value"
type=
"date"
placeholder=
"请选择"
style=
"width: 100%"
value-format=
"YYYY-MM-DD"
/>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-else
v-model=
"item.value"
type=
"datetime"
placeholder=
"请选择"
style=
"width: 100%"
/>
<el-date-picker
v-if=
"item.format === 'yyyy-mm-dd'"
v-model=
"item.value"
type=
"date"
placeholder=
"请选择"
style=
"width: 100%"
value-format=
"YYYY-MM-DD"
/>
<el-date-picker
value-format=
"YYYY-MM-DD HH:mm:ss"
v-else
v-model=
"item.value"
type=
"datetime"
placeholder=
"请选择"
style=
"width: 100%"
/>
</
template
>
<el-input
v-else
v-model=
"item.value"
style=
"width: 100%"
placeholder=
"请输入"
></el-input>
</el-form-item>
...
...
src/modules/user/components/UploadEventsDialog.vue
浏览文件 @
a307abe9
...
...
@@ -35,10 +35,7 @@ const connectionName = computed(() => {
// 下载数据模板
const
downloadTemplate
=
function
()
{
if
(
form
.
event_id
!==
''
)
window
.
open
(
`/api/lab/v1/experiment/member/event-download?event_id=
${
form
.
event_id
}
&experiment_id=
${
route
.
query
.
experiment_id
}
`
)
if
(
form
.
event_id
!==
''
)
window
.
open
(
`/api/lab/v1/experiment/member/event-download?event_id=
${
form
.
event_id
}
&experiment_id=
${
route
.
query
.
experiment_id
}
`
)
}
// 上传
...
...
@@ -64,17 +61,11 @@ const fileData = $ref<any>([])
</
script
>
<
template
>
<el-dialog
class=
"connect-form"
title=
"导入用户事件数据"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
class=
"connect-form"
title=
"导入用户事件数据"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"122px"
>
<el-form-item
label=
"请选择事件"
prop=
"event_id"
>
<el-select
v-model=
"form.event_id"
style=
"width: 100%"
>
<el-option
v-for=
"item in eventList"
:label=
"item.name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in eventList"
:
key=
"item.id"
:
label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
<span
v-if=
"connectionName"
>
事件所属链接:
{{
connectionName
}}
</span>
</el-form-item>
...
...
src/modules/user/components/UploadUserDialog.vue
浏览文件 @
a307abe9
...
...
@@ -55,22 +55,16 @@ const fileData = $ref<any>([])
</
script
>
<
template
>
<el-dialog
class=
"connect-form"
title=
"导入用户数据"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
class=
"connect-form"
title=
"导入用户数据"
:close-on-click-modal=
"false"
width=
"500px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-suffix=
":"
label-width=
"142px"
>
<el-form-item
label=
"请选择所属链接"
prop=
"connection_id"
>
<el-select
v-model=
"form.connection_id"
style=
"width: 100%"
>
<el-option
v-for=
"item in connectionList"
:label=
"item.type_name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in connectionList"
:
key=
"item.id"
:
label=
"item.type_name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"请选择静态群组"
>
<el-select
v-model=
"form.groups_id"
style=
"width: 100%"
>
<el-option
v-for=
"item in groupList"
:label=
"item.name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in groupList"
:
key=
"item.id"
:
label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
...
...
src/modules/user/components/ViewProgressDialog.vue
浏览文件 @
a307abe9
<
script
setup
lang=
"ts"
>
import
{
getProgress
}
from
'../api'
const
route
=
useRoute
()
const
emit
=
defineEmits
<
{
defineEmits
<
{
(
e
:
'update'
):
void
(
e
:
'update:modelValue'
,
visible
:
boolean
):
void
}
>
()
...
...
@@ -49,14 +47,7 @@ const bytesToSize = (bytes: number) => {
}
</
script
>
<
template
>
<el-dialog
class=
"connect-form"
title=
"导入用户数据"
:close-on-click-modal=
"false"
width=
"700px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<el-dialog
class=
"connect-form"
title=
"导入用户数据"
:close-on-click-modal=
"false"
width=
"700px"
@
update:modelValue=
"$emit('update:modelValue')"
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
></AppList>
</el-dialog>
</
template
>
<
style
lang=
"scss"
></
style
>
src/modules/user/views/EventDetails.vue
浏览文件 @
a307abe9
...
...
@@ -51,7 +51,7 @@ const handleEdit = function (row: AttributesProp) {
// 删除
function
handleRemove
(
row
:
AttributesProp
)
{
ElMessageBox
.
confirm
(
'确定要删除该属性吗?'
,
'提示'
).
then
(()
=>
{
deleteEvent
({
id
:
row
.
id
}).
then
(
res
=>
{
deleteEvent
({
id
:
row
.
id
}).
then
(
()
=>
{
ElMessage
({
message
:
'删除成功'
,
type
:
'success'
})
handleRefresh
()
})
...
...
@@ -94,13 +94,7 @@ const handleView = function (row: AttributesProp) {
</AppList>
</AppCard>
<!-- 新建更新事件 -->
<UpdateEventsDialog
@
update=
"handleRefresh()"
:data=
"currentRow"
v-if=
"eventsVisible"
:info=
"userInfo"
v-model=
"eventsVisible"
></UpdateEventsDialog>
<UpdateEventsDialog
@
update=
"handleRefresh()"
:data=
"currentRow"
v-if=
"eventsVisible"
:info=
"userInfo"
v-model=
"eventsVisible"
></UpdateEventsDialog>
</template>
<
style
lang=
"scss"
>
.event-user_info
{
...
...
src/modules/user/views/Image.vue
浏览文件 @
a307abe9
...
...
@@ -11,7 +11,7 @@ const route = useRoute()
// 画像数据
let
data
=
$ref
<
ImageProp
>
()
// 属性
let
fieldsList
=
$ref
<
MemberFieldsProp
[]
>
()
let
fieldsList
=
$ref
<
MemberFieldsProp
[]
>
(
[]
)
onMounted
(()
=>
{
// 画像
getMemberImage
({
id
:
route
.
query
.
user_id
as
''
}).
then
(
res
=>
{
...
...
@@ -48,68 +48,49 @@ function handleViewEvent(item: any) {
<
template
>
<AppCard
class=
"card"
style=
"margin-bottom: 10px"
>
<div
class=
"info-box"
>
<div
class=
"info-box"
v-if=
"data"
>
<div
class=
"info-name"
style=
"min-width: 300px"
>
<div
class=
"tx"
>
<img
:src=
"
data?.gender === '1'
? 'https://webapp-pub.ezijing.com/pages/assa/dml_boy.png'
: 'https://webapp-pub.ezijing.com/pages/assa/dml_girl.png'
"
alt=
""
/>
<img
:src=
"data.gender === '1' ? 'https://webapp-pub.ezijing.com/pages/assa/dml_boy.png' : 'https://webapp-pub.ezijing.com/pages/assa/dml_girl.png'"
/>
<!-- https://webapp-pub.ezijing.com/pages/assa/dml_boy.png -->
<!--
<el-icon
:size=
"50"
color=
"#fff"
><UserFilled
/></el-icon>
-->
</div>
<h1>
{{
data
?
.
name
}}
</h1>
<h1>
{{
data
.
name
}}
</h1>
<div
class=
"line"
></div>
</div>
<div
style=
"display: flex; justify-content: space-around; width: 100%"
>
<el-form
label-suffix=
":"
label-width=
"auto"
>
<el-form-item
label=
"来源链接"
><span>
{{
data
?.
connection_name
}}
</span></el-form-item
>
<el-form-item
label=
"创建时间"
><span>
{{
data
?.
created_time
}}
</span></el-form-item
>
<!--
<el-form-item
label=
"用户ID"
><span>
{{
data
?.
id
}}
</span></el-form-item
<el-form-item
label=
"来源链接"
>
{{
data
.
connection_name
}}
</el-form-item>
<el-form-item
label=
"创建时间"
>
{{
data
.
created_time
}}
</el-form-item>
<!--
<el-form-item
label=
"用户ID"
>
{{
data
.
id
}}
</el-form-item
>
-->
</el-form>
<el-form
label-suffix=
":"
label-width=
"110px"
>
<el-form-item
label=
"用户ID"
><span>
{{
data
?.
id
}}
</span></el-form-item
>
<el-form-item
label=
"状态"
><span
:style=
"`color: $
{data?.status === '1' ? 'rgba(0,172,39,1)' : '#ba143e'}`">
{{
data
?.
status_name
}}
</span></el-form-item
>
<el-form-item
label=
"用户ID"
>
{{
data
.
id
}}
</el-form-item>
<el-form-item
label=
"状态"
>
<span
:style=
"`color: $
{data.status === '1' ? 'rgba(0,172,39,1)' : '#ba143e'}`">
{{
data
.
status_name
}}
</span>
</el-form-item>
</el-form>
<el-form
label-suffix=
":"
label-width=
"110px"
>
<el-form-item
label=
"最近活跃时间"
><span>
{{
data
?.
updated_time
}}
</span></el-form-item
>
<el-form-item
label=
"最近活跃时间"
style=
"opacity: 0"
><span>
{{
data
?.
updated_time
}}
</span></el-form-item
>
<el-form-item
label=
"最近活跃时间"
>
{{
data
.
updated_time
}}
</el-form-item>
<el-form-item
label=
"最近活跃时间"
style=
"opacity: 0"
>
{{
data
.
updated_time
}}
</el-form-item>
</el-form>
</div>
</div>
</AppCard>
<div
class=
"card-box"
>
<AppCard
class=
"card"
style=
"overflow-y: scroll"
title=
"用户属性"
>
<div
style=
"display: flex; justify-content: center; padding-right: 20px"
>
<div
style=
"display: flex; justify-content: center; padding-right: 20px"
v-if=
"data"
>
<el-form
label-suffix=
":"
label-width=
"auto"
>
<el-form-item
label=
"链接来源"
>
{{
data
?
.
connection_name
}}
</el-form-item>
<el-form-item
label=
"姓名"
>
{{
data
?
.
name
}}
</el-form-item>
<el-form-item
label=
"状态"
>
{{
data
?
.
status_name
}}
</el-form-item>
<el-form-item
label=
"性别"
>
{{
data
?
.
gender_name
}}
</el-form-item>
<el-form-item
label=
"电话"
>
{{
data
?
.
mobile
}}
</el-form-item>
<template
v-for=
"item in fieldsList"
>
<el-form-item
v-if=
"item?.isShow"
:label=
"item?.name"
><span>
{{
item
?.
value
}}
</span></el-form-item
>
<el-form-item
label=
"链接来源"
>
{{
data
.
connection_name
}}
</el-form-item>
<el-form-item
label=
"姓名"
>
{{
data
.
name
}}
</el-form-item>
<el-form-item
label=
"状态"
>
{{
data
.
status_name
}}
</el-form-item>
<el-form-item
label=
"性别"
>
{{
data
.
gender_name
}}
</el-form-item>
<el-form-item
label=
"电话"
>
{{
data
.
mobile
}}
</el-form-item>
<template
v-for=
"item in fieldsList"
:key=
"item.id"
>
<el-form-item
:label=
"item.name"
v-if=
"item.isShow"
>
<span>
{{
item
.
value
}}
</span>
</el-form-item
>
</
template
>
</el-form>
</div>
...
...
@@ -117,38 +98,32 @@ function handleViewEvent(item: any) {
<AppCard
class=
"card"
title=
"标签与群组"
>
<el-tabs
class=
"demo-tabs"
>
<el-tab-pane
label=
"用户标签"
>
<el-empty
v-if=
"!data?.tags || !data?.tags.length"
description=
"暂无数据"
:image-size=
"80"
/>
<div
class=
"scroll"
v-else
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"item in data?.tags"
>
{{ item }}
</el-tag>
<div
class=
"scroll"
v-if=
"data?.tags && data.tags.length"
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"(item, index) in data.tags"
:key=
"index"
>
{{ item }}
</el-tag>
</div>
<el-empty
description=
"暂无数据"
:image-size=
"80"
v-else
/>
</el-tab-pane>
</el-tabs>
<el-tabs
class=
"demo-tabs"
>
<el-tab-pane
label=
"静态分组"
>
<el-empty
v-if=
"!data?.static_groups || !data?.static_groups.length"
description=
"暂无数据"
:image-size=
"80"
/>
<div
class=
"scroll"
v-else
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"item in data?.static_groups"
>
{{ item }}
</el-tag>
<div
class=
"scroll"
v-if=
"data?.static_groups && data.static_groups.length"
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"(item, index) in data.static_groups"
:key=
"index"
>
{{ item }}
</el-tag>
</div>
<el-empty
description=
"暂无数据"
:image-size=
"80"
v-else
/>
</el-tab-pane>
</el-tabs>
<el-tabs
class=
"demo-tabs"
>
<el-tab-pane
label=
"动态分组"
>
<el-empty
v-if=
"!data?.dynamic_groups || !data?.static_groups.length"
description=
"暂无数据"
:image-size=
"80"
/>
<div
class=
"scroll"
v-else
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"item in data?.dynamic_groups"
>
{{ item }}
</el-tag>
<div
class=
"scroll"
v-if=
"data?.dynamic_groups && data.dynamic_groups.length"
>
<el-tag
class=
"ml-2"
type=
"success"
v-for=
"(item, index) in data.dynamic_groups"
:key=
"index"
>
{{ item }}
</el-tag>
</div>
<el-empty
description=
"暂无数据"
:image-size=
"80"
v-else
/>
</el-tab-pane>
</el-tabs>
</AppCard>
<AppCard
class=
"card"
title=
"用户行为轨迹"
>
<
el-empty
v-if=
"!data?.events?.list || !data?.events?.list.length"
description=
"暂无数据"
:image-size=
"80"
/
>
<div
class=
"event-box"
v-for=
"item in data?.events?.list"
v-else
>
<
template
v-if=
"data?.events.list && data.events.list.length"
>
<div
class=
"event-box"
v-for=
"(item, index) in data.events.list"
:key=
"index"
>
<div
class=
"date"
>
{{
item
.
updated_time
?.
slice
(
0
,
item
.
updated_time
.
indexOf
(
' '
))
}}
</div>
<div
class=
"event-content"
>
<div
class=
"time"
>
...
...
@@ -162,14 +137,12 @@ function handleViewEvent(item: any) {
</div>
</div>
</div>
</
template
>
<el-empty
description=
"暂无数据"
:image-size=
"80"
v-else
/>
</AppCard>
</div>
<!-- 事件详情 -->
<ViewEvent
v-model=
"viewEventVisible"
:event=
"currentViewEvent"
:user=
"data"
v-if=
"viewEventVisible && currentViewEvent"
></ViewEvent>
<ViewEvent
v-model=
"viewEventVisible"
:event=
"currentViewEvent"
:user=
"data"
v-if=
"viewEventVisible && currentViewEvent"
></ViewEvent>
</template>
<
style
lang=
"scss"
>
.info-box
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论