Merge branch 'dev' of github.com:jetlinks/jetlinks-ui-vue into dev

This commit is contained in:
easy 2023-03-17 14:33:00 +08:00
commit b81e8af1e4
5 changed files with 100 additions and 98 deletions

View File

@ -1,12 +1,12 @@
<!-- 坐标点拾取组件 --> <!-- 坐标点拾取组件 -->
<template> <template>
<div class="page-container"> <div class="page-container">
<a-input allowClear v-model:value="inputPoint"> <j-input allowClear v-model:value="inputPoint">
<template #addonAfter> <template #addonAfter>
<environment-outlined @click="modalVis = true" /> <environment-outlined @click="modalVis = true" />
</template> </template>
</a-input> </j-input>
<a-modal <j-modal
title="地理位置" title="地理位置"
ok-text="确认" ok-text="确认"
cancel-text="取消" cancel-text="取消"
@ -28,7 +28,7 @@
</el-amap> </el-amap>
{{ mapPoint }} {{ mapPoint }}
</div> </div>
</a-modal> </j-modal>
</div> </div>
</template> </template>

View File

@ -15,87 +15,91 @@
<j-radio-button :value="0">全屏</j-radio-button> <j-radio-button :value="0">全屏</j-radio-button>
</j-radio-group> </j-radio-group>
<div class="screen-tool-save"> <div class="screen-tool-save">
<j-tooltip title="可保存分屏配置记录"> <j-space>
<AIcon type="QuestionCircleOutlined" /> <j-tooltip title="可保存分屏配置记录">
</j-tooltip> <AIcon type="QuestionCircleOutlined" />
<j-popover </j-tooltip>
v-model:visible="visible" <j-popover
trigger="click" v-model:visible="visible"
title="分屏名称" trigger="click"
> title="分屏名称"
<template #content>
<j-form
ref="formRef"
:model="formData"
layout="vertical"
>
<j-form-item
name="name"
:rules="[
{
required: true,
message: '请输入名称',
},
{
max: 64,
message: '最多可输入64个字符',
},
]"
>
<j-textarea v-model:value="formData.name" />
</j-form-item>
<j-button
type="primary"
@click="saveHistory"
:loading="loading"
style="width: 100%; margin-top: 16px"
>
保存
</j-button>
</j-form>
</template>
<j-dropdown-button
type="primary"
@click="visible = true"
> >
保存 <template #content>
<template #overlay> <j-form
<j-menu> ref="formRef"
<j-empty :model="formData"
v-if="!historyList.length" layout="vertical"
description="暂无数据" >
/> <j-form-item
<j-menu-item name="name"
v-for="(item, index) in historyList" :rules="[
:key="`his${index}`" {
@click="handleHistory(item)" required: true,
message: '请输入名称',
},
{
max: 64,
message: '最多可输入64个字符',
},
]"
> >
<j-space> <j-textarea
<span>{{ item.name }}</span> v-model:value="formData.name"
<j-popconfirm />
title="确认删除?" </j-form-item>
ok-text="确认" <j-button
cancel-text="取消" type="primary"
@confirm="(e: any) => { @click="saveHistory"
e?.stopPropagation(); :loading="loading"
deleteHistory(item.key); style="width: 100%; margin-top: 16px"
} >
" 保存
> </j-button>
<AIcon </j-form>
type="DeleteOutlined"
@click="
(e:any) =>
e?.stopPropagation()
"
/>
</j-popconfirm>
</j-space>
</j-menu-item>
</j-menu>
</template> </template>
</j-dropdown-button> <j-dropdown-button
</j-popover> type="primary"
@click="visible = true"
>
保存
<template #overlay>
<j-menu>
<j-empty
v-if="!historyList.length"
description="暂无数据"
/>
<j-menu-item
v-for="(item, index) in historyList"
:key="`his${index}`"
@click="handleHistory(item)"
>
<j-space>
<span>{{ item.name }}</span>
<j-popconfirm
title="确认删除?"
ok-text="确认"
cancel-text="取消"
@confirm="(e: any) => {
e?.stopPropagation();
deleteHistory(item.key);
}
"
>
<AIcon
type="DeleteOutlined"
@click="
(e:any) =>
e?.stopPropagation()
"
/>
</j-popconfirm>
</j-space>
</j-menu-item>
</j-menu>
</template>
</j-dropdown-button>
</j-popover>
</j-space>
</div> </div>
</div> </div>
<!-- 播放器 --> <!-- 播放器 -->
@ -127,7 +131,7 @@
> >
刷新 刷新
</div> </div>
<LivePlayer :url="item.url" autoplay /> <LivePlayer :live="true" :url="item.url" autoplay />
</div> </div>
</template> </template>
</div> </div>

View File

@ -726,7 +726,7 @@ const handleSubmit = () => {
// console.log('formData.value: ', formData.value); // console.log('formData.value: ', formData.value);
formRef.value formRef.value
.validate() .validate()
.then(async () => { .then(() => {
const { const {
id, id,
cascadeName, cascadeName,
@ -750,16 +750,14 @@ const handleSubmit = () => {
], ],
}; };
btnLoading.value = true; btnLoading.value = true;
const res = formData.value.id CascadeApi[id ? 'update' : 'save'](params)
? await CascadeApi.update(params) .then(() => {
: await CascadeApi.save(params); message.success('操作成功');
btnLoading.value = false; router.back();
if (res.success) { })
message.success('操作成功'); .finally(() => {
router.back(); btnLoading.value = false;
} else { });
message.error('操作失败');
}
}) })
.catch((err: any) => { .catch((err: any) => {
console.log('err: ', err); console.log('err: ', err);

View File

@ -25,7 +25,7 @@
<div class="tool-item">刷新</div> <div class="tool-item">刷新</div>
<div class="tool-item" @click.stop="handleReset">重置</div> <div class="tool-item" @click.stop="handleReset">重置</div>
</div> </div>
<LivePlayer :url="url" :protocol="mediaType" autoplay /> <LivePlayer :live="true" :url="url" :protocol="mediaType" autoplay />
</div> </div>
<MediaTool <MediaTool
@onMouseDown="handleMouseDown" @onMouseDown="handleMouseDown"

View File

@ -67,8 +67,8 @@
<span>{{ slotProps.channelNumber || 0 }}</span> <span>{{ slotProps.channelNumber || 0 }}</span>
</template> </template>
<template #state="slotProps"> <template #state="slotProps">
<a-space> <j-space>
<a-badge <j-badge
:status=" :status="
slotProps.state.value === 'online' slotProps.state.value === 'online'
? 'success' ? 'success'
@ -76,7 +76,7 @@
" "
:text="slotProps.state.text" :text="slotProps.state.text"
/> />
</a-space> </j-space>
</template> </template>
</JProTable> </JProTable>
</j-modal> </j-modal>