meta-table.vue 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <template>
  2. <div class="hc-csc-meta-table-data" v-loading="isLoading">
  3. <el-scrollbar>
  4. <table class="hc-csc-meta-table" border="1">
  5. <tr class="hc-csc-meta-table-tr">
  6. <td colspan="2" class="hc-csc-meta-table-td title" v-if="!iShowFile">案卷元数据信息</td>
  7. <td colspan="2" class="hc-csc-meta-table-td title" v-else>文件元数据信息</td>
  8. </tr>
  9. <template v-for="item in metaDataTableVal">
  10. <tr class="hc-csc-meta-table-tr" v-if="item.isType === 1">
  11. <td colspan="2" class="hc-csc-meta-table-td title">{{item.containerName}}</td>
  12. </tr>
  13. <tr class="hc-csc-meta-table-tr" v-else>
  14. <td class="hc-csc-meta-table-td name">{{item.containerName}}</td>
  15. <td class="hc-csc-meta-table-td val">{{item.keyValue}}</td>
  16. </tr>
  17. </template>
  18. </table>
  19. <HcNoData v-if="metaDataTableVal.length==0"/>
  20. </el-scrollbar>
  21. </div>
  22. </template>
  23. <script setup>
  24. import {ref, watch} from "vue";
  25. //参数
  26. const props = defineProps({
  27. projectId: {
  28. type: [String,Number],
  29. default: ''
  30. },
  31. contractId: {
  32. type: [String,Number],
  33. default: ''
  34. },
  35. loading: {
  36. type: Boolean,
  37. default: false
  38. },
  39. ishowFile:{
  40. type: Boolean,
  41. default: false
  42. },
  43. metaDataTable:{
  44. type: [Array],
  45. default: ''
  46. }
  47. })
  48. //变量
  49. const projectId = ref(props.projectId);
  50. const contractId = ref(props.contractId);
  51. const isLoading = ref(props.loading);
  52. const iShowFile = ref(props.ishowFile);
  53. const metaDataTableVal=ref(props.metaDataTable)
  54. //监听
  55. watch(() => [
  56. props.loading,
  57. props.ishowFile,
  58. props.metaDataTable
  59. ], ([loading,ishowFile,metaDataTable]) => {
  60. console.log(metaDataTable,'metaDataTable');
  61. isLoading.value = loading;
  62. console.log(ishowFile,'ishowFile');
  63. iShowFile.value=ishowFile
  64. metaDataTableVal.value=metaDataTable
  65. })
  66. //元数据
  67. const metaDataTable = ref([
  68. {type: 1, title: '聚合层次', val: ''},
  69. {type: 2, title: '来源', val: ''},
  70. {type: 1, title: '全宗名称', val: ''},
  71. {type: 1, title: '立档单位名称', val: ''},
  72. {type: 1, title: '电子文件号', val: ''},
  73. {type: 2, title: '文件联', val: ''},
  74. {type: 1, title: '目录文件', val: ''},
  75. {type: 1, title: '文件件数', val: ''},
  76. {type: 1, title: '文件页数', val: ''},
  77. {type: 1, title: '元数据目录文件', val: ''},
  78. {type: 1, title: '验证码', val: ''},
  79. {type: 2, title: '内容描述', val: ''},
  80. {type: 1, title: '题名', val: ''},
  81. {type: 1, title: '关键词', val: ''},
  82. {type: 1, title: '摘要', val: ''},
  83. {type: 1, title: '生成方式', val: ''},
  84. {type: 1, title: '责任者', val: ''},
  85. {type: 1, title: '文件创建日期', val: ''},
  86. {type: 2, title: '组件', val: ''},
  87. {type: 1, title: 'IP地址', val: ''},
  88. {type: 1, title: '桩号', val: ''},
  89. {type: 1, title: '上传时间', val: ''},
  90. {type: 2, title: '文件标识码', val: ''},
  91. {type: 1, title: '文号', val: ''},
  92. {type: 1, title: '表单标识码', val: ''},
  93. {type: 2, title: '竣工图', val: ''},
  94. {type: 1, title: '图号', val: ''},
  95. {type: 1, title: '图幅', val: ''},
  96. {type: 1, title: '图表来源', val: ''},
  97. {type: 1, title: '引用变更令编号', val: ''},
  98. {type: 2, title: '照片文件', val: ''},
  99. {type: 1, title: '主题', val: ''},
  100. {type: 1, title: '拍摄时间', val: ''},
  101. {type: 1, title: '拍摄地点', val: ''},
  102. {type: 1, title: '摄影者', val: ''},
  103. {type: 1, title: '背景', val: ''},
  104. {type: 1, title: '分组号', val: ''},
  105. {type: 1, title: '组内照片编号', val: ''},
  106. {type: 1, title: '水平分辨率', val: ''},
  107. {type: 1, title: '垂直分辨率', val: ''},
  108. {type: 1, title: '保管期限', val: ''},
  109. {type: 1, title: '格式信息', val: ''},
  110. {type: 2, title: '电子属性', val: ''},
  111. {type: 1, title: '位置', val: ''},
  112. {type: 1, title: '计算机文件名', val: ''},
  113. {type: 1, title: '计算机文件大小', val: ''},
  114. {type: 2, title: '数字化属性', val: ''},
  115. {type: 1, title: '扫描分辨率', val: ''},
  116. {type: 1, title: '扫描色彩模式', val: ''},
  117. {type: 2, title: '电子签名', val: ''},
  118. {type: 1, title: '签名类型', val: ''},
  119. {type: 1, title: '签名时间', val: ''},
  120. {type: 1, title: '签名人', val: ''},
  121. {type: 1, title: '建设项目', val: ''},
  122. {type: 2, title: '业务事项', val: ''},
  123. {type: 1, title: '单位工程', val: ''},
  124. {type: 1, title: '分部工程', val: ''},
  125. {type: 1, title: '分项工程', val: ''},
  126. {type: 1, title: '单位工程编码', val: ''},
  127. {type: 1, title: '分部工程编码', val: ''},
  128. {type: 1, title: '分项工程编码', val: ''},
  129. {type: 2, title: '责任者', val: ''},
  130. {type: 1, title: '责任者名称', val: ''},
  131. {type: 1, title: '个人职位', val: ''},
  132. {type: 1, title: '责任者手机号', val: ''},
  133. {type: 2, title: '关系实体', val: ''},
  134. {type: 1, title: '关系标识', val: ''},
  135. {type: 1, title: '关系类型', val: ''},
  136. {type: 1, title: '关系', val: ''},
  137. {type: 1, title: '相关实体标识', val: ''},
  138. ])
  139. </script>
  140. <style lang="scss" scoped>
  141. .hc-csc-meta-table-data {
  142. position: relative;
  143. height: 100%;
  144. .hc-csc-meta-table {
  145. border-spacing: 0;
  146. border: 1px solid #E9E9E9;
  147. border-collapse: collapse;
  148. width: 100%;
  149. .hc-csc-meta-table-tr {
  150. position: relative;
  151. background: #f1f5f8;
  152. color: #50545e;
  153. transition: background-color .25s ease;
  154. &:hover {
  155. background: var(--el-color-primary-light-9);
  156. }
  157. .hc-csc-meta-table-td {
  158. text-align: left;
  159. padding: 10px 12px;
  160. font-size: 14px;
  161. border: 1px solid #E9E9E9;
  162. &.name {
  163. width: 150px;
  164. }
  165. &.title {
  166. color: #1a1a1a;
  167. text-align: center;
  168. background-color: #dae8f3;
  169. }
  170. }
  171. }
  172. }
  173. }
  174. </style>