Commit 10cbeb65 authored by 黄同智's avatar 黄同智

上传视频的表单布局

parent 8ab764c7
<template> <template>
<div> <el-dialog v-model="visible" title="Shipping address" width="1000" modal-class="xxxxx" align-center
<el-button>open</el-button> :before-close="handleClose">
<el-dialog v-model="dialogVisible" title="Shipping address" width="1000" modal-class="xxxxx"> <template #title>
<template #title> <div class="fs-18 font-bold py-10 pl-20">视频上传</div>
<span class="fs-18 font-bold">视频上传</span> </template>
</template> <div class="h-700 over-auto px-20 pb-20">
<el-form ref="formRef" :model="form" label-width="100"> <el-form ref="formRef" :model="form" label-width="100">
<el-card shadow="hover"> <el-card shadow="hover">
<el-upload class="upload-demo" drag <el-upload class="upload-demo" drag
...@@ -90,7 +89,8 @@ ...@@ -90,7 +89,8 @@
</el-form-item> </el-form-item>
</section> </section>
<section class="mt-20"> <section class="mt-20">
<div class="title mb-20">时间设置 <span class="fs-12 color-888 fw-500 ml-10">剪辑时间、授权有效期</span></div> <div class="title mb-20">时间设置 <span class="fs-12 color-888 fw-500 ml-10">剪辑时间、授权有效期</span>
</div>
<el-form-item label="剪辑时间" prop="name"> <el-form-item label="剪辑时间" prop="name">
<el-date-picker v-model="form.name" type="date" placeholder="请选择剪辑时间" /> <el-date-picker v-model="form.name" type="date" placeholder="请选择剪辑时间" />
</el-form-item> </el-form-item>
...@@ -118,16 +118,91 @@ ...@@ -118,16 +118,91 @@
<div class="fs-12 color-888">设置查看权限(默认公开)、定时权限变更和消息提醒。</div> <div class="fs-12 color-888">设置查看权限(默认公开)、定时权限变更和消息提醒。</div>
</div> </div>
</div> </div>
<div class="flex-items-center gap-10">
<el-select v-model="mouldType" placeholder="选择预设模板" style="width: 200px" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
<el-button type="primary">+ 存为预设模板</el-button>
</div>
</section>
<section class="mt-20">
<div class="title mb-20">基础信息</div>
<el-form-item label="视频查看权限" prop="name">
<div>
<el-radio-group v-model="form.name">
<el-radio :value="1">公开(默认)</el-radio>
<el-radio :value="2">团队成员</el-radio>
<el-radio :value="3">小组成员</el-radio>
<el-radio :value="4">公共资源</el-radio>
<el-radio :value="5">指定范围</el-radio>
</el-radio-group>
<div class="fs-12 color-888">控制视频上传后哪些人可以查看该视频。</div>
</div>
</el-form-item>
<div class="flex">
<div class="flex-1">
<el-form-item label="指定团队" prop="name">
<el-select v-model="form.name" placeholder="请选择" clearable>
<el-option v-for="item in taskOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</div>
<div class="flex-1">
<el-form-item label="指定小组" prop="name">
<el-select v-model="form.name" placeholder="请选择" clearable>
<el-option v-for="item in taskOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</div>
<div class="flex-1">
<el-form-item label="指定人员" prop="name">
<el-select v-model="form.name" placeholder="请选择" clearable>
<el-option v-for="item in taskOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
</div>
</div>
</section>
<section class="mt-20">
<div class="title mb-20">定期权限<span class="fs-12 color-888 fw-500 ml-10">可选,到期后自动修改查看权限</span>
</div>
<el-form-item label="修改日期" prop="name">
<el-date-picker v-model="form.name" type="date" placeholder="请选择修改日期" />
<span class="fs-12 color-888 ml-10">将在所选日期 00:00 自动修改视频查看权限</span>
</el-form-item>
</section>
<section class="mt-20">
<div class="title mb-20">消息提醒</div>
<el-form-item label="接收人" prop="name">
<el-select v-model="form.name" placeholder="请选择接收人" clearable>
<el-option v-for="item in taskOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="消息内容" prop="name">
<el-input v-model="form.name" :rows="2" type="textarea" placeholder="请输入消息内容" />
</el-form-item>
</section> </section>
</el-card> </el-card>
</el-form> </el-form>
</el-dialog> </div>
</div> <template #footer>
<div class="px-20 pb-10 pt-10" style="border-top: 1px solid #eee;">
<el-button @click="handleConfirm">发布后,相同配置继续上传</el-button>
<el-button type="primary" @click="handleConfirm" plain>视频上传完毕,自动发布</el-button>
<el-button type="primary" @click="handleConfirm">发布</el-button>
</div>
</template>
</el-dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive } from 'vue' import { ref, reactive } from 'vue'
const dialogVisible = ref(true) const visible = defineModel<boolean>('visible', { required: true });
// 表单大类 // 表单大类
const form = reactive<any>({ const form = reactive<any>({
...@@ -135,6 +210,7 @@ const form = reactive<any>({ ...@@ -135,6 +210,7 @@ const form = reactive<any>({
daterange: [], daterange: [],
goodNums: 866 goodNums: 866
}) })
const formRef = ref<any>(null)
const videoOptions = ref([ const videoOptions = ref([
{ {
value: '1', value: '1',
...@@ -214,7 +290,15 @@ const options = ref([ ...@@ -214,7 +290,15 @@ const options = ref([
// 弹窗的取消和确定
const handleClose = (done: () => void) => {
if (!formRef.value) return;
formRef.value.resetFields();
done();
};
const handleConfirm = () => {
visible.value = false; // 关闭弹窗
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -235,11 +319,14 @@ const options = ref([ ...@@ -235,11 +319,14 @@ const options = ref([
} }
} }
:deep(.xxxxx) { :deep(.xxxxx) {
.el-dialog { .el-dialog {
border-radius: 10px; border-radius: 10px;
padding: 0;
}
.el-dialog__footer {
padding: 0;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="mt-20"> <div class="mt-20">
<div class="mb-20"> <div class="mb-20">
<el-button @click="switchCheck">{{ isCheck ? '取消选择' : '请选择' }}</el-button> <el-button @click="switchCheck">{{ isCheck ? '取消选择' : '请选择' }}</el-button>
<el-button type="primary">上传文件</el-button> <el-button type="primary" @click="openDialog">上传文件</el-button>
</div> </div>
<div class="flex flex-wrap gap-20"> <div class="flex flex-wrap gap-20">
<el-checkbox-group v-model="checkedList" class="flex flex-wrap gap-20 w-full"> <el-checkbox-group v-model="checkedList" class="flex flex-wrap gap-20 w-full">
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</div> </div>
<UploadVideoDialog /> <UploadVideoDialog v-model:visible="dialogVisible" />
</div> </div>
</template> </template>
...@@ -34,6 +34,12 @@ const switchCheck = () => { ...@@ -34,6 +34,12 @@ const switchCheck = () => {
isCheck.value = !isCheck.value isCheck.value = !isCheck.value
checkedList.value = [] checkedList.value = []
} }
// 上传视频的弹窗内容
const dialogVisible =ref(false)
const openDialog = () => {
dialogVisible.value = true;
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment