excavateTask.vue 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <template>
  2. <!-- 挖掘任务 -->
  3. <div class="excavateTask">
  4. <el-container>
  5. <el-header style="display: flex;justify-content: space-between;align-items: center;">
  6. <div>
  7. <mySearch :SearchFields="searchFiled" @search="search" :searchValue="searchOption"></mySearch>
  8. </div>
  9. <div style="display:flex;margin-right:10px">
  10. <el-button type="primary" size="small" @click="createTask">创建任务</el-button>
  11. </div>
  12. </el-header>
  13. <el-main>
  14. <el-table :data="tableData" style="width: 100%;" border header-row-class-name="custom-table-header">
  15. <el-table-column label="#" align="center" width="80px">
  16. <template slot-scope="scope">
  17. <div>
  18. {{ (queryParams.current - 1) * queryParams.size + scope.$index + 1 }}
  19. </div>
  20. </template>
  21. </el-table-column>
  22. <el-table-column prop="name" label="任务名称" align="center"></el-table-column>
  23. <el-table-column prop="taskType" label="任务类型" align="center">
  24. <template slot-scope="scope">
  25. <div>
  26. {{ taskType[scope.row.taskType] }}
  27. </div>
  28. </template>
  29. </el-table-column>
  30. <el-table-column prop="createPerson" label="发起人" align="center"></el-table-column>
  31. <el-table-column prop="handlePerson" label="处理人" align="center"></el-table-column>
  32. <el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
  33. <el-table-column prop="endTime" label="截止时间" align="center"></el-table-column>
  34. <el-table-column prop="status" label="状态" align="center"></el-table-column>
  35. <el-table-column label="操作" align="center" width="180px">
  36. <template slot-scope="scope">
  37. <div>
  38. <el-dropdown split-button type="primary" size="small" @command="handleCommand($event, scope.row)"
  39. @click="handleTask(scope.row)">
  40. <p v-if="scope.row.status == '已完成' || scope.row.handlePerson != userInfo.name">查 看</p>
  41. <p v-else>处 理</p>
  42. <el-dropdown-menu slot="dropdown">
  43. <el-dropdown-item command="1">查看审核记录</el-dropdown-item>
  44. <el-dropdown-item command="2" style="color: red;text-align: center;">删除</el-dropdown-item>
  45. </el-dropdown-menu>
  46. </el-dropdown>
  47. </div>
  48. </template>
  49. </el-table-column>
  50. </el-table>
  51. </el-main>
  52. <el-footer>
  53. <div>
  54. <el-pagination background layout="total, prev, pager, next, jumper" :current-page.sync="queryParams.current"
  55. :page-size.sync="queryParams.size" @current-change="handleCurrentChange" :total="queryParams.total">
  56. </el-pagination>
  57. </div>
  58. </el-footer>
  59. </el-container>
  60. <createTask ref="createTaskDialog"></createTask>
  61. <handleTask1 ref="handleTask1Dialog"></handleTask1>
  62. <!-- <handleTask2 ref="handleTask2Dialog"></handleTask2> -->
  63. <handleTask2 ref="handleTask2Dialog"></handleTask2>
  64. <auditRecords ref="auditRecords"></auditRecords>
  65. </div>
  66. </template>
  67. <script>
  68. import createTask from '../dialog/createTask.vue'
  69. import handleTask1 from '../dialog/handleTask1.vue'
  70. import handleTask2 from '../dialog/handleTask2.vue'
  71. import auditRecords from '../dialog/auditRecords.vue'
  72. export default {
  73. components: {
  74. createTask,
  75. handleTask1,
  76. handleTask2,
  77. auditRecords,
  78. },
  79. data() {
  80. return {
  81. tableData: [
  82. {
  83. name: '加热器专利挖掘1',
  84. taskType: '1',
  85. createPerson: '朱豪',
  86. handlePerson: '张三',
  87. createTime: '2023-9-28 13:52',
  88. endTime: '2023-9-28 18:02',
  89. status: '未完成'
  90. },
  91. {
  92. name: '加热器专利挖掘2',
  93. taskType: '1',
  94. createPerson: '朱豪',
  95. handlePerson: '朱豪',
  96. createTime: '2023-9-28 13:52',
  97. endTime: '2023-9-28 18:02',
  98. status: '未完成'
  99. },
  100. {
  101. name: '加热器专利挖掘3',
  102. taskType: '2',
  103. createPerson: '张三',
  104. handlePerson: '朱豪',
  105. createTime: '2023-9-28 13:52',
  106. endTime: '2023-9-28 18:02',
  107. status: '未完成'
  108. },
  109. {
  110. name: '加热器专利挖掘4',
  111. taskType: '3',
  112. createPerson: '朱豪',
  113. handlePerson: '朱豪',
  114. createTime: '2023-9-28 13:52',
  115. endTime: '2023-9-28 18:02',
  116. status: '未完成',
  117. taskPath: '创新点梳理',
  118. endTime: '2023-10-10',
  119. },
  120. {
  121. name: '加热器专利挖掘5',
  122. taskType: '1',
  123. createPerson: '张三',
  124. handlePerson: '朱豪',
  125. createTime: '2023-9-28 13:52',
  126. endTime: '2023-9-28 18:02',
  127. status: '已完成'
  128. },
  129. {
  130. name: '加热器专利挖掘6',
  131. taskType: '1',
  132. createPerson: '朱豪',
  133. handlePerson: '张三',
  134. createTime: '2023-9-28 13:52',
  135. endTime: '2023-9-28 18:02',
  136. status: '已完成'
  137. },
  138. ],
  139. taskType: {
  140. 1: '项目审核任务',
  141. 2: '文件分配任务',
  142. 3: '文件审核任务',
  143. },
  144. queryParams: {
  145. current: 1,
  146. size: 10,
  147. total: 0,
  148. },
  149. searchFiled: [
  150. {
  151. label: '任务名称',
  152. value: 'taskName',
  153. type: 1,
  154. placeholder: '请输入任务名称'
  155. },
  156. {
  157. label: '创建人',
  158. value: 'createPerson',
  159. type: 1,
  160. placeholder: '请输入创建人名称'
  161. },
  162. ],
  163. searchOption: {}
  164. }
  165. },
  166. computed: {
  167. userInfo() {
  168. return this.$store.state.user.userinfo
  169. },
  170. },
  171. mounted() {
  172. // this.getList()
  173. },
  174. methods: {
  175. //处理任务
  176. handleTask(row) {
  177. if (row.status == '已完成' || row.handlePerson != this.userInfo.name) {
  178. if (row.taskType == '1') {
  179. this.$refs.handleTask1Dialog.open(row,false)
  180. } else if (row.taskType == '2') {
  181. this.$refs.handleTask2Dialog.open(row,false)
  182. }
  183. } else {
  184. if (row.taskType == '1') {
  185. this.$refs.handleTask1Dialog.open(row,true)
  186. } else if (row.taskType == '2') {
  187. this.$refs.handleTask2Dialog.open(row,true)
  188. } else {
  189. let router = this.$router.resolve({
  190. path: '/handleExamine',
  191. query: {
  192. row: JSON.stringify(row)
  193. }
  194. })
  195. window.open(router.href, '_blank')
  196. }
  197. }
  198. },
  199. handleCommand(ev, row) {
  200. switch (ev) {
  201. case '1'://查看审核记录
  202. this.$refs.auditRecords.open()
  203. break;
  204. case '2'://删除任务
  205. break;
  206. default:
  207. break;
  208. }
  209. },
  210. // 左侧搜索
  211. search() {
  212. },
  213. // 创建任务事件
  214. createTask() {
  215. this.$refs.createTaskDialog.open({})
  216. },
  217. // 初始化请求数据
  218. getList() { },
  219. // 分页
  220. handleCurrentChange(val) {
  221. // this.queryParams.current = val
  222. // this.getList()
  223. },
  224. },
  225. }
  226. </script>
  227. <style lang="scss" scoped>
  228. .excavateTask {}
  229. </style>