Commit c408f35a authored by chenjiahao's avatar chenjiahao

Merge remote-tracking branch 'origin/master'

parents 2eade78b eaaa460a
...@@ -125,6 +125,30 @@ export const PCFontRoute: AppRouteRecordRaw = { ...@@ -125,6 +125,30 @@ export const PCFontRoute: AppRouteRecordRaw = {
title: '', title: '',
}, },
}, },
{
path: '/aaaFont/tradingMarket/details/dataSet',
name: 'tradingMarketsDetail',
component: () => import('@/views/AAAFont/tradingMarket/details/dataSet.vue'),
meta: {
title: '',
},
},
{
path: '/aaaFont/tradingMarket/details/file',
name: 'tradingMarketsDetail1',
component: () => import('@/views/AAAFont/tradingMarket/details/file.vue'),
meta: {
title: '',
},
},
{
path: '/aaaFont/tradingMarket/details/api',
name: 'tradingMarketsDetail2',
component: () => import('@/views/AAAFont/tradingMarket/details/api.vue'),
meta: {
title: '',
},
},
], ],
}; };
// export const fontRoute: AppRouteRecordRaw = { // export const fontRoute: AppRouteRecordRaw = {
...@@ -1331,15 +1355,6 @@ export const SyncMaintenanceRoute: AppRouteRecordRaw = { ...@@ -1331,15 +1355,6 @@ export const SyncMaintenanceRoute: AppRouteRecordRaw = {
name: 'workDetail', name: 'workDetail',
component: () => import('@/views/realTimeSync/taskOperationsMaintenance/workDetail.vue'), component: () => import('@/views/realTimeSync/taskOperationsMaintenance/workDetail.vue'),
}, },
{
path: 'carouselManagement/detail',
name: 'carouselManagementDetail',
meta: {
title: '轮播图详情页',
currentActiveMenu: '/dataSharingAndExchange',
},
component: () => import('@/views/dataSharingAndExchange/carouselManagement/detail/index.vue'),
},
], ],
}; };
...@@ -1457,6 +1472,15 @@ export const ResourceRoute: AppRouteRecordRaw = { ...@@ -1457,6 +1472,15 @@ export const ResourceRoute: AppRouteRecordRaw = {
title: '订单详情', title: '订单详情',
}, },
}, },
{
path: 'carouselManagement/detail',
name: 'carouselManagementDetail',
meta: {
title: '轮播图详情页',
currentActiveMenu: '/dataSharingAndExchange',
},
component: () => import('@/views/dataSharingAndExchange/carouselManagement/detail/index.vue'),
},
], ],
}; };
/** /**
......
export const formSchema = [
{
field: 'name',
label: '需求名称',
},
{
field: 'type',
label: '类型',
},
{
field: 'person',
label: '联系人',
},
{
field: 'phone',
label: '联系电话',
},
{
field: 'company',
label: '公司',
},
{
field: 'des',
label: '需求描述',
},
{
field: 'amount',
label: '预计金额',
},
];
<template> <template>
<div class="d-detail"> <div class="d-detail">
<div class="d-title"> 需求详情 </div>
<div class="d-card1"> <div class="d-card1">
<div class="w-2/3 d-left"> <div class="w-2/3 d-left">
<div> <div>
...@@ -8,8 +9,8 @@ ...@@ -8,8 +9,8 @@
<div class="d-des"> <div class="d-des">
<div class="d-hd"> <div class="d-hd">
<div class="d-row"> <div class="d-row">
<div class="title"> 药房数据 </div> <div class="title"> {{ data.title }} </div>
<div class="tab"> 健康监测 </div> <div class="tab"> {{ data.tab }} </div>
</div> </div>
<div class="d-row" style="font-size: 14px"> <div class="d-row" style="font-size: 14px">
<div> 发布时间: </div> <div> 发布时间: </div>
...@@ -21,19 +22,19 @@ ...@@ -21,19 +22,19 @@
<div> 1578 </div> <div> 1578 </div>
</div> </div>
</div> </div>
<div> 用户在药店购买药品数据记录 </div> <div> {{ data.des }} </div>
</div> </div>
<div class="d-ft"> <div class="d-ft">
<div class="ft-left"> <div class="ft-left">
<div class="money">面议</div> <div class="money">{{ data.money }}</div>
<div class="status">匹配中</div> <div class="status">{{ data.status }}</div>
</div> </div>
<div class="ft-right"> <div class="ft-right">
<el-button type="primary"> <el-button type="primary" @click="handleOpenConnect">
<Icon style="margin-right: 6px" icon="ant-design:customer-service-outlined" /> <Icon style="margin-right: 6px" icon="ant-design:customer-service-outlined" />
立即沟通 立即沟通
</el-button> </el-button>
<el-button> 发布类似需求 </el-button> <el-button @click="handleOpenSimilar"> 发布类似需求 </el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -54,31 +55,231 @@ ...@@ -54,31 +55,231 @@
<div class="list-item"> <div class="list-item">
<div style="color: #bdc3c8"> 场景分类 </div> <div style="color: #bdc3c8"> 场景分类 </div>
<el-divider direction="vertical" /> <el-divider direction="vertical" />
<div style="color: #4e80f8"> 健康监测 </div> <div style="color: #4e80f8"> {{ data.tab }} </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="d-card1 d-card2">
<div class="cd-header">
<div class="h-left">
<div class="title"> 需求服务流程 </div>
<div class="tab"> 简单&nbsp;&nbsp;·&nbsp;&nbsp;高效&nbsp;&nbsp;·&nbsp;&nbsp;安全 </div>
</div>
<div class="h-right">
<el-button type="text" style="padding: 0; height: 14px">查看详细流程></el-button>
</div>
</div>
<div class="h-img">
<img src="@/assets/images/flushTask.png" alt="" />
</div>
</div>
<!-- 立即沟通 -->
<el-dialog
title="立即沟通"
v-model="connectVisible"
width="70%"
:before-close="handleCloseConnect"
>
<div class="modal-detail">
<Row :gutter="[16, 30]">
<Col :span="12" v-for="info in formSchema" :key="info">
<div class="col-item">
<div class="item-label">{{ info.label }}</div>
<div class="item-des">{{ data[info.field] ? data[info.field] : '-' }}</div>
</div>
</Col>
</Row>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="connectVisible = false">关闭</el-button>
</span>
</template>
</el-dialog>
<!-- 发布类似需求 -->
<el-dialog
title="发布类似需求"
v-model="similar"
width="70%"
:before-close="handleCloseConnect"
>
<div class="modal-detail">
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<Row>
<Col :span="12">
<el-form-item prop="title" label="需求名称">
<el-input class="form-item" v-model="form.name" />
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="类型">
<el-select class="form-item" v-model="form.type">
<el-option
v-for="item in typeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="联系人">
<el-input class="form-item" v-model="form.person" />
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="联系电话">
<el-input class="form-item" v-model="form.phone" />
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="公司">
<el-input class="form-item" v-model="form.company" />
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="需求描述">
<el-input class="form-item" v-model="form.des" />
</el-form-item>
</Col>
<Col :span="12">
<el-form-item label="预计金额">
<el-input class="form-item" v-model="form.amount" />
</el-form-item>
</Col>
</Row>
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="handleUpdate()">发布</el-button>
<el-button @click="handleCancelSimilar">关闭</el-button>
</span>
</template>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
import { Row, Col } from 'ant-design-vue';
import { nextTick } from 'vue';
export default { export default {
components: { Icon }, components: { Icon, Row, Col },
data() { data() {
return {}; return {
// rules: {
// title: [
// {
// required: true,
// message: '此项为必填项',
// trigger: 'blur',
// },
// ],
// tab: [
// {
// required: true,
// message: '此项为必填项',
// trigger: 'change',
// },
// ],
// },
form: {},
typeOptions: [
{
label: '金融科技',
value: '金融科技',
},
{
label: '电商消费',
value: '电商消费',
},
{
label: '城市治理',
value: '城市治理',
},
{
label: '医疗卫生',
value: '医疗卫生',
},
],
data: this.$route.query,
connectVisible: false,
similar: false,
formSchema: [
{
field: 'title',
label: '需求名称',
},
{
field: 'tab',
label: '类型',
},
{
field: 'person',
label: '联系人',
},
{
field: 'phone',
label: '联系电话',
},
{
field: 'company',
label: '公司',
},
{
field: 'des',
label: '需求描述',
},
{
field: 'money',
label: '预计金额',
},
],
};
},
methods: {
handleCloseConnect() {
this.connectVisible = false;
this.similar = false;
},
handleSubmitC() {},
handleOpenConnect() {
this.connectVisible = true;
},
handleOpenSimilar() {
this.similar = true;
},
handleCancelSimilar() {
this.similar = false;
this.$refs.form.clearValidate();
},
handleUpdate() {
this.$refs.form.validateField().then(() => {
this.$message.success('发布成功!');
this.similar = false;
});
},
}, },
}; };
</script> </script>
<style scoped> <style scoped>
.d-detail { .d-detail {
padding-top: 60px; padding-top: 30px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
gap: 20px;
}
.d-title {
float: left;
color: #081546;
font-size: 30px;
width: 70%;
margin-bottom: 20px;
} }
.d-card1 { .d-card1 {
display: flex; display: flex;
...@@ -147,7 +348,8 @@ ...@@ -147,7 +348,8 @@
} }
.dr-list { .dr-list {
display: flex; display: flex;
gap: 15px; flex-direction: column;
gap: 18px;
padding: 25px 5px; padding: 25px 5px;
.list-item { .list-item {
display: flex; display: flex;
...@@ -157,4 +359,43 @@ ...@@ -157,4 +359,43 @@
} }
} }
} }
.d-card2 {
flex-direction: column;
gap: 40px;
margin-bottom: 40px;
.cd-header {
display: flex;
justify-content: space-between;
flex: 1;
.h-left {
display: flex;
gap: 20px;
.title {
font-size: 18px;
}
.tab {
font-size: 14px;
padding: 4px 8px;
background-color: #eff1f6;
color: #777e91;
}
}
}
.h-img > img {
width: 100%;
}
}
.col-item {
display: flex;
gap: 10px;
.item-label {
width: 100px;
}
}
.modal-detail {
padding: 40px 80px;
}
.form-item {
width: 90%;
}
</style> </style>
...@@ -82,6 +82,12 @@ ...@@ -82,6 +82,12 @@
<div class="c-footer"> <div class="c-footer">
<div class="cf-money"> {{ i.money }} </div> <div class="cf-money"> {{ i.money }} </div>
<div class="cf-status"> {{ i.status }} </div> <div class="cf-status"> {{ i.status }} </div>
<div class="cf-eye">
<div>
<Icon icon="ant-design:eye-outlined" />
</div>
<div> {{ i.eye }} </div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -365,6 +371,9 @@ ...@@ -365,6 +371,9 @@
des: '提供针对金融行业的各类数据分析和报告,帮助金融机构制定投资决策', des: '提供针对金融行业的各类数据分析和报告,帮助金融机构制定投资决策',
money: '¥8234', money: '¥8234',
status: '匹配中', status: '匹配中',
eye: '1982',
person: '张伟',
phone: '13986410247',
}, },
{ {
title: '电商用户行为研究', title: '电商用户行为研究',
...@@ -372,6 +381,10 @@ ...@@ -372,6 +381,10 @@
des: '收集并分析电商平台用户的浏览、购买及偏好数据,优化营销策略', des: '收集并分析电商平台用户的浏览、购买及偏好数据,优化营销策略',
money: '¥11876', money: '¥11876',
status: '匹配中', status: '匹配中',
eye: '1185',
person: '李娜',
phone: '13658790256',
company: 'xxx公司',
}, },
{ {
title: '城市交通流量监测', title: '城市交通流量监测',
...@@ -379,6 +392,10 @@ ...@@ -379,6 +392,10 @@
des: '城市各主要道路的交通流量监控数据,用于交通调度优化', des: '城市各主要道路的交通流量监控数据,用于交通调度优化',
money: '¥15642', money: '¥15642',
status: '匹配中', status: '匹配中',
eye: '1443',
person: '王磊',
phone: '13728937456',
company: 'xxx公司',
}, },
{ {
title: '医院药品库存管理', title: '医院药品库存管理',
...@@ -386,6 +403,10 @@ ...@@ -386,6 +403,10 @@
des: '医院药品库存及使用情况的数据管理系统,确保药品供应充足', des: '医院药品库存及使用情况的数据管理系统,确保药品供应充足',
money: '面议', money: '面议',
status: '匹配中', status: '匹配中',
eye: '1021',
person: '刘洋',
phone: '13576219823',
company: 'xxx公司',
}, },
{ {
title: '工业生产线效率优化', title: '工业生产线效率优化',
...@@ -393,6 +414,10 @@ ...@@ -393,6 +414,10 @@
des: '监控工业生产线各环节的数据,优化生产效率与成本', des: '监控工业生产线各环节的数据,优化生产效率与成本',
money: '¥20753', money: '¥20753',
status: '匹配中', status: '匹配中',
eye: '1354',
person: '陈静',
phone: '13894321879',
company: 'xxx公司',
}, },
{ {
title: '物流配送时效分析', title: '物流配送时效分析',
...@@ -400,6 +425,10 @@ ...@@ -400,6 +425,10 @@
des: '收集并分析物流配送时效数据,提升配送效率和客户满意度', des: '收集并分析物流配送时效数据,提升配送效率和客户满意度',
money: '¥7623', money: '¥7623',
status: '匹配中', status: '匹配中',
eye: '1065',
person: '杨琳',
phone: '13458297016',
company: 'xxx公司',
}, },
{ {
title: '地理信息系统数据管理', title: '地理信息系统数据管理',
...@@ -407,6 +436,10 @@ ...@@ -407,6 +436,10 @@
des: '提供关于城市建设与发展相关的地理信息数据及分析报告', des: '提供关于城市建设与发展相关的地理信息数据及分析报告',
money: '¥13254', money: '¥13254',
status: '匹配中', status: '匹配中',
eye: '1564',
person: '赵强',
phone: '13916548932',
company: 'xxx公司',
}, },
{ {
title: '网站访问量与用户行为分析', title: '网站访问量与用户行为分析',
...@@ -414,6 +447,10 @@ ...@@ -414,6 +447,10 @@
des: '分析网站用户行为与访问量,提供数据支持以优化用户体验', des: '分析网站用户行为与访问量,提供数据支持以优化用户体验',
money: '¥18822', money: '¥18822',
status: '匹配中', status: '匹配中',
eye: '1205',
person: '黄婷',
phone: '13674829301',
company: 'xxx公司',
}, },
{ {
title: '企业客户满意度调查', title: '企业客户满意度调查',
...@@ -421,6 +458,10 @@ ...@@ -421,6 +458,10 @@
des: '针对企业客户进行的满意度调查和数据分析报告', des: '针对企业客户进行的满意度调查和数据分析报告',
money: '¥6234', money: '¥6234',
status: '匹配中', status: '匹配中',
eye: '1397',
person: '周杰',
phone: '13537648952',
company: 'xxx公司',
}, },
{ {
title: '城市环保数据监测', title: '城市环保数据监测',
...@@ -428,6 +469,10 @@ ...@@ -428,6 +469,10 @@
des: '收集各城市环保相关数据,包括空气质量、水质等指标', des: '收集各城市环保相关数据,包括空气质量、水质等指标',
money: '¥12568', money: '¥12568',
status: '匹配中', status: '匹配中',
eye: '1063',
person: '吴昊',
phone: '13759128340',
company: 'xxx公司',
}, },
{ {
title: '金融市场动态分析', title: '金融市场动态分析',
...@@ -435,6 +480,10 @@ ...@@ -435,6 +480,10 @@
des: '提供实时金融市场动态数据,帮助投资者捕捉市场机会', des: '提供实时金融市场动态数据,帮助投资者捕捉市场机会',
money: '¥21127', money: '¥21127',
status: '匹配中', status: '匹配中',
eye: '1621',
person: '徐丹',
phone: '13942018356',
company: 'xxx公司',
}, },
{ {
title: '电商平台用户画像', title: '电商平台用户画像',
...@@ -442,6 +491,10 @@ ...@@ -442,6 +491,10 @@
des: '对电商平台用户进行画像分析,帮助品牌商制定精准营销策略', des: '对电商平台用户进行画像分析,帮助品牌商制定精准营销策略',
money: '¥15472', money: '¥15472',
status: '匹配中', status: '匹配中',
eye: '1910',
person: '孙婷',
phone: '13615947280',
company: 'xxx公司',
}, },
{ {
title: '智慧城市交通数据', title: '智慧城市交通数据',
...@@ -449,6 +502,10 @@ ...@@ -449,6 +502,10 @@
des: '各大城市智慧交通管理系统的实时交通数据,包括道路状况、车流量等', des: '各大城市智慧交通管理系统的实时交通数据,包括道路状况、车流量等',
money: '面议', money: '面议',
status: '匹配中', status: '匹配中',
eye: '1290',
person: '马雷',
phone: '13892014567',
company: 'xxx公司',
}, },
{ {
title: '医院患者数据分析', title: '医院患者数据分析',
...@@ -456,6 +513,10 @@ ...@@ -456,6 +513,10 @@
des: '对医院患者的诊疗数据进行分析,优化医疗资源配置', des: '对医院患者的诊疗数据进行分析,优化医疗资源配置',
money: '¥11234', money: '¥11234',
status: '匹配中', status: '匹配中',
eye: '1549',
person: '胡晓',
phone: '13470326109',
company: 'xxx公司',
}, },
{ {
title: '生产线设备运行监控', title: '生产线设备运行监控',
...@@ -463,6 +524,10 @@ ...@@ -463,6 +524,10 @@
des: '实时监控生产线设备的运行状态与故障预警,保障生产效率', des: '实时监控生产线设备的运行状态与故障预警,保障生产效率',
money: '¥8573', money: '¥8573',
status: '匹配中', status: '匹配中',
eye: '1785',
person: '郭琳',
phone: '13726351489',
company: 'xxx公司',
}, },
{ {
title: '物流仓储数据整合', title: '物流仓储数据整合',
...@@ -470,6 +535,10 @@ ...@@ -470,6 +535,10 @@
des: '收集并整合物流仓储的数据,优化仓储管理与配送效率', des: '收集并整合物流仓储的数据,优化仓储管理与配送效率',
money: '¥14253', money: '¥14253',
status: '匹配中', status: '匹配中',
eye: '1533',
person: '高峰',
phone: '13687215039',
company: 'xxx公司',
}, },
{ {
title: '卫星遥感数据应用', title: '卫星遥感数据应用',
...@@ -477,6 +546,10 @@ ...@@ -477,6 +546,10 @@
des: '使用卫星遥感技术收集各类环境数据,应用于农业、城市建设等领域', des: '使用卫星遥感技术收集各类环境数据,应用于农业、城市建设等领域',
money: '¥22876', money: '¥22876',
status: '匹配中', status: '匹配中',
eye: '1158',
person: '何雪',
phone: '13594762013',
company: 'xxx公司',
}, },
{ {
title: '电商平台交易分析', title: '电商平台交易分析',
...@@ -484,6 +557,10 @@ ...@@ -484,6 +557,10 @@
des: '分析电商平台上的交易数据,帮助商家优化销售策略', des: '分析电商平台上的交易数据,帮助商家优化销售策略',
money: '¥6142', money: '¥6142',
status: '匹配中', status: '匹配中',
eye: '1089',
person: '林俊',
phone: '13728509641',
company: 'xxx公司',
}, },
{ {
title: '企业人力资源数据分析', title: '企业人力资源数据分析',
...@@ -491,6 +568,10 @@ ...@@ -491,6 +568,10 @@
des: '针对企业人力资源管理中的数据进行深入分析与报告', des: '针对企业人力资源管理中的数据进行深入分析与报告',
money: '面议', money: '面议',
status: '匹配中', status: '匹配中',
eye: '1450',
person: '罗丹',
phone: '13931258704',
company: 'xxx公司',
}, },
{ {
title: '城市安全监控数据', title: '城市安全监控数据',
...@@ -498,6 +579,10 @@ ...@@ -498,6 +579,10 @@
des: '城市公共安全监控数据,包括监控摄像头、紧急事件处理等', des: '城市公共安全监控数据,包括监控摄像头、紧急事件处理等',
money: '¥13245', money: '¥13245',
status: '匹配中', status: '匹配中',
eye: '1823',
person: '邓凯',
phone: '13465179380',
company: 'xxx公司',
}, },
], ],
}; };
...@@ -840,6 +925,14 @@ ...@@ -840,6 +925,14 @@
align-items: center; align-items: center;
color: #999999; color: #999999;
} }
.cf-eye {
display: flex;
gap: 10px;
color: #999999;
align-items: center;
font-size: 14px;
padding-left: 10%;
}
} }
} }
} }
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</template> </template>
<template #default> <template #default>
<div class="right-li-wrapper"> <div class="right-li-wrapper">
<div class="right-li right-li-first" @click="handleClick"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag type="danger" style="font-size: 14px">国家政策</el-tag> <el-tag type="danger" style="font-size: 14px">国家政策</el-tag>
</div> </div>
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
<span>2024-11-15</span> <span>2024-11-15</span>
</div> </div>
</div> </div>
<div class="right-li right-li-first"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -252,7 +252,7 @@ ...@@ -252,7 +252,7 @@
> >
<div class="li-right"><span>2024-12-17</span></div> <div class="li-right"><span>2024-12-17</span></div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
> >
<div class="li-right"><span>2024-12-17</span></div> <div class="li-right"><span>2024-12-17</span></div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -272,7 +272,7 @@ ...@@ -272,7 +272,7 @@
</div> </div>
<div class="li-right"><span>2024-12-17</span></div> <div class="li-right"><span>2024-12-17</span></div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -283,7 +283,7 @@ ...@@ -283,7 +283,7 @@
<span>2024-11-20</span> <span>2024-11-20</span>
</div> </div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
<span>2024-12-15</span> <span>2024-12-15</span>
</div> </div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
<span>2024-11-25</span> <span>2024-11-25</span>
</div> </div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -316,7 +316,7 @@ ...@@ -316,7 +316,7 @@
<span>2024-12-10</span> <span>2024-12-10</span>
</div> </div>
</div> </div>
<div class="right-li"> <div class="right-li" @click="handleClick">
<div class="li-left"> <div class="li-left">
<el-tag style="font-size: 14px">行业新闻</el-tag> <el-tag style="font-size: 14px">行业新闻</el-tag>
</div> </div>
...@@ -534,7 +534,8 @@ ...@@ -534,7 +534,8 @@
<span>2024-11-15</span> <span>2024-11-15</span>
</div> </div>
</div> </div>
</div> /></div
>
</template> </template>
</el-tab-pane> </el-tab-pane>
<el-tab-pane name="third"> <el-tab-pane name="third">
...@@ -626,6 +627,13 @@ ...@@ -626,6 +627,13 @@
</div></template </div></template
> >
</el-tab-pane> </el-tab-pane>
<Pagination
v-model:current="current"
:total="50"
show-less-items
:show-total="(total) => `共计 ${total} 条`"
style="transform: translateY(-50%)"
/>
</el-tabs> </el-tabs>
</div> </div>
</div> </div>
...@@ -657,6 +665,10 @@ ...@@ -657,6 +665,10 @@
import Icon from '@/components/Icon/Icon.vue'; import Icon from '@/components/Icon/Icon.vue';
import { getToken } from '@/utils/auth'; import { getToken } from '@/utils/auth';
import { useRouter, onBeforeRouteLeave } from 'vue-router'; import { useRouter, onBeforeRouteLeave } from 'vue-router';
import { Pagination, Table } from 'ant-design-vue';
import { tableData } from './mock';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { columns } from './tableSchema';
const fileType = ref(''); // 文件下载后缀 const fileType = ref(''); // 文件下载后缀
const choseFile = ref({}); // 选择文件对象 const choseFile = ref({}); // 选择文件对象
...@@ -672,6 +684,7 @@ ...@@ -672,6 +684,7 @@
const noticePicture2 = ref({}); // 通知公告图片 const noticePicture2 = ref({}); // 通知公告图片
const isShowDown = ref(true); // 是否显示下载按钮 const isShowDown = ref(true); // 是否显示下载按钮
const activeName1 = ref('first'); const activeName1 = ref('first');
const current = ref(1);
const downloadEntity = ref({ const downloadEntity = ref({
// 下载实体 // 下载实体
// 名称需要带文件类型,要不然默认为txt // 名称需要带文件类型,要不然默认为txt
...@@ -679,6 +692,26 @@ ...@@ -679,6 +692,26 @@
fileAddress: '/profile/attachments/project-recommendation-summary.xlsx', fileAddress: '/profile/attachments/project-recommendation-summary.xlsx',
}); });
const [registerTabletab2, { getRowSelection }] = useTable({
api: async () => {
const response = {
pageNu: '1',
pageSize: '5',
pages: '1',
total: tableData.length,
code: '',
message: '',
data: tableData,
};
return { ...response };
},
scroll: { y: 300 },
rowKey: 'businessId',
columns: columns,
showTableSetting: false,
showIndexColumn: false,
bordered: false,
});
document.querySelectorAll('.right-li').forEach((element) => { document.querySelectorAll('.right-li').forEach((element) => {
element.addEventListener('click', () => { element.addEventListener('click', () => {
console.log('click'); console.log('click');
...@@ -1652,7 +1685,8 @@ ...@@ -1652,7 +1685,8 @@
} }
.right-li-wrapper { .right-li-wrapper {
height: 670px; height: 640px;
margin: 0 0 30px;
overflow-y: scroll; overflow-y: scroll;
} }
...@@ -1660,7 +1694,7 @@ ...@@ -1660,7 +1694,7 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin: 30px 20px 20px 0; margin: 30px 20px 20px 0;
font-size: 18px; font-size: 14px;
cursor: pointer; /* 添加鼠标指针样式 */ cursor: pointer; /* 添加鼠标指针样式 */
} }
......
import { getAllRoleList } from '@/api/system/role/role';
import { BasicColumn, FormSchema } from '@/components/Table';
import { h } from 'vue';
import { Tag, Switch } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
import { changeFlagApi } from '@/api/system/user/user';
export const tableData: any[] = [
{
date: '2024-12-17',
title: '“数据知识产权登记平台”公示公告',
tag: '国家政策',
},
{
date: '2024-12-17',
title: '《数据安全负面行为清单》(评审版)',
tag: '国家政策',
},
{
date: '2024-12-17',
title: '《中国数安港数据安全合规管理委员会工作规程》',
tag: '国家政策',
},
// ...
];
import { getAllRoleList } from '@/api/system/role/role';
import { BasicColumn, FormSchema } from '@/components/Table';
import { h } from 'vue';
import { Tag, Switch } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
import { changeFlagApi } from '@/api/system/user/user';
import { Column, Row } from 'vxe-pc-ui';
export const columns: BasicColumn[] = [
{
title: '政策类型',
dataIndex: 'tag',
width: 200,
},
{
title: '标题',
dataIndex: 'title',
width: 900,
},
{
title: '发布日期',
dataIndex: 'date',
width: 200,
},
];
<script setup lang="ts">
</script>
<template>
api
</template>
<style scoped lang="less">
</style>
import { BasicColumn, FormSchema } from '@/components/Table';
import { DescItem } from '@/components/Description';
export const searchEditFormSchema: FormSchema[] = [
{
field: 'name',
label: ' ',
component: 'Input',
colProps: { span: 4 },
componentProps: {
placeholder: '搜索名称',
},
},
];
export const basicSchema: DescItem[] = [
{
field: 'name',
label: '资源名称',
},
{
field: 'description',
label: '描述',
},
{
field: 'tags',
label: '业务标签',
},
{
field: 'owner',
label: '权属机构',
},
{
field: 'sensitiveStatus',
label: '敏感状态',
},
{
field: 'version',
label: '版本',
},
{
field: 'source',
label: '来源',
},
];
export const informationColumns: BasicColumn[] = [
{
title: '字段',
dataIndex: 'field',
width: 120,
},
{
title: '中文名',
dataIndex: 'name',
width: 150,
},
{
title: '字段描述',
dataIndex: 'remark',
width: 150,
},
{
title: '字段类型',
dataIndex: 'type',
width: 120,
},
{
title: '安全分级',
dataIndex: 'security',
width: 120,
},
{
title: '敏感状态',
dataIndex: 'status',
width: 150,
},
{
title: '敏感类型',
dataIndex: 'sensitiveType',
width: 100,
},
{
title: '数据标准',
dataIndex: 'standard',
width: 100,
},
];
export const basicData = {
name: 'wyx_contact',
description: '联系人信息',
tags: '测试',
owner: '数据平台治理部',
sensitiveStatus: '敏感',
version: 'V1.0',
source: '元数据',
};
export const informationTableList: any[] = [
{
field: 'name',
name: '姓名',
remark: '姓名',
type: 'string',
status: '敏感',
security: 'G2',
sensitiveType: '姓名(简体中...',
standard: '-',
},
{
field: 'phone_number',
name: '手机号',
remark: '手机号',
type: 'string',
status: '敏感',
security: 'G3',
sensitiveType: '手机号(中国...',
standard: '-',
},
{
field: 'student_id',
name: '学号',
remark: '学号',
type: 'string',
status: '敏感',
security: 'G3',
sensitiveType: '账户编号',
standard: '-',
},
{
field: 'major',
name: '专业',
remark: '专业',
type: 'string',
status: '敏感',
security: 'G10',
sensitiveType: '专业',
standard: '-',
},
{
field: 'origin_city',
name: '生源地',
remark: '生源地',
type: 'string',
status: '不敏感',
security: '未分级',
sensitiveType: '-',
standard: '-',
},
{
field: 'ethnic',
name: '民族',
remark: '民族',
type: 'string',
status: '敏感',
security: 'G2',
sensitiveType: '民族',
standard: '-',
},
{
field: 'building_num',
name: '楼号',
remark: '楼号',
type: 'int',
status: '不敏感',
security: '未分级',
sensitiveType: '-',
standard: '-',
},
{
field: 'room_num',
name: '寝室号',
remark: '寝室号',
type: 'int',
status: '不敏感',
security: '安全分级_03',
sensitiveType: '敏感类型_01',
standard: '-',
},
];
<template>
<PageWrapper class="content-padding" contentBackground @back="goBack">
<template #headerContent>
<div class="modal_top">
<Icon
icon="ep:arrow-left-bold"
:size="20"
style="margin-right: 5px"
:color="'#a3a7b1'"
@click="goBack"
/>
<div>
<Icon
icon="material-symbols-light:dataset-linked-outline-sharp"
:size="40"
:color="'#64c6e9'"
/>
</div>
<div class="ml-3">
<div class="title">数据集</div>
<div class="path">党建工作总结</div>
</div>
<div class="buttonGroup"> </div>
</div>
</template>
<div class="desc-wrap">
<step-header title="基本信息" />
<Description
size="middle"
:bordered="false"
:column="2"
:data="basicData"
:schema="basicSchema"
:labelStyle="{ fontSize: '16px' }"
:contentStyle="{ fontSize: '16px' }"
/>
<step-header class="mt-5" title="列信息" />
<BasicTable @register="registerTable" />
</div>
</PageWrapper>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue';
import { PageWrapper } from '@/components/Page';
import { Tabs } from 'ant-design-vue';
import { useMessage } from '@/hooks/web/useMessage';
import { router } from '@/router';
import Icon from '@/components/Icon/Icon.vue';
import { Description } from '@/components/Description';
import { basicSchema, searchEditFormSchema, informationColumns } from './data';
import { basicData, informationTableList } from './dataFileData';
import { BasicTable, useTable } from '@/components/Table';
import BasicTitle from "@/components/Basic/src/BasicTitle.vue";
import StepHeader from "@/components/stepHeader.vue";
defineOptions({ name: 'AccountDetail' });
const { createMessage, createConfirm } = useMessage();
const ATabs = Tabs;
const ATabPane = Tabs.TabPane;
const [registerTable] = useTable({
api: async () => {
const response = {
pageNu: '1',
pageSize: '10',
pages: '1',
total: informationTableList.length,
code: '',
message: '',
data: informationTableList,
};
return { ...response };
},
columns: informationColumns,
formConfig: {
labelWidth: 10,
schemas: searchEditFormSchema,
autoSubmitOnEnter: true,
showActionButtonGroup: false,
},
showTableSetting: false,
showIndexColumn: false,
bordered: true,
handleSearchInfoFn(info) {
return info;
},
});
function goBack() {
router.back();
}
onMounted(() => {});
</script>
<style lang="scss" scoped>
.content-padding {
width: 1440px;
margin: 0 auto;
background-color: white;
}
.modal_top {
padding: 0 0 20px 0;
display: flex;
align-items: center;
.title {
font-size: 16px;
font-weight: 500;
}
.path {
font-size: 14px;
color: gray;
}
.buttonGroup {
margin-left: auto;
display: flex;
gap: 5px;
align-items: center;
}
}
</style>
<script setup lang="ts">
</script>
<template>
文件
</template>
<style scoped lang="less">
</style>
This diff is collapsed.
...@@ -219,8 +219,6 @@ ...@@ -219,8 +219,6 @@
function handleDetails(record: Recordable) { function handleDetails(record: Recordable) {
push({ push({
path: '/dataSharingAndExchange/carouselManagement/detail', path: '/dataSharingAndExchange/carouselManagement/detail',
// path: '/dataSharingAndExchange/resourceManagement/detail/index',
// path: '/dataWarehousePlanning/physicalModel/detail',
query: record, query: record,
}); });
console.log('path', record); console.log('path', record);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment