处理loading

This commit is contained in:
2026-05-21 17:00:52 +08:00
parent cfd68bf3c9
commit 3e49edfba4
9 changed files with 129 additions and 183 deletions

View File

@ -13,4 +13,9 @@ export const getSelfVarietyPointDiffConfigApi = (params: any) => {
//编辑代理客户接口 //编辑代理客户接口
export const editCustomerApi = (params: any) => { export const editCustomerApi = (params: any) => {
return request.post('/agent/editAgent', {...params}) return request.post('/agent/editAgent', {...params})
}
//编辑代理客户接口
export const updateToAgent = (params: any) => {
return request.post('/agent/updateToAgent', {...params})
} }

View File

@ -1,8 +1,8 @@
<template> <template>
<div class="table_form-container"> <div class="table_form-container">
<!-- 搜索 --> <!-- 搜索 -->
<CustomerTradeOrderSearch :search-form="searchForm" :search-options="searchOptions" @search="handleSearch" <CustomerTradeOrderSearch :buttonLoading="loading" :search-form="searchForm" :search-options="searchOptions"
@reset="handleReset" @blur-input="getSubAccountList"> @search="handleSearch" @reset="handleReset" @blur-input="getSubAccountList">
</CustomerTradeOrderSearch> </CustomerTradeOrderSearch>
<div class="bar" v-if="searchForm.orderId === '1'"> <div class="bar" v-if="searchForm.orderId === '1'">
<div>持仓量:0</div> <div>持仓量:0</div>

View File

@ -1,12 +1,9 @@
<template> <template>
<div class="position-stat table_form-container"> <div class="position-stat table_form-container">
<!-- 搜索 --> <!-- 搜索 -->
<PositionStatSearch <PositionStatSearch
:search-form="searchForm" :buttonLoading="loading" :search-form="searchForm" :search-options="searchOptions" @search="handleSearch"
:search-options="searchOptions" @reset="handleReset">
@search="handleSearch"
@reset="handleReset"
>
<!-- <template #button="{ form }">--> <!-- <template #button="{ form }">-->
<!-- <el-button type="primary" @click="handleExport()">--> <!-- <el-button type="primary" @click="handleExport()">-->
<!-- 导出--> <!-- 导出-->
@ -14,12 +11,8 @@
<!-- </template>--> <!-- </template>-->
</PositionStatSearch> </PositionStatSearch>
<!-- 表格 --> <!-- 表格 -->
<PositionStatTable <PositionStatTable :table-data="orderPositionStore.positionOrderList" :columns="tableColumnsOptions"
:table-data="orderPositionStore.positionOrderList" :loading="loading" row-key="id" />
:columns="tableColumnsOptions"
:loading="loading"
row-key="id"
/>
</div> </div>
</template> </template>
@ -62,13 +55,15 @@ const tableColumnsOptions = ref(tableColumns)
* @description: 定义搜索方法 * @description: 定义搜索方法
*/ */
const handleSearch = async () => { const handleSearch = async () => {
startLoading() try {
const data = await checkAccountIdIsSonForUser({ account_id: searchForm.value.account_id }) startLoading()
stopLoading() const data = await checkAccountIdIsSonForUser({ account_id: searchForm.value.account_id })
if (!data.flag) {
if (!data.flag) {
return ElMessage.warning('请输入下级ID') return ElMessage.warning('请输入下级ID')
} }
transactionStore.getPositionList(searchForm.value.account_id) transactionStore.getPositionList(searchForm.value.account_id)
} finally { stopLoading() }
} }
const handleReset = () => { const handleReset = () => {
console.log('重置搜索') console.log('重置搜索')

View File

@ -2,6 +2,7 @@
<div class="order-rechange-page table_form-container"> <div class="order-rechange-page table_form-container">
<!-- 搜索区域按接口参数保留订单号用户名称状态开始/结束时间 --> <!-- 搜索区域按接口参数保留订单号用户名称状态开始/结束时间 -->
<OrderRechangeSearch <OrderRechangeSearch
:buttonLoading="loading"
:search-form="searchForm" :search-form="searchForm"
:search-options="searchOptions" :search-options="searchOptions"
@search="handleSearch" @search="handleSearch"

View File

@ -2,6 +2,7 @@
<div class="table_form-container"> <div class="table_form-container">
<!-- 搜索 --> <!-- 搜索 -->
<TransferSearch <TransferSearch
:buttonLoading="loading"
:search-form="searchForm" :search-form="searchForm"
:search-options="searchOptions" :search-options="searchOptions"
@search="handleSearch" @search="handleSearch"
@ -56,7 +57,7 @@ const initTime = getRecentSevenDays()
/** /**
* @description: 定义搜索数据 * @description: 定义搜索数据
*/ */
const searchForm = ref({ const searchForm = ref<any>({
transferAccount: '', transferAccount: '',
type: '', type: '',
transferTime: [initTime.start, initTime.end], transferTime: [initTime.start, initTime.end],

View File

@ -169,7 +169,7 @@
<template #footer v-if="dialogType !== 'view'"> <template #footer v-if="dialogType !== 'view'">
<div class="drawer-footer"> <div class="drawer-footer">
<el-button @click="handleCancel">取消</el-button> <el-button @click="handleCancel">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button> <el-button type="primary" :loading="submitLoading" @click="handleSubmit">确定</el-button>
</div> </div>
</template> </template>
</el-drawer> </el-drawer>

View File

@ -32,16 +32,15 @@
<RoleForm :form-data="roleForm" :form-rules="roleFormRules" :form-items="roleFormItemOptions" ref="roleFormRef" <RoleForm :form-data="roleForm" :form-rules="roleFormRules" :form-items="roleFormItemOptions" ref="roleFormRef"
:options-map="roleFormOptionsMap" :dialog-type="dialogType"> :options-map="roleFormOptionsMap" :dialog-type="dialogType">
<template #permissions="{ formData }"> <template #permissions="{ formData }">
<el-tree ref="permissionTreeRef" :data="permissionTreeData" :props="treeProps" show-checkbox node-key="id" <el-tree v-loading="treeLoading" ref="permissionTreeRef" :data="permissionTreeData" :props="treeProps"
:default-expand-all="true" :check-strictly="false" show-checkbox node-key="id" :default-expand-all="true" :check-strictly="false" class="permission-tree" />
class="permission-tree" />
</template> </template>
</RoleForm> </RoleForm>
<template #footer> <template #footer>
<div style="flex: auto"> <div style="flex: auto">
<el-button @click="handleCancel">取消</el-button> <el-button @click="handleCancel">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button> <el-button type="primary" :loading="buttonLoading" @click="handleSubmit">确定</el-button>
</div> </div>
</template> </template>
</el-drawer> </el-drawer>
@ -54,8 +53,11 @@ defineOptions({
}) })
import type { FormInstance, TreeInstance } from 'element-plus' import type { FormInstance, TreeInstance } from 'element-plus'
import { Plus } from '@element-plus/icons-vue' import { Plus } from '@element-plus/icons-vue'
import { usePageLoading } from '@/composables/useLoading' import { usePageLoading, useButtonLoading } from '@/composables/useLoading'
const { loading, startLoading, stopLoading } = usePageLoading() const { loading, startLoading, stopLoading } = usePageLoading()
const { loading: treeLoading, startLoading: treeStartLoading, stopLoading: treeStopLoading } = usePageLoading()
const { buttonLoading, startButtonLoading, stopButtonLoading } = useButtonLoading()
// //
import RoleTable from '@/components/common/Table.vue' import RoleTable from '@/components/common/Table.vue'
@ -248,7 +250,7 @@ const filterParentNodes = (permissionIds: number[], treeData: any[]): number[] =
*/ */
const getParentNodeIds = (checkedKeys: number[], treeData: any[]): number[] => { const getParentNodeIds = (checkedKeys: number[], treeData: any[]): number[] => {
const parentIds: number[] = [] const parentIds: number[] = []
treeData.forEach(parent => { treeData.forEach(parent => {
// ID // ID
const childIds = parent.children?.map((child: any) => child.id) || [] const childIds = parent.children?.map((child: any) => child.id) || []
@ -256,13 +258,13 @@ const getParentNodeIds = (checkedKeys: number[], treeData: any[]): number[] => {
const hasCheckedChild = childIds.some((id: number) => checkedKeys.includes(id)) const hasCheckedChild = childIds.some((id: number) => checkedKeys.includes(id))
// //
const allChildrenChecked = childIds.length > 0 && childIds.every((id: number) => checkedKeys.includes(id)) const allChildrenChecked = childIds.length > 0 && childIds.every((id: number) => checkedKeys.includes(id))
// //
if (hasCheckedChild && !allChildrenChecked) { if (hasCheckedChild && !allChildrenChecked) {
parentIds.push(parent.id) parentIds.push(parent.id)
} }
}) })
return parentIds return parentIds
} }
@ -270,27 +272,31 @@ const getParentNodeIds = (checkedKeys: number[], treeData: any[]): number[] => {
const handlePermission = async (row: any) => { const handlePermission = async (row: any) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = '设置角色权限' dialogTitle.value = '设置角色权限'
permissionTreeData.value = []
dialogType.value = 'permissions' dialogType.value = 'permissions'
treeStartLoading()
handleDialogType(dialogType.value) handleDialogType(dialogType.value)
permissionIds.value = row.id permissionIds.value = row.id
try { try {
const data = await getRolePermissionApi({ id: row.id }) const data = await getRolePermissionApi({ id: row.id })
allPermissions.value = data.all_permission_info allPermissions.value = data.all_permission_info
permissionTreeData.value = transformPermissionsToTree(data.all_permission_info) permissionTreeData.value = transformPermissionsToTree(data.all_permission_info)
// IDID // IDID
const childPermissionIds = filterParentNodes(data.permission_ids || [], permissionTreeData.value) const childPermissionIds = filterParentNodes(data.permission_ids || [], permissionTreeData.value)
roleForm.value.permissions = childPermissionIds roleForm.value.permissions = childPermissionIds
console.log('树形权限数据', permissionTreeData.value) console.log('树形权限数据', permissionTreeData.value)
console.log('过滤后的权限ID仅子节点:', childPermissionIds) console.log('过滤后的权限ID仅子节点:', childPermissionIds)
// DOM // DOM
await nextTick() await nextTick()
// 使 setCheckedKeys // 使 setCheckedKeys
permissionTreeRef.value?.setCheckedKeys(childPermissionIds, false) permissionTreeRef.value?.setCheckedKeys(childPermissionIds, false)
} catch (err) { } catch (err) {
console.error('获取角色权限失败', err) console.error('获取角色权限失败', err)
} finally {
treeStopLoading()
} }
} }
@ -298,6 +304,7 @@ const handlePermission = async (row: any) => {
@description: 处理弹窗提交/取消/关闭事件 @description: 处理弹窗提交/取消/关闭事件
**/ **/
const handleSubmit = async () => { const handleSubmit = async () => {
startButtonLoading()
console.log('提交菜单表单', roleForm.value.permissions, allPermissions.value) console.log('提交菜单表单', roleForm.value.permissions, allPermissions.value)
try { try {
await roleFormRef.value?.validate() await roleFormRef.value?.validate()
@ -315,7 +322,7 @@ const handleSubmit = async () => {
// Tree // Tree
const checkedKeys = permissionTreeRef.value?.getCheckedKeys() || [] const checkedKeys = permissionTreeRef.value?.getCheckedKeys() || []
const halfCheckedKeys = permissionTreeRef.value?.getHalfCheckedKeys() || [] const halfCheckedKeys = permissionTreeRef.value?.getHalfCheckedKeys() || []
// ID // ID
const allSelectedKeys = [...checkedKeys, ...halfCheckedKeys] const allSelectedKeys = [...checkedKeys, ...halfCheckedKeys]
@ -333,6 +340,8 @@ const handleSubmit = async () => {
} catch (err) { } catch (err) {
console.log('表单验证失败') console.log('表单验证失败')
return return
} finally {
stopButtonLoading()
} }
} }
@ -363,7 +372,7 @@ const handleClose = () => {
:deep(.el-form-item__content) { :deep(.el-form-item__content) {
margin-left: 0 !important; margin-left: 0 !important;
} }
.system { .system {
:deep(.el-drawer__header) { :deep(.el-drawer__header) {
margin-bottom: 0 !important; margin-bottom: 0 !important;

View File

@ -1,24 +1,14 @@
<template> <template>
<div class="trade-group table_form-container"> <div class="trade-group table_form-container">
<el-form-item label="交易节假日时间设置"> <el-form-item label="交易节假日时间设置">
<el-button <el-button style="margin-left: 18px" type="primary" v-auth="'contractVariety_addHoliday'"
style="margin-left: 18px" @click="handleAdd">添加</el-button>
type="primary" <el-button style="margin-left: 18px" type="danger" v-auth="'contractVariety_addHoliday'"
v-auth="'contractVariety_addHoliday'" @click="handleDel">删除</el-button>
@click="handleAdd"
>添加</el-button
>
<el-button
style="margin-left: 18px"
type="danger"
v-auth="'contractVariety_addHoliday'"
@click="handleDel"
>删除</el-button
>
</el-form-item> </el-form-item>
<!-- 表格 --> <!-- 表格 -->
<div class="table-box"> <div class="table-box">
<table> <table v-loading="loading">
<thead> <thead>
<tr> <tr>
<th>名称</th> <th>名称</th>
@ -36,33 +26,16 @@
<span v-else>{{ item.name }}</span> <span v-else>{{ item.name }}</span>
</td> </td>
<td> <td>
<el-date-picker <el-date-picker v-if="item.editStatus" v-model="item.datePicker" type="datetimerange"
v-if="item.editStatus" start-placeholder="休市开始时间" end-placeholder="休市结束时间" format="YYYY-MM-DD HH:mm:ss"
v-model="item.datePicker" date-format="YYYY-MM-DD HH:mm:ss" time-format="YYYY-MM-DD HH:mm:ss"
type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss" />
start-placeholder="休市开始时间"
end-placeholder="休市结束时间"
format="YYYY-MM-DD HH:mm:ss"
date-format="YYYY-MM-DD HH:mm:ss"
time-format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
/>
<span v-else>{{ item.datePicker[0] }} - {{ item.datePicker[1] }}</span> <span v-else>{{ item.datePicker[0] }} - {{ item.datePicker[1] }}</span>
</td> </td>
<td> <td>
<el-select <el-select multiple placeholder="请选择休市市场" style="width: 240px" v-model="item.groupId"
multiple v-if="item.editStatus">
placeholder="请选择休市市场" <el-option v-for="item in marketList" :key="item.value" :label="item.label" :value="item.value" />
style="width: 240px"
v-model="item.groupId"
v-if="item.editStatus"
>
<el-option
v-for="item in marketList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> </el-select>
<span>{{ <span>{{
(item?.groupId || []) (item?.groupId || [])
@ -78,34 +51,14 @@
<span v-else>{{ item.description }}</span> <span v-else>{{ item.description }}</span>
</td> </td>
<td> <td>
<el-button <el-button type="primary" v-if="!item.editStatus" @click="item.editStatus = true"
type="primary" v-auth="'contractVariety_addHoliday'">编辑</el-button>
v-if="!item.editStatus" <el-button type="danger" v-if="!item.editStatus" @click="handleDel(item.id, index)"
@click="item.editStatus = true" v-auth="'contractVariety_addHoliday'">删除</el-button>
v-auth="'contractVariety_addHoliday'" <el-button type="primary" v-if="item.editStatus" @click="submitItem(index)"
>编辑</el-button v-auth="'contractVariety_addHoliday'">确认</el-button>
> <el-button type="danger" v-if="item.editStatus" @click="item.editStatus = false"
<el-button v-auth="'contractVariety_addHoliday'">取消</el-button>
type="danger"
v-if="!item.editStatus"
@click="handleDel(item.id, index)"
v-auth="'contractVariety_addHoliday'"
>删除</el-button
>
<el-button
type="primary"
v-if="item.editStatus"
@click="submitItem(index)"
v-auth="'contractVariety_addHoliday'"
>确认</el-button
>
<el-button
type="danger"
v-if="item.editStatus"
@click="item.editStatus = false"
v-auth="'contractVariety_addHoliday'"
>取消</el-button
>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -123,6 +76,10 @@ import { ref, onMounted } from 'vue'
import { getGroupListApi } from '@/api/modules/trade/group' import { getGroupListApi } from '@/api/modules/trade/group'
import { getHolidayList, addHoliday, editHoliday, delHoliday } from '@/api/modules/trade/time' import { getHolidayList, addHoliday, editHoliday, delHoliday } from '@/api/modules/trade/time'
import { ElMessageBox } from 'element-plus' import { ElMessageBox } from 'element-plus'
import { usePageLoading } from '@/composables/useLoading'
// loading
const { loading, startLoading, stopLoading } = usePageLoading()
type DataItem = { type DataItem = {
id?: number | string id?: number | string
@ -150,18 +107,21 @@ const getMarketList = async () => {
} }
const initDate = () => { const initDate = () => {
getHolidayList().then((res) => { startLoading()
dataList.value = res.map((item: any) => ({ try {
id: item.id + '', getHolidayList().then((res) => {
name: item.name, dataList.value = res.map((item: any) => ({
start_time: item.start_time, id: item.id + '',
end_time: item.end_time, name: item.name,
datePicker: [item.start_time, item.end_time], start_time: item.start_time,
groupId: item.group_id, end_time: item.end_time,
description: item.description, datePicker: [item.start_time, item.end_time],
editStatus: false, groupId: item.group_id,
})) description: item.description,
}) editStatus: false,
}))
})
} finally { stopLoading() }
} }
const handleAdd = () => { const handleAdd = () => {
@ -223,6 +183,7 @@ onMounted(() => {
.trade-group { .trade-group {
overflow-y: scroll; overflow-y: scroll;
} }
/* 给 table 及所有 td 加边框 */ /* 给 table 及所有 td 加边框 */
table { table {
border-collapse: collapse; border-collapse: collapse;

View File

@ -1,13 +1,11 @@
<template> <template>
<div class="trade-group table_form-container"> <div class="trade-group table_form-container">
<el-form-item label="交易组时间设置"> <el-form-item label="交易组时间设置">
<el-button type="primary" @click="addTableItem" v-auth="'contractVariety_createGroup'" <el-button type="primary" @click="addTableItem" v-auth="'contractVariety_createGroup'">添加</el-button>
>添加</el-button
>
</el-form-item> </el-form-item>
<!-- 表格 --> <!-- 表格 -->
<div class="table-box"> <div class="table-box">
<table> <table v-loading="loading">
<template v-for="(item, index) in tradeGroupTree" :key="item.id"> <template v-for="(item, index) in tradeGroupTree" :key="item.id">
<tr> <tr>
<td style="width: 50px">顺序</td> <td style="width: 50px">顺序</td>
@ -35,23 +33,13 @@
<td class="time-picker-box"> <td class="time-picker-box">
<template v-if="item.editStatus"> <template v-if="item.editStatus">
<template v-if="item?.x_time_list"> <template v-if="item?.x_time_list">
<el-time-picker <el-time-picker v-for="(time, timeIndex) in item?.x_time_list" :key="timeIndex"
v-for="(time, timeIndex) in item?.x_time_list" v-model="item.x_time_list[timeIndex]" style="width: 180px; flex: 0 0 auto" format="HH:mm:ss"
:key="timeIndex" value-format="HH:mm:ss" :picker-options="{
v-model="item.x_time_list[timeIndex]"
style="width: 180px; flex: 0 0 auto"
format="HH:mm:ss"
value-format="HH:mm:ss"
:picker-options="{
selectableRange: '09:00:00 - 18:00:00', selectableRange: '09:00:00 - 18:00:00',
}" }" is-range />
is-range
/>
</template> </template>
<img <img src="@/assets/images/trade/group/add.png" @click="addTime(index, 'x_time_list')" />
src="@/assets/images/trade/group/add.png"
@click="addTime(index, 'x_time_list')"
/>
</template> </template>
<template v-else> <template v-else>
<template v-if="item?.x_time_list"> <template v-if="item?.x_time_list">
@ -62,34 +50,14 @@
</template> </template>
</td> </td>
<td rowspan="2" style="width: 140px"> <td rowspan="2" style="width: 140px">
<el-button <el-button type="primary" v-if="!item.editStatus" @click="item.editStatus = true"
type="primary" v-auth="'contractVariety_editGroup'">编辑</el-button>
v-if="!item.editStatus" <el-button type="danger" v-if="!item.editStatus" @click="deleteGroup(item.id, index)"
@click="item.editStatus = true" v-auth="'contractVariety_delGroup'">删除</el-button>
v-auth="'contractVariety_editGroup'" <el-button type="primary" v-if="item.editStatus" @click="submitItem(index)"
>编辑</el-button v-auth="'contractVariety_editGroup'">确认</el-button>
> <el-button type="danger" v-if="item.editStatus" @click="item.editStatus = false"
<el-button v-auth="'contractVariety_editGroup'">取消</el-button>
type="danger"
v-if="!item.editStatus"
@click="deleteGroup(item.id, index)"
v-auth="'contractVariety_delGroup'"
>删除</el-button
>
<el-button
type="primary"
v-if="item.editStatus"
@click="submitItem(index)"
v-auth="'contractVariety_editGroup'"
>确认</el-button
>
<el-button
type="danger"
v-if="item.editStatus"
@click="item.editStatus = false"
v-auth="'contractVariety_editGroup'"
>取消</el-button
>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -114,23 +82,13 @@
<td class="time-picker-box"> <td class="time-picker-box">
<template v-if="item.editStatus"> <template v-if="item.editStatus">
<template v-if="item?.d_time_list"> <template v-if="item?.d_time_list">
<el-time-picker <el-time-picker v-for="(time, timeIndex) in item?.d_time_list" :key="timeIndex"
v-for="(time, timeIndex) in item?.d_time_list" v-model="item.d_time_list[timeIndex]" style="width: 180px; flex: 0 0 auto" format="HH:mm:ss"
:key="timeIndex" value-format="HH:mm:ss" :picker-options="{
v-model="item.d_time_list[timeIndex]"
style="width: 180px; flex: 0 0 auto"
format="HH:mm:ss"
value-format="HH:mm:ss"
:picker-options="{
selectableRange: '09:00:00 - 18:00:00', selectableRange: '09:00:00 - 18:00:00',
}" }" is-range />
is-range
/>
</template> </template>
<img <img src="@/assets/images/trade/group/add.png" @click="addTime(index, 'd_time_list')" />
src="@/assets/images/trade/group/add.png"
@click="addTime(index, 'd_time_list')"
/>
</template> </template>
<template v-else> <template v-else>
<template v-if="item?.d_time_list"> <template v-if="item?.d_time_list">
@ -148,7 +106,10 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { usePageLoading } from '@/composables/useLoading'
// loading
const { loading, startLoading, stopLoading } = usePageLoading()
defineOptions({ defineOptions({
name: 'Times' name: 'Times'
}) })
@ -246,6 +207,7 @@ const deleteGroup = (id: number, idx: number) => {
* @description: 定义公共请求数据方法 * @description: 定义公共请求数据方法
*/ */
const getGroupList = async () => { const getGroupList = async () => {
startLoading()
try { try {
const data = await getGroupListApi() const data = await getGroupListApi()
data.forEach((item: any) => { data.forEach((item: any) => {
@ -283,6 +245,8 @@ const getGroupList = async () => {
} catch (e: any) { } catch (e: any) {
console.log(e) console.log(e)
ElMessage.error(e.msg) ElMessage.error(e.msg)
} finally {
stopLoading()
} }
} }
@ -298,40 +262,50 @@ onMounted(() => {
.trade-group { .trade-group {
overflow-y: scroll; overflow-y: scroll;
} }
/* 给 table 及所有 td 加边框 */ /* 给 table 及所有 td 加边框 */
table { table {
border-collapse: collapse; border-collapse: collapse;
width: 100%; width: 100%;
table-layout: auto; /* 宽度自适应内容 */ table-layout: auto;
/* 宽度自适应内容 */
.time-picker-box { .time-picker-box {
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
gap: 10px; gap: 10px;
img { img {
width: 20px; width: 20px;
height: 20px; height: 20px;
cursor: pointer; cursor: pointer;
} }
} }
td { td {
height: 59px; height: 59px;
border: 1px solid #dcdfe6; border: 1px solid #dcdfe6;
padding: 4px 8px; /* 内边距缩小 */ padding: 4px 8px;
/* 内边距缩小 */
text-align: center; text-align: center;
font-size: 12px; /* 文字变小 */ font-size: 12px;
white-space: nowrap; /* 文字不换行 */ /* 文字变小 */
vertical-align: middle; /* 垂直居中 */ white-space: nowrap;
/* 文字不换行 */
vertical-align: middle;
/* 垂直居中 */
/* 时间选择器容器:两个选择器横排不换行 */ /* 时间选择器容器:两个选择器横排不换行 */
:deep(.el-time-picker) { :deep(.el-time-picker) {
display: inline-block; display: inline-block;
.el-range-editor { .el-range-editor {
width: 100px; /* 缩小时间选择器宽度 */ width: 100px;
/* 缩小时间选择器宽度 */
font-size: 12px; font-size: 12px;
} }
.el-range-input { .el-range-input {
font-size: 12px; font-size: 12px;
} }