flowPath.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <div >
  3. <!-- 无效流程 -->
  4. <div style="display: flex;justify-content: end;margin-bottom: 10px;" >
  5. <!-- <el-button type="primary" size="small" @click="addOption">添加陈述意见</el-button> -->
  6. <el-dropdown @command="handleCommand">
  7. <el-button type="primary" size="small">
  8. 添加无效请求书<i class="el-icon-arrow-down el-icon--right"></i>
  9. </el-button>
  10. <el-dropdown-menu slot="dropdown" >
  11. <el-dropdown-item command="1">添加无效请求书</el-dropdown-item>
  12. <el-dropdown-item command="1">添加权要修改记录</el-dropdown-item>
  13. <el-dropdown-item command="1">补充证据及理由记录</el-dropdown-item>
  14. <el-dropdown-item command="2">添加陈述意见书</el-dropdown-item>
  15. <el-dropdown-item command="0">添加口审记录</el-dropdown-item>
  16. <el-dropdown-item command="3">添加无效决定书</el-dropdown-item>
  17. <el-dropdown-item command="4">添加行政诉讼书</el-dropdown-item>
  18. </el-dropdown-menu>
  19. </el-dropdown>
  20. </div>
  21. <div >
  22. <el-timeline>
  23. <el-timeline-item v-for="item in timelineList" :timestamp="item.occurredTime" :key="item.id" placement="top">
  24. <el-card>
  25. <div>
  26. <span>{{ timeType[item.affairType] }}:</span><span>{{ item.occurredTime.slice(0,10) }}</span>
  27. <div style="float: right;">
  28. <span style="margin-right: 10px;" @click="edit(item)"><el-link>编辑</el-link></span>
  29. <span @click="dele(item)"><el-link>删除</el-link></span>
  30. </div>
  31. </div>
  32. <div v-if="item.affairType==0">
  33. <p><span>地点:</span><span>{{ item.oralExam.address }}</span></p>
  34. <p><span>参与人:</span><span>{{ item.oralExam.participants }}</span></p>
  35. </div>
  36. <div v-if="item.affairType==1">
  37. <p><span>发文日:</span><span>{{ item.invalidRequestFileVO.invalidFileSendDate }}</span></p>
  38. </div>
  39. <div>
  40. 备注:{{ item.description }}
  41. </div>
  42. <div v-if="item.affairType!=0" style="margin-top: 10px;">
  43. <div v-if="item.systemFileList" class="upload-file">
  44. <div v-for="(file, index) in item.systemFileList" :key="index" style="margin:0;display:flex;justify-content:space-around;">
  45. <p style="margin:0;width:calc(100% - 40px);overflow: hidden;white-space: nowrap;text-overflow:ellipsis;cursor: pointer;">{{file.originalName}}</p>
  46. <myMenu :data="file" @delFile="delFile(file,item)" :isDelete="true" ></myMenu>
  47. </div>
  48. </div>
  49. </div>
  50. </el-card>
  51. </el-timeline-item>
  52. </el-timeline>
  53. </div>
  54. <responseDialog ref="responseDialog" :projectId="projectId" @save="getList"></responseDialog>
  55. </div>
  56. </template>
  57. <script>
  58. import responseDialog from '../dialog/editFlowPath.vue'
  59. export default {
  60. props:['projectId','signPatentNo'],
  61. components: {
  62. responseDialog,
  63. },
  64. data() {
  65. return {
  66. timelineList:[],
  67. isOpen: false,
  68. isOpenNum: null,
  69. form: {},
  70. queryParams: {},
  71. timeType: {
  72. '1': '提出无效时间',
  73. '2': '陈述答复时间',
  74. '0': '口审时间',
  75. '3': '无效决定时间',
  76. '4': '发起诉讼时间',
  77. },
  78. }
  79. },
  80. computed: {},
  81. watch: {},
  82. mounted() {
  83. this.getList()
  84. },
  85. methods: {
  86. getList() {
  87. this.queryParams.projectId = this.projectId
  88. // 1正序
  89. this.queryParams.orderBy = 1
  90. this.$api.queryReportAffair(this.queryParams).then((res) => {
  91. if (res.code==200) {
  92. this.timelineList = res.data.data
  93. }
  94. }).catch((error) => {
  95. })
  96. },
  97. // 删除文件
  98. delFile(file,item) {
  99. var index = item.systemFileList.findIndex(i=>{
  100. return item.guid == file.guid
  101. })
  102. if(index !=-1){
  103. item.systemFileList.splice(index,1)
  104. }
  105. var form = {
  106. description:item.description,
  107. systemFileList:item.systemFileList,
  108. ...item[field[item.affairType]]
  109. }
  110. },
  111. // 编辑
  112. edit(item) {
  113. var field= {
  114. 1:'invalidRequestFileVO'
  115. }
  116. var form = {
  117. id:item.id,
  118. projectId:item.projectId,
  119. affairType:item.affairType,
  120. description:item.description,
  121. systemFileList:item.systemFileList,
  122. ...item[field[item.affairType]]
  123. }
  124. this.$refs.responseDialog.open(item.affairType,form)
  125. },
  126. // 删除
  127. dele(item) {
  128. var ids = [item.id]
  129. this.$confirm('确认删除本条数据吗?', '提示', {
  130. confirmButtonText: '确定',
  131. cancelButtonText: '取消',
  132. type: 'warning'
  133. }).then(() => {
  134. this.$api.deleteReportAffair(ids).then((res) => {
  135. if (res.code==200) {
  136. this.$message.success('删除成功')
  137. this.getList()
  138. }
  139. })
  140. }).catch(err => {
  141. this.$message.error('删除失败')
  142. })
  143. },
  144. // 添加
  145. handleCommand(option) {
  146. var form = {
  147. systemFileList:[]
  148. }
  149. form.type = option
  150. this.$refs.responseDialog.open(option,form)
  151. },
  152. },
  153. }
  154. </script>
  155. <style lang="scss" scoped>
  156. .edit{
  157. float: right;
  158. margin-right: 10px;
  159. }
  160. </style>