Commit 7beb61c7 authored by chenqikuai's avatar chenqikuai

版权详情

parent 8657b3b6
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="21" viewBox="0 0 22 21"><g fill="none" fill-rule="evenodd" transform="translate(-191 -210)"><rect width="584" height="657" fill="#FFF"/><g transform="translate(191.5 213)"><rect width="19.5" height="13.5" x=".75" y=".75" stroke="#3076FF" stroke-width="1.5" rx="2"/><polyline stroke="#3076FF" stroke-linecap="round" stroke-linejoin="round" points="1 13 6.479 8 8.742 9.855 10 10.886"/><path stroke="#3076FF" stroke-linecap="round" stroke-linejoin="round" d="M9.27572886,11.6676833 L11.4359811,8.66768333 M12.5161073,6.81806471 L14.3740146,4.66768333 L20.0769902,9.66768333"/><circle cx="4.5" cy="3.5" r="1.5" fill="#3370FE"/></g></g></svg>
\ No newline at end of file
<template> <template>
<div :style="status?.style" class="approveStatus"> <div :style="status?.style" class="approveStatus">
{{ status?.icon }} <img v-if="status?.icon" :src="status?.icon" alt="" srcset="" />
{{ status?.label }} {{ status?.label }}
</div> </div>
</template> </template>
......
import { betweenGreenAndBlue, blue, green, red, yellow } from './btnStyle' import { betweenGreenAndBlue, blue, green, red, yellow } from './btnStyle'
import pending from '@/assets/img/pending.png'
import check from '@/assets/img/check.png'
import error from '@/assets/img/error.png'
/**审核状态(待提交:WAITING_SUBMIT 待审核:WAITING_CHECK 备案成功:RECORD_SUCCESS 不通过:NOT_PASSED ) */ /**审核状态(待提交:WAITING_SUBMIT 待审核:WAITING_CHECK 备案成功:RECORD_SUCCESS 不通过:NOT_PASSED ) */
export enum eStatus { export enum eStatus {
...@@ -13,28 +16,28 @@ export const WAITING_SUBMIT = { ...@@ -13,28 +16,28 @@ export const WAITING_SUBMIT = {
value: eStatus.WAITING_SUBMIT, value: eStatus.WAITING_SUBMIT,
label: '待提交', label: '待提交',
style: blue, style: blue,
icon: 's', icon: undefined,
} }
export const WAITING_CHECK = { export const WAITING_CHECK = {
value: eStatus.WAITING_CHECK, value: eStatus.WAITING_CHECK,
label: '待审核', label: '待审核',
style: yellow, style: yellow,
icon: 's', icon: pending,
} }
export const RECORD_SUCCESS = { export const RECORD_SUCCESS = {
value: eStatus.RECORD_SUCCESS, value: eStatus.RECORD_SUCCESS,
label: '备案成功', label: '备案成功',
style: green, style: green,
icon: 's', icon: check,
} }
export const NOT_PASSED = { export const NOT_PASSED = {
value: eStatus.NOT_PASSED, value: eStatus.NOT_PASSED,
label: '备案失败', label: '备案失败',
style: red, style: red,
icon: 's', icon: error,
} }
export const allStatus = [ export const allStatus = [
......
...@@ -152,6 +152,11 @@ const routes = [ ...@@ -152,6 +152,11 @@ const routes = [
name: "addCopyRight", name: "addCopyRight",
component: () => import("@/views/AddCopyRight/index.vue"), component: () => import("@/views/AddCopyRight/index.vue"),
}, },
{
path: '/copyRightDetail',
name: 'copyRightDetail',
component: () => import("@/views/CopyRightDetail/index.vue")
}
]; ];
const router = createRouter({ const router = createRouter({
......
<template>
<div class="min-h-screen flow-root" style="background: #f9f9f9">
<syHeaderNavBar @back="() => $router.back()" @close="() => $router.back()"
>版权申请
</syHeaderNavBar>
<ModuleContainer class="mx-auto" style="width: 858px; margin-top: 17px">
<div class="flex items-center justify-between">
<div class="copyRightTitle">茶小Y</div>
<div>
<syButton mode="elementBtn" type="default" size="large"
>编辑</syButton
>
<syButton mode="elementBtn" type="default" size="large"
>删除</syButton
>
<syButton mode="elementBtn" type="default" size="large"
>查看证书</syButton
>
<syButton mode="elementBtn" type="default" size="large"
>下载tsa证书</syButton
>
</div>
</div>
<div class="time">2022-06-27 12:12:20</div>
<div
class="flex"
style="font-size: 12px; font-weight: 400; line-height: 40px"
>
<div class="w-1/2">
<span style="color: var(--sy-gray)">审核意见:</span>
<span>资料不完整</span>
</div>
<div>
<span style="color: var(--sy-gray)">备注说明:</span>
<span style="color: #ff6268">审核不通过</span>
<span style="color: #379e0e">审核通过</span>
</div>
</div>
</ModuleContainer>
<ModuleContainer class="mx-auto" style="width: 858px; margin-top: 17px">
<div class="overflow-hidden">
<div
class="title"
style="color: var(--sy-blue); font-size: 14px; font-weight: 600"
>
<img src="@/assets/img/auth.png" style="width: 20px" class="mr-2.5" />
备案人
</div>
<div class="filingPersonBox">杭州苦练科技公司</div>
</div>
<div class="line"></div>
<div class="overflow-hidden">
<div
class="title"
style="color: var(--sy-blue); font-size: 14px; font-weight: 600"
>
<img
src="@/assets/img/workMsg.svg"
style="width: 20px"
class="mr-2.5"
/>
作品资料
</div>
<div
class="flex flex-wrap"
style="color: var(--sy-gray); font-size: 12px; font-weight: 400"
>
<div class="w-1/2 content">
作品名称:
<span style="color: var(--sy-black)">茶小Y</span>
</div>
<div class="w-1/2 content">
创作/制作完成日期:
<span style="color: var(--sy-black)">2022-06-27</span>
</div>
<div class="w-1/2 content">
作品创作性质:
<span style="color: var(--sy-black)">插画</span>
</div>
<div class="w-1/2 content">
首次发表时间:
<span style="color: var(--sy-black)">-</span>
</div>
<div class="w-1/2 content">
发表状态:
<span style="color: var(--sy-black)">未发表</span>
</div>
<div class="w-1/2 content">
作品附件:
<span style="color: var(--sy-black)"><img src="" alt="" /></span>
</div>
<div class="w-1/2 content">
其他备注说明:
<span style="color: var(--sy-black)">没有备注了</span>
</div>
<div class="w-1/2 content">
创作/制作完成地点:
<span style="color: var(--sy-black)">杭州</span>
</div>
<div class="w-1/2 content">
作品类型:
<span style="color: var(--sy-black)">文字</span>
</div>
<div class="w-1/2 content">
权力取得方式:
<span style="color: var(--sy-black)">原始</span>
</div>
</div>
</div>
<div class="line"></div>
<div class="overflow-hidden">
<div
class="title"
style="color: var(--sy-blue); font-size: 14px; font-weight: 600"
>
<img
src="@/assets/img/contact.png"
style="width: 20px"
class="mr-2.5"
/>
申请人及联系方式
</div>
<div
class="flex"
style="color: var(--sy-gray); font-size: 12px; font-weight: 400"
>
<div class="w-1/2">
<div class="content">
联系人:
<span style="color: var(--sy-black)">茶小Y</span>
</div>
<div class="content">
电子邮箱:
<span style="color: var(--sy-black)">插画</span>
</div>
<div class="content">
手机:
<span style="color: var(--sy-black)">未发表</span>
</div>
<div class="content">
电话:
<span style="color: var(--sy-black)">没有备注了</span>
</div>
</div>
<div class="w-1/2">
<div class="content">
邮编:
<span style="color: var(--sy-black)">2022-06-27</span>
</div>
<div class="content">
传真:
<span style="color: var(--sy-black)">-</span>
</div>
<div class="content">
联系地址:
<span style="color: var(--sy-black)"
>888888888888888888888888888888888888888888888888888888888888888888888888888888888888</span
>
</div>
</div>
</div>
</div>
</ModuleContainer>
</div>
</template>
<script setup lang="ts">
import { syHeaderNavBar, syButton } from "cqk-sy-ui";
import ModuleContainer from "@/components/ModuleContainer/index.vue";
</script>
<style lang="scss" scoped>
.copyRightTitle {
font-size: 30px;
font-weight: 600;
color: var(--sy-black);
}
.time {
font-size: 14px;
font-weight: 400;
color: var(--sy-gray);
line-height: 40px;
}
.line {
height: 2px;
background: #f0f1f5;
width: 100%;
margin-top: 30px;
margin-bottom: 30px;
}
.filingPersonBox {
width: 244px;
height: 37px;
background: #ecf2ff;
border-radius: 4px;
border: 1px solid var(--sy-blue);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
font-weight: 400;
color: var(--sy-blue);
}
.title {
display: flex;
align-items: center;
margin-bottom: 15px;
}
.content {
line-height: 40px;
word-break: break-all;
}
</style>
...@@ -9,13 +9,7 @@ ...@@ -9,13 +9,7 @@
<template #currentStatusCell="slotProps"> <template #currentStatusCell="slotProps">
<div class="flex items-center"> <div class="flex items-center">
<ApproveStatus :type="eStatus.RECORD_SUCCESS"></ApproveStatus> <ApproveStatus :type="eStatus.RECORD_SUCCESS"></ApproveStatus>
<!-- <HoverShowReason <HoverShowReason :rowData="slotProps"></HoverShowReason>
:rowData="slotProps"
v-if="
eStatus.rejected === slotProps.status ||
eStatus.platformDismissed === slotProps.status
"
></HoverShowReason> -->
</div> </div>
</template> </template>
<template #currentStatusHeader> <template #currentStatusHeader>
......
...@@ -39,8 +39,7 @@ ...@@ -39,8 +39,7 @@
> >
</div> </div>
</div> </div>
<syMenu v-model="activedMenu" :menu-list="menuList"></syMenu> <div class="flex-grow overflow-hidden mt-4">
<div class="flex-grow overflow-hidden">
<CopyrightTable <CopyrightTable
v-show="activedMenu === eTableTab.going" v-show="activedMenu === eTableTab.going"
:data="tableDataForGoing" :data="tableDataForGoing"
...@@ -50,14 +49,6 @@ ...@@ -50,14 +49,6 @@
@scrollToEnd="fetchNextPageForGoing" @scrollToEnd="fetchNextPageForGoing"
> >
</CopyrightTable> </CopyrightTable>
<CopyrightTable
v-show="activedMenu === eTableTab.end"
:data="tableDataForEnd"
:loading="loadingForEnd"
height="100%"
@scrollToEnd="fetchNextPageForEnd"
>
</CopyrightTable>
</div> </div>
</div> </div>
<CopyRightNotify v-model:visible="copyRightNotifyVisible"></CopyRightNotify> <CopyRightNotify v-model:visible="copyRightNotifyVisible"></CopyRightNotify>
...@@ -69,11 +60,9 @@ import { ref, watch } from "vue"; ...@@ -69,11 +60,9 @@ import { ref, watch } from "vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import Avatar from "@/components/Avatar/index.vue"; import Avatar from "@/components/Avatar/index.vue";
import Title from "@/components/Title.vue"; import Title from "@/components/Title.vue";
import { syButton, syMenu } from "cqk-sy-ui"; import { syButton } from "cqk-sy-ui";
import Icon from "@/components/Icon/index.vue"; import Icon from "@/components/Icon/index.vue";
import ApprovedStatus from "@/components/ApproveStatus/index.vue";
import { eStatus } from "@/components/ApproveStatus/status"; import { eStatus } from "@/components/ApproveStatus/status";
import HoverMe from "@/components/HoverMe/index.vue";
import CopyrightTable from "./CopyrightTable.vue"; import CopyrightTable from "./CopyrightTable.vue";
import { eTableTab } from "./types"; import { eTableTab } from "./types";
import { useTableData } from "@/components/Table/hooks"; import { useTableData } from "@/components/Table/hooks";
...@@ -82,16 +71,7 @@ import CopyRightNotify from "@/components/Dialogs/CopyRightNotify/index.vue"; ...@@ -82,16 +71,7 @@ import CopyRightNotify from "@/components/Dialogs/CopyRightNotify/index.vue";
const copyRightNotifyVisible = ref(false); const copyRightNotifyVisible = ref(false);
const searchValue = ref(""); const searchValue = ref("");
const menuList = [
{
value: eTableTab.going,
label: "进行中",
},
{
value: eTableTab.end,
label: "已完成",
},
];
const activedMenu = ref(eTableTab.going); const activedMenu = ref(eTableTab.going);
const currentStatusForGoing = ref(eStatus.NOT_PASSED); // 进行中的表格的状态 const currentStatusForGoing = ref(eStatus.NOT_PASSED); // 进行中的表格的状态
...@@ -145,18 +125,8 @@ const { ...@@ -145,18 +125,8 @@ const {
fetchData: generateFetchTableData(() => currentStatusForGoing.value), fetchData: generateFetchTableData(() => currentStatusForGoing.value),
}); });
const {
fetchNextPage: fetchNextPageForEnd,
tableData: tableDataForEnd,
loading: loadingForEnd,
refetch: refetchForEnd,
} = useTableData({
fetchData: generateFetchTableData(() => eStatus.NOT_PASSED),
});
const refetchDebounce = debounce(() => { const refetchDebounce = debounce(() => {
refetchForGoing(); refetchForGoing();
refetchForEnd();
}, 500); }, 500);
watch(searchValue, () => { watch(searchValue, () => {
......
...@@ -3,27 +3,31 @@ export const tableColumns = [ ...@@ -3,27 +3,31 @@ export const tableColumns = [
{ {
label: "版权名称", label: "版权名称",
prop: "name", prop: "name",
minWidth: "340", minWidth: 300,
}, },
{ {
label: "流水号", label: "备案号",
prop: "address", prop: "address",
width: "310", minWidth: "280",
}, },
{ {
label: "操作日期", label: "作品类型",
minWidth: "240",
},
{
label: "提交日期",
prop: "date", prop: "date",
width: "270", minWidth: "280",
}, },
{ {
label: "当前状态", label: "当前状态",
slotName: "currentStatusCell", slotName: "currentStatusCell",
headerSlotName: "currentStatusHeader", headerSlotName: "currentStatusHeader",
width: "200", minWidth: "200",
}, },
{ {
label: "操作", label: "操作",
slotName: "operate", slotName: "operate",
width: "100", minWidth: "100",
}, },
] as iTableColumn[]; ] as iTableColumn[];
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