Merge branch 'develop' into release-test
Showing
3 changed files
with
59 additions
and
22 deletions
| ... | @@ -204,7 +204,7 @@ const rowSelectable = (row, index) => { | ... | @@ -204,7 +204,7 @@ const rowSelectable = (row, index) => { |
| 204 | if (props.tableInfo.selectable === false) { | 204 | if (props.tableInfo.selectable === false) { |
| 205 | return false | 205 | return false |
| 206 | } | 206 | } |
| 207 | return row.selectable ?? true; | 207 | return props.tableInfo.selectableHandle ? props.tableInfo.selectableHandle(row) : (row.selectable ?? true); |
| 208 | }; | 208 | }; |
| 209 | 209 | ||
| 210 | 210 | ... | ... |
| ... | @@ -437,6 +437,10 @@ const tableInfo = ref({ | ... | @@ -437,6 +437,10 @@ const tableInfo = ref({ |
| 437 | id: "role-manage-table", | 437 | id: "role-manage-table", |
| 438 | multiple: true, | 438 | multiple: true, |
| 439 | fixedSelection: true, | 439 | fixedSelection: true, |
| 440 | selectable: true, | ||
| 441 | selectableHandle: (row) => { | ||
| 442 | return row?.isImportCreate != 'Y'; | ||
| 443 | }, | ||
| 440 | fields: [ | 444 | fields: [ |
| 441 | { label: "序号", type: "index", width: 56, align: "center" }, | 445 | { label: "序号", type: "index", width: 56, align: "center" }, |
| 442 | { label: "字段名", field: "fieldName", width: 140 }, | 446 | { label: "字段名", field: "fieldName", width: 140 }, |
| ... | @@ -687,7 +691,7 @@ const dataBaseTableInfo = ref({ | ... | @@ -687,7 +691,7 @@ const dataBaseTableInfo = ref({ |
| 687 | } | 691 | } |
| 688 | }); | 692 | }); |
| 689 | }, | 693 | }, |
| 690 | disabled: scope.row.state == 0 ? true : false | 694 | disabled: (scope.row.isImportCreate == 'Y' || scope.row.state == 0) ? true : false |
| 691 | }, | 695 | }, |
| 692 | { | 696 | { |
| 693 | label: "编辑表结构", value: "edit", click: (scope) => { | 697 | label: "编辑表结构", value: "edit", click: (scope) => { |
| ... | @@ -1377,7 +1381,7 @@ const getDataBaseTableData = async (params = {}) => { | ... | @@ -1377,7 +1381,7 @@ const getDataBaseTableData = async (params = {}) => { |
| 1377 | dataBaseTableInfo.value.page.rows = res.data.totalRows; | 1381 | dataBaseTableInfo.value.page.rows = res.data.totalRows; |
| 1378 | dataBaseTableInfo.value.page.limit = res.data.pageSize | 1382 | dataBaseTableInfo.value.page.limit = res.data.pageSize |
| 1379 | dataBaseTableInfo.value.page.curr = res.data.pageIndex | 1383 | dataBaseTableInfo.value.page.curr = res.data.pageIndex |
| 1380 | dataBaseTableInfo.value.data = res.data.records; | 1384 | dataBaseTableInfo.value.data = res.data.records || []; |
| 1381 | } else { | 1385 | } else { |
| 1382 | proxy.$ElMessage.error(res.msg); | 1386 | proxy.$ElMessage.error(res.msg); |
| 1383 | } | 1387 | } | ... | ... |
| ... | @@ -14,11 +14,12 @@ import { TableColumnWidth } from '@/utils/enum'; | ... | @@ -14,11 +14,12 @@ import { TableColumnWidth } from '@/utils/enum'; |
| 14 | 14 | ||
| 15 | import TableTools from "@/components/Tools/table_tools.vue"; | 15 | import TableTools from "@/components/Tools/table_tools.vue"; |
| 16 | import Table from "@/components/Table/index.vue"; | 16 | import Table from "@/components/Table/index.vue"; |
| 17 | import Dialog from "@/components/Dialog/index.vue"; | 17 | import { CarouselPanel } from '@/components/CarouselPanel'; |
| 18 | import { getParamsList } from "@/api/modules/dataAsset"; | 18 | import { getParamsList } from "@/api/modules/dataAsset"; |
| 19 | import { | 19 | import { |
| 20 | changeNum, | 20 | changeNum, |
| 21 | } from "@/utils/common"; | 21 | } from "@/utils/common"; |
| 22 | import { chunk } from "@/api/modules/common"; | ||
| 22 | import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; | 23 | import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; |
| 23 | 24 | ||
| 24 | const { proxy } = getCurrentInstance() as any; | 25 | const { proxy } = getCurrentInstance() as any; |
| ... | @@ -26,6 +27,18 @@ const router = useRouter(); | ... | @@ -26,6 +27,18 @@ const router = useRouter(); |
| 26 | const userStore = useUserStore(); | 27 | const userStore = useUserStore(); |
| 27 | const userData = JSON.parse(userStore.userData); | 28 | const userData = JSON.parse(userStore.userData); |
| 28 | const assetStore = useDataAssetStore(); | 29 | const assetStore = useDataAssetStore(); |
| 30 | |||
| 31 | const sjsLogo = new URL('@/assets/images/sjs-logo.png', import.meta.url).href | ||
| 32 | |||
| 33 | const carouselInfo: any = ref({ | ||
| 34 | list: [], | ||
| 35 | height: '172px', | ||
| 36 | loop: false, | ||
| 37 | autoplay: false, | ||
| 38 | arrow: 'hover', | ||
| 39 | itemClass: 'list-content' | ||
| 40 | }) | ||
| 41 | |||
| 29 | const damTypes = ref([]); | 42 | const damTypes = ref([]); |
| 30 | const searchItemList: any = ref([ | 43 | const searchItemList: any = ref([ |
| 31 | { | 44 | { |
| ... | @@ -229,9 +242,12 @@ const toSearch = (val: any, clear: boolean = false) => { | ... | @@ -229,9 +242,12 @@ const toSearch = (val: any, clear: boolean = false) => { |
| 229 | const getListingCountData = () => { | 242 | const getListingCountData = () => { |
| 230 | flowDetailLoading.value = true; | 243 | flowDetailLoading.value = true; |
| 231 | getListingCount().then((res: any) => { | 244 | getListingCount().then((res: any) => { |
| 245 | flowDetailLoading.value = false; | ||
| 232 | if (res.code == proxy.$passCode) { | 246 | if (res.code == proxy.$passCode) { |
| 233 | demandListData.value = res.data || []; | 247 | demandListData.value = res.data || []; |
| 234 | flowDetailLoading.value = false; | 248 | let valueData = chunk(demandListData.value, 4); |
| 249 | carouselInfo.value.list = valueData; | ||
| 250 | carouselInfo.value.arrow = valueData.length > 1 ? 'hover' : 'never'; | ||
| 235 | } else { | 251 | } else { |
| 236 | proxy.$ElMessage.error(res.msg); | 252 | proxy.$ElMessage.error(res.msg); |
| 237 | } | 253 | } |
| ... | @@ -922,12 +938,15 @@ const formInfo = ref<any>({ | ... | @@ -922,12 +938,15 @@ const formInfo = ref<any>({ |
| 922 | </div> --> | 938 | </div> --> |
| 923 | </div> | 939 | </div> |
| 924 | <div v-loading="flowDetailLoading"> | 940 | <div v-loading="flowDetailLoading"> |
| 925 | <div class="list-content" v-if="demandListData.length > 0"> | 941 | <CarouselPanel :carousel-info="carouselInfo"> |
| 926 | <div class="card-content" v-for="item in demandListData" :key="item.guid" @click="cardBtnClick(item)" :class="{ active: currExchangeGuid == item.exchangeGuid }"> | 942 | <template v-slot:default="{ carousel }"> |
| 943 | <div class="card-content" v-for="(item, i) in carousel" :key="item.guid" @click="cardBtnClick(item)" | ||
| 944 | :class="{ active: currExchangeGuid == item.exchangeGuid, mr16: i < carousel.length - 1 && (i + 1) % 4 !== 0 }"> | ||
| 927 | <div class="header"> | 945 | <div class="header"> |
| 928 | <div class="header-top"> | 946 | <div class="header-top"> |
| 929 | <img class="left-img" | 947 | <img class="left-img" |
| 930 | :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" alt="" /> | 948 | :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : (item.exchangeName?.indexOf('门户') > -1 ? sjsLogo : defaultItemLogo)" |
| 949 | alt="" /> | ||
| 931 | <div class="title"> <ellipsis-tooltip :content="item.exchangeName ?? '--'" class-name="w100f" | 950 | <div class="title"> <ellipsis-tooltip :content="item.exchangeName ?? '--'" class-name="w100f" |
| 932 | :refName="'tooltipOver'"></ellipsis-tooltip></div> | 951 | :refName="'tooltipOver'"></ellipsis-tooltip></div> |
| 933 | </div> | 952 | </div> |
| ... | @@ -949,7 +968,11 @@ const formInfo = ref<any>({ | ... | @@ -949,7 +968,11 @@ const formInfo = ref<any>({ |
| 949 | <div class="right-btn">产品上架</div> | 968 | <div class="right-btn">产品上架</div> |
| 950 | </div> | 969 | </div> |
| 951 | </div> | 970 | </div> |
| 952 | </div> | 971 | </template> |
| 972 | </CarouselPanel> | ||
| 973 | <!-- <div class="list-content" v-if="demandListData.length > 0"> | ||
| 974 | |||
| 975 | </div> --> | ||
| 953 | <div class="v-tip"> | 976 | <div class="v-tip"> |
| 954 | <div class="tip-icon"></div> | 977 | <div class="tip-icon"></div> |
| 955 | <div class="tip-des"> | 978 | <div class="tip-des"> |
| ... | @@ -1000,19 +1023,16 @@ const formInfo = ref<any>({ | ... | @@ -1000,19 +1023,16 @@ const formInfo = ref<any>({ |
| 1000 | padding: 0px 8px 0; | 1023 | padding: 0px 8px 0; |
| 1001 | } | 1024 | } |
| 1002 | 1025 | ||
| 1003 | .list-content { | 1026 | :deep(.el-carousel) { |
| 1004 | display: flex; | 1027 | margin: 0 -16px 16px; |
| 1005 | 1028 | padding: 0 16px; | |
| 1006 | flex-wrap: wrap; | ||
| 1007 | padding: 0 0px 0px 8px; | ||
| 1008 | 1029 | ||
| 1009 | .card-content { | 1030 | .card-content { |
| 1010 | width: 290px; | 1031 | width: calc(25% - 12px); |
| 1011 | // box-shadow: 0 0 0 1px #d9d9d9; | 1032 | height: 100%; |
| 1012 | border: 1px solid #d9d9d9; | 1033 | margin-bottom: 8px; |
| 1013 | border-radius: 3px; | 1034 | border: 1px solid var(--el-border-color-regular); |
| 1014 | margin-right: 12px; | 1035 | float: left; |
| 1015 | margin-bottom: 12px; | ||
| 1016 | cursor: pointer; | 1036 | cursor: pointer; |
| 1017 | 1037 | ||
| 1018 | &:hover { | 1038 | &:hover { |
| ... | @@ -1021,15 +1041,21 @@ const formInfo = ref<any>({ | ... | @@ -1021,15 +1041,21 @@ const formInfo = ref<any>({ |
| 1021 | 1041 | ||
| 1022 | &.active { | 1042 | &.active { |
| 1023 | border: 1px solid var(--el-color-primary); | 1043 | border: 1px solid var(--el-color-primary); |
| 1044 | |||
| 1024 | .header { | 1045 | .header { |
| 1025 | background-color: #ebf6f7; | 1046 | background-color: #ebf6f7; |
| 1026 | } | 1047 | } |
| 1027 | } | 1048 | } |
| 1028 | 1049 | ||
| 1050 | &.mr16 { | ||
| 1051 | margin-right: 16px; | ||
| 1052 | } | ||
| 1053 | |||
| 1029 | .header { | 1054 | .header { |
| 1030 | display: flex; | 1055 | display: flex; |
| 1031 | flex-direction: column; | 1056 | flex-direction: column; |
| 1032 | padding: 16px; | 1057 | padding: 12px; |
| 1058 | height: calc(100% - 44px); | ||
| 1033 | 1059 | ||
| 1034 | .header-top { | 1060 | .header-top { |
| 1035 | display: flex; | 1061 | display: flex; |
| ... | @@ -1052,7 +1078,6 @@ const formInfo = ref<any>({ | ... | @@ -1052,7 +1078,6 @@ const formInfo = ref<any>({ |
| 1052 | 1078 | ||
| 1053 | .right-main { | 1079 | .right-main { |
| 1054 | width: 100%; | 1080 | width: 100%; |
| 1055 | padding: 0 16px; | ||
| 1056 | display: flex; | 1081 | display: flex; |
| 1057 | flex-direction: column; | 1082 | flex-direction: column; |
| 1058 | justify-content: space-between; | 1083 | justify-content: space-between; |
| ... | @@ -1061,6 +1086,14 @@ const formInfo = ref<any>({ | ... | @@ -1061,6 +1086,14 @@ const formInfo = ref<any>({ |
| 1061 | display: flex; | 1086 | display: flex; |
| 1062 | justify-content: space-between; | 1087 | justify-content: space-between; |
| 1063 | 1088 | ||
| 1089 | .count-item { | ||
| 1090 | width: 50%; | ||
| 1091 | display: flex; | ||
| 1092 | justify-content: center; | ||
| 1093 | align-items: center; | ||
| 1094 | flex-direction: column; | ||
| 1095 | } | ||
| 1096 | |||
| 1064 | .item-num { | 1097 | .item-num { |
| 1065 | font-size: 24px; | 1098 | font-size: 24px; |
| 1066 | font-weight: 600; | 1099 | font-weight: 600; | ... | ... |
-
Please register or sign in to post a comment