meta-table.vue 7.5 KB

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