| | |
| | | import { DICT_TYPE } from '@vben/constants'; |
| | | import { erpPriceInputFormatter, formatDateTime } from '@vben/utils'; |
| | | |
| | | import { Spin, Tag } from 'ant-design-vue'; |
| | | import { Spin, Table, Tag } from 'ant-design-vue'; |
| | | |
| | | import { useVbenVxeGrid } from '#/adapter/vxe-table'; |
| | | import { getApplication, getTopicReviewList } from '#/api/research/application'; |
| | |
| | | function textRender(val: unknown) { |
| | | return val === 0 || val ? String(val) : '-'; |
| | | } |
| | | |
| | | /** 课题组成员只读列 */ |
| | | const memberColumns = [ |
| | | { title: '姓名', dataIndex: 'name', key: 'name', width: 110 }, |
| | | { title: '联系电话', dataIndex: 'contactPhone', key: 'contactPhone', width: 130 }, |
| | | { title: '所属单位', dataIndex: 'workUnit', key: 'workUnit' }, |
| | | { title: '职称/职务', dataIndex: 'jobTitle', key: 'jobTitle', width: 120 }, |
| | | { title: '成员角色', dataIndex: 'memberRole', key: 'memberRole', width: 110 }, |
| | | { title: '排序', dataIndex: 'sortNo', key: 'sortNo', width: 70 }, |
| | | ]; |
| | | |
| | | /** 金额字段空值占位 */ |
| | | function amountRender(val: string | number | undefined) { |
| | |
| | | <Descriptions :data="formData" /> |
| | | </div> |
| | | |
| | | <!-- 课题组成员 --> |
| | | <!-- 课题组成员(子表) --> |
| | | <div |
| | | v-if="formData?.teamMembers" |
| | | v-if="formData?.members?.length" |
| | | class="rounded-lg border border-border bg-background p-4" |
| | | > |
| | | <div class="mb-4 flex items-center gap-2"> |
| | | <span class="inline-block h-4 w-1 rounded bg-primary" /> |
| | | <span class="text-base font-semibold">课题组成员</span> |
| | | </div> |
| | | <Table |
| | | :columns="memberColumns" |
| | | :data-source="formData.members" |
| | | :pagination="false" |
| | | bordered |
| | | size="small" |
| | | row-key="id" |
| | | /> |
| | | </div> |
| | | |
| | | <!-- 历史数据兼容:旧版文本格式的课题组成员 --> |
| | | <div |
| | | v-else-if="formData?.teamMembers" |
| | | class="rounded-lg border border-border bg-background p-4" |
| | | > |
| | | <div class="mb-4 flex items-center gap-2"> |
| | | <span class="inline-block h-4 w-1 rounded bg-primary" /> |
| | | <span class="text-base font-semibold">课题组成员(历史文本)</span> |
| | | </div> |
| | | <pre class="whitespace-pre-wrap break-all font-sans">{{ |
| | | formData.teamMembers |
| | | }}</pre> |