后台布局调整:改为左侧结构
This commit is contained in:
232
src/views/system/profile/components/version.vue
Normal file
232
src/views/system/profile/components/version.vue
Normal file
@@ -0,0 +1,232 @@
|
||||
<!-- 用户编辑弹窗 -->
|
||||
<template>
|
||||
<ele-modal
|
||||
width="80%"
|
||||
:visible="visible"
|
||||
:confirm-loading="loading"
|
||||
:title="`商业授权`"
|
||||
:footer="null"
|
||||
:body-style="{ paddingBottom: '16px' }"
|
||||
@update:visible="updateVisible"
|
||||
@ok="save"
|
||||
>
|
||||
<div class="version-select">
|
||||
<div class="item">1 </div>
|
||||
<div class="item">2</div>
|
||||
<div class="item">3</div>
|
||||
</div>
|
||||
</ele-modal>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, reactive, watch } from 'vue';
|
||||
import { Form, message, SelectProps } from 'ant-design-vue';
|
||||
import { assignObject } from 'ele-admin-pro';
|
||||
import { addCompany, updateCompany } from '@/api/system/company';
|
||||
import { Company } from '@/api/system/company/model';
|
||||
|
||||
const useForm = Form.useForm;
|
||||
// 是否是修改
|
||||
const isUpdate = ref(false);
|
||||
const props = defineProps<{
|
||||
// 弹窗是否打开
|
||||
visible: boolean;
|
||||
data?: Company | null;
|
||||
title?: string;
|
||||
field?: string | null;
|
||||
}>();
|
||||
|
||||
const emit = defineEmits<{
|
||||
(e: 'done'): void;
|
||||
(e: 'update:visible', visible: boolean): void;
|
||||
}>();
|
||||
|
||||
// 提交状态
|
||||
const loading = ref(false);
|
||||
const content = ref();
|
||||
const activeKey = ref('1');
|
||||
const placeholder = ref('请输入修改内容');
|
||||
// 用户信息
|
||||
const form = reactive<Company>({
|
||||
companyId: undefined,
|
||||
shortName: '',
|
||||
companyName: '',
|
||||
companyType: undefined,
|
||||
appType: '',
|
||||
companyLogo: '',
|
||||
domain: '',
|
||||
phone: '',
|
||||
InvoiceHeader: '',
|
||||
startTime: '',
|
||||
expirationTime: '',
|
||||
version: undefined,
|
||||
members: undefined,
|
||||
departments: undefined,
|
||||
country: '',
|
||||
province: '',
|
||||
city: '',
|
||||
region: '',
|
||||
address: '',
|
||||
comments: '',
|
||||
authentication: undefined,
|
||||
modules: '',
|
||||
requestUrl: '',
|
||||
socketUrl: '',
|
||||
serverUrl: '',
|
||||
modulesUrl: '',
|
||||
status: undefined,
|
||||
userId: undefined,
|
||||
tenantId: undefined,
|
||||
code: undefined,
|
||||
createTime: '',
|
||||
updateTime: ''
|
||||
});
|
||||
|
||||
// 省市区
|
||||
const city = ref<string[]>([
|
||||
String(form.province),
|
||||
String(form.city),
|
||||
String(form.region)
|
||||
]);
|
||||
|
||||
const industry = ref<string[]>([
|
||||
String(form.industryParent),
|
||||
String(form.industryChild)
|
||||
]);
|
||||
|
||||
const companyType = ref<SelectProps['options']>([
|
||||
{
|
||||
value: '企业',
|
||||
label: '企业'
|
||||
},
|
||||
{
|
||||
value: '政府',
|
||||
label: '政府'
|
||||
},
|
||||
{
|
||||
value: '个人',
|
||||
label: '个人'
|
||||
},
|
||||
{
|
||||
value: '其他组织',
|
||||
label: '其他组织'
|
||||
}
|
||||
]);
|
||||
|
||||
const appType = ref<SelectProps['options']>([
|
||||
{
|
||||
value: 'Tenant',
|
||||
label: 'Tenant'
|
||||
},
|
||||
{
|
||||
value: 'Vue',
|
||||
label: 'Vue'
|
||||
},
|
||||
{
|
||||
value: 'UniApp',
|
||||
label: 'UniApp'
|
||||
},
|
||||
{
|
||||
value: '网站应用',
|
||||
label: '网站应用'
|
||||
}
|
||||
]);
|
||||
|
||||
/* 更新visible */
|
||||
const updateVisible = (value: boolean) => {
|
||||
emit('update:visible', value);
|
||||
};
|
||||
|
||||
const { resetFields, validate } = useForm(form);
|
||||
|
||||
const onInput = () => {
|
||||
// 对象赋值
|
||||
Object.keys(form).forEach((key) => {
|
||||
if (key === props.field) {
|
||||
form[key] = content.value;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const onCompanyType = (e) => {
|
||||
form.companyType = e;
|
||||
};
|
||||
|
||||
const onAppType = (e) => {
|
||||
form.appType = e;
|
||||
};
|
||||
|
||||
/* 保存编辑 */
|
||||
const save = () => {
|
||||
validate()
|
||||
.then(() => {
|
||||
loading.value = true;
|
||||
form.province = city.value[0];
|
||||
form.city = city.value[1];
|
||||
form.region = city.value[2];
|
||||
form.industryParent = industry.value[0];
|
||||
form.industryChild = industry.value[1];
|
||||
form.authoritative = true;
|
||||
const saveOrUpdate = form.companyId ? updateCompany : addCompany;
|
||||
saveOrUpdate(form)
|
||||
.then(() => {
|
||||
loading.value = false;
|
||||
message.success('保存成功');
|
||||
updateVisible(false);
|
||||
emit('done');
|
||||
})
|
||||
.catch((e) => {
|
||||
loading.value = false;
|
||||
message.error(e.message);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
};
|
||||
|
||||
watch(
|
||||
() => props.visible,
|
||||
(visible) => {
|
||||
if (visible) {
|
||||
if (props.data) {
|
||||
loading.value = false;
|
||||
console.log(props.data);
|
||||
city.value[0] = String(props.data.province);
|
||||
city.value[1] = String(props.data.city);
|
||||
city.value[2] = String(props.data.region);
|
||||
industry.value[0] = String(props.data.industryParent);
|
||||
industry.value[1] = String(props.data.industryChild);
|
||||
assignObject(form, props.data);
|
||||
// 对象赋值
|
||||
Object.keys(form).forEach((key) => {
|
||||
if (key === props.field) {
|
||||
console.log(key);
|
||||
console.log(form[key]);
|
||||
content.value = form[key];
|
||||
}
|
||||
});
|
||||
isUpdate.value = true;
|
||||
} else {
|
||||
isUpdate.value = false;
|
||||
}
|
||||
} else {
|
||||
resetFields();
|
||||
}
|
||||
|
||||
if (props.field == 'tenantCode') {
|
||||
placeholder.value = '请输入要绑定的主体编号';
|
||||
// content.value = undefined;
|
||||
}
|
||||
}
|
||||
);
|
||||
</script>
|
||||
<style lang="less">
|
||||
.version-select {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
.item {
|
||||
width: 300px;
|
||||
border: 1px solid #f0f0f0;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -23,19 +23,19 @@
|
||||
@done="chooseFile"
|
||||
@del="onDeleteItem"
|
||||
/>
|
||||
<!-- <ele-image-upload-->
|
||||
<!-- v-model:value="logo"-->
|
||||
<!-- :accept="'image/*'"-->
|
||||
<!-- :item-style="{ width: '80px', height: '80px' }"-->
|
||||
<!-- :limit="1"-->
|
||||
<!-- @upload="onUpload"-->
|
||||
<!-- />-->
|
||||
<!-- <ele-image-upload-->
|
||||
<!-- v-model:value="logo"-->
|
||||
<!-- :accept="'image/*'"-->
|
||||
<!-- :item-style="{ width: '80px', height: '80px' }"-->
|
||||
<!-- :limit="1"-->
|
||||
<!-- @upload="onUpload"-->
|
||||
<!-- />-->
|
||||
</a-form-item>
|
||||
<a-form-item label="应用名称">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
<span>{{ form.shortName }}</span>
|
||||
<a @click="onEdit('应用名称', 'shortName', form.shortName)"
|
||||
>修改</a
|
||||
>修改</a
|
||||
>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
@@ -47,11 +47,11 @@
|
||||
>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<!-- <a-form-item label="应用类型">-->
|
||||
<!-- <a-space class="justify">-->
|
||||
<!-- <span>Tenant</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="应用类型">-->
|
||||
<!-- <a-space class="justify">-->
|
||||
<!-- <span>Tenant</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<a-form-item label="应用状态">
|
||||
<span v-if="form.status == 0" class="ele-text-success">已上线</span>
|
||||
<span v-if="form.status == 1" class="ele-text-warning">开发中</span>
|
||||
@@ -60,8 +60,8 @@
|
||||
</a-form-item>
|
||||
<a-form-item label="当前版本">
|
||||
<a-space class="justify">
|
||||
<a-tag color="red" v-if="form.version === 10">体验版</a-tag>
|
||||
<a-tag color="blue" v-if="form.version === 20">授权版</a-tag>
|
||||
<a-tag color="red" v-if="form.version === 10" class="cursor-pointer" @click="updateVersion(form.version)">体验版</a-tag>
|
||||
<a-tag color="blue" v-if="form.version === 20" class="cursor-pointer" @click="updateVersion(form.version)">授权版</a-tag>
|
||||
<a-tag color="cyan" v-if="form.version === 30">永久授权</a-tag>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
@@ -81,50 +81,65 @@
|
||||
<a-form-item label="主体名称">
|
||||
<a-space class="justify">
|
||||
<div class="ele-text-secondary">
|
||||
<span style="padding-right: 12px">{{ form.companyName ? form.companyName : '-' }}</span>
|
||||
<span style="padding-right: 12px">{{ form.companyName ? form.companyName : "-" }}</span>
|
||||
<a-tag v-if="form.authentication == 1" color="green">已认证</a-tag>
|
||||
<a-tag v-else color="orange">未认证</a-tag>
|
||||
</div>
|
||||
<a @click="onEdit('公司名称', 'companyName', form.companyName)"
|
||||
>修改</a
|
||||
>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<a-form-item label="主体类型">
|
||||
<a-space class="justify">
|
||||
<span class="ele-text-secondary">{{ form.companyType }}</span>
|
||||
<a-tag>{{ form.companyType }}</a-tag>
|
||||
<a @click="onEdit('主体类型', 'companyType', form.companyType)">修改</a>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<a-form-item label="行业类型">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
<a-space class="justify">
|
||||
<span>{{ form.industryParent }} {{ form.industryChild ? form.industryChild : '-' }}</span>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<a-form-item label="所属地区">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
<span
|
||||
>{{ form.province }} {{ form.city }} {{ form.region ? form.region : '-' }}</span
|
||||
<a @click="onEdit('行业类型', 'industryParent', form.industryParent)"
|
||||
>修改</a
|
||||
>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<a-form-item label="所属地区">
|
||||
<a-space class="justify">
|
||||
<span
|
||||
>{{ form.province }} {{ form.city }} {{ form.region ? form.region : '-' }}</span
|
||||
>
|
||||
<a @click="onEdit('所属地区', 'city', form.city)">修改</a>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<a-form-item label="企业地址">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
<a-space class="justify">
|
||||
<span>{{ form.address ? form.address : '-' }}</span>
|
||||
<a @click="onEdit('企业地址', 'address', form.address)">修改</a>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
<!-- <a-form-item label="企业域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <a-space class="justify">-->
|
||||
<!-- <span>{{ form.domain ? form.domain : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('企业域名', 'domain', form.domain)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="联系电话">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.phone }}</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="电子邮箱">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.email }}</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="企业域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.domain ? form.domain : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('企业域名', 'domain', form.domain)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="联系电话">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.phone }}</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="电子邮箱">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.email }}</span>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<a-divider style="padding-bottom: 20px" />
|
||||
<a-form-item label="用户数量">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
@@ -139,9 +154,9 @@
|
||||
<a-form-item label="存储空间">
|
||||
<a-space class="justify ele-text-secondary">
|
||||
<span>{{ getFileSize(form.storage) }}</span>
|
||||
<!-- <span>{{ getFileSize(form.storage) }}/{{-->
|
||||
<!-- getFileSize(form.storageMax)-->
|
||||
<!-- }}</span>-->
|
||||
<!-- <span>{{ getFileSize(form.storage) }}/{{-->
|
||||
<!-- getFileSize(form.storageMax)-->
|
||||
<!-- }}</span>-->
|
||||
</a-space>
|
||||
|
||||
</a-form-item>
|
||||
@@ -155,24 +170,24 @@
|
||||
<a-form-item label="模版ID" v-if="form.planId > 0">
|
||||
<span class="ele-text-heading ele-text-secondary">{{ form.planId }}</span>
|
||||
</a-form-item>
|
||||
<!-- <a-form-item label="request合法域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.requestUrl ? form.requestUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('request合法域名', 'requestUrl', form.requestUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="socket合法域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.socketUrl ? form.socketUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('socket合法域名', 'socketUrl', form.socketUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="业务域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.modulesUrl ? form.modulesUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('业务域名', 'modulesUrl', form.modulesUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="request合法域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.requestUrl ? form.requestUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('request合法域名', 'requestUrl', form.requestUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="socket合法域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.socketUrl ? form.socketUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('socket合法域名', 'socketUrl', form.socketUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<!-- <a-form-item label="业务域名">-->
|
||||
<!-- <a-space class="justify ele-text-secondary">-->
|
||||
<!-- <span>{{ form.modulesUrl ? form.modulesUrl : '-' }}</span>-->
|
||||
<!-- <a @click="onEdit('业务域名', 'modulesUrl', form.modulesUrl)">修改</a>-->
|
||||
<!-- </a-space>-->
|
||||
<!-- </a-form-item>-->
|
||||
<a-divider style="padding-bottom: 20px" />
|
||||
<a-form-item
|
||||
v-if="form.tenantId"
|
||||
@@ -183,18 +198,18 @@
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</a-tab-pane>
|
||||
<!-- <a-tab-pane tab="开发设置" key="developer">-->
|
||||
<!-- <a-form-->
|
||||
<!-- :label-col="-->
|
||||
<!-- styleResponsive-->
|
||||
<!-- ? { lg: 2, md: 6, sm: 4, xs: 24 }-->
|
||||
<!-- : { flex: '100px' }-->
|
||||
<!-- "-->
|
||||
<!-- :wrapper-col="styleResponsive ? { offset: 1 } : { offset: 1 }"-->
|
||||
<!-- style="margin-top: 20px"-->
|
||||
<!-- >-->
|
||||
<!-- </a-form>-->
|
||||
<!-- </a-tab-pane>-->
|
||||
<!-- <a-tab-pane tab="开发设置" key="developer">-->
|
||||
<!-- <a-form-->
|
||||
<!-- :label-col="-->
|
||||
<!-- styleResponsive-->
|
||||
<!-- ? { lg: 2, md: 6, sm: 4, xs: 24 }-->
|
||||
<!-- : { flex: '100px' }-->
|
||||
<!-- "-->
|
||||
<!-- :wrapper-col="styleResponsive ? { offset: 1 } : { offset: 1 }"-->
|
||||
<!-- style="margin-top: 20px"-->
|
||||
<!-- >-->
|
||||
<!-- </a-form>-->
|
||||
<!-- </a-tab-pane>-->
|
||||
</a-tabs>
|
||||
</a-card>
|
||||
<Field
|
||||
@@ -205,234 +220,262 @@
|
||||
:content="content"
|
||||
@done="query"
|
||||
/>
|
||||
<Version
|
||||
v-model:visible="showVersionForm"
|
||||
:data="form"
|
||||
title="升级套餐"
|
||||
:field="field"
|
||||
:content="content"
|
||||
@done="query"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import {ref, reactive, computed, createVNode} from 'vue';
|
||||
import {Form, message, Modal} from "ant-design-vue";
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useThemeStore } from '@/store/modules/theme';
|
||||
import { getCompany, updateCompany, destructionTenant } from "@/api/system/company";
|
||||
import Field from './components/field.vue';
|
||||
import { ref, reactive, computed, createVNode } from "vue";
|
||||
import { Form, message, Modal } from "ant-design-vue";
|
||||
import { useUserStore } from "@/store/modules/user";
|
||||
import { storeToRefs } from "pinia";
|
||||
import { useThemeStore } from "@/store/modules/theme";
|
||||
import { getCompany, updateCompany, destructionTenant } from "@/api/system/company";
|
||||
import Field from "./components/field.vue";
|
||||
import Version from "./components/version.vue";
|
||||
|
||||
import { FILE_SERVER } from '@/config/setting';
|
||||
import { assignObject } from 'ele-admin-pro';
|
||||
import {getFileSize, openUrl} from '@/utils/common';
|
||||
import { Company } from '@/api/system/company/model';
|
||||
import { ItemType } from "ele-admin-pro/es/ele-image-upload/types";
|
||||
import { uploadFile } from "@/api/system/file";
|
||||
import { logout } from '@/utils/page-tab-util';
|
||||
import {ExclamationCircleOutlined} from "@ant-design/icons-vue";
|
||||
import {FileRecord} from "@/api/system/file/model";
|
||||
import { FILE_SERVER } from "@/config/setting";
|
||||
import { assignObject } from "ele-admin-pro";
|
||||
import { getFileSize, openUrl } from "@/utils/common";
|
||||
import { Company } from "@/api/system/company/model";
|
||||
import { ItemType } from "ele-admin-pro/es/ele-image-upload/types";
|
||||
import { uploadFile } from "@/api/system/file";
|
||||
import { logout } from "@/utils/page-tab-util";
|
||||
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
||||
import { FileRecord } from "@/api/system/file/model";
|
||||
|
||||
|
||||
const useForm = Form.useForm;
|
||||
const useForm = Form.useForm;
|
||||
|
||||
// 是否开启响应式布局
|
||||
const themeStore = useThemeStore();
|
||||
const { styleResponsive } = storeToRefs(themeStore);
|
||||
const userStore = useUserStore();
|
||||
// tab 页选中
|
||||
const active = ref('info');
|
||||
// 保存按钮 loading
|
||||
const loading = ref(false);
|
||||
// 是否显示裁剪弹窗
|
||||
const visible = ref(false);
|
||||
const logo = ref<any>([]);
|
||||
const field = ref('');
|
||||
const title = ref('');
|
||||
// 是否显示编辑弹窗
|
||||
const showEdit = ref(false);
|
||||
const content = ref('请输入要修改的内容');
|
||||
const markdown = ref('请输入应用介绍');
|
||||
const showMarkdown = ref(false);
|
||||
// 登录用户信息
|
||||
const loginUser = computed(() => userStore.info ?? {});
|
||||
// 是否开启响应式布局
|
||||
const themeStore = useThemeStore();
|
||||
const { styleResponsive } = storeToRefs(themeStore);
|
||||
const userStore = useUserStore();
|
||||
// tab 页选中
|
||||
const active = ref("info");
|
||||
// 保存按钮 loading
|
||||
const loading = ref(false);
|
||||
// 是否显示裁剪弹窗
|
||||
const visible = ref(false);
|
||||
const logo = ref<any>([]);
|
||||
const field = ref("");
|
||||
const title = ref("");
|
||||
// 是否显示编辑弹窗
|
||||
const showEdit = ref(false);
|
||||
const content = ref("请输入要修改的内容");
|
||||
const markdown = ref("请输入应用介绍");
|
||||
const showMarkdown = ref(false);
|
||||
const showVersionForm = ref(false);
|
||||
// 登录用户信息
|
||||
const loginUser = computed(() => userStore.info ?? {});
|
||||
|
||||
// 表单数据
|
||||
const form = reactive<Company>({
|
||||
companyId: undefined,
|
||||
shortName: '',
|
||||
companyName: '',
|
||||
companyType: undefined,
|
||||
companyLogo: '',
|
||||
domain: '',
|
||||
phone: '',
|
||||
email: '',
|
||||
InvoiceHeader: '',
|
||||
startTime: '',
|
||||
expirationTime: '',
|
||||
appType: undefined,
|
||||
planId: 0,
|
||||
businessEntity: '',
|
||||
version: undefined,
|
||||
versionName: '',
|
||||
versionCode: '',
|
||||
members: undefined,
|
||||
storage: undefined,
|
||||
storageMax: undefined,
|
||||
users: undefined,
|
||||
departments: undefined,
|
||||
country: '',
|
||||
province: '',
|
||||
city: '',
|
||||
region: '',
|
||||
address: '',
|
||||
comments: '',
|
||||
authentication: undefined,
|
||||
industryParent: undefined,
|
||||
industryChild: undefined,
|
||||
status: undefined,
|
||||
userId: undefined,
|
||||
tenantId: undefined,
|
||||
tenantCode: '',
|
||||
modules: '',
|
||||
requestUrl: '',
|
||||
socketUrl: '',
|
||||
serverUrl: '',
|
||||
modulesUrl: '',
|
||||
code: undefined,
|
||||
createTime: '',
|
||||
updateTime: ''
|
||||
});
|
||||
// 省市区
|
||||
// const city = ref<string[]>([
|
||||
// String(loginUser.value.province),
|
||||
// String(loginUser.value.city),
|
||||
// String(loginUser.value.region)
|
||||
// ]);
|
||||
// 表单数据
|
||||
const form = reactive<Company>({
|
||||
companyId: undefined,
|
||||
shortName: "",
|
||||
companyName: "",
|
||||
companyType: undefined,
|
||||
companyLogo: "",
|
||||
domain: "",
|
||||
phone: "",
|
||||
email: "",
|
||||
InvoiceHeader: "",
|
||||
startTime: "",
|
||||
expirationTime: "",
|
||||
appType: undefined,
|
||||
planId: 0,
|
||||
businessEntity: "",
|
||||
version: undefined,
|
||||
versionName: "",
|
||||
versionCode: "",
|
||||
members: undefined,
|
||||
storage: undefined,
|
||||
storageMax: undefined,
|
||||
users: undefined,
|
||||
departments: undefined,
|
||||
country: "",
|
||||
province: "",
|
||||
city: "",
|
||||
region: "",
|
||||
address: "",
|
||||
comments: "",
|
||||
authentication: undefined,
|
||||
industryParent: undefined,
|
||||
industryChild: undefined,
|
||||
status: undefined,
|
||||
userId: undefined,
|
||||
tenantId: undefined,
|
||||
tenantCode: "",
|
||||
modules: "",
|
||||
requestUrl: "",
|
||||
socketUrl: "",
|
||||
serverUrl: "",
|
||||
modulesUrl: "",
|
||||
code: undefined,
|
||||
createTime: "",
|
||||
updateTime: ""
|
||||
});
|
||||
// 省市区
|
||||
// const city = ref<string[]>([
|
||||
// String(loginUser.value.province),
|
||||
// String(loginUser.value.city),
|
||||
// String(loginUser.value.region)
|
||||
// ]);
|
||||
|
||||
// 省市区
|
||||
// const industry = ref<string[]>([
|
||||
// String(loginUser.value.province),
|
||||
// String(loginUser.value.city),
|
||||
// String(loginUser.value.region)
|
||||
// ]);
|
||||
// 省市区
|
||||
// const industry = ref<string[]>([
|
||||
// String(loginUser.value.province),
|
||||
// String(loginUser.value.city),
|
||||
// String(loginUser.value.region)
|
||||
// ]);
|
||||
|
||||
// 表单验证规则
|
||||
const rules = reactive({
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入昵称',
|
||||
type: 'string'
|
||||
}
|
||||
],
|
||||
phone: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入昵称',
|
||||
type: 'string'
|
||||
}
|
||||
],
|
||||
nickname: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入昵称',
|
||||
type: 'string'
|
||||
}
|
||||
],
|
||||
email: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入邮箱',
|
||||
type: 'string'
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
const onEdit = (label, name, text) => {
|
||||
title.value = label;
|
||||
field.value = name;
|
||||
content.value = text;
|
||||
showEdit.value = true;
|
||||
};
|
||||
|
||||
const chooseFile = (data: FileRecord) => {
|
||||
logo.value.push({
|
||||
uid: data.id,
|
||||
url: data.thumbnail,
|
||||
status: 'done'
|
||||
});
|
||||
form.companyLogo = data.thumbnail;
|
||||
updateCompany(form).then(res => {
|
||||
message.success('上传成功');
|
||||
})
|
||||
};
|
||||
|
||||
const onDeleteItem = (index: number) => {
|
||||
logo.value.splice(index, 1);
|
||||
form.companyLogo = '';
|
||||
};
|
||||
|
||||
const onUpload = (d: ItemType) => {
|
||||
const file = d.file;
|
||||
if(file){
|
||||
if (file.size / 1024 > 100) {
|
||||
message.error('大小不能超过 100k');
|
||||
return;
|
||||
}
|
||||
// 表单验证规则
|
||||
const rules = reactive({
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入昵称",
|
||||
type: "string"
|
||||
}
|
||||
uploadFile(<File>d.file)
|
||||
.then((result) => {
|
||||
form.companyLogo = result.url;
|
||||
updateCompany(form).then(res => {
|
||||
message.success('上传成功');
|
||||
})
|
||||
],
|
||||
phone: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入昵称",
|
||||
type: "string"
|
||||
}
|
||||
],
|
||||
nickname: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入昵称",
|
||||
type: "string"
|
||||
}
|
||||
],
|
||||
email: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入邮箱",
|
||||
type: "string"
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
})
|
||||
.catch((e) => {
|
||||
message.error(e.message);
|
||||
});
|
||||
};
|
||||
const onEdit = (label, name, text) => {
|
||||
title.value = label;
|
||||
field.value = name;
|
||||
content.value = text;
|
||||
showEdit.value = true;
|
||||
};
|
||||
|
||||
const destruction = (tenantId) => {
|
||||
Modal.confirm({
|
||||
title: '确定要销毁吗?',
|
||||
content: '销毁后,当前租户的相关数据将永久删除,且不可恢复,请谨慎操作!',
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
maskClosable: true,
|
||||
onOk: () => {
|
||||
const hide = message.loading('正在销毁相关数据请等待...', 0);
|
||||
setTimeout(() => {
|
||||
destructionTenant(tenantId).then(() => {
|
||||
logout();
|
||||
})
|
||||
}, 5000);
|
||||
const chooseFile = (data: FileRecord) => {
|
||||
logo.value.push({
|
||||
uid: data.id,
|
||||
url: data.thumbnail,
|
||||
status: "done"
|
||||
});
|
||||
form.companyLogo = data.thumbnail;
|
||||
updateCompany(form).then(res => {
|
||||
message.success("上传成功");
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
const onDeleteItem = (index: number) => {
|
||||
logo.value.splice(index, 1);
|
||||
form.companyLogo = "";
|
||||
};
|
||||
|
||||
const onUpload = (d: ItemType) => {
|
||||
const file = d.file;
|
||||
if (file) {
|
||||
if (file.size / 1024 > 100) {
|
||||
message.error("大小不能超过 100k");
|
||||
return;
|
||||
}
|
||||
}
|
||||
uploadFile(<File>d.file)
|
||||
.then((result) => {
|
||||
form.companyLogo = result.url;
|
||||
updateCompany(form).then(res => {
|
||||
message.success("上传成功");
|
||||
});
|
||||
|
||||
const query = () => {
|
||||
logo.value = [];
|
||||
getCompany().then((response) => {
|
||||
console.log(response.companyLogo);
|
||||
if (response.companyLogo) {
|
||||
logo.value.push({
|
||||
uid: 1,
|
||||
url: response.companyLogo,
|
||||
status: 'done'
|
||||
});
|
||||
}
|
||||
assignObject(form, response);
|
||||
})
|
||||
.catch((e) => {
|
||||
message.error(e.message);
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
query();
|
||||
/**
|
||||
* 升级套餐
|
||||
*/
|
||||
const updateVersion = (version: any) => {
|
||||
if(version === 30){
|
||||
return ;
|
||||
}
|
||||
if(version === 20){
|
||||
showVersionForm.value = true;
|
||||
}
|
||||
if(version === 10){
|
||||
showVersionForm.value = true;
|
||||
}
|
||||
};
|
||||
|
||||
const destruction = (tenantId) => {
|
||||
Modal.confirm({
|
||||
title: "确定要销毁吗?",
|
||||
content: "销毁后,当前租户的相关数据将永久删除,且不可恢复,请谨慎操作!",
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
maskClosable: true,
|
||||
onOk: () => {
|
||||
const hide = message.loading("正在销毁相关数据请等待...", 0);
|
||||
setTimeout(() => {
|
||||
destructionTenant(tenantId).then(() => {
|
||||
logout();
|
||||
});
|
||||
}, 5000);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
const query = () => {
|
||||
logo.value = [];
|
||||
getCompany().then((response) => {
|
||||
console.log(response.companyLogo);
|
||||
if (response.companyLogo) {
|
||||
logo.value.push({
|
||||
uid: 1,
|
||||
url: response.companyLogo,
|
||||
status: "done"
|
||||
});
|
||||
}
|
||||
assignObject(form, response);
|
||||
});
|
||||
};
|
||||
|
||||
query();
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
name: 'SystemProfile'
|
||||
};
|
||||
export default {
|
||||
name: "SystemProfile"
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.justify{
|
||||
display: flex !important;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.justify {
|
||||
display: flex !important;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.cursor-pointer{
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user