Commit 8657b3b6 authored by chenqikuai's avatar chenqikuai

feat:addCopyRight

parent 9f8cd177
This diff is collapsed.
......@@ -18,7 +18,6 @@
"@tinymce/tinymce-vue": "^4.0.7",
"axios": "^0.26.1",
"comlink": "^4.3.1",
"cqk-sy-ui": "^1.2.82",
"crypto-js": "^4.1.1",
"dom-to-image": "^2.6.0",
"element-plus": "^2.1.9",
......
export const blue = {
color: "var(--sy-blue)",
backgroundColor: "#EAEBFD",
color: "#3370FE",
};
export const red = {
color: "#FF1818",
backgroundColor: "#FFEDEC",
color: "#FF6268",
};
export const yellow = {
color: "#FF831E",
backgroundColor: "#FFF7EC",
color: "#FAAD14",
};
export const green = {
color: "#479543",
backgroundColor: "#ECF8E6",
color: "#379E0E",
};
export const betweenGreenAndBlue = {
color: "#20B8C4",
backgroundColor: "#DFF8FA",
};
<template>
<button :style="status?.style" class="approveStatus">
<div :style="status?.style" class="approveStatus">
{{ status?.icon }}
{{ status?.label }}
</button>
</div>
</template>
<script setup lang="ts">
......
import { betweenGreenAndBlue, blue, green, red, yellow } from "./btnStyle";
export enum eStatus {
/**
* 平台核验
*/
platformVerification = "platformVerification",
/**
* 已撤回
*/
withdrawn = "withdrawn",
/**
* 平台驳回
*/
platformDismissed = "platformDismissed",
/**
* 提交审核
*/
submitReview = "submitReview",
/**
* 平台未提交
*/
platformNotSubmitted = "platformNotSubmitted",
/**
* 待审核
*/
pendingReview = "pendingReview",
/**
* 同意
*/
agree = "agree",
/**
* 已驳回
*/
rejected = "rejected",
/**
* 已提交
*/
submitted = "submitted",
/**
* 待终审
*/
pendingFinalReview = "pendingFinalReview",
/**
* 审核通过
*/
approved = "approved",
all = "all",
}
export const platformVerification = {
value: eStatus.platformVerification,
label: "平台核验",
style: blue,
};
export const withdrawn = {
value: eStatus.withdrawn,
label: "已撤回",
style: green,
};
export const platformDismissed = {
value: eStatus.platformDismissed,
label: "平台驳回",
style: red,
};
export const submitReview = {
value: eStatus.submitReview,
label: "提交审核",
style: yellow,
};
export const platformNotSubmitted = {
value: eStatus.platformNotSubmitted,
label: "平台未提交",
style: blue,
};
export const pendingReview = {
value: eStatus.pendingReview,
label: "待审核",
style: yellow,
};
export const agree = {
value: eStatus.agree,
label: "同意",
style: green,
};
export const rejected = {
value: eStatus.rejected,
label: "已驳回",
style: red,
};
export const submitted = {
value: eStatus.submitted,
label: "已提交",
style: betweenGreenAndBlue,
};
export const pendingFinalReview = {
value: eStatus.pendingFinalReview,
label: "待终审",
style: green,
};
export const approved = {
value: eStatus.approved,
label: "审核通过",
style: blue,
};
export const allStatus = [
platformVerification,
withdrawn,
platformDismissed,
submitReview,
platformNotSubmitted,
pendingReview,
agree,
rejected,
submitted,
pendingFinalReview,
approved,
];
import { betweenGreenAndBlue, blue, green, red, yellow } from './btnStyle'
/**审核状态(待提交:WAITING_SUBMIT 待审核:WAITING_CHECK 备案成功:RECORD_SUCCESS 不通过:NOT_PASSED ) */
export enum eStatus {
WAITING_SUBMIT,
WAITING_CHECK,
RECORD_SUCCESS,
NOT_PASSED,
ALL,
}
export const WAITING_SUBMIT = {
value: eStatus.WAITING_SUBMIT,
label: '待提交',
style: blue,
icon: 's',
}
export const WAITING_CHECK = {
value: eStatus.WAITING_CHECK,
label: '待审核',
style: yellow,
icon: 's',
}
export const RECORD_SUCCESS = {
value: eStatus.RECORD_SUCCESS,
label: '备案成功',
style: green,
icon: 's',
}
export const NOT_PASSED = {
value: eStatus.NOT_PASSED,
label: '备案失败',
style: red,
icon: 's',
}
export const allStatus = [
WAITING_SUBMIT,
WAITING_CHECK,
RECORD_SUCCESS,
NOT_PASSED,
]
......@@ -8,7 +8,11 @@
style="margin-bottom: 12px"
v-if="label || $slots.label"
>
<label for="powerOfAttorney" class="el-form-item__label relative">
<label
for="powerOfAttorney"
class="el-form-item__label relative"
style="color: #353535"
>
<slot name="label">
{{ label }}
</slot>
......
......@@ -73,16 +73,16 @@ const menuList = [
notActive: { iconName: "iconsuyuan1", props: { color: "#3A3A3A" } },
},
},
// {
// type: "menuItem",
// name: "版权管理",
// path: "/copyrightManagement",
// otherActivePath: ["/draftBox"],
// icon: {
// active: { iconName: "iconbanquan2", props: { color: "#3A3A3A" } },
// notActive: { iconName: "iconbanquan1", props: { color: "#3A3A3A" } },
// },
// },
{
type: "menuItem",
name: "版权管理",
path: "/copyrightManagement",
otherActivePath: ["/draftBox"],
icon: {
active: { iconName: "iconbanquan2", props: { color: "#3A3A3A" } },
notActive: { iconName: "iconbanquan1", props: { color: "#3A3A3A" } },
},
},
{
type: "menuItem",
name: "藏品管理",
......
<template>
<div class="module-container">
<slot></slot>
</div>
</template>
<script setup lang="ts"></script>
<style lang="scss" scpoed>
.module-container {
width: 1054px;
background: #ffffff;
box-shadow: 0px 2px 20px 0px #f0f0f0;
border-radius: var(--sy-border-radius);
padding-top: 38px;
padding-left: 46px;
padding-right: 46px;
padding-bottom: 38px;
}
</style>
......@@ -36,13 +36,12 @@ const routes = [
name: "tracingManagement",
component: () => import("@/views/Tracing/tracingManagement/index.vue"),
},
// {
// path: "/copyrightManagement",
// name: "copyrightManagement",
// component: (
// () => import("@/views/copyrightManagement/index.vue")
// ),
// },
{
path: "/copyrightManagement",
name: "copyrightManagement",
component: () => import("@/views/copyrightManagement/index.vue"),
},
// {
// path: "/draftBox",
// name: "draftBox",
......@@ -148,6 +147,11 @@ const routes = [
name: "test",
component: () => import("@/views/Test/index.vue"),
},
{
path: "/addCopyRight",
name: "addCopyRight",
component: () => import("@/views/AddCopyRight/index.vue"),
},
];
const router = createRouter({
......
......@@ -67,3 +67,35 @@
.v-leave-to {
opacity: 0;
}
.datePicker.el-input.el-date-editor {
width: 100%;
flex-shrink: 0;
}
.datePicker .el-input__inner {
padding-left: 18px !important;
height: 36px;
color: var(--sy-black);
border-radius: var(--sy-border-radius);
}
.datePicker .el-input__inner:hover {
box-shadow: 0 0 0 1px #c4c4c4 inset;
}
.datePicker .el-input__inner:focus {
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color))
inset !important;
}
.datePicker .el-input__inner .el-input__inner::placeholder {
color: #a3a7aa;
}
.datePicker .el-input__prefix {
position: absolute;
top: 0;
left: calc(100% - 32px);
text-align: center;
height: 100%;
color: #c0c4cc;
}
<template>
<el-upload
ref="uploadRef"
class="upload-demo w-full"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:auto-upload="false"
accept=".txt,.doc,.docx,.zip,.rar,.7z"
:limit="1"
:file-list="(modelValue && [modelValue]) || []"
@change="handleFileChange"
@remove="handleFileRemove"
>
<template #trigger>
<div class="uploadbox flex items-center justify-center">
<div>
<Icon
icon-name="iconshangchuan"
style="color: #c3c3c3; font-size: 56px"
></Icon>
<div style="font-size: 14px; font-weight: 500; color: #787d85">
上传文件
</div>
</div>
</div>
</template>
</el-upload>
</template>
<script setup lang="ts">
import { ElUpload, UploadFile, UploadFiles, useFormItem } from "element-plus";
import type { UploadInstance } from "element-plus";
import { ref } from "vue";
import Icon from "@/components/Icon/index.vue";
const uploadRef = ref<UploadInstance>();
const list = ref([]);
const props = defineProps<{
modelValue?: UploadFile;
}>();
const { formItem } = useFormItem();
const emit = defineEmits(["update:modelValue"]);
const handleFileChange = (uploadFile: UploadFile, uploadFiles: UploadFiles) => {
console.log("change", uploadFile);
emit("update:modelValue", { raw: uploadFile.raw, name: uploadFile.name });
formItem?.validate("change");
};
const handleFileRemove = () => {
console.log("remove");
emit("update:modelValue", undefined);
formItem?.validate("change");
};
const submitUpload = () => {
uploadRef.value!.submit();
};
</script>
<style lang="scss" scoped>
.upload-demo {
:deep(.el-upload-list__item-name) {
font-size: 14px;
font-weight: 400;
color: var(--sy-blue);
}
}
.uploadbox {
width: 249px;
height: 139px;
background: #f7f7f7;
border-radius: 10px;
border: 1px solid #e2e2e2;
}
</style>
<template>
<div class="addCopyRight">
<syHeaderNavBar @back="() => $router.back()" @close="() => $router.back()"
>版权申请
</syHeaderNavBar>
<ModuleContainer
class="mx-auto"
style="
margin-top: 17px;
padding-top: 60px;
padding-left: 68px;
padding-right: 68px;
"
>
<div class="title text-center" ref="titleRef">填写版权信息</div>
<div class="tip text-center">请仔细填写作品资料,审核通过后将不能修改</div>
<ElForm :model="formModel" :rules="rules" ref="formRef">
<CustomizeFormItem label="备案人" prop="filingPerson">
<sySelect
ref="selectRef"
class="w-full"
v-model="formModel.filingPerson"
placeholder="请选择备案人"
>
<syOption label="option.name" value="option.value"></syOption>
<syOption :value="1">
<div
@click.stop="handleClickAddFilingPersn"
style="color: var(--sy-blue)"
class="flex items-center"
>
<Icon iconName="icontianjialiucheng" class="mr-1"></Icon>
添加备案人
</div>
</syOption>
</sySelect>
</CustomizeFormItem>
<CustomizeFormItem label="作品名称" prop="titleOfWork">
<syDialogInput
v-model:value="formModel.titleOfWork"
class="w-full"
placeholder="请输入作品名称"
></syDialogInput>
</CustomizeFormItem>
<CustomizeFormItem label="作品类型" prop="typeOfWork">
<ElRadioGroup v-model="formModel.typeOfWork">
<syRadio label="文字">文字</syRadio>
<syRadio label="音乐">音乐</syRadio>
<syRadio label="摄影">摄影</syRadio>
<syRadio label="美术">美术</syRadio>
<syRadio label="视觉作品">视觉作品</syRadio>
<syRadio label="其他">其他</syRadio>
</ElRadioGroup>
</CustomizeFormItem>
<CustomizeFormItem label="创作类型" prop="typeOfCreation">
<syRadio label="原创" v-model="formModel.typeOfCreation"
>原创</syRadio
>
<syRadio label="改编" v-model="formModel.typeOfCreation"
>改编</syRadio
>
<syRadio label="翻译" v-model="formModel.typeOfCreation"
>翻译</syRadio
>
<syRadio label="注释" v-model="formModel.typeOfCreation"
>注释</syRadio
>
<syRadio label="整理" v-model="formModel.typeOfCreation"
>整理</syRadio
>
<syRadio label="其他" v-model="formModel.typeOfCreation"
>其他</syRadio
>
</CustomizeFormItem>
<CustomizeFormItem label="创作/制作完成日期" prop="dateOfCreation">
<ElDatePicker
class="datePicker"
v-model="formModel.dateOfCreation"
type="date"
:clearable="false"
placeholder="请选择日期"
></ElDatePicker>
</CustomizeFormItem>
<CustomizeFormItem label="创作/制作完成日期地点" prop="AddrOfCreation">
<syDialogInput
v-model:value="formModel.AddrOfCreation"
class="w-full"
placeholder="请输入创作/制作完成日期地点"
></syDialogInput
></CustomizeFormItem>
<CustomizeFormItem label="发表状态" prop="postStatus">
<syRadio label="已发表" v-model="formModel.typeOfCreation"
>已发表</syRadio
>
<syRadio label="未发表" v-model="formModel.typeOfCreation"
>未发表</syRadio
></CustomizeFormItem
>
<CustomizeFormItem label="权利取得方式" prop="wayOfObtainingPower">
<syRadio label="原始" v-model="formModel.wayOfObtainingPower"
>原始</syRadio
>
<syRadio label="继承" v-model="formModel.wayOfObtainingPower"
>继承</syRadio
>
<syRadio label="承受" v-model="formModel.wayOfObtainingPower"
>承受</syRadio
>
<syRadio label="其他" v-model="formModel.wayOfObtainingPower"
>其他</syRadio
>
<syRadio label="整理" v-model="formModel.wayOfObtainingPower"
>整理</syRadio
>
<syRadio label="其它" v-model="formModel.wayOfObtainingPower"
>其它</syRadio
>
</CustomizeFormItem>
<CustomizeFormItem label="其他备注说明" prop="remark">
<syDialogInput
v-model:value="formModel.remark"
class="w-full"
type="textarea"
placeholder="请输入其他备注说明"
rows="4"
></syDialogInput>
</CustomizeFormItem>
<CustomizeFormItem label="作品附件" prop="workAttachment">
<UploadAttachment
v-model="formModel.workAttachment"
></UploadAttachment>
<div style="font-size: 14px; font-weight: 400; color: #353535">
附件上传温馨提醒:允许上传格式为:txt,doc,docx,zip,rar,7z的文件
</div>
</CustomizeFormItem>
</ElForm>
<el-checkbox
color="var(--sy-blue)"
v-model="formModel.agreeToTheFilingStatement"
label="我同意备案申明"
@select="(v) => {}"
/>
<div style="margin-top: 31px">
<syButton
mode="elementBtn"
style="width: 113px"
type="primary"
size="large"
:disabled="!formModel.agreeToTheFilingStatement"
@click="handleSubmit"
>提交版权</syButton
>
<syButton mode="elementBtn" style="width: 113px" size="large"
>保存草稿箱</syButton
>
</div>
<div
style="font-size: 14px; font-weight: 400; color: #353535"
class="mt-[35px]"
>
<div>收费说明:</div>
<div>
本次申请将收取总费用
<span style="color: #ff6268">333积分(30元)</span>
</div>
<div>
其中作品备案费<span style="color: #ff6268">333积分(30元)</span>
,文件存储费 <span style="color: #ff6268">0积分</span>
</div>
<div>备案申明:</div>
<div>
我为上述作品的申请人,拥有上述作品根据《中华人民共和国著作权法》所规定的权利,我保证以上作品及其内容绝不违反现行有关法律、法规的相关规定。如有不实或发现有侵犯他人著作权的行为,我承担由此引起的一切法律责任。特此声明。
</div>
</div>
</ModuleContainer>
</div>
</template>
<script setup lang="ts">
import {
syHeaderNavBar,
syRadio,
sySelect,
syOption,
syDialogInput,
syButton,
} from "cqk-sy-ui";
import ModuleContainer from "@/components/ModuleContainer/index.vue";
import {
ElForm,
ElInput,
ElDatePicker,
ElCheckbox,
ElRadioGroup,
UploadFile,
} from "element-plus";
import { ref } from "vue";
import Icon from "@/components/Icon/index.vue";
import CustomizeFormItem from "@/components/Form/CustomizeFormItem.vue";
import UploadAttachment from "./components/UploadAttachment/index.vue";
const formRef = ref<InstanceType<typeof ElForm>>();
const formModel = ref({
filingPerson: "",
titleOfWork: "",
typeOfWork: "",
typeOfCreation: "",
dateOfCreation: undefined as undefined | number,
AddrOfCreation: "",
postStatus: "",
wayOfObtainingPower: "",
remark: "",
workAttachment: { name: "hah" } as UploadFile | undefined,
agreeToTheFilingStatement: false,
});
const rules = ref({
filingPerson: [{ required: true, message: "请选择备案人" }],
titleOfWork: [{ required: true, message: "请输入作品名称" }],
typeOfWork: [{ required: true, message: "请选择作品类型" }],
typeOfCreation: [{ required: true, message: "请输入创作类型" }],
dateOfCreation: [{ required: true, message: "请选择日期" }],
AddrOfCreation: [{ required: true, message: "请输入创作/制作完成日期地点" }],
postStatus: [{ required: true, message: "请选择发表状态" }],
wayOfObtainingPower: [{ required: true, message: "" }],
remark: [],
workAttachment: [{ required: true, message: "请上传文件" }],
agreeToTheFilingStatement: [],
});
const selectRef = ref();
function handleClickAddFilingPersn() {
selectRef.value.blur();
}
const handleSubmit = () => {
formRef.value?.validate((isValid) => {
if (isValid) {
}
});
};
</script>
<style lang="scss" scoped>
.addCopyRight {
.title {
font-size: 30px;
font-weight: 600;
color: #191919;
line-height: 42px;
}
.tip {
font-size: 14px;
font-weight: 400;
color: #ababab;
}
}
</style>
......@@ -102,7 +102,6 @@ import {
GO_URLS,
syHeaderNavBar,
syScrollBar,
syTraceProofEdit,
syButton,
syBusinessIncreaseProofDialog,
} from "cqk-sy-ui";
......
......@@ -241,31 +241,4 @@ defineExpose({
.file {
--sy-gray-text: #787d85;
}
:deep(.datePicker) {
width: 100%;
flex-shrink: 0;
.el-input__inner {
padding-left: 18px !important;
height: 36px;
color: var(--sy-black);
&:hover {
box-shadow: 0 0 0 1px #c4c4c4 inset;
}
&:focus {
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color))
inset !important;
}
.el-input__inner::placeholder {
color: #a3a7aa;
}
}
.el-input__prefix {
position: absolute;
top: 0;
left: calc(100% - 32px);
text-align: center;
height: 100%;
color: #c0c4cc;
}
}
</style>
......@@ -8,25 +8,32 @@
>
<template #currentStatusCell="slotProps">
<div class="flex items-center">
<ApproveStatus :type="eStatus.approved"></ApproveStatus>
<HoverShowReason
<ApproveStatus :type="eStatus.RECORD_SUCCESS"></ApproveStatus>
<!-- <HoverShowReason
:rowData="slotProps"
v-if="
eStatus.rejected === slotProps.status ||
eStatus.platformDismissed === slotProps.status
"
></HoverShowReason>
></HoverShowReason> -->
</div>
</template>
<template #currentStatusHeader>
<div class="flex items-center">
当前状态
<Icon1
v-if="showStateFilterIcon"
icon-name="iconlujingbeifen1"
class="cursor-pointer ml-1"
@click="handleClickCurrentStatusTableHeader"
></Icon1></div
<syMoreOperate
:teleport="true"
:list="operateListOfStatus"
@click-item="(value) => handleClickCurrentStatusTableHeader(value)"
:margin-left="-10"
>
<Icon1
v-if="showStateFilterIcon"
icon-name="iconlujingbeifen1"
class="cursor-pointer ml-1"
@click="handleClickCurrentStatusTableHeader"
></Icon1>
</syMoreOperate></div
></template>
<template #operate="slotProps">
<syMoreOperate
......@@ -51,7 +58,12 @@ import Icon1 from "@/components/Icon/index.vue";
import { tableColumns } from "./table";
import { syMoreOperate } from "cqk-sy-ui";
import { ref } from "vue";
import { eStatus } from "@/components/ApproveStatus/status";
import {
eStatus,
NOT_PASSED,
RECORD_SUCCESS,
WAITING_CHECK,
} from "@/components/ApproveStatus/status";
import { mappingFromStatusToOperate } from "./statusMapping";
import ApproveStatus from "@/components/ApproveStatus/index.vue";
import HoverShowReason from "./HoverShowReason.vue";
......@@ -63,7 +75,17 @@ defineProps<{
showStateFilterIcon?: boolean;
}>();
const emit = defineEmits(["scrollToEnd"]);
const emit = defineEmits<{
(e: "scrollToEnd"): void;
(
e: "clickOperate",
payload: {
type: Exclude<eStatus, eStatus.ALL>;
raw: any;
}
): void;
(e: "clickStatusFilter", payload: eStatus): void;
}>();
const tableRef = ref<InstanceType<typeof Table>>();
......@@ -72,19 +94,56 @@ useTableScrollListener(tableRef, () => {
});
const getOperateList = (slotProps: any) => {
const status: Exclude<eStatus, eStatus.all> =
slotProps.status || eStatus.agree;
const status: Exclude<eStatus, eStatus.ALL> = slotProps.status;
return mappingFromStatusToOperate[status].map((i) => ({
name: i,
value: i,
}));
};
const handleClickItem = (value: any, slotProps: any) => {
console.log(value, slotProps, "show value");
const handleClickItem = (
value: Exclude<eStatus, eStatus.ALL>,
slotProps: any
) => {
emit("clickOperate", {
type: value,
raw: slotProps,
});
switch (value) {
case eStatus.NOT_PASSED:
break;
case eStatus.RECORD_SUCCESS:
break;
case eStatus.WAITING_CHECK:
break;
case eStatus.WAITING_SUBMIT:
break;
}
};
const handleClickCurrentStatusTableHeader = () => {};
const operateListOfStatus = [
{
name: WAITING_CHECK.label,
value: WAITING_CHECK.value,
},
{
name: RECORD_SUCCESS.label,
value: RECORD_SUCCESS.value,
},
{
name: NOT_PASSED.label,
value: NOT_PASSED.value,
},
{
name: "所有状态",
value: eStatus.ALL,
},
];
const handleClickCurrentStatusTableHeader = (v: eStatus) => {
emit("clickStatusFilter", v);
};
</script>
<style></style>
......@@ -29,7 +29,11 @@
style="width: 113px"
mode="elementBtn"
size="large"
@click="copyRightNotifyVisible = true"
@click="
$router.push({
name: 'addCopyRight',
})
"
type="primary"
>添加版权</syButton
>
......@@ -89,7 +93,7 @@ const menuList = [
},
];
const activedMenu = ref(eTableTab.going);
const currentStatusForGoing = ref(eStatus.all); // 进行中的表格的状态
const currentStatusForGoing = ref(eStatus.NOT_PASSED); // 进行中的表格的状态
const fetchTableData = ({
page,
......@@ -114,7 +118,7 @@ const fetchTableData = ({
.split("")
.map((i, index) => ({
name: index + (page - 1) * page_size + currentStatus,
status: eStatus.rejected,
status: eStatus.RECORD_SUCCESS,
address: searchValue.value,
})),
});
......@@ -147,7 +151,7 @@ const {
loading: loadingForEnd,
refetch: refetchForEnd,
} = useTableData({
fetchData: generateFetchTableData(() => eStatus.approved),
fetchData: generateFetchTableData(() => eStatus.NOT_PASSED),
});
const refetchDebounce = debounce(() => {
......
import { eStatus } from "./../../components/ApproveStatus/status";
import { eStatus } from "../../components/ApproveStatus/status";
import { eOperate } from "./types";
export const mappingFromStatusToOperate = {
[eStatus.platformVerification]: [eOperate.withdraw],
[eStatus.withdrawn]: [eOperate.edit, eOperate.delete],
[eStatus.platformDismissed]: [eOperate.edit, eOperate.delete],
[eStatus.submitReview]: [eOperate.seeDetails],
[eStatus.platformNotSubmitted]: [eOperate.seeDetails],
[eStatus.pendingReview]: [eOperate.seeDetails],
[eStatus.agree]: [eOperate.seeDetails],
[eStatus.rejected]: [eOperate.edit, eOperate.delete],
[eStatus.submitted]: [eOperate.seeDetails],
[eStatus.pendingFinalReview]: [eOperate.seeDetails],
[eStatus.approved]: [eOperate.viewCertificates, eOperate.seeDetails],
[eStatus.WAITING_SUBMIT]: [
eOperate.seeDetails,
eOperate.edit,
eOperate.delete,
],
[eStatus.WAITING_CHECK]: [eOperate.seeDetails],
[eStatus.RECORD_SUCCESS]: [
eOperate.seeDetails,
eOperate.viewCertificates,
eOperate.downloadCertificates,
],
[eStatus.NOT_PASSED]: [eOperate.seeDetails, eOperate.delete],
};
......@@ -4,9 +4,10 @@ export enum eTableTab {
}
export enum eOperate {
withdraw = "撤销", // 撤销
edit = "编辑", // 编辑
delete = "删除", // 删除
seeDetails = "查看详情", // 查看详情
viewCertificates = "查看证书", // 查看证书
withdraw = "撤销",
edit = "编辑",
delete = "删除",
seeDetails = "查看详情",
viewCertificates = "查看证书",
downloadCertificates = "下载tsa证书",
}
......@@ -38,13 +38,7 @@
<script setup lang="ts">
import { onMounted, ref } from "vue";
import {
GO_URLS,
syHeaderNavBar,
syScrollBar,
syTraceProofEdit,
syButton,
} from "cqk-sy-ui";
import { GO_URLS, syHeaderNavBar, syScrollBar, syButton } from "cqk-sy-ui";
import { useRoute } from "vue-router";
import { router } from "@/router";
import { $ajax } from "@/service";
......
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