first commit

This commit is contained in:
2025-12-26 23:19:09 +08:00
commit b29d128e41
788 changed files with 100922 additions and 0 deletions

View File

@@ -0,0 +1,109 @@
<template>
<div>
<el-row class="mb10 header-meta">
<div class="meta-item">{{ t('cooperationUnit.reporterLabel') + displayReporter }}</div>
<div class="meta-item">{{ t('cooperationUnit.reportingUnitLabel') + displayUnit }}</div>
<div class="meta-item">{{ t('cooperationUnit.dateLabel') + displayDate }}</div>
<div class="meta-item">{{ t('cooperationUnit.serialNumber') + '--' }}</div>
</el-row>
<!-- 动态明细表按图示 -->
<el-table :data="data" border style="width: 100%;">
<el-table-column type="index" :label="t('cooperationUnit.index')" width="60" />
<el-table-column prop="cooperationName" :label="t('cooperationUnit.cooperationName')" min-width="200" />
<el-table-column prop="areaCode" :label="t('cooperationUnit.provinceCity')" min-width="240">
<template #default="scope">
{{ scope.row.areaCode }}
</template>
</el-table-column>
<el-table-column prop="cooperationNature" :label="t('cooperationUnit.cooperationNature')" min-width="140">
<template #default="{ row }">
{{ cooperationPartnerNatureOptions.find(item => item.value === row.cooperationNature)?.label || row.cooperationNature || '--' }}
</template>
</el-table-column>
<el-table-column prop="cooperationIndustry" :label="t('cooperationUnit.cooperationIndustry')" min-width="160" />
<el-table-column prop="proposedBusinessCooperation" :label="t('cooperationUnit.proposedBusinessCooperation')" min-width="180" />
<el-table-column prop="cooperationAdvantage" :label="t('cooperationUnit.cooperationAdvantage')" min-width="160" />
<el-table-column prop="cooperationStatus" :label="t('cooperationUnit.cooperationStatus')" min-width="140" />
<el-table-column prop="startTime" :label="t('cooperationUnit.startTime')" min-width="170" />
<el-table-column prop="endTime" :label="t('cooperationUnit.endTime')" min-width="170" />
<el-table-column prop="unitAddress" :label="t('cooperationUnit.unitAddress')" min-width="200" />
<el-table-column prop="unitContactPerson" :label="t('cooperationUnit.unitContactPerson')" min-width="150" />
<el-table-column prop="contactPersonDept" :label="t('cooperationUnit.contactPersonDept')" min-width="160" />
<el-table-column prop="contactPersonPhone" :label="t('cooperationUnit.contactPersonPhone')" min-width="160" />
<el-table-column prop="potentialCooperation" :label="t('cooperationUnit.potentialCooperation')" min-width="180" />
<el-table-column prop="businessConnectionCompany" :label="t('cooperationUnit.businessConnectionCompany')" min-width="200" />
<el-table-column prop="cooperationController" :label="t('cooperationUnit.actualController')" min-width="160" />
<el-table-column prop="shareholdingRatio" :label="t('cooperationUnit.shareholdingRatio')" min-width="140" />
</el-table>
</div>
</template>
<script lang="ts" name="bizInvestmentCooperationUnit" setup>
import { useI18n } from 'vue-i18n';
import { useUserInfo } from '/@/stores/userInfo';
import { formatDate } from '/@/utils/formatTime';
import { cooperationPartnerNatureOptions } from '/@/hooks/enums'
const props = defineProps({
isUpdate: {
type: Boolean,
default: false
},
data: {
type: Array,
default: () => ([])
}
})
const { t } = useI18n();
// 头部摘要显示
const userInfoStore = useUserInfo();
const displayReporter = (userInfoStore.userInfos.user?.username || '');
const displayUnit = (userInfoStore.userInfos.user?.deptName || '');
const displayDate = formatDate(new Date(), 'YYYY-mm-dd');
</script>
<style scoped>
.form-header-actions {
display: flex;
justify-content: space-between;
align-items: center;
}
.header-summary .title {
margin: 0 auto;
font-size: 18px;
font-weight: 600;
}
.header-meta {
display: flex;
justify-content: space-between;
align-items: center;
width: 50%;
margin: 0 auto;
}
.header-meta .meta-item {
color: var(--el-text-color-regular);
}
.required-star {
color: var(--el-color-danger);
margin-right: 2px;
}
.red-label {
color: var(--el-color-danger);
}
</style>
<style scoped>
.form-header-actions {
display: flex;
justify-content: space-between;
align-items: center;
}
</style>