diff --git a/package.json b/package.json index be15904..c07e210 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,11 @@ "devDependencies": { "@vitejs/plugin-vue": "2.3.3", "@vue/compiler-sfc": "3.2.36", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.26", "prettier": "^2.8.8", "sass": "1.52.1", + "tailwindcss": "^3.3.3", "unplugin-auto-import": "0.8.5", "vite": "2.9.16", "vite-plugin-compression": "0.5.1", diff --git a/src/assets/styles/tailwindcss.css b/src/assets/styles/tailwindcss.css new file mode 100644 index 0000000..e69de29 diff --git a/src/i18n/message.js b/src/i18n/message.js index f5953a9..413f39c 100644 --- a/src/i18n/message.js +++ b/src/i18n/message.js @@ -7,29 +7,15 @@ import activity_zh from "@/i18n/message/activity/zh"; import { admin_zh, admin_ru } from "@/i18n/message/admin"; import { routes_ru, routes_zh } from "@/i18n/message/routes"; import { tagsView_ru, tagsView_zh } from "@/i18n/message/tagsView"; +import common_zh from "@/i18n/message/common/zh"; +import common_ru from "@/i18n/message/common/ru"; const messages = { zh: { admin: admin_zh, routes: routes_zh, tagsView: tagsView_zh, - common: { - home: "首页", - search: "搜索", - viewDetails: "查看详情", - systemPrompt: "系统提示", - confirm: "确定", - cancel: "取消", - register: "注册", - login: "登录", - viewMore: "查看更多", - loadMore: "加载更多", - noData: "暂无数据", - complete: "完成", - congratulations: "恭喜你", - title: "数字科创大脑", - status: "{type}状态", - }, + common: common_zh, headerMenu: { hello: "你好,世界", home: "首页", @@ -150,23 +136,7 @@ const messages = { admin: admin_ru, routes: routes_ru, tagsView: tagsView_ru, - common: { - home: "Главная", - search: "Поиск", - viewDetails: "Просмотреть детали", - systemPrompt: "Системное сообщение", - confirm: "Подтвердить", - cancel: "Отмена", - register: "Регистрация", - login: "Войти в систему", - viewMore: "Просмотреть больше", - loadMore: "Загрузить больше", - noData: "Нет данных", - complete: "Завершить", - congratulations: "Поздравляем!", - title: "Цифровой мозг науки и технологий", - status: "Статус {type}", - }, + common: common_ru, headerMenu: { hello: "Привет мир", home: "Главная", diff --git a/src/i18n/message/admin/broker/ru.js b/src/i18n/message/admin/broker/ru.js new file mode 100644 index 0000000..5b42e0c --- /dev/null +++ b/src/i18n/message/admin/broker/ru.js @@ -0,0 +1,5 @@ +const broker = { + // 保存当前步骤 + saveCurrentStep: "Сохранить текущий шаг", +}; +export default broker; diff --git a/src/i18n/message/admin/broker/zh.js b/src/i18n/message/admin/broker/zh.js new file mode 100644 index 0000000..baffbea --- /dev/null +++ b/src/i18n/message/admin/broker/zh.js @@ -0,0 +1,5 @@ +const broker = { + // 保存当前步骤 + saveCurrentStep: "保存当前步骤", +}; +export default broker; diff --git a/src/i18n/message/admin/common/ru.js b/src/i18n/message/admin/common/ru.js index 3c251e3..890ec00 100644 --- a/src/i18n/message/admin/common/ru.js +++ b/src/i18n/message/admin/common/ru.js @@ -1,4 +1,5 @@ const common = { + view: "Посмотреть", add: "Добавить", edit: "Редактировать", delete: "Удалить", @@ -11,7 +12,6 @@ const common = { export: "Экспорт", operation: "Операция", dataNumber: "Номер данных", - // 类型 type: "Тип", expert: "Эксперт", lab: "Лаборатория", @@ -20,14 +20,20 @@ const common = { patent: "Патент", research: "Исследовательский институт", broker: "Брокер", - // 需求 demand: "Спрос", - // 科研项目 + // 论文 + paper: "Статья", researchProject: "Научно-исследовательский проект", - // 设备 equipment: "Оборудование", - // 活动 activity: "Мероприятие", + nextStep: "Следующий шаг", + addSuccess: "Добавлено успешно", + editSuccess: "Изменено успешно", + deleteSuccess: "Удалено успешно", + operationSuccess: "Операция выполнена успешно", + // 是否确认{action}编号为{number}的{type}? + confirmAction: "Вы уверены, что хотите {action} {type} номер {number}?", + // Вы уверены, что хотите {action} {type} номер {number}? }; export default common; diff --git a/src/i18n/message/admin/common/zh.js b/src/i18n/message/admin/common/zh.js index 8dc1090..ddfa268 100644 --- a/src/i18n/message/admin/common/zh.js +++ b/src/i18n/message/admin/common/zh.js @@ -1,4 +1,5 @@ const common = { + view: "查看", add: "新增", edit: "编辑", delete: "删除", @@ -11,7 +12,6 @@ const common = { export: "导出", operation: "操作", dataNumber: "数据编号", - // 类型 type: "类型", expert: "专家", lab: "实验室", @@ -20,14 +20,19 @@ const common = { patent: "专利", research: "研究机构", broker: "经纪人", - // 需求 demand: "需求", - // 科研项目 + // 论文 + paper: "论文", researchProject: "科研项目", - // 设备 equipment: "设备", - // 活动 activity: "活动", + nextStep: "下一步", + addSuccess: "添加成功", + editSuccess: "修改成功", + deleteSuccess: "删除成功", + operationSuccess: "操作成功", + // 是否确认{action}编号为{number}的{type}? + confirmAction: "是否确认{action}编号为{number}的{type}?", }; export default common; diff --git a/src/i18n/message/admin/company/table/zh.js b/src/i18n/message/admin/company/table/zh.js deleted file mode 100644 index ef3baa7..0000000 --- a/src/i18n/message/admin/company/table/zh.js +++ /dev/null @@ -1,4 +0,0 @@ -const table = { - // 数据编号 - dataId: "数据编号", -}; diff --git a/src/i18n/message/admin/form/ru.js b/src/i18n/message/admin/form/ru.js index dea4b44..6088215 100644 --- a/src/i18n/message/admin/form/ru.js +++ b/src/i18n/message/admin/form/ru.js @@ -1,7 +1,7 @@ const form = { address: "Подробный адрес", basicInfo: "Основная информация", - data: "{type}Данные", + data: "{type} Данные", basicData: "Основные данные", businessLicense: "Бизнес-лицензия", fullName: "Полное имя", @@ -19,15 +19,33 @@ const form = { placeholder: "Пожалуйста, введите {type}", pleaseSelect: "Пожалуйста, выберите {type}", researchDirection: "Направление исследований", - // 合作企业 cooperationCompany: "Компания сотрудничества", - // 银行 bank: "Банк", - // 产品 product: "Продукт", - // 联系人 contact: "Контакт", - // 类别 - category: "{type} Категория", + category: "Категория {type}", + keywords: "Ключевые слова", + inputKeywords: + "Ключевые слова сценария применения + ключевые слова технического продукта", + coreMembers: "Основные члены и их краткое описание", + idCard: "Номер удостоверения личности", + topicLeader: "Руководитель проекта", + paperTitle: "Название статьи", + belongExpert: "Принадлежит эксперту", + publishDate: "Дата публикации", + publication: "Публикация", + buyDate: "Дата покупки", + model: "Модель", + achievementParameter: "Параметр достижения", + // 设备描述 + deviceDescription: "Описание оборудования", + // 发明人 + inventor: "Изобретатель", + // 需求联系人 + demandContact: "Контактное лицо по потребностям", + // 联系人手机号 + contactPhone: "Номер мобильного телефона контактного лица", + // 申请日期 + applicationDate: "Дата подачи заявки", }; export default form; diff --git a/src/i18n/message/admin/form/zh.js b/src/i18n/message/admin/form/zh.js index 37e4c1e..82cd1e5 100644 --- a/src/i18n/message/admin/form/zh.js +++ b/src/i18n/message/admin/form/zh.js @@ -19,16 +19,33 @@ const form = { placeholder: "请输入{type}", pleaseSelect: "请选择{type}", researchDirection: "研究方向", - // 合作企业 cooperationCompany: "合作企业", - // 银行 bank: "银行", - // 产品 product: "产品", - // 联系人 contact: "联系人", - // 类别 category: "{type}类别", + keywords: "关键词", + inputKeywords: "应用场景关键词+技术产品关键词", + coreMembers: "核心成员及简介", + idCard: "身份证号", + topicLeader: "课题负责人", + paperTitle: "论文标题", + belongExpert: "所属专家", + publishDate: "出版日期", + publication: "刊物", + buyDate: "购买日期", + model: "型号", + achievementParameter: "成果参数", + // 设备描述 + deviceDescription: "设备描述", + // 发明人 + inventor: "发明人", + // 需求联系人 + demandContact: "需求联系人", + // 联系人手机号 + contactPhone: "联系人手机号", + // 申请日期 + applicationDate: "申请日期", }; export default form; diff --git a/src/i18n/message/admin/index.js b/src/i18n/message/admin/index.js index 8d9dd92..7c75080 100644 --- a/src/i18n/message/admin/index.js +++ b/src/i18n/message/admin/index.js @@ -4,6 +4,10 @@ import common_zh from "./common/zh"; import common_ru from "./common/ru"; import form_zh from "./form/zh"; import form_ru from "./form/ru"; +import broker_zh from "./broker/zh"; +import broker_ru from "./broker/ru"; +import table_zh from "./table/zh"; +import table_ru from "./table/ru"; export const admin_zh = { identity: { @@ -11,6 +15,8 @@ export const admin_zh = { }, common: common_zh, form: form_zh, + broker: broker_zh, + table: table_zh, }; export const admin_ru = { identity: { @@ -18,4 +24,6 @@ export const admin_ru = { }, common: common_ru, form: form_ru, + broker: broker_ru, + table: table_ru, }; diff --git a/src/i18n/message/admin/lab/table/ru.js b/src/i18n/message/admin/lab/table/ru.js deleted file mode 100644 index d8f36a0..0000000 --- a/src/i18n/message/admin/lab/table/ru.js +++ /dev/null @@ -1,9 +0,0 @@ -const table = { - operation: "Операция", - dataId: "Номер данных", - patentName: "Название патента", - patentNumber: "Номер заявки", - inventor: "Изобретатель", - applicant: "Заявитель (владелец патента)", - applicationDate: "Дата подачи заявки", -}; diff --git a/src/i18n/message/admin/lab/table/zh.js b/src/i18n/message/admin/lab/table/zh.js deleted file mode 100644 index a7330eb..0000000 --- a/src/i18n/message/admin/lab/table/zh.js +++ /dev/null @@ -1,11 +0,0 @@ -const table = { - operation: "操作", - dataId: "数据编号", - patentName: "专利名称", - patentNumber: "申请号", - inventor: "发明人", - applicant: "申请(专利权)人", - applicationDate: "申请日期", -}; - -export default table; diff --git a/src/i18n/message/admin/table/ru.js b/src/i18n/message/admin/table/ru.js new file mode 100644 index 0000000..118d8dc --- /dev/null +++ b/src/i18n/message/admin/table/ru.js @@ -0,0 +1,20 @@ +const table = { + // 入驻时间 + enterTime: "Время входа", + // 研究领域 + researchIndustry: "Область исследований", + // 关联专家 + relatedExperts: "Связанные эксперты", + // 发布时间 + publishTime: "Время публикации", + // 课题角色 + topicRole: "Роль темы", + // 成果领域 + achievementIndustry: "Область достижений", + // 取消关联 + cancelRelation: "Отменить связь", + // 取消发布 + cancelPublish: "Отменить публикацию", +}; + +export default table; diff --git a/src/i18n/message/admin/table/zh.js b/src/i18n/message/admin/table/zh.js new file mode 100644 index 0000000..65be94d --- /dev/null +++ b/src/i18n/message/admin/table/zh.js @@ -0,0 +1,19 @@ +const table = { + // 入驻时间 + enterTime: "入驻时间", + // 研究领域 + researchIndustry: "研究领域", + // 关联专家 + relatedExperts: "关联专家", + // 发布时间 + publishTime: "发布时间", + // 课题角色 + topicRole: "课题角色", + // 成果领域 + achievementIndustry: "成果领域", + // 取消关联 + cancelRelation: "取消关联", + // 取消发布 + cancelPublish: "取消发布", +}; +export default table; diff --git a/src/i18n/message/common/ru.js b/src/i18n/message/common/ru.js new file mode 100644 index 0000000..58714dc --- /dev/null +++ b/src/i18n/message/common/ru.js @@ -0,0 +1,18 @@ +const common = { + home: "Главная", + search: "Поиск", + viewDetails: "Просмотреть детали", + systemPrompt: "Системное сообщение", + confirm: "Подтвердить", + cancel: "Отмена", + register: "Регистрация", + login: "Войти", + viewMore: "Просмотреть больше", + loadMore: "Загрузить больше", + noData: "Нет данных", + complete: "Завершить", + congratulations: "Поздравляем", + title: "Цифровой мозг науки и технологий", + status: "{type} статус", +}; +export default common; diff --git a/src/i18n/message/common/zh.js b/src/i18n/message/common/zh.js index 8890fcb..a3321ae 100644 --- a/src/i18n/message/common/zh.js +++ b/src/i18n/message/common/zh.js @@ -1,4 +1,5 @@ export const common = { + home: "首页", search: "搜索", viewDetails: "查看详情", systemPrompt: "系统提示", @@ -11,6 +12,8 @@ export const common = { noData: "暂无数据", complete: "完成", congratulations: "恭喜你", + title: "数字科创大脑", + status: "{type}状态", }; export default common; diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..b28b04f --- /dev/null +++ b/src/index.css @@ -0,0 +1,3 @@ + + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index c6f8fed..1517189 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -57,6 +57,9 @@ {{ t("headerMenu.switchSystem") }} + + 修改头像 + {{ // ru zh @@ -80,6 +83,7 @@ + @@ -91,17 +95,20 @@ import Hamburger from "@/components/Hamburger"; import Screenfull from "@/components/Screenfull"; import SizeSelect from "@/components/SizeSelect"; import HeaderSearch from "@/components/HeaderSearch"; +import UserAvatar from "@/views/system/user/profile/userAvatar.vue"; import RuoYiGit from "@/components/RuoYi/Git"; import RuoYiDoc from "@/components/RuoYi/Doc"; import useAppStore from "@/store/modules/app"; import useUserStore from "@/store/modules/user"; import useSettingsStore from "@/store/modules/settings"; import { useI18n } from "vue-i18n"; +import { ref } from "vue"; const appStore = useAppStore(); const userStore = useUserStore(); const settingsStore = useSettingsStore(); const { t, locale } = useI18n(); +const avatarRef = ref(); function toggleSideBar() { appStore.toggleSideBar(); @@ -118,6 +125,9 @@ function handleCommand(command) { case "setLocale": settingsStore.toggleLocale(); break; + case "setAvatar": + avatarRef.value.editCropper(); + break; default: break; } @@ -232,4 +242,8 @@ function setLayout() { } } } + +:deep(.user-info-head) { + visibility: hidden; +} diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue index b1aff55..235141a 100644 --- a/src/layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem.vue @@ -16,14 +16,22 @@ :class="{ 'submenu-title-noDropdown': !isNest }" >