| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- <template>
- <a-drawer :placement="placement"
- :closable="false"
- :visible="visible"
- :destroyOnClose="true"
- class="bottomListed"
- height="406px">
- <!-- 摘牌是top 挂牌是bottom 期货交易是tradeDialog -->
- <div class="collapse"
- @click="cancel">
- <DoubleRightOutlined />
- </div>
- <div class="collapseCont">
- <div class="title">{{ title }}</div>
- <div class="content highContent">
- <!-- <Listed></Listed> -->
- <!-- <Delisting></Delisting> -->
- <slot></slot>
- <!-- <Trade></Trade> -->
- </div>
- </div>
- </a-drawer>
- </template>
- <script lang="ts">
- import { defineComponent, ref, PropType } from 'vue';
- import { closeModal, ModalName } from '@/common/setup/modal/index';
- import Listed from '@/views/market/warehouseTrade/components/listed/index.vue';
- import Delisting from '@/views/market/warehouseTrade/components/delisting/index.vue';
- import Trade from '@/views/market/warehouseTrade/components/trade/index.vue';
- import { _closeModal } from '@/common/setup/modal/modal';
- import { DoubleRightOutlined } from '@ant-design/icons-vue';
- export default defineComponent({
- name: 'drawer',
- emits: ['cancel', 'update'],
- props: {
- modalName: {
- default: 'drawer',
- type: String as PropType<keyof ModalName>,
- },
- title: {
- default: '',
- type: String,
- },
- placement: {
- // 需要绑定的值得 key
- default: 'right',
- type: String,
- },
- visible: {
- default: false,
- type: Boolean,
- },
- },
- components: {
- Listed,
- Delisting,
- Trade,
- DoubleRightOutlined,
- },
- setup(props, context) {
- function cancel() {
- context.emit('cancel');
- }
- return {
- cancel,
- };
- },
- });
- </script>
- <style lang="less">
- .bottom {
- .position(fixed, auto, 0, -2px, auto);
- width: 586px;
- height: 330px;
- background: transparent;
- z-index: 10;
- .ant-drawer-content-wrapper {
- width: 586px !important;
- }
- }
- .top {
- .position(fixed, 101px, 0, auto, auto);
- width: 486px;
- height: 479px;
- background: transparent;
- z-index: 10;
- .ant-drawer-content-wrapper {
- width: 486px !important;
- }
- }
- .topHigh {
- .position(fixed, 80px, 0, auto, auto);
- width: 486px;
- height: 580px;
- background: transparent;
- z-index: 10;
- .ant-drawer-content-wrapper {
- width: 580px !important;
- }
- }
- .tradeDialog {
- .position(fixed, 116px, 0, auto, auto);
- width: 467px;
- height: 310px;
- background: transparent;
- z-index: 10;
- .ant-drawer-content-wrapper {
- width: 467px !important;
- }
- }
- .collapse {
- width: 52px;
- height: 38px;
- cursor: pointer;
- .position(absolute, 0, auto, auto, 0);
- z-index: 11;
- text-align: center;
- line-height: 38px;
- .anticon {
- color: @m-blue10;
- font-weight: bold;
- }
- }
- .ant-drawer.ant-drawer-open {
- .ant-drawer-mask {
- background: transparent;
- }
- .ant-drawer-content-wrapper {
- box-shadow: none;
- .ant-drawer-content {
- background: transparent;
- .ant-drawer-wrapper-body {
- overflow: hidden;
- .ant-drawer-body {
- width: 100%;
- height: 100%;
- padding: 0;
- .inlineflex;
- .collapseCont {
- flex: 1;
- height: 100%;
- // border: 8px solid @m-blue5;
- // border-right: 0;
- .flex;
- flex-direction: column;
- .title {
- width: 100%;
- height: 38px;
- line-height: 38px;
- text-align: center;
- background: linear-gradient(0deg, @m-blue4, @m-blue5);
- font-size: 16px;
- color: @m-white1;
- // border-bottom: 2px solid @m-blue0;
- .rounded-corners(5px, 5px, 0, 0);
- }
- .content {
- flex: 1;
- width: 100%;
- max-height: calc(100% - 36px);
- overflow-y: auto;
- overflow-x: hidden;
- background: @m-grey11;
- border: 8px solid @m-blue21;
- border-top: 0;
- }
- .highContent {
- max-height: 100%;
- }
- }
- }
- }
- }
- }
- }
- .ant-form.inlineForm .ant-row.ant-form-item .ant-form-item-label label {
- width: 90px;
- }
- .ant-drawer.ant-drawer-bottom.ant-drawer-open.bottomListed {
- .position(fixed, auto, 0, 0, auto);
- width: 566px;
- height: 406px !important;
- background: transparent;
- z-index: 10;
- .ant-drawer-content-wrapper {
- width: 566px !important;
- }
- }
- </style>
|