|
@@ -2,65 +2,65 @@
|
|
<div class="hc-layout-box hc-user-index">
|
|
<div class="hc-layout-box hc-user-index">
|
|
<div class="hc-layout-left-box">
|
|
<div class="hc-layout-left-box">
|
|
<div class="user-avatar-box">
|
|
<div class="user-avatar-box">
|
|
- <div class="user-avatar" v-loading="avatarLoading">
|
|
|
|
- <img :src="userInfo['avatar'] || avatarPng" alt=""/>
|
|
|
|
|
|
+ <div v-loading="avatarLoading" class="user-avatar">
|
|
|
|
+ <img :src="userInfo.avatar || avatarPng" alt="">
|
|
<div class="user-avatar-upload">
|
|
<div class="user-avatar-upload">
|
|
<el-upload class="upload-dom" :action="action" :accept="accept" :headers="getTokenHeader()" :data="upData" :show-file-list="false" :on-success="uploadFinish" :on-error="uploadError" :before-upload="beforeUpload">
|
|
<el-upload class="upload-dom" :action="action" :accept="accept" :headers="getTokenHeader()" :data="upData" :show-file-list="false" :on-success="uploadFinish" :on-error="uploadError" :before-upload="beforeUpload">
|
|
- <HcIcon name="camera" fill/>
|
|
|
|
|
|
+ <HcIcon name="camera" fill />
|
|
</el-upload>
|
|
</el-upload>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="user-name truncate">{{ userInfo['real_name'] || '游客' }}</div>
|
|
|
|
|
|
+ <div class="user-name truncate">{{ userInfo.real_name || '游客' }}</div>
|
|
</div>
|
|
</div>
|
|
<div class="user-menu-box">
|
|
<div class="user-menu-box">
|
|
<el-scrollbar>
|
|
<el-scrollbar>
|
|
- <HcMenuSimple :datas="menuOptions" :keys="menuKey" @change="handleMenuValue"/>
|
|
|
|
|
|
+ <HcMenuSimple :datas="menuOptions" :keys="menuKey" @change="handleMenuValue" />
|
|
</el-scrollbar>
|
|
</el-scrollbar>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="hc-layout-content-box">
|
|
<div class="hc-layout-content-box">
|
|
- <HcCard scrollbar :title="menuItem.label" :ui="basicHight?'basic-hight':''" v-if="menuKey !== 'log' && menuKey !== 'recycle'">
|
|
|
|
|
|
+ <hc-new-card v-if="menuKey !== 'log' && menuKey !== 'recycle'" scrollbar :title="menuItem.label" :ui="basicHight ? 'basic-hight' : ''">
|
|
<template #extra>
|
|
<template #extra>
|
|
- <span class="text-link" v-if="menuKey === 'basic' && !basicFormEdit" @click="basicFormEditClick">编辑</span>
|
|
|
|
- <span class="text-link" v-if="menuKey === 'project'" @click="setDefaultProjectClick">设置默认项目</span>
|
|
|
|
|
|
+ <span v-if="menuKey === 'basic' && !basicFormEdit" class="text-link" @click="basicFormEditClick">编辑</span>
|
|
|
|
+ <span v-if="menuKey === 'project'" class="text-link" @click="setDefaultProjectClick">设置默认项目</span>
|
|
</template>
|
|
</template>
|
|
<template v-if="menuKey === 'basic'">
|
|
<template v-if="menuKey === 'basic'">
|
|
<el-form ref="formUserRef" :model="formUserModel" :rules="formUserRules" size="large" label-position="top">
|
|
<el-form ref="formUserRef" :model="formUserModel" :rules="formUserRules" size="large" label-position="top">
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="用户名称">
|
|
<el-form-item label="用户名称">
|
|
- <el-input v-model="formUserModel.real_name" disabled/>
|
|
|
|
|
|
+ <el-input v-model="formUserModel.real_name" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="登录账号">
|
|
<el-form-item label="登录账号">
|
|
- <el-input v-model="formUserModel.account" placeholder="" disabled/>
|
|
|
|
|
|
+ <el-input v-model="formUserModel.account" placeholder="" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="身份证号">
|
|
<el-form-item label="身份证号">
|
|
- <el-input v-model="formUserModel.idNumber" placeholder="" disabled/>
|
|
|
|
|
|
+ <el-input v-model="formUserModel.idNumber" placeholder="" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="绑定手机" :prop="basicFormEdit?'phone':''">
|
|
|
|
- <el-input v-model="formUserModel.phone" placeholder="请输入绑定手机" :disabled="!basicHight"/>
|
|
|
|
|
|
+ <el-form-item label="绑定手机" :prop="basicFormEdit ? 'phone' : ''">
|
|
|
|
+ <el-input v-model="formUserModel.phone" placeholder="请输入绑定手机" :disabled="!basicHight" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="所属角色">
|
|
<el-form-item label="所属角色">
|
|
- <el-input v-model="formUserModel.roleName" placeholder="" disabled/>
|
|
|
|
|
|
+ <el-input v-model="formUserModel.roleName" placeholder="" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="所属部门">
|
|
<el-form-item label="所属部门">
|
|
- <el-input v-model="formUserModel.deptId" placeholder="" disabled/>
|
|
|
|
|
|
+ <el-input v-model="formUserModel.deptId" placeholder="" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
<el-form-item label="CA签字体">
|
|
<el-form-item label="CA签字体">
|
|
- <el-image style="height: 60px" :src="formUserModel?.signatureUrl" :preview-src-list="[formUserModel?.signatureUrl]" :initial-index="0" fit="cover" v-if="formUserModel?.signatureUrl"/>
|
|
|
|
- <span class="text-zinc-400" v-else>无CA签字体</span>
|
|
|
|
|
|
+ <el-image v-if="formUserModel?.signatureUrl" style="height: 60px" :src="formUserModel?.signatureUrl" :preview-src-list="[formUserModel?.signatureUrl]" :initial-index="0" fit="cover" />
|
|
|
|
+ <span v-else class="text-zinc-400">无CA签字体</span>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -69,13 +69,13 @@
|
|
<template v-if="menuKey === 'password'">
|
|
<template v-if="menuKey === 'password'">
|
|
<el-form ref="formUserPassRef" :model="formUserPassModel" :rules="formUserPassRules" size="large" label-position="top" style="max-width: 400px; margin: auto;">
|
|
<el-form ref="formUserPassRef" :model="formUserPassModel" :rules="formUserPassRules" size="large" label-position="top" style="max-width: 400px; margin: auto;">
|
|
<el-form-item label="原始密码" prop="oldPassword">
|
|
<el-form-item label="原始密码" prop="oldPassword">
|
|
- <el-input type="password" v-model="formUserPassModel.oldPassword" placeholder="请输入原始密码" show-password/>
|
|
|
|
|
|
+ <el-input v-model="formUserPassModel.oldPassword" type="password" placeholder="请输入原始密码" show-password />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="新的密码" prop="newPassword">
|
|
<el-form-item label="新的密码" prop="newPassword">
|
|
- <el-input type="password" v-model="formUserPassModel.newPassword" placeholder="请输入新的密码" show-password/>
|
|
|
|
|
|
+ <el-input v-model="formUserPassModel.newPassword" type="password" placeholder="请输入新的密码" show-password />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="确认新密码" prop="newPassword1">
|
|
<el-form-item label="确认新密码" prop="newPassword1">
|
|
- <el-input type="password" v-model="formUserPassModel.newPassword1" placeholder="请输入确认新密码" show-password/>
|
|
|
|
|
|
+ <el-input v-model="formUserPassModel.newPassword1" type="password" placeholder="请输入确认新密码" show-password />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</template>
|
|
</template>
|
|
@@ -83,24 +83,24 @@
|
|
<el-menu :default-active="projectKey" class="hc-project-menu" unique-opened>
|
|
<el-menu :default-active="projectKey" class="hc-project-menu" unique-opened>
|
|
<el-sub-menu v-for="item in projectContractArr" :index="item.id">
|
|
<el-sub-menu v-for="item in projectContractArr" :index="item.id">
|
|
<template #title>
|
|
<template #title>
|
|
- <HcIcon name="folder-2" class="hc-menu-icon"/>
|
|
|
|
|
|
+ <HcIcon name="folder-2" class="hc-menu-icon" />
|
|
<span>{{ item?.name }}</span>
|
|
<span>{{ item?.name }}</span>
|
|
</template>
|
|
</template>
|
|
- <el-menu-item v-for="items in item?.contractInfoList ?? []" :index="items?.id" @click="projectMenuValue(item,items)">
|
|
|
|
- <HcIcon name="star" class="hc-menu-icon" fill v-if="projectKey === items?.id"/>
|
|
|
|
|
|
+ <el-menu-item v-for="items in item?.contractInfoList ?? []" :index="items?.id" @click="projectMenuValue(item, items)">
|
|
|
|
+ <HcIcon v-if="projectKey === items?.id" name="star" class="hc-menu-icon" fill />
|
|
<span>{{ items?.name }}</span>
|
|
<span>{{ items?.name }}</span>
|
|
</el-menu-item>
|
|
</el-menu-item>
|
|
</el-sub-menu>
|
|
</el-sub-menu>
|
|
</el-menu>
|
|
</el-menu>
|
|
</template>
|
|
</template>
|
|
- </HcCard>
|
|
|
|
- <div class="hc-card-foot-box" v-if="basicFormEdit">
|
|
|
|
|
|
+ </hc-new-card>
|
|
|
|
+ <div v-if="basicFormEdit" class="hc-card-foot-box">
|
|
<el-button type="primary" hc-btn :loading="saveUserLoading" @click="saveUserInfoClick">
|
|
<el-button type="primary" hc-btn :loading="saveUserLoading" @click="saveUserInfoClick">
|
|
- <HcIcon name="save"/>
|
|
|
|
|
|
+ <HcIcon name="save" />
|
|
<span>保存</span>
|
|
<span>保存</span>
|
|
</el-button>
|
|
</el-button>
|
|
<el-button hc-btn @click="cancelUserClick">
|
|
<el-button hc-btn @click="cancelUserClick">
|
|
- <HcIcon name="close"/>
|
|
|
|
|
|
+ <HcIcon name="close" />
|
|
<span>取消</span>
|
|
<span>取消</span>
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
@@ -109,25 +109,25 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
-import {ref, onMounted} from "vue";
|
|
|
|
-import {useAppStore} from "~src/store";
|
|
|
|
-import userApi from "~api/userInfo/index"
|
|
|
|
-import {useRouter} from 'vue-router'
|
|
|
|
-import avatarPng from '~src/assets/images/avatar.png';
|
|
|
|
-import {getTokenHeader} from '~src/api/request/header';
|
|
|
|
-import {arrIndex, formValidate, isPhone} from "js-fast-way"
|
|
|
|
-import {HcIsButton} from "~src/plugins/IsButtons";
|
|
|
|
-import md5 from 'js-md5';
|
|
|
|
|
|
+import { onMounted, ref } from 'vue'
|
|
|
|
+import { useAppStore } from '~src/store'
|
|
|
|
+import userApi from '~api/userInfo/index'
|
|
|
|
+import { useRouter } from 'vue-router'
|
|
|
|
+import avatarPng from '~src/assets/images/avatar.png'
|
|
|
|
+import { getTokenHeader } from '~src/api/request/header'
|
|
|
|
+import { arrIndex, formValidate, isPhone } from 'js-fast-way'
|
|
|
|
+import { HcIsButton } from '~src/plugins/IsButtons'
|
|
|
|
+import md5 from 'js-md5'
|
|
|
|
|
|
//初始变量
|
|
//初始变量
|
|
const router = useRouter()
|
|
const router = useRouter()
|
|
const useAppState = useAppStore()
|
|
const useAppState = useAppStore()
|
|
|
|
|
|
//全局变量信息
|
|
//全局变量信息
|
|
-const userInfo = ref(useAppState.getUserInfo);
|
|
|
|
-const projectId = ref(useAppState.getProjectId);
|
|
|
|
-const contractId = ref(useAppState.getContractId);
|
|
|
|
-const projectContractArr = ref(useAppState.getProjectContract);
|
|
|
|
|
|
+const userInfo = ref(useAppState.getUserInfo)
|
|
|
|
+const projectId = ref(useAppState.getProjectId)
|
|
|
|
+const contractId = ref(useAppState.getContractId)
|
|
|
|
+const projectContractArr = ref(useAppState.getProjectContract)
|
|
|
|
|
|
//渲染完成
|
|
//渲染完成
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
@@ -136,8 +136,8 @@ onMounted(() => {
|
|
})
|
|
})
|
|
|
|
|
|
//上传组件参数
|
|
//上传组件参数
|
|
-const action = '/api/blade-resource/oss/endpoint/put-file';
|
|
|
|
-const accept = 'image/png,image/jpg,image/jpeg';
|
|
|
|
|
|
+const action = '/api/blade-resource/oss/endpoint/put-file'
|
|
|
|
+const accept = 'image/png,image/jpg,image/jpeg'
|
|
const upData = ref({})
|
|
const upData = ref({})
|
|
|
|
|
|
//上传前
|
|
//上传前
|
|
@@ -149,10 +149,10 @@ const beforeUpload = () => {
|
|
|
|
|
|
//上传完成
|
|
//上传完成
|
|
const uploadFinish = async (res) => {
|
|
const uploadFinish = async (res) => {
|
|
- const link = res?.data?.link ?? '';
|
|
|
|
- const user_id = userInfo.value?.user_id ?? '';
|
|
|
|
|
|
+ const link = res?.data?.link ?? ''
|
|
|
|
+ const user_id = userInfo.value?.user_id ?? ''
|
|
if (link) {
|
|
if (link) {
|
|
- const { error, code } = await userApi.updateUserInfo({avatar: link, id: user_id})
|
|
|
|
|
|
+ const { error, code } = await userApi.updateUserInfo({ avatar: link, id: user_id })
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
avatarLoading.value = false
|
|
avatarLoading.value = false
|
|
userInfo.value.avatar = link
|
|
userInfo.value.avatar = link
|
|
@@ -175,18 +175,18 @@ const uploadError = () => {
|
|
//左侧菜单
|
|
//左侧菜单
|
|
const menuKey = ref('basic')
|
|
const menuKey = ref('basic')
|
|
const menuItem = ref({})
|
|
const menuItem = ref({})
|
|
-const menuOptions = ref([]);
|
|
|
|
|
|
+const menuOptions = ref([])
|
|
|
|
|
|
const setElTreeMenu = () => {
|
|
const setElTreeMenu = () => {
|
|
- let newArr = [];
|
|
|
|
|
|
+ let newArr = []
|
|
if (HcIsButton('user_menu_basic')) {
|
|
if (HcIsButton('user_menu_basic')) {
|
|
- newArr.push({key: 'basic', label: '基础信息', icon: 'user-3'})
|
|
|
|
|
|
+ newArr.push({ key: 'basic', label: '基础信息', icon: 'user-3' })
|
|
}
|
|
}
|
|
if (HcIsButton('user_menu_password')) {
|
|
if (HcIsButton('user_menu_password')) {
|
|
- newArr.push({key: 'password', label: '密码设置', icon: 'lock-unlock'})
|
|
|
|
|
|
+ newArr.push({ key: 'password', label: '密码设置', icon: 'lock-unlock' })
|
|
}
|
|
}
|
|
if (HcIsButton('user_menu_project')) {
|
|
if (HcIsButton('user_menu_project')) {
|
|
- newArr.push({key: 'project', label: '参建项目', icon: 'folder-2'})
|
|
|
|
|
|
+ newArr.push({ key: 'project', label: '参建项目', icon: 'folder-2' })
|
|
}
|
|
}
|
|
menuOptions.value = newArr
|
|
menuOptions.value = newArr
|
|
menuObjItem()
|
|
menuObjItem()
|
|
@@ -240,7 +240,7 @@ const formUserRules = {
|
|
callback()
|
|
callback()
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- trigger: "blur"
|
|
|
|
|
|
+ trigger: 'blur',
|
|
},
|
|
},
|
|
}
|
|
}
|
|
//获取用户信息
|
|
//获取用户信息
|
|
@@ -289,7 +289,7 @@ const saveUserInfoData = async () => {
|
|
saveUserLoading.value = true
|
|
saveUserLoading.value = true
|
|
const { error, code } = await userApi.updateUserInfo({
|
|
const { error, code } = await userApi.updateUserInfo({
|
|
phone: phone,
|
|
phone: phone,
|
|
- id: user_id
|
|
|
|
|
|
+ id: user_id,
|
|
})
|
|
})
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
saveUserLoading.value = false
|
|
saveUserLoading.value = false
|
|
@@ -304,52 +304,52 @@ const saveUserInfoData = async () => {
|
|
|
|
|
|
//密码设置表单
|
|
//密码设置表单
|
|
const formUserPassRef = ref(null)
|
|
const formUserPassRef = ref(null)
|
|
-const formUserPassModel = ref({oldPassword: '', newPassword: '', newPassword1: ''})
|
|
|
|
|
|
+const formUserPassModel = ref({ oldPassword: '', newPassword: '', newPassword1: '' })
|
|
const formUserPassRules = {
|
|
const formUserPassRules = {
|
|
oldPassword: {
|
|
oldPassword: {
|
|
required: true,
|
|
required: true,
|
|
- trigger: "blur",
|
|
|
|
- message: "请输入原始密码"
|
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ message: '请输入原始密码',
|
|
},
|
|
},
|
|
newPassword: {
|
|
newPassword: {
|
|
required: true,
|
|
required: true,
|
|
validator(rule, value, callback) {
|
|
validator(rule, value, callback) {
|
|
- const pass = formUserPassModel.value.newPassword1;
|
|
|
|
|
|
+ const pass = formUserPassModel.value.newPassword1
|
|
if (!value) {
|
|
if (!value) {
|
|
- callback(new Error("请输入新的密码"))
|
|
|
|
|
|
+ callback(new Error('请输入新的密码'))
|
|
} else if (pass && value !== pass) {
|
|
} else if (pass && value !== pass) {
|
|
- callback(new Error("新的密码和确认新密码不一致"))
|
|
|
|
|
|
+ callback(new Error('新的密码和确认新密码不一致'))
|
|
}
|
|
}
|
|
callback()
|
|
callback()
|
|
},
|
|
},
|
|
- trigger: "blur"
|
|
|
|
|
|
+ trigger: 'blur',
|
|
},
|
|
},
|
|
newPassword1: {
|
|
newPassword1: {
|
|
required: true,
|
|
required: true,
|
|
validator(rule, value, callback) {
|
|
validator(rule, value, callback) {
|
|
- const pass = formUserPassModel.value.newPassword;
|
|
|
|
|
|
+ const pass = formUserPassModel.value.newPassword
|
|
if (!value) {
|
|
if (!value) {
|
|
- callback(new Error("请输入确认新密码"))
|
|
|
|
|
|
+ callback(new Error('请输入确认新密码'))
|
|
} else if (pass && value !== pass) {
|
|
} else if (pass && value !== pass) {
|
|
- callback(new Error("新的密码和确认新密码不一致"))
|
|
|
|
|
|
+ callback(new Error('新的密码和确认新密码不一致'))
|
|
}
|
|
}
|
|
callback()
|
|
callback()
|
|
},
|
|
},
|
|
- trigger: "blur"
|
|
|
|
- }
|
|
|
|
|
|
+ trigger: 'blur',
|
|
|
|
+ },
|
|
}
|
|
}
|
|
|
|
|
|
//更新密码
|
|
//更新密码
|
|
const saveUpdatePassword = async () => {
|
|
const saveUpdatePassword = async () => {
|
|
const res = await formValidate(formUserPassRef.value)
|
|
const res = await formValidate(formUserPassRef.value)
|
|
if (res) {
|
|
if (res) {
|
|
- const form = formUserPassModel.value;
|
|
|
|
|
|
+ const form = formUserPassModel.value
|
|
saveUserLoading.value = true
|
|
saveUserLoading.value = true
|
|
const { error, code } = await userApi.updatePassword({
|
|
const { error, code } = await userApi.updatePassword({
|
|
oldPassword: md5(form?.oldPassword),
|
|
oldPassword: md5(form?.oldPassword),
|
|
newPassword: md5(form?.newPassword),
|
|
newPassword: md5(form?.newPassword),
|
|
newPassword1: md5(form?.newPassword1),
|
|
newPassword1: md5(form?.newPassword1),
|
|
- plaintextPassword: form?.newPassword
|
|
|
|
|
|
+ plaintextPassword: form?.newPassword,
|
|
})
|
|
})
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
saveUserLoading.value = false
|
|
saveUserLoading.value = false
|
|
@@ -357,7 +357,7 @@ const saveUpdatePassword = async () => {
|
|
formUserPassModel.value = {
|
|
formUserPassModel.value = {
|
|
oldPassword: '',
|
|
oldPassword: '',
|
|
newPassword: '',
|
|
newPassword: '',
|
|
- newPassword1: ''
|
|
|
|
|
|
+ newPassword1: '',
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
saveUserLoading.value = false
|
|
saveUserLoading.value = false
|
|
@@ -377,7 +377,7 @@ const getDefaultProject = async () => {
|
|
//项目被选择
|
|
//项目被选择
|
|
const menuProjectId = ref('')
|
|
const menuProjectId = ref('')
|
|
const menuContractId = ref('')
|
|
const menuContractId = ref('')
|
|
-const projectMenuValue = (item,items) => {
|
|
|
|
|
|
+const projectMenuValue = (item, items) => {
|
|
menuProjectId.value = item?.id
|
|
menuProjectId.value = item?.id
|
|
menuContractId.value = items?.id
|
|
menuContractId.value = items?.id
|
|
projectKey.value = items?.id
|
|
projectKey.value = items?.id
|
|
@@ -389,7 +389,7 @@ const setDefaultProjectClick = async () => {
|
|
if (pid && cid) {
|
|
if (pid && cid) {
|
|
const { error, code } = await userApi.setDefaultProject({
|
|
const { error, code } = await userApi.setDefaultProject({
|
|
projectId: pid,
|
|
projectId: pid,
|
|
- contractId: cid
|
|
|
|
|
|
+ contractId: cid,
|
|
})
|
|
})
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
window?.$message?.success('设置成功')
|
|
window?.$message?.success('设置成功')
|