table.vue 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <template>
  2. <div>
  3. <div>
  4. <el-table :data="tableData" style="width: 100%" header-row-class-name="custom-table-header">
  5. <el-table-column label="#" width="60" type="index" align="center">
  6. <template slot-scope="scope">
  7. <span>{{ (scope.$index + 1) + ((queryParams.current - 1) * queryParams.size) }}</span>
  8. </template>
  9. </el-table-column>
  10. <el-table-column v-for="item in column" :key="item.key" :prop="item.key" :label="item.name" align="center">
  11. <template slot-scope="scope">
  12. <div v-if="['name', 'eventNumber', 'projectNumber'].includes(item.key)">
  13. <el-link @click="handleItem(scope.row,item.key)">{{ scope.row[item.key] }}</el-link>
  14. </div>
  15. <div v-else v-html="getColumnData(scope.row,item.key)"></div>
  16. </template>
  17. </el-table-column>
  18. <el-table-column v-if="['首页'].indexOf(isOperate) == -1" label="操作" align="center" width="150px">
  19. <template slot-scope="scope">
  20. <el-dropdown @command="handleCommand($event, scope.row)" split-button type="primary" size="small" @click="handleCommand('e',scope.row)">
  21. <span v-if="$reportPermission(scope.row.id,[0,1])">编辑</span>
  22. <span v-else>查看</span>
  23. <el-dropdown-menu slot="dropdown" class="text-align_center">
  24. <el-dropdown-item command="0" v-if="$reportPermission(scope.row.id,[0,1])">分享</el-dropdown-item>
  25. <el-dropdown-item command="1" v-if="[2,3].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])">导出报告</el-dropdown-item>
  26. <el-dropdown-item command="2" v-if="[2,3].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])">报告文档</el-dropdown-item>
  27. <el-dropdown-item command="3" v-if="[1,2].includes(scope.row.status)&&[0,1,2,3].includes(scope.row.type) && $reportPermission(scope.row.id,[0,1])">自定义字段</el-dropdown-item>
  28. <el-dropdown-item command="4" v-if="[2].includes(scope.row.status)&& [0,1,2,3].includes(scope.row.type) && $reportPermission(scope.row.id,[0,1])">任务分配</el-dropdown-item>
  29. <el-dropdown-item command="5" v-if="([1].includes(scope.row.status) || (scope.row.type == 4 && [1,2].includes(scope.row.status))) && $reportPermission(scope.row.id,[0,1])">{{!([3,4].includes(scope.row.type))?'拆分特征':'产品信息录入'}}</el-dropdown-item>
  30. <el-dropdown-item command="8" v-if="(scope.row.type == 4 && [1,2].includes(scope.row.status)) && $reportPermission(scope.row.id,[0,1])">专利与产品关联比对</el-dropdown-item>
  31. <el-dropdown-item command="9" v-if="(scope.row.type == 5 && [1,2].includes(scope.row.status)) && $reportPermission(scope.row.id,[0,1])"> 规避方案填写</el-dropdown-item>
  32. <el-dropdown-item command="10" v-if="[0,1,2,3].includes(scope.row.type)&&[2].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])"> 添加对比文件</el-dropdown-item>
  33. <el-dropdown-item command="11" v-if="[1,2].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])"> 完成报告</el-dropdown-item>
  34. <el-dropdown-item command="12" v-if="[3].includes(scope.row.status) && $reportPermission(scope.row.id,[0,1])">添加追踪报告</el-dropdown-item>
  35. <el-dropdown-item command="13" v-if="(scope.row.type == 7 && [1,2,3].includes(scope.row.status)) && $reportPermission(scope.row.id,[0,1])">添加无效理由和证据</el-dropdown-item>
  36. <el-dropdown-item command="14" v-if="(scope.row.type == 7 && [1,2,3].includes(scope.row.status)) && $reportPermission(scope.row.id,[0,1])">证据文献</el-dropdown-item>
  37. <!-- <el-dropdown-item command="6" v-if="[2,3].includes(scope.row.status)&& scope.row.type != 4">导入 </el-dropdown-item> -->
  38. <el-dropdown-item command="7" divided style="color: red;" v-if=" $reportPermission(scope.row.id,[0,1])">删除 </el-dropdown-item>
  39. </el-dropdown-menu>
  40. </el-dropdown>
  41. </template>
  42. </el-table-column>
  43. </el-table>
  44. </div>
  45. </div>
  46. </template>
  47. <script>
  48. import mixins from '../mixins';
  49. export default {
  50. mixins:[mixins],
  51. props: {
  52. isOperate: {//控制显示
  53. type: String,
  54. default:''
  55. },
  56. column: {//显示栏位管理数组
  57. type: Array,
  58. default: () => {
  59. return [
  60. {
  61. "key": "name",
  62. "name": "名称",
  63. "type": "list",
  64. "order": 0,
  65. "hidden": true
  66. },
  67. {
  68. "key": "eventNumber",
  69. "name": "标的专利/产品",
  70. "type": "list",
  71. "order": 0,
  72. "hidden": true
  73. },
  74. {
  75. "key": "projectNumber",
  76. "name": "相关专题库",
  77. "type": "list",
  78. "order": 0,
  79. "hidden": true
  80. },
  81. {
  82. "key": "projectNumber1",
  83. "name": "事件",
  84. "type": "list",
  85. "order": 0,
  86. "hidden": true
  87. },
  88. {
  89. "key": "projectNumber2",
  90. "name": "负责人",
  91. "type": "list",
  92. "order": 0,
  93. "hidden": true
  94. },
  95. {
  96. "key": "projectNumber3",
  97. "name": "状态",
  98. "type": "list",
  99. "order": 0,
  100. "hidden": true
  101. },
  102. {
  103. "key": "projectNumber4",
  104. "name": "创建人",
  105. "type": "list",
  106. "order": 0,
  107. "hidden": true
  108. },
  109. {
  110. "key": "time",
  111. "name": "创建时间",
  112. "type": "list",
  113. "order": 0,
  114. "hidden": true
  115. },
  116. ]
  117. }
  118. }
  119. },
  120. data() {
  121. return {
  122. };
  123. },
  124. watch: {
  125. },
  126. mounted() {
  127. },
  128. methods: {
  129. // 获取栏位数据
  130. getColumnData(row,key) {
  131. if (key == 'projectNumber1') {
  132. if (row[key]) {
  133. var a=''
  134. row[key].forEach(item => {
  135. a+=item.name + '</br>'
  136. });
  137. return a
  138. } else {
  139. return ''
  140. }
  141. }
  142. },
  143. },
  144. };
  145. </script>
  146. <style lang="scss">
  147. </style>
  148. <style lang="scss" scoped></style>