|
@@ -23,14 +23,14 @@
|
|
|
<view class="btns">
|
|
|
<u-button type="warning" text="分享好友" class="share"></u-button>
|
|
|
<u-button type="error" text="立即联系" class="contact" @click="toContact" v-if="!isMine"></u-button>
|
|
|
- <u-button type="primary" text="立即购买" class="buy" @click="toBuy" v-if="!isMine"></u-button>
|
|
|
+ <u-button type="primary" text="立即购买" class="buy" @click="toBuy" v-if="!isMine && detail.amount" :disabled="detail.status === 4"></u-button>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<view class="info-container">
|
|
|
<view class="title">
|
|
|
- <view class="tit">{{detail.goodsTitle}}</view>
|
|
|
- <view class="price">{{detail.goodsAmount | priceFilter2}}</view>
|
|
|
+ <view class="tit">{{detail.title}}</view>
|
|
|
+ <view class="price">{{detail.amount | priceFilter2}}</view>
|
|
|
</view>
|
|
|
<view class="des">{{detail.content}}</view>
|
|
|
<view class="tags">
|
|
@@ -42,19 +42,19 @@
|
|
|
<text>{{detail.goodsCreateTime}}</text>
|
|
|
</view>
|
|
|
<view class="bottom">
|
|
|
- <view class="left-location">{{detail.address}}</view>
|
|
|
+ <view class="left-location"><text class="iconfont icon-dingwei"></text>{{detail.city}} {{detail.area}}</view>
|
|
|
<view class="right-stats">
|
|
|
<view class="it">
|
|
|
<text class="iconfont icon-liulan"></text>
|
|
|
- <text class="text">{{detail.visit || 0}}浏览</text>
|
|
|
+ <text class="text">{{detail.visit || 0}}</text>
|
|
|
</view>
|
|
|
<view class="it" :class="detail.isLike ? 'active':''" @tap="handelLickCollect(1)">
|
|
|
<text class="iconfont icon-dianzan"></text>
|
|
|
- <text class="text">点赞</text>
|
|
|
+ <text class="text">{{detail.up || 0}}</text>
|
|
|
</view>
|
|
|
<view class="it" :class="detail.isCollect ? 'active':''" @tap="handelLickCollect(2)">
|
|
|
<text class="iconfont icon-shoucang"></text>
|
|
|
- <text class="text">收藏</text>
|
|
|
+ <text class="text">{{detail.collectNum || 0}}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -67,7 +67,7 @@
|
|
|
<view class="remark-container">
|
|
|
<view class="title">
|
|
|
<view class="tit">全部留言</view>
|
|
|
- <view class="right" v-if="!isMine">内容违规,我要举报</view>
|
|
|
+ <view class="right" v-if="!isMine" @tap="isShowReportDialog = true;">内容违规,我要举报</view>
|
|
|
</view>
|
|
|
<view class="item" v-for="(item, index) in remarkList" :key="index">
|
|
|
<view class="top">
|
|
@@ -109,6 +109,25 @@
|
|
|
@close="isShowActionDialog = false"
|
|
|
@select="selectAction">
|
|
|
</u-action-sheet>
|
|
|
+
|
|
|
+ <zj-dialog-box
|
|
|
+ :title="'违规举报'"
|
|
|
+ :minHeight="'50vh'"
|
|
|
+ :isShow="isShowReportDialog"
|
|
|
+ @cancel="cancelReportDialog"
|
|
|
+ @confirm="confirmReportDialog">
|
|
|
+ <view class="report-container">
|
|
|
+ <view class="title"><text>*</text>举报原因</view>
|
|
|
+ <u--textarea
|
|
|
+ fixed
|
|
|
+ v-model="reportForm.reason"
|
|
|
+ placeholder="请输入"
|
|
|
+ height="100">
|
|
|
+ </u--textarea>
|
|
|
+ <view class="title">上传凭证</view>
|
|
|
+ <zj-upload key="cp" @getFiles="getFiles" :fileList="reportForm.fileList" :count="9" />
|
|
|
+ </view>
|
|
|
+ </zj-dialog-box>
|
|
|
</view>
|
|
|
<!-- #endif -->
|
|
|
<!-- #ifndef H5 -->
|
|
@@ -117,12 +136,16 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- // #ifdef H5
|
|
|
+ // #ifdef H5
|
|
|
+ import zjDialogBox from "@/components/zj-dialog/zj-dialog-box.vue";
|
|
|
import zjDialogRemark from '@/components/zj-dialog/zj-dialog-remark.vue';
|
|
|
+ import zjUpload from '@/components/zj-upload/index.vue'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
- zjDialogRemark
|
|
|
+ zjDialogBox,
|
|
|
+ zjDialogRemark,
|
|
|
+ zjUpload
|
|
|
},
|
|
|
|
|
|
data() {
|
|
@@ -143,6 +166,12 @@
|
|
|
],
|
|
|
isShowActionDialog: false,
|
|
|
replyId: '',
|
|
|
+
|
|
|
+ isShowReportDialog: false,
|
|
|
+ reportForm: {
|
|
|
+ reason: '',
|
|
|
+ fileList: [],
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -191,7 +220,7 @@
|
|
|
userId: this.$store.state.user.userId,
|
|
|
goodsId: this.id,
|
|
|
type,
|
|
|
- operate: !status
|
|
|
+ operate: status ? 'NO' : 'YES'
|
|
|
}).then(res => {
|
|
|
this.getDetail();
|
|
|
})
|
|
@@ -248,19 +277,44 @@
|
|
|
this.openRemark(item);
|
|
|
},
|
|
|
|
|
|
- selectAction() {
|
|
|
+ getFiles(value) {
|
|
|
+ this.reportForm.fileList = value[0]
|
|
|
+ },
|
|
|
+
|
|
|
+ cancelReportDialog() {
|
|
|
+ this.reportForm.reason = '';
|
|
|
+ this.reportForm.fileList = [];
|
|
|
+ this.isShowReportDialog = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ confirmReportDialog() {
|
|
|
+ this.$api.postJson('/reportGoods/report', {
|
|
|
+ goodsId: this.id,
|
|
|
+ reportNote: this.reportForm.reason,
|
|
|
+ url: this.reportForm.fileList,
|
|
|
+ }).then(res => {
|
|
|
+ this.cancelReportDialog();
|
|
|
+ this.isShowRemarkDialog = false;
|
|
|
+ })
|
|
|
+ },
|
|
|
|
|
|
+ selectAction() {
|
|
|
+ if(!this.reportForm.reason) return this.$toast('请输入举报原因');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
// #endif
|
|
|
// #ifndef H5
|
|
|
+ import zjDialogBox from "@/components/zj-dialog/zj-dialog-box.vue";
|
|
|
import zjDialogRemark from '@/components/zj-dialog/zj-dialog-remark.vue';
|
|
|
+ import zjUpload from '@/components/zj-upload/index.vue'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
- zjDialogRemark
|
|
|
+ zjDialogBox,
|
|
|
+ zjDialogRemark,
|
|
|
+ zjUpload
|
|
|
},
|
|
|
|
|
|
data() {
|
|
@@ -302,18 +356,18 @@
|
|
|
}
|
|
|
.btns {
|
|
|
display: flex;
|
|
|
- justify-content: space-between;
|
|
|
margin-top: 30rpx;
|
|
|
::v-deep .u-button {
|
|
|
- width: 188rpx;
|
|
|
+ width: calc((100% - 60rpx) / 3);
|
|
|
height: 68rpx;
|
|
|
line-height: 68rpx;
|
|
|
font-size: 28rpx;
|
|
|
color: #ffffff;
|
|
|
margin: 0;
|
|
|
- }
|
|
|
- .share {
|
|
|
-
|
|
|
+ margin-right: 30rpx;
|
|
|
+ &:last-child {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -365,22 +419,29 @@
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
.left-location {
|
|
|
- font-size: 24rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
color: $sec-font;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .iconfont {
|
|
|
+ margin-right: 4rpx;
|
|
|
+ }
|
|
|
}
|
|
|
.right-stats {
|
|
|
+ flex-shrink: 0;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
.it {
|
|
|
+ flex-shrink: 0;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- margin-left: 16rpx;
|
|
|
+ margin-left: 20rpx;
|
|
|
.iconfont {
|
|
|
- font-size: 28rpx;
|
|
|
+ font-size: 30rpx;
|
|
|
color: $sec-font;
|
|
|
}
|
|
|
.text {
|
|
|
- font-size: 24rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
margin-left: 4rpx;
|
|
|
color: $sec-font;
|
|
|
}
|
|
@@ -488,6 +549,17 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+.report-container {
|
|
|
+ padding: 0 30rpx 30rpx;
|
|
|
+ .title {
|
|
|
+ margin-top: 30rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ text {
|
|
|
+ color: $assist-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
.bottom-container {
|
|
|
padding: 20rpx 30rpx;
|
|
|
display: flex;
|