Browse Source

优化内容

ai_dev
zhouhaibin 2 months ago
parent
commit
6d6a814d09
  1. 4
      src/views/contractReview/ContractualTasks/ContractualTasks.data.ts
  2. 2
      src/views/documentReview/DocumentTasks/DocsDrawer.vue
  3. 2
      src/views/workbench/components/WorkbenchHeader.vue
  4. 118
      src/views/workbench/components/data.ts
  5. 115
      src/views/workbench/index.vue

4
src/views/contractReview/ContractualTasks/ContractualTasks.data.ts

@ -71,7 +71,7 @@ export const columns: BasicColumn[] = [
customRender: ({ value }) => renderDict(value, 'model_industry'),
},
{
title: '合同角色',
title: '审查立场',
dataIndex: 'contractPartyRole',
},
{
@ -128,7 +128,7 @@ export const modalSchemas: FormSchema[] = [
},
},
{
label: '合同角色',
label: '审查立场',
field: 'contractPartyRole',
required: true,
component: 'Select',

2
src/views/documentReview/DocumentTasks/DocsDrawer.vue

@ -27,7 +27,7 @@
const type = ref<string>('markdown');
const MarkdownViewerkeynum = ref<number>(0);
const iframeKey = ref<number>(10);
const drawerWidth = useMaxWidthOrDefault(800);
const drawerWidth = useMaxWidthOrDefault(1000);
const textvalue = ref<string>(text);
const [registerDrawer] = useDrawerInner(init);
// 'light' | 'dark'

2
src/views/workbench/components/WorkbenchHeader.vue

@ -2,7 +2,7 @@
<div class="lg:flex">
<Avatar :src="userinfo.avatar || headerImg" :size="72" class="!mx-auto !block" />
<div class="md:ml-6 flex flex-col justify-center md:mt-0 mt-2">
<h1 class="md:text-lg text-md">早安, {{ userinfo.nickName }}, 开始您一天的工作吧</h1>
<h1 class="md:text-lg text-md">您好, {{ userinfo.nickName }}, 欢迎回来</h1>
<!-- <span class="text-secondary"> 今日晴20 - 32 </span> -->
</div>
<div class="flex flex-1 justify-end md:mt-0 mt-4">

118
src/views/workbench/components/data.ts

@ -1,4 +1,4 @@
import { TaskType, SchemeTask, ContractTask, SchemeEvaluation } from '@/enums/taskEnum';
import { TaskType, SchemeTask, ContractTask, SchemeEvaluation,TenderTask } from '@/enums/taskEnum';
interface GroupItem {
title: string;
@ -62,19 +62,66 @@ export const navItems: NavItem[] = [
key: SchemeTask.COMPANY_CHECK.value,
},
];
export const documentNavItems: NavItem[] = [
{
title: SchemeTask.DOCUMENT_SIMILARITY.label,
icon: SchemeTask.DOCUMENT_SIMILARITY.icon,
color: SchemeTask.DOCUMENT_SIMILARITY.color,
key: SchemeTask.DOCUMENT_SIMILARITY.value,
},
{
title: SchemeTask.DOCUMENT_ERROR.label,
icon: SchemeTask.DOCUMENT_ERROR.icon,
color: SchemeTask.DOCUMENT_ERROR.color,
key: SchemeTask.DOCUMENT_ERROR.value,
},
{
title: SchemeTask.PLACE_CHECK.label,
icon: SchemeTask.PLACE_CHECK.icon,
color: SchemeTask.PLACE_CHECK.color,
key: SchemeTask.PLACE_CHECK.value,
},
{
title: SchemeTask.TITLE_CHECK.label,
icon: SchemeTask.TITLE_CHECK.icon,
color: SchemeTask.TITLE_CHECK.color,
key: SchemeTask.TITLE_CHECK.value,
},
{
title: SchemeTask.COMPANY_CHECK.label,
icon: SchemeTask.COMPANY_CHECK.icon,
color: SchemeTask.COMPANY_CHECK.color,
key: SchemeTask.COMPANY_CHECK.value,
},
{
title: SchemeEvaluation.SCHEME_EVALUATION.label,
icon: SchemeEvaluation.SCHEME_EVALUATION.icon,
color: SchemeEvaluation.SCHEME_EVALUATION.color,
key: SchemeEvaluation.SCHEME_EVALUATION.value,
},
];
// 导航项配置
export const contractNavItems: NavItem[] = [
{
title: ContractTask.CONTRACT_REVIEW.label,
icon: ContractTask.CONTRACT_REVIEW.icon,
color: ContractTask.CONTRACT_REVIEW.color,
key: ContractTask.CONTRACT_REVIEW.value,
},
];
// 导航项配置
export const tenderNavItems: NavItem[] = [
{
title: TenderTask.TENDER_SUMMARY.label,
icon: TenderTask.TENDER_SUMMARY.icon,
color: TenderTask.TENDER_SUMMARY.color,
key: TenderTask.TENDER_SUMMARY.value,
},
];
export const dynamicInfoItems: DynamicInfoItem[] = [];
// 分组项配置
export const groupItems: GroupItem[] = [
// {
// title: '方案生成',
// icon: 'solar:document-add-bold-duotone',
// key: 'solutionGenerate',
// color: '#52C41A',
// style:"!md:w-1/3 !w-full"
// },
{
title: TaskType.SCHEME_REVIEW.label,
icon: TaskType.SCHEME_REVIEW.icon,
@ -118,23 +165,46 @@ export const groupItems: GroupItem[] = [
// style:"!md:w-1/3 !w-full bg-red-50"
// },
{
title: '公文审核',
icon: 'mdi:file-document-check',
key: 'documentTranslate',
color: '#722ED1',
style:"background-color: #CECECE;",
path:"",
];
export const documentGroupItems: GroupItem[] = [
{
title: TaskType.SCHEME_REVIEW.label,
icon: TaskType.SCHEME_REVIEW.icon,
key: TaskType.SCHEME_REVIEW.value,
color: TaskType.SCHEME_REVIEW.color,
style:"",
path:TaskType.SCHEME_REVIEW.path,
},
{
title: TaskType.PROJECT_DOCUMENT_REVIEW.label,
icon: TaskType.PROJECT_DOCUMENT_REVIEW.icon,
key: TaskType.PROJECT_DOCUMENT_REVIEW.value,
color: TaskType.PROJECT_DOCUMENT_REVIEW.color,
style:"background-color: #CECECE;",
path:TaskType.PROJECT_DOCUMENT_REVIEW.path,
title: TaskType.SCHEME_EVALUATION.label,
icon: TaskType.SCHEME_EVALUATION.icon,
key: TaskType.SCHEME_EVALUATION.value,
color: TaskType.SCHEME_EVALUATION.color,
style:"",
path:TaskType.SCHEME_EVALUATION.path,
},
];
export const contractGroupItems: GroupItem[] = [
{
title: TaskType.CONTRACT_REVIEW.label,
icon: TaskType.CONTRACT_REVIEW.icon,
key: TaskType.CONTRACT_REVIEW.value,
color: TaskType.CONTRACT_REVIEW.color,
style:"",
path:TaskType.CONTRACT_REVIEW.path,
},
];
export const tenderGroupItems: GroupItem[] = [
{
title: TaskType.TENDER_REVIEW.label,
icon: TaskType.TENDER_REVIEW.icon,
key: TaskType.TENDER_REVIEW.value,
color: TaskType.TENDER_REVIEW.color,
style:"",
path:TaskType.TENDER_REVIEW.path,
},
];

115
src/views/workbench/index.vue

@ -1,51 +1,24 @@
<template>
<PageWrapper>
<template #headerContent> <WorkbenchHeader /> </template>
<div class="workbench">
<div class="h-1/4">
<div class="grid grid-cols-5 gap-4">
<div class="col-span-3 h-full">
<ProjectCard :loading="loading" class="enter-y" />
</div>
<div class="col-span-2 h-full">
<QuickNav :loading="loading" class="enter-y" />
</div>
</div>
<div class="h-1/2 mt-4">
<Card title="任务看板" :bordered="false" style="width: 100%; height: 100%">
<template #extra>
<!-- 将按钮改为下拉菜单 -->
<Dropdown>
<a-button>
更多
<DownOutlined />
</a-button>
<template #overlay>
<Menu @click="handleMenuClick" mode="vertical">
<MenuItem v-for="item in groupItems"
:key="item.path"
>
{{ item.title }}
</MenuItem>
</Menu>
</template>
</Dropdown>
</template>
<PageWrapper dense>
<div class="parent-test">
<CanvasEditor
ref="canvasEditor"
:parentContent="parentContent"
:view="view"
@save-content="handleSaveCanvasEditorContent"
/>
<DocumentTasksTable
:show-table-setting="false"
:show-toolbar="false"
:use-search-form="false"
:pagination="false"
/>
</Card>
</div>
</div>
</div>
</PageWrapper>
<button
style="width: 80px; height: 40px; border: 2px solid #2b4b6b; margin-right: 20px; float: right"
@click="handleSaveContent"
>
</button>
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { ref, onMounted } from 'vue';
import { ref, onMounted,reactive } from 'vue';
import { PageWrapper } from '@/components/Page';
import WorkbenchHeader from './components/WorkbenchHeader.vue';
import { Card, Dropdown, Menu, MenuItem } from 'ant-design-vue';
@ -55,6 +28,60 @@
import { useRouter } from 'vue-router';
import { DownOutlined, UserOutlined } from '@ant-design/icons-vue';
import { groupItems } from './components/data';
import CanvasEditor from '@/views/CanvasEditor/index.vue';
//
let parentContent = reactive<any>(undefined);
//
const content = ref<any>(undefined);
//
const view = ref<string | undefined>(undefined);
//
onMounted(() => {
console.log("模拟父组件向后端请求数据, 传递给子组件");
getEditorContent();
view.value = "parent";
});
//
const getEditorContent = () => {
parentContent={
header: [
{
value: "父类传递的数据",
size: 12,
bold: false,
color: "rgb(33, 53, 71)",
italic: false,
},
],
main: [
{
value: "父类传递的数据 通过后端获取!\n甲方:企查查科技股份有限公司\n法定代表人:陈德强\n住所:苏州工业园区科创东区东石泾港路2号润港产业园6号楼10层1001室11",
size: 40,
bold: true,
},
],
};
};
//
const canvasEditor = ref<InstanceType<typeof CanvasEditor> | null>(null);
//
const handleSaveContent = () => {
// 访
(canvasEditor.value as any).saveContent();
};
//
const handleSaveCanvasEditorContent = (data: any) => {
console.log("从子组件接收到的数据:", data);
// data json , 便
content.value = JSON.stringify(data);
console.log("转换后的数据 content 为: ", content.value);
};
const router = useRouter();
//

Loading…
Cancel
Save