9 changed files with 735 additions and 7 deletions
-
1src/api/eam/eamProject.js
-
13src/api/eam/eamProofing.js
-
1src/main.js
-
193src/views/modules/eam/dashBoard.vue
-
6src/views/modules/eam/eamBuDocumentListDefinition.vue
-
4src/views/modules/eam/eamDocumentTypeDefinition.vue
-
66src/views/modules/eam/eamProjectInfo.vue
-
152src/views/modules/eam/eamProjectInfoForConfirm.vue
-
306src/views/modules/eam/eamProjectInfoForUploads.vue
@ -0,0 +1,193 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-row :gutter="20"> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('unfinishedProjects',counts)" class="card-item"> |
||||
|
<div class="card-title">我参与的未结项目</div> |
||||
|
<div class="card-count">{{ counts.unfinishedProjectsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('pendingUploads',counts)" class="card-item"> |
||||
|
<div class="card-title">待上传文件</div> |
||||
|
<div class="card-count">{{ counts.pendingUploadsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('pendingConfirmations',counts)" class="card-item"> |
||||
|
<div class="card-title">待生产确认的项目</div> |
||||
|
<div class="card-count">{{ counts.pendingConfirmationsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
<el-row :gutter="20" style="margin-top: 10px;"> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('allProjects',counts)" class="card-item"> |
||||
|
<div class="card-title">我参与的所有项目</div> |
||||
|
<div class="card-count">{{ counts.allProjectsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('overdueUploads',counts)" class="card-item"> |
||||
|
<div class="card-title">逾期的待上传文件</div> |
||||
|
<div class="card-count">{{ counts.overdueUploadsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
<el-col :span="6"> |
||||
|
<el-card @click.native="navigateToMes('overdueConfirmations',counts)" class="card-item"> |
||||
|
<div class="card-title">逾期的待生产确认的项目</div> |
||||
|
<div class="card-count">{{ counts.overdueConfirmationsCount }}</div> |
||||
|
</el-card> |
||||
|
</el-col> |
||||
|
</el-row> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { agencyMatter } from "../../../api/eam/eamProject"; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
counts: { |
||||
|
unfinishedProjectsCount: 0, |
||||
|
allProjectsCount: 0, |
||||
|
pendingUploadsCount: 0, |
||||
|
overdueUploadsCount: 0, |
||||
|
pendingConfirmationsCount: 0, |
||||
|
overdueConfirmationsCount: 0, |
||||
|
unfinishedProjects: [], |
||||
|
allProjects: [], |
||||
|
pendingUploads: [], |
||||
|
overdueUploads: [], |
||||
|
pendingConfirmations: [], |
||||
|
overdueConfirmations: [], |
||||
|
}, |
||||
|
intervalId: null, |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.fetchCounts(); |
||||
|
this.startAutoRefresh(); |
||||
|
}, |
||||
|
beforeDestroy() { |
||||
|
this.stopAutoRefresh(); |
||||
|
}, |
||||
|
methods: { |
||||
|
fetchCounts() { |
||||
|
agencyMatter() |
||||
|
.then(({ data }) => { |
||||
|
this.counts = data; |
||||
|
this.counts.unfinishedProjectsCount = this.counts.unfinishedProjects.length; |
||||
|
this.counts.allProjectsCount = this.counts.allProjects.length; |
||||
|
this.counts.pendingUploadsCount = this.counts.pendingUploads.length; |
||||
|
this.counts.overdueUploadsCount = this.counts.overdueUploads.length; |
||||
|
this.counts.pendingConfirmationsCount = this.counts.pendingConfirmations.length; |
||||
|
this.counts.overdueConfirmationsCount = this.counts.overdueConfirmations.length; |
||||
|
}) |
||||
|
.catch((error) => { |
||||
|
console.error("Error fetching project counts:", error); |
||||
|
}); |
||||
|
}, |
||||
|
navigateToMes(path, row) { |
||||
|
let projectIds = ''; |
||||
|
if (path === 'unfinishedProjects') { |
||||
|
for (let i = 0; i < row.unfinishedProjects.length; i++) { |
||||
|
// 使用逗号拼接 unfinishedProjects.projectId,如果是最后一个则不加逗号 |
||||
|
projectIds += row.unfinishedProjects[i].projectId + (i === row.unfinishedProjects.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ path: 'eam-eamProjectInfo', query: { projectId: projectIds } }); |
||||
|
} |
||||
|
else if (path === 'allProjects') { |
||||
|
for (let i = 0; i < row.allProjects.length; i++) { |
||||
|
projectIds += row.allProjects[i].projectId + (i === row.allProjects.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ path: 'eam-eamProjectInfo', query: { projectId: projectIds } }); |
||||
|
} |
||||
|
else if (path === 'pendingUploads') { |
||||
|
for (let i = 0; i < row.pendingUploads.length; i++) { |
||||
|
projectIds += row.pendingUploads[i].projectId + (i === row.pendingUploads.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ name: 'eam-eamProjectInfoForUploads', query: { projectId: projectIds,flag:'1' } }); |
||||
|
} |
||||
|
else if (path === 'overdueUploads') { |
||||
|
for (let i = 0; i < row.overdueUploads.length; i++) { |
||||
|
projectIds += row.overdueUploads[i].projectId + (i === row.overdueUploads.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ path: 'eam-eamProjectInfoForUploads', query: { projectId: projectIds,flag:'2' } }); |
||||
|
} |
||||
|
else if (path === 'pendingConfirmations') { |
||||
|
for (let i = 0; i < row.pendingConfirmations.length; i++) { |
||||
|
projectIds += row.pendingConfirmations[i].projectId + (i === row.pendingConfirmations.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ path: 'eam-eamProjectInfoForConfirm', query: { projectId: projectIds,flag:'3' } }); |
||||
|
} |
||||
|
else if (path === 'overdueConfirmations') { |
||||
|
for (let i = 0; i < row.overdueConfirmations.length; i++) { |
||||
|
projectIds += row.overdueConfirmations[i].projectId + (i === row.overdueConfirmations.length - 1 ? '' : ','); |
||||
|
} |
||||
|
this.$router.push({ path: 'eam-eamProjectInfoForConfirm', query: { projectId: projectIds,flag:'4' } }); |
||||
|
} |
||||
|
}, |
||||
|
startAutoRefresh() { |
||||
|
this.intervalId = setInterval(() => { |
||||
|
this.fetchCounts(); |
||||
|
}, 20000); // 每20秒刷新一次 |
||||
|
}, |
||||
|
stopAutoRefresh() { |
||||
|
if (this.intervalId) { |
||||
|
clearInterval(this.intervalId); |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.card-item { |
||||
|
cursor: pointer; |
||||
|
margin-bottom: 20px; |
||||
|
transition: transform 0.3s, box-shadow 0.3s; |
||||
|
overflow: hidden; |
||||
|
//padding: 10px; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 208px; |
||||
|
width: 230px; |
||||
|
margin-left: 40px; |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
|
||||
|
.card-item:hover { |
||||
|
transform: translateY(-5px); |
||||
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
||||
|
} |
||||
|
|
||||
|
.card-title { |
||||
|
font-size: 18px; |
||||
|
font-weight: bold; |
||||
|
margin-bottom: 10px; |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
|
||||
|
.card-count { |
||||
|
font-size: 55px; |
||||
|
color: #17B3A3; |
||||
|
text-align: center; |
||||
|
font-weight: bold; |
||||
|
margin-top: 50px; |
||||
|
} |
||||
|
|
||||
|
.project-list { |
||||
|
font-size: 12px; |
||||
|
color: #333; |
||||
|
line-height: 1.5; |
||||
|
margin-bottom: 5px; |
||||
|
} |
||||
|
|
||||
|
.el-divider { |
||||
|
margin: 10px 0; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,152 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-table :data="dataList" |
||||
|
border |
||||
|
style="height: 100%;width: 100%;margin-top: 0px;"> |
||||
|
<el-table-column label="序号" type="index" align="center" :index="indexMethod"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="projectId" label="项目编码"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="documentType" label="文档类型"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" width="70" prop="userDisplay" label="指定确认人"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" :formatter="formatDate" prop="wantedConfirmDate" label="要求确认日期"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="confirmFlag" label="是否确认"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="confirmedBy" label="实际确认人"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="remark" label="备注"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="confirmedDate" label="实际确认时间"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="createDate" label="推送时间"></el-table-column> |
||||
|
<el-table-column header-align="center" align="center" prop="createBy" label="推送人"></el-table-column> |
||||
|
<el-table-column |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="90" |
||||
|
fixed="right" |
||||
|
label="操作"> |
||||
|
<template slot-scope="scope"> |
||||
|
<a type="text" size="small" @click="viewDocumentFile(scope.row)">查看附件</a> |
||||
|
<a type="text" size="small" @click="confirmDocument(scope.row)">确认</a> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { |
||||
|
searchProjectUploadsDocumentList, |
||||
|
searchProjectOverUploadsDocumentList, |
||||
|
searchConfirmProgressList, searchOverConfirmProgressList |
||||
|
} from "../../../api/eam/eamProofing"; |
||||
|
import {searchConfirmProgressPusherList} from "../../../api/eam/eamProject"; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
dataList: [], |
||||
|
confirmProgressList: [], |
||||
|
height: 200, |
||||
|
dataListLoading: false, |
||||
|
searchData: { |
||||
|
site: this.$store.state.user.site, |
||||
|
userId: this.$store.state.user.id, |
||||
|
}, |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
if (this.$route.query.flag === '3') { |
||||
|
searchConfirmProgressList(this.searchData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.dataList = data.list |
||||
|
// 判断是否全部存在数据 |
||||
|
} |
||||
|
}) |
||||
|
} else { |
||||
|
searchOverConfirmProgressList(this.searchData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.dataList = data.list |
||||
|
// 判断是否全部存在数据 |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
formatDate(row, column) { |
||||
|
// row 是当前行的数据对象 |
||||
|
// column 是当前列的属性信息对象 |
||||
|
const date = row[column.property]; |
||||
|
if (date) { |
||||
|
const s = new Date(date).toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }); |
||||
|
return s.replace(/\//g, '-') |
||||
|
} else { |
||||
|
return ''; |
||||
|
} |
||||
|
}, |
||||
|
rowStyle ({row}) { |
||||
|
}, |
||||
|
indexMethod(index) { |
||||
|
return index + 1; |
||||
|
}, |
||||
|
getCombinedDocumentType(row) { |
||||
|
// 根据您的需求,组合或拼接需要显示的字段 |
||||
|
if (row.documentType === null || row.documentType === undefined) { |
||||
|
return row.documentDesc |
||||
|
}else { |
||||
|
return row.documentType |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.card-item { |
||||
|
cursor: pointer; |
||||
|
margin-bottom: 20px; |
||||
|
transition: transform 0.3s, box-shadow 0.3s; |
||||
|
overflow: hidden; |
||||
|
//padding: 10px; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 208px; |
||||
|
width: 230px; |
||||
|
margin-left: 40px; |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
|
||||
|
.card-item:hover { |
||||
|
transform: translateY(-5px); |
||||
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
||||
|
} |
||||
|
|
||||
|
.card-title { |
||||
|
font-size: 18px; |
||||
|
font-weight: bold; |
||||
|
margin-bottom: 10px; |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
|
||||
|
.card-count { |
||||
|
font-size: 55px; |
||||
|
color: #17B3A3; |
||||
|
text-align: center; |
||||
|
font-weight: bold; |
||||
|
margin-top: 50px; |
||||
|
} |
||||
|
|
||||
|
.project-list { |
||||
|
font-size: 12px; |
||||
|
color: #333; |
||||
|
line-height: 1.5; |
||||
|
margin-bottom: 5px; |
||||
|
} |
||||
|
|
||||
|
.el-divider { |
||||
|
margin: 10px 0; |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,306 @@ |
|||||
|
<template> |
||||
|
<div> |
||||
|
<el-table |
||||
|
:data="dataList" |
||||
|
border |
||||
|
style="height: 100%;width: 100%;margin-top: 0px;" |
||||
|
ref="projectAllDocumentDocumentTable" |
||||
|
@row-click="projectAllDocumentClickRow" |
||||
|
:row-style="rowStyle" |
||||
|
v-loading="dataListLoading"> |
||||
|
<el-table-column label="序号" type="index" align="center" :index="indexMethod"></el-table-column> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columnProjectAllDocumentList" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed==''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
||||
|
style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import { |
||||
|
searchProjectUploadsDocumentList, |
||||
|
searchProjectOverUploadsDocumentList, |
||||
|
searchConfirmProgressList, searchOverConfirmProgressList |
||||
|
} from "../../../api/eam/eamProofing"; |
||||
|
import {searchConfirmProgressPusherList} from "../../../api/eam/eamProject"; |
||||
|
|
||||
|
export default { |
||||
|
data() { |
||||
|
return { |
||||
|
dataList: [], |
||||
|
confirmProgressList: [], |
||||
|
height: 200, |
||||
|
dataListLoading: false, |
||||
|
searchData: { |
||||
|
site: this.$store.state.user.site, |
||||
|
userId: this.$store.state.user.id, |
||||
|
}, |
||||
|
columnProjectAllDocumentList: [ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001013, |
||||
|
serialNumber: '101001013Table1ProjectId', |
||||
|
tableId: "101001013Table1", |
||||
|
tableName: "BU文档清单表", |
||||
|
columnProp: 'projectId', |
||||
|
headerAlign: "center", |
||||
|
align: "center", |
||||
|
columnLabel: '项目编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001013, |
||||
|
serialNumber: '101001013Table1ProofingId', |
||||
|
tableId: "101001013Table1", |
||||
|
tableName: "BU文档清单表", |
||||
|
columnProp: 'proofingId', |
||||
|
headerAlign: "center", |
||||
|
align: "center", |
||||
|
columnLabel: '打样单号', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001013, |
||||
|
serialNumber: '101001013Table1DocumentType', |
||||
|
tableId: "101001013Table1", |
||||
|
tableName: "BU文档清单表", |
||||
|
columnProp: 'documentType', |
||||
|
headerAlign: "center", |
||||
|
align: "center", |
||||
|
columnLabel: '文档类型', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001014, |
||||
|
serialNumber: '101001014Table1FileName', |
||||
|
tableId: "101001014Table1", |
||||
|
tableName: "打样文档表", |
||||
|
columnProp: 'fileName', |
||||
|
headerAlign: "center", |
||||
|
align: "left", |
||||
|
columnLabel: '文件名', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 180, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001014, |
||||
|
serialNumber: '101001014Table1ProjectPhase', |
||||
|
tableId: "101001014Table1", |
||||
|
tableName: "打样文档表", |
||||
|
columnProp: 'projectPhase', |
||||
|
headerAlign: "center", |
||||
|
align: "center", |
||||
|
columnLabel: '项目阶段', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101001014, |
||||
|
serialNumber: '101001014Table1DocumentGroupDesc', |
||||
|
tableId: "101001014Table1", |
||||
|
tableName: "打样文档表", |
||||
|
columnProp: 'documentGroupDesc', |
||||
|
headerAlign: "center", |
||||
|
align: "center", |
||||
|
columnLabel: '文档种类', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 70, |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 103001, |
||||
|
serialNumber: '103001Table1CreateDate', |
||||
|
tableId: '103001Table1', |
||||
|
tableName: '打样文档表', |
||||
|
columnProp: 'createDate', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '创建时间', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 130 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 103001, |
||||
|
serialNumber: '103001Table1CreateBy', |
||||
|
tableId: '103001Table1', |
||||
|
tableName: '打样文档表', |
||||
|
columnProp: 'createdBy', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '创建人', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 80 |
||||
|
} |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 获取数据列表 |
||||
|
getDataList () { |
||||
|
if (this.$route.query.flag === '1') { |
||||
|
searchProjectUploadsDocumentList(this.searchData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.dataList = data.list |
||||
|
// 判断是否全部存在数据 |
||||
|
} |
||||
|
}) |
||||
|
}else { |
||||
|
searchProjectOverUploadsDocumentList(this.searchData).then(({data}) => { |
||||
|
if (data.code === 0) { |
||||
|
this.dataList = data.list |
||||
|
// 判断是否全部存在数据 |
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
filteredProjectAllDocumentList() { |
||||
|
this.dataList.map(item => { |
||||
|
item.id = item.documentDefinitionListId |
||||
|
}) |
||||
|
return this.dataList.filter(item => item.uploadedFlag !== 'Y') |
||||
|
}, |
||||
|
projectAllDocumentClickRow (row) { |
||||
|
this.projectAllDocumentCurrentRow = JSON.parse(JSON.stringify(row)) |
||||
|
}, |
||||
|
formatDate(row, column) { |
||||
|
// row 是当前行的数据对象 |
||||
|
// column 是当前列的属性信息对象 |
||||
|
const date = row[column.property]; |
||||
|
if (date) { |
||||
|
const s = new Date(date).toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }); |
||||
|
return s.replace(/\//g, '-') |
||||
|
} else { |
||||
|
return ''; |
||||
|
} |
||||
|
}, |
||||
|
rowStyle ({row}) { |
||||
|
}, |
||||
|
indexMethod(index) { |
||||
|
return index + 1; |
||||
|
}, |
||||
|
getCombinedDocumentType(row) { |
||||
|
// 根据您的需求,组合或拼接需要显示的字段 |
||||
|
if (row.documentType === null || row.documentType === undefined) { |
||||
|
return row.documentDesc |
||||
|
}else { |
||||
|
return row.documentType |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
}; |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.card-item { |
||||
|
cursor: pointer; |
||||
|
margin-bottom: 20px; |
||||
|
transition: transform 0.3s, box-shadow 0.3s; |
||||
|
overflow: hidden; |
||||
|
//padding: 10px; |
||||
|
display: flex; |
||||
|
flex-direction: column; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
height: 208px; |
||||
|
width: 230px; |
||||
|
margin-left: 40px; |
||||
|
margin-top: 10px; |
||||
|
} |
||||
|
|
||||
|
.card-item:hover { |
||||
|
transform: translateY(-5px); |
||||
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); |
||||
|
} |
||||
|
|
||||
|
.card-title { |
||||
|
font-size: 18px; |
||||
|
font-weight: bold; |
||||
|
margin-bottom: 10px; |
||||
|
margin-top: 20px; |
||||
|
} |
||||
|
|
||||
|
.card-count { |
||||
|
font-size: 55px; |
||||
|
color: #17B3A3; |
||||
|
text-align: center; |
||||
|
font-weight: bold; |
||||
|
margin-top: 50px; |
||||
|
} |
||||
|
|
||||
|
.project-list { |
||||
|
font-size: 12px; |
||||
|
color: #333; |
||||
|
line-height: 1.5; |
||||
|
margin-bottom: 5px; |
||||
|
} |
||||
|
|
||||
|
.el-divider { |
||||
|
margin: 10px 0; |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue