DocumentInfoDisplay.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <view class="document-info-display">
  3. <view class="content-body">
  4. <!-- 纵向项目申报流程 -->
  5. <PlanListForm v-if="defCode === 'pre_sci_project_vertical'" :code="taskCode" />
  6. <!-- 学术会议 待确认-->
  7. <ConferenceForm v-else-if="defCode === 'sci_academic_conferences'" :code="taskCode" />
  8. <!-- 学术讲座 -->
  9. <LectureForm v-else-if="defCode === 'sci_academic_lectures'" :code="taskCode" />
  10. <!-- 纵向项目 -->
  11. <VerticalForm v-else-if="defCode === 'sci_project_vertical'" :code="taskCode" />
  12. <!-- 学术委员会职务 -->
  13. <DutiesForm v-else-if="defCode === 'sci_academic_committee_positions'" :code="taskCode" />
  14. <!-- 科研人员派遣 -->
  15. <DispatchForm v-else-if="defCode === 'sci_scientific_researchers_dispatch'" :code="taskCode" />
  16. <!-- 自发项目 -->
  17. <SpontaneityForm v-else-if="defCode === 'sci_project_spontaneity'" :code="taskCode" />
  18. <!-- 横向项目 -->
  19. <HorizontalForm v-else-if="defCode === 'sci_project_horizontal'" :code="taskCode" />
  20. <!-- 学术成果(根据taskCode判断具体类型) -->
  21. <AchPaperForm v-else-if="defCode === 'sci_academic_achievement' && taskCode.includes('学术论文')" :code="taskCode" />
  22. <AchAwardsForm v-else-if="defCode === 'sci_academic_achievement' && taskCode.includes('奖项荣誉') && !taskCode.includes('授权')" :code="taskCode" />
  23. <AchAwardsAuthForm v-else-if="defCode === 'sci_academic_achievement_reward_auth'" :code="taskCode" />
  24. <AchPatentForm v-else-if="defCode === 'sci_academic_achievement' && taskCode.includes('学术专利')" :code="taskCode" />
  25. <AchPatentForm v-else-if="defCode === 'sci_academic_achievement' && taskCode.includes('专利转化')" :code="taskCode" />
  26. <AchPatentAuthForm v-else-if="defCode === 'sci_academic_achievement_auth'" :code="taskCode" />
  27. <AchWorkForm v-else-if="defCode === 'sci_academic_achievement' && taskCode.includes('学术著作')" :code="taskCode" />
  28. <!-- 学术委员会 -->
  29. <AchCommitteeForm v-else-if="defCode === 'sci_academic_committee'" :code="taskCode" />
  30. <!-- 考核批次 -->
  31. <AssessmentBatchForm v-else-if="defCode === 'sci_assessment_batch'" :code="taskCode" />
  32. <!-- 学科项目 -->
  33. <DisciplineForm v-else-if="defCode === 'sci_project_discipline'" :code="taskCode" />
  34. <!-- 经费认领审批 -->
  35. <ClaimForm v-else-if="defCode === 'sci_fund_allot_apply'" :code="taskCode" />
  36. <!-- 经费支出 -->
  37. <ReimbursementForm v-else-if="defCode === 'sci_fund_expense'" :code="taskCode" />
  38. <!-- 经费奖励 -->
  39. <RewardForm v-else-if="defCode === 'sci_fund_reward'" :code="taskCode" />
  40. <!-- 经费结转 -->
  41. <CarryForwardForm v-else-if="defCode === 'sci_fund_carryover'" :code="taskCode" />
  42. <!-- 项目中检 -->
  43. <InspectionForm v-else-if="defCode === 'sci_project_inspection'" :code="taskCode" />
  44. <!-- 项目验收审批流 -->
  45. <ConclusionForm v-else-if="defCode === 'sci_project_conclusion'" :code="taskCode" />
  46. <!-- 论文投稿审批流 -->
  47. <AchPaperSubmission v-else-if="defCode === 'sci_paper_submission'" :code="taskCode" />
  48. <!-- 学科中期 -->
  49. <DisciplineMidterm v-else-if="defCode === 'sci_project_discipline_midterm'" :code="taskCode" />
  50. <!-- 学科结题 -->
  51. <DisciplineFinal v-else-if="defCode === 'sci_project_discipline_final'" :code="taskCode" />
  52. <!-- 项目变更 -->
  53. <ProjectChange v-else-if="defCode === 'sci_project_change'" :code="taskCode" />
  54. <!-- 集成电路 -->
  55. <CircuitForm v-else-if="defCode === 'sci_property_circuit'" :code="taskCode" />
  56. <!-- 著作权 -->
  57. <CopyrightForm v-else-if="defCode === 'sci_property_copyright'" :code="taskCode" />
  58. <!-- 医药凭证 -->
  59. <CredentialForm v-else-if="defCode === 'sci_property_medicine_credential'" :code="taskCode" />
  60. <!-- 新品种 -->
  61. <VarietyForm v-else-if="defCode === 'sci_property_new_variety'" :code="taskCode" />
  62. <!-- 标准 -->
  63. <StandardForm v-else-if="defCode === 'sci_property_standard'" :code="taskCode" />
  64. <!-- 伦理审查 -->
  65. <ReviewForm v-else-if="defCode === 'sci_ethical_review_form'" :code="taskCode" />
  66. <!-- 自发项目申报 -->
  67. <SpontaneityFormPlan v-else-if="defCode === 'sci_project_spontaneity_declaration_project'" :code="taskCode" />
  68. <!-- 经费冲正 -->
  69. <SciFundReverse v-else-if="defCode === 'sci_fund_reverse'" :code="taskCode" />
  70. <!-- 临时借款 -->
  71. <TemporaryFundForm v-else-if="defCode === 'sci_temporary_fund_borrowing'" :code="taskCode" />
  72. <!-- 成果标准 -->
  73. <SciAchievementStandard v-else-if="defCode === 'sci_achievement_standard'" :code="taskCode" />
  74. <!-- 论文认领 -->
  75. <SciAchievementPaperPushClaim v-else-if="defCode === 'sci_achievement_paper_push_claim'" :code="taskCode" />
  76. <!-- 其他成果 -->
  77. <SciAchievementOther v-else-if="defCode === 'sci_achievement_other'" :code="taskCode" />
  78. <!-- 预申报 -->
  79. <DeclarationListForm v-else-if="defCode === 'sci_project_declaration_list'" :code="taskCode" />
  80. <!-- 软件著作权 -->
  81. <SciAchievementSoftware v-else-if="defCode === 'sci_achievement_software'" :code="taskCode" />
  82. <!-- 安评项目 -->
  83. <SafetyForm v-else-if="defCode === 'sci_project_safety'" :code="taskCode" />
  84. <!-- 横向项目招标 -->
  85. <HorizontalBidForm v-else-if="defCode === 'sci_project_horizontal_bid'" :code="taskCode" />
  86. <!-- 决策咨询 -->
  87. <AchDecisionForm v-else-if="defCode === 'sci_achievement_decision'" :code="taskCode" />
  88. <!-- 成果评价 -->
  89. <AchEvaluationForm v-else-if="defCode === 'sci_achievement_evaluation'" :code="taskCode" />
  90. <!-- 经费下拨 -->
  91. <SciFundExternalAllot v-else-if="defCode === 'sci_fund_external_allot'" :code="taskCode" />
  92. <!-- 成果转化 -->
  93. <AchConversionForm v-else-if="defCode === 'sci_achievement_conversion'" :code="taskCode" />
  94. <!-- 保底展示 -->
  95. <view v-else class="section-card fallback-card">
  96. <view class="section-title">单据详情 ({{ defCode }})</view>
  97. <view class="info-row"><text class="label">业务编码</text><text class="value">{{ taskCode }}</text></view>
  98. </view>
  99. </view>
  100. </view>
  101. </template>
  102. <script setup lang="ts">
  103. import VerticalForm from './document/VerticalForm.vue';
  104. import HorizontalForm from './document/HorizontalForm.vue';
  105. import PlanListForm from './document/PlanListForm.vue';
  106. import ConferenceForm from './document/ConferenceForm.vue';
  107. import LectureForm from './document/LectureForm.vue';
  108. import SpontaneityForm from './document/SpontaneityForm.vue';
  109. import AchPaperForm from './document/AchPaperForm.vue';
  110. import AchAwardsForm from './document/AchAwardsForm.vue';
  111. import AchPatentForm from './document/AchPatentForm.vue';
  112. import AchWorkForm from './document/AchWorkForm.vue';
  113. import AchDecisionForm from './document/AchDecisionForm.vue';
  114. import AchCommitteeForm from './document/AchCommitteeForm.vue';
  115. import DutiesForm from './document/DutiesForm.vue';
  116. import DispatchForm from './document/DispatchForm.vue';
  117. import ClaimForm from './document/ClaimForm.vue';
  118. import ReimbursementForm from './document/ReimbursementForm.vue';
  119. import RewardForm from './document/RewardForm.vue';
  120. import CarryForwardForm from './document/CarryForwardForm.vue';
  121. import AssessmentBatchForm from './document/AssessmentBatchForm.vue';
  122. import DisciplineForm from './document/DisciplineForm.vue';
  123. import InspectionForm from './document/InspectionForm.vue';
  124. import ConclusionForm from './document/ConclusionForm.vue';
  125. import AchPaperSubmission from './document/AchPaperSubmission.vue';
  126. import DisciplineMidterm from './document/DisciplineMidterm.vue';
  127. import DisciplineFinal from './document/DisciplineFinal.vue';
  128. import ProjectChange from './document/ProjectChange.vue';
  129. import CircuitForm from './document/CircuitForm.vue';
  130. import CopyrightForm from './document/CopyrightForm.vue';
  131. import CredentialForm from './document/CredentialForm.vue';
  132. import VarietyForm from './document/VarietyForm.vue';
  133. import StandardForm from './document/StandardForm.vue';
  134. import ReviewForm from './document/ReviewForm.vue';
  135. import SpontaneityFormPlan from './document/SpontaneityFormPlan.vue';
  136. import SciFundReverse from './document/SciFundReverse.vue';
  137. import TemporaryFundForm from './document/TemporaryFundForm.vue';
  138. import SciAchievementStandard from './document/SciAchievementStandard.vue';
  139. import SciAchievementPaperPushClaim from './document/SciAchievementPaperPushClaim.vue';
  140. import SciAchievementOther from './document/SciAchievementOther.vue';
  141. import SciAchievementSoftware from './document/SciAchievementSoftware.vue';
  142. import DeclarationListForm from './document/DeclarationListForm.vue';
  143. import SafetyForm from './document/SafetyForm.vue';
  144. import HorizontalBidForm from './document/HorizontalBidForm.vue';
  145. import AchEvaluationForm from './document/AchEvaluationForm.vue';
  146. import SciFundExternalAllot from './document/SciFundExternalAllot.vue';
  147. import AchConversionForm from './document/AchConversionForm.vue';
  148. import AchAwardsAuthForm from './document/AchAwardsAuthForm.vue';
  149. import AchPatentAuthForm from './document/AchPatentAuthForm.vue';
  150. const props = defineProps<{
  151. defCode: string;
  152. taskCode: string;
  153. }>();
  154. </script>
  155. <style lang="scss" scoped>
  156. .document-info-display {
  157. padding: 10rpx 0;
  158. .empty-tip { padding: 100rpx 0; }
  159. .fallback-card {
  160. background: #fff;
  161. margin: 20rpx;
  162. padding: 30rpx;
  163. border-radius: 16rpx;
  164. .section-title { font-size: 32rpx; font-weight: bold; margin-bottom: 20rpx; color: #333; }
  165. .info-row {
  166. display: flex; justify-content: space-between; padding: 16rpx 0;
  167. border-bottom: 1rpx solid #f5f5f5; font-size: 28rpx;
  168. .label { color: #888; width: 220rpx; }
  169. .value { color: #333; flex: 1; text-align: right; }
  170. }
  171. .tip-box {
  172. margin-top: 30rpx; padding: 20rpx; background: #fffbe6;
  173. border: 1rpx solid #ffe58f; color: #856404; font-size: 24rpx; border-radius: 8rpx;
  174. }
  175. }
  176. }
  177. </style>