detail.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div class='app-container'>
  3. <el-form :model="form" ref="form" :rules="rules" label-width="100px" :disabled="disabled">
  4. <el-form-item label="用户Id:">
  5. <span>{{ form.uid }}</span>
  6. </el-form-item>
  7. <el-form-item label="手机号:">
  8. <span>{{ form.phone }}</span>
  9. </el-form-item>
  10. <el-form-item label="图片:">
  11. <el-image v-for="item in form.url" :key="item" :src="item" :preview-src-list="form.url">
  12. <span slot="error" />
  13. </el-image>
  14. </el-form-item>
  15. <el-form-item label="反馈类型:">
  16. <span>{{ form.type }}</span>
  17. </el-form-item>
  18. <el-form-item label="反馈内容:">
  19. <span>{{ form.content }}</span>
  20. </el-form-item>
  21. <el-form-item label="回复:" prop="reply" style="width: 500px;">
  22. <el-input v-model="form.reply" type="textarea" :autosize="{ minRows: 5, maxRows: 20 }" placeholder="请输入回复" />
  23. </el-form-item>
  24. </el-form>
  25. <div class="form-btn">
  26. <el-button @click="close">取消</el-button>
  27. <el-button v-if="!disabled" type="primary" @click="getSubmit">确定</el-button>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. import { detail, submit } from '@/api/operation/feedbacklist'
  33. export default {
  34. data() {
  35. return {
  36. // 表单
  37. form: {
  38. id: this.$route.query.id
  39. },
  40. // 校验
  41. rules: {
  42. reply: [{
  43. required: true, message: '请输入回复', trigger: 'blur'
  44. }]
  45. },
  46. // 只读
  47. disabled: this.$route.query.boolean ? Boolean(this.$route.query.boolean) : false
  48. }
  49. },
  50. mounted() {
  51. this.getDetail()
  52. },
  53. methods: {
  54. // 详情
  55. getDetail() {
  56. detail(this.form.id).then(res => {
  57. if (res.code === 0) {
  58. this.form = res.data
  59. this.form.url = res.data.url.split(',')
  60. }
  61. })
  62. },
  63. // 取消
  64. close() {
  65. this.$tab.closeOpenPage("/operation/feedback/feedbacklist");
  66. },
  67. // 提交
  68. getSubmit() {
  69. this.$refs.form.validate((valid) => {
  70. if (valid) {
  71. submit(this.form).then(res => {
  72. if (res.code === 0) {
  73. this.$message.success('提交成功!')
  74. this.close()
  75. }
  76. })
  77. } else {
  78. return false
  79. }
  80. })
  81. }
  82. }
  83. }
  84. </script>
  85. <style lang="scss" scoped>
  86. .el-image {
  87. width: 200px;
  88. margin-right: 10px;
  89. }
  90. </style>