com-comment-reply.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php defined('YII_ENV') or exit('Access Denied'); ?>
  2. <style>
  3. .com-comment-reply .form-body {
  4. padding: 20px 50% 20px 20px;
  5. background-color: #fff;
  6. margin-bottom: 20px;
  7. }
  8. .com-comment-reply .form-button {
  9. margin: 0;
  10. }
  11. .com-comment-reply .form-button .el-form-item__content {
  12. margin-left: 0!important;
  13. }
  14. .com-comment-reply .button-item {
  15. padding: 9px 25px;
  16. }
  17. </style>
  18. <template id="com-comment-reply">
  19. <el-card class="com-comment-reply" v-loading="listLoading" shadow="never" style="border:0" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  20. <div slot="header" class="clearfix">
  21. <span>评价回复</span>
  22. </div>
  23. <div class="form-body">
  24. <el-form :model="form" label-width="150px" :rules="FormRules" ref="form">
  25. <el-form-item label="用户">
  26. <div v-text="form.nickname"></div>
  27. </el-form-item>
  28. <el-form-item label="商品名称">
  29. <div v-text="form.goods_name"></div>
  30. </el-form-item>
  31. <el-form-item label="评分">
  32. <el-tag type="success" v-if="form.score==3">好评</el-tag>
  33. <el-tag type="warning" v-if="form.score==2">中评</el-tag>
  34. <el-tag type="danger" v-if="form.score==1">差评</el-tag>
  35. </el-form-item>
  36. <el-form-item label="详情">
  37. <com-image style="display:inline-block" v-for="item in form.pic_url" :key="item.id" mode="aspectFill" :src="item"></com-image>
  38. <div style="text-align:center" v-text="form.content"></div>
  39. </el-form-item>
  40. <el-form-item label="回复评价" prop="reply_content">
  41. <el-input type="textarea" v-model="form.reply_content" autocomplete="off"></el-input>
  42. </el-form-item>
  43. </el-form>
  44. </div>
  45. <el-button class="button-item" type="primary" :loading="btnLoading" @click="onSubmit">提交</el-button>
  46. </el-card>
  47. </template>
  48. <script>
  49. Vue.component('com-comment-reply', {
  50. template: '#com-comment-reply',
  51. props: {
  52. navigate_url: {
  53. type: String,
  54. default: 'mall/order-comments',
  55. },
  56. },
  57. data() {
  58. return {
  59. form: {},
  60. listLoading: false,
  61. btnLoading: false,
  62. FormRules: {
  63. reply_content: [
  64. { required: true, message: '回复评价不能为空', trigger: 'blur' },
  65. ],
  66. },
  67. };
  68. },
  69. methods: {
  70. onSubmit() {
  71. console.log(this.url);
  72. this.$refs.form.validate((valid) => {
  73. if (valid) {
  74. this.btnLoading = true;
  75. let para = Object.assign({}, this.form);
  76. request({
  77. params: {
  78. r: 'mall/order-comments/reply',
  79. },
  80. data: para,
  81. method: 'post'
  82. }).then(e => {
  83. if (e.data.code === 0) {
  84. navigateTo({ r: this.navigate_url });
  85. } else {
  86. this.$message.error(e.data.msg);
  87. }
  88. this.btnLoading = false;
  89. }).catch(e => {
  90. this.btnLoading = false;
  91. });
  92. }
  93. });
  94. },
  95. getList() {
  96. this.listLoading = true;
  97. request({
  98. params: {
  99. r: 'mall/order-comments/reply',
  100. id: getQuery('id'),
  101. },
  102. }).then(e => {
  103. if (e.data.code == 0) {
  104. if (e.data.data) {
  105. this.form = e.data.data.list;
  106. }
  107. }
  108. this.listLoading = false;
  109. }).catch(e => {
  110. this.listLoading = false;
  111. });
  112. },
  113. },
  114. mounted() {
  115. this.getList();
  116. }
  117. })
  118. </script>