nursing_unit_vue/src/views/invoicing/ConfigMaterial/ConfigMaterialInfoList.vue

793 lines
29 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="p-2">
<!--查询区域-->
<div class="jeecg-basic-table-form-container">
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol"
:wrapper-col="wrapperCol">
<a-row :gutter="24">
<a-col :lg="5">
<a-form-item name="materialName">
<template #label><span title="货品名称">货品名称</span></template>
<j-input placeholder="请输入货品名称" v-model:value="queryParam.materialName" allow-clear></j-input>
</a-form-item>
</a-col>
<a-col :lg="5">
<a-form-item name="materialNo">
<template #label><span title="货品编码">货品编码</span></template>
<j-input placeholder="请输入货品编码" v-model:value="queryParam.materialNo" allow-clear></j-input>
</a-form-item>
</a-col>
<a-col :lg="5">
<a-form-item name="pinyin">
<template #label><span title="拼音检索">拼音检索</span></template>
<j-input placeholder="请输入拼音" v-model:value="queryParam.pinyin" allow-clear></j-input>
</a-form-item>
</a-col>
<a-col :lg="5">
<a-form-item name="izEnabled">
<template #label><span title="是否启用">是否启用</span></template>
<j-dict-select-tag type='list' placeholder="请选择是否启用" v-model:value="queryParam.izEnabled"
dictCode="iz_enabled" allow-clear />
</a-form-item>
</a-col>
<a-col :span="2">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset"
style="margin-left: 8px">重置</a-button>
</a-col>
</span>
</a-col>
</a-row>
</a-form>
</div>
<div>
<div style="width:300px;float: left;">
<div class="container-height"
style="background: white; border-radius: 8px; padding: 8px; margin-right: 14px; overflow-y: auto;">
<div style="width: 100%;height: 40px;">
<div style="text-align: right;float: right;">
<a-radio-group v-model:value="treeParam.izEnabled" @change="getTreeData">
<a-radio-button value="">全部</a-radio-button>
<a-radio-button value="0">启用</a-radio-button>
</a-radio-group>
</div>
<div style="text-align: right;float: left;" v-if="treeData.length == 0">
<a-button type="link" v-auth="'ConfigMaterial:config_material_category:add'"
@click="handleAddbj({ levle: '1' })" preIcon="ant-design:plus-outlined"> 一级分类</a-button>
</div>
</div>
<a-menu style="width: 100%;" mode="inline" >
<template v-for="item in treeData">
<!-- 第一层判断是否有下级 -->
<a-sub-menu v-if="item.children && item.children.length > 0" :key="item.key" @titleClick="handleSearch(item)">
<template #icon>
<Icon :icon="item.icon" :size="20" v-if="item.icon" />
<Icon icon="ant-design:appstore-add-outlined" :size="20" v-else />
</template>
<template #title>
<span @mouseenter="item.showContent = true" @mouseleave="item.showContent = false">{{ item?.title }}
<span v-if="item?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="item.showContent">
<!-- 下拉菜单 -->
<a-dropdown >
<template #overlay>
<ConfigMaterialInfoListMenu :data="item" @handleAddbj="handleAddbj" @handleAddxj="handleAddxj" @handleAdd="handleAdd" @handleFenleiEdit="handleFenleiEdit" @handleQyty="handleQyty" @handleQianyi="handleQianyi" />
</template>
<!-- 图标 -->
<a class="ant-dropdown-link" style="color:#1890FF;" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
</a-dropdown>
</span>
</span>
</template>
<!-- 第二级 -->
<template v-for="child in item.children">
<a-sub-menu :key="child.key" v-if="child.children && child.children.length > 0" @titleClick="handleSearch(child)">
<template #icon >
<Icon :icon="child.icon" :size="20" v-if="child.icon" />
<Icon icon="ant-design:appstore-add-outlined" :size="20" v-else />
</template>
<template #title >
<span @mouseenter="child.showContent = true" @mouseleave="child.showContent = false" >{{ child?.title }}
<span v-if="child?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="child.showContent">
<!-- 下拉菜单 -->
<a-dropdown >
<template #overlay>
<ConfigMaterialInfoListMenu :data="child" @handleAddbj="handleAddbj" @handleAddxj="handleAddxj" @handleAdd="handleAdd" @handleFenleiEdit="handleFenleiEdit" @handleQyty="handleQyty" @handleQianyi="handleQianyi" />
</template>
<!-- 图标 -->
<a class="ant-dropdown-link" style="color:#1890FF;" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
</a-dropdown>
</span>
</span>
</template>
<!-- 第三层 -->
<a-menu-item :key="childThree.key" v-for="childThree in child.children" @click="handleSearch(childThree)">
<template #icon>
<Icon :icon="childThree.icon" :size="20" v-if="childThree.icon" />
<Icon icon="ant-design:appstore-add-outlined" :size="20" v-else />
</template>
<span @mouseenter="childThree.showContent = true" @mouseleave="childThree.showContent = false">{{ childThree?.title }}
<span v-if="childThree?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="childThree.showContent">
<a-dropdown >
<template #overlay>
<ConfigMaterialInfoListMenu :data="childThree" @handleAddbj="handleAddbj" @handleAddxj="handleAddxj" @handleAdd="handleAdd" @handleFenleiEdit="handleFenleiEdit" @handleQyty="handleQyty" @handleQianyi="handleQianyi" />
</template>
<a class="ant-dropdown-link" style="color:#1890FF;" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
</a-dropdown>
</span>
</span>
</a-menu-item>
</a-sub-menu>
<a-menu-item :key="child.key" v-if="!child.children || child.children.length < 1" @click="handleSearch(child)">
<template #icon>
<Icon :icon="child.icon" :size="20" v-if="child.icon" />
<Icon icon="ant-design:appstore-add-outlined" :size="20" v-else />
</template>
<span @mouseenter="child.showContent = true" @mouseleave="child.showContent = false">{{ child?.title }}
<span v-if="child?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="child.showContent">
<!-- 下拉菜单 -->
<a-dropdown >
<template #overlay>
<ConfigMaterialInfoListMenu :data="child" @handleAddbj="handleAddbj" @handleAddxj="handleAddxj" @handleAdd="handleAdd" @handleFenleiEdit="handleFenleiEdit" @handleQyty="handleQyty" @handleQianyi="handleQianyi" />
</template>
<!-- 图标 -->
<a class="ant-dropdown-link" style="color:#1890FF;" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
</a-dropdown>
</span>
</span>
</a-menu-item>
</template>
</a-sub-menu>
<a-menu-item :key="item.key" v-if="!item.children || item.children.length < 1" @click="handleSearch(item)">
<template #icon>
<Icon :icon="item.icon" :size="20" v-if="item.icon" />
<Icon icon="ant-design:appstore-add-outlined" :size="20" v-else />
</template>
<span @mouseenter="item.showContent = true" @mouseleave="item.showContent = false">{{ item?.title }}
<span v-if="item?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="item.showContent">
<!-- 下拉菜单 -->
<a-dropdown >
<template #overlay>
<ConfigMaterialInfoListMenu :data="item" @handleAddbj="handleAddbj" @handleAddxj="handleAddxj" @handleAdd="handleAdd" @handleFenleiEdit="handleFenleiEdit" @handleQyty="handleQyty" @handleQianyi="handleQianyi" />
</template>
<!-- 图标 -->
<a class="ant-dropdown-link" style="color:#1890FF;" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
</a-dropdown>
</span>
</span>
</a-menu-item>
</template>
</a-menu>
<!-- <a-tree class="draggable-tree" draggable block-node :tree-data="treeData">
<template #title="{ data, title }">
<div @mouseenter="data.showContent = true" @mouseleave="data.showContent = false">
<span @click="handleSearch(data)">{{ title }}</span>
<span v-if="data?.izEnabled == '1'" style="color:red;">(已停用)</span>
<span v-show="data.showContent" style="margin-left: 5px;">
<a-dropdown>
<a class="ant-dropdown-link" @click.prevent>
<Icon icon="ant-design:setting-outlined" />
</a>
<template #overlay>
<a-menu>
<a-menu-item v-if="data.levle == '1'">
<Icon icon="ant-design:plus-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleAddbj(data)">添加本级</a>
</a-menu-item>
<a-menu-item
v-if="(data.levle == '1' || data.levle == '2') && data.tjxj == 0 && data.parentIzEnabled == 0 && data.izEnabled == '0'">
<Icon icon="ant-design:plus-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleAddxj(data)">添加下级</a>
</a-menu-item>
<a-menu-item
v-if="data?.children?.length == 0 && data.parentIzEnabled == 0 && data.izEnabled == '0'">
<Icon icon="ant-design:plus-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleAdd(data)">添加物料</a>
</a-menu-item>
<a-menu-item v-if="data.parentIzEnabled == 0 && data.izEnabled == '0'">
<Icon icon="ant-design:edit-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleFenleiEdit(data)">重命名</a>
</a-menu-item>
<a-menu-item
v-if="(data.izEnabled == '1' && data.parentIzEnabled == 0) || (data.parentIzEnabled == 1 && data.levle == '1')">
<Icon icon="ant-design:check-circle-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleQyty(data, '0')">启用</a>
</a-menu-item>
<a-menu-item v-if="data.izEnabled == '0'">
<Icon icon="ant-design:stop-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleQyty(data, '1')">停用</a>
</a-menu-item>
<a-menu-item
v-if="(data.levle == '2' || data.levle == '3') && data.parentIzEnabled == 0 && data.izEnabled == '0'">
<Icon icon="ant-design:copy-outlined" class="abuttoncss" />
<a href="javascript:;" class="abuttoncss" @click="handleQianyi(data)">迁移</a>
</a-menu-item>
<a-menu-item
v-if="(data.levle == '2' || data.levle == '3') && data.parentIzEnabled == 1 && data.izEnabled == '1'">
<span disabled>
<Icon icon="ant-design:file-excel-outlined" />
暂无操作
</span>
</a-menu-item>
</a-menu>
</template>
</a-dropdown>
</span>
</div>
</template>
</a-tree> -->
</div>
</div>
<div class="container-height" style="width:calc(100% - 300px);float: left;">
<!--引用表格-->
<BasicTable @register="registerTable">
<!--插槽:table标题-->
<!-- <template #tableTitle>
<a-button type="primary" v-auth="'configMaterialInfo:config_material_info:add'" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
<a-button type="primary" v-auth="'configMaterialInfo:config_material_info:exportXls'" preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
<j-upload-button type="primary" v-auth="'configMaterialInfo:config_material_info:importExcel'" preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button>
</template> -->
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
</template>
<template v-slot:bodyCell="{ column, record, index, text }">
</template>
</BasicTable>
</div>
</div>
<!-- 表单区域 -->
<ConfigMaterialInfoModal ref="registerModal" @success="handleSuccess"></ConfigMaterialInfoModal>
<ConfigMaterialCategoryModal ref="registerDrawer" @success="handleSuccess"></ConfigMaterialCategoryModal>
<ConfigMaterialTypeModal ref="registerTypeDrawer" @success="handleSuccess"></ConfigMaterialTypeModal>
<ConfigMaterialMedicationModal ref="registerMedicationDrawer" @success="handleSuccess">
</ConfigMaterialMedicationModal>
<QianyiModal ref="qianyiDrawer" @success="handleSuccess"></QianyiModal>
<WlqianyiModal ref="wlqianyiDrawer" @success="handleSuccess"></WlqianyiModal>
</div>
</template>
<script lang="ts" name="configMaterialInfo-configMaterialInfo" setup>
import { ref, reactive, onMounted, computed } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage';
import { columns, superQuerySchema } from './ConfigMaterialInfo.data';
import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './ConfigMaterialInfo.api';
import { downloadFile } from '/@/utils/common/renderUtils';
import ConfigMaterialInfoModal from './components/ConfigMaterialInfoModal.vue'
import { useUserStore } from '/@/store/modules/user';
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import JSwitch from '/@/components/Form/src/jeecg/components/JSwitch.vue';
import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMultiple.vue';
import { JInput } from '/@/components/Form';
import type { TreeProps } from 'ant-design-vue';
import { DownOutlined } from '@ant-design/icons-vue';
import { defHttp } from '/@/utils/http/axios';
import type { CollapseProps } from 'ant-design-vue';
import ConfigMaterialCategoryModal from '/@/views/invoicing/ConfigMaterial/components/ConfigMaterialCategoryModal.vue';
import ConfigMaterialTypeModal from '/@/views/invoicing/ConfigMaterial/components/ConfigMaterialTypeModal.vue';
import ConfigMaterialMedicationModal from '/@/views/invoicing/ConfigMaterial/components/ConfigMaterialMedicationModal.vue';
import QianyiModal from '/@/views/invoicing/ConfigMaterial/components/QianyiModal.vue';
import WlqianyiModal from '/@/views/invoicing/ConfigMaterial/components/WlqianyiModal.vue';
import ConfigMaterialInfoListMenu from './ConfigMaterialInfoListMenu.vue';
import { useResponsive } from '/@/hooks/web/useResponsive';
const { screenEnum, screenWidth } = useResponsive();
// 计算动态高度
const scrollY = computed(() => {
// 大屏幕≥1600px使用 71vh否则使用 66.5vh
return screenWidth.value >= screenEnum.XXL ? '66.8vh' : '58.5vh';
});
const formRef = ref();
const queryParam = reactive<any>({});
const treeParam = reactive<any>({ izEnabled: '0' });
const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref();
const userStore = useUserStore();
let treeData = ref<any>([]);
let treeChildData = ref<any>([]);
const activeKey = ref(0);
const activeKey2 = ref(0);
const rootSubmenuKeys = ['sub1']
const openKeys = []
const selectedKeys = []
const clickCount = ref(0);
const registerDrawer = ref();
const registerTypeDrawer = ref();
const registerMedicationDrawer = ref();
const qianyiDrawer = ref();
const wlqianyiDrawer = ref();
/**
* 点击菜单
* @param index 菜单索引
* @param lengths 菜单数量
* @param item 菜单数据
*/
const handleClick = (index, item) => {
clickCount.value = index;
treeChildData.value = item.children;
};
const getCardStyle = (index, allSize) => {
const style = { borderBottomLeftRadius: '', borderTopLeftRadius: '' };
if (clickCount.value - 1 === index) {
style.borderBottomLeftRadius = '5px';
}
if (clickCount.value + 1 === index) {
style.borderTopLeftRadius = '5px';
}
if (!index) {
style.borderTopLeftRadius = '5px';
}
if (index === allSize) {
style.borderBottomLeftRadius = '5px';
}
return style;
};
//注册table数据
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
tableProps: {
api: list,
columns,
canResize: false,
useSearchForm: false,
showIndexColumn: true,
showTableSetting: false,
scroll: { y: scrollY.value },
actionColumn: {
width: 200,
fixed: 'right',
},
beforeFetch: async (params) => {
return Object.assign(params, queryParam);
},
},
exportConfig: {
name: "物料信息",
url: getExportUrl,
params: queryParam,
},
importConfig: {
url: getImportUrl,
success: handleSuccess
},
});
const [registerTable, { reload, collapseAll, updateTableDataRecord, findTableDataRecord, getDataSource }, { rowSelection, selectedRowKeys }] = tableContext;
const labelCol = reactive({
xs: 24,
sm: 7,
xl: 7,
xxl: 6
});
const wrapperCol = reactive({
xs: 24,
sm: 20,
xl: 17,
xxl: 18
});
function onOpenChange(openKeys: string[]) {
const latestOpenKey = openKeys.find(key => openKeys.indexOf(key) === -1);
if (rootSubmenuKeys.indexOf(latestOpenKey!) === -1) {
openKeys = openKeys;
} else {
openKeys = latestOpenKey ? [latestOpenKey] : [];
}
};
function onSelect({ key, domEvent }) {
queryParam.treeId = key;
reload();
}
//迁移
function handleQianyi(record) {
console.log("🚀 ~ handleQianyi ~ data:", record)
record.id = record.key
if (record.children.length > 0) {
record.sfyxj = "1"
} else {
record.sfyxj = "0"
}
console.log("🚀 ~ handleQianyi ~ record:", record)
qianyiDrawer.value.disableSubmit = false;
qianyiDrawer.value.edit(record);
}
/**
* 新增事件
*/
function handleAdd(data) {
const record = { categoryId: '', typeId: '', medicationId: '' }
var levle = parseInt(data.levle)
if (levle == 1) {
record.categoryId = data.key
record.typeId = ''
record.medicationId = ''
} else if (levle == 2) {
record.categoryId = data.categoryId
record.typeId = data.key
record.medicationId = ''
} else if (levle == 3) {
record.categoryId = data.categoryId
record.typeId = data.typeId
record.medicationId = data.key
}
registerModal.value.disableSubmit = false;
registerModal.value.add(record);
}
/**
* 编辑事件
*/
function handleEdit(record: Recordable) {
registerModal.value.disableSubmit = false;
registerModal.value.edit(record);
}
/**
* 详情
*/
function handleDetail(record: Recordable) {
registerModal.value.disableSubmit = true;
registerModal.value.edit(record);
}
/**
* 删除事件
*/
async function handleDelete(record) {
await deleteOne({ id: record.id }, handleSuccess);
}
/**
* 批量删除事件
*/
async function batchHandleDelete() {
await batchDelete({ ids: selectedRowKeys.value }, handleSuccess);
}
/**
* 成功回调
*/
function handleSuccess() {
getTreeData();
searchQuery();
}
/**
* 操作栏
*/
function getTableAction(record) {
return [
{
label: '编辑',
onClick: handleEdit.bind(null, record),
auth: 'configMaterialInfo:config_material_info:edit'
},
{
label: '详情',
onClick: handleDetail.bind(null, record),
},
// {
// label: '删除',
// popConfirm: {
// title: '是否确认删除',
// confirm: handleDelete.bind(null, record),
// placement: 'topLeft',
// },
// auth: 'configMaterialInfo:config_material_info:delete'
// }
{
label: '启用',
onClick: handleWlQyty.bind(null, record),
ifShow: record.izEnabled == 1
},
{
label: '停用',
onClick: handleWlQyty.bind(null, record),
ifShow: record.izEnabled == 0
},
{
label: '迁移',
onClick: handleWlqianyi.bind(null, record),
},
];
}
function handleWlqianyi(record: Recordable) {
wlqianyiDrawer.value.disableSubmit = false;
wlqianyiDrawer.value.edit(record);
}
//物料的启用停用
function handleWlQyty(record) {
console.log("🚀 ~ handleWlQyty ~ record:", record)
const izEnabled = record.izEnabled == '1' ? '0' : "1"
var params = { id: record.id, izEnabled }
defHttp.post({ url: '/invoicing/configMaterialInfo/edit', params }).then((res) => {
searchQuery()
});
}
//点击树节点查询右侧列表数据
function handleSearch(data) {
console.log("🚀 ~ handleSearch ~ data:", data)
var levle = parseInt(data.levle)
if (levle == 1) {
queryParam.categoryId = data.key
queryParam.typeId = ''
queryParam.medicationId = ''
} else if (levle == 2) {
queryParam.categoryId = data.categoryId
queryParam.typeId = data.key
queryParam.medicationId = ''
} else if (levle == 3) {
queryParam.categoryId = data.categoryId
queryParam.typeId = data.typeId
queryParam.medicationId = data.key
}
reload();
}
//添加本级(只添加一级分类)
function handleAddbj(data) {
var params = {}
registerDrawer.value.disableSubmit = false;
registerDrawer.value.add(params);
}
//添加下级
function handleAddxj(data) {
var levle = parseInt(data.levle) + 1;
var params = { levle, categoryId: data.categoryId, typeId: data.typeId }
if (data.levle == 1) {
registerTypeDrawer.value.disableSubmit = false;
registerTypeDrawer.value.add(params);
} else if (data.levle == 2) {
registerMedicationDrawer.value.disableSubmit = false;
registerMedicationDrawer.value.add(params);
}
}
//编辑
function handleFenleiEdit(data) {
console.log("🚀 ~ handleEdit ~ data:", data)
const params = { id: data.key, categoryId: data.categoryId, typeId: data.typeId, }
if (data.levle == 1) {
params.categoryName = data.title
registerDrawer.value.disableSubmit = false;
registerDrawer.value.edit(params);
} else if (data.levle == 2) {
params.typeName = data.title
console.log("🚀 ~ handleEdit ~ params:", params)
registerTypeDrawer.value.disableSubmit = false;
registerTypeDrawer.value.edit(params);
} else if (data.levle == 3) {
params.medicationName = data.title
console.log("🚀 ~ handleEdit ~ params:", params)
registerMedicationDrawer.value.disableSubmit = false;
registerMedicationDrawer.value.edit(params);
}
}
//启用停用
function handleQyty(data, type) {
console.log("🚀 ~ handleQyty ~ data:", data)
var levle = data.levle;
var params = { id: data.key, izEnabled: type }
var url = "";
//一级分类
if (levle == 1) {
url = "/invoicing/configMaterialCategory/editQyty";
//二级分类
} else if (levle == 2) {
url = "/invoicing/configMaterialType/editQyty";
//三级分类
} else if (levle == 3) {
url = "/invoicing/configMaterialMedication/editQyty";
} else {
return;
}
defHttp.post({ url: url, params }).then(res => {
console.log("🚀 ~ defHttp.post ~ res:", res)
reload();
getTreeData();
})
}
/**
* 查询
*/
function searchQuery() {
reload();
}
/**
* 重置
*/
function searchReset() {
formRef.value.resetFields();
selectedRowKeys.value = [];
queryParam.treeId = null;
//刷新数据
reload();
}
function getTreeData() {
const params = { izEnabled: treeParam.izEnabled }
defHttp.get({ url: '/invoicing/configMaterialCategory/getMaterialTreeData', params }).then(res => {
treeData.value = res;
// console.log("🚀 ~ defHttp.get ~ treeData:", treeData)
// console.log("🚀 ~ defHttp.get ~ res:", res)
// if(treeData.value.length > 0){
// treeChildData.value = treeData.value[0].children;
// }
})
}
// 自动请求并暴露内部方法
onMounted(() => {
getTreeData()
});
</script>
<style lang="less" scoped>
.jeecg-basic-table-form-container {
padding: 0;
margin-bottom: 14px;
.table-page-search-submitButtons {
display: block;
margin-bottom: 0px;
white-space: nowrap;
}
.query-group-cust {
min-width: 100px !important;
}
.query-group-split-cust {
width: 30px;
display: inline-block;
text-align: center
}
.ant-form-item:not(.ant-form-item-with-help) {
margin-bottom: 14px;
height: 32px;
}
:deep(.ant-picker),
:deep(.ant-input-number) {
width: 100%;
}
}
.all-card {
width: 80px;
height: 730px;
// background-color: rgb(217, 230, 239);
// display: flex;
/* justify-content: flex-end; */
align-items: flex-end;
flex-direction: column;
// padding-top: 10px;
}
.card {
display: flex;
justify-content: center;
align-items: center;
width: 80px;
height: 120px;
flex-direction: column;
background-color: rgb(243, 248, 251);
/* border-radius: 25px; */
}
.card-target {
display: flex;
justify-content: center;
align-items: center;
width: 80px;
height: 120px;
flex-direction: column;
background-color: #fff;
border-top-left-radius: 30px;
border-bottom-left-radius: 30px;
/* position: relative; */
/* border-radius: 10px; */
}
.sanjiao-down {
position: absolute;
bottom: -26px;
left: 17px;
width: 64px;
/* 上边长度 */
height: 27px;
/* 右边长度 */
background-color: #fff;
/* 三角形填充色 */
/* 三点依次为:右上 (100% 0),右下 (100% 100%),左上 (0 0) */
clip-path: polygon(100% 0, 100% 100%, 0 0);
z-index: 999;
}
.sanjiao-up {
position: absolute;
top: -26px;
left: 17px;
width: 64px;
height: 27px;
background-color: #fff;
/* 三点依次为:右下 (100% 100%),左下 (0 100%),右上 (100% 0) */
clip-path: polygon(100% 100%, 0 100%, 100% 0);
z-index: 999;
}
.abuttoncss {
color: #1890ff !important;
}
.abuttoncss:hover {
color: #69c0ff !important;
}
.container-height {
height: 77vh;
}
@media screen and (min-width: 1600px) and (min-height: 900px) {
.container-height {
height: 81.5vh;
}
}
:deep(.ant-menu-item-selected) {
color: #4b4b4b !important;
}
:deep(.ant-menu-submenu-title) {
color: #4b4b4b !important;
}
</style>