25364613 by lihua

Merge branch 'develop' into release-test

2 parents d5c6cc3c 02abb7b2
......@@ -204,7 +204,7 @@ const rowSelectable = (row, index) => {
if (props.tableInfo.selectable === false) {
return false
}
return row.selectable ?? true;
return props.tableInfo.selectableHandle ? props.tableInfo.selectableHandle(row) : (row.selectable ?? true);
};
......
......@@ -437,6 +437,10 @@ const tableInfo = ref({
id: "role-manage-table",
multiple: true,
fixedSelection: true,
selectable: true,
selectableHandle: (row) => {
return row?.isImportCreate != 'Y';
},
fields: [
{ label: "序号", type: "index", width: 56, align: "center" },
{ label: "字段名", field: "fieldName", width: 140 },
......@@ -687,7 +691,7 @@ const dataBaseTableInfo = ref({
}
});
},
disabled: scope.row.state == 0 ? true : false
disabled: (scope.row.isImportCreate == 'Y' || scope.row.state == 0) ? true : false
},
{
label: "编辑表结构", value: "edit", click: (scope) => {
......@@ -1377,7 +1381,7 @@ const getDataBaseTableData = async (params = {}) => {
dataBaseTableInfo.value.page.rows = res.data.totalRows;
dataBaseTableInfo.value.page.limit = res.data.pageSize
dataBaseTableInfo.value.page.curr = res.data.pageIndex
dataBaseTableInfo.value.data = res.data.records;
dataBaseTableInfo.value.data = res.data.records || [];
} else {
proxy.$ElMessage.error(res.msg);
}
......
......@@ -14,11 +14,12 @@ import { TableColumnWidth } from '@/utils/enum';
import TableTools from "@/components/Tools/table_tools.vue";
import Table from "@/components/Table/index.vue";
import Dialog from "@/components/Dialog/index.vue";
import { CarouselPanel } from '@/components/CarouselPanel';
import { getParamsList } from "@/api/modules/dataAsset";
import {
changeNum,
} from "@/utils/common";
import { chunk } from "@/api/modules/common";
import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService";
const { proxy } = getCurrentInstance() as any;
......@@ -26,6 +27,18 @@ const router = useRouter();
const userStore = useUserStore();
const userData = JSON.parse(userStore.userData);
const assetStore = useDataAssetStore();
const sjsLogo = new URL('@/assets/images/sjs-logo.png', import.meta.url).href
const carouselInfo: any = ref({
list: [],
height: '172px',
loop: false,
autoplay: false,
arrow: 'hover',
itemClass: 'list-content'
})
const damTypes = ref([]);
const searchItemList: any = ref([
{
......@@ -229,9 +242,12 @@ const toSearch = (val: any, clear: boolean = false) => {
const getListingCountData = () => {
flowDetailLoading.value = true;
getListingCount().then((res: any) => {
flowDetailLoading.value = false;
if (res.code == proxy.$passCode) {
demandListData.value = res.data || [];
flowDetailLoading.value = false;
let valueData = chunk(demandListData.value, 4);
carouselInfo.value.list = valueData;
carouselInfo.value.arrow = valueData.length > 1 ? 'hover' : 'never';
} else {
proxy.$ElMessage.error(res.msg);
}
......@@ -922,12 +938,15 @@ const formInfo = ref<any>({
</div> -->
</div>
<div v-loading="flowDetailLoading">
<div class="list-content" v-if="demandListData.length > 0">
<div class="card-content" v-for="item in demandListData" :key="item.guid" @click="cardBtnClick(item)" :class="{ active: currExchangeGuid == item.exchangeGuid }">
<CarouselPanel :carousel-info="carouselInfo">
<template v-slot:default="{ carousel }">
<div class="card-content" v-for="(item, i) in carousel" :key="item.guid" @click="cardBtnClick(item)"
:class="{ active: currExchangeGuid == item.exchangeGuid, mr16: i < carousel.length - 1 && (i + 1) % 4 !== 0 }">
<div class="header">
<div class="header-top">
<img class="left-img"
:src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" alt="" />
:src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : (item.exchangeName?.indexOf('门户') > -1 ? sjsLogo : defaultItemLogo)"
alt="" />
<div class="title"> <ellipsis-tooltip :content="item.exchangeName ?? '--'" class-name="w100f"
:refName="'tooltipOver'"></ellipsis-tooltip></div>
</div>
......@@ -949,7 +968,11 @@ const formInfo = ref<any>({
<div class="right-btn">产品上架</div>
</div>
</div>
</div>
</template>
</CarouselPanel>
<!-- <div class="list-content" v-if="demandListData.length > 0">
</div> -->
<div class="v-tip">
<div class="tip-icon"></div>
<div class="tip-des">
......@@ -1000,19 +1023,16 @@ const formInfo = ref<any>({
padding: 0px 8px 0;
}
.list-content {
display: flex;
flex-wrap: wrap;
padding: 0 0px 0px 8px;
:deep(.el-carousel) {
margin: 0 -16px 16px;
padding: 0 16px;
.card-content {
width: 290px;
// box-shadow: 0 0 0 1px #d9d9d9;
border: 1px solid #d9d9d9;
border-radius: 3px;
margin-right: 12px;
margin-bottom: 12px;
width: calc(25% - 12px);
height: 100%;
margin-bottom: 8px;
border: 1px solid var(--el-border-color-regular);
float: left;
cursor: pointer;
&:hover {
......@@ -1021,15 +1041,21 @@ const formInfo = ref<any>({
&.active {
border: 1px solid var(--el-color-primary);
.header {
background-color: #ebf6f7;
}
}
&.mr16 {
margin-right: 16px;
}
.header {
display: flex;
flex-direction: column;
padding: 16px;
padding: 12px;
height: calc(100% - 44px);
.header-top {
display: flex;
......@@ -1052,7 +1078,6 @@ const formInfo = ref<any>({
.right-main {
width: 100%;
padding: 0 16px;
display: flex;
flex-direction: column;
justify-content: space-between;
......@@ -1061,6 +1086,14 @@ const formInfo = ref<any>({
display: flex;
justify-content: space-between;
.count-item {
width: 50%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.item-num {
font-size: 24px;
font-weight: 600;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!