提交 a307abe9 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 c09f95a7
...@@ -39,13 +39,13 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -39,13 +39,13 @@ const submitForm = (formEl: FormInstance | undefined) => {
formEl.validate(valid => { formEl.validate(valid => {
if (valid) { if (valid) {
if (props.data?.id) { if (props.data?.id) {
updateMaterial(form).then(res => { updateMaterial(form).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '更新成功', type: 'success' }) ElMessage({ message: '更新成功', type: 'success' })
}) })
} else { } else {
createMaterial(params).then(res => { createMaterial(params).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '新建成功', type: 'success' }) ElMessage({ message: '新建成功', type: 'success' })
...@@ -84,8 +84,7 @@ const typeName = computed(() => { ...@@ -84,8 +84,7 @@ const typeName = computed(() => {
:title="props.data ? (props.data?.isView ? `查看${typeName}资料` : `编辑${typeName}资料`) : `新建${typeName}资料`" :title="props.data ? (props.data?.isView ? `查看${typeName}资料` : `编辑${typeName}资料`) : `新建${typeName}资料`"
:close-on-click-modal="false" :close-on-click-modal="false"
width="800px" width="800px"
@update:modelValue="$emit('update:modelValue')" @update:modelValue="$emit('update:modelValue')">
>
<el-form <el-form
:disabled="props.data?.isView" :disabled="props.data?.isView"
ref="ruleFormRef" ref="ruleFormRef"
...@@ -93,19 +92,12 @@ const typeName = computed(() => { ...@@ -93,19 +92,12 @@ const typeName = computed(() => {
:model="form" :model="form"
:rules="rules" :rules="rules"
label-suffix=":" label-suffix=":"
label-width="110px" label-width="110px">
>
<el-form-item label="资料名称" prop="name"> <el-form-item label="资料名称" prop="name">
<el-input placeholder="请输入" v-model="form.name" style="width: 100%"></el-input> <el-input placeholder="请输入" v-model="form.name" style="width: 100%"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="资料内容" prop="content"> <el-form-item label="资料内容" prop="content">
<el-input <el-input v-if="type === '1'" placeholder="请输入" type="textarea" v-model="form.content" style="width: 100%"></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" /> <AppUpload v-if="type === '2' || type === '6' || type === '7' || type === '8'" v-model="form.content" />
<div class="audio" v-if="type === '3'"> <div class="audio" v-if="type === '3'">
<AppUpload v-model="form.content" accept=".mp3"> <AppUpload v-model="form.content" accept=".mp3">
......
...@@ -19,13 +19,13 @@ const params = $ref({ type: '', config_attributes: '' }) ...@@ -19,13 +19,13 @@ const params = $ref({ type: '', config_attributes: '' })
function handleSubmit() { function handleSubmit() {
if (props.data?.id) { if (props.data?.id) {
const updateParams = { id: props.data?.id, config_attributes: stepTwo.value.formItem } const updateParams = { id: props.data?.id, config_attributes: stepTwo.value.formItem }
updateConnection(updateParams).then(res => { updateConnection(updateParams).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '保修改成功', type: 'success' }) ElMessage({ message: '保修改成功', type: 'success' })
}) })
} else { } else {
createConnection(params).then(res => { createConnection(params).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '保存成功', type: 'success' }) ElMessage({ message: '保存成功', type: 'success' })
...@@ -75,13 +75,7 @@ const handleStepTwoNext = function () { ...@@ -75,13 +75,7 @@ const handleStepTwoNext = function () {
</script> </script>
<template> <template>
<el-dialog <el-dialog class="connect-form" :title="props.data?.id ? '编辑链接' : '新建链接'" :close-on-click-modal="false" width="1050px" @update:modelValue="$emit('update:modelValue')">
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-tabs v-model="activeName" class="demo-tabs">
<!-- 第一步 --> <!-- 第一步 -->
<el-tab-pane disabled label="选择链接类型" :name="1" v-if="!props.data?.id"> <el-tab-pane disabled label="选择链接类型" :name="1" v-if="!props.data?.id">
...@@ -99,12 +93,12 @@ const handleStepTwoNext = function () { ...@@ -99,12 +93,12 @@ const handleStepTwoNext = function () {
<template v-if="props.data?.id"> <template v-if="props.data?.id">
<el-button type="primary" @click="activeName--" v-if="activeName === 3">上一步</el-button> <el-button type="primary" @click="activeName--" v-if="activeName === 3">上一步</el-button>
</template> </template>
<el-button v-else type="primary" @click="activeName--" v-if="activeName === 2 || activeName === 3" <template v-else>
>上一步</el-button <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="handleStepOneNext" v-if="activeName === 1">下一步</el-button> <el-button type="primary" @click="handleStepTwoNext" v-if="activeName === 2">下一步</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>
<el-button type="primary" v-if="activeName === 3" @click="handleSubmit">保存</el-button> </template>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -13,7 +13,7 @@ const emits = defineEmits(['update', 'edit']) ...@@ -13,7 +13,7 @@ const emits = defineEmits(['update', 'edit'])
// 删除 // 删除
function handleRemove() { function handleRemove() {
ElMessageBox.confirm('确定要删除该连接吗?', '提示').then(() => { ElMessageBox.confirm('确定要删除该连接吗?', '提示').then(() => {
deleteConnection({ id: props.data?.id }).then(res => { deleteConnection({ id: props.data.id }).then(() => {
ElMessage({ message: '删除成功', type: 'success' }) ElMessage({ message: '删除成功', type: 'success' })
emits('update') emits('update')
}) })
...@@ -25,28 +25,26 @@ const routerView = function () { ...@@ -25,28 +25,26 @@ const routerView = function () {
} }
const edit = function () { const edit = function () {
emits('edit', props.data?.id) emits('edit', props.data.id)
} }
</script> </script>
<template> <template>
<div class="connect-item"> <div class="connect-item" @click="routerView">
<div class="connect-item__edit"> <div class="connect-item__edit">
<!-- <img @click="edit" src="https://webapp-pub.ezijing.com/pages/assa/dml_edit.png" alt="" /> --> <!-- <img @click="edit" src="https://webapp-pub.ezijing.com/pages/assa/dml_edit.png" /> -->
<el-icon size="20" color="#333" @click="edit"><Edit /></el-icon> <el-icon size="20" color="#333" @click.stop="edit"><Edit /></el-icon>
</div> </div>
<div class="connect-item__remove" @click="handleRemove"> <div class="connect-item__remove" @click.stop="handleRemove">
<!-- <img src="https://webapp-pub.ezijing.com/pages/assa/dml_delete.png" alt="" /> --> <!-- <img src="https://webapp-pub.ezijing.com/pages/assa/dml_delete.png" /> -->
<el-icon size="20" color="#333"><Delete /></el-icon> <el-icon size="20" color="#333"><Delete /></el-icon>
</div> </div>
<div @click="routerView" style="display: flex; width: 100%; flex-direction: column; align-items: center"> <div class="connect-item__icon">
<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>
</div> </div>
<p>
{{ data.type === '12' ? data.config_attributes[0].value : data.type_name }}
</p>
</div> </div>
</template> </template>
...@@ -70,6 +68,10 @@ const edit = function () { ...@@ -70,6 +68,10 @@ const edit = function () {
display: block; display: block;
} }
} }
p {
font-size: 18px;
margin-top: 8px;
}
} }
.connect-item__remove { .connect-item__remove {
display: none; display: none;
......
<script setup lang="ts"> <script setup lang="ts">
import Icon from '@/components/ConnectionIcon.vue' import Icon from '@/components/ConnectionIcon.vue'
import { ElMessageBox } from 'element-plus' // import { ElMessageBox } from 'element-plus'
import { getConnectionDetails } from '../api' import { getConnectionDetails } from '../api'
const route = useRoute() const route = useRoute()
// 点击标签弹出详情文案(产品还没提供) // 点击标签弹出详情文案(产品还没提供)
const openMsg = () => { // const openMsg = () => {
// ElMessageBox.alert('成功链接xxxx', '提示', { // // ElMessageBox.alert('成功链接xxxx', '提示', {
// confirmButtonText: '关闭' // // confirmButtonText: '关闭'
// }) // // })
} // }
let dataDetail = $ref<any>() let dataDetail = $ref<any>()
onMounted(() => { onMounted(() => {
...@@ -464,12 +464,12 @@ const abilityItem = computed(() => { ...@@ -464,12 +464,12 @@ const abilityItem = computed(() => {
</div> </div>
</AppCard> </AppCard>
<AppCard title="链接能力"> <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"> <el-tab-pane :label="item.title">
<div class="tag-box"> <div class="tag-box" v-if="item.child.length">
<div v-for="cItem in item.child" class="tag">{{ cItem?.title }}</div> <div class="tag" v-for="cItem in item.child" :key="cItem.title">{{ cItem.title }}</div>
</div> </div>
<div v-if="!item.child.length" class="tag-null">无数据</div> <div class="tag-null" v-else>无数据</div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</AppCard> </AppCard>
......
...@@ -60,7 +60,7 @@ function handleUpdate() { ...@@ -60,7 +60,7 @@ function handleUpdate() {
id: eventDetail?.id || '', id: eventDetail?.id || '',
attributes: JSON.stringify(tableData) attributes: JSON.stringify(tableData)
} }
updateAttributes(params).then(res => { updateAttributes(params).then(() => {
ElMessage({ message: '保存成功', type: 'success' }) ElMessage({ message: '保存成功', type: 'success' })
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
...@@ -89,12 +89,7 @@ const changeFormatType = function (row: any) { ...@@ -89,12 +89,7 @@ const changeFormatType = function (row: any) {
</script> </script>
<template> <template>
<el-dialog <el-dialog title="事件属性" :close-on-click-modal="false" width="800px" @update:modelValue="$emit('update:modelValue')">
title="事件属性"
:close-on-click-modal="false"
width="800px"
@update:modelValue="$emit('update:modelValue')"
>
<div style="display: flex; justify-content: space-around"> <div style="display: flex; justify-content: space-around">
<el-form label-width="120px"> <el-form label-width="120px">
<el-form-item label="事件英文名称:">{{ eventDetail?.english_name }}</el-form-item> <el-form-item label="事件英文名称:">{{ eventDetail?.english_name }}</el-form-item>
...@@ -125,43 +120,23 @@ const changeFormatType = function (row: any) { ...@@ -125,43 +120,23 @@ const changeFormatType = function (row: any) {
</el-table-column> </el-table-column>
<el-table-column label="字段类型"> <el-table-column label="字段类型">
<template #default="scope"> <template #default="scope">
<el-select <el-select @change="changeFormatType(scope.row)" :disabled="scope.row.id !== ''" v-model="scope.row.type" placeholder="请选择">
@change="changeFormatType(scope.row)" <el-option :label="item.label" :value="item.value" :key="item.id" v-for="item in experimentAttributeOptions"></el-option>
: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> </el-select>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="字段格式"> <el-table-column label="字段格式">
<template #default="scope"> <template #default="scope">
<el-select <el-select :disabled="scope.row.id !== ''" v-if="scope.row.type === '4' || scope.row.type === '5'" v-model="scope.row.format" placeholder="请选择">
: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 !== '5'" label="yyyy-mm-dd" value="yyyy-mm-dd"></el-option>
<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>
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-select>
<el-input <el-input
v-else v-else
:disabled="scope.row.id !== ''" :disabled="scope.row.id !== ''"
type="number" type="number"
v-model="scope.row.format" v-model="scope.row.format"
:placeholder="scope.row.type === '1' ? '请输入字符串长度' : '请输入长度'" :placeholder="scope.row.type === '1' ? '请输入字符串长度' : '请输入长度'"></el-input>
></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="30"> <el-table-column width="30">
......
...@@ -47,7 +47,7 @@ function handleSubmit() { ...@@ -47,7 +47,7 @@ function handleSubmit() {
// 新建 // 新建
function handleCreate() { function handleCreate() {
createMetaEvent(form).then(res => { createMetaEvent(form).then(() => {
ElMessage({ message: '创建成功', type: 'success' }) ElMessage({ message: '创建成功', type: 'success' })
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
...@@ -55,7 +55,7 @@ function handleCreate() { ...@@ -55,7 +55,7 @@ function handleCreate() {
} }
// 修改 // 修改
function handleUpdate() { function handleUpdate() {
updateMetaEvent(form).then(res => { updateMetaEvent(form).then(() => {
ElMessage({ message: '修改成功', type: 'success' }) ElMessage({ message: '修改成功', type: 'success' })
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
...@@ -76,12 +76,7 @@ function handleUpdate() { ...@@ -76,12 +76,7 @@ function handleUpdate() {
<el-input v-model="form.name" placeholder="请输入" /> <el-input v-model="form.name" placeholder="请输入" />
</el-form-item> </el-form-item>
<el-form-item label="所属连接" prop="experiment_connection_id"> <el-form-item label="所属连接" prop="experiment_connection_id">
<el-select <el-select :disabled="isUpdate" v-model="form.experiment_connection_id" style="width: 100%" placeholder="请选择">
: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-option :label="item.type_name" :value="item.id" :key="item.id" v-for="item in props.option"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
......
...@@ -55,9 +55,7 @@ const listOptions = computed(() => { ...@@ -55,9 +55,7 @@ const listOptions = computed(() => {
label: '状态', label: '状态',
prop: 'status_name', prop: 'status_name',
computed: (row: any) => { computed: (row: any) => {
return row.row.status === '0' 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>`
? `<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' }, { label: '更新人', prop: 'updated_operator_name' },
...@@ -97,7 +95,7 @@ function handleView(row: EventProp) { ...@@ -97,7 +95,7 @@ function handleView(row: EventProp) {
// 删除 // 删除
function handleRemove(row: EventProp) { function handleRemove(row: EventProp) {
ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => { ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => {
deleteMetaEvent({ id: row.id }).then(res => { deleteMetaEvent({ id: row.id }).then(() => {
ElMessage({ message: '删除成功', type: 'success' }) ElMessage({ message: '删除成功', type: 'success' })
handleRefresh() handleRefresh()
}) })
...@@ -129,13 +127,7 @@ const handleField = function (row: EventProp) { ...@@ -129,13 +127,7 @@ const handleField = function (row: EventProp) {
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新建/修改 --> <!-- 新建/修改 -->
<FormDialog <FormDialog v-model="formVisible" :data="currentRow" @update="handleRefresh" :option="experimentConnectionOptions || []" v-if="formVisible" />
v-model="formVisible"
:data="currentRow"
@update="handleRefresh"
:option="experimentConnectionOptions || []"
v-if="formVisible"
/>
<!-- 查看 --> <!-- 查看 -->
<ViewDialog v-model="viewVisible" :data="currentRow" v-if="viewVisible && currentRow" /> <ViewDialog v-model="viewVisible" :data="currentRow" v-if="viewVisible && currentRow" />
<FieldDialog v-model="fieldVisible" :data="currentRow" v-if="fieldVisible && currentRow"></FieldDialog> <FieldDialog v-model="fieldVisible" :data="currentRow" v-if="fieldVisible && currentRow"></FieldDialog>
......
...@@ -52,7 +52,7 @@ function handleSubmit() { ...@@ -52,7 +52,7 @@ function handleSubmit() {
// 新建 // 新建
function handleCreate() { function handleCreate() {
createMemberMeta(form).then(res => { createMemberMeta(form).then(() => {
ElMessage({ message: '创建成功', type: 'success' }) ElMessage({ message: '创建成功', type: 'success' })
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
...@@ -60,7 +60,7 @@ function handleCreate() { ...@@ -60,7 +60,7 @@ function handleCreate() {
} }
// 修改 // 修改
function handleUpdate() { function handleUpdate() {
updateMemberMeta(form).then(res => { updateMemberMeta(form).then(() => {
ElMessage({ message: '修改成功', type: 'success' }) ElMessage({ message: '修改成功', type: 'success' })
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
...@@ -109,29 +109,12 @@ const changeFormatType = function () { ...@@ -109,29 +109,12 @@ const changeFormatType = function () {
<el-input v-model="form.name" placeholder="请输入" /> <el-input v-model="form.name" placeholder="请输入" />
</el-form-item> </el-form-item>
<el-form-item label="属性字段类型" prop="type"> <el-form-item label="属性字段类型" prop="type">
<el-select <el-select :disabled="isUpdate" @change="changeFormatType" v-model="form.type" style="width: 100%" placeholder="请选择">
:disabled="isUpdate" <el-option :label="item.label" :value="item.value" :key="item.id" v-for="item in experimentAttributeOptions"></el-option>
@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-select>
</el-form-item> </el-form-item>
<el-form-item label="属性字段格式" prop="format" v-if="form.type !== ''"> <el-form-item label="属性字段格式" prop="format" v-if="form.type !== ''">
<el-select <el-select :disabled="isUpdate" v-if="form.type === '4' || form.type === '5'" v-model="form.format" style="width: 100%" placeholder="请选择">
: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 !== '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-option v-if="form.type !== '4'" label="yyyy-mm-dd hh:mm:ss" value="yyyy-mm-dd hh:mm:ss"></el-option>
</el-select> </el-select>
......
...@@ -48,9 +48,7 @@ const listOptions = computed(() => { ...@@ -48,9 +48,7 @@ const listOptions = computed(() => {
label: '状态', label: '状态',
prop: 'status_name', prop: 'status_name',
computed: (row: any) => { computed: (row: any) => {
return row.row.status === '0' 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>`
? `<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' }, { label: '更新人', prop: 'updated_operator_name' },
...@@ -90,7 +88,7 @@ function handleView(row: UserProp) { ...@@ -90,7 +88,7 @@ function handleView(row: UserProp) {
// 删除 // 删除
function handleRemove(row: UserProp) { function handleRemove(row: UserProp) {
ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => { ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => {
deleteMemberMeta({ id: row.id }).then(res => { deleteMemberMeta({ id: row.id }).then(() => {
ElMessage({ message: '删除成功', type: 'success' }) ElMessage({ message: '删除成功', type: 'success' })
handleRefresh() handleRefresh()
}) })
......
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
import type { TripTemplate } from '../types' import type { TripTemplate } from '../types'
import { Plus } from '@element-plus/icons-vue' import { Plus } from '@element-plus/icons-vue'
import AppList from '@/components/base/AppList.vue' import AppList from '@/components/base/AppList.vue'
import { ElMessageBox } from 'element-plus'
import { getTripTemplateList } from '../api' import { getTripTemplateList } from '../api'
import { useMapStore } from '@/stores/map' import { useMapStore } from '@/stores/map'
import { getNameByValue, tripTemplateTypeList } from '@/utils/dictionary' import { getNameByValue, tripTemplateTypeList } from '@/utils/dictionary'
...@@ -77,12 +76,6 @@ function handleUpdate(row: TripTemplate) { ...@@ -77,12 +76,6 @@ function handleUpdate(row: TripTemplate) {
currentRow = row currentRow = row
formVisible = true formVisible = true
} }
// 删除
function handleRemove(row: TripTemplate) {
ElMessageBox.confirm('确定要删除该旅程模板吗?', '提示').then(() => {
handleRefresh()
})
}
// 查看 // 查看
let viewVisible = $ref(false) let viewVisible = $ref(false)
function handleView(row: TripTemplate) { function handleView(row: TripTemplate) {
...@@ -117,7 +110,6 @@ function handleConfig(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="handleConfig(row)">配置</el-button>
<el-button type="primary" plain @click="handleView(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="handleUpdate(row)">编辑</el-button>
<!-- <el-button type="primary" plain @click="handleRemove(row)">删除</el-button> -->
</template> </template>
</AppList> </AppList>
</AppCard> </AppCard>
......
...@@ -74,14 +74,14 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -74,14 +74,14 @@ const submitForm = (formEl: FormInstance | undefined) => {
formEl.validate(valid => { formEl.validate(valid => {
if (valid) { if (valid) {
if (props.data?.id) { if (props.data?.id) {
updateMember(params).then(res => { updateMember(params).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '更新成功', type: 'success' }) ElMessage({ message: '更新成功', type: 'success' })
}) })
} else { } else {
createMember(params) createMember(params)
.then(res => { .then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '添加成功', type: 'success' }) ElMessage({ message: '添加成功', type: 'success' })
...@@ -105,8 +105,7 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -105,8 +105,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
:title="props.data ? (props.data?.isView ? '查看用户' : '编辑用户') : '新建用户'" :title="props.data ? (props.data?.isView ? '查看用户' : '编辑用户') : '新建用户'"
:close-on-click-modal="false" :close-on-click-modal="false"
width="800px" width="800px"
@update:modelValue="$emit('update:modelValue')" @update:modelValue="$emit('update:modelValue')">
>
<el-form <el-form
:disabled="props.data?.isView" :disabled="props.data?.isView"
ref="ruleFormRef" ref="ruleFormRef"
...@@ -114,11 +113,10 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -114,11 +113,10 @@ const submitForm = (formEl: FormInstance | undefined) => {
:model="form" :model="form"
:rules="rules" :rules="rules"
label-suffix=":" label-suffix=":"
label-width="auto" label-width="auto">
>
<el-form-item label="来源链接" prop="experiment_connection_id"> <el-form-item label="来源链接" prop="experiment_connection_id">
<el-select v-model="form.experiment_connection_id" style="width: 100%"> <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-select>
</el-form-item> </el-form-item>
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
...@@ -129,34 +127,16 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -129,34 +127,16 @@ const submitForm = (formEl: FormInstance | undefined) => {
</el-form-item> </el-form-item>
<el-form-item label="性别" prop="gender"> <el-form-item label="性别" prop="gender">
<el-select v-model="form.gender" style="width: 100%"> <el-select v-model="form.gender" style="width: 100%">
<el-option <el-option v-for="item in store.getMapValuesByKey('system_gender')" :key="item.id" :label="item?.label" :value="item?.value"></el-option>
v-for="item in store.getMapValuesByKey('system_gender')"
:label="item?.label"
:value="item?.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="mobile"> <el-form-item label="手机号码" prop="mobile">
<el-input v-model="form.mobile" style="width: 100%"></el-input> <el-input v-model="form.mobile" style="width: 100%"></el-input>
</el-form-item> </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'"> <template v-if="item.type === '4' || item.type === '5'">
<el-date-picker <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" />
v-if="item.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%" />
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> </template>
<el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input> <el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
......
...@@ -32,10 +32,7 @@ let eventList = $ref<EventProp[]>() ...@@ -32,10 +32,7 @@ let eventList = $ref<EventProp[]>()
onMounted(() => { onMounted(() => {
getEventList().then(res => { getEventList().then(res => {
eventList = res.data.map( eventList = res.data.map(
(item: any) => (item: any) => item.attributes.map((cItem: any) => (props.data ? (cItem.value = JSON.parse(props.data.fields)[cItem.id]) : (cItem.value = '') && cItem)) && item
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) => { ...@@ -60,7 +57,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
id: props.data?.id, id: props.data?.id,
fields: attributes fields: attributes
} }
updateEvent(params).then(res => { updateEvent(params).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '更新成功', type: 'success' }) ElMessage({ message: '更新成功', type: 'success' })
...@@ -72,7 +69,7 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -72,7 +69,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
experiment_meta_event_id: form.experiment_meta_event_id, experiment_meta_event_id: form.experiment_meta_event_id,
fields: attributes fields: attributes
} }
createEvent(params).then(res => { createEvent(params).then(() => {
emit('update') emit('update')
emit('update:modelValue', false) emit('update:modelValue', false)
ElMessage({ message: '创建成功', type: 'success' }) ElMessage({ message: '创建成功', type: 'success' })
...@@ -86,48 +83,22 @@ const submitForm = (formEl: FormInstance | undefined) => { ...@@ -86,48 +83,22 @@ const submitForm = (formEl: FormInstance | undefined) => {
</script> </script>
<template> <template>
<el-dialog <el-dialog :title="!props.data ? '新建用户事件属性' : '修改用户事件属性'" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
:title="!props.data ? '新建用户事件属性' : '修改用户事件属性'"
:close-on-click-modal="false"
width="500px"
@update:modelValue="$emit('update:modelValue')"
>
<div class="update-event_info"> <div class="update-event_info">
<span>姓名:{{ props.info?.name }}</span> <span>姓名:{{ props.info?.name }}</span>
<span>来源链接:{{ props.info?.connection_name }}</span> <span>来源链接:{{ props.info?.connection_name }}</span>
</div> </div>
<el-form <el-form :disabled="props.data?.isView" ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="122px">
: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-form-item label="请选择事件" prop="experiment_meta_event_id">
<el-select :disabled="!!props.data" v-model="form.experiment_meta_event_id" style="width: 100%"> <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-select>
</el-form-item> </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'"> <template v-if="item.type === '4' || item.type === '5'">
<el-date-picker <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" />
v-if="item.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%" />
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> </template>
<el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input> <el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
......
...@@ -35,10 +35,7 @@ const connectionName = computed(() => { ...@@ -35,10 +35,7 @@ const connectionName = computed(() => {
// 下载数据模板 // 下载数据模板
const downloadTemplate = function () { const downloadTemplate = function () {
if (form.event_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}`)
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>([]) ...@@ -64,17 +61,11 @@ const fileData = $ref<any>([])
</script> </script>
<template> <template>
<el-dialog <el-dialog class="connect-form" title="导入用户事件数据" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
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 ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="122px">
<el-form-item label="请选择事件" prop="event_id"> <el-form-item label="请选择事件" prop="event_id">
<el-select v-model="form.event_id" style="width: 100%"> <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> </el-select>
<span v-if="connectionName">事件所属链接:{{ connectionName }}</span> <span v-if="connectionName">事件所属链接:{{ connectionName }}</span>
</el-form-item> </el-form-item>
......
...@@ -55,22 +55,16 @@ const fileData = $ref<any>([]) ...@@ -55,22 +55,16 @@ const fileData = $ref<any>([])
</script> </script>
<template> <template>
<el-dialog <el-dialog class="connect-form" title="导入用户数据" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
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 ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="142px">
<el-form-item label="请选择所属链接" prop="connection_id"> <el-form-item label="请选择所属链接" prop="connection_id">
<el-select v-model="form.connection_id" style="width: 100%"> <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-select>
</el-form-item> </el-form-item>
<el-form-item label="请选择静态群组"> <el-form-item label="请选择静态群组">
<el-select v-model="form.groups_id" style="width: 100%"> <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-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
......
<script setup lang="ts"> <script setup lang="ts">
import { getProgress } from '../api' import { getProgress } from '../api'
const route = useRoute() defineEmits<{
const emit = defineEmits<{
(e: 'update'): void (e: 'update'): void
(e: 'update:modelValue', visible: boolean): void (e: 'update:modelValue', visible: boolean): void
}>() }>()
...@@ -49,14 +47,7 @@ const bytesToSize = (bytes: number) => { ...@@ -49,14 +47,7 @@ const bytesToSize = (bytes: number) => {
} }
</script> </script>
<template> <template>
<el-dialog <el-dialog class="connect-form" title="导入用户数据" :close-on-click-modal="false" width="700px" @update:modelValue="$emit('update:modelValue')">
class="connect-form"
title="导入用户数据"
:close-on-click-modal="false"
width="700px"
@update:modelValue="$emit('update:modelValue')"
>
<AppList v-bind="listOptions" ref="appList"></AppList> <AppList v-bind="listOptions" ref="appList"></AppList>
</el-dialog> </el-dialog>
</template> </template>
<style lang="scss"></style>
...@@ -51,7 +51,7 @@ const handleEdit = function (row: AttributesProp) { ...@@ -51,7 +51,7 @@ const handleEdit = function (row: AttributesProp) {
// 删除 // 删除
function handleRemove(row: AttributesProp) { function handleRemove(row: AttributesProp) {
ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => { ElMessageBox.confirm('确定要删除该属性吗?', '提示').then(() => {
deleteEvent({ id: row.id }).then(res => { deleteEvent({ id: row.id }).then(() => {
ElMessage({ message: '删除成功', type: 'success' }) ElMessage({ message: '删除成功', type: 'success' })
handleRefresh() handleRefresh()
}) })
...@@ -94,13 +94,7 @@ const handleView = function (row: AttributesProp) { ...@@ -94,13 +94,7 @@ const handleView = function (row: AttributesProp) {
</AppList> </AppList>
</AppCard> </AppCard>
<!-- 新建更新事件 --> <!-- 新建更新事件 -->
<UpdateEventsDialog <UpdateEventsDialog @update="handleRefresh()" :data="currentRow" v-if="eventsVisible" :info="userInfo" v-model="eventsVisible"></UpdateEventsDialog>
@update="handleRefresh()"
:data="currentRow"
v-if="eventsVisible"
:info="userInfo"
v-model="eventsVisible"
></UpdateEventsDialog>
</template> </template>
<style lang="scss"> <style lang="scss">
.event-user_info { .event-user_info {
......
...@@ -11,7 +11,7 @@ const route = useRoute() ...@@ -11,7 +11,7 @@ const route = useRoute()
// 画像数据 // 画像数据
let data = $ref<ImageProp>() let data = $ref<ImageProp>()
// 属性 // 属性
let fieldsList = $ref<MemberFieldsProp[]>() let fieldsList = $ref<MemberFieldsProp[]>([])
onMounted(() => { onMounted(() => {
// 画像 // 画像
getMemberImage({ id: route.query.user_id as '' }).then(res => { getMemberImage({ id: route.query.user_id as '' }).then(res => {
...@@ -48,68 +48,49 @@ function handleViewEvent(item: any) { ...@@ -48,68 +48,49 @@ function handleViewEvent(item: any) {
<template> <template>
<AppCard class="card" style="margin-bottom: 10px"> <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="info-name" style="min-width: 300px">
<div class="tx"> <div class="tx">
<img <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'" />
: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="" />
<!-- https://webapp-pub.ezijing.com/pages/assa/dml_boy.png --> <!-- https://webapp-pub.ezijing.com/pages/assa/dml_boy.png -->
<!-- <el-icon :size="50" color="#fff"><UserFilled /></el-icon> --> <!-- <el-icon :size="50" color="#fff"><UserFilled /></el-icon> -->
</div> </div>
<h1>{{ data?.name }}</h1> <h1>{{ data.name }}</h1>
<div class="line"></div> <div class="line"></div>
</div> </div>
<div style="display: flex; justify-content: space-around; width: 100%"> <div style="display: flex; justify-content: space-around; width: 100%">
<el-form label-suffix=":" label-width="auto"> <el-form label-suffix=":" label-width="auto">
<el-form-item label="来源链接" <el-form-item label="来源链接">{{ data.connection_name }} </el-form-item>
><span>{{ data?.connection_name }}</span></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-item label="创建时间"
><span>{{ data?.created_time }}</span></el-form-item
>
<!-- <el-form-item label="用户ID"
><span>{{ data?.id }}</span></el-form-item
> --> > -->
</el-form> </el-form>
<el-form label-suffix=":" label-width="110px"> <el-form label-suffix=":" label-width="110px">
<el-form-item label="用户ID" <el-form-item label="用户ID">{{ data.id }} </el-form-item>
><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 label="状态" </el-form-item>
><span :style="`color: ${data?.status === '1' ? 'rgba(0,172,39,1)' : '#ba143e'}`">{{
data?.status_name
}}</span></el-form-item
>
</el-form> </el-form>
<el-form label-suffix=":" label-width="110px"> <el-form label-suffix=":" label-width="110px">
<el-form-item label="最近活跃时间" <el-form-item label="最近活跃时间">{{ data.updated_time }} </el-form-item>
><span>{{ data?.updated_time }}</span></el-form-item <el-form-item label="最近活跃时间" style="opacity: 0">{{ data.updated_time }} </el-form-item>
>
<el-form-item label="最近活跃时间" style="opacity: 0"
><span>{{ data?.updated_time }}</span></el-form-item
>
</el-form> </el-form>
</div> </div>
</div> </div>
</AppCard> </AppCard>
<div class="card-box"> <div class="card-box">
<AppCard class="card" style="overflow-y: scroll" title="用户属性"> <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 label-suffix=":" label-width="auto">
<el-form-item label="链接来源">{{ data?.connection_name }}</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.name }}</el-form-item>
<el-form-item label="状态">{{ data?.status_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.gender_name }}</el-form-item>
<el-form-item label="电话">{{ data?.mobile }}</el-form-item> <el-form-item label="电话">{{ data.mobile }}</el-form-item>
<template v-for="item in fieldsList"> <template v-for="item in fieldsList" :key="item.id">
<el-form-item v-if="item?.isShow" :label="item?.name" <el-form-item :label="item.name" v-if="item.isShow">
><span>{{ item?.value }}</span></el-form-item <span>{{ item.value }}</span>
> </el-form-item>
</template> </template>
</el-form> </el-form>
</div> </div>
...@@ -117,59 +98,51 @@ function handleViewEvent(item: any) { ...@@ -117,59 +98,51 @@ function handleViewEvent(item: any) {
<AppCard class="card" title="标签与群组"> <AppCard class="card" title="标签与群组">
<el-tabs class="demo-tabs"> <el-tabs class="demo-tabs">
<el-tab-pane label="用户标签"> <el-tab-pane label="用户标签">
<el-empty v-if="!data?.tags || !data?.tags.length" description="暂无数据" :image-size="80" /> <div class="scroll" v-if="data?.tags && data.tags.length">
<div class="scroll" v-else> <el-tag class="ml-2" type="success" v-for="(item, index) in data.tags" :key="index">{{ item }}</el-tag>
<el-tag class="ml-2" type="success" v-for="item in data?.tags">{{ item }}</el-tag>
</div> </div>
<el-empty description="暂无数据" :image-size="80" v-else />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-tabs class="demo-tabs"> <el-tabs class="demo-tabs">
<el-tab-pane label="静态分组"> <el-tab-pane label="静态分组">
<el-empty <div class="scroll" v-if="data?.static_groups && data.static_groups.length">
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>
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> </div>
<el-empty description="暂无数据" :image-size="80" v-else />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-tabs class="demo-tabs"> <el-tabs class="demo-tabs">
<el-tab-pane label="动态分组"> <el-tab-pane label="动态分组">
<el-empty <div class="scroll" v-if="data?.dynamic_groups && data.dynamic_groups.length">
v-if="!data?.dynamic_groups || !data?.static_groups.length" <el-tag class="ml-2" type="success" v-for="(item, index) in data.dynamic_groups" :key="index">{{ item }}</el-tag>
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> </div>
<el-empty description="暂无数据" :image-size="80" v-else />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</AppCard> </AppCard>
<AppCard class="card" title="用户行为轨迹"> <AppCard class="card" title="用户行为轨迹">
<el-empty v-if="!data?.events?.list || !data?.events?.list.length" description="暂无数据" :image-size="80" /> <template v-if="data?.events.list && data.events.list.length">
<div class="event-box" v-for="item in data?.events?.list" v-else> <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="date">{{ item.updated_time?.slice(0, item.updated_time.indexOf(' ')) }}</div>
<div class="event-content"> <div class="event-content">
<div class="time"> <div class="time">
{{ item.updated_time?.slice(item.updated_time.indexOf(' '), item.updated_time.length - 3) }} {{ item.updated_time?.slice(item.updated_time.indexOf(' '), item.updated_time.length - 3) }}
{{ getDate(item.updated_time) }} {{ getDate(item.updated_time) }}
</div> </div>
<Icon class="icon" :multicolour="true" :name="item.connection_type" w="20" h="20"></Icon> <Icon class="icon" :multicolour="true" :name="item.connection_type" w="20" h="20"></Icon>
<div class="event"> <div class="event">
<span>"{{ item.connection_name }}"</span> <span>"{{ item.connection_name }}"</span>
<span style="cursor: pointer" @click="handleViewEvent(item)">"{{ item.event_name }}"</span> <span style="cursor: pointer" @click="handleViewEvent(item)">"{{ item.event_name }}"</span>
</div>
</div> </div>
</div> </div>
</div> </template>
<el-empty description="暂无数据" :image-size="80" v-else />
</AppCard> </AppCard>
</div> </div>
<!-- 事件详情 --> <!-- 事件详情 -->
<ViewEvent <ViewEvent v-model="viewEventVisible" :event="currentViewEvent" :user="data" v-if="viewEventVisible && currentViewEvent"></ViewEvent>
v-model="viewEventVisible"
:event="currentViewEvent"
:user="data"
v-if="viewEventVisible && currentViewEvent"></ViewEvent>
</template> </template>
<style lang="scss"> <style lang="scss">
.info-box { .info-box {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论