123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <template>
- <el-row v-loading="dataListLoading">
- <el-col :span="10" :offset="7">
- <el-form :model="dataForm" :rules="rules" @keyup.enter.native="getDataList()" ref="dataForm">
- <el-form-item prop="productId">
- <el-input v-model="dataForm.productId" placeholder="请输入商品ID" clearable></el-input>
- <el-button type="primary" @click="getDataList()">查询</el-button>
- </el-form-item>
- </el-form>
- </el-col>
- <template v-if="dataList.length">
- <el-col>
- <ul class="TT-feedback-main">
- <li v-for="(item, index) in dataList" :key="index">
- <!--评价信息-->
- <div class="left">
- <p>{{ item.feedback }}</p>
- <div class="img-wrap">
- <el-image :src="img"
- :preview-src-list="item.feedPicList"
- v-for="(img, idx) in item.feedPicList"
- :key="idx">
- </el-image>
- </div>
- <div class="video-wrap mt-20">
- <video :src="item.video.cloudVideoUrl" controls :poster="item.video.coverUrl"></video>
- </div>
- <p class="mt-20"><span>评论时间:</span>{{ item.feedbackDate }}</p>
- <p class="mt-20"><span>评价浏览量:</span>{{ item.readCount }}</p>
- </div>
- <!--商品信息-->
- <div class="middle">
- <p v-for="(sku, idx) in Object.keys(item.skuMap)" :key="idx">{{ sku + ':' + item.skuMap[sku]}}</p>
- </div>
- <!--评价人信息-->
- <div class="right">
- <p>{{ item.userNick }}</p>
- </div>
- </li>
- </ul>
- </el-col>
- <el-col>
- <el-pagination
- @size-change="sizeChangeHandle"
- @current-change="currentChangeHandle"
- :current-page="pageIndex"
- :page-sizes="[10, 20, 50]"
- :page-size="pageSize"
- :total="totalPage"
- layout="total, sizes, prev, pager, next, jumper">
- </el-pagination>
- </el-col>
- </template>
- </el-row>
- </template>
- <script>
- export default {
- name: 'tools-feedback',
- data () {
- return {
- dataForm: {
- productId: '' // 602950702411
- },
- rules: {
- productId: [
- { required: true, message: '请输入商品ID', trigger: 'blur' }
- ]
- },
- dataList: [], // 评价列表
- pageIndex: 1,
- pageSize: 10,
- totalPage: 0,
- dataListLoading: false
- }
- },
- methods: {
- // 获取数据列表
- getDataList () {
- this.$refs['dataForm'].validate((valid) => {
- if (!valid) {
- return
- }
- this.dataListLoading = true
- this.$http({
- url: this.$http.adornUrl('/tb/getProductAskInfo'),
- method: 'POST',
- data: this.$http.adornData({
- 'page': this.pageIndex,
- 'size': this.pageSize,
- 'productId': this.dataForm.productId
- })
- }).then(({ data }) => {
- if (data.status) {
- const { list, total } = data.data
- this.dataList = list
- this.totalPage = total * 1
- } else {
- this.$message.error(data.msg)
- }
- this.dataListLoading = false
- })
- })
- },
- // 每页数
- sizeChangeHandle (val) {
- this.pageSize = val
- this.pageIndex = 1
- this.getDataList()
- },
- // 当前页
- currentChangeHandle (val) {
- this.pageIndex = val
- this.getDataList()
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- $--color-primary: #3E8EF7;
- .mt-20 {
- margin-top: 20px;
- }
- .mt-40 {
- margin-top: 40px;
- }
- /deep/ .el-form-item {
- .el-form-item__content {
- display: flex;
- align-items: center;
- input {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border: 1px solid $--color-primary;
- }
- button {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- }
- }
- .TT-feedback-main {
- li {
- display: flex;
- padding: 20px;
- border-bottom: 1px solid #eee;
- &:nth-of-type(1) {
- border-top: 1px solid #eee;
- }
- }
- .left {
- width: 53%;
- p {
- word-break: break-all;
- }
- .img-wrap {
- display: flex;
- flex-flow: row wrap;
- margin-top: 10px;
- /deep/ .el-image {
- margin-top: 10px;
- margin-right: 10px;
- img {
- width: 100px;
- height: 100px;
- }
- }
- }
- .video-wrap {
- width: 50%;
- height: 200px;
- video {
- display: block;
- width: 100%;
- height: 100%;
- }
- }
- }
- .middle {
- width: 29%;
- margin-left: 2%;
- }
- .right {
- width: 15%;
- margin-left: 1%;
- }
- }
- </style>
|