fix
This commit is contained in:
@ -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"
|
||||
|
@ -370,7 +370,7 @@ function handleDelete(row) {
|
||||
})
|
||||
.then(() => {
|
||||
getList();
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
proxy.$modal.msgSuccess(t("admin.common.deleteSuccess"));
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
<div class="leftBox">
|
||||
<div class="head">
|
||||
<div class="a">地区</div>
|
||||
<div class="b">实验室数量</div>
|
||||
<div class="b">{{ t("quantityOverview.lab") }}</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="Object.keys(snapTree).length > 0"
|
||||
@ -60,6 +60,7 @@ import {
|
||||
countEnterpriseByArea,
|
||||
} from "@/api/website/home/index";
|
||||
import RegionPagine from "./RegionPagine.vue";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const loading = shallowRef(true);
|
||||
let treeData = [];
|
||||
@ -435,6 +436,7 @@ function loadMap(mapName, data) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
|
||||
.tit {
|
||||
position: absolute;
|
||||
top: 75px;
|
||||
@ -446,6 +448,7 @@ function loadMap(mapName, data) {
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
.map {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -466,9 +469,11 @@ function loadMap(mapName, data) {
|
||||
top: 100px;
|
||||
cursor: pointer;
|
||||
z-index: 1000;
|
||||
|
||||
&:hover {
|
||||
left: 55px;
|
||||
}
|
||||
|
||||
img {
|
||||
margin: 28px auto 0;
|
||||
width: 30px;
|
||||
@ -476,9 +481,11 @@ function loadMap(mapName, data) {
|
||||
transition: all 0.5s;
|
||||
}
|
||||
}
|
||||
|
||||
.leftBox {
|
||||
left: 6%;
|
||||
}
|
||||
|
||||
.rightBox {
|
||||
right: 6%;
|
||||
max-height: 465px !important;
|
||||
@ -494,13 +501,16 @@ function loadMap(mapName, data) {
|
||||
// overflow: hidden;
|
||||
border: 1px solid #dcdcdc;
|
||||
color: #666666;
|
||||
|
||||
& > div {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.head {
|
||||
border-bottom: 1px solid #dcdcdc;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.a {
|
||||
flex: 1;
|
||||
border-right: 1px solid #dcdcdc;
|
||||
@ -510,6 +520,7 @@ function loadMap(mapName, data) {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.b {
|
||||
text-align: center;
|
||||
line-height: 42px;
|
||||
|
@ -33,7 +33,7 @@
|
||||
<div class="order" @click="showDocking = true">
|
||||
{{ t("webSearch.appointment") }}
|
||||
</div>
|
||||
<div class="share">一键分享</div>
|
||||
<div class="share">{{ t("webSearch.share") }}</div>
|
||||
</div>
|
||||
|
||||
<div class="detail">
|
||||
|
@ -10,7 +10,9 @@
|
||||
<p>联系人:中科云平台</p>
|
||||
<p>联系电话:18156053255(微信同号)</p>
|
||||
<template #footer>
|
||||
<el-button type="primary" @click="closeDialog">关闭</el-button>
|
||||
<el-button type="primary" @click="closeDialog">
|
||||
{{ t("common.close") }}</el-button
|
||||
>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
@ -10,7 +10,7 @@
|
||||
<el-col :span="8">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
v-model="state.id1"
|
||||
@change="
|
||||
state.id2 = '';
|
||||
@ -29,7 +29,7 @@
|
||||
<el-col :span="8">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
v-model="state.id2"
|
||||
@change="
|
||||
state.id3 = '';
|
||||
@ -48,7 +48,7 @@
|
||||
<el-col :span="8">
|
||||
<el-select
|
||||
style="width: 100%"
|
||||
placeholder="请选择"
|
||||
:placeholder="t('admin.pleaseSelect')"
|
||||
v-model="state.id3"
|
||||
@change="change()"
|
||||
clearable
|
||||
|
@ -2,17 +2,17 @@
|
||||
<div v-loading="loading">
|
||||
<searchContainer
|
||||
bannerKey="首页>专家库>专家详情"
|
||||
title="专家库"
|
||||
:title="t('webSearch.expertLibrary')"
|
||||
@handleQuery="handleQuery"
|
||||
>
|
||||
<template v-slot>
|
||||
<div class="head">
|
||||
<el-breadcrumb separator="/">
|
||||
<el-breadcrumb-item>
|
||||
<span class="one">找专家</span>
|
||||
<span class="one">{{ t("admin.findExpert") }}</span>
|
||||
</el-breadcrumb-item>
|
||||
<el-breadcrumb-item>
|
||||
<span>专家详情</span>
|
||||
<span>{{ t("webSearch.expertDetails") }}</span>
|
||||
</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</div>
|
||||
@ -23,25 +23,27 @@
|
||||
<div class="order" @click="showDocking = true">
|
||||
{{ t("webSearch.appointment") }}
|
||||
</div>
|
||||
<div class="share">一键分享</div>
|
||||
<div class="share">{{ t("webSearch.share") }}</div>
|
||||
</div>
|
||||
|
||||
<div class="detail">
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">个人简介</div>
|
||||
<div class="pointTit">
|
||||
{{ t("admin.form.personalProfile") }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="html" v-html="state.expertDetail.introduce"></div>
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">性别</div>
|
||||
<div class="pointTit">{{ t("input.gender") }}</div>
|
||||
</div>
|
||||
<section>
|
||||
<div>
|
||||
{{
|
||||
state.expertDetail.gender == "1"
|
||||
? "男"
|
||||
? t("gender.male")
|
||||
: state.expertDetail.gender == "2"
|
||||
? "女"
|
||||
: "未知"
|
||||
? t("gender.female")
|
||||
: t("common.unknown")
|
||||
}}
|
||||
</div>
|
||||
</section>
|
||||
@ -54,7 +56,7 @@
|
||||
</div>
|
||||
</section> -->
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">主修专业</div>
|
||||
<div class="pointTit">{{ t("admin.table.major") }}</div>
|
||||
</div>
|
||||
<section>
|
||||
<div>
|
||||
@ -70,7 +72,7 @@
|
||||
</div>
|
||||
</section>
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">职称</div>
|
||||
<div class="pointTit">{{ t("webSearch.title") }}</div>
|
||||
</div>
|
||||
<section>
|
||||
<div>
|
||||
@ -78,7 +80,9 @@
|
||||
</div>
|
||||
</section>
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">所属领域</div>
|
||||
<div class="pointTit">
|
||||
{{ t("webSearch.industry") }}
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div>
|
||||
@ -86,7 +90,9 @@
|
||||
</div>
|
||||
</section>
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">最高学历</div>
|
||||
<div class="pointTit">
|
||||
{{ t("admin.table.highestEducation") }}
|
||||
</div>
|
||||
</div>
|
||||
<section>
|
||||
<div>
|
||||
@ -94,7 +100,9 @@
|
||||
</div>
|
||||
</section>
|
||||
<div style="padding: 20px 0">
|
||||
<div class="pointTit">研究方向</div>
|
||||
<div class="pointTit">
|
||||
{{ t("webSearch.researchDirection") }}
|
||||
</div>
|
||||
</div>
|
||||
<section v-if="state.expertDetail.research">
|
||||
<div
|
||||
|
Reference in New Issue
Block a user