优化代码

This commit is contained in:
lzm
2026-04-29 17:12:41 +08:00
parent 422c42f19b
commit 397e60a9ce
5 changed files with 45 additions and 19 deletions

View File

@@ -68,7 +68,7 @@
<el-col :span="8"> <el-col :span="8">
<ContentWrap> <ContentWrap>
<div class="mb-12px text-14px font-600"> <div class="mb-12px text-14px font-600">
{{ currentProject?.projectName || '专业所规划列表' }} {{ currentProject?.projectName || '合约规划列表' }}
</div> </div>
<el-table <el-table
ref="planningTableRef" ref="planningTableRef"
@@ -78,6 +78,11 @@
@current-change="handleCurrentPlanningChange" @current-change="handleCurrentPlanningChange"
> >
<el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" /> <el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" />
<el-table-column align="center" label="归属类型" min-width="110">
<template #default="scope">
{{ getOwnershipTypeLabel(scope.row.ownershipType) }}
</template>
</el-table-column>
<el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" /> <el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" />
<el-table-column align="center" label="考核产值(元)" width="120"> <el-table-column align="center" label="考核产值(元)" width="120">
<template #default="scope"> <template #default="scope">
@@ -190,7 +195,7 @@
</ContentWrap> </ContentWrap>
<ContentWrap v-else> <ContentWrap v-else>
<el-empty description="请选择专业所规划后查看分配结果" /> <el-empty description="请选择合约规划后查看分配结果" />
</ContentWrap> </ContentWrap>
</el-col> </el-col>
</el-row> </el-row>
@@ -259,7 +264,7 @@ import * as OutputSplitApi from '@/api/tjt/outputSplit'
import { import {
formatAmountText, formatAmountText,
fromPercentValue, fromPercentValue,
isMajorOwnership, getOwnershipTypeLabel,
OUTPUT_SPLIT_SPECIALTY_OPTIONS, OUTPUT_SPLIT_SPECIALTY_OPTIONS,
QUARTER_OPTIONS, QUARTER_OPTIONS,
toPercentValue toPercentValue
@@ -578,7 +583,7 @@ const getPlanningList = async () => {
planningLoading.value = true planningLoading.value = true
try { try {
const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id) const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id)
planningList.value = list.filter((item) => isMajorOwnership(item.ownershipType)) planningList.value = list
if (!planningList.value.length) { if (!planningList.value.length) {
currentPlanning.value = undefined currentPlanning.value = undefined
formData.value = undefined formData.value = undefined

View File

@@ -188,6 +188,11 @@
{{ getOwnershipTypeLabel(scope.row.ownershipType) }} {{ getOwnershipTypeLabel(scope.row.ownershipType) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="计算方式" min-width="110">
<template #default="scope">
{{ getCalculationMethodLabel(scope.row.calculationMethod) }}
</template>
</el-table-column>
<el-table-column align="center" label="开始年度" width="100" prop="planningStartYear" /> <el-table-column align="center" label="开始年度" width="100" prop="planningStartYear" />
<el-table-column align="center" label="规划金额(元)" width="130"> <el-table-column align="center" label="规划金额(元)" width="130">
<template #default="scope"> <template #default="scope">
@@ -214,6 +219,7 @@ import {
CONTRACT_SIGN_OPTIONS, CONTRACT_SIGN_OPTIONS,
formatAmountText, formatAmountText,
formatAreaText, formatAreaText,
getCalculationMethodLabel,
getOwnershipTypeLabel getOwnershipTypeLabel
} from '@/views/tjt/shared/planning' } from '@/views/tjt/shared/planning'

View File

@@ -68,7 +68,7 @@
<el-col :span="8"> <el-col :span="8">
<ContentWrap> <ContentWrap>
<div class="mb-12px text-14px font-600"> <div class="mb-12px text-14px font-600">
{{ currentProject?.projectName || '专业所规划列表' }} {{ currentProject?.projectName || '合约规划列表' }}
</div> </div>
<el-table <el-table
ref="planningTableRef" ref="planningTableRef"
@@ -78,6 +78,11 @@
@current-change="handleCurrentPlanningChange" @current-change="handleCurrentPlanningChange"
> >
<el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" /> <el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" />
<el-table-column align="center" label="归属类型" min-width="110">
<template #default="scope">
{{ getOwnershipTypeLabel(scope.row.ownershipType) }}
</template>
</el-table-column>
<el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" /> <el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" />
<el-table-column align="center" label="考核产值(元)" width="120"> <el-table-column align="center" label="考核产值(元)" width="120">
<template #default="scope"> <template #default="scope">
@@ -201,7 +206,7 @@
</ContentWrap> </ContentWrap>
<ContentWrap v-else> <ContentWrap v-else>
<el-empty description="请选择专业所规划后查看导出预览" /> <el-empty description="请选择合约规划后查看导出预览" />
</ContentWrap> </ContentWrap>
</el-col> </el-col>
</el-row> </el-row>
@@ -216,7 +221,7 @@ import * as ReportApi from '@/api/tjt/report'
import download from '@/utils/download' import download from '@/utils/download'
import { import {
formatAmountText, formatAmountText,
isMajorOwnership, getOwnershipTypeLabel,
OUTPUT_SPLIT_SPECIALTY_OPTIONS, OUTPUT_SPLIT_SPECIALTY_OPTIONS,
QUARTER_OPTIONS, QUARTER_OPTIONS,
toPercentValue toPercentValue
@@ -481,7 +486,7 @@ const getPlanningList = async () => {
planningLoading.value = true planningLoading.value = true
try { try {
const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id) const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id)
planningList.value = list.filter((item) => isMajorOwnership(item.ownershipType)) planningList.value = list
if (!planningList.value.length) { if (!planningList.value.length) {
currentPlanning.value = undefined currentPlanning.value = undefined
formData.value = undefined formData.value = undefined
@@ -544,7 +549,7 @@ const handleCurrentPlanningChange = async (row?: PlanningApi.ProjectPlanningVO)
const handleExportProjectQuarter = async () => { const handleExportProjectQuarter = async () => {
if (!currentPlanning.value?.id) { if (!currentPlanning.value?.id) {
message.warning('请先选择专业所规划') message.warning('请先选择合约规划')
return return
} }
try { try {
@@ -559,7 +564,7 @@ const handleExportProjectQuarter = async () => {
const handleExportProjectLeadQuarter = async () => { const handleExportProjectLeadQuarter = async () => {
if (!currentPlanning.value?.id) { if (!currentPlanning.value?.id) {
message.warning('请先选择专业所规划') message.warning('请先选择合约规划')
return return
} }
try { try {

View File

@@ -70,7 +70,7 @@
<el-col :span="8"> <el-col :span="8">
<ContentWrap> <ContentWrap>
<div class="mb-12px text-14px font-600"> <div class="mb-12px text-14px font-600">
{{ currentProject?.projectName || '专业所规划列表' }} {{ currentProject?.projectName || '合约规划列表' }}
</div> </div>
<el-table <el-table
ref="planningTableRef" ref="planningTableRef"
@@ -80,6 +80,11 @@
@current-change="handleCurrentPlanningChange" @current-change="handleCurrentPlanningChange"
> >
<el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" /> <el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" />
<el-table-column align="center" label="归属类型" min-width="110">
<template #default="scope">
{{ getOwnershipTypeLabel(scope.row.ownershipType) }}
</template>
</el-table-column>
<el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" /> <el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" />
<el-table-column align="center" label="考核产值(元)" width="120"> <el-table-column align="center" label="考核产值(元)" width="120">
<template #default="scope"> <template #default="scope">
@@ -163,7 +168,7 @@
</ContentWrap> </ContentWrap>
<ContentWrap v-else> <ContentWrap v-else>
<el-empty description="请选择专业所规划后查看导出预览" /> <el-empty description="请选择合约规划后查看导出预览" />
</ContentWrap> </ContentWrap>
</el-col> </el-col>
</el-row> </el-row>
@@ -175,7 +180,7 @@ import * as ProjectApi from '@/api/tjt/project'
import * as ReportApi from '@/api/tjt/report' import * as ReportApi from '@/api/tjt/report'
import * as SpecialtyRoleSplitApi from '@/api/tjt/specialtyRoleSplit' import * as SpecialtyRoleSplitApi from '@/api/tjt/specialtyRoleSplit'
import download from '@/utils/download' import download from '@/utils/download'
import { formatAmountText, formatPercentText, isMajorOwnership } from '@/views/tjt/shared/planning' import { formatAmountText, formatPercentText, getOwnershipTypeLabel } from '@/views/tjt/shared/planning'
defineOptions({ name: 'TjtReportSpecialtyPerson' }) defineOptions({ name: 'TjtReportSpecialtyPerson' })
@@ -335,7 +340,7 @@ const getPlanningList = async () => {
planningLoading.value = true planningLoading.value = true
try { try {
const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id) const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id)
planningList.value = list.filter((item) => isMajorOwnership(item.ownershipType)) planningList.value = list
if (!planningList.value.length) { if (!planningList.value.length) {
currentPlanning.value = undefined currentPlanning.value = undefined
roleList.value = [] roleList.value = []
@@ -381,7 +386,7 @@ const handleCurrentPlanningChange = async (row?: PlanningApi.ProjectPlanningVO)
const handleExportSpecialtyPerson = async () => { const handleExportSpecialtyPerson = async () => {
if (!currentPlanning.value?.id) { if (!currentPlanning.value?.id) {
message.warning('请先选择专业所规划') message.warning('请先选择合约规划')
return return
} }
if (!canExportCurrentGroup.value || !currentGroup.value?.specialtyCode) { if (!canExportCurrentGroup.value || !currentGroup.value?.specialtyCode) {

View File

@@ -70,7 +70,7 @@
<el-col :span="8"> <el-col :span="8">
<ContentWrap> <ContentWrap>
<div class="mb-12px text-14px font-600"> <div class="mb-12px text-14px font-600">
{{ currentProject?.projectName || '专业所规划列表' }} {{ currentProject?.projectName || '合约规划列表' }}
</div> </div>
<el-table <el-table
ref="planningTableRef" ref="planningTableRef"
@@ -80,6 +80,11 @@
@current-change="handleCurrentPlanningChange" @current-change="handleCurrentPlanningChange"
> >
<el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" /> <el-table-column align="center" label="规划内容" min-width="180" prop="planningContent" />
<el-table-column align="center" label="归属类型" min-width="110">
<template #default="scope">
{{ getOwnershipTypeLabel(scope.row.ownershipType) }}
</template>
</el-table-column>
<el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" /> <el-table-column align="center" label="开始年度" prop="planningStartYear" width="100" />
<el-table-column align="center" label="考核产值(元)" width="120"> <el-table-column align="center" label="考核产值(元)" width="120">
<template #default="scope"> <template #default="scope">
@@ -161,7 +166,7 @@
</ContentWrap> </ContentWrap>
<ContentWrap v-else> <ContentWrap v-else>
<el-empty description="请选择专业所规划后查看人员分配" /> <el-empty description="请选择合约规划后查看人员分配" />
</ContentWrap> </ContentWrap>
</el-col> </el-col>
</el-row> </el-row>
@@ -307,7 +312,7 @@ import {
formatAmountText, formatAmountText,
formatPercentText, formatPercentText,
fromPercentValue, fromPercentValue,
isMajorOwnership, getOwnershipTypeLabel,
toPercentValue toPercentValue
} from '@/views/tjt/shared/planning' } from '@/views/tjt/shared/planning'
@@ -764,7 +769,7 @@ const getPlanningList = async () => {
planningLoading.value = true planningLoading.value = true
try { try {
const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id) const list = await PlanningApi.getProjectPlanningListByProjectId(currentProject.value.id)
planningList.value = list.filter((item) => isMajorOwnership(item.ownershipType)) planningList.value = list
if (!planningList.value.length) { if (!planningList.value.length) {
currentPlanning.value = undefined currentPlanning.value = undefined
roleList.value = [] roleList.value = []