完善功能

This commit is contained in:
wangxiaowei
2026-03-21 18:08:43 +08:00
parent 58039f11e0
commit 9c83f1c01f
9 changed files with 83 additions and 215 deletions

View File

@ -4,7 +4,7 @@ import path from 'path'
const { existsSync, remove, copy } = fsExtra const { existsSync, remove, copy } = fsExtra
const cwd = process.cwd() const cwd = process.cwd()
//打包发布路径,谨慎改动 //打包发布路径,谨慎改动
const releaseRelativePath = '../server/public/parten' const releaseRelativePath = '../server/public/broker'
const distPath = path.resolve(cwd, 'dist') const distPath = path.resolve(cwd, 'dist')
const releasePath = path.resolve(cwd, releaseRelativePath) const releasePath = path.resolve(cwd, releaseRelativePath)

View File

@ -5,8 +5,8 @@ const config = {
// 开发环境使用相对路径通过代理生产环境使用完整URL // 开发环境使用相对路径通过代理生产环境使用完整URL
baseUrl: import.meta.env.DEV baseUrl: import.meta.env.DEV
? '/' ? '/'
: `${import.meta.env.VITE_APP_BASE_URL || 'https://76458.com'}/`, //请求接口域名 : `${import.meta.env.VITE_APP_BASE_URL || 'https://test1.stnav.com'}/`, //请求接口域名
urlPrefix: 'adminapi', //请求默认前缀 urlPrefix: 'brokerapi', //请求默认前缀
timeout: 10 * 1000 //请求超时时长 timeout: 10 * 1000 //请求超时时长
} }

View File

@ -1,22 +1,11 @@
<template> <template>
<div class="edit-popup"> <div class="edit-popup">
<popup <popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit"
ref="popupRef" @close="handleClose">
:title="popupTitle"
:async="true"
width="550px"
@confirm="handleSubmit"
@close="handleClose"
>
<el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="84px" :rules="formRules">
<!-- 账号输入框 --> <!-- 账号输入框 -->
<el-form-item label="账号" prop="account"> <el-form-item label="账号" prop="account">
<el-input <el-input v-model="formData.account" :disabled="formData.root == 1" placeholder="请输入账号" clearable />
v-model="formData.account"
:disabled="formData.root == 1"
placeholder="请输入账号"
clearable
/>
</el-form-item> </el-form-item>
<!-- 管理员头像 --> <!-- 管理员头像 -->
<el-form-item label="头像"> <el-form-item label="头像">
@ -33,79 +22,39 @@
<el-input v-model="formData.name" placeholder="请输入名称" clearable /> <el-input v-model="formData.name" placeholder="请输入名称" clearable />
</el-form-item> </el-form-item>
<el-form-item label="归属部门" prop="dept_id"> <el-form-item label="归属部门" prop="dept_id">
<el-tree-select <el-tree-select class="flex-1" v-model="formData.dept_id" :data="optionsData.dept" clearable
class="flex-1" multiple node-key="id" :props="{
v-model="formData.dept_id"
:data="optionsData.dept"
clearable
multiple
node-key="id"
:props="{
value: 'id', value: 'id',
label: 'name', label: 'name',
disabled(data: any) { disabled(data: any) {
return data.status !== 1 return data.status !== 1
} }
}" }" check-strictly :default-expand-all="true" placeholder="请选择上级部门" />
check-strictly
:default-expand-all="true"
placeholder="请选择上级部门"
/>
</el-form-item> </el-form-item>
<el-form-item label="岗位" prop="jobs_id"> <el-form-item label="岗位" prop="jobs_id">
<el-select <el-select class="flex-1" v-model="formData.jobs_id" clearable multiple placeholder="请选择岗位">
class="flex-1" <el-option v-for="(item, index) in optionsData.jobs" :key="index" :label="item.name"
v-model="formData.jobs_id" :value="item.id" />
clearable
multiple
placeholder="请选择岗位"
>
<el-option
v-for="(item, index) in optionsData.jobs"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 角色选择框 --> <!-- 角色选择框 -->
<el-form-item label="角色" prop="role_id" v-if="formData.root != 1"> <el-form-item label="角色" prop="role_id" v-if="formData.root != 1">
<el-select <el-select v-model="formData.role_id" :disabled="formData.root == 1" class="flex-1" multiple
v-model="formData.role_id" placeholder="请选择角色" clearable>
:disabled="formData.root == 1" <el-option v-for="(item, index) in optionsData.role" :key="index" :label="item.name"
class="flex-1" :value="item.id" />
multiple
placeholder="请选择角色"
clearable
>
<el-option
v-for="(item, index) in optionsData.role"
:key="index"
:label="item.name"
:value="item.id"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 密码输入框 --> <!-- 密码输入框 -->
<el-form-item label="密码" prop="password"> <el-form-item label="密码" prop="password">
<el-input <el-input v-model="formData.password" show-password clearable placeholder="请输入密码" />
v-model="formData.password"
show-password
clearable
placeholder="请输入密码"
/>
</el-form-item> </el-form-item>
<!-- 确认密码输入框 --> <!-- 确认密码输入框 -->
<el-form-item label="确认密码" prop="password_confirm"> <el-form-item label="确认密码" prop="password_confirm">
<el-input <el-input v-model="formData.password_confirm" show-password clearable placeholder="请输入确认密码" />
v-model="formData.password_confirm"
show-password
clearable
placeholder="请输入确认密码"
/>
</el-form-item> </el-form-item>
<!-- 管理员状态 --> <!-- 管理员状态 -->
@ -116,11 +65,7 @@
<!-- 多处登录 --> <!-- 多处登录 -->
<el-form-item label="多处登录"> <el-form-item label="多处登录">
<div> <div>
<el-switch <el-switch v-model="formData.multipoint_login" :active-value="1" :inactive-value="0" />
v-model="formData.multipoint_login"
:active-value="1"
:inactive-value="0"
/>
<div class="form-tips">允许多人同时在线登录</div> <div class="form-tips">允许多人同时在线登录</div>
</div> </div>
</el-form-item> </el-form-item>
@ -137,7 +82,9 @@ import { adminAdd, adminDetail, adminEdit } from '@/api/perms/admin'
import { roleAll } from '@/api/perms/role' import { roleAll } from '@/api/perms/role'
import Popup from '@/components/popup/index.vue' import Popup from '@/components/popup/index.vue'
import { useDictOptions } from '@/hooks/useDictOptions' import { useDictOptions } from '@/hooks/useDictOptions'
import useUserStore from '@/stores/modules/user'
const userStore = useUserStore()
const emit = defineEmits(['success', 'close']) const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>() const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>() const popupRef = shallowRef<InstanceType<typeof Popup>>()
@ -157,7 +104,8 @@ const formData = reactive({
password_confirm: '', password_confirm: '',
disable: 0, disable: 0,
multipoint_login: 1, multipoint_login: 1,
root: 0 root: 0,
city_id: '',
}) })
const passwordConfirmValidator = (rule: object, value: string, callback: any) => { const passwordConfirmValidator = (rule: object, value: string, callback: any) => {
if (formData.password) { if (formData.password) {
@ -236,7 +184,9 @@ const { optionsData } = useDictOptions<{
const handleSubmit = async () => { const handleSubmit = async () => {
await formRef.value?.validate() await formRef.value?.validate()
formData.city_id = userStore.userInfo.city_id
mode.value == 'edit' ? await adminEdit(formData) : await adminAdd(formData) mode.value == 'edit' ? await adminEdit(formData) : await adminAdd(formData)
popupRef.value?.close() popupRef.value?.close()
emit('success') emit('success')
} }

View File

@ -2,9 +2,6 @@
<div> <div>
<el-card class="!border-none mb-4" shadow="never"> <el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline> <el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="昵称" prop="nickname">
<el-input class="w-[280px]" v-model="queryParams.nickname" clearable placeholder="请输入昵称" />
</el-form-item>
<el-form-item label="姓名" prop="username"> <el-form-item label="姓名" prop="username">
<el-input class="w-[280px]" v-model="queryParams.username" clearable placeholder="请输入姓名" /> <el-input class="w-[280px]" v-model="queryParams.username" clearable placeholder="请输入姓名" />
</el-form-item> </el-form-item>
@ -18,16 +15,6 @@
</el-form> </el-form>
</el-card> </el-card>
<el-card class="!border-none" v-loading="pager.loading" shadow="never"> <el-card class="!border-none" v-loading="pager.loading" shadow="never">
<!-- <el-button v-perms="['teamaster_real/add']" type="primary" @click="handleAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button> -->
<el-button v-perms="['teamaster_real/delete']" :disabled="!selectData.length"
@click="handleDelete(selectData)">
删除
</el-button>
<div class="mt-4"> <div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange"> <el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
@ -89,12 +76,8 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" width="120" fixed="right"> <el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }"> <template #default="{ row }">
<el-button v-perms="['teamaster_real/edit']" type="primary" link @click="handleEdit(row)"> <el-button v-perms="['teamaster_real/see']" type="primary" link @click="handleEdit(row)">
编辑 查看
</el-button>
<el-button v-perms="['teamaster_real/delete']" type="danger" link
@click="handleDelete(row.id)">
删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -114,8 +97,10 @@ import { useDictData } from '@/hooks/useDictOptions'
import { apiTeamasterRealLists, apiTeamasterRealDelete } from '@/api/teamaster_real' import { apiTeamasterRealLists, apiTeamasterRealDelete } from '@/api/teamaster_real'
import { timeFormat } from '@/utils/util' import { timeFormat } from '@/utils/util'
import feedback from '@/utils/feedback' import feedback from '@/utils/feedback'
import EditPopup from './edit.vue' import EditPopup from './see.vue'
import useUserStore from '@/stores/modules/user'
const userStore = useUserStore()
const editRef = shallowRef<InstanceType<typeof EditPopup>>() const editRef = shallowRef<InstanceType<typeof EditPopup>>()
// 是否显示编辑框 // 是否显示编辑框
const showEdit = ref(false) const showEdit = ref(false)
@ -126,7 +111,8 @@ const queryParams = reactive({
nickname: '', nickname: '',
username: '', username: '',
mobile: '', mobile: '',
gender: '' gender: '',
parent_id: userStore.userInfo.parent_id
}) })
// 选中数据 // 选中数据

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="edit-popup"> <div class="edit-popup">
<popup ref="popupRef" :title="popupTitle" :async="true" width="550px" @confirm="handleSubmit" <popup ref="popupRef" :title="popupTitle" :async="true" width="550px" confirmButtonText="" cancelButtonText=""
@close="handleClose"> @close="handleClose">
<el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules"> <el-form ref="formRef" :model="formData" label-width="90px">
<el-form-item label="入驻城市" prop="city_name"> <el-form-item label="入驻城市" prop="city_name">
<el-input v-model="formData.city_name" clearable disabled /> <el-input v-model="formData.city_name" clearable disabled />
</el-form-item> </el-form-item>
@ -50,19 +50,19 @@
:max-scale="7" :min-scale="0.2" :preview-src-list="[formData.certificate[1]]" show-progress :max-scale="7" :min-scale="0.2" :preview-src-list="[formData.certificate[1]]" show-progress
:initial-index="4" fit="cover" /> :initial-index="4" fit="cover" />
</el-form-item> </el-form-item>
<el-form-item label="营业执照" prop="license_img"> <!-- <el-form-item label="营业执照" prop="license_img">
<el-image style="width: 100px; height: 100px" :src="formData.license_img" :zoom-rate="1.2" <el-image style="width: 100px; height: 100px" :src="formData.license_img" :zoom-rate="1.2"
:max-scale="7" :min-scale="0.2" :preview-src-list="[formData.license_img]" show-progress :max-scale="7" :min-scale="0.2" :preview-src-list="[formData.license_img]" show-progress
:initial-index="4" fit="cover" /> :initial-index="4" fit="cover" />
<!-- <material-picker v-model="formData.license_img" /> --> <material-picker v-model="formData.license_img" />
</el-form-item> </el-form-item> -->
<el-form-item label="兴趣爱好" prop="hobby_introduce"> <el-form-item label="兴趣爱好" prop="hobby_introduce">
<editor class="flex-1" v-model="formData.hobby_introduce" :height="500" /> <editor class="flex-1" v-model="formData.hobby_introduce" :height="500" disabled />
<!-- <el-input v-model="formData.hobby_introduce" clearable placeholder="请输入兴趣爱好" /> --> <!-- <el-input v-model="formData.hobby_introduce" clearable placeholder="请输入兴趣爱好" /> -->
</el-form-item> </el-form-item>
<el-form-item label="审核状态" prop="status"> <el-form-item label="审核状态" prop="status">
<el-select v-model="formData.status" clearable placeholder="请选择"> <el-select v-model="formData.status" clearable placeholder="请选择" disabled>
<el-option label="未审核" :value="0"></el-option> <el-option label="未审核" :value="0"></el-option>
<el-option label="通过" :value="1"></el-option> <el-option label="通过" :value="1"></el-option>
<el-option label="驳回" :value="2"></el-option> <el-option label="驳回" :value="2"></el-option>
@ -93,7 +93,7 @@ const mode = ref('add')
// //
const popupTitle = computed(() => { const popupTitle = computed(() => {
return mode.value == 'edit' ? '编辑茶艺师审核表' : '新增茶艺师审核表' return mode.value == '茶艺师详情'
}) })
// //
@ -118,45 +118,6 @@ const formData = reactive({
}) })
//
const formRules = reactive<any>({
city_id: [{
required: true,
message: '请输入城市id',
trigger: ['blur']
}],
nickname: [{
required: true,
message: '请输入昵称',
trigger: ['blur']
}],
gender: [{
required: true,
message: '请选择1男2女',
trigger: ['blur']
}],
both: [{
required: true,
message: '请输入出生年月',
trigger: ['blur']
}],
height: [{
required: true,
message: '请输入身高',
trigger: ['blur']
}],
weight: [{
required: true,
message: '请输入体重',
trigger: ['blur']
}],
status: [{
required: true,
message: '请选择0待审核1已通过2已驳回',
trigger: ['blur']
}]
})
// //
const setFormData = async (data: Record<any, any>) => { const setFormData = async (data: Record<any, any>) => {
@ -183,32 +144,6 @@ const getDetail = async (row: Record<string, any>) => {
setFormData(data) setFormData(data)
} }
//
const handleSubmit = async () => {
await formRef.value?.validate()
let data = { ...formData, gender: formData.gender.join(",") }
data.avatar = removeImageUrlPrefix(data.avatar)
if (data.certificate && data.certificate[0]) {
data.certificate = removeImageUrlPrefix(data.certificate[0])
}
if (data.certificate && data.certificate[1]) {
data.certificate = removeImageUrlPrefix(data.certificate[1])
}
if (data.license_img) {
data.license_img = removeImageUrlPrefix(data.license_img)
}
mode.value == 'edit'
? await apiTeamasterRealEdit(data)
: await apiTeamasterRealAdd(data)
popupRef.value?.close()
emit('success')
}
// //
const open = (type = 'add') => { const open = (type = 'add') => {
mode.value = type mode.value = type

View File

@ -42,27 +42,27 @@
<el-form-item label="用户电话" prop="mobile"> <el-form-item label="用户电话" prop="mobile">
<el-input v-model="formData.mobile" clearable placeholder="请输入用户电话" /> <el-input v-model="formData.mobile" clearable placeholder="请输入用户电话" />
</el-form-item> </el-form-item>
<el-form-item label="茶艺师等级" prop="level"> <!-- <el-form-item label="茶艺师等级" prop="level">
<el-select class="flex-1" v-model="formData.level" clearable placeholder="请选择茶艺师等级"> <el-select class="flex-1" v-model="formData.level" clearable placeholder="请选择茶艺师等级">
<el-option v-for="(item, index) in dictData.level" :key="index" :label="item.name" <el-option v-for="(item, index) in dictData.level" :key="index" :label="item.name"
:value="parseInt(item.value)" /> :value="parseInt(item.value)" />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="星级" prop="star"> <el-form-item label="星级" prop="star">
<el-input v-model="formData.star" clearable placeholder="请输入星级" /> <el-input v-model="formData.star" clearable placeholder="请输入星级" />
</el-form-item> </el-form-item>
<el-form-item label="服务单价" prop="price"> <!-- <el-form-item label="服务单价" prop="price">
<el-input v-model="formData.price" clearable placeholder="请输入茶艺服务单价" /> <el-input v-model="formData.price" clearable placeholder="请输入茶艺服务单价" />
</el-form-item> </el-form-item>
<el-form-item label="车马费" prop="mileage_price"> <el-form-item label="车马费" prop="mileage_price">
<el-input v-model="formData.mileage_price" clearable placeholder="请输入车马费/每公里" /> <el-input v-model="formData.mileage_price" clearable placeholder="请输入车马费/每公里" />
</el-form-item> </el-form-item> -->
<el-form-item label="是否免费出行" prop="is_mileage"> <!-- <el-form-item label="是否免费出行" prop="is_mileage">
<el-select class="flex-1" v-model="formData.is_mileage" clearable placeholder="请选择"> <el-select class="flex-1" v-model="formData.is_mileage" clearable placeholder="请选择">
<el-option label="免费" :value="1"></el-option> <el-option label="免费" :value="1"></el-option>
<el-option label="收费" :value="0"></el-option> <el-option label="收费" :value="0"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="服务次数" prop="sold"> <el-form-item label="服务次数" prop="sold">
<el-input v-model="formData.sold" clearable placeholder="请输入服务次数" /> <el-input v-model="formData.sold" clearable placeholder="请输入服务次数" />
</el-form-item> </el-form-item>
@ -90,18 +90,18 @@
<el-form-item label="纬度" prop="latitude"> <el-form-item label="纬度" prop="latitude">
<el-input v-model="formData.latitude" clearable placeholder="请输入纬度" /> <el-input v-model="formData.latitude" clearable placeholder="请输入纬度" />
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="state"> <!-- <el-form-item label="状态" prop="state">
<el-select class="flex-1" v-model="formData.state" clearable placeholder="请选择"> <el-select class="flex-1" v-model="formData.state" clearable placeholder="请选择">
<el-option label="可约" :value="0"></el-option> <el-option label="可约" :value="0"></el-option>
<el-option label="不可约" :value="1"></el-option> <el-option label="不可约" :value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="是否禁用" prop="disable"> <!-- <el-form-item label="是否禁用" prop="disable">
<el-select class="flex-1" v-model="formData.disable" clearable placeholder="请选择"> <el-select class="flex-1" v-model="formData.disable" clearable placeholder="请选择">
<el-option label="否" :value="0"></el-option> <el-option label="否" :value="0"></el-option>
<el-option label="是" :value="1"></el-option> <el-option label="是" :value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
</el-form> </el-form>
</popup> </popup>
</div> </div>
@ -147,11 +147,11 @@ const formData = reactive({
hobby_introduce: '', hobby_introduce: '',
account: '', account: '',
mobile: '', mobile: '',
level: '', // level: '',
star: '', star: '',
price: '', // price: '',
mileage_price: '', // mileage_price: '',
is_mileage: '', // is_mileage: '',
sold: '', sold: '',
server_type: '', server_type: '',
address_id: 0, address_id: 0,
@ -159,9 +159,9 @@ const formData = reactive({
address: '', address: '',
longitude: '', longitude: '',
latitude: '', latitude: '',
disable: '', // disable: '',
state: '', // state: '',
user_money: '' // user_money: ''
}) })
// 城市列表 // 城市列表

View File

@ -131,7 +131,9 @@ import { apiTeamasterUserLists, apiTeamasterUserDelete } from '@/api/teamaster_u
import { timeFormat } from '@/utils/util' import { timeFormat } from '@/utils/util'
import feedback from '@/utils/feedback' import feedback from '@/utils/feedback'
import EditPopup from './edit.vue' import EditPopup from './edit.vue'
import useUserStore from '@/stores/modules/user'
const userStore = useUserStore()
const editRef = shallowRef<InstanceType<typeof EditPopup>>() const editRef = shallowRef<InstanceType<typeof EditPopup>>()
// 是否显示编辑框 // 是否显示编辑框
const showEdit = ref(false) const showEdit = ref(false)
@ -146,7 +148,8 @@ const queryParams = reactive({
is_mileage: '', is_mileage: '',
server_type: '', server_type: '',
disable: '', disable: '',
state: '' state: '',
parent_id: userStore.userInfo.parent_id
}) })
// 选中数据 // 选中数据

View File

@ -20,17 +20,21 @@
<a :href="workbenchData.version.channel.website" target="_blank"> <a :href="workbenchData.version.channel.website" target="_blank">
<el-button type="success" size="small">官网</el-button> <el-button type="success" size="small">官网</el-button>
</a> </a>
<a <a class="ml-3" :href="workbenchData.version.channel.gitee" target="_blank">
class="ml-3"
:href="workbenchData.version.channel.gitee"
target="_blank"
>
<el-button type="danger" size="small">Gitee</el-button> <el-button type="danger" size="small">Gitee</el-button>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
</el-card> </el-card>
<el-card class="!border-none mb-4 lg:mr-4 lg:w-[350px]" shadow="never" v-if="workbenchData.url">
<template #header>
<span class="card-title">推广码</span>
</template>
<div class="flex justify-center">
<img :src="workbenchData.url" width="100px" height="100px" class="object-fill" alt="">
</div>
</el-card>
<el-card class="!border-none mb-4 flex-1" shadow="never"> <el-card class="!border-none mb-4 flex-1" shadow="never">
<template #header> <template #header>
<div> <div>
@ -79,11 +83,8 @@
<span>常用功能</span> <span>常用功能</span>
</template> </template>
<div class="flex flex-wrap"> <div class="flex flex-wrap">
<div <div v-for="item in workbenchData.menu" class="md:w-[12.5%] w-1/4 flex flex-col items-center"
v-for="item in workbenchData.menu" :key="item">
class="md:w-[12.5%] w-1/4 flex flex-col items-center"
:key="item"
>
<router-link :to="item.url" class="mb-3 flex flex-col items-center"> <router-link :to="item.url" class="mb-3 flex flex-col items-center">
<image-contain width="40px" height="40px" :src="item?.image" /> <image-contain width="40px" height="40px" :src="item?.image" />
<div class="mt-2">{{ item.name }}</div> <div class="mt-2">{{ item.name }}</div>
@ -98,12 +99,8 @@
<span>访问量趋势图</span> <span>访问量趋势图</span>
</template> </template>
<div> <div>
<v-charts <v-charts ref="visitorChart" style="height: 350px" :option="workbenchData.visitorOption"
ref="visitorChart" :autoresize="true" />
style="height: 350px"
:option="workbenchData.visitorOption"
:autoresize="true"
/>
</div> </div>
</el-card> </el-card>
<el-card class="!border-none w-full lg:w-1/3" shadow="never"> <el-card class="!border-none w-full lg:w-1/3" shadow="never">
@ -111,12 +108,8 @@
<span>销售额趋势图</span> <span>销售额趋势图</span>
</template> </template>
<div> <div>
<v-charts <v-charts ref="saleChart" style="height: 350px" :option="workbenchData.saleOption"
ref="saleChart" :autoresize="true" />
style="height: 350px"
:option="workbenchData.saleOption"
:autoresize="true"
/>
</div> </div>
</el-card> </el-card>
</div> </div>
@ -262,6 +255,7 @@ const getData = () => {
.then((res: any) => { .then((res: any) => {
workbenchData.version = res.version workbenchData.version = res.version
workbenchData.today = res.today workbenchData.today = res.today
workbenchData.url = res.url
workbenchData.menu = res.menu workbenchData.menu = res.menu
workbenchData.visitor = res.visitor workbenchData.visitor = res.visitor
workbenchData.support = res.support workbenchData.support = res.support

View File

@ -37,15 +37,15 @@ function getElementPlusStylePaths() {
} }
export default defineConfig({ export default defineConfig({
base: '/parten/', base: '/broker/',
server: { server: {
host: '0.0.0.0', host: '0.0.0.0',
port: 5175, // 修改端口号,如有需要可调整 port: 5177, // 修改端口号,如有需要可调整
hmr: true, hmr: true,
open: true, open: true,
proxy: { proxy: {
'/partenapi': { '/brokerapi': {
target: 'https://76458.com', target: 'https://test1.stnav.com',
changeOrigin: true, changeOrigin: true,
secure: true, secure: true,
rewrite: (path) => path rewrite: (path) => path