阅行客电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
5.7 KiB

2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
  1. <template>
  2. <div>
  3. <el-table :data="tableData" style="width: 100%" height="300" @cell-dblclick="tableDoubleClick">
  4. <el-table-column type="index" align="center" width="55" />
  5. <el-table-column prop="fondsName" label="所属全宗" min-width="120" />
  6. <el-table-column prop="categoryName" label="门类名称" min-width="120" />
  7. <el-table-column prop="categoryLevel" label="整理方式">
  8. <template slot-scope="scope">
  9. <span>{{ scope.row.categoryLevel === 2 ? '案卷整理' : '按件整理' }}</span>
  10. </template>
  11. </el-table-column>
  12. <el-table-column prop="archiveNo" label="项目号/档号" min-width="200" />
  13. <el-table-column prop="maintitle" label="题名" min-width="200" />
  14. <el-table-column v-if="isUtilize" prop="utilizeType" label="利用方式" width="300">
  15. <template slot-scope="scope">
  16. <el-checkbox-group v-model="scope.row.utilizeType" class="checkbox-style">
  17. <el-checkbox v-for="item in uselist" :key="item.value" :label="item.value" disabled>{{ item.label }}</el-checkbox>
  18. </el-checkbox-group>
  19. </template>
  20. </el-table-column>
  21. <el-table-column v-if="isUtilize" prop="utilizeState" label="实体借阅状态" align="center" width="160">
  22. <template slot-scope="scope">
  23. <el-select
  24. v-if="isFlowableForm"
  25. v-model="scope.row.utilizeState"
  26. placeholder="请选择"
  27. style="width: 140px;"
  28. @change="handleChange(scope.row.archivesId,$event)"
  29. >
  30. <el-option
  31. v-for="item in utilizeStateOptions"
  32. :key="item.value"
  33. :label="item.label"
  34. :value="item.value"
  35. />
  36. </el-select>
  37. <div v-else>
  38. <!-- 实体利用状态 -1.未确认流程(未审批) 0.无需借阅 1.同意借阅 2.不允许借阅 3.已归还 -->
  39. <span v-if="scope.row.utilizeState === -1" class="row-state soon-state">审批中</span>
  40. <span v-if="scope.row.utilizeState === 0" class="row-state end-state">无需借阅</span>
  41. <span v-if="scope.row.utilizeState === 1" class="row-state end-state">同意借阅</span>
  42. <span v-if="scope.row.utilizeState === 2" class="row-state cancel-state">不允许借阅</span>
  43. <span v-if="scope.row.utilizeState === 3" class="row-state end-state">已归还</span>
  44. </div>
  45. </template>
  46. </el-table-column>
  47. </el-table>
  48. <!-- @size-change="sizeChangeHandler($event)" @current-change="pageChangeHandler" -->
  49. <el-pagination :page-size.sync="page.size" :total="page.total" :current-page.sync="page.page" style="margin-top: 8px;" layout="total, prev, pager, next, sizes" />
  50. <ArchivesInfo ref="archivesInfo" :category-id="categoryId" :arc-id="arcId" :is-title-type="isTitleType" />
  51. </div>
  52. </template>
  53. <script>
  54. import ArchivesInfo from '@/views/components/archivesDetail/detail'
  55. export default {
  56. name: 'BusinessDetails',
  57. components: { ArchivesInfo },
  58. props: {
  59. tableData: {
  60. type: Array,
  61. default: null
  62. },
  63. isUtilize: {
  64. type: Boolean,
  65. default: false
  66. },
  67. isFlowableForm: {
  68. type: Boolean,
  69. default: false
  70. }
  71. },
  72. data() {
  73. return {
  74. page: {
  75. total: 0,
  76. size: 10,
  77. page: 1
  78. },
  79. categoryId: null,
  80. arcId: '',
  81. isTitleType: 3,
  82. uselist: [
  83. {
  84. value: 1,
  85. label: '电子查看'
  86. },
  87. {
  88. value: 2,
  89. label: '下载'
  90. },
  91. {
  92. value: 3,
  93. label: '打印'
  94. },
  95. {
  96. value: 4,
  97. label: '实体借阅'
  98. }
  99. ],
  100. utilizeStateOptions: [
  101. {
  102. value: -1,
  103. label: '请选择'
  104. },
  105. {
  106. value: 0,
  107. label: '无需借阅'
  108. },
  109. {
  110. value: 1,
  111. label: '同意借阅'
  112. },
  113. {
  114. value: 2,
  115. label: '不允许借阅'
  116. }
  117. ]
  118. }
  119. },
  120. methods: {
  121. handleChange(id, value) {
  122. this.$emit('select-change', { id, value })
  123. },
  124. // table - 双击查看详情
  125. tableDoubleClick(row) {
  126. // this.$refs.archivesDetail.archivesInfoVisible = true
  127. // this.$refs.archivesDetail.getDetial()
  128. // this.$refs.archivesDetail.detailTitle = '项目详情'
  129. this.categoryId = row.categoryPid
  130. this.arcId = row.archivesId
  131. this.$nextTick(() => {
  132. this.$refs.archivesInfo.archivesInfoVisible = true
  133. this.$refs.archivesInfo.archivesTabIndex = 0
  134. this.$refs.archivesInfo.isFourTest = true
  135. if (row.categoryLevel === 2) {
  136. this.$refs.archivesInfo.isHasFile = false
  137. this.$refs.archivesInfo.detailTitle = '案卷详情'
  138. this.$refs.archivesInfo.getDetial(2, row.archivesId)
  139. } else {
  140. this.$refs.archivesInfo.isHasFile = true
  141. this.$refs.archivesInfo.detailTitle = '文件详情'
  142. this.$refs.archivesInfo.getDetial(3, row.archivesId)
  143. }
  144. })
  145. },
  146. // 每页条数改变
  147. sizeChangeHandler(e) {
  148. this.loading = true
  149. this.page.size = e
  150. this.page.page = 1
  151. this.params.size = e
  152. this.params.page = 0
  153. // this.doQuery(this.params)
  154. this.loading = false
  155. },
  156. // 当前页改变
  157. pageChangeHandler(e) {
  158. this.loading = true
  159. this.page.page = e
  160. this.params.page = e - 1
  161. // this.doQuery(this.params)
  162. this.loading = false
  163. }
  164. }
  165. }
  166. </script>
  167. <style lang='scss' scoped>
  168. </style>