liu
3 天以前 fe2d6627b8f1002af7a31b08f6f43bec034d04ee
src/views/research/application/detail/approve/index.vue
@@ -10,7 +10,7 @@
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';
@@ -37,6 +37,16 @@
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) {
@@ -189,15 +199,34 @@
          <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>