update i18n

This commit is contained in:
2023-07-17 17:31:42 +08:00
parent 1f3f9d7b31
commit 248c57b338
64 changed files with 504 additions and 196 deletions

View File

@ -131,7 +131,7 @@ const rules = ref({
{ required: true, message: "联系电话不能为空", trigger: "blur" },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(()=>t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")),
trigger: "blur",
},
],

View File

@ -25,14 +25,11 @@ const messages = {
activity: "活动报名",
aboutUs: "关于我们",
loginRegister: "登录注册",
// 个人中心
personalCenter: "个人中心",
// 退出登录
logout: "退出登录",
// 切换系统
switchSystem: "切换系统",
// 布局设置
layoutSettings: "布局设置",
changeAvatar: "更换头像",
},
footer: {
copyRight: "中科云 版权所有",
@ -146,14 +143,11 @@ const messages = {
activity: "Регистрация на мероприятие",
aboutUs: "О нас",
loginRegister: "Войти в систему",
// 个人中心
personalCenter: "Личный кабинет",
// 退出登录
logout: "Выйти из системы",
// 切换系统
switchSystem: "Переключить систему",
// 布局设置
layoutSettings: "Настройки макета",
changeAvatar: "Сменить аватар",
},
footer: {
copyRight: "Все права защищены",

View File

@ -47,5 +47,17 @@ const form = {
contactPhone: "Номер мобильного телефона контактного лица",
// 申请日期
applicationDate: "Дата подачи заявки",
// 新增{type}
add: "Добавить {type}",
// 修改{type}
edit: "Изменить {type}",
// 添加数据
addData: "Добавить данные",
// 修改数据
editData: "Изменить данные",
// 所属院所或单位
institute: "Институт или организация",
// 从业时间
workingTime: "Время работы",
};
export default form;

View File

@ -46,6 +46,18 @@ const form = {
contactPhone: "联系人手机号",
// 申请日期
applicationDate: "申请日期",
// 新增{type}
add: "新增{type}",
// 修改{type}
edit: "修改{type}",
// 添加数据
addData: "添加数据",
// 修改数据
editData: "修改数据",
// 所属院所或单位
institute: "所属院所或单位",
// 从业时间
workingTime: "从业时间",
};
export default form;

View File

@ -8,6 +8,8 @@ import broker_zh from "./broker/zh";
import broker_ru from "./broker/ru";
import table_zh from "./table/zh";
import table_ru from "./table/ru";
import validation_zh from "./validation/zh";
import validation_ru from "./validation/ru";
export const admin_zh = {
identity: {
@ -17,7 +19,9 @@ export const admin_zh = {
form: form_zh,
broker: broker_zh,
table: table_zh,
validation: validation_zh,
};
export const admin_ru = {
identity: {
entrance: entrance_ru,
@ -26,4 +30,5 @@ export const admin_ru = {
form: form_ru,
broker: broker_ru,
table: table_ru,
validation: validation_ru,
};

View File

@ -15,6 +15,18 @@ const table = {
cancelRelation: "Отменить связь",
// 取消发布
cancelPublish: "Отменить публикацию",
// 浏览单位信息
viewUnitInfo: "Просмотреть информацию об учреждении",
// 浏览次数
viewCount: "Количество просмотров",
// 浏览时间
viewTime: "Время просмотра",
// 浏览类别
viewCategory: "Категория просмотра",
// 实验室网址
labWebsite: "Веб-сайт лаборатории",
// 添加日期
addDate: "Дата добавления",
};
export default table;

View File

@ -15,5 +15,17 @@ const table = {
cancelRelation: "取消关联",
// 取消发布
cancelPublish: "取消发布",
// 浏览单位信息
viewUnitInfo: "浏览单位信息",
// 浏览次数
viewCount: "浏览次数",
// 浏览时间
viewTime: "浏览时间",
// 浏览类别
viewCategory: "浏览类别",
// 实验室网址
labWebsite: "实验室网址",
// 添加日期
addDate: "添加日期",
};
export default table;

View File

@ -0,0 +1,10 @@
const validation = {
// {type}不能为空
required: "{type} не может быть пустым",
// 请上传
pleaseUpload: "Пожалуйста, загрузите",
// 请输入正确格式的手机号码
pleaseEnterTheCorrectFormatOfThePhoneNumber:
"Пожалуйста, введите правильный формат номера телефона",
};
export default validation;

View File

@ -0,0 +1,10 @@
const validation = {
// {type}不能为空
required: "{type}不能为空",
// 请上传
pleaseUpload: "请上传",
// 请输入正确格式的手机号码
pleaseEnterTheCorrectFormatOfThePhoneNumber: "请输入正确格式的手机号码",
};
export default validation;

View File

@ -14,5 +14,9 @@ const common = {
congratulations: "Поздравляем",
title: "Цифровой мозг науки и технологий",
status: "{type} статус",
// 选择
select: "Выбрать",
// 提交
submit: "Представить",
};
export default common;

View File

@ -14,6 +14,10 @@ export const common = {
congratulations: "恭喜你",
title: "数字科创大脑",
status: "{type}状态",
// 选择
select: "选择",
// 提交
submit: "提交",
};
export default common;

View File

@ -25,6 +25,7 @@ const lab = {
browseInformation: "Информация о просмотре",
// 实验设备
experimentalEquipment: "Экспериментальное оборудование",
viewUnitInformation: "Информация о просмотре",
};
export default lab;

View File

@ -25,6 +25,7 @@ const lab = {
browseInformation: "浏览单位信息",
// 实验设备
experimentalEquipment: "实验设备",
viewUnitInformation: "浏览单位信息",
};
export default lab;

View File

@ -58,7 +58,7 @@
</el-dropdown-item>
</router-link>
<el-dropdown-item command="setAvatar">
<span> 修改头像 </span>
<span> {{ t("headerMenu.changeAvatar") }} </span>
</el-dropdown-item>
<el-dropdown-item command="setLocale">
<span>{{

View File

@ -154,7 +154,9 @@ getList();
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="handleQuery">{{
t("admin.common.search")
}}</el-button>
<el-button @click="resetQuery">
{{ t("admin.common.reset") }}</el-button
>

View File

@ -90,7 +90,9 @@ const getById = (id) => {};
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="handleQuery">{{
t("admin.common.search")
}}</el-button>
<!-- 重置-->
<el-button type="danger" @click="resetQuery">
{{ t("admin.common.reset") }}</el-button

View File

@ -42,7 +42,9 @@ const handleQuery = () => {
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="handleQuery">{{
t("admin.common.search")
}}</el-button>
<el-button @click="resetQuery"> {{ t("admin.common.reset") }}</el-button>
</el-form-item>
</el-form>

View File

@ -49,7 +49,9 @@ const handleDelete = (id) => {};
<el-input v-model="queryParams.timeRange"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getList">查询</el-button>
<el-button type="primary" @click="getList">{{
t("admin.common.search")
}}</el-button>
<el-button @click="resetQuery">
{{ t("admin.common.reset") }}</el-button
>

View File

@ -241,7 +241,7 @@ getList();
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -181,7 +181,7 @@ const cancel = () => {
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -187,7 +187,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -147,7 +147,8 @@ const getList = async () => {
// 处理删除
const handleDelete = (id) => {
modal.confirm('是否确认删除数据编号为"' + id + '"的产品项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的产品项?')
.then(async () => {
await deleteEnterpriseProduct(id);
ElMessage.success("删除成功");
@ -165,7 +166,8 @@ function handleQuery() {
}
// 取消发布
const releaseCancel = (id) => {
modal.confirm('确认要取消发布id为"' + id + '"的产品吗?')
modal
.confirm('确认要取消发布id为"' + id + '"的产品吗?')
.then(async () => {
await updateEnterpriseProduct({ id, status: 3 });
ElMessage.success("取消发布成功");
@ -178,7 +180,8 @@ const releaseCancel = (id) => {
// 下架和上架
const handleShelf = (row) => {
let text = row.shelfStatus == 2 ? "上架" : "下架";
modal.confirm('确认要"' + text + '""' + row.id + '"的产品吗?')
modal
.confirm('确认要"' + text + '""' + row.id + '"的产品吗?')
.then(function () {
let status = row.shelfStatus == 1 ? 2 : 1;
return updateEnterpriseProduct({ id: row.id, shelfStatus: status });

View File

@ -165,7 +165,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -308,7 +308,8 @@ const changePattent = (val) => {
// }
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的数据项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的数据项?')
.then(function () {
return deleteExpertCooperateEnterpriseByIds(id);
})
@ -336,7 +337,7 @@ function reset() {
function handleAdd() {
reset();
open.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
function handleUpdate(row) {
@ -379,7 +380,7 @@ function handleUpdate(row) {
patentOptions.value = patents;
form.value = formData;
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
nextTick(() => {
// console.log(proxy.$refs["selectDom"]); // .cachedOptions

View File

@ -203,7 +203,8 @@ function handleEdit(id) {
// 修改为完成状态
const complete = (id) => {
modal.confirm(`是否确认结束编号为${id}的数据项?`)
modal
.confirm(`是否确认结束编号为${id}的数据项?`)
.then(async () => {
await updateCasDemand({ id, status: 4 });
getList();

View File

@ -146,7 +146,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -222,13 +222,11 @@ function handleQuery() {
// }
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(
async () => {
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(async () => {
await deleteExpertWantEnterpriseByIds({ ids: [id] });
getList();
ElMessage.success("删除成功");
}
);
});
}
/** 重置新增的表单以及其他数据 */
@ -250,7 +248,7 @@ function reset() {
function handleAdd() {
reset();
showEditDialog.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
function handleUpdate(row) {
@ -262,7 +260,7 @@ function handleUpdate(row) {
.filter((el) => el != "")
.map((el) => parseInt(el)) ?? [];
showEditDialog.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
}
/** 提交按钮 */

View File

@ -25,7 +25,10 @@
:label="t('admin.form.name', { type: t('admin.common.achievement') })"
prop="title"
/>
<el-table-column :label="t('admin.table.achievementIndustry')" prop="industryStr" />
<el-table-column
:label="t('admin.table.achievementIndustry')"
prop="industryStr"
/>
<!-- <el-zh-column label="浏览量" prop="visitCount" /> -->
<el-table-column
:label="t('admin.table.publishTime')"
@ -146,35 +149,33 @@ const handleQuery = () => {
// }
/** 删除按钮操作 */
const handleDelete = (id) => {
modal.confirm('是否确认删除数据编号为"' + id + '"的成果项?').then(
async () => {
modal
.confirm('是否确认删除数据编号为"' + id + '"的成果项?')
.then(async () => {
await deleteAchievementByIds({ ids: [id] });
getList();
ElMessage.success("删除成功");
}
);
});
};
// 上架和下架
function handleShelf(row) {
let text = row.shelfStatus == 2 ? "上架" : "下架";
modal.confirm('确认要"' + text + '""' + row.id + '"的成果吗?').then(
async () => {
modal
.confirm('确认要"' + text + '""' + row.id + '"的成果吗?')
.then(async () => {
const shelfStatus = row.shelfStatus == 1 ? 2 : 1;
await updateExpertAchievement({ id: row.id, shelfStatus });
getList();
ElMessage.success(text + "成功");
}
);
});
}
// 取消发布
const handleCancelPublish = (id) => {
modal.confirm(`确认要取消发布编号为"${id}"的成果吗?`).then(
async () => {
modal.confirm(`确认要取消发布编号为"${id}"的成果吗?`).then(async () => {
await updateExpertAchievement({ id, status: "3" });
ElMessage.success("取消发布成功");
getList();
}
);
});
// queryParams.value.status = "3";
// handleQuery();
};

View File

@ -160,7 +160,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -245,13 +245,13 @@ function resetQuery() {
}
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的数据项?').then(
async () => {
modal
.confirm('是否确认删除数据编号为"' + id + '"的数据项?')
.then(async () => {
await deleteCasPaper(id);
getList();
ElMessage.success("删除成功");
}
);
});
}
/** 重置新增的表单以及其他数据 */

View File

@ -255,7 +255,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -356,7 +356,8 @@ function resetQuery() {
}
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
.then(function () {
return deleteCasPatentByIds(id);
})
@ -392,7 +393,7 @@ function reset() {
const handleAdd = () => {
reset();
open.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
};
/** 修改数据 */
const handleUpdate = (row) => {
@ -401,7 +402,7 @@ const handleUpdate = (row) => {
// patentDetail({ id }).then((res) => {
form.value = data;
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
// });
};

View File

@ -223,7 +223,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -315,7 +315,8 @@ function resetQuery() {
}
function handleShelf(row) {
const text = row.shelfStatus == 2 ? "上架" : "下架";
modal.confirm(`确认要${text}"${row.id}"的数据吗?`)
modal
.confirm(`确认要${text}"${row.id}"的数据吗?`)
.then(() => {
const shelfStatus = row.shelfStatus == 1 ? 2 : 1;
return updateTechnologyProject({ id: row.id, shelfStatus });
@ -330,13 +331,11 @@ function handleShelf(row) {
}
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(
async () => {
modal.confirm(`是否确认删除数据编号为"${id}"的数据项?`).then(async () => {
await deleteTechnologyProjectByIds({ ids: [id] });
getList();
ElMessage.success("删除成功");
}
);
});
}
/** 重置新增的表单以及其他数据 */
@ -360,14 +359,14 @@ function reset() {
function handleAdd() {
reset();
showEditDialog.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
function handleUpdate(row) {
reset();
form.value = cloneDeep(row);
showEditDialog.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
}
/** 提交按钮 */
function submitForm() {

View File

@ -131,7 +131,7 @@
<el-button type="primary" @click="submitForm"
>{{ t("admin.common.confirm") }}
</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -122,7 +122,10 @@
:rules="rules"
label-width="100px"
>
<el-form-item label="设备名称:" prop="name">
<el-form-item
:label="t('admin.form.name', { type: t('admin.common.equipment') })"
prop="name"
>
<el-input
v-model="form.name"
:placeholder="
@ -131,12 +134,21 @@
/>
</el-form-item>
<el-form-item :label="t('admin.form.model')" prop="model">
<el-input v-model="form.model" placeholder="请输入型号" />
<el-input
v-model="form.model"
:placeholder="
t('admin.form.placeholder', { type: t('admin.form.model') })
"
/>
</el-form-item>
<el-form-item :label="t('admin.form.buyDate')" prop="buyDate">
<el-date-picker
v-model="form.buyDate"
placeholder="请选择购买时间"
:placeholder="
t('admin.form.placeholder', {
type: t('admin.form.buyDate'),
})
"
type="date"
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
@ -145,7 +157,14 @@
:label="t('admin.form.achievementParameter')"
prop="param"
>
<el-input v-model="form.param" placeholder="请输入成果参数" />
<el-input
v-model="form.param"
:placeholder="
t('admin.form.placeholder', {
type: t('admin.form.achievementParameter'),
})
"
/>
</el-form-item>
<el-form-item
:label="t('admin.form.deviceDescription')"
@ -164,10 +183,10 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </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>
</el-dialog>
@ -176,7 +195,7 @@
<script setup>
// import {expertPaper, paperAdd, paperDelete, paperEdit,} from "@/api/admin/expert/technology";
import { reactive, ref, toRefs } from "vue";
import { computed, reactive, ref, toRefs } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
import modal from "@/plugins/modal";
@ -190,6 +209,7 @@ import {
import dayjs from "dayjs";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const router = useRouter();
@ -208,13 +228,48 @@ const data = reactive({
name: undefined,
},
rules: {
name: [{ required: true, message: "设备名称不能为空", trigger: "blur" }],
model: [{ required: true, message: "型号不能为空", trigger: "blur" }],
param: [{ required: true, message: "成果参数不能为空", trigger: "blur" }],
name: [
{
required: true,
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.common.equipment") }),
})
),
trigger: "blur",
},
],
model: [
{
required: true,
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.name", { type: t("admin.form.model") }),
})
),
trigger: "blur",
},
],
param: [
{
required: true,
message: computed(() =>
t("admin.validation.required", {
type: t("admin.form.achievementParameter"),
})
),
trigger: "blur",
},
],
buyDate: [
{
required: true,
message: "请选择购买时间",
// message: "请选择购买时间",
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.buyDate"),
})
),
trigger: ["blur", "change"],
},
],
@ -248,7 +303,14 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(row) {
modal.confirm('是否确认删除数据编号为"' + row.deviceId + '"的数据项?')
modal
.confirm(
t("admin.common.confirmAction", {
number: row.deviceId,
action: t("admin.common.delete"),
type: t("admin.common.equipment"),
})
)
.then(function () {
return deleteEquipment([row.deviceId]);
})
@ -275,7 +337,7 @@ function reset() {
function handleAdd() {
reset();
open.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
@ -283,7 +345,7 @@ async function handleUpdate(row) {
const resp = await getEquipment(row.deviceId);
form.value = resp.data;
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
}
/** 提交按钮 */
@ -292,13 +354,13 @@ 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();
});
} else {
insertEquipment(form.value).then((response) => {
ElMessage.success("新增成功");
ElMessage.success(t("admin.common.addSuccess"));
open.value = false;
getList();
});

View File

@ -91,7 +91,7 @@
size="small"
type="text"
@click="handleBrowseUnitInfo(row)"
>浏览单位信息
>{{ t("admin.table.viewUnitInfo") }}
</el-button>
</template>
</el-table-column>
@ -146,7 +146,7 @@
<el-button type="primary" @click="submitForm"
>{{ t("admin.common.confirm") }}
</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -274,7 +274,7 @@ function cancel() {
const handleEdit = (row) => {
form.value = cloneDeep(row);
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
};
/** 提交按钮 */

View File

@ -4,7 +4,8 @@ import { reactive, ref, toRefs } from "vue";
import { seeLogTypeDict } from "@/constant/dict";
import { useRoute, useRouter } from "vue-router";
import { seeLogList } from "@/api/admin/laboratory/paper";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const route = useRoute();
const router = useRouter();
const data = reactive({
@ -75,7 +76,9 @@ getList();
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">查询</el-button>
<el-button type="primary" @click="handleQuery">{{
t("admin.common.search")
}}</el-button>
<el-button @click="resetQuery">
{{ t("admin.common.reset") }}</el-button
>
@ -88,7 +91,7 @@ getList();
:label="t('admin.form.name', { type: t('admin.common.company') })"
prop="enterpriseName"
></el-table-column>
<el-table-column label="浏览类别" prop="type">
<el-table-column :label="t('admin.table.viewCategory')" prop="type">
<template #default="{ row }">
<span>{{
seeLogTypeDict.find((item) => item.value === row.type)?.label
@ -107,8 +110,14 @@ getList();
:label="t('admin.form.mobile')"
prop="phone"
></el-table-column>
<el-table-column label="浏览次数" prop="seeCount"></el-table-column>
<el-table-column label="浏览时间" prop="updateTime"></el-table-column>
<el-table-column
:label="t('admin.table.viewCount')"
prop="seeCount"
></el-table-column>
<el-table-column
:label="t('admin.table.viewTime')"
prop="updateTime"
></el-table-column>
</el-table>
<!-- 分页 -->
<pagination

View File

@ -227,7 +227,7 @@
<!-- <template #footer>-->
<!-- <div class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm">{{t("admin.common.confirm")}}</el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- <el-button @click="cancel">{{t('admin.common.cancel')}}</el-button>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-dialog>-->
@ -327,17 +327,20 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm(t("admin.common.confirmAction", {
modal
.confirm(
t("admin.common.confirmAction", {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.patent"),
}))
})
)
.then(function () {
return deleteLabPatentByIds(id);
})
.then(() => {
getList();
ElMessage.success("删除成功");
ElMessage.success(t("admin.common.deleteSuccess"));
})
.catch((err) => {
console.log(err);
@ -368,7 +371,7 @@ function handleDelete(id) {
// const handleAdd = () => {
// reset();
// open.value = true;
// title.value = "添加数据";
// title.value= t('admin.form.addData');
// };
// /** 修改数据 */
// const handleUpdate = (row) => {
@ -377,7 +380,7 @@ function handleDelete(id) {
// // patentDetail({ id }).then((res) => {
// form.value = data;
// open.value = true;
// title.value = "修改数据";
// title.value= t('admin.form.editData');
// // });
// };
//

View File

@ -175,11 +175,14 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm(t("admin.common.confirmAction", {
modal
.confirm(
t("admin.common.confirmAction", {
number: id,
action: t("admin.common.delete"),
type: t("admin.common.researchProject"),
}))
})
)
.then(function () {
return deleteTechnologyProject(id);
})

View File

@ -94,9 +94,7 @@
size="small"
type="text"
@click="handleDetail(row.id)"
>{{
t('admin.common.view')
}}
>{{ t("admin.common.view") }}
</el-button>
</template>
</el-table-column>
@ -176,7 +174,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
.then(function () {
return deleteLabPatentByIds(id);
})

View File

@ -85,7 +85,7 @@ getList();
:label="t('admin.form.name', { type: t('admin.common.company') })"
prop="enterpriseName"
></el-table-column>
<el-table-column label="浏览类别" prop="type">
<el-table-column :label="t('admin.table.viewCategory')" prop="type">
<template #default="{ row }">
<span>{{
seeLogTypeDict.find((item) => item.value === row.type)?.label
@ -104,8 +104,14 @@ getList();
<!-- :label="t('admin.form.mobile')"-->
<!-- prop="phone"-->
<!-- ></el-table-column>-->
<el-table-column label="浏览次数" prop="seeCount"></el-table-column>
<el-table-column label="浏览时间" prop="updateTime"></el-table-column>
<el-table-column
:label="t('admin.table.viewCount')"
prop="seeCount"
></el-table-column>
<el-table-column
:label="t('admin.table.viewTime')"
prop="updateTime"
></el-table-column>
</el-table>
<!-- 分页 -->
<pagination

View File

@ -131,7 +131,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -200,7 +200,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDeleteBind(id) {
modal.confirm(`是否确认取消关联数据编号为"${id}"的专家?`)
modal
.confirm(`是否确认取消关联数据编号为"${id}"的专家?`)
.then(function () {
return deleteBindExpert(id);
})

View File

@ -131,7 +131,12 @@
/>
</el-form-item>
<el-form-item :label="t('admin.form.model')" prop="model">
<el-input v-model="form.model" placeholder="请输入型号" />
<el-input
v-model="form.model"
:placeholder="
t('admin.form.placeholder', { type: t('admin.form.model') })
"
/>
</el-form-item>
<el-form-item :label="t('admin.form.buyDate')" prop="buyDate">
<el-date-picker
@ -145,7 +150,14 @@
:label="t('admin.form.achievementParameter')"
prop="param"
>
<el-input v-model="form.param" placeholder="请输入成果参数" />
<el-input
v-model="form.param"
:placeholder="
t('admin.form.placeholder', {
type: t('admin.form.achievementParameter'),
})
"
/>
</el-form-item>
<el-form-item
:label="t('admin.form.deviceDescription')"
@ -167,7 +179,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -248,7 +260,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(row) {
modal.confirm('是否确认删除数据编号为"' + row.deviceId + '"的数据项?')
modal
.confirm('是否确认删除数据编号为"' + row.deviceId + '"的数据项?')
.then(function () {
return deleteEquipment([row.deviceId]);
})
@ -275,7 +288,7 @@ function reset() {
function handleAdd() {
reset();
open.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
@ -283,7 +296,7 @@ async function handleUpdate(row) {
const resp = await getEquipment(row.deviceId);
form.value = resp.data;
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
}
/** 提交按钮 */

View File

@ -29,7 +29,8 @@ import { reactive, ref, toRefs } from "vue";
import tab from "@/plugins/tab";
import LaboratoryForm from "@/views/components/LaboratoryForm";
import { ElMessage } from "element-plus";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const data = reactive({
form: {},
});

View File

@ -73,8 +73,16 @@
:label="t('webContact.phone')"
prop="phone"
/>
<el-table-column align="center" label="实验室网址" prop="url" />
<el-table-column align="center" label="添加日期" prop="createTime">
<el-table-column
align="center"
:label="t('admin.table.labWebsite')"
prop="url"
/>
<el-table-column
align="center"
:label="t('admin.table.addDate')"
prop="createTime"
>
<template #default="{ row }">
<span>{{ dayjs(row.createTime).format("YYYY-MM-DD") }}</span>
</template>
@ -127,7 +135,12 @@
/>
</el-form-item>
<el-form-item :label="t('admin.form.model')" prop="model">
<el-input v-model="form.model" placeholder="请输入型号" />
<el-input
v-model="form.model"
:placeholder="
t('admin.form.placeholder', { type: t('admin.form.model') })
"
/>
</el-form-item>
<el-form-item :label="t('admin.form.buyDate')" prop="buyDate">
<el-date-picker
@ -141,7 +154,14 @@
:label="t('admin.form.achievementParameter')"
prop="param"
>
<el-input v-model="form.param" placeholder="请输入成果参数" />
<el-input
v-model="form.param"
:placeholder="
t('admin.form.placeholder', {
type: t('admin.form.achievementParameter'),
})
"
/>
</el-form-item>
<el-form-item
:label="t('admin.form.deviceDescription')"
@ -160,10 +180,10 @@
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </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>
</el-dialog>
@ -188,6 +208,7 @@ import dayjs from "dayjs";
import SvgIcon from "@/components/SvgIcon/index.vue";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const router = useRouter();
@ -245,7 +266,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(row) {
modal.confirm('是否确认删除数据编号为"' + row.deviceId + '"的数据项?')
modal
.confirm('是否确认删除数据编号为"' + row.deviceId + '"的数据项?')
.then(function () {
return deleteEquipment([row.deviceId]);
})
@ -272,7 +294,7 @@ function reset() {
function handleAdd() {
reset();
open.value = true;
title.value = "添加数据";
title.value = t("admin.form.addData");
}
/** 修改数据 */
@ -307,7 +329,8 @@ function submitForm() {
}
const handleCancelBind = (row) => {
modal.confirm(`是否确认解绑实验室 : ${row.name}`, "解绑实验室")
modal
.confirm(`是否确认解绑实验室 : ${row.name}`, "解绑实验室")
.then(() => {
return delBindLaboratory(row.id);
})

View File

@ -147,7 +147,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -231,7 +231,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的论文项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的论文项?')
.then(function () {
return deletePaper(id);
})
@ -267,7 +268,7 @@ function cancel() {
const handleEdit = (row) => {
form.value = cloneDeep(row);
open.value = true;
title.value = "修改数据";
title.value = t("admin.form.editData");
};
/** 提交按钮 */

View File

@ -156,7 +156,8 @@ function resetQuery() {
/** 删除按钮操作 */
function handleDelete(id) {
modal.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
modal
.confirm('是否确认删除数据编号为"' + id + '"的专利项?')
.then(function () {
return deleteResearchPatentByIds(id);
})

View File

@ -176,7 +176,9 @@ const rules = {
{ required: true, message: "请输入手机号码", trigger: "blur" },
{
pattern: /^1[3-9]\d{9}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],
@ -204,28 +206,28 @@ const rules = {
"idImage.0": [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],
"idImage.1": [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],
"idImage.2": [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],
certificatePics: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],

View File

@ -282,7 +282,9 @@ const data = reactive({
},
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],
@ -345,7 +347,7 @@ const data = reactive({
license: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],

View File

@ -256,7 +256,9 @@ const data = reactive({
},
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],
@ -326,7 +328,7 @@ const data = reactive({
license: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],

View File

@ -12,7 +12,10 @@
<el-row v-if="isAdd">
<el-col :span="24">
<el-form-item label="实验室名称" prop="name">
<el-form-item
:label="t('admin.form.name', { type: t('admin.common.lab') })"
prop="name"
>
<el-input v-model="modelValue.name"></el-input>
</el-form-item>
</el-col>
@ -32,10 +35,12 @@
<el-row v-if="isAdd">
<el-col :span="24">
<el-form-item label="所属院所或单位" prop="school">
<el-form-item :label="t('admin.form.institute')" prop="school">
<el-input
v-model="modelValue.school"
placeholder="请输入所属院所或单位"
:placeholder="
t('admin.form.placeholder', { type: t('admin.form.institute') })
"
/>
</el-form-item>
</el-col>
@ -57,10 +62,12 @@
/>
<el-row>
<el-col :span="24">
<el-form-item label="实验室网站:">
<el-form-item :label="t('admin.table.labWebsite')">
<el-input
v-model="modelValue.url"
placeholder="请输入实验室网站"
:placeholder="
t('admin.form.placeholder', { type: t('admin.table.labWebsite') })
"
></el-input>
</el-form-item>
</el-col>
@ -190,7 +197,7 @@ import Editor from "@/components/WangEditor";
import CityOptions from "@/views/components/CityOptions";
import FieldOptions from "@/views/components/FieldOptions";
import InputBoxAdd from "@/views/components/InputBoxAdd";
import { reactive, ref, toRefs } from "vue";
import { computed, reactive, ref, toRefs } from "vue";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
@ -219,15 +226,48 @@ const introduceRef = ref();
const data = reactive({
rules: {
name: [{ required: true, message: "请输入实验室名称", trigger: "blur" }],
code: [{ required: true, message: "请输入组织机构代码", trigger: "blur" }],
name: [
{
required: true,
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.name", { type: t("admin.common.lab") }),
})
),
trigger: "blur",
},
],
code: [
{
required: true,
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.organizationCode"),
})
),
trigger: "blur",
},
],
school: [
{ required: true, message: "请输入所属院所或单位", trigger: "blur" },
{
required: true,
message: computed(() =>
t("admin.form.placeholder", { type: t("admin.form.institute") })
),
trigger: "blur",
},
],
introduction: [
{
required: true,
message: "请输入实验室简介",
// message: "请输入实验室简介",
message: computed(() =>
t("admin.form.placeholder", {
type: t("admin.form.introduction", {
type: t("admin.common.lab"),
}),
})
),
trigger: ["change", "blur"],
},
],
@ -254,7 +294,9 @@ const data = reactive({
},
{
pattern: /^1[3-9]\d{9}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],
@ -303,14 +345,16 @@ const data = reactive({
work_at: [
{
required: true,
message: "从业时间不能为空",
message: computed(() =>
t("admin.form.placeholder", { type: t("admin.form.workTime") })
),
trigger: ["change", "blur"],
},
],
license: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],

View File

@ -235,7 +235,7 @@ const data = reactive({
// { required: true, message: computed(()=>t("admin.form.placeholder")), trigger: "blur" },
// {
// pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
// message: "请输入正确的手机号码",
// message: computed(()=>t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")),
// trigger: "blur",
// },
// ],
@ -268,7 +268,7 @@ const data = reactive({
leadStandard: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],
@ -282,14 +282,14 @@ const data = reactive({
image: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["change", "blur"],
},
],
video: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["change", "blur"],
},
],

View File

@ -177,7 +177,9 @@ const rules = {
},
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],
@ -240,7 +242,7 @@ const rules = {
license: [
{
required: true,
message: "请上传",
message: computed(() => t("admin.validation.pleaseUpload")),
trigger: ["blur", "change"],
},
],

View File

@ -309,7 +309,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel">取 消</el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -225,7 +225,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -203,7 +203,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -258,7 +258,9 @@ const data = reactive({
phone: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],

View File

@ -232,7 +232,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -229,7 +229,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -373,7 +373,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -218,7 +218,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -190,7 +190,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>

View File

@ -284,7 +284,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -347,7 +347,9 @@
<el-button type="primary" @click="submitDataScope">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancelDataScope"> </el-button>
<el-button @click="cancelDataScope">{{
t("admin.common.cancel")
}}</el-button>
</div>
</template>
</el-dialog>

View File

@ -89,7 +89,9 @@
<el-button type="primary" @click="handleSelectUser">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="visible = false"> </el-button>
<el-button @click="visible = false">{{
t("admin.common.cancel")
}}</el-button>
</div>
</template>
</el-dialog>

View File

@ -431,7 +431,7 @@
<el-button type="primary" @click="submitForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="cancel"> </el-button>
<el-button @click="cancel">{{ t("admin.common.cancel") }}</el-button>
</div>
</template>
</el-dialog>
@ -480,7 +480,9 @@
<el-button type="primary" @click="submitFileForm">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="upload.open = false"> </el-button>
<el-button @click="upload.open = false">{{
t("admin.common.cancel")
}}</el-button>
</div>
</template>
</el-dialog>
@ -590,7 +592,9 @@ const data = reactive({
phonenumber: [
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],

View File

@ -41,8 +41,10 @@
:before-upload="beforeUpload"
>
<el-button>
选择
<el-icon class="el-icon--right"><Upload /></el-icon>
{{ t("common.select") }}
<el-icon class="el-icon--right">
<Upload />
</el-icon>
</el-button>
</el-upload>
</el-col>
@ -59,7 +61,9 @@
<el-button icon="RefreshRight" @click="rotateRight()"></el-button>
</el-col>
<el-col :lg="{ span: 2, offset: 6 }" :md="2">
<el-button type="primary" @click="uploadImg()"> </el-button>
<el-button type="primary" @click="uploadImg()">{{
t("common.submit")
}}</el-button>
</el-col>
</el-row>
</el-dialog>
@ -71,13 +75,16 @@ import "vue-cropper/dist/index.css";
import { VueCropper } from "vue-cropper";
import { uploadAvatar } from "@/api/system/user";
import useUserStore from "@/store/modules/user";
import { computed } from "vue";
import { useI18n } from "vue-i18n";
const { t } = useI18n();
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const open = ref(false);
const visible = ref(false);
const title = ref("修改头像");
const title = computed(() => t("headerMenu.changeAvatar"));
//图片裁剪数据
const options = reactive({
@ -93,25 +100,31 @@ const options = reactive({
function editCropper() {
open.value = true;
}
/** 打开弹出层结束时的回调 */
function modalOpened() {
visible.value = true;
}
/** 覆盖默认上传行为 */
function requestUpload() {}
/** 向左旋转 */
function rotateLeft() {
proxy.$refs.cropper.rotateLeft();
}
/** 向右旋转 */
function rotateRight() {
proxy.$refs.cropper.rotateRight();
}
/** 图片缩放 */
function changeScale(num) {
num = num || 1;
proxy.$refs.cropper.changeScale(num);
}
/** 上传预处理 */
function beforeUpload(file) {
if (file.type.indexOf("image/") == -1) {
@ -126,6 +139,7 @@ function beforeUpload(file) {
};
}
}
/** 上传图片 */
function uploadImg() {
proxy.$refs.cropper.getCropBlob((data) => {
@ -140,10 +154,12 @@ function uploadImg() {
});
});
}
/** 实时预览 */
function realTime(data) {
options.previews = data;
}
/** 关闭窗口 */
function closeDialog() {
options.img = userStore.avatar;

View File

@ -47,7 +47,9 @@ const rules = ref({
{ required: true, message: "手机号码不能为空", trigger: "blur" },
{
pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: "请输入正确的手机号码",
message: computed(() =>
t("admin.validation.pleaseEnterTheCorrectFormatOfThePhoneNumber")
),
trigger: "blur",
},
],

View File

@ -66,7 +66,9 @@
<el-button type="primary" @click="handleImportTable">{{
t("admin.common.confirm")
}}</el-button>
<el-button @click="visible = false"> </el-button>
<el-button @click="visible = false">{{
t("admin.common.cancel")
}}</el-button>
</div>
</template>
</el-dialog>

View File

@ -105,7 +105,7 @@
</div>
</section>
<div style="padding: 20px 0">
<div class="pointTit">从业时间</div>
<div class="pointTit">{{ t("admin.form.workingTime") }}</div>
</div>
<section>
<div>
@ -517,6 +517,7 @@ function getDataList() {
color: #666666;
font-size: 14px;
}
.el-tabs__item:hover {
opacity: 0.8;
}
@ -527,6 +528,7 @@ function getDataList() {
font-weight: bold;
color: #333333;
}
.el-tabs__active-bar {
background-color: #333333;
height: 4px;
@ -536,18 +538,22 @@ function getDataList() {
background-color: transparent;
}
}
.head {
padding: 15px 0px;
span {
font-size: 16px;
font-family: Source Han Sans CN;
font-weight: 400;
color: #666666;
}
.one {
color: #333333;
}
}
.r {
display: inline-block;
width: 325px;
@ -576,6 +582,7 @@ function getDataList() {
font-family: Source Han Sans CN;
font-weight: 500;
color: #333333;
&:before {
content: "";
top: 8px;
@ -594,6 +601,7 @@ function getDataList() {
width: 100%;
background-color: #fff;
margin-top: -20px;
div {
text-align: center;
float: right;
@ -606,16 +614,19 @@ function getDataList() {
font-weight: 400;
line-height: 36px;
box-sizing: border-box;
&:hover {
opacity: 0.7;
}
}
.share {
color: #333333;
background: #f2f6ff;
border: 1px solid #dcdcdc;
margin-right: 10px;
}
.order {
background: #0054ff;
color: #ffffff;
@ -628,6 +639,7 @@ function getDataList() {
padding: 20px;
background-color: #fff;
margin-bottom: 10px;
.tit {
margin-left: -8px;
font-size: 16px;
@ -635,6 +647,7 @@ function getDataList() {
font-weight: bold;
color: #333333;
}
.line {
margin: 10px 0;
font-size: 14px;
@ -648,12 +661,14 @@ function getDataList() {
padding: 20px;
background-color: #fff;
margin-bottom: 10px;
.tit {
font-size: 16px;
font-family: Source Han Sans CN;
font-weight: bold;
color: #333333;
}
.line {
padding-left: 8px;
margin: 10px 0;