fix
This commit is contained in:
@ -1,8 +1,11 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 中科云
|
||||
VITE_APP_TITLE=中科云
|
||||
|
||||
# 开发环境配置
|
||||
VITE_APP_ENV = 'development'
|
||||
VITE_APP_ENV='development'
|
||||
|
||||
# 若依管理系统/开发环境
|
||||
VITE_APP_BASE_API = '/dev-api'
|
||||
VITE_APP_BASE_API='/dev-api'
|
||||
|
||||
# i18n语言
|
||||
VITE_APP_I18N_LOCALE='zh_CN'
|
||||
|
@ -1,11 +1,14 @@
|
||||
# 页面标题
|
||||
VITE_APP_TITLE = 中科云
|
||||
VITE_APP_TITLE=中科云
|
||||
|
||||
# 生产环境配置
|
||||
VITE_APP_ENV = 'production'
|
||||
VITE_APP_ENV='production'
|
||||
|
||||
# 若依管理系统/生产环境
|
||||
VITE_APP_BASE_API = '/api'
|
||||
VITE_APP_BASE_API='/api'
|
||||
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
VITE_BUILD_COMPRESS = gzip
|
||||
VITE_BUILD_COMPRESS=gzip
|
||||
|
||||
# i18n
|
||||
VITE_APP_I18N_LOCALE=zh_CN
|
@ -8,4 +8,7 @@ VITE_APP_ENV = 'staging'
|
||||
VITE_APP_BASE_API = '/stage-api'
|
||||
|
||||
# 是否在打包时开启压缩,支持 gzip 和 brotli
|
||||
VITE_BUILD_COMPRESS = gzip
|
||||
VITE_BUILD_COMPRESS = gzip
|
||||
|
||||
# i18n语言
|
||||
VITE_APP_I18N_LOCALE='zh_CN'
|
@ -15,18 +15,22 @@
|
||||
ref="upload"
|
||||
>
|
||||
<!-- 上传按钮 -->
|
||||
<el-button type="primary">选取文件</el-button>
|
||||
<el-button type="primary">
|
||||
{{ t("common.selectFile") }}
|
||||
</el-button>
|
||||
</el-upload>
|
||||
<!-- 上传提示 -->
|
||||
<div class="el-upload__tip" v-if="showTip">
|
||||
请上传
|
||||
{{ t("admin.validation.pleaseUpload") }}
|
||||
<template v-if="fileSize">
|
||||
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b>
|
||||
{{ t("admin.validation.sizeNotExceed") }}
|
||||
<b style="color: #f56c6c">{{ fileSize }}MB </b>
|
||||
</template>
|
||||
<template v-if="fileType">
|
||||
格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b>
|
||||
{{ t("admin.validation.formatIs") }}
|
||||
<b style="color: #f56c6c">{{ fileType.join("/") }}</b>
|
||||
</template>
|
||||
的文件
|
||||
{{ t("admin.validation.file") }}
|
||||
</div>
|
||||
<!-- 文件列表 -->
|
||||
<transition-group
|
||||
@ -44,9 +48,13 @@
|
||||
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
|
||||
</el-link>
|
||||
<div class="ele-upload-list__item-content-action">
|
||||
<el-link :underline="false" @click="handleDelete(index)" type="danger"
|
||||
>删除</el-link
|
||||
<el-link
|
||||
:underline="false"
|
||||
@click="handleDelete(index)"
|
||||
type="danger"
|
||||
>
|
||||
{{ t("common.delete") }}
|
||||
</el-link>
|
||||
</div>
|
||||
</li>
|
||||
</transition-group>
|
||||
@ -55,7 +63,9 @@
|
||||
|
||||
<script setup>
|
||||
import { getToken } from "@/utils/auth";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
modelValue: [String, Object, Array],
|
||||
// 数量限制
|
||||
@ -131,7 +141,10 @@ function handleBeforeUpload(file) {
|
||||
});
|
||||
if (!isTypeOk) {
|
||||
proxy.$modal.msgError(
|
||||
`文件格式不正确, 请上传${props.fileType.join("/")}格式文件!`
|
||||
// `文件格式不正确, 请上传${props.fileType.join("/")}格式文件!`
|
||||
t("admin.validation.fileFormatIsIncorrectPleaseUploadFormatFile", {
|
||||
format: props.fileType.join("/"),
|
||||
})
|
||||
);
|
||||
return false;
|
||||
}
|
||||
@ -140,23 +153,23 @@ function handleBeforeUpload(file) {
|
||||
if (props.fileSize) {
|
||||
const isLt = file.size / 1024 / 1024 < props.fileSize;
|
||||
if (!isLt) {
|
||||
proxy.$modal.msgError(`上传文件大小不能超过 ${props.fileSize} MB!`);
|
||||
proxy.$modal.msgError(t("admin.validation.uploadFileSizeCannotExceed"));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
proxy.$modal.loading("正在上传文件,请稍候...");
|
||||
proxy.$modal.loading(t("common.uploadingFilePleaseWait"));
|
||||
number.value++;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 文件个数超出
|
||||
function handleExceed() {
|
||||
proxy.$modal.msgError(`上传文件数量不能超过 ${props.limit} 个!`);
|
||||
proxy.$modal.msgError(t("admin.validation.uploadFileNumberCannotExceed"));
|
||||
}
|
||||
|
||||
// 上传失败
|
||||
function handleUploadError(err) {
|
||||
proxy.$modal.msgError("上传文件失败");
|
||||
proxy.$modal.msgError(t("admin.validation.uploadFileFailed"));
|
||||
}
|
||||
|
||||
// 上传成功回调
|
||||
@ -206,18 +219,22 @@ function listToString(list, separator) {
|
||||
.upload-file-uploader {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.upload-file-list .el-upload-list__item {
|
||||
border: 1px solid #e4e7ed;
|
||||
line-height: 2;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.upload-file-list .ele-upload-list__item-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
color: inherit;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.ele-upload-list__item-content-action .el-link {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
@ -27,8 +27,10 @@
|
||||
<script>
|
||||
import "@wangeditor/editor/dist/css/style.css"; // 引入 css
|
||||
import { getToken } from "@/utils/auth";
|
||||
import { onBeforeUnmount, ref, shallowRef, toRefs, watch } from "vue";
|
||||
import { computed, onBeforeUnmount, ref, shallowRef, toRefs, watch } from "vue";
|
||||
import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { i18nChangeLanguage } from "@wangeditor/editor";
|
||||
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API;
|
||||
export default {
|
||||
@ -47,7 +49,7 @@ export default {
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: "请输入内容",
|
||||
// default: placeholder.value,
|
||||
},
|
||||
minHeight: {
|
||||
type: [String, Number],
|
||||
@ -67,6 +69,11 @@ export default {
|
||||
},
|
||||
},
|
||||
setup(props, context) {
|
||||
const { t } = useI18n();
|
||||
i18nChangeLanguage("en");
|
||||
const placeholder = computed(() =>
|
||||
t("admin.validation.pleaseEnterContent")
|
||||
);
|
||||
// 编辑器实例,必须用 shallowRef
|
||||
const editorRef = shallowRef();
|
||||
// editorRef.value.on("blur", () => {
|
||||
@ -91,8 +98,10 @@ export default {
|
||||
// console.log("onBlur");
|
||||
// },
|
||||
const editorConfig = {
|
||||
placeholder: props.placeholder,
|
||||
placeholder: props.placeholder ?? placeholder.value,
|
||||
readOnly: props.readOnly,
|
||||
|
||||
// locale
|
||||
MENU_CONF: {
|
||||
uploadImage: {
|
||||
server: `${baseUrl}/common/upload`,
|
||||
|
@ -21,7 +21,6 @@ const common = {
|
||||
research: "Исследовательский институт",
|
||||
broker: "Брокер",
|
||||
demand: "Спрос",
|
||||
// 论文
|
||||
paper: "Статья",
|
||||
researchProject: "Научно-исследовательский проект",
|
||||
equipment: "Оборудование",
|
||||
@ -31,9 +30,10 @@ const common = {
|
||||
editSuccess: "Изменено успешно",
|
||||
deleteSuccess: "Удалено успешно",
|
||||
operationSuccess: "Операция выполнена успешно",
|
||||
// 是否确认{action}编号为{number}的{type}?
|
||||
confirmAction: "Вы уверены, что хотите {action} {type} номер {number}?",
|
||||
// Вы уверены, что хотите {action} {type} номер {number}?
|
||||
updatePersonalInformationSuccess: "Персональная информация успешно обновлена",
|
||||
// 需求状态
|
||||
demandStatus: "Статус спроса",
|
||||
};
|
||||
|
||||
export default common;
|
||||
|
@ -21,7 +21,6 @@ const common = {
|
||||
research: "研究机构",
|
||||
broker: "经纪人",
|
||||
demand: "需求",
|
||||
// 论文
|
||||
paper: "论文",
|
||||
researchProject: "科研项目",
|
||||
equipment: "设备",
|
||||
@ -31,8 +30,10 @@ const common = {
|
||||
editSuccess: "修改成功",
|
||||
deleteSuccess: "删除成功",
|
||||
operationSuccess: "操作成功",
|
||||
// 是否确认{action}编号为{number}的{type}?
|
||||
confirmAction: "是否确认{action}编号为{number}的{type}?",
|
||||
updatePersonalInformationSuccess: "更新个人信息成功",
|
||||
// 需求状态
|
||||
demandStatus: "需求状态",
|
||||
};
|
||||
|
||||
export default common;
|
||||
|
@ -1,63 +1,67 @@
|
||||
const form = {
|
||||
achievementBroker: "Сертификат квалификации брокера достижений",
|
||||
achievementParameter: "Параметр достижения",
|
||||
add: "Добавить {type}",
|
||||
addData: "Добавить данные",
|
||||
address: "Подробный адрес",
|
||||
basicInfo: "Основная информация",
|
||||
data: "{type} Данные",
|
||||
basicData: "Основные данные",
|
||||
businessLicense: "Бизнес-лицензия",
|
||||
fullName: "Полное имя",
|
||||
phone: "Телефон",
|
||||
email: "Эл. адрес",
|
||||
mobile: "Мобильный телефон",
|
||||
position: "Должность",
|
||||
industry: "Отрасль",
|
||||
introduction: "{type} Введение",
|
||||
location: "Местоположение",
|
||||
logo: "{type} логотип",
|
||||
name: "{type} Название",
|
||||
organization: "Организация",
|
||||
organizationCode: "Код организации",
|
||||
placeholder: "Пожалуйста, введите {type}",
|
||||
pleaseSelect: "Пожалуйста, выберите {type}",
|
||||
researchDirection: "Направление исследований",
|
||||
cooperationCompany: "Компания сотрудничества",
|
||||
amount: "Сумма",
|
||||
applicationDate: "Дата подачи заявки",
|
||||
bank: "Банк",
|
||||
product: "Продукт",
|
||||
contact: "Контакт",
|
||||
basicData: "Основные данные",
|
||||
basicInfo: "Основная информация",
|
||||
belongExpert: "Принадлежит эксперту",
|
||||
businessLicense: "Бизнес-лицензия",
|
||||
buyDate: "Дата покупки",
|
||||
category: "Категория {type}",
|
||||
keywords: "Ключевые слова",
|
||||
companyLogo: "Логотип компании",
|
||||
companyType: "Тип предприятия",
|
||||
contact: "Контакт",
|
||||
contactPhone: "Номер мобильного телефона контактного лица",
|
||||
cooperationCompany: "Компания сотрудничества",
|
||||
coreAchievementProduct: "Основной продукт",
|
||||
coreMembers: "Основные члены и их краткое описание",
|
||||
data: "{type} Данные",
|
||||
demandContact: "Контактное лицо по потребностям",
|
||||
deviceDescription: "Описание оборудования",
|
||||
edit: "Изменить {type}",
|
||||
editData: "Изменить данные",
|
||||
email: "Эл. адрес",
|
||||
expertName: "Имя эксперта",
|
||||
fullName: "Полное имя",
|
||||
idCard: "Номер удостоверения личности",
|
||||
idCardEmblem: "Герб удостоверения личности",
|
||||
idCardPortrait: "Лицо удостоверения личности",
|
||||
industry: "Отрасль",
|
||||
inputKeywords:
|
||||
"Ключевые слова сценария применения + ключевые слова технического продукта",
|
||||
coreMembers: "Основные члены и их краткое описание",
|
||||
idCard: "Номер удостоверения личности",
|
||||
topicLeader: "Руководитель проекта",
|
||||
paperTitle: "Название статьи",
|
||||
belongExpert: "Принадлежит эксперту",
|
||||
publishDate: "Дата публикации",
|
||||
publication: "Публикация",
|
||||
buyDate: "Дата покупки",
|
||||
model: "Модель",
|
||||
achievementParameter: "Параметр достижения",
|
||||
// 设备描述
|
||||
deviceDescription: "Описание оборудования",
|
||||
// 发明人
|
||||
inventor: "Изобретатель",
|
||||
// 需求联系人
|
||||
demandContact: "Контактное лицо по потребностям",
|
||||
// 联系人手机号
|
||||
contactPhone: "Номер мобильного телефона контактного лица",
|
||||
// 申请日期
|
||||
applicationDate: "Дата подачи заявки",
|
||||
// 新增{type}
|
||||
add: "Добавить {type}",
|
||||
// 修改{type}
|
||||
edit: "Изменить {type}",
|
||||
// 添加数据
|
||||
addData: "Добавить данные",
|
||||
// 修改数据
|
||||
editData: "Изменить данные",
|
||||
// 所属院所或单位
|
||||
institute: "Институт или организация",
|
||||
// 从业时间
|
||||
introduction: "{type} Введение",
|
||||
inventor: "Изобретатель",
|
||||
keywords: "Ключевые слова",
|
||||
location: "Местоположение",
|
||||
logo: "{type} логотип",
|
||||
mobile: "Мобильный телефон",
|
||||
model: "Модель",
|
||||
name: "{type} Название",
|
||||
orderNumber: "Номер заказа",
|
||||
orderType: "Тип заказа",
|
||||
organization: "Организация",
|
||||
organizationCode: "Код организации",
|
||||
paperTitle: "Название статьи",
|
||||
personalProfile: "Личный профиль",
|
||||
phone: "Телефон",
|
||||
placeholder: "Пожалуйста, введите {type}",
|
||||
pleaseSelect: "Пожалуйста, выберите {type}",
|
||||
position: "Должность",
|
||||
product: "Продукт",
|
||||
publication: "Публикация",
|
||||
publishDate: "Дата публикации",
|
||||
quantity: "Количество",
|
||||
rechargeTime: "Время пополнения",
|
||||
researchDirection: "Направление исследований",
|
||||
topicLeader: "Руководитель проекта",
|
||||
workExperience: "Опыт работы",
|
||||
workLocation: "Место работы",
|
||||
workingTime: "Время работы",
|
||||
};
|
||||
export default form;
|
||||
|
@ -1,62 +1,66 @@
|
||||
const form = {
|
||||
achievementBroker: "成果经纪资格证书",
|
||||
achievementParameter: "成果参数",
|
||||
add: "新增{type}",
|
||||
addData: "添加数据",
|
||||
address: "详细地址",
|
||||
basicInfo: "基本信息",
|
||||
data: "{type}资料",
|
||||
amount: "金额",
|
||||
applicationDate: "申请日期",
|
||||
bank: "银行",
|
||||
basicData: "基本资料",
|
||||
basicInfo: "基本信息",
|
||||
belongExpert: "所属专家",
|
||||
businessLicense: "营业执照",
|
||||
fullName: "姓名",
|
||||
phone: "固定电话",
|
||||
buyDate: "购买日期",
|
||||
category: "{type}类别",
|
||||
companyLogo: "企业logo",
|
||||
companyType: "企业类型",
|
||||
contact: "联系人",
|
||||
contactPhone: "联系人手机号",
|
||||
cooperationCompany: "合作企业",
|
||||
coreAchievementProduct: "核心成果核心产品",
|
||||
coreMembers: "核心成员及简介",
|
||||
data: "{type}资料",
|
||||
demandContact: "需求联系人",
|
||||
deviceDescription: "设备描述",
|
||||
edit: "修改{type}",
|
||||
editData: "修改数据",
|
||||
email: "邮箱",
|
||||
mobile: "手机号",
|
||||
position: "职务",
|
||||
expertName: "专家姓名",
|
||||
fullName: "姓名",
|
||||
idCard: "身份证号",
|
||||
idCardEmblem: "身份证国徽面",
|
||||
idCardPortrait: "身份证人像面",
|
||||
industry: "所属领域",
|
||||
inputKeywords: "应用场景关键词+技术产品关键词",
|
||||
institute: "所属院所或单位",
|
||||
introduction: "{type}简介",
|
||||
inventor: "发明人",
|
||||
keywords: "关键词",
|
||||
location: "所在地",
|
||||
logo: "{type}logo",
|
||||
mobile: "手机号",
|
||||
model: "型号",
|
||||
name: "{type}名称",
|
||||
orderNumber: "订单号",
|
||||
orderType: "订单类型",
|
||||
organization: "机构",
|
||||
organizationCode: "组织机构代码",
|
||||
paperTitle: "论文标题",
|
||||
personalProfile: "个人简介",
|
||||
phone: "固定电话",
|
||||
placeholder: "请输入{type}",
|
||||
pleaseSelect: "请选择{type}",
|
||||
researchDirection: "研究方向",
|
||||
cooperationCompany: "合作企业",
|
||||
bank: "银行",
|
||||
position: "职务",
|
||||
product: "产品",
|
||||
contact: "联系人",
|
||||
category: "{type}类别",
|
||||
keywords: "关键词",
|
||||
inputKeywords: "应用场景关键词+技术产品关键词",
|
||||
coreMembers: "核心成员及简介",
|
||||
idCard: "身份证号",
|
||||
topicLeader: "课题负责人",
|
||||
paperTitle: "论文标题",
|
||||
belongExpert: "所属专家",
|
||||
publishDate: "出版日期",
|
||||
publication: "刊物",
|
||||
buyDate: "购买日期",
|
||||
model: "型号",
|
||||
achievementParameter: "成果参数",
|
||||
// 设备描述
|
||||
deviceDescription: "设备描述",
|
||||
// 发明人
|
||||
inventor: "发明人",
|
||||
// 需求联系人
|
||||
demandContact: "需求联系人",
|
||||
// 联系人手机号
|
||||
contactPhone: "联系人手机号",
|
||||
// 申请日期
|
||||
applicationDate: "申请日期",
|
||||
// 新增{type}
|
||||
add: "新增{type}",
|
||||
// 修改{type}
|
||||
edit: "修改{type}",
|
||||
// 添加数据
|
||||
addData: "添加数据",
|
||||
// 修改数据
|
||||
editData: "修改数据",
|
||||
// 所属院所或单位
|
||||
institute: "所属院所或单位",
|
||||
// 从业时间
|
||||
publishDate: "出版日期",
|
||||
quantity: "数量",
|
||||
rechargeTime: "充值时间",
|
||||
researchDirection: "研究方向",
|
||||
topicLeader: "课题负责人",
|
||||
workExperience: "工作经历",
|
||||
workLocation: "工作所在地",
|
||||
workingTime: "从业时间",
|
||||
};
|
||||
|
||||
|
@ -1,32 +1,46 @@
|
||||
const table = {
|
||||
// 入驻时间
|
||||
enterTime: "Время входа",
|
||||
// 研究领域
|
||||
researchIndustry: "Область исследований",
|
||||
// 关联专家
|
||||
relatedExperts: "Связанные эксперты",
|
||||
// 发布时间
|
||||
publishTime: "Время публикации",
|
||||
// 课题角色
|
||||
topicRole: "Роль темы",
|
||||
// 成果领域
|
||||
achievementIndustry: "Область достижений",
|
||||
// 取消关联
|
||||
cancelRelation: "Отменить связь",
|
||||
// 取消发布
|
||||
cancelPublish: "Отменить публикацию",
|
||||
// 浏览单位信息
|
||||
viewUnitInfo: "Просмотреть информацию об учреждении",
|
||||
// 浏览次数
|
||||
viewCount: "Количество просмотров",
|
||||
// 浏览时间
|
||||
viewTime: "Время просмотра",
|
||||
// 浏览类别
|
||||
viewCategory: "Категория просмотра",
|
||||
// 实验室网址
|
||||
labWebsite: "Веб-сайт лаборатории",
|
||||
// 添加日期
|
||||
addDate: "Дата добавления",
|
||||
serviceDemandCount: "Количество требований к обслуживанию",
|
||||
finishedDemandCount: "Количество завершенных требований",
|
||||
// 添加时间
|
||||
addTime: "Время добавления",
|
||||
// {type}管理
|
||||
managementOf: "Управление {type}",
|
||||
// 截止时间
|
||||
deadline: "Крайний срок",
|
||||
// 合作备忘录
|
||||
cooperationMemo: "Совместный протокол",
|
||||
// 客户确认技术解决方案
|
||||
customerConfirmSolution: "Подтверждение технического решения клиентом",
|
||||
// 签署服务合同(合同额)
|
||||
signServiceContract: "Подписание сервисного контракта (сумма контракта)",
|
||||
// 结题
|
||||
endTopic: "Закрыть тему",
|
||||
// 未结题
|
||||
notEndTopic: "Тема не закрыта",
|
||||
// 上传文件
|
||||
uploadFile: "Загрузить файл",
|
||||
// 上传时间
|
||||
uploadTime: "Время загрузки",
|
||||
// 毕业院校
|
||||
graduateSchool: "Высшее учебное заведение",
|
||||
// 最高学历
|
||||
highestEducation: "Наивысшее образование",
|
||||
// 主修专业
|
||||
major: "Основная специальность",
|
||||
};
|
||||
|
||||
export default table;
|
||||
|
@ -1,31 +1,45 @@
|
||||
const table = {
|
||||
// 入驻时间
|
||||
enterTime: "入驻时间",
|
||||
// 研究领域
|
||||
researchIndustry: "研究领域",
|
||||
// 关联专家
|
||||
relatedExperts: "关联专家",
|
||||
// 发布时间
|
||||
publishTime: "发布时间",
|
||||
// 课题角色
|
||||
topicRole: "课题角色",
|
||||
// 成果领域
|
||||
achievementIndustry: "成果领域",
|
||||
// 取消关联
|
||||
cancelRelation: "取消关联",
|
||||
// 取消发布
|
||||
cancelPublish: "取消发布",
|
||||
// 浏览单位信息
|
||||
viewUnitInfo: "浏览单位信息",
|
||||
// 浏览次数
|
||||
viewCount: "浏览次数",
|
||||
// 浏览时间
|
||||
viewTime: "浏览时间",
|
||||
// 浏览类别
|
||||
viewCategory: "浏览类别",
|
||||
// 实验室网址
|
||||
labWebsite: "实验室网址",
|
||||
// 添加日期
|
||||
addDate: "添加日期",
|
||||
serviceDemandCount: "正在服务需求数量",
|
||||
finishedDemandCount: "已完成需求数量",
|
||||
// 添加时间
|
||||
addTime: "添加时间",
|
||||
// {type}管理
|
||||
managementOf: "{type}管理",
|
||||
// 截止时间
|
||||
deadline: "截止时间",
|
||||
// 合作备忘录
|
||||
cooperationMemo: "合作备忘录",
|
||||
// 客户确认技术解决方案
|
||||
customerConfirmSolution: "客户确认技术解决方案",
|
||||
// 签署服务合同(合同额)
|
||||
signServiceContract: "签署服务合同(合同额)",
|
||||
// 结题
|
||||
endTopic: "结题",
|
||||
// 未结题
|
||||
notEndTopic: "未结题",
|
||||
// 上传文件
|
||||
uploadFile: "上传文件",
|
||||
// 上传时间
|
||||
uploadTime: "上传时间",
|
||||
// 毕业院校
|
||||
graduateSchool: "毕业院校",
|
||||
// 最高学历
|
||||
highestEducation: "最高学历",
|
||||
// 主修专业
|
||||
major: "主修专业",
|
||||
};
|
||||
export default table;
|
||||
|
@ -1,10 +1,26 @@
|
||||
const validation = {
|
||||
// {type}不能为空
|
||||
required: "{type} не может быть пустым",
|
||||
// 请上传
|
||||
pleaseUpload: "Пожалуйста, загрузите",
|
||||
// 请输入正确格式的手机号码
|
||||
pleaseUpload: "пожалуйста загрузите",
|
||||
pleaseEnterTheCorrectFormatOfThePhoneNumber:
|
||||
"Пожалуйста, введите правильный формат номера телефона",
|
||||
incorrectFormatOf: "Неверный формат {type}",
|
||||
pleaseEnterContent: "Пожалуйста, введите содержимое",
|
||||
pleaseSelectAndAdd: "Пожалуйста, выберите и добавьте",
|
||||
pleaseInputAndAdd: "Пожалуйста, введите и добавьте",
|
||||
formatIs: "Формат",
|
||||
sizeNotExceed: "Размер не превышает",
|
||||
file: "файл",
|
||||
uploadFileNumberCannotExceed:
|
||||
"Количество загружаемых файлов не может превышать {number}",
|
||||
uploadFileSizeCannotExceed:
|
||||
"Размер загружаемого файла не может превышать {size} MB",
|
||||
fileFormatIsIncorrectPleaseUploadFormatFile:
|
||||
"Неверный формат файла, пожалуйста, загрузите файл формата {format}!",
|
||||
uploadFileFailed: "Ошибка загрузки файла",
|
||||
// 请输入研究方向、核心技术及产品、代表专利和论文、承担科研项目名称及项目摘要
|
||||
pleaseEnterResearchDirectionCoreTechnologyAndProductRepresentativePatentsAndPapersUndertakeTheNameAndAbstractOfScientificResearchProjects:
|
||||
"Пожалуйста, введите направление исследований, основные технологии и продукты, представительские патенты и статьи, название и аннотацию научно-исследовательских проектов",
|
||||
// 手持身份证人像面
|
||||
portraitOfTheIdCard: "Портрет удостоверения личности",
|
||||
};
|
||||
export default validation;
|
||||
|
@ -1,10 +1,24 @@
|
||||
const validation = {
|
||||
// {type}不能为空
|
||||
required: "{type}不能为空",
|
||||
// 请上传
|
||||
pleaseUpload: "请上传",
|
||||
// 请输入正确格式的手机号码
|
||||
pleaseEnterTheCorrectFormatOfThePhoneNumber: "请输入正确格式的手机号码",
|
||||
incorrectFormatOf: "{type}格式不正确",
|
||||
pleaseEnterContent: "请输入内容",
|
||||
pleaseSelectAndAdd: "请选择并添加",
|
||||
pleaseInputAndAdd: "请输入并添加",
|
||||
formatIs: "格式为",
|
||||
sizeNotExceed: "大小不超过",
|
||||
file: "的文件",
|
||||
uploadFileNumberCannotExceed: "上传文件数量不能超过{number}个",
|
||||
uploadFileSizeCannotExceed: "上传文件大小不能超过 {size} MB",
|
||||
fileFormatIsIncorrectPleaseUploadFormatFile:
|
||||
"文件格式不正确, 请上传{format}格式文件!",
|
||||
uploadFileFailed: "上传文件失败",
|
||||
// 请输入研究方向、核心技术及产品、代表专利和论文、承担科研项目名称及项目摘要
|
||||
pleaseEnterResearchDirectionCoreTechnologyAndProductRepresentativePatentsAndPapersUndertakeTheNameAndAbstractOfScientificResearchProjects:
|
||||
"请输入研究方向、核心技术及产品、代表专利和论文、承担科研项目名称及项目摘要",
|
||||
// 手持身份证人像面
|
||||
portraitOfTheIdCard: "手持身份证人像面",
|
||||
};
|
||||
|
||||
export default validation;
|
||||
|
@ -14,9 +14,16 @@ const common = {
|
||||
congratulations: "Поздравляем",
|
||||
title: "Цифровой мозг науки и технологий",
|
||||
status: "{type} статус",
|
||||
// 选择
|
||||
select: "Выбрать",
|
||||
// 提交
|
||||
submit: "Представить",
|
||||
dataIsBeingProcessedPleaseDoNotResubmit:
|
||||
"Данные обрабатываются, не повторяйте отправку",
|
||||
selectFile: "Выбрать файл",
|
||||
close: "Закрыть",
|
||||
delete: "Удалить",
|
||||
uploadingFilePleaseWait: "Загрузка файла, подождите...",
|
||||
unknown: "Неизвестный",
|
||||
show: "Показать",
|
||||
hide: "Скрыть",
|
||||
};
|
||||
export default common;
|
||||
|
@ -14,10 +14,16 @@ export const common = {
|
||||
congratulations: "恭喜你",
|
||||
title: "数字科创大脑",
|
||||
status: "{type}状态",
|
||||
// 选择
|
||||
select: "选择",
|
||||
// 提交
|
||||
submit: "提交",
|
||||
dataIsBeingProcessedPleaseDoNotResubmit: "数据正在处理,请勿重复提交",
|
||||
selectFile: "选取文件",
|
||||
close: "关闭",
|
||||
delete: "删除",
|
||||
uploadingFilePleaseWait: "正在上传文件,请稍候...",
|
||||
unknown: "未知",
|
||||
show: "显示",
|
||||
hide: "隐藏",
|
||||
};
|
||||
|
||||
export default common;
|
||||
|
@ -81,7 +81,7 @@ const webSearch = {
|
||||
publicationNumber: "Номер публикации",
|
||||
representativeAchievements: "Репрезентативные научные достижения",
|
||||
researchDirection: "Направление исследований",
|
||||
researchInstitution: "Институт",
|
||||
researchInstitute: "Институт",
|
||||
researchProject: "Информация о научно-исследовательских проектах",
|
||||
search: "Поиск",
|
||||
serviceDemand: "Потребность в услугах",
|
||||
|
@ -11,7 +11,9 @@ import { tansParams, blobValidate } from "@/utils/ruoyi";
|
||||
import cache from "@/plugins/cache";
|
||||
import { saveAs } from "file-saver";
|
||||
import useUserStore from "@/store/modules/user";
|
||||
import i18n from "@/i18n";
|
||||
|
||||
const { t } = i18n.global;
|
||||
let downloadLoadingInstance;
|
||||
// 是否显示重新登录
|
||||
export let isRelogin = { show: false };
|
||||
@ -71,7 +73,7 @@ service.interceptors.request.use(
|
||||
requestObj.time - s_time < interval &&
|
||||
s_url === requestObj.url
|
||||
) {
|
||||
const message = "数据正在处理,请勿重复提交";
|
||||
const message = t("common.dataIsBeingProcessedPleaseDoNotResubmit");
|
||||
console.warn(`[${s_url}]: ` + message);
|
||||
return Promise.reject(new Error(message));
|
||||
} else {
|
||||
@ -106,7 +108,7 @@ service.interceptors.response.use(
|
||||
isRelogin.show = true;
|
||||
ElMessageBox.confirm(
|
||||
"登录状态已过期,您可以继续留在该页面,或者重新登录",
|
||||
"系统提示",
|
||||
t("common.systemPrompt"),
|
||||
{
|
||||
confirmButtonText: "重新登录",
|
||||
cancelButtonText: "取消",
|
||||
|
@ -108,7 +108,7 @@ const submitPersonalInfo = async () => {
|
||||
try {
|
||||
await personFormRef.value.validate();
|
||||
await insertClientUser(personForm.value);
|
||||
ElMessage.success("更新个人信息成功");
|
||||
ElMessage.success(t("admin.common.updatePersonalInformationSuccess"));
|
||||
const { data } = await getInfo();
|
||||
personForm.value = data.user ?? {};
|
||||
} catch (error) {
|
||||
@ -121,7 +121,7 @@ const submitExpertForm = async () => {
|
||||
// form.value.researchDirection = form.value.researchs?.join(",") ?? null;
|
||||
form.value.keyword = form.value.keywords?.join(",") ?? null;
|
||||
updateCasBroker(form.value).then((res) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
getBasicInfo();
|
||||
});
|
||||
} else {
|
||||
|
@ -147,19 +147,21 @@ getList();
|
||||
@submit.prevent
|
||||
@keydown="handleQuery"
|
||||
>
|
||||
<el-form-item label="订单号" prop="orderNumber">
|
||||
<el-form-item :label="t('admin.form.orderNumber')" prop="orderNumber">
|
||||
<el-input
|
||||
v-model="queryParams.orderNumber"
|
||||
placeholder="请输入订单号"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', { type: t('admin.form.orderNumber') })
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleQuery">{{
|
||||
t("admin.common.search")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="handleQuery"
|
||||
>{{ t("admin.common.search") }}
|
||||
</el-button>
|
||||
<el-button @click="resetQuery">
|
||||
{{ t("admin.common.reset") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-row class="mb8">
|
||||
@ -169,10 +171,14 @@ getList();
|
||||
<el-table v-loading="loading" :data="tableData">
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="订单号"
|
||||
:label="t('admin.form.orderNumber')"
|
||||
prop="orderNumber"
|
||||
></el-table-column>
|
||||
<el-table-column align="center" label="订单类型" prop="orderType">
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.orderType')"
|
||||
prop="orderType"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{
|
||||
orderTypeDict.find((item) => item.value === row.orderType)?.label ??
|
||||
@ -182,15 +188,15 @@ getList();
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="金额"
|
||||
:label="t('admin.form.amount')"
|
||||
prop="amount"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="数量"
|
||||
:label="t('admin.form.quantity')"
|
||||
prop="total"
|
||||
></el-table-column>
|
||||
<el-table-column align="center" label="充值时间">
|
||||
<el-table-column align="center" :label="t('admin.form.rechargeTime')">
|
||||
<template #default="{ row }">
|
||||
{{ dayjs(row.payTime).format("YYYY-MM-DD HH:mm:ss") }}
|
||||
</template>
|
||||
@ -256,12 +262,12 @@ getList();
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="default" @click="handleCancel">{{
|
||||
t("admin.common.cancel")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="submit">{{
|
||||
t("admin.common.submit")
|
||||
}}</el-button>
|
||||
<el-button type="default" @click="handleCancel"
|
||||
>{{ t("admin.common.cancel") }}
|
||||
</el-button>
|
||||
<el-button type="primary" @click="submit"
|
||||
>{{ t("admin.common.submit") }}
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
@ -101,14 +101,18 @@ const getById = (id) => {};
|
||||
</el-form>
|
||||
<!-- element plus 表格 , 列:订单号,企业名称,所属领域,会员等级,会员金额,购买会员时间,操作-->
|
||||
<el-table :data="tableData" class="withdraw-table">
|
||||
<el-table-column label="订单号" prop="id" width="180"></el-table-column>
|
||||
<el-table-column
|
||||
:label="t('admin.form.orderNumber')"
|
||||
prop="id"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
:label="t('admin.form.name', { type: t('admin.common.company') })"
|
||||
prop="name"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="所属领域"
|
||||
:label="t('admin.form.industry')"
|
||||
prop="field"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
|
@ -42,7 +42,7 @@ const handleDelete = (id) => {};
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form ref="queryRef" :model="queryParams" inline>
|
||||
<el-form-item label="订单号">
|
||||
<el-form-item :label="t('admin.form.orderNumber')">
|
||||
<el-input v-model="queryParams.orderNo"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间段">
|
||||
|
@ -17,11 +17,11 @@ const handleSave = () => {};
|
||||
<el-card style="width: 50%; margin: 0 auto">
|
||||
<el-form :model="form" label-width="120px">
|
||||
<el-form-item label="身份证类型">
|
||||
<el-select v-model="form.type" placeholder="请选择">
|
||||
<el-select v-model="form.type" :placeholder="t('admin.pleaseSelect')">
|
||||
<el-option value="身份证">身份证</el-option>
|
||||
<el-option value="护照">护照</el-option>
|
||||
</el-select>
|
||||
<el-form-item label="姓名" prop="name">
|
||||
<el-form-item :label="t('admin.form.fullName')" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入" />
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
|
@ -10,6 +10,7 @@ import {
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
import modal from "@/plugins/modal";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const dataList = ref([]);
|
||||
@ -105,7 +106,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
@ -180,19 +181,27 @@ getList();
|
||||
:label="t('admin.form.name', { type: t('admin.common.company') })"
|
||||
prop="enterpriseName"
|
||||
/>
|
||||
<el-table-column align="center" label="所属领域" prop="industryStr" />
|
||||
<el-table-column align="center" label="需求数量" prop="demandCount" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="正在服务需求数"
|
||||
:label="t('admin.form.industry')"
|
||||
prop="industryStr"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('quantityOverview.demand')"
|
||||
prop="demandCount"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.table.serviceDemandCount')"
|
||||
prop="runDemandCount"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="已完成需求数"
|
||||
:label="t('admin.table.finishedDemandCount')"
|
||||
prop="completeDemandCount"
|
||||
/>
|
||||
<el-table-column align="center" label="添加时间">
|
||||
<el-table-column align="center" :label="t('admin.table.addTime')">
|
||||
<template #default="{ row }">
|
||||
{{ dayjs(row.createTime).format("YYYY-MM-DD HH:mm:ss") }}
|
||||
</template>
|
||||
@ -204,17 +213,27 @@ getList();
|
||||
size="small"
|
||||
type="text"
|
||||
@click="handleTechDemand(row.enterpriseId)"
|
||||
>技术需求管理</el-button
|
||||
>
|
||||
<el-button link size="small" type="text">成果管理</el-button>
|
||||
>{{
|
||||
t("admin.table.managementOf", {
|
||||
type: t("routes.company.technicalDemand"),
|
||||
})
|
||||
}}
|
||||
</el-button>
|
||||
<el-button link size="small" type="text">
|
||||
{{
|
||||
t("admin.table.managementOf", {
|
||||
type: t("admin.common.achievement"),
|
||||
})
|
||||
}}
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
type="text"
|
||||
@click="handleDelete(row.id)"
|
||||
>
|
||||
{{ t("admin.common.delete") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.delete") }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -238,9 +257,9 @@ getList();
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">{{
|
||||
t("admin.common.confirm")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="submitForm"
|
||||
>{{ t("admin.common.confirm") }}
|
||||
</el-button>
|
||||
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -108,7 +108,7 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="截止时间:" prop="deadline">
|
||||
<el-form-item :label="t('admin.table.deadline')" prop="deadline">
|
||||
<el-date-picker
|
||||
v-model="form.deadline"
|
||||
placeholder="请选择截止时间"
|
||||
|
@ -4,6 +4,7 @@ import dayjs from "dayjs";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { technologyDemandList } from "@/api/admin/agent/service/technology-demand";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
@ -81,13 +82,21 @@ if (route.query.id) {
|
||||
|
||||
<el-table :data="dataList">
|
||||
<!-- 编号 列-->
|
||||
<el-table-column align="center" label="编号" prop="id" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.common.dataNumber')"
|
||||
prop="id"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.name', { type: t('admin.common.demand') })"
|
||||
prop="title"
|
||||
/>
|
||||
<el-table-column align="center" label="所属领域" prop="industryStr" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.industry')"
|
||||
prop="industryStr"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.contact')"
|
||||
@ -107,7 +116,11 @@ if (route.query.id) {
|
||||
{{ dayjs(row.createTime).format("YYYY-MM-DD HH:mm:ss") }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="截止时间" prop="name">
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.table.deadline')"
|
||||
prop="name"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ dayjs(row.deadline).format("YYYY-MM-DD HH:mm:ss") }}
|
||||
</template>
|
||||
@ -115,11 +128,11 @@ if (route.query.id) {
|
||||
<el-table-column align="center" label="">
|
||||
<template #default="{ row }">
|
||||
<el-button size="small" type="text">
|
||||
{{ t("admin.common.delete") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.delete") }}
|
||||
</el-button>
|
||||
<el-button size="small" type="text" @click="handleResults(row)"
|
||||
>查看匹配结果</el-button
|
||||
>
|
||||
>查看匹配结果
|
||||
</el-button>
|
||||
<el-button size="small" type="text" @click="handleUpdateStatus(row)"
|
||||
>更新状态
|
||||
</el-button>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<script setup>
|
||||
import { ref } from "vue";
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import FileUpload from "@/components/FileUpload/index.vue";
|
||||
import {
|
||||
getTechnologyDemandUpdateStatus,
|
||||
@ -15,41 +15,38 @@ const active = ref(0); /*active step index*/
|
||||
const updateStatusList = ref([]); /*update status list*/
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const cooperationMemoUrl = ref(""); // 合作备忘录
|
||||
const technicalSolutionUrl = ref(""); // 客户确认技术解决方案
|
||||
const contractUrl = ref(""); // 签署服务合同(合同额)
|
||||
const conclusionUrl = ref(""); // 结题
|
||||
|
||||
//未结题原因描述
|
||||
const reason = ref("");
|
||||
|
||||
// steps title, description, id
|
||||
const steps = [
|
||||
const steps = reactive([
|
||||
{
|
||||
title: "合作备忘录",
|
||||
description: "合作备忘录",
|
||||
title: computed(() => t("admin.table.cooperationMemo")),
|
||||
description: computed(() => t("admin.table.cooperationMemo")),
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
title: "客户确认技术解决方案",
|
||||
description: "客户确认技术解决方案",
|
||||
title: computed(() => t("admin.table.customerConfirmSolution")),
|
||||
description: computed(() => t("admin.table.customerConfirmSolution")),
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
title: "签署服务合同(合同额)",
|
||||
description: "签署服务合同(合同额)",
|
||||
title: computed(() => t("admin.table.signServiceContract")),
|
||||
description: computed(() => t("admin.table.signServiceContract")),
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
title: "结题",
|
||||
description: "结题",
|
||||
title: computed(() => t("admin.table.endTopic")),
|
||||
description: computed(() => t("admin.table.endTopic")),
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
title: "未结题",
|
||||
description: "未结题",
|
||||
title: computed(() => t("admin.table.notEndTopic")),
|
||||
description: computed(() => t("admin.table.notEndTopic")),
|
||||
id: 5,
|
||||
},
|
||||
];
|
||||
]);
|
||||
|
||||
const getUpdateStatus = async (demandId) => {
|
||||
const resp = await getTechnologyDemandUpdateStatus({
|
||||
@ -103,7 +100,7 @@ const submit = () => {
|
||||
status: "1",
|
||||
})
|
||||
.then((resp) => {
|
||||
ElMessage.success("操作成功");
|
||||
ElMessage.success(t("admin.common.operationSuccess"));
|
||||
// if (active.value <= 3) {
|
||||
// active.value += 1;
|
||||
// }
|
||||
@ -125,7 +122,7 @@ if (route.query.id) {
|
||||
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<h2 class="page-title">需求状态</h2>
|
||||
<h2 class="page-title">{{ t("admin.common.demandStatus") }}</h2>
|
||||
<div style="width: 80%; margin: 0 auto">
|
||||
<el-steps :active="active" finish-status="finish" process-status="finish">
|
||||
<el-step
|
||||
@ -160,14 +157,14 @@ if (route.query.id) {
|
||||
<el-form :model="updateStatusList[0]" label-position="top">
|
||||
<el-row v-if="index !== 4" justify="space-between">
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="`上传文件`">
|
||||
<el-form-item :label="t('admin.table.uploadFile')">
|
||||
<file-upload v-model="updateStatusList[index].files" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item
|
||||
v-if="index === 2 || index === 3"
|
||||
label="金额"
|
||||
:label="t('admin.form.amount')"
|
||||
>
|
||||
<el-input-number
|
||||
v-model="updateStatusList[index].remark"
|
||||
@ -186,14 +183,14 @@ if (route.query.id) {
|
||||
</el-form>
|
||||
</div>
|
||||
<div v-if="updateStatusList[index].updateTime" class="upload-time">
|
||||
<span>上传时间:</span>
|
||||
<span>{{ t("admin.table.uploadTime") }}:</span>
|
||||
<span>{{ updateStatusList[index].updateTime }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<div class="steps-action">
|
||||
<el-button @click="close">关闭</el-button>
|
||||
<el-button @click="close"> {{ t("common.close") }}</el-button>
|
||||
<el-button
|
||||
v-if="
|
||||
updateStatusList.length &&
|
||||
@ -223,7 +220,7 @@ if (route.query.id) {
|
||||
active = 3;
|
||||
}
|
||||
"
|
||||
>结题
|
||||
>{{ t("admin.table.endTopic") }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="active === 2"
|
||||
@ -232,7 +229,7 @@ if (route.query.id) {
|
||||
active = 4;
|
||||
}
|
||||
"
|
||||
>未结题
|
||||
>{{ t("admin.table.notEndTopic") }}
|
||||
</el-button>
|
||||
</template>
|
||||
</div>
|
||||
@ -270,6 +267,7 @@ if (route.query.id) {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: end;
|
||||
margin-top: 16px;
|
||||
|
||||
:deep(.el-form) {
|
||||
width: 100%;
|
||||
|
@ -79,7 +79,7 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="截止时间:" prop="deadline">
|
||||
<el-form-item :label="t('admin.table.deadline')" prop="deadline">
|
||||
<el-date-picker
|
||||
v-model="form.deadline"
|
||||
placeholder="请选择截止时间"
|
||||
@ -94,7 +94,7 @@
|
||||
</el-form>
|
||||
|
||||
<div :style="{ marginLeft: labelWidth + 'px' }">
|
||||
<el-button type="primary" @click="">关闭</el-button>
|
||||
<el-button type="primary" @click=""> {{ t("common.close") }}</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
@ -8,6 +8,7 @@ import {
|
||||
} from "@/api/admin/agent/service/enterprise";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const dataList = ref([]);
|
||||
const loading = ref(true);
|
||||
@ -91,6 +92,7 @@ const cancel = () => {
|
||||
reset();
|
||||
showDialog.value = false;
|
||||
};
|
||||
getList();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -135,13 +137,33 @@ const cancel = () => {
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.name', { type: t('admin.common.company') })"
|
||||
prop="name"
|
||||
prop="enterpriseName"
|
||||
/>
|
||||
<el-table-column align="center" label="所属领域" prop="name" />
|
||||
<el-table-column align="center" label="需求数量" prop="name" />
|
||||
<el-table-column align="center" label="正在服务需求数" prop="name" />
|
||||
<el-table-column align="center" label="已完成需求数" prop="name" />
|
||||
<el-table-column align="center" label="添加时间" prop="name">
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.form.industry')"
|
||||
prop="industryStr"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('quantityOverview.demand')"
|
||||
prop="demandCount"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.table.serviceDemandCount')"
|
||||
prop="runDemandCount"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.table.finishedDemandCount')"
|
||||
prop="completeDemandCount"
|
||||
/>
|
||||
<el-table-column
|
||||
align="center"
|
||||
:label="t('admin.table.addTime')"
|
||||
prop="name"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ dayjs(row.createTime).format("YYYY-MM-DD HH:mm:ss") }}
|
||||
</template>
|
||||
@ -149,8 +171,8 @@ const cancel = () => {
|
||||
<el-table-column align="center" :label="t('admin.common.operation')">
|
||||
<template #default="{ row }">
|
||||
<el-button link size="small" type="primary" @click=""
|
||||
>查看详情</el-button
|
||||
>
|
||||
>查看详情
|
||||
</el-button>
|
||||
<el-button link size="small" type="primary">承接需求</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -178,9 +200,9 @@ const cancel = () => {
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">{{
|
||||
t("admin.common.confirm")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="submitForm"
|
||||
>{{ t("admin.common.confirm") }}
|
||||
</el-button>
|
||||
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
@ -7,10 +7,12 @@
|
||||
v-show="showSearch"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="订单号" prop="orderNumber">
|
||||
<el-form-item :label="t('admin.form.orderNumber')" prop="orderNumber">
|
||||
<el-input
|
||||
v-model="queryParams.orderNumber"
|
||||
placeholder="请输入订单号"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', { type: t('admin.form.orderNumber') })
|
||||
"
|
||||
clearable
|
||||
size="small"
|
||||
@keyup.enter="handleQuery"
|
||||
@ -56,18 +58,34 @@
|
||||
</el-row> -->
|
||||
|
||||
<el-table v-loading="loading" :data="dataList">
|
||||
<el-table-column label="订单号" align="center" prop="orderNumber" />
|
||||
<el-table-column label="订单类型" align="center" prop="orderType">
|
||||
<el-table-column
|
||||
:label="t('admin.form.orderNumber')"
|
||||
align="center"
|
||||
prop="orderNumber"
|
||||
/>
|
||||
<el-table-column
|
||||
:label="t('admin.form.orderType')"
|
||||
align="center"
|
||||
prop="orderType"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
{{ orderTypeDic[row.orderType] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="金额" align="center" prop="amount" />
|
||||
<el-table-column label="数量" align="center" prop="total" />
|
||||
<el-table-column
|
||||
:label="t('admin.form.amount')"
|
||||
align="center"
|
||||
prop="amount"
|
||||
/>
|
||||
<el-table-column
|
||||
:label="t('admin.form.quantity')"
|
||||
align="center"
|
||||
prop="total"
|
||||
/>
|
||||
<!-- <el-zh-column label="申请状态" align="center" prop="status">
|
||||
</el-zh-column> -->
|
||||
<el-table-column
|
||||
label="充值时间"
|
||||
:label="t('admin.form.rechargeTime')"
|
||||
align="center"
|
||||
prop="payTime"
|
||||
width="180"
|
||||
@ -157,7 +175,7 @@
|
||||
<b>邮寄信息</b>
|
||||
</div>
|
||||
<el-form-item
|
||||
label="联系人:"
|
||||
:label="t('admin.form.contact')"
|
||||
prop="username"
|
||||
v-if="form.orderType == 2"
|
||||
>
|
||||
@ -341,7 +359,7 @@ const handleDelete = (id) => {
|
||||
.then(async () => {
|
||||
await deleteCasDealLog(id);
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
};
|
||||
/** 导出按钮操作 */
|
||||
|
@ -19,19 +19,22 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="活动状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择">
|
||||
<el-option label="显示" value="1"></el-option>
|
||||
<el-option label="隐藏" value="2"></el-option>
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option :label="t('common.show')" value="1"></el-option>
|
||||
<el-option :label="t('common.hide')" value="2"></el-option>
|
||||
<!-- <el-option label="已结束" value="3"></el-option> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="Search" @click="handleQuery">
|
||||
{{ t("admin.common.search") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.search") }}
|
||||
</el-button>
|
||||
<el-button icon="Refresh" @click="resetQuery">
|
||||
{{ t("admin.common.reset") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@ -70,9 +73,13 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="t('common.status')" align="center" prop="status">
|
||||
<template #default="{ row }">
|
||||
<el-tag type="success" v-if="row.status == 1">显示</el-tag>
|
||||
<el-tag type="danger" v-else-if="row.status == 2">隐藏</el-tag>
|
||||
<el-tag type="info" v-else>未知</el-tag>
|
||||
<el-tag type="success" v-if="row.status == 1"
|
||||
>{{ t("common.show") }}
|
||||
</el-tag>
|
||||
<el-tag type="danger" v-else-if="row.status == 2"
|
||||
>{{ t("common.hide") }}
|
||||
</el-tag>
|
||||
<el-tag type="info" v-else>{{ t("common.unknown") }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -90,6 +97,7 @@
|
||||
<script setup>
|
||||
import { activitysList } from "@/api/admin/enterprise";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const dataList = ref([]);
|
||||
const loading = ref(true);
|
||||
|
@ -181,7 +181,7 @@ const submitForm = () => {
|
||||
if (valid) {
|
||||
if (form.value.id != undefined) {
|
||||
await updateDemand(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
// router.back();
|
||||
} else {
|
||||
await insertDemand(form.value);
|
||||
|
@ -103,7 +103,7 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="截止时间:" prop="deadline">
|
||||
<el-form-item :label="t('admin.table.deadline')" prop="deadline">
|
||||
<el-date-picker
|
||||
style="width: 100%"
|
||||
v-model="form.deadline"
|
||||
@ -308,7 +308,7 @@ const submitForm = async (status) => {
|
||||
// console.log(form.value);
|
||||
// if (form.value.id != undefined) {
|
||||
// // updatePost(form.value).then((response) => {
|
||||
// // proxy.$modal.msgSuccess("修改成功");
|
||||
// // proxy.$modal.msgSuccess(t('admin.common.editSuccess'));
|
||||
// // proxy.$router.go(-1);
|
||||
// // });
|
||||
// } else {
|
||||
|
@ -179,7 +179,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -194,7 +194,7 @@ const complete = (id) => {
|
||||
.then(async () => {
|
||||
await updateDemand({ id, status: 4 });
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
@ -31,7 +31,11 @@
|
||||
prop="title"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column label="所属领域" prop="industryStr" align="center" />
|
||||
<el-table-column
|
||||
:label="t('admin.form.industry')"
|
||||
prop="industryStr"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
:label="t('admin.form.contact')"
|
||||
prop="name"
|
||||
@ -50,7 +54,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="截止时间"
|
||||
:label="t('admin.table.deadline')"
|
||||
prop="deadline"
|
||||
align="center"
|
||||
width="180"
|
||||
@ -201,7 +205,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -151,7 +151,7 @@ const handleDelete = (id) => {
|
||||
.confirm('是否确认删除数据编号为"' + id + '"的产品项?')
|
||||
.then(async () => {
|
||||
await deleteEnterpriseProduct(id);
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
getList();
|
||||
})
|
||||
.catch((error) => {
|
||||
|
@ -213,7 +213,7 @@ function handleQuery() {
|
||||
// })
|
||||
// .then(() => {
|
||||
// getList();
|
||||
// proxy.$modal.msgSuccess("删除成功");
|
||||
// proxy.$modal.msgSuccess(t('admin.common.deleteSuccess'))
|
||||
// })
|
||||
// .catch(() => {});
|
||||
// }
|
||||
|
@ -129,7 +129,7 @@ const submitPersonalInfo = async () => {
|
||||
try {
|
||||
await personalInfoFormRef.value.validate();
|
||||
await insertClientUser(PersonalInfoForm.value);
|
||||
ElMessage.success("更新个人信息成功");
|
||||
ElMessage.success(t("admin.common.updatePersonalInformationSuccess"));
|
||||
const { data } = await getInfo();
|
||||
|
||||
PersonalInfoForm.value = data.user ?? {};
|
||||
@ -143,7 +143,7 @@ async function submitExpertForm(status) {
|
||||
if (valid) {
|
||||
expertForm.value.area = expertForm.value.district;
|
||||
updateExpert(expertForm.value).then((res) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
// router.back();
|
||||
});
|
||||
} else {
|
||||
|
@ -22,7 +22,7 @@
|
||||
<el-form-item label="活动状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
size="small"
|
||||
>
|
||||
<el-option label="显示" value="1"></el-option>
|
||||
@ -37,11 +37,11 @@
|
||||
icon="Search"
|
||||
@click="handleQuery"
|
||||
>
|
||||
{{ t("admin.common.search") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.search") }}
|
||||
</el-button>
|
||||
<el-button size="small" icon="Refresh" @click="resetQuery">
|
||||
{{ t("admin.common.reset") }}</el-button
|
||||
>
|
||||
{{ t("admin.common.reset") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
<template #default="{ row }">
|
||||
<el-tag type="success" v-if="row.status == 1">显示</el-tag>
|
||||
<el-tag type="danger" v-else-if="row.status == 2">隐藏</el-tag>
|
||||
<el-tag type="info" v-else>未知</el-tag>
|
||||
<el-tag type="info" v-else>{{ t("common.unknown") }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@ -100,6 +100,8 @@
|
||||
<script setup>
|
||||
import { activitysList } from "@/api/admin/expert";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { reactive, ref, toRefs } from "vue";
|
||||
|
||||
const { t } = useI18n();
|
||||
const dataList = ref([]);
|
||||
const loading = ref(true);
|
||||
|
@ -167,7 +167,7 @@
|
||||
<InputBoxAdd
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="关键词"
|
||||
:title="t('admin.form.keywords')"
|
||||
placeholder="请输入关键词"
|
||||
fieldKey="keywords"
|
||||
ref="keywordsFormRef"
|
||||
|
@ -315,7 +315,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -406,7 +406,7 @@ function submitForm() {
|
||||
form.value.paper = form.value.papers.join(",");
|
||||
if (form.value.id != undefined) {
|
||||
updateExpertCooperateEnterprise(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -203,7 +203,7 @@ async function submitForm() {
|
||||
if (formData.value.id) {
|
||||
// TODO: 修改专家需求
|
||||
await updateDemand(formData.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
} else {
|
||||
await insertDemand(formData.value);
|
||||
ElMessage.success("新增成功");
|
||||
|
@ -192,7 +192,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -208,7 +208,7 @@ const complete = (id) => {
|
||||
.then(async () => {
|
||||
await updateCasDemand({ id, status: 4 });
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
@ -58,7 +58,7 @@
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- province--city--district -->
|
||||
<el-table-column label="所属领域" prop="territoryStr" />
|
||||
<el-table-column :label="t('admin.form.industry')" prop="territoryStr" />
|
||||
<el-table-column :label="t('admin.form.contact')" prop="contactUser" />
|
||||
<el-table-column :label="t('webContact.phone')" prop="contactPhone" />
|
||||
<!-- <el-zh-column label="创建日期" align="center" prop="created_at">
|
||||
@ -115,7 +115,7 @@
|
||||
"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系人:">
|
||||
<el-form-item :label="t('admin.form.contact')">
|
||||
<el-input v-model="form.contactUser" placeholder="请输入专家姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="联系电话:">
|
||||
@ -225,7 +225,7 @@ function handleDelete(id) {
|
||||
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(async () => {
|
||||
await deleteExpertWantEnterpriseByIds({ ids: [id] });
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
}
|
||||
|
||||
@ -270,12 +270,12 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.id) {
|
||||
await updateExpertWantEnterprise(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
showEditDialog.value = false;
|
||||
getList();
|
||||
} else {
|
||||
await insertExpertWantEnterprise(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
showEditDialog.value = false;
|
||||
getList();
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ const handleDelete = (id) => {
|
||||
.then(async () => {
|
||||
await deleteAchievementByIds({ ids: [id] });
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
};
|
||||
// 上架和下架
|
||||
|
@ -217,7 +217,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -237,7 +237,7 @@ function handleBind(id) {
|
||||
});
|
||||
// expertPatentBind({ id: this.queryParams.id, patent_ids: [id] }).then(
|
||||
// (res) => {
|
||||
// this.$modal.msgSuccess("修改成功");
|
||||
// this.$modal.msgSuccess(t('admin.common.editSuccess'));
|
||||
// this.getList();
|
||||
// }
|
||||
// );
|
||||
@ -245,7 +245,7 @@ function handleBind(id) {
|
||||
function handleUnbind(id) {
|
||||
// expertPatentUnbind({ id: this.queryParams.id, patent_ids: [id] }).then(
|
||||
// (res) => {
|
||||
// this.$modal.msgSuccess("修改成功");
|
||||
// this.$modal.msgSuccess(t('admin.common.editSuccess'));
|
||||
// this.getList();
|
||||
// }
|
||||
// );
|
||||
|
@ -135,7 +135,7 @@
|
||||
:labelWidth="100"
|
||||
v-model="form"
|
||||
title="关键词"
|
||||
placeholder="应用场景关键词+技术产品关键词"
|
||||
:placeholder="t('admin.form.inputKeywords')"
|
||||
fieldKey="keywords"
|
||||
ref="keywordsFormRef"
|
||||
/>
|
||||
@ -250,7 +250,7 @@ function handleDelete(id) {
|
||||
.then(async () => {
|
||||
await deleteCasPaper(id);
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
}
|
||||
|
||||
@ -291,7 +291,7 @@ function submitForm() {
|
||||
form.value.keyword = form.value.keywords.join(",");
|
||||
if (form.value.id) {
|
||||
await updateCasPaper(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
showEditDialog.value = false;
|
||||
getList();
|
||||
} else {
|
||||
|
@ -207,7 +207,7 @@
|
||||
<el-select
|
||||
v-model="form.kind"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
@ -363,7 +363,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
@ -411,7 +411,7 @@ const submitForm = async () => {
|
||||
await patentRef.value.validate();
|
||||
if (form.value.id != undefined) {
|
||||
await updateCasPatent({ ...form.value, expertId: expertId.value });
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
} else {
|
||||
|
@ -334,7 +334,7 @@ function handleDelete(id) {
|
||||
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(async () => {
|
||||
await deleteTechnologyProjectByIds({ ids: [id] });
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
}
|
||||
|
||||
@ -375,7 +375,7 @@ function submitForm() {
|
||||
form.value.amount = form.value.amount - 0;
|
||||
if (form.value.id) {
|
||||
await updateTechnologyProject(form.value);
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
showEditDialog.value = false;
|
||||
getList();
|
||||
} else {
|
||||
|
@ -118,7 +118,7 @@ const submitPersonalInfo = async () => {
|
||||
try {
|
||||
await personFormRef.value.validate();
|
||||
await insertClientUser(personForm.value);
|
||||
ElMessage.success("更新个人信息成功");
|
||||
ElMessage.success(t("admin.common.updatePersonalInformationSuccess"));
|
||||
const { data } = await getInfo();
|
||||
personForm.value = data.user ?? {};
|
||||
} catch (error) {
|
||||
@ -131,7 +131,7 @@ const submitExpertForm = async () => {
|
||||
form.value.researchDirection = form.value.researchs?.join(",") ?? null;
|
||||
form.value.keyword = form.value.keywords?.join(",") ?? null;
|
||||
updateLaboratory(form.value).then((res) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
getBasicInfo();
|
||||
});
|
||||
} else {
|
||||
|
@ -187,7 +187,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -106,7 +106,7 @@
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog v-model="open" :title="title" append-to-body width="800px">
|
||||
<el-form ref="expertRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="专家姓名" prop="title">
|
||||
<el-form-item :label="t('admin.form.expertName')" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入专家姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="gender">
|
||||
@ -122,7 +122,7 @@
|
||||
:labelWidth="100"
|
||||
fieldKey="researchs"
|
||||
placeholder="研究方向"
|
||||
title="研究方向"
|
||||
:title="t('admin.form.researchDirection')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -261,7 +261,7 @@ function submitForm() {
|
||||
if (form.value.id) {
|
||||
// TODO
|
||||
paperEdit(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -316,7 +316,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -130,7 +130,7 @@
|
||||
v-model="form"
|
||||
:labelWidth="100"
|
||||
fieldKey="keywords"
|
||||
placeholder="应用场景关键词+技术产品关键词"
|
||||
:placeholder="t('admin.form.inputKeywords')"
|
||||
title="关键词"
|
||||
/>
|
||||
<el-form-item label="摘要:">
|
||||
@ -244,7 +244,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
@ -285,7 +285,7 @@ function submitForm() {
|
||||
if (form.value.id) {
|
||||
// TODO
|
||||
paperEdit(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -181,7 +181,7 @@
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="form.kind"-->
|
||||
<!-- clearable-->
|
||||
<!-- placeholder="请选择"-->
|
||||
<!-- :placeholder="t('admin.pleaseSelect')"-->
|
||||
<!-- style="width: 100%"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
@ -389,7 +389,7 @@ function handleDelete(id) {
|
||||
// await patentRef.value.validate();
|
||||
// if (form.value.id != undefined) {
|
||||
// await updateLabPatent(form.value);
|
||||
// ElMessage.success("修改成功");
|
||||
// ElMessage.success(t('admin.common.editSuccess'));
|
||||
// open.value = false;
|
||||
// getList();
|
||||
// } else {
|
||||
|
@ -188,7 +188,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -94,7 +94,7 @@
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="手机号:" prop="userPhone">-->
|
||||
<!-- <el-form-item :label="t('admin.form.mobile')" prop="userPhone">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="formData.userPhone"-->
|
||||
<!-- placeholder="自动获取"-->
|
||||
|
@ -181,7 +181,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -133,7 +133,7 @@ const submitPersonalInfo = async () => {
|
||||
try {
|
||||
await personFormRef.value.validate();
|
||||
await insertClientUser(personForm.value);
|
||||
ElMessage.success("更新个人信息成功");
|
||||
ElMessage.success(t("admin.common.updatePersonalInformationSuccess"));
|
||||
const { data } = await getInfo();
|
||||
personForm.value = data.user ?? {};
|
||||
} catch (error) {
|
||||
@ -146,7 +146,7 @@ const submitExpertForm = async () => {
|
||||
form.value.researchDirection = form.value.researchs?.join(",") ?? null;
|
||||
form.value.keyword = form.value.keywords?.join(",") ?? null;
|
||||
updateResearch(form.value).then((res) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
getBasicInfo();
|
||||
});
|
||||
} else {
|
||||
|
@ -179,7 +179,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@
|
||||
<!-- 添加或修改数据配置对话框 -->
|
||||
<el-dialog v-model="open" :title="title" append-to-body width="800px">
|
||||
<el-form ref="expertRef" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="专家姓名" prop="title">
|
||||
<el-form-item :label="t('admin.form.expertName')" prop="title">
|
||||
<el-input v-model="form.title" placeholder="请输入专家姓名" />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别" prop="gender">
|
||||
@ -122,7 +122,7 @@
|
||||
:labelWidth="100"
|
||||
fieldKey="researchs"
|
||||
placeholder="研究方向"
|
||||
title="研究方向"
|
||||
:title="t('admin.form.researchDirection')"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@ -253,7 +253,7 @@ function submitForm() {
|
||||
if (form.value.id) {
|
||||
// TODO
|
||||
paperEdit(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -267,7 +267,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -305,7 +305,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.deviceId) {
|
||||
updateEquipment(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -273,7 +273,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -313,7 +313,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.id) {
|
||||
laboratoryEdit(form.value).then((response) => {
|
||||
ElMessage.success("修改成功");
|
||||
ElMessage.success(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -131,7 +131,7 @@
|
||||
v-model="form"
|
||||
:labelWidth="100"
|
||||
fieldKey="keywords"
|
||||
placeholder="应用场景关键词+技术产品关键词"
|
||||
:placeholder="t('admin.form.inputKeywords')"
|
||||
title="关键词"
|
||||
/>
|
||||
<el-form-item label="摘要:">
|
||||
@ -238,7 +238,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
@ -279,7 +279,7 @@ function submitForm() {
|
||||
if (form.value.id) {
|
||||
// TODO
|
||||
paperEdit(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -163,7 +163,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -194,7 +194,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -91,7 +91,7 @@
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </el-col>-->
|
||||
<!-- <el-col :span="12">-->
|
||||
<!-- <el-form-item label="手机号:" prop="userPhone">-->
|
||||
<!-- <el-form-item :label="t('admin.form.mobile')" prop="userPhone">-->
|
||||
<!-- <el-input-->
|
||||
<!-- v-model="formData.userPhone"-->
|
||||
<!-- placeholder="自动获取"-->
|
||||
|
@ -181,7 +181,7 @@ function handleDelete(id) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
ElMessage.success("删除成功");
|
||||
ElMessage.success(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工作所在地:" prop="wordAddress">
|
||||
<el-form-item :label="t('admin.form.workLocation')" prop="wordAddress">
|
||||
<el-input v-model="modelValue.wordAddress" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -43,7 +43,7 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="工作经历:" prop="experience">
|
||||
<el-form-item :label="t('admin.form.workExperience')" prop="experience">
|
||||
<el-input
|
||||
v-model="modelValue.experience"
|
||||
:autosize="{ minRows: 2, maxRows: 10 }"
|
||||
@ -66,7 +66,7 @@
|
||||
|
||||
<el-row v-if="isAdd">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="身份证:" required>
|
||||
<el-form-item :label="t('admin.form.idCard')" required>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="idImage.0">
|
||||
@ -76,7 +76,9 @@
|
||||
:limit="1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<div style="text-align: center">身份证人像面</div>
|
||||
<div style="text-align: center">
|
||||
{{ t("admin.form.idCardPortrait") }}
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="idImage.1">
|
||||
@ -86,7 +88,9 @@
|
||||
:limit="1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<div style="text-align: center">身份证国徽面</div>
|
||||
<div style="text-align: center">
|
||||
{{ t("admin.form.idCardEmblem") }}
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="idImage.2">
|
||||
@ -96,7 +100,9 @@
|
||||
:limit="1"
|
||||
/>
|
||||
</el-form-item>
|
||||
<div style="text-align: center">手持身份证人像面</div>
|
||||
<div style="text-align: center">{{
|
||||
t('admin.validation.portraitOfTheIdCard')
|
||||
}}</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
@ -105,7 +111,10 @@
|
||||
|
||||
<el-row v-if="isAdd">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="成果经纪资格证书:" prop="certificatePics">
|
||||
<el-form-item
|
||||
:label="t('admin.form.achievementBroker')"
|
||||
prop="certificatePics"
|
||||
>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="8">
|
||||
<image-upload
|
||||
@ -122,8 +131,9 @@
|
||||
<script setup>
|
||||
import InputBoxAdd from "../InputBoxAdd";
|
||||
import FieldOptions from "../FieldOptions";
|
||||
import { ref } from "vue";
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const formRef = ref();
|
||||
const researchsFormRef = ref();
|
||||
@ -143,18 +153,18 @@ const props = defineProps({
|
||||
default: 120,
|
||||
},
|
||||
});
|
||||
const rules = {
|
||||
const rules = reactive({
|
||||
product: [
|
||||
{
|
||||
required: true,
|
||||
message: computed(() => t("admin.form.placeholder")),
|
||||
message: computed(() => t("admin.form.placeholder", { type: "" })),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: computed(() => t("admin.form.placeholder")),
|
||||
message: computed(() => t("admin.form.placeholder", { type: "" })),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
@ -173,7 +183,13 @@ const rules = {
|
||||
},
|
||||
],
|
||||
mobile: [
|
||||
{ required: true, message: "请输入手机号码", trigger: "blur" },
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", { name: t("admin.form.mobile") })
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^1[3-9]\d{9}$/,
|
||||
message: computed(() =>
|
||||
@ -192,7 +208,7 @@ const rules = {
|
||||
wordAddress: [
|
||||
{
|
||||
required: true,
|
||||
message: computed(() => t("admin.form.placeholder")),
|
||||
message: computed(() => t("admin.form.placeholder", { type: "" })),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
@ -231,7 +247,7 @@ const rules = {
|
||||
trigger: ["blur", "change"],
|
||||
},
|
||||
],
|
||||
};
|
||||
});
|
||||
|
||||
const validateForm = async () => {
|
||||
let formValid;
|
||||
|
@ -12,7 +12,7 @@
|
||||
<!-- <el-row v-if="isAdd"> -->
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="企业logo:">
|
||||
<el-form-item :label="t('admin.form.companyLogo')">
|
||||
<ImageUpload v-model="modelValue.image" :limit="1" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -20,7 +20,14 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="企业名称" prop="name">
|
||||
<el-form-item
|
||||
:label="
|
||||
t('admin.form.name', {
|
||||
type: t('admin.common.company'),
|
||||
})
|
||||
"
|
||||
prop="name"
|
||||
>
|
||||
<el-input v-model="modelValue.name"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -34,7 +41,7 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="联系方式" prop="phone">
|
||||
<el-form-item :label="t('webSearch.contactInformation')" prop="phone">
|
||||
<el-input
|
||||
v-model="modelValue.phone"
|
||||
:maxlength="11"
|
||||
@ -76,8 +83,11 @@
|
||||
</el-row> -->
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="企业类型:" prop="kind">
|
||||
<el-select v-model="modelValue.kind" placeholder="请选择">
|
||||
<el-form-item :label="t('admin.form.companyType')" prop="kind">
|
||||
<el-select
|
||||
v-model="modelValue.kind"
|
||||
:placeholder="t('admin.form.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in enterpriseOptions"
|
||||
:key="item.key"
|
||||
@ -89,7 +99,10 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="核心成果核心产品:" prop="product">
|
||||
<el-form-item
|
||||
:label="t('admin.form.coreAchievementProduct')"
|
||||
prop="product"
|
||||
>
|
||||
<el-input v-model="modelValue.product"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -120,8 +133,8 @@
|
||||
v-model="modelValue"
|
||||
:labelWidth="labelWidth"
|
||||
fieldKey="keywords"
|
||||
placeholder="应用场景关键词+技术产品关键词"
|
||||
title="关键词"
|
||||
:placeholder="t('admin.form.inputKeywords')"
|
||||
:title="t('admin.form.keywords')"
|
||||
/>
|
||||
<InputBoxAdd
|
||||
v-if="isAdd"
|
||||
@ -140,7 +153,7 @@
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="企业网站:">
|
||||
<el-form-item :label="t('webSearch.companyWebsite')">
|
||||
<el-input v-model="modelValue.url"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -170,7 +183,14 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="单位简介" prop="introduce">
|
||||
<el-form-item
|
||||
:label="
|
||||
t('admin.form.introduction', {
|
||||
type: t('webContact.unit'),
|
||||
})
|
||||
"
|
||||
prop="introduce"
|
||||
>
|
||||
<WangEditor
|
||||
v-model="modelValue.introduce"
|
||||
:minHeight="300"
|
||||
@ -189,7 +209,7 @@ import InputBoxAdd from "../InputBoxAdd";
|
||||
// import { researchSelect, laboratorySelect } from "@/api/identity/index";
|
||||
import WangEditor from "@/components/WangEditor";
|
||||
import { enterpriseOptions } from "@/utils/parameter";
|
||||
import { reactive, ref, toRefs } from "vue";
|
||||
import { computed, reactive, ref, toRefs } from "vue";
|
||||
import ImageUpload from "@/components/ImageUpload/index.vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
@ -243,9 +263,27 @@ const data = reactive({
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
username: [{ required: true, message: "请输入联系人", trigger: "blur" }],
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("admin.form.contact"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
phone: [
|
||||
{ required: true, message: "请输入联系方式", trigger: "blur" },
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("webSearch.contactInformation"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^1[3456789]\d{9}$/,
|
||||
message: "手机号格式不正确",
|
||||
@ -253,10 +291,22 @@ const data = reactive({
|
||||
},
|
||||
],
|
||||
email: [
|
||||
{ required: true, message: "请输入邮箱", trigger: "blur" },
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("admin.form.email"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
|
||||
message: "邮箱格式不正确",
|
||||
message: computed(() =>
|
||||
t("admin.validation.incorrectFormatOf", {
|
||||
type: t("admin.form.email"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
@ -340,7 +390,9 @@ const data = reactive({
|
||||
work_at: [
|
||||
{
|
||||
required: true,
|
||||
message: "从业时间不能为空",
|
||||
message: computed(() =>
|
||||
t("admin.validation.required", { type: t("admin.form.workingTime") })
|
||||
),
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
|
@ -19,12 +19,12 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="姓名:" prop="name">
|
||||
<el-form-item :label="t('admin.form.fullName')" prop="name">
|
||||
<el-input v-model="modelValue.name"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机号:" prop="mobile">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="mobile">
|
||||
<el-input v-model="modelValue.mobile" maxlength="11"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -36,7 +36,7 @@
|
||||
<el-select
|
||||
v-model="modelValue.researchId"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
@change="setLaboratory"
|
||||
>
|
||||
<el-option
|
||||
@ -54,7 +54,7 @@
|
||||
<el-select
|
||||
v-model="modelValue.laboratoryId"
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
@ -84,12 +84,15 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="毕业院校:" prop="school">
|
||||
<el-form-item :label="t('admin.table.graduateSchool')" prop="school">
|
||||
<el-input v-model="modelValue.school"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属研究机构:" prop="organization">
|
||||
<el-form-item
|
||||
:label="t('webSearch.researchInstitute')"
|
||||
prop="organization"
|
||||
>
|
||||
<el-input v-model="modelValue.organization"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -97,8 +100,14 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="最高学历:" prop="education">
|
||||
<el-select v-model="modelValue.education" placeholder="请选择">
|
||||
<el-form-item
|
||||
:label="t('admin.table.highestEducation')"
|
||||
prop="education"
|
||||
>
|
||||
<el-select
|
||||
v-model="modelValue.education"
|
||||
:placeholder="t('admin.form.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in educationOptions"
|
||||
:key="item.text"
|
||||
@ -110,7 +119,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主修专业:" prop="major">
|
||||
<el-form-item :label="t('admin.table.major')" prop="major">
|
||||
<el-input v-model="modelValue.major"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -118,12 +127,12 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职务:" prop="job">
|
||||
<el-form-item :label="t('admin.form.position')" prop="job">
|
||||
<el-input v-model="modelValue.job"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="职称:" prop="title">
|
||||
<el-form-item :label="t('webSearch.title')" prop="title">
|
||||
<el-input v-model="modelValue.title"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -131,20 +140,24 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="从业时间:" prop="workTime">
|
||||
<el-form-item :label="t('admin.form.workingTime')" prop="workTime">
|
||||
<el-date-picker
|
||||
v-model="modelValue.workTime"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择日期"
|
||||
:placeholder="t('admin.form.pleaseSelect')"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="性别:" prop="gender">
|
||||
<el-radio v-model="modelValue.gender" label="1">男</el-radio>
|
||||
<el-radio v-model="modelValue.gender" label="2">女</el-radio>
|
||||
<el-form-item :label="t('input.gender')" prop="gender">
|
||||
<el-radio v-model="modelValue.gender" label="1">
|
||||
{{ t("gender.male") }}
|
||||
</el-radio>
|
||||
<el-radio v-model="modelValue.gender" label="2"
|
||||
>{{ t("gender.female") }}
|
||||
</el-radio>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -158,23 +171,27 @@
|
||||
<InputBoxAdd
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="关键词"
|
||||
placeholder="应用场景关键词+技术产品关键词"
|
||||
:title="t('admin.form.keywords')"
|
||||
:placeholder="t('admin.form.inputKeywords')"
|
||||
fieldKey="keywords"
|
||||
ref="keywordsFormRef"
|
||||
/>
|
||||
<InputBoxAdd
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="研究方向"
|
||||
placeholder="请输入研究方向"
|
||||
:title="t('admin.form.researchDirection')"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
name: t('admin.form.researchDirection'),
|
||||
})
|
||||
"
|
||||
fieldKey="researchs"
|
||||
ref="researchsFormRef"
|
||||
/>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="个人简介:" prop="introduce">
|
||||
<el-form-item :label="t('admin.form.personalProfile')" prop="introduce">
|
||||
<!-- <el-input
|
||||
v-model="modelValue.introduce"
|
||||
placeholder="请输入研究方向、核心技术及产品、代表专利和论文、承担科研项目名称及项目摘要"
|
||||
@ -184,7 +201,11 @@
|
||||
/> -->
|
||||
<WangEditor
|
||||
v-model="modelValue.introduce"
|
||||
placeholder="请输入研究方向、核心技术及产品、代表专利和论文、承担科研项目名称及项目摘要"
|
||||
:placeholder="
|
||||
t(
|
||||
'admin.validation.pleaseEnterResearchDirectionCoreTechnologyAndProductRepresentativePatentsAndPapersUndertakeTheNameAndAbstractOfScientificResearchProjects'
|
||||
)
|
||||
"
|
||||
width="100%"
|
||||
min-height="150px"
|
||||
@blur="formRef.validateField(`introduce`)"
|
||||
@ -201,6 +222,7 @@ import FieldOptions from "@/views/components/FieldOptions";
|
||||
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
||||
import { educationOptions } from "@/utils/parameter";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
modelValue: Object,
|
||||
@ -321,7 +343,9 @@ const data = reactive({
|
||||
workTime: [
|
||||
{
|
||||
required: true,
|
||||
message: "从业时间不能为空",
|
||||
message: computed(() =>
|
||||
t("admin.validation.required", { type: t("admin.form.workingTime") })
|
||||
),
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
|
@ -102,8 +102,9 @@
|
||||
// import { industry } from "@/api/config";
|
||||
import { listSysIndustry } from "@/api/config";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { toRefs, watch } from "vue";
|
||||
import { computed, toRefs, watch } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
modelValue: Object,
|
||||
@ -129,7 +130,7 @@ const data = reactive({
|
||||
{
|
||||
type: "array",
|
||||
required: true,
|
||||
message: "请选择并添加",
|
||||
message: computed(() => t("admin.validation.pleaseSelectAndAdd")),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
|
@ -7,13 +7,13 @@
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="所属领域:">
|
||||
<el-form-item :label="t('admin.form.industry')">
|
||||
<el-row justify="space-between" type="flex">
|
||||
<el-col :span="7">
|
||||
<el-form-item prop="industrys.2">
|
||||
<el-select
|
||||
v-model="modelValue.industrys[0]"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
value-key="id"
|
||||
@change="levelIChange"
|
||||
>
|
||||
@ -30,7 +30,7 @@
|
||||
<el-col :span="7">
|
||||
<el-select
|
||||
v-model="modelValue.industrys[1]"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
value-key="id"
|
||||
@change="levelIIChange"
|
||||
>
|
||||
@ -46,7 +46,7 @@
|
||||
<el-col :span="7">
|
||||
<el-select
|
||||
v-model="modelValue.industrys[2]"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
value-key="id"
|
||||
>
|
||||
<el-option
|
||||
@ -68,8 +68,9 @@
|
||||
<script setup>
|
||||
import { listSysIndustry } from "@/api/config";
|
||||
// import { watch } from "fs";
|
||||
import { reactive, ref, toRefs, watch } from "vue";
|
||||
import { computed, reactive, ref, toRefs, watch } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
modelValue: Object,
|
||||
|
@ -14,7 +14,7 @@
|
||||
{
|
||||
required: true,
|
||||
type: 'array',
|
||||
message: '请输入并添加',
|
||||
message: t('admin.validation.pleaseInputAndAdd'),
|
||||
trigger: 'change',
|
||||
},
|
||||
]"
|
||||
@ -82,7 +82,6 @@ const { modelValue, title, fieldKey, placeholder, disabled, labelWidth } =
|
||||
const dataVal = ref("");
|
||||
const formRef = ref(null);
|
||||
const keyWordAdd = () => {
|
||||
console.log(title.value);
|
||||
let err_msg = computed(() =>
|
||||
t("admin.form.placeholder", { type: title.value })
|
||||
);
|
||||
|
@ -13,31 +13,44 @@
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="产品名称:" prop="title">
|
||||
<el-form-item
|
||||
:label="t('admin.form.name', { type: t('admin.form.product') })"
|
||||
prop="title"
|
||||
>
|
||||
<el-input
|
||||
v-model="modelValue.title"
|
||||
placeholder="请输入产品名称"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
type: t('admin.form.name', { type: t('admin.form.product') }),
|
||||
})
|
||||
"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="联系人:" prop="username">
|
||||
<el-form-item :label="t('admin.form.contact')" prop="username">
|
||||
<el-input
|
||||
v-model="modelValue.username"
|
||||
placeholder="请输入联系人"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', { type: t('admin.form.contact') })
|
||||
"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="联系方式:" prop="phone">
|
||||
<el-form-item :label="t('webSearch.contactInformation')" prop="phone">
|
||||
<el-input
|
||||
v-model="modelValue.phone"
|
||||
maxlength="11"
|
||||
placeholder="请输入联系方式"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
type: t('webSearch.contactInformation'),
|
||||
})
|
||||
"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -55,8 +68,12 @@
|
||||
<input-box-add
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="应用客户"
|
||||
placeholder="请输入应用客户"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
type: t('webSearch.applicationCustomers'),
|
||||
})
|
||||
"
|
||||
:title="t('webSearch.applicationCustomers')"
|
||||
fieldKey="customers"
|
||||
ref="customerFormRef"
|
||||
/>
|
||||
@ -67,7 +84,7 @@
|
||||
<el-select
|
||||
v-model="modelValue.maturity"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in maturityOptions"
|
||||
@ -86,7 +103,7 @@
|
||||
<el-select
|
||||
v-model="modelValue.leadStandard"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in leadOptions"
|
||||
@ -101,12 +118,16 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="合作模式:">
|
||||
<el-form-item :label="t('webSearch.cooperationMode')">
|
||||
<el-select
|
||||
v-model="modelValue.cooperationModeArr"
|
||||
clearable
|
||||
multiple
|
||||
placeholder="请选择"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
type: t('webSearch.cooperationMode'),
|
||||
})
|
||||
"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in cooperationOptions"
|
||||
@ -123,15 +144,24 @@
|
||||
<input-box-add
|
||||
:labelWidth="labelWidth"
|
||||
v-model="modelValue"
|
||||
title="关键词"
|
||||
placeholder="请输入关键词"
|
||||
:title="t('admin.form.keywords')"
|
||||
:placeholder="
|
||||
t('admin.form.placeholder', {
|
||||
type: t('admin.form.keywords'),
|
||||
})
|
||||
"
|
||||
fieldKey="keywords"
|
||||
ref="keywordsForm"
|
||||
/>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="产品简介:" prop="introduce">
|
||||
<el-form-item
|
||||
:label="
|
||||
t('admin.form.introduction', { type: t('admin.form.product') })
|
||||
"
|
||||
prop="introduce"
|
||||
>
|
||||
<wangEditor
|
||||
v-model="modelValue.introduce"
|
||||
min-height="150px"
|
||||
@ -174,10 +204,11 @@ import {
|
||||
leadOptions,
|
||||
cooperationOptions,
|
||||
} from "@/utils/parameter";
|
||||
import { reactive, toRefs } from "vue";
|
||||
import { computed, reactive, toRefs } from "vue";
|
||||
// import VideoUpload from "@/components/VideoUpload";
|
||||
// import { researchSelect, laboratorySelect } from "@/api/identity/index";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
modelValue: Object,
|
||||
@ -213,20 +244,54 @@ const data = reactive({
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
username: [{ required: true, message: "请输入联系人", trigger: "blur" }],
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("webSearch.contactInformation"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
phone: [
|
||||
{ required: true, message: "请输入联系方式", trigger: "blur" },
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("webSearch.contactInformation"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^1[3456789]\d{9}$/,
|
||||
message: "手机号格式不正确",
|
||||
message: computed(() =>
|
||||
t("admin.validation.incorrectFormatOf", {
|
||||
type: t("admin.form.mobile"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
email: [
|
||||
{ required: true, message: "请输入邮箱", trigger: "blur" },
|
||||
{
|
||||
required: true,
|
||||
message: computed(() =>
|
||||
t("admin.form.placeholder", {
|
||||
type: t("admin.form.email"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
|
||||
message: "邮箱格式不正确",
|
||||
message: computed(() =>
|
||||
t("admin.validation.incorrectFormatOf", {
|
||||
type: t("admin.form.email"),
|
||||
})
|
||||
),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
@ -261,7 +326,9 @@ const data = reactive({
|
||||
work_at: [
|
||||
{
|
||||
required: true,
|
||||
message: "从业时间不能为空",
|
||||
message: computed(() =>
|
||||
t("admin.validation.required", { type: t("admin.form.workingTime") })
|
||||
),
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
@ -350,6 +417,7 @@ defineExpose({
|
||||
font-weight: 700;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
// 上传图片框限制
|
||||
// ::v-deep .el-upload--picture-card {
|
||||
// width: 120px;
|
||||
|
@ -12,7 +12,9 @@
|
||||
|
||||
<el-row v-if="isAdd">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="机构logo:">
|
||||
<el-form-item
|
||||
:label="t('admin.form.logo', { type: t('admin.form.organization') })"
|
||||
>
|
||||
<ImageUpload v-model="modelValue.image" :limit="1" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -108,7 +110,7 @@
|
||||
</el-form>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from "vue";
|
||||
import { computed, reactive, ref } from "vue";
|
||||
import Editor from "@/components/WangEditor";
|
||||
import CityOptions from "../CityOptions";
|
||||
import FieldOptions from "../FieldOptions";
|
||||
@ -140,7 +142,7 @@ const props = defineProps({
|
||||
default: 120,
|
||||
},
|
||||
});
|
||||
const rules = {
|
||||
const rules = reactive({
|
||||
product: [
|
||||
{
|
||||
required: true,
|
||||
@ -176,7 +178,7 @@ const rules = {
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
|
||||
pattern: /^1[3456789]\d{9}$/,
|
||||
message: computed(() =>
|
||||
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
|
||||
),
|
||||
@ -235,7 +237,9 @@ const rules = {
|
||||
workAt: [
|
||||
{
|
||||
required: true,
|
||||
message: "从业时间不能为空",
|
||||
message: computed(() =>
|
||||
t("admin.validation.required", { type: t("admin.form.workingTime") })
|
||||
),
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
@ -253,7 +257,7 @@ const rules = {
|
||||
trigger: ["change", "blur"],
|
||||
},
|
||||
],
|
||||
};
|
||||
});
|
||||
|
||||
const validateForm = async () => {
|
||||
let formValid;
|
||||
|
@ -3,12 +3,12 @@
|
||||
<el-card shadow="always" style="width: 55%; margin: 0 auto">
|
||||
<agent-form ref="agentFormRef" v-model="form" is-add />
|
||||
<div :style="{ marginLeft: labelWidth + 'px' }">
|
||||
<el-button @click="$router.go(-1)">{{
|
||||
t("admin.common.cancel")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="submitForm">{{
|
||||
t("admin.common.submit")
|
||||
}}</el-button>
|
||||
<el-button @click="$router.go(-1)"
|
||||
>{{ t("admin.common.cancel") }}
|
||||
</el-button>
|
||||
<el-button type="primary" @click="submitForm"
|
||||
>{{ t("admin.common.submit") }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
@ -18,7 +18,10 @@ import AgentForm from "@/views/components/AgentForm";
|
||||
import { reactive, ref, toRefs } from "vue";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { insertCasBroker } from "@/api/admin/agent/account";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { useRouter } from "vue-router";
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const props = defineProps({
|
||||
labelWidth: {
|
||||
|
@ -24,7 +24,8 @@ import ExpertForm from "@/views/components/ExpertForm";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { useRouter } from "vue-router";
|
||||
import { reactive, ref } from "vue";
|
||||
|
||||
import { useI18n } from "vue-i18n";
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const labelWidth = 140;
|
||||
const form = reactive({
|
||||
|
@ -3,12 +3,12 @@
|
||||
<el-card shadow="always" style="width: 55%; margin: 0 auto">
|
||||
<research-form ref="researchFormRef" v-model="form" is-add />
|
||||
<div :style="{ marginLeft: labelWidth + 'px' }">
|
||||
<el-button @click="router.push('/identity/index')">{{
|
||||
t("admin.common.cancel")
|
||||
}}</el-button>
|
||||
<el-button type="primary" @click="submitForm">{{
|
||||
t("admin.common.submit")
|
||||
}}</el-button>
|
||||
<el-button @click="router.push('/identity/index')"
|
||||
>{{ t("admin.common.cancel") }}
|
||||
</el-button>
|
||||
<el-button type="primary" @click="submitForm"
|
||||
>{{ t("admin.common.submit") }}
|
||||
</el-button>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
@ -19,7 +19,9 @@ import { reactive, ref, toRefs } from "vue";
|
||||
import { insertResearch } from "@/api/identity";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { useRouter } from "vue-router";
|
||||
import { useI18n } from "vue-i18n";
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
const props = defineProps({
|
||||
labelWidth: {
|
||||
|
@ -440,7 +440,7 @@
|
||||
<li>富文本编辑组件新增readOnly属性</li>
|
||||
<li>页签TagsView新增关闭右侧功能</li>
|
||||
<li>显隐列组件加载初始默认隐藏列</li>
|
||||
<li>关闭头像上传窗口还原默认图片</li>
|
||||
<li>{{ t("common.close") }}头像上传窗口还原默认图片</li>
|
||||
<li>个人信息添加手机&邮箱重复验证</li>
|
||||
<li>代码生成模板导出按钮点击后添加遮罩</li>
|
||||
<li>代码生成模板树表操作列添加新增按钮</li>
|
||||
|
@ -225,7 +225,10 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="任务分组" prop="jobGroup">
|
||||
<el-select v-model="form.jobGroup" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="form.jobGroup"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_job_group"
|
||||
:key="dict.value"
|
||||
@ -563,7 +566,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.jobId != undefined) {
|
||||
updateJob(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -587,7 +590,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -97,8 +97,8 @@
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose"
|
||||
>关闭</el-button
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose">
|
||||
{{ t("common.close") }}</el-button
|
||||
>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
@ -312,7 +312,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ function handleForceLogout(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -334,7 +334,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -347,7 +347,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.configId != undefined) {
|
||||
updateConfig(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -371,7 +371,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -343,7 +343,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.deptId != undefined) {
|
||||
updateDept(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -366,7 +366,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -91,8 +91,8 @@
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose"
|
||||
>关闭</el-button
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose">
|
||||
{{ t("common.close") }}</el-button
|
||||
>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
@ -391,7 +391,7 @@ function submitForm() {
|
||||
if (form.value.dictCode != undefined) {
|
||||
updateData(form.value).then((response) => {
|
||||
useDictStore().removeDict(queryParams.value.dictType);
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -416,7 +416,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
useDictStore().removeDict(queryParams.value.dictType);
|
||||
})
|
||||
.catch(() => {});
|
||||
|
@ -348,7 +348,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.dictId != undefined) {
|
||||
updateType(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -372,7 +372,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -533,7 +533,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.menuId != undefined) {
|
||||
updateMenu(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -556,7 +556,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -179,7 +179,10 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="公告类型" prop="noticeType">
|
||||
<el-select v-model="form.noticeType" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="form.noticeType"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_notice_type"
|
||||
:key="dict.value"
|
||||
@ -334,7 +337,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.noticeId != undefined) {
|
||||
updateNotice(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -358,7 +361,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -307,7 +307,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.postId != undefined) {
|
||||
updatePost(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -331,7 +331,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -15,7 +15,7 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
@ -55,8 +55,8 @@
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose"
|
||||
>关闭</el-button
|
||||
<el-button type="warning" plain icon="Close" @click="handleClose">
|
||||
{{ t("common.close") }}</el-button
|
||||
>
|
||||
</el-col>
|
||||
<right-toolbar
|
||||
|
@ -462,7 +462,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -641,7 +641,7 @@ function submitForm() {
|
||||
if (form.value.roleId != undefined) {
|
||||
form.value.menuIds = getMenuAllCheckedKeys();
|
||||
updateRole(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
@ -691,7 +691,7 @@ function submitDataScope() {
|
||||
if (form.value.roleId != undefined) {
|
||||
form.value.deptIds = getDeptAllCheckedKeys();
|
||||
dataScope(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
openDataScope.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -16,7 +16,7 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
|
@ -43,7 +43,7 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
@ -183,7 +183,7 @@
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="手机号码"
|
||||
:label="t('admin.form.mobile')"
|
||||
align="center"
|
||||
key="phonenumber"
|
||||
prop="phonenumber"
|
||||
@ -312,7 +312,7 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="form.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
@ -363,7 +363,10 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户性别">
|
||||
<el-select v-model="form.sex" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="form.sex"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in sys_user_sex"
|
||||
:key="dict.value"
|
||||
@ -389,7 +392,11 @@
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="岗位">
|
||||
<el-select v-model="form.postIds" multiple placeholder="请选择">
|
||||
<el-select
|
||||
v-model="form.postIds"
|
||||
multiple
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in postOptions"
|
||||
:key="item.postId"
|
||||
@ -402,7 +409,11 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="角色">
|
||||
<el-select v-model="form.roleIds" multiple placeholder="请选择">
|
||||
<el-select
|
||||
v-model="form.roleIds"
|
||||
multiple
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in roleOptions"
|
||||
:key="item.roleId"
|
||||
@ -655,7 +666,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
@ -826,7 +837,7 @@ function submitForm() {
|
||||
if (valid) {
|
||||
if (form.value.userId != undefined) {
|
||||
updateUser(form.value).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
@ -26,7 +26,10 @@
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submit">保存</el-button>
|
||||
<el-button type="danger" @click="close">关闭</el-button>
|
||||
<el-button type="danger" @click="close">
|
||||
<!-- 关闭-->
|
||||
{{ t("common.close") }}
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@ -66,7 +69,7 @@ function submit() {
|
||||
proxy.$refs.pwdRef.validate((valid) => {
|
||||
if (valid) {
|
||||
updateUserPwd(user.oldPassword, user.newPassword).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -149,7 +149,7 @@ function uploadImg() {
|
||||
open.value = false;
|
||||
options.img = import.meta.env.VITE_APP_BASE_API + response.imgUrl;
|
||||
userStore.avatar = options.img;
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
visible.value = false;
|
||||
});
|
||||
});
|
||||
|
@ -3,7 +3,7 @@
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-input v-model="user.nickName" maxlength="30" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-form-item :label="t('admin.form.mobile')" prop="phonenumber">
|
||||
<el-input v-model="user.phonenumber" maxlength="11" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="t('')" prop="email">
|
||||
@ -11,13 +11,15 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="性别">
|
||||
<el-radio-group v-model="user.sex">
|
||||
<el-radio label="0">男</el-radio>
|
||||
<el-radio label="0"> {{ t("gender.male") }}</el-radio>
|
||||
<el-radio label="1">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submit">保存</el-button>
|
||||
<el-button type="danger" @click="close">关闭</el-button>
|
||||
<el-button type="danger" @click="close">
|
||||
{{ t("common.close") }}</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@ -60,7 +62,7 @@ function submit() {
|
||||
proxy.$refs.userRef.validate((valid) => {
|
||||
if (valid) {
|
||||
updateUserProfile(props.user).then((response) => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.editSuccess"));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
@ -123,7 +123,7 @@
|
||||
v-model="scope.row.dictType"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dictOptions"
|
||||
|
@ -149,7 +149,10 @@
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<el-select v-model="info.treeCode" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="info.treeCode"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="(column, index) in info.columns"
|
||||
:key="index"
|
||||
@ -170,7 +173,10 @@
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<el-select v-model="info.treeParentCode" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="info.treeParentCode"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="(column, index) in info.columns"
|
||||
:key="index"
|
||||
@ -191,7 +197,10 @@
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<el-select v-model="info.treeName" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="info.treeName"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="(column, index) in info.columns"
|
||||
:key="index"
|
||||
@ -220,7 +229,7 @@
|
||||
</template>
|
||||
<el-select
|
||||
v-model="info.subTableName"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
@change="subSelectChange"
|
||||
>
|
||||
<el-option
|
||||
@ -243,7 +252,10 @@
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<el-select v-model="info.subTableFkName" placeholder="请选择">
|
||||
<el-select
|
||||
v-model="info.subTableFkName"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
>
|
||||
<el-option
|
||||
v-for="(column, index) in subColumns"
|
||||
:key="index"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user