bug fix and performance improvements
This commit is contained in:
1
src/assets/world-outline-low-precision.json
Normal file
1
src/assets/world-outline-low-precision.json
Normal file
File diff suppressed because one or more lines are too long
111599
src/assets/world.json
Normal file
111599
src/assets/world.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -216,7 +216,7 @@ watch(
|
|||||||
pagePath.value = route.path;
|
pagePath.value = route.path;
|
||||||
|
|
||||||
const switchLocale = () => {
|
const switchLocale = () => {
|
||||||
settingsStore.toggleLocale()
|
settingsStore.toggleLocale();
|
||||||
// if (settingsStore.locale === "zh") {
|
// if (settingsStore.locale === "zh") {
|
||||||
// settingsStore.setLocale("ru");
|
// settingsStore.setLocale("ru");
|
||||||
// } else if (settingsStore.locale === "ru") {
|
// } else if (settingsStore.locale === "ru") {
|
||||||
|
|||||||
@ -15,13 +15,16 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { getCodeImg } from "@/api/login";
|
import { getCodeImg } from "@/api/login";
|
||||||
|
import { computed } from "vue";
|
||||||
|
import { useI18n } from "vue-i18n";
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
mobile: String,
|
mobile: String,
|
||||||
});
|
});
|
||||||
|
|
||||||
const disabled = ref(true);
|
const disabled = ref(true);
|
||||||
const buttonName = ref("获取验证码");
|
const buttonName = ref(t("login.getVerificationCode"));
|
||||||
const isDisabled = ref(false);
|
const isDisabled = ref(false);
|
||||||
const time = ref(60);
|
const time = ref(60);
|
||||||
|
|
||||||
@ -56,11 +59,13 @@ function getCode() {
|
|||||||
width: 30%;
|
width: 30%;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
float: right;
|
float: right;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-code-img {
|
.login-code-img {
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -866,7 +866,8 @@ export const laboratoryRoutes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "release",
|
path: "release",
|
||||||
component: () => import("@/views/admin/laboratory/research/achievement/release"),
|
component: () =>
|
||||||
|
import("@/views/admin/laboratory/research/achievement/release"),
|
||||||
hidden: true,
|
hidden: true,
|
||||||
name: "Release",
|
name: "Release",
|
||||||
meta: {
|
meta: {
|
||||||
|
|||||||
@ -362,3 +362,36 @@ export const cooperationOptions = [
|
|||||||
ru: "Другие",
|
ru: "Другие",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export const countryOptions = [
|
||||||
|
{
|
||||||
|
key: "zh",
|
||||||
|
zh: "中国",
|
||||||
|
ru: "Китай",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "ru",
|
||||||
|
zh: "俄罗斯",
|
||||||
|
ru: "Россия",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "tj",
|
||||||
|
zh: "塔吉克斯坦",
|
||||||
|
ru: "Таджикистан",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "kg",
|
||||||
|
zh: "土库曼斯坦",
|
||||||
|
ru: "Туркменистан",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "uz",
|
||||||
|
zh: "乌兹别克斯坦",
|
||||||
|
ru: "Узбекистан",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: "kz",
|
||||||
|
zh: "哈萨克斯坦",
|
||||||
|
ru: "Казахстан",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|||||||
@ -86,6 +86,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<!-- COMPLETED:-->
|
||||||
<!-- <CityOptions
|
<!-- <CityOptions
|
||||||
v-model="form"
|
v-model="form"
|
||||||
:labelWidth="labelWidth"
|
:labelWidth="labelWidth"
|
||||||
@ -341,4 +342,4 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -90,6 +90,21 @@
|
|||||||
:labelWidth="labelWidth"
|
:labelWidth="labelWidth"
|
||||||
ref="cityFormRef"
|
ref="cityFormRef"
|
||||||
></city-options>-->
|
></city-options>-->
|
||||||
|
<!-- TODO:-->
|
||||||
|
<!-- <el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
|
<el-select
|
||||||
|
v-model="form.country"
|
||||||
|
:placeholder="
|
||||||
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>-->
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -241,8 +256,9 @@ import {
|
|||||||
updateTechnologyDemand,
|
updateTechnologyDemand,
|
||||||
} from "@/api/admin/enterprise/demand";
|
} from "@/api/admin/enterprise/demand";
|
||||||
import tab from "@/plugins/tab";
|
import tab from "@/plugins/tab";
|
||||||
|
import { countryOptions } from "@/utils/parameter";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
|
|||||||
@ -92,15 +92,15 @@
|
|||||||
@click="handleResults(row)"
|
@click="handleResults(row)"
|
||||||
>{{ t("webSearch.viewMatchingResults") }}
|
>{{ t("webSearch.viewMatchingResults") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- <el-button-->
|
<!-- <el-button-->
|
||||||
<!-- v-if="queryParams.status == 1"-->
|
<!-- v-if="queryParams.status == 1"-->
|
||||||
<!-- disabled-->
|
<!-- disabled-->
|
||||||
<!-- size="small"-->
|
<!-- size="small"-->
|
||||||
<!-- type="text"-->
|
<!-- type="text"-->
|
||||||
<!-- icon="View"-->
|
<!-- icon="View"-->
|
||||||
<!-- @click="checkEnterpriseInfo(row.id)"-->
|
<!-- @click="checkEnterpriseInfo(row.id)"-->
|
||||||
<!-- >{{ t("tips.browseEnterpriseInformation") }}-->
|
<!-- >{{ t("tips.browseEnterpriseInformation") }}-->
|
||||||
<!-- </el-button>-->
|
<!-- </el-button>-->
|
||||||
<el-button
|
<el-button
|
||||||
v-if="queryParams.status == 0"
|
v-if="queryParams.status == 0"
|
||||||
size="small"
|
size="small"
|
||||||
@ -241,4 +241,4 @@ const checkEnterpriseInfo = (id) => {
|
|||||||
onActivated(() => {
|
onActivated(() => {
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -98,20 +98,21 @@
|
|||||||
:title="t('webSearch.applicationCustomers')"
|
:title="t('webSearch.applicationCustomers')"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- <CityOptions-->
|
|
||||||
<!-- ref="cityFormRef"-->
|
|
||||||
<!-- v-model="modelValue"-->
|
|
||||||
<!-- :labelWidth="labelWidth"-->
|
|
||||||
<!-- ></CityOptions>-->
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="t('admin.form.country')" prop="country">
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<el-input
|
<el-select
|
||||||
v-model="modelValue.country"
|
v-model="modelValue.country"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
t('admin.form.placeholder', { type: t('admin.form.country') })
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
"
|
"
|
||||||
></el-input>
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -288,6 +289,7 @@ import FieldOptions from "@/views/components/FieldOptions";
|
|||||||
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
||||||
import {
|
import {
|
||||||
cooperationOptions,
|
cooperationOptions,
|
||||||
|
countryOptions,
|
||||||
leadOptions,
|
leadOptions,
|
||||||
maturityOptions,
|
maturityOptions,
|
||||||
} from "@/utils/parameter";
|
} from "@/utils/parameter";
|
||||||
|
|||||||
@ -85,11 +85,21 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- <CityOptions
|
<!--COMPLETED-->
|
||||||
v-model="formData"
|
<!-- <el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
:labelWidth="labelWidth"
|
<el-select
|
||||||
ref="cityFormRef"
|
v-model="formData.country"
|
||||||
/> -->
|
:placeholder="
|
||||||
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>-->
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -153,7 +163,7 @@ import {
|
|||||||
insertDemand,
|
insertDemand,
|
||||||
updateDemand,
|
updateDemand,
|
||||||
} from "@/api/admin/expert/demand";
|
} from "@/api/admin/expert/demand";
|
||||||
import { demandCategoryList } from "@/utils/parameter";
|
import { countryOptions, demandCategoryList } from "@/utils/parameter";
|
||||||
import { uniqueId } from "lodash";
|
import { uniqueId } from "lodash";
|
||||||
import tab from "@/plugins/tab"; // import CityOptions from "@/views/components/CityOptions";
|
import tab from "@/plugins/tab"; // import CityOptions from "@/views/components/CityOptions";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
@ -331,4 +341,4 @@ if (route.query.id) {
|
|||||||
tab.updatePage(obj);
|
tab.updatePage(obj);
|
||||||
getDetail();
|
getDetail();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -116,6 +116,7 @@
|
|||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<!-- COMPLETED -->
|
||||||
<!-- <div class="hide_required">
|
<!-- <div class="hide_required">
|
||||||
<CityOptions v-model="form" :labelWidth="100" :is_required="false" />
|
<CityOptions v-model="form" :labelWidth="100" :is_required="false" />
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|||||||
@ -31,7 +31,7 @@ import { useRoute, useRouter } from "vue-router";
|
|||||||
import { updateCount } from "@/api/admin/count";
|
import { updateCount } from "@/api/admin/count";
|
||||||
import ReleaseForm from "../components/ReleaseForm";
|
import ReleaseForm from "../components/ReleaseForm";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import {updateAchievement} from "@/api/admin/laboratory/achievement";
|
import { updateAchievement } from "@/api/admin/laboratory/achievement";
|
||||||
|
|
||||||
const labelWidth = 140;
|
const labelWidth = 140;
|
||||||
|
|
||||||
|
|||||||
@ -1,63 +1,63 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card style="width: 55%; margin: 0 auto">
|
<el-card style="width: 55%; margin: 0 auto">
|
||||||
<!-- <p>-->
|
<!-- <p>-->
|
||||||
<!-- <b> {{ t("admin.form.basicData") }}</b>-->
|
<!-- <b> {{ t("admin.form.basicData") }}</b>-->
|
||||||
<!-- </p>-->
|
<!-- </p>-->
|
||||||
<!-- <el-form-->
|
<!-- <el-form-->
|
||||||
<!-- ref="personFormRef"-->
|
<!-- ref="personFormRef"-->
|
||||||
<!-- :model="personForm"-->
|
<!-- :model="personForm"-->
|
||||||
<!-- :rules="rules"-->
|
<!-- :rules="rules"-->
|
||||||
<!-- label-width="100px"-->
|
<!-- label-width="100px"-->
|
||||||
<!-- >-->
|
<!-- >-->
|
||||||
<!-- <el-form-item :label="t('admin.form.fullName')" prop="nickName">-->
|
<!-- <el-form-item :label="t('admin.form.fullName')" prop="nickName">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="personForm.nickName"-->
|
<!-- v-model="personForm.nickName"-->
|
||||||
<!-- :placeholder="-->
|
<!-- :placeholder="-->
|
||||||
<!-- t('admin.form.placeholder', { type: t('admin.form.fullName') })-->
|
<!-- t('admin.form.placeholder', { type: t('admin.form.fullName') })-->
|
||||||
<!-- "-->
|
<!-- "-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item :label="t('admin.form.mobile')" prop="mobile">-->
|
<!-- <el-form-item :label="t('admin.form.mobile')" prop="mobile">-->
|
||||||
<!-- <!– :maxlength="11"–>-->
|
<!-- <!– :maxlength="11"–>-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="personForm.mobile"-->
|
<!-- v-model="personForm.mobile"-->
|
||||||
<!-- oninput="value = value.replace(/\D/,'')"-->
|
<!-- oninput="value = value.replace(/\D/,'')"-->
|
||||||
<!-- :placeholder="-->
|
<!-- :placeholder="-->
|
||||||
<!-- t('admin.form.placeholder', { type: t('admin.form.mobile') })-->
|
<!-- t('admin.form.placeholder', { type: t('admin.form.mobile') })-->
|
||||||
<!-- "-->
|
<!-- "-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item :label="t('admin.form.email')" prop="email">-->
|
<!-- <el-form-item :label="t('admin.form.email')" prop="email">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="personForm.email"-->
|
<!-- v-model="personForm.email"-->
|
||||||
<!-- :placeholder="-->
|
<!-- :placeholder="-->
|
||||||
<!-- t('admin.form.placeholder', { type: t('admin.form.email') })-->
|
<!-- t('admin.form.placeholder', { type: t('admin.form.email') })-->
|
||||||
<!-- "-->
|
<!-- "-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item :label="t('admin.form.position')" prop="post">-->
|
<!-- <el-form-item :label="t('admin.form.position')" prop="post">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="personForm.post"-->
|
<!-- v-model="personForm.post"-->
|
||||||
<!-- :placeholder="-->
|
<!-- :placeholder="-->
|
||||||
<!-- t('admin.form.placeholder', { type: t('admin.form.position') })-->
|
<!-- t('admin.form.placeholder', { type: t('admin.form.position') })-->
|
||||||
<!-- "-->
|
<!-- "-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item :label="t('admin.form.phone')" prop="phone">-->
|
<!-- <el-form-item :label="t('admin.form.phone')" prop="phone">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="personForm.phone"-->
|
<!-- v-model="personForm.phone"-->
|
||||||
<!-- :placeholder="-->
|
<!-- :placeholder="-->
|
||||||
<!-- t('admin.form.placeholder', { type: t('admin.form.phone') })-->
|
<!-- t('admin.form.placeholder', { type: t('admin.form.phone') })-->
|
||||||
<!-- "-->
|
<!-- "-->
|
||||||
<!-- />-->
|
<!-- />-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- <el-form-item>-->
|
<!-- <el-form-item>-->
|
||||||
<!-- <el-button type="primary" @click="submitPersonalInfo"-->
|
<!-- <el-button type="primary" @click="submitPersonalInfo"-->
|
||||||
<!-- >{{ t("admin.common.submit") }}-->
|
<!-- >{{ t("admin.common.submit") }}-->
|
||||||
<!-- </el-button>-->
|
<!-- </el-button>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
<!-- </el-form>-->
|
<!-- </el-form>-->
|
||||||
<p>
|
<p>
|
||||||
<b>{{ t("admin.form.data", { type: t("admin.common.lab") }) }}</b>
|
<b>{{ t("admin.form.data", { type: t("admin.common.lab") }) }}</b>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@ -350,4 +350,4 @@ const handleAdd = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
getList();
|
getList();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -64,12 +64,20 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- <CityOptions-->
|
<!-- <el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<!-- ref="cityForm"-->
|
<el-select
|
||||||
<!-- v-model="formData"-->
|
v-model="formData.country"
|
||||||
<!-- :labelWidth="labelWidth"-->
|
:placeholder="
|
||||||
<!-- />-->
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>-->
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item :label="t('admin.form.demandContact')" prop="name">
|
<el-form-item :label="t('admin.form.demandContact')" prop="name">
|
||||||
@ -133,8 +141,9 @@ import { useRoute } from "vue-router";
|
|||||||
import tab from "@/plugins/tab";
|
import tab from "@/plugins/tab";
|
||||||
import { serviceDemandInfo } from "@/api/admin/laboratory/service-demand";
|
import { serviceDemandInfo } from "@/api/admin/laboratory/service-demand";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { countryOptions } from "@/utils/parameter";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
formData: {
|
formData: {
|
||||||
|
|||||||
@ -1,66 +1,66 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card style="width: 55%; margin: 0 auto">
|
<el-card style="width: 55%; margin: 0 auto">
|
||||||
<p>
|
<!-- <p>-->
|
||||||
<b> {{ t("admin.form.basicData") }}</b>
|
<!-- <b> {{ t("admin.form.basicData") }}</b>-->
|
||||||
</p>
|
<!-- </p>-->
|
||||||
<el-form
|
<!-- <el-form-->
|
||||||
ref="personFormRef"
|
<!-- ref="personFormRef"-->
|
||||||
:model="personForm"
|
<!-- :model="personForm"-->
|
||||||
:rules="rules"
|
<!-- :rules="rules"-->
|
||||||
label-width="100px"
|
<!-- label-width="100px"-->
|
||||||
>
|
<!-- >-->
|
||||||
<el-form-item :label="t('admin.form.fullName')" prop="nickName">
|
<!-- <el-form-item :label="t('admin.form.fullName')" prop="nickName">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="personForm.nickName"
|
<!-- v-model="personForm.nickName"-->
|
||||||
:placeholder="
|
<!-- :placeholder="-->
|
||||||
t('admin.form.placeholder', { type: t('admin.form.fullName') })
|
<!-- t('admin.form.placeholder', { type: t('admin.form.fullName') })-->
|
||||||
"
|
<!-- "-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item :label="t('admin.form.mobile')" prop="mobile">
|
<!-- <el-form-item :label="t('admin.form.mobile')" prop="mobile">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="personForm.mobile"
|
<!-- v-model="personForm.mobile"-->
|
||||||
:placeholder="
|
<!-- :placeholder="-->
|
||||||
t('admin.form.placeholder', { type: t('admin.form.mobile') })
|
<!-- t('admin.form.placeholder', { type: t('admin.form.mobile') })-->
|
||||||
"
|
<!-- "-->
|
||||||
/>
|
<!-- />-->
|
||||||
<!-- oninput="value=value.replace(/\D/,'')"-->
|
<!-- <!– oninput="value=value.replace(/\D/,'')"–>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item :label="t('admin.form.email')" prop="email">
|
<!-- <el-form-item :label="t('admin.form.email')" prop="email">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="personForm.email"
|
<!-- v-model="personForm.email"-->
|
||||||
:placeholder="
|
<!-- :placeholder="-->
|
||||||
t('admin.form.placeholder', { type: t('admin.form.email') })
|
<!-- t('admin.form.placeholder', { type: t('admin.form.email') })-->
|
||||||
"
|
<!-- "-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item :label="t('admin.form.position')" prop="post">
|
<!-- <el-form-item :label="t('admin.form.position')" prop="post">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="personForm.post"
|
<!-- v-model="personForm.post"-->
|
||||||
:placeholder="
|
<!-- :placeholder="-->
|
||||||
t('admin.form.placeholder', { type: t('admin.form.position') })
|
<!-- t('admin.form.placeholder', { type: t('admin.form.position') })-->
|
||||||
"
|
<!-- "-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item :label="t('admin.form.phone')" prop="phone">
|
<!-- <el-form-item :label="t('admin.form.phone')" prop="phone">-->
|
||||||
<el-input
|
<!-- <el-input-->
|
||||||
v-model="personForm.phone"
|
<!-- v-model="personForm.phone"-->
|
||||||
:placeholder="
|
<!-- :placeholder="-->
|
||||||
t('admin.form.placeholder', { type: t('admin.form.phone') })
|
<!-- t('admin.form.placeholder', { type: t('admin.form.phone') })-->
|
||||||
"
|
<!-- "-->
|
||||||
/>
|
<!-- />-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
<el-form-item>
|
<!-- <el-form-item>-->
|
||||||
<el-button type="primary" @click="submitPersonalInfo"
|
<!-- <el-button type="primary" @click="submitPersonalInfo"-->
|
||||||
>{{ t("admin.common.submit") }}
|
<!-- >{{ t("admin.common.submit") }}-->
|
||||||
</el-button>
|
<!-- </el-button>-->
|
||||||
</el-form-item>
|
<!-- </el-form-item>-->
|
||||||
</el-form>
|
<!-- </el-form>-->
|
||||||
<p>
|
<p>
|
||||||
<b>{{ t("admin.form.data", { type: t("admin.common.research") }) }}</b>
|
<b>{{ t("admin.form.data", { type: t("admin.common.research") }) }}</b>
|
||||||
</p>
|
</p>
|
||||||
<research-form ref="researchFormRef" v-model="form" :is-add="false" />
|
<research-form ref="researchFormRef" v-model="form" :is-add="true" />
|
||||||
<div :style="{ marginLeft: labelWidth + 'px' }">
|
<div :style="{ marginLeft: labelWidth + 'px' }">
|
||||||
<el-button type="primary" @click="submitExpertForm"
|
<el-button type="primary" @click="submitExpertForm"
|
||||||
>{{ t("admin.common.submit") }}
|
>{{ t("admin.common.submit") }}
|
||||||
|
|||||||
@ -65,11 +65,21 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<CityOptions
|
<!--COMPLETED-->
|
||||||
ref="cityForm"
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
v-model="formData"
|
<el-select
|
||||||
:labelWidth="labelWidth"
|
v-model="formData.country"
|
||||||
/>
|
:placeholder="
|
||||||
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -135,8 +145,9 @@ import { useRoute } from "vue-router";
|
|||||||
import tab from "@/plugins/tab";
|
import tab from "@/plugins/tab";
|
||||||
import { serviceDemandInfo } from "@/api/admin/research/service-demand";
|
import { serviceDemandInfo } from "@/api/admin/research/service-demand";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { countryOptions } from "@/utils/parameter";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
formData: {
|
formData: {
|
||||||
check: [],
|
check: [],
|
||||||
|
|||||||
@ -111,12 +111,18 @@
|
|||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="t('admin.form.country')" prop="country">
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<el-input
|
<el-select
|
||||||
v-model="modelValue.country"
|
v-model="modelValue.country"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
t('admin.form.placeholder', { type: t('admin.form.country') })
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
"
|
"
|
||||||
></el-input>
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -216,7 +222,7 @@
|
|||||||
import FieldOptions from "../FieldOptions";
|
import FieldOptions from "../FieldOptions";
|
||||||
import InputBoxAdd from "../InputBoxAdd";
|
import InputBoxAdd from "../InputBoxAdd";
|
||||||
// import { researchSelect, laboratorySelect } from "@/api/identity/index";
|
// import { researchSelect, laboratorySelect } from "@/api/identity/index";
|
||||||
import { enterpriseOptions } from "@/utils/parameter";
|
import { countryOptions, enterpriseOptions } from "@/utils/parameter";
|
||||||
import { computed, reactive, ref, toRefs } from "vue";
|
import { computed, reactive, ref, toRefs } from "vue";
|
||||||
import ImageUpload from "@/components/ImageUpload/index.vue";
|
import ImageUpload from "@/components/ImageUpload/index.vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
|||||||
@ -68,13 +68,19 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row> -->
|
</el-row> -->
|
||||||
|
|
||||||
<!-- <CityOptions-->
|
|
||||||
<!-- v-model="modelValue"-->
|
|
||||||
<!-- :labelWidth="labelWidth"-->
|
|
||||||
<!-- ref="cityFormRef"-->
|
|
||||||
<!-- />-->
|
|
||||||
<el-form-item :label="t('admin.form.country')" prop="country">
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<el-input v-model="modelValue.country"></el-input>
|
<el-select
|
||||||
|
v-model="modelValue.country"
|
||||||
|
:placeholder="
|
||||||
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
@ -216,7 +222,7 @@
|
|||||||
<script name="ExpertForm" setup>
|
<script name="ExpertForm" setup>
|
||||||
import FieldOptions from "@/views/components/FieldOptions";
|
import FieldOptions from "@/views/components/FieldOptions";
|
||||||
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
||||||
import { educationOptions } from "@/utils/parameter";
|
import { countryOptions, educationOptions } from "@/utils/parameter";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import { computed, toRefs } from "vue";
|
import { computed, toRefs } from "vue";
|
||||||
|
|
||||||
|
|||||||
@ -75,11 +75,21 @@
|
|||||||
:title="t('admin.form.keywords')"
|
:title="t('admin.form.keywords')"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- <CityOptions-->
|
<!-- COMPLETED-->
|
||||||
<!-- ref="cityFormRef"-->
|
<!-- <el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<!-- v-model="modelValue"-->
|
<el-select
|
||||||
<!-- :labelWidth="labelWidth"-->
|
v-model="modelValue.country"
|
||||||
<!-- />-->
|
:placeholder="
|
||||||
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>-->
|
||||||
|
|
||||||
<!-- <el-row>-->
|
<!-- <el-row>-->
|
||||||
<!-- <el-col :span="24">-->
|
<!-- <el-col :span="24">-->
|
||||||
@ -215,8 +225,9 @@ import FieldOptions from "@/views/components/FieldOptions";
|
|||||||
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
||||||
import { computed, reactive, ref, toRefs } from "vue";
|
import { computed, reactive, ref, toRefs } from "vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { countryOptions } from "@/utils/parameter";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
modelValue: Object,
|
modelValue: Object,
|
||||||
isAdd: {
|
isAdd: {
|
||||||
|
|||||||
@ -60,21 +60,22 @@
|
|||||||
:labelWidth="labelWidth"
|
:labelWidth="labelWidth"
|
||||||
ref="fieldFormRef"
|
ref="fieldFormRef"
|
||||||
/>
|
/>
|
||||||
<!-- <city-options-->
|
|
||||||
<!-- v-model="modelValue"-->
|
|
||||||
<!-- :labelWidth="labelWidth"-->
|
|
||||||
<!-- ref="cityFormRef"-->
|
|
||||||
<!-- ></city-options>-->
|
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="t('admin.form.country')" prop="country">
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<el-input
|
<el-select
|
||||||
v-model="modelValue.country"
|
v-model="modelValue.country"
|
||||||
:placeholder="
|
:placeholder="
|
||||||
t('admin.form.placeholder', { type: t('admin.form.country') })
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
"
|
"
|
||||||
></el-input>
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -215,6 +216,7 @@ import FieldOptions from "@/views/components/FieldOptions";
|
|||||||
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
import InputBoxAdd from "@/views/components/InputBoxAdd";
|
||||||
import {
|
import {
|
||||||
cooperationOptions,
|
cooperationOptions,
|
||||||
|
countryOptions,
|
||||||
leadOptions,
|
leadOptions,
|
||||||
maturityOptions,
|
maturityOptions,
|
||||||
} from "@/utils/parameter";
|
} from "@/utils/parameter";
|
||||||
|
|||||||
@ -43,11 +43,20 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<!-- <CityOptions-->
|
<el-form-item :label="t('admin.form.country')" prop="country">
|
||||||
<!-- ref="cityFormRef"-->
|
<el-select
|
||||||
<!-- v-model="modelValue"-->
|
v-model="modelValue.country"
|
||||||
<!-- :labelWidth="labelWidth"-->
|
:placeholder="
|
||||||
<!-- />-->
|
t('admin.form.pleaseSelect', { type: t('admin.form.country') })
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="option in countryOptions"
|
||||||
|
:label="option[locale]"
|
||||||
|
:value="option.key"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
@ -113,8 +122,9 @@ import { computed, reactive, ref } from "vue";
|
|||||||
import FieldOptions from "../FieldOptions";
|
import FieldOptions from "../FieldOptions";
|
||||||
import InputBoxAdd from "../InputBoxAdd";
|
import InputBoxAdd from "../InputBoxAdd";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
|
import { countryOptions } from "@/utils/parameter";
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
// const cityFormRef = ref();
|
// const cityFormRef = ref();
|
||||||
const fieldFormRef = ref();
|
const fieldFormRef = ref();
|
||||||
@ -160,6 +170,17 @@ const rules = reactive({
|
|||||||
trigger: "change",
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
country: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: computed(() =>
|
||||||
|
t("admin.form.pleaseSelect", {
|
||||||
|
type: t("admin.form.country"),
|
||||||
|
})
|
||||||
|
),
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
code: [
|
code: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import RegionPagine from "@/views/website/home/comp/RegionPagine.vue";
|
|||||||
import html2canvas from "html2canvas";
|
import html2canvas from "html2canvas";
|
||||||
import anime from "animejs";
|
import anime from "animejs";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
import geoJSONRU from "@/assets/custom.geo.json";
|
import geoJSONRU from "@/assets/world.json";
|
||||||
|
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const leftBoxPageNum = ref(1);
|
const leftBoxPageNum = ref(1);
|
||||||
@ -205,7 +205,15 @@ const loadChinaDistrict = (adcode) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const loadRussiaDistrict = () => {
|
const loadRussiaDistrict = () => {
|
||||||
|
mapData.value = geoJSONRU.features.map((el) => {
|
||||||
|
const areaProp = el.properties;
|
||||||
|
return {
|
||||||
|
name: areaProp.name,
|
||||||
|
value: 0,
|
||||||
|
};
|
||||||
|
});
|
||||||
registerMap("map", { geoJSON: geoJSONRU, specialAreas: {} });
|
registerMap("map", { geoJSON: geoJSONRU, specialAreas: {} });
|
||||||
|
options.series[0].data = mapData.value;
|
||||||
myEcharts.value.setOption(options);
|
myEcharts.value.setOption(options);
|
||||||
// TODO:get count
|
// TODO:get count
|
||||||
};
|
};
|
||||||
@ -216,14 +224,14 @@ const backMap = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await loadAMap();
|
// await loadAMap();
|
||||||
myEcharts.value = init(mapRef.value);
|
myEcharts.value = init(mapRef.value);
|
||||||
myEcharts.value.on("click", mapClick);
|
// myEcharts.value.on("click", mapClick);
|
||||||
if (locale.value === "zh") {
|
// if (locale.value === "zh") {
|
||||||
loadChinaDistrict("100000");
|
// loadChinaDistrict("100000");
|
||||||
} else {
|
// } else {
|
||||||
loadRussiaDistrict();
|
// }
|
||||||
}
|
loadRussiaDistrict();
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -317,21 +325,21 @@ watch(mapIndex, (newVal, oldVal) => {
|
|||||||
isScrolling.value = true;
|
isScrolling.value = true;
|
||||||
const direction = newVal > oldVal ? "down" : "up";
|
const direction = newVal > oldVal ? "down" : "up";
|
||||||
playScrollAnimation(direction, () => {});
|
playScrollAnimation(direction, () => {});
|
||||||
if (locale.value === "zh") {
|
// if (locale.value === "zh") {
|
||||||
loadChinaDistrict("100000");
|
// loadChinaDistrict("100000");
|
||||||
} else {
|
// } else {
|
||||||
loadRussiaDistrict();
|
loadRussiaDistrict();
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(locale, (newVal) => {
|
// watch(locale, (newVal) => {
|
||||||
console.log(newVal);
|
// console.log(newVal);
|
||||||
if (newVal === "zh") {
|
// // if (newVal === "zh") {
|
||||||
loadChinaDistrict("100000");
|
// // loadChinaDistrict("100000");
|
||||||
} else if (newVal === "ru") {
|
// // } else if (newVal === "ru") {
|
||||||
loadRussiaDistrict();
|
// loadRussiaDistrict();
|
||||||
}
|
// // }
|
||||||
});
|
// });
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -341,7 +349,7 @@ watch(locale, (newVal) => {
|
|||||||
<div class="title">{{ methods[mapIndex].title.value }}</div>
|
<div class="title">{{ methods[mapIndex].title.value }}</div>
|
||||||
<div v-if="loading" class="loading-modal"></div>
|
<div v-if="loading" class="loading-modal"></div>
|
||||||
<!-- 返回上一级按钮 -->
|
<!-- 返回上一级按钮 -->
|
||||||
<div class="back-btn" @click="backMap">
|
<div class="back-btn" @click="">
|
||||||
<img :src="backBtnPng" alt="back" />
|
<img :src="backBtnPng" alt="back" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 人数表格 -->
|
<!-- 人数表格 -->
|
||||||
@ -470,7 +478,7 @@ watch(locale, (newVal) => {
|
|||||||
|
|
||||||
> .title {
|
> .title {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 75px;
|
top: 20px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 36px;
|
font-size: 36px;
|
||||||
|
|||||||
@ -138,7 +138,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="foot">Copyright © 2007-2021 {{ t('footer.copyRight') }}</div>
|
<div class="foot">Copyright © 2007-2021 {{ t("footer.copyRight") }}</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -146,6 +146,7 @@
|
|||||||
import Cookies from "js-cookie"; // import { encrypt, decrypt } from "@/utils/jsencrypt";
|
import Cookies from "js-cookie"; // import { encrypt, decrypt } from "@/utils/jsencrypt";
|
||||||
import md5 from "js-md5";
|
import md5 from "js-md5";
|
||||||
import Retrieve from "../retrieve";
|
import Retrieve from "../retrieve";
|
||||||
|
import Register from "../register";
|
||||||
import WebGetCode from "@/components/webGetCode";
|
import WebGetCode from "@/components/webGetCode";
|
||||||
import useUserStore from "@/store/modules/user";
|
import useUserStore from "@/store/modules/user";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
|||||||
@ -185,4 +185,4 @@ function createdData(arr) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
<industrySelect @industryChange="industryChange"></industrySelect>
|
<industrySelect @industryChange="industryChange"></industrySelect>
|
||||||
<div class="total">
|
<div class="total">
|
||||||
{{ t("webSearch.findNum") }}
|
{{ t("webSearch.findNum") }}
|
||||||
<span>{{ state.total }}</span> {{t('webSearch.findLabNum')}}
|
<span>{{ state.total }}</span> {{ t("webSearch.findLabNum") }}
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<section v-for="item in state.list" :key="item.id">
|
<section v-for="item in state.list" :key="item.id">
|
||||||
|
|||||||
@ -11,7 +11,8 @@
|
|||||||
<div style="position: relative">
|
<div style="position: relative">
|
||||||
<!-- <industrySelect @industryChange="industryChange"></industrySelect> -->
|
<!-- <industrySelect @industryChange="industryChange"></industrySelect> -->
|
||||||
<div class="total">
|
<div class="total">
|
||||||
{{ t("webSearch.findNum") }} <span>{{ total }}</span> {{t('webSearch.findLabNum')}}
|
{{ t("webSearch.findNum") }} <span>{{ total }}</span>
|
||||||
|
{{ t("webSearch.findLabNum") }}
|
||||||
</div>
|
</div>
|
||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<section v-for="item in searchResults" :key="item.id">
|
<section v-for="item in searchResults" :key="item.id">
|
||||||
|
|||||||
@ -216,4 +216,4 @@ const getDataList = async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -122,8 +122,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<section>
|
<section>
|
||||||
{{
|
{{
|
||||||
patentOptions.find((el) => el.key == state.patentDetail.kind)
|
patentOptions.find(
|
||||||
?.[locale]
|
(el) => el.key == state.patentDetail.kind
|
||||||
|
)?.[locale]
|
||||||
}}
|
}}
|
||||||
</section>
|
</section>
|
||||||
<div style="padding: 20px 0">
|
<div style="padding: 20px 0">
|
||||||
@ -233,7 +234,7 @@ import { useRoute, useRouter } from "vue-router";
|
|||||||
import docking from "./components/docking.vue";
|
import docking from "./components/docking.vue";
|
||||||
import { useI18n } from "vue-i18n";
|
import { useI18n } from "vue-i18n";
|
||||||
const showDocking = ref(false);
|
const showDocking = ref(false);
|
||||||
const { t,locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
|
|||||||
@ -384,4 +384,4 @@ function getDataList() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user