imageDetail.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <template>
  2. <div class="app-container">
  3. <div class="detail">
  4. <el-form ref="formRef" label-width="120px" :model="formData" :rules="formRules">
  5. <el-form-item label="标题:">
  6. {{ imageTitle }}
  7. </el-form-item>
  8. <el-form-item label="图片:">
  9. <template v-for="(item,index) in imageList">
  10. <el-image :key="index" style="width: 150px; height: 150px" :src="item" :preview-src-list="imageList" />
  11. </template>
  12. </el-form-item>
  13. <el-form-item label="审核状态:">
  14. <el-radio-group v-model="formData.auditStatus">
  15. <el-radio :label="1">通过</el-radio>
  16. <el-radio :label="0">不通过</el-radio>
  17. </el-radio-group>
  18. </el-form-item>
  19. <el-form-item v-if="formData.auditStatus!==1" prop="invalidReason" label="原因:">
  20. <el-input v-model="formData.invalidReason" type="textarea" placeholder="请说明原因" />
  21. </el-form-item>
  22. <el-form-item>
  23. <el-button type="info" @click="$_back">返回</el-button>
  24. <el-button type="primary" @click="submit">提交</el-button>
  25. </el-form-item>
  26. </el-form>
  27. </div>
  28. </div>
  29. </template>
  30. <script>
  31. import { getImageDetail } from '@/api/doc'
  32. import { auditImage } from '@/api/docReview'
  33. import { mapGetters } from 'vuex'
  34. export default {
  35. data() {
  36. return {
  37. imageList: [], // 上传的图片列表
  38. imageTitle: '', // 图片标题
  39. formData: {
  40. imageId: '', // 文章id
  41. auditStatus: 1, // 审核状态
  42. invalidReason: '', // 不同过原因
  43. auditBy: '' // 审核人
  44. },
  45. formRules: {
  46. invalidReason: { required: true, message: '不通过原因不能为空', tigger: 'blur' }
  47. }
  48. }
  49. },
  50. computed: {
  51. ...mapGetters(['authUserId'])
  52. },
  53. created() {
  54. this.formData.imageId = this.$route.query.imageId
  55. this.getDetail()
  56. },
  57. methods: {
  58. // 审核
  59. submit() {
  60. this.$refs.formRef.validate(valide => {
  61. if (!valide) return
  62. this.formData.auditBy = this.authUserId
  63. auditImage(this.formData)
  64. .then(res => {
  65. console.log(res)
  66. if (res.code !== 0) return
  67. this.$message({
  68. message: res.data,
  69. type: 'success',
  70. duration: 1000
  71. })
  72. // 如果保存文章成功就要关闭当前页面
  73. this.$store.dispatch('tagsView/delView', this.$route)
  74. this.$router.back()
  75. })
  76. })
  77. },
  78. // 获取图片数据详情
  79. getDetail() {
  80. getImageDetail({ imageId: this.formData.imageId })
  81. .then(res => {
  82. console.log(res)
  83. if (res.code !== 0) return
  84. this.imageList = res.data.imageList
  85. this.imageTitle = res.data.imageTitle
  86. })
  87. }
  88. }
  89. }
  90. </script>
  91. <style lang="scss" scoped>
  92. .detail{
  93. width: 800px;
  94. margin: 25px auto;
  95. .el-image{
  96. margin-right: 12px;
  97. &:nth-child(4n){
  98. margin-right: 0;
  99. }
  100. }
  101. .el-button{
  102. width: 120px;
  103. }
  104. }
  105. </style>