fix
Showing
6 changed files
with
105 additions
and
33 deletions
src/assets/icons/waring.svg
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> | ||
| 3 | <title>0.全局样式/1.图标/4.基础面性图标/警告</title> | ||
| 4 | <g id="0.全局样式/1.图标/4.基础面性图标/警告" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> | ||
| 5 | <path d="M16,2 C23.7319865,2 30,8.2680135 30,16 C30,23.7319865 23.7319865,30 16,30 C8.2680135,30 2,23.7319865 2,16 C2,8.2680135 8.2680135,2 16,2 Z M16,22 C15.1715729,22 14.5,22.6715729 14.5,23.5 C14.5,24.3284271 15.1715729,25 16,25 C16.8284271,25 17.5,24.3284271 17.5,23.5 C17.5,22.6715729 16.8284271,22 16,22 Z M16,7 C15.4477153,7 15,7.44771525 15,8 L15,8 L15,19 C15,19.5522847 15.4477153,20 16,20 C16.5522847,20 17,19.5522847 17,19 L17,19 L17,8 C17,7.44771525 16.5522847,7 16,7 Z" id="形状结合" fill="#FF991C"></path> | ||
| 6 | </g> | ||
| 7 | </svg> |
| ... | @@ -66,7 +66,6 @@ onMounted(() => { | ... | @@ -66,7 +66,6 @@ onMounted(() => { |
| 66 | <svg-icon name="ep:caret-bottom" /> | 66 | <svg-icon name="ep:caret-bottom" /> |
| 67 | </el-icon> | 67 | </el-icon> |
| 68 | </div> | 68 | </div> |
| 69 | |||
| 70 | </div> | 69 | </div> |
| 71 | <template #dropdown> | 70 | <template #dropdown> |
| 72 | <el-dropdown-menu class="user-dropdown"> | 71 | <el-dropdown-menu class="user-dropdown"> | ... | ... |
| ... | @@ -54,6 +54,9 @@ const searchItemList = ref([ | ... | @@ -54,6 +54,9 @@ const searchItemList = ref([ |
| 54 | props: { | 54 | props: { |
| 55 | value: 'value', | 55 | value: 'value', |
| 56 | label: 'label' | 56 | label: 'label' |
| 57 | }, | ||
| 58 | style: { | ||
| 59 | width: '230px' | ||
| 57 | } | 60 | } |
| 58 | }, | 61 | }, |
| 59 | { | 62 | { |
| ... | @@ -303,12 +306,19 @@ const handleCreate = () => { | ... | @@ -303,12 +306,19 @@ const handleCreate = () => { |
| 303 | // 定义 ref 和响应式高度 | 306 | // 定义 ref 和响应式高度 |
| 304 | const tableToolsRef = ref<any>(null); | 307 | const tableToolsRef = ref<any>(null); |
| 305 | const tableToolsHeight = ref<any>(0); | 308 | const tableToolsHeight = ref<any>(0); |
| 309 | const searchHeight = ref<any>(0); | ||
| 306 | 310 | ||
| 307 | // 获取 TableTools 的高度 | 311 | // 获取 TableTools 的高度 |
| 308 | const getTableToolsHeight = () => { | 312 | const getTableToolsHeight = () => { |
| 309 | const tableToolsElement: any = tableToolsRef.value; | 313 | const tableToolsElement: any = tableToolsRef.value; |
| 310 | if (tableToolsElement) { | 314 | if (tableToolsElement) { |
| 315 | console.log('tableToolsElement', tableToolsElement.offsetHeight); | ||
| 311 | tableToolsHeight.value = tableToolsElement.offsetHeight; | 316 | tableToolsHeight.value = tableToolsElement.offsetHeight; |
| 317 | if (tableToolsHeight.value > 40 && tableToolsHeight.value < 80) { | ||
| 318 | searchHeight.value = tableToolsHeight.value - 30; | ||
| 319 | } else if (tableToolsHeight.value > 80) { | ||
| 320 | searchHeight.value = tableToolsHeight.value - 78; | ||
| 321 | } | ||
| 312 | } | 322 | } |
| 313 | }; | 323 | }; |
| 314 | // 在组件挂载后获取初始高度 | 324 | // 在组件挂载后获取初始高度 |
| ... | @@ -345,7 +355,7 @@ const handleWindowResize = () => { | ... | @@ -345,7 +355,7 @@ const handleWindowResize = () => { |
| 345 | </div> --> | 355 | </div> --> |
| 346 | </div> | 356 | </div> |
| 347 | <div class="table_panel_wrap" :style="{ height: `calc(100% - ${tableToolsHeight + 60}px)` }"> | 357 | <div class="table_panel_wrap" :style="{ height: `calc(100% - ${tableToolsHeight + 60}px)` }"> |
| 348 | <div class="data-content" v-loading="listDataLoading" :style="{ height: `calc(100% - ${tableToolsHeight}px)` }"> | 358 | <div class="data-content" v-loading="listDataLoading" :style="{ height: `calc(100% - ${searchHeight}px)` }"> |
| 349 | <div class="v-add" @click.stop="handleCreate"> | 359 | <div class="v-add" @click.stop="handleCreate"> |
| 350 | <div class=" add-img"></div> | 360 | <div class=" add-img"></div> |
| 351 | <div class="add-titile"> | 361 | <div class="add-titile"> |
| ... | @@ -458,7 +468,7 @@ const handleWindowResize = () => { | ... | @@ -458,7 +468,7 @@ const handleWindowResize = () => { |
| 458 | 468 | ||
| 459 | :deep(.tools_search) { | 469 | :deep(.tools_search) { |
| 460 | .el-form-item .el-select { | 470 | .el-form-item .el-select { |
| 461 | width: 240px; | 471 | width: 230px; |
| 462 | } | 472 | } |
| 463 | } | 473 | } |
| 464 | 474 | ... | ... |
| ... | @@ -851,10 +851,12 @@ const formInfo = ref<any>({ | ... | @@ -851,10 +851,12 @@ const formInfo = ref<any>({ |
| 851 | <div class="list-content" v-if="demandListData.length > 0"> | 851 | <div class="list-content" v-if="demandListData.length > 0"> |
| 852 | <div class="card-content" v-for="item in demandListData" :key="item.guid"> | 852 | <div class="card-content" v-for="item in demandListData" :key="item.guid"> |
| 853 | <div class="header"> | 853 | <div class="header"> |
| 854 | <div class="header-top"> | ||
| 854 | <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" | 855 | <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" |
| 855 | alt="" /> | 856 | alt="" /> |
| 856 | <div class="right-main"> | ||
| 857 | <div class="title">{{ item.exchangeName ?? '--' }}</div> | 857 | <div class="title">{{ item.exchangeName ?? '--' }}</div> |
| 858 | </div> | ||
| 859 | <div class="right-main"> | ||
| 858 | <div class="count-group"> | 860 | <div class="count-group"> |
| 859 | <div class="count-item"> | 861 | <div class="count-item"> |
| 860 | <div class="item-label">已上架产品数</div> | 862 | <div class="item-label">已上架产品数</div> |
| ... | @@ -868,10 +870,17 @@ const formInfo = ref<any>({ | ... | @@ -868,10 +870,17 @@ const formInfo = ref<any>({ |
| 868 | </div> | 870 | </div> |
| 869 | </div> | 871 | </div> |
| 870 | <div class="operator-btn" @click="btnClick(item)"> | 872 | <div class="operator-btn" @click="btnClick(item)"> |
| 871 | 873 | <!-- <div class="left-btn">更新模板</div> --> | |
| 872 | <div class="left-btn">资产登记</div> | 874 | <div class="right-btn">产品上架</div> |
| 875 | </div> | ||
| 873 | </div> | 876 | </div> |
| 874 | </div> | 877 | </div> |
| 878 | <div class="v-tip"> | ||
| 879 | <div class="tip-icon"></div> | ||
| 880 | <div class="tip-des"> | ||
| 881 | 在各数交所上架时,会同时在门户、专区和主平台门户进行展示;在门户上架则只会在门户上架,不会在数交所、专区及主平台门户上架。 | ||
| 882 | </div> | ||
| 883 | |||
| 875 | </div> | 884 | </div> |
| 876 | <div class="table_panel_wrap" :style="{ | 885 | <div class="table_panel_wrap" :style="{ |
| 877 | height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)' | 886 | height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)' |
| ... | @@ -920,33 +929,42 @@ const formInfo = ref<any>({ | ... | @@ -920,33 +929,42 @@ const formInfo = ref<any>({ |
| 920 | display: flex; | 929 | display: flex; |
| 921 | justify-content: flex-start; | 930 | justify-content: flex-start; |
| 922 | flex-wrap: wrap; | 931 | flex-wrap: wrap; |
| 923 | margin-bottom: 8px; | ||
| 924 | padding: 0 8px; | 932 | padding: 0 8px; |
| 925 | 933 | ||
| 926 | .card-content { | 934 | .card-content { |
| 927 | width: 300px; | 935 | width: 300px; |
| 928 | padding: 16px; | ||
| 929 | box-shadow: 0 0 0 1px #d9d9d9; | 936 | box-shadow: 0 0 0 1px #d9d9d9; |
| 930 | margin-right: 12px; | 937 | border-radius: 3px; |
| 938 | margin-right: 18px; | ||
| 939 | margin-bottom: 12px; | ||
| 931 | 940 | ||
| 932 | .header { | 941 | .header { |
| 933 | display: flex; | 942 | display: flex; |
| 934 | margin-bottom: 16px; | 943 | flex-direction: column; |
| 944 | padding: 16px; | ||
| 945 | |||
| 946 | .header-top { | ||
| 947 | display: flex; | ||
| 948 | align-items: center; | ||
| 949 | margin-bottom: 22px; | ||
| 935 | 950 | ||
| 936 | img { | 951 | img { |
| 937 | width: 80px; | 952 | width: 20px; |
| 938 | margin-right: 16px; | 953 | height: 20px; |
| 954 | margin-right: 8px; | ||
| 939 | } | 955 | } |
| 940 | 956 | ||
| 941 | .title { | 957 | .title { |
| 942 | font-size: 16px; | 958 | font-size: 16px; |
| 943 | color: #212121; | 959 | color: #212121; |
| 944 | font-weight: 600; | 960 | font-weight: 600; |
| 945 | margin-bottom: 8px; | ||
| 946 | } | 961 | } |
| 962 | } | ||
| 963 | |||
| 947 | 964 | ||
| 948 | .right-main { | 965 | .right-main { |
| 949 | width: calc(100% - 96px); | 966 | width: 100%; |
| 967 | padding: 0 16px; | ||
| 950 | display: flex; | 968 | display: flex; |
| 951 | flex-direction: column; | 969 | flex-direction: column; |
| 952 | justify-content: space-between; | 970 | justify-content: space-between; |
| ... | @@ -956,10 +974,11 @@ const formInfo = ref<any>({ | ... | @@ -956,10 +974,11 @@ const formInfo = ref<any>({ |
| 956 | justify-content: space-between; | 974 | justify-content: space-between; |
| 957 | 975 | ||
| 958 | .item-num { | 976 | .item-num { |
| 959 | font-size: 20px; | 977 | font-size: 24px; |
| 960 | font-weight: 600; | 978 | font-weight: 600; |
| 961 | color: #212121; | 979 | color: #44ABB4; |
| 962 | margin-top: 8px; | 980 | margin-top: 8px; |
| 981 | text-align: center; | ||
| 963 | } | 982 | } |
| 964 | } | 983 | } |
| 965 | } | 984 | } |
| ... | @@ -970,37 +989,63 @@ const formInfo = ref<any>({ | ... | @@ -970,37 +989,63 @@ const formInfo = ref<any>({ |
| 970 | // justify-content: space-between; | 989 | // justify-content: space-between; |
| 971 | justify-content: center; | 990 | justify-content: center; |
| 972 | align-items: center; | 991 | align-items: center; |
| 973 | box-shadow: 0 0 0 1px #d9d9d9; | ||
| 974 | position: relative; | 992 | position: relative; |
| 975 | width: 100%; | 993 | width: 100%; |
| 976 | height: 40px; | 994 | height: 44px; |
| 977 | line-height: 40px; | 995 | line-height: 40px; |
| 978 | background: #4fa1a4; | 996 | background: #FAFAFA; |
| 979 | color: #fff; | 997 | color: #fff; |
| 980 | cursor: pointer; | 998 | cursor: pointer; |
| 999 | border-bottom-left-radius: 3px; | ||
| 1000 | border-bottom-right-radius: 3px; | ||
| 1001 | border-top: 1px solid #d9d9d9; | ||
| 1002 | |||
| 981 | // &::after { | 1003 | // &::after { |
| 982 | // content: ''; | 1004 | // content: ''; |
| 983 | // width: 0; | 1005 | // width: 0; |
| 984 | // height: 100%; | 1006 | // height: 26px; |
| 985 | // border-left: 1px solid #d9d9d9; | 1007 | // border-left: 1px solid #d9d9d9; |
| 986 | // position: absolute; | 1008 | // position: absolute; |
| 987 | // left: 50%; | 1009 | // left: 50%; |
| 988 | // transform: translateX(-50%); | 1010 | // transform: translateX(-50%); |
| 1011 | |||
| 989 | // } | 1012 | // } |
| 990 | 1013 | ||
| 991 | // >.left-btn { | 1014 | .left-btn, |
| 992 | // width: 50%; | 1015 | .right-btn { |
| 993 | // height: 40px; | 1016 | width: 50%; |
| 994 | // line-height: 40px; | 1017 | height: 40px; |
| 995 | // text-align: center; | 1018 | line-height: 40px; |
| 996 | // cursor: pointer; | 1019 | text-align: center; |
| 1020 | cursor: pointer; | ||
| 1021 | color: #666666; | ||
| 1022 | } | ||
| 1023 | } | ||
| 1024 | } | ||
| 1025 | } | ||
| 997 | 1026 | ||
| 998 | // &:hover { | 1027 | .v-tip { |
| 999 | // color: #4fa1a4; | 1028 | display: flex; |
| 1000 | // } | 1029 | height: 40px; |
| 1030 | align-items: center; | ||
| 1031 | background: #FFFBF2; | ||
| 1032 | border: 1px solid rgba(255, 241, 212, 1); | ||
| 1033 | border-radius: 4px; | ||
| 1034 | margin: 5px 8px 17px 8px; | ||
| 1001 | 1035 | ||
| 1002 | // } | 1036 | .tip-icon { |
| 1037 | width: 16px; | ||
| 1038 | height: 16px; | ||
| 1039 | background: url('@/assets/icons/waring.svg') no-repeat; | ||
| 1040 | background-size: 100% 100%; | ||
| 1041 | margin: 0 10px; | ||
| 1003 | } | 1042 | } |
| 1043 | |||
| 1044 | .tip-des { | ||
| 1045 | font-size: 14px; | ||
| 1046 | color: #FF991C; | ||
| 1047 | line-height: 20px; | ||
| 1048 | font-weight: 400; | ||
| 1004 | } | 1049 | } |
| 1005 | } | 1050 | } |
| 1006 | } | 1051 | } | ... | ... |
| ... | @@ -631,9 +631,9 @@ const autoRoll = (stop = false) => { | ... | @@ -631,9 +631,9 @@ const autoRoll = (stop = false) => { |
| 631 | }, 4000) | 631 | }, 4000) |
| 632 | } | 632 | } |
| 633 | /** 快捷筛选项 */ | 633 | /** 快捷筛选项 */ |
| 634 | const filterDate = ref('today'); //默认选中今天 | 634 | const filterDate = ref(''); //默认选中今天 |
| 635 | /** 日期时间范围值 */ | 635 | /** 日期时间范围值 */ |
| 636 | const daterange = ref([Moment(new Date()).format("YYYY-MM-DD 00:00:00"), Moment(new Date()).format("YYYY-MM-DD HH:mm:ss")]); | 636 | const daterange = ref(['', '']); |
| 637 | /** 日期面板的默认显示时分秒 */ | 637 | /** 日期面板的默认显示时分秒 */ |
| 638 | const defaultTime1 = [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]; // '12:00:00' | 638 | const defaultTime1 = [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 1, 1, 23, 59, 59)]; // '12:00:00' |
| 639 | const filterDateClickTimestamp = ref(Date.now()); // 记录点击时间 | 639 | const filterDateClickTimestamp = ref(Date.now()); // 记录点击时间 |
| ... | @@ -674,6 +674,7 @@ const handleDatePickerChange = (val) => { | ... | @@ -674,6 +674,7 @@ const handleDatePickerChange = (val) => { |
| 674 | // 更新开始时间和结束时间 | 674 | // 更新开始时间和结束时间 |
| 675 | startTime.value = val[0]; | 675 | startTime.value = val[0]; |
| 676 | endTime.value = val[1]; | 676 | endTime.value = val[1]; |
| 677 | daterange.value = [startTime.value, endTime.value]; | ||
| 677 | 678 | ||
| 678 | // 获取数据表格 | 679 | // 获取数据表格 |
| 679 | getAssetTableData(); | 680 | getAssetTableData(); | ... | ... |
| ... | @@ -31,7 +31,7 @@ const page = ref({ | ... | @@ -31,7 +31,7 @@ const page = ref({ |
| 31 | }); | 31 | }); |
| 32 | const tableInfo = ref({ | 32 | const tableInfo = ref({ |
| 33 | id: "role-manage-table", | 33 | id: "role-manage-table", |
| 34 | multiple: true, | 34 | // multiple: true, |
| 35 | fixedSelection: true, | 35 | fixedSelection: true, |
| 36 | fields: [ | 36 | fields: [ |
| 37 | { label: "序号", type: "index", width: 56, align: "center" }, | 37 | { label: "序号", type: "index", width: 56, align: "center" }, |
| ... | @@ -56,6 +56,7 @@ const tableInfo = ref({ | ... | @@ -56,6 +56,7 @@ const tableInfo = ref({ |
| 56 | }, | 56 | }, |
| 57 | { | 57 | { |
| 58 | label: "合规评估报告", field: "complianceEvaluateReport", width: 120, type: 'text_btn', value: 'complianceEvaluateReport', columClass: 'text_btn', getName: (scope) => { | 58 | label: "合规评估报告", field: "complianceEvaluateReport", width: 120, type: 'text_btn', value: 'complianceEvaluateReport', columClass: 'text_btn', getName: (scope) => { |
| 59 | console.log('scope合规评估报告', scope); | ||
| 59 | return scope.row.complianceEvaluateReport?.length > 0 ? '预览' : '--'; | 60 | return scope.row.complianceEvaluateReport?.length > 0 ? '预览' : '--'; |
| 60 | } | 61 | } |
| 61 | }, | 62 | }, |
| ... | @@ -141,6 +142,7 @@ const formItems = ref([ | ... | @@ -141,6 +142,7 @@ const formItems = ref([ |
| 141 | block: true, | 142 | block: true, |
| 142 | visible: true, | 143 | visible: true, |
| 143 | default: [], | 144 | default: [], |
| 145 | limit: 1, | ||
| 144 | }, | 146 | }, |
| 145 | { | 147 | { |
| 146 | label: '合规法律意见书', | 148 | label: '合规法律意见书', |
| ... | @@ -153,6 +155,7 @@ const formItems = ref([ | ... | @@ -153,6 +155,7 @@ const formItems = ref([ |
| 153 | block: true, | 155 | block: true, |
| 154 | visible: true, | 156 | visible: true, |
| 155 | default: [], | 157 | default: [], |
| 158 | limit: 1, | ||
| 156 | }, | 159 | }, |
| 157 | { | 160 | { |
| 158 | label: '入表合规方案', | 161 | label: '入表合规方案', |
| ... | @@ -165,6 +168,7 @@ const formItems = ref([ | ... | @@ -165,6 +168,7 @@ const formItems = ref([ |
| 165 | block: true, | 168 | block: true, |
| 166 | visible: true, | 169 | visible: true, |
| 167 | default: [], | 170 | default: [], |
| 171 | limit: 1, | ||
| 168 | }, | 172 | }, |
| 169 | ]); | 173 | ]); |
| 170 | 174 | ||
| ... | @@ -366,6 +370,12 @@ const getTableData = () => { | ... | @@ -366,6 +370,12 @@ const getTableData = () => { |
| 366 | } | 370 | } |
| 367 | } | 371 | } |
| 368 | 372 | ||
| 373 | :deep(.tools_search) { | ||
| 374 | .el-form-item .el-select { | ||
| 375 | width: 230px; | ||
| 376 | } | ||
| 377 | } | ||
| 378 | |||
| 369 | .table_panel_wrap { | 379 | .table_panel_wrap { |
| 370 | margin-top: 12px; | 380 | margin-top: 12px; |
| 371 | width: 100%; | 381 | width: 100%; | ... | ... |
-
Please register or sign in to post a comment