فهرست منبع

Merge branch 'master' of http://git.izouma.com/xiongzhu/9th

panhui 4 سال پیش
والد
کامیت
5352a10035

+ 1 - 1
src/main/java/com/izouma/nineth/domain/Asset.java

@@ -39,7 +39,7 @@ public class Asset extends BaseEntity {
     private Long orderId;
 
     @ApiModelProperty("编号")
-    private int number;
+    private Integer number;
 
     @ApiModelProperty("名称")
     @Searchable

+ 2 - 0
src/main/java/com/izouma/nineth/repo/OrderRepo.java

@@ -23,4 +23,6 @@ public interface OrderRepo extends JpaRepository<Order, Long>, JpaSpecificationE
     List<Order> findByStatusAndCreatedAtBeforeAndDelFalse(OrderStatus status, LocalDateTime time);
 
     List<Order> findByCollectionId(Long collectionId);
+
+    int countByCollectionIdAndStatusIn(Long collectionId, Iterable<OrderStatus> orderStatuses);
 }

+ 1 - 1
src/main/nine-space/src/views/asset/Consignment.vue

@@ -20,7 +20,7 @@
             <van-notice-bar
                 color="#FDFB60"
                 background="#ff6c0016"
-                text="出售成功的加密作品将会携带加密作品的所有信息转让于购买方,包括但不限于:加 密空间、权益的使用、加密作品的区块信息等"
+                text="出售成功的加密作品将会携带加密作品的所有信息转让于购买方,包括但不限于:加密空间、权益的使用、加密作品的区块信息等"
             />
             <div class="bottom-content">
                 <div class="btn1" @click="$router.go(-1)">取消</div>

+ 73 - 26
src/main/nine-space/src/views/asset/Detail.vue

@@ -113,8 +113,15 @@
                     <div v-for="(item, index) in init" :key="index">
                         <div class="prive1" :class="{ prim: item.opened }">
                             <img v-if="!item.opened" class="img" :src="item.icon[0]" alt="" />
-                            <img v-if="item.opened" class="img" :src="item.icon[2]" alt="" />
-                            <div @click="privilegeFn(item)" class="prive2">
+                            <div v-if="item.icon[2]">
+                                <img v-if="item.opened" class="img" :src="item.icon[2]" alt="" />
+                            </div>
+                            <!-- <img class="img" v-else :src="item.icon[0]" alt="" /> -->
+
+                            <div v-if="item.once" @click="privilegeFn2(item)" class="prive2">
+                                {{ item.name }}
+                            </div>
+                            <div v-else @click="privilegeFn(item)" class="prive2">
                                 {{ item.name }}
                             </div>
                         </div>
@@ -186,7 +193,8 @@
         <van-popup v-model:show="show">
             <div class="title2">
                 <div class="top">
-                    <img class="img" :src="list2.icon[1]" alt="" />
+                    <img class="img" v-if="list2.icon[1]" :src="list2.icon[1]" alt="" />
+                    <img class="img" v-else :src="list2.icon[0]" alt="" />
                     <div class="title3">{{ list2.name }}</div>
                 </div>
                 <img
@@ -198,7 +206,7 @@
             </div>
             <div class="border"></div>
             <div class="name">{{ list2.description }}</div>
-            <div class="name1" v-if="list2.type != 'code'">
+            <div class="name1" v-if="list2.type != 'code' && list2.name != '版权权利'">
                 <img class="qrcodeImg" v-if="list2.type == 'qrcode'" :src="list2.detail" alt="" />
                 <div class="qrcode1" v-if="list2.type == 'qrcode'">扫描二维码进行票务核销</div>
                 说明:<span>{{ list2.remark || '暂无' }}</span>
@@ -308,7 +316,13 @@ export default {
             list: [],
             show: false,
             init: [],
-            init2: null
+            init2: null,
+            typeOptions: [
+                { label: '文本', value: 'text' },
+                { label: '二维码', value: 'qrcode' },
+                { label: '验证码', value: 'code' },
+                { label: '铸造', value: 'exchange' }
+            ]
         };
     },
     computed: {
@@ -355,9 +369,19 @@ export default {
         },
         privilegeFn(init) {
             this.list2 = init;
-            // this.show = true;
-            // && !init.opened
-            if (!init.once) {
+            this.show = true;
+            this.$http
+                .post('/asset/usePrivilege', {
+                    assetId: this.info.id,
+                    privilegeId: init.id
+                })
+                .then(res => {
+                    console.log(res);
+                });
+        },
+        privilegeFn2(init) {
+            if (init.once && init.opened == false) {
+                this.list2 = init;
                 this.show = true;
                 this.$http
                     .post('/asset/usePrivilege', {
@@ -408,33 +432,56 @@ export default {
                 });
         },
         Consignment() {
-            if (!this.info.consignment) {
+            if (this.userInfo.authStatus === 'SUCCESS') {
+                if (!this.info.consignment) {
+                    Dialog.confirm({
+                        title: '寄售上架',
+                        message: '确定寄售上架吗?'
+                    }).then(() => {
+                        this.$router.push('/Consignment?id=' + this.info.id);
+                    });
+                } else {
+                    Dialog.confirm({
+                        title: '取消寄售',
+                        message: '确定取消寄售吗?'
+                    })
+                        .then(() => {
+                            return this.$http.post(`/asset/cancelConsignment?id=${this.info.id}`);
+                        })
+                        .then(res => {
+                            this.$toast.success('取消寄售');
+                            setTimeout(() => {
+                                this.getProduct();
+                            }, 1000);
+                        });
+                }
+            } else if (this.userInfo.authStatus === 'PENDING' || this.userInfo.authStatus === 'FAIL') {
                 Dialog.confirm({
-                    title: '寄售上架',
-                    message: '确定寄售上架吗?'
+                    title: '认证信息',
+                    message: '用户认证中,是否查看认证'
                 }).then(() => {
-                    this.$router.push('/Consignment?id=' + this.info.id);
+                    this.$router.push('/waiting');
                 });
-            } else {
+            } else if (this.userInfo.authStatus === 'NOT_AUTH') {
                 Dialog.confirm({
-                    title: '取消寄售',
-                    message: '确定取消寄售吗?'
-                })
-                    .then(() => {
-                        return this.$http.post(`/asset/cancelConsignment?id=${this.info.id}`);
-                    })
-                    .then(res => {
-                        this.$toast.success('取消寄售');
-                        setTimeout(() => {
-                            this.getProduct();
-                        }, 1000);
-                    });
+                    title: '认证信息',
+                    message: '用户未认证,是否立即认证'
+                }).then(() => {
+                    this.$router.push('/Authentication');
+                });
             }
         },
         Add() {
             if (this.userInfo.authStatus === 'SUCCESS') {
                 this.$router.push('/giveSearch?id=' + this.info.id);
-            } else {
+            } else if (this.userInfo.authStatus === 'PENDING' || this.userInfo.authStatus === 'FAIL') {
+                Dialog.confirm({
+                    title: '认证信息',
+                    message: '用户认证中,是否查看认证'
+                }).then(() => {
+                    this.$router.push('/waiting');
+                });
+            } else if (this.userInfo.authStatus === 'NOT_AUTH') {
                 Dialog.confirm({
                     title: '认证信息',
                     message: '用户未认证,是否立即认证'

BIN
src/main/pc-space/src/assets/icon_youhuiquan_01@3x (2).png


BIN
src/main/pc-space/src/assets/user/icon-shibai@3x.png


BIN
src/main/pc-space/src/assets/矩形@3x.png


+ 5 - 3
src/main/pc-space/src/components/AssetInfo.vue

@@ -33,11 +33,13 @@
             <div class="text">
                 <div class="text1 name1">
                     <img class="text2" :src="info.minterAvatar" alt="" />
-                    <div class="text3">{{ info.minter }}</div>
+                    <!-- <div class="text3">{{ info.minter }}</div> -->
+                    <div class="text3">铸造者</div>
                 </div>
                 <div class="text1" v-if="info.ownerId">
                     <img class="text2" :src="info.ownerAvatar" alt="" />
-                    <div class="text3">{{ info.owner }}</div>
+                    <div class="text3">持有者</div>
+                    <!-- <div class="text3">{{ info.owner }}</div> -->
                 </div>
             </div>
             <div class="text">
@@ -200,7 +202,7 @@ export default {
                 .text3 {
                     font-size: 14px;
                     font-weight: 400;
-                    width: 90px;
+                    width: 43px;
                     .ellipsis();
                     color: #939599;
                     line-height: 24px;

+ 5 - 3
src/main/pc-space/src/components/CollectionInfo.vue

@@ -16,11 +16,13 @@
             <div class="text">
                 <div class="text1 name1">
                     <img class="text2" :src="info.minterAvatar" alt="" />
-                    <div class="text3">{{ info.minter }}</div>
+                    <div class="text3">铸造者</div>
+                    <!-- <div class="text3">{{ info.minter }}</div> -->
                 </div>
                 <div class="text1" v-if="info.ownerId">
                     <img class="text2" :src="info.ownerAvatar" alt="" />
-                    <div class="text3">{{ info.owner }}</div>
+                    <!-- <div class="text3">{{ info.owner }}</div> -->
+                    <div class="text3">持有者</div>
                 </div>
             </div>
             <div class="text">
@@ -195,7 +197,7 @@ export default {
     .fans {
         display: flex;
         align-items: center;
-        // justify-content: space-between;
+        justify-content: space-between;
         padding: 19px 16px 20px;
         .text {
             display: flex;

+ 8 - 5
src/main/pc-space/src/components/ConsignmentInfo.vue

@@ -8,11 +8,12 @@
         @close="closeDialog"
     >
         <div class="content">
+            <div class="border1 border2"></div>
             <div class="title">寄售说明</div>
             <div class="name" v-for="(item, index) in list" :key="index">
                 <span>{{ item.title }}</span>
             </div>
-            <div class="border"></div>
+            <div class="border1"></div>
             <div class="title">寄售价格</div>
             <div class="price">
                 <el-form :model="form" :rules="rules" ref="numberValidateForm" label-width="85px" class="demo-ruleForm">
@@ -182,17 +183,17 @@ input::-webkit-inner-spin-button {
     border-radius: 4px;
     font-size: 13px;
     margin-right: 20px;
+    border: 0;
 }
 .content {
+    margin-top: 0;
     .title {
         font-size: 16px;
         font-weight: 400;
         color: #000000;
         line-height: 24px;
-        padding-left: 20px;
     }
     .name {
-        padding-left: 20px;
         span {
             font-size: 14px;
             font-weight: 400;
@@ -206,14 +207,16 @@ input::-webkit-inner-spin-button {
         font-weight: 400;
         color: #939599;
         line-height: 24px;
-        margin-right: 20px;
         cursor: pointer;
     }
     .border1 {
         height: 1px;
         background: #f5f7fa;
         border-radius: 1px;
-        margin: 30px 20px;
+        margin: 30px 0px;
+        &.border2 {
+            margin-top: 0;
+        }
     }
     .sub-btn {
         padding-top: 62px;

+ 125 - 38
src/main/pc-space/src/components/CouponInfo.vue

@@ -1,5 +1,9 @@
 <template>
     <div class="page" v-if="list">
+        <div v-if="!empty" class="used">
+            可用兑换券
+            <span>({{ list.length }})</span>
+        </div>
         <div v-for="(item, index) in list" :key="index">
             <div class="coupon" @click="choose">
                 <div class="box">
@@ -10,13 +14,46 @@
                     </div>
                 </div>
                 <div class="box1">
-                    <div>
-                        <span class="text3"
-                            >兑换券编码<span class="text4"> {{ item.id }}</span></span
-                        >
-                        <div class="text5">有效期至:{{ item.expiration }}</div>
+                    <div style="width: 100%">
+                        <div class="top">
+                            <span class="text3 name1"
+                                >兑换券编码<span class="text4"> {{ item.id }}</span></span
+                            >
+                            <!-- <div class="text6" v-if="item.used">已使用</div> -->
+                        </div>
+
+                        <div class="top1">
+                            <div class="text5">有效期至:{{ item.expiration }}</div>
+                            <div class="btn">立即使用</div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div v-if="!empty" class="used">以下兑换券已过期/已使用</div>
+        <div v-for="item in list2" :key="item.id">
+            <div class="coupon">
+                <div class="box">
+                    <img class="img" src="../assets/icon_youhuiquan_01@3x (2).png" alt="" />
+                    <div class="coupon-top">
+                        <div class="text1">{{ item.name }}</div>
+                        <div class="text2" v-if="!item.limited">仅限规定商品可用</div>
+                    </div>
+                </div>
+                <div class="box1">
+                    <div style="width: 100%">
+                        <div class="top">
+                            <span class="text3 name1"
+                                >兑换券编码<span class="text4"> {{ item.id }}</span></span
+                            >
+                            <div class="text6">已使用</div>
+                        </div>
+
+                        <div class="top1">
+                            <div class="text5">有效期至:{{ item.expiration }}</div>
+                            <div class="btn2">立即使用</div>
+                        </div>
                     </div>
-                    <div class="btn">立即使用</div>
                 </div>
             </div>
         </div>
@@ -31,6 +68,7 @@ export default {
     data() {
         return {
             list: [],
+            list2: [],
             empty: false,
             chooseId: 0
         };
@@ -50,7 +88,8 @@ export default {
                     '/userCoupon/all',
                     {
                         query: {
-                            userId: this.userInfo.id
+                            // userId: this.userInfo.id
+                            // used: false
                         }
                     },
                     {
@@ -58,7 +97,12 @@ export default {
                     }
                 )
                 .then(res => {
-                    this.list = res.content;
+                    this.list = res.content.filter(item => {
+                        return !item.used;
+                    });
+                    this.list2 = res.content.filter(item => {
+                        return item.used;
+                    });
                     if (this.list.length === 0) {
                         this.empty = true;
                     }
@@ -75,6 +119,14 @@ export default {
 .list {
     padding: 24px 0 50px;
 }
+.used {
+    font-size: 14px;
+    font-family: PingFangSC-Regular, PingFang SC;
+    font-weight: 400;
+    color: #939599;
+    line-height: 24px;
+    margin: 60px 0 20px 10px;
+}
 .coupon {
     border-radius: 8px;
     display: flex;
@@ -112,40 +164,75 @@ export default {
     }
     .box1 {
         background: #1f2230;
+        border-radius: 0 8px 8px 0;
         width: 100%;
         display: flex;
         justify-content: space-between;
-        padding: 16px 20px;
-        .text3 {
-            font-size: 14px;
-            font-weight: 400;
-            color: #939599;
-            line-height: 24px;
-        }
-        .text4 {
-            font-size: 14px;
-            font-weight: 400;
-            color: #ffffff;
-            line-height: 24px;
-            text-align: bottom;
-        }
-        .text5 {
-            font-size: 11px;
-            font-weight: 400;
-            color: #939599;
-            line-height: 16px;
-            margin-top: 45px;
+        padding-left: 16px;
+        .top {
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            .text3 {
+                font-size: 14px;
+                font-weight: 400;
+                color: #939599;
+                line-height: 24px;
+                &.name1 {
+                    padding-top: 15px;
+                }
+            }
+            .text4 {
+                font-size: 14px;
+                font-weight: 400;
+                color: #ffffff;
+                line-height: 24px;
+                text-align: bottom;
+            }
+            .text6 {
+                width: 49px;
+                height: 18px;
+                background: #939599;
+                text-align: center;
+                font-size: 11px;
+                margin-top: -18px;
+                color: #ffffff;
+                border-radius: 0px 8px 0px 8px;
+            }
         }
-        .btn {
-            width: 180px;
-            height: 28px;
-            background: linear-gradient(135deg, #fdfb60 0%, #ff8f3e 100%);
-            border-radius: 14px;
-            font-size: 12px;
-            color: #1a1a1a;
-            line-height: 28px;
-            text-align: center;
-            margin-top: 30px;
+        .top1 {
+            display: flex;
+            justify-content: space-between;
+            .text5 {
+                font-size: 11px;
+                font-weight: 400;
+                color: #939599;
+                line-height: 16px;
+                margin-top: 45px;
+            }
+            .btn {
+                width: 180px;
+                height: 28px;
+                background: linear-gradient(135deg, #fdfb60 0%, #ff8f3e 100%);
+                border-radius: 14px;
+                font-size: 12px;
+                color: #1a1a1a;
+                line-height: 28px;
+                text-align: center;
+                cursor: pointer;
+                margin: 11px 20px 0 0;
+            }
+            .btn2 {
+                width: 180px;
+                height: 28px;
+                font-size: 12px;
+                color: #ffffff;
+                background: #939599;
+                border-radius: 14px;
+                line-height: 28px;
+                text-align: center;
+                margin: 11px 20px 0 0;
+            }
         }
     }
 }

+ 1 - 2
src/main/pc-space/src/components/RegisterInfo.vue

@@ -146,8 +146,7 @@ export default {
                     this.$http
                         .post('/auth/phoneRegister', {
                             phone: this.form.phone,
-                            password: this.form.password,
-                            code: this.form.code
+                            password: this.form.password
                         })
                         // })
                         .then(res => {

+ 17 - 0
src/main/pc-space/src/mixins/coupon.js

@@ -0,0 +1,17 @@
+import dayjs from 'dayjs';
+var isSameOrBefore = require('dayjs/plugin/isSameOrBefore');
+dayjs.extend(isSameOrBefore);
+export default {
+    methods: {
+        checkTime(info) {
+            return dayjs().isSameOrBefore(info.expiration);
+        },
+        checkUse(info, collectionId = 0) {
+            if (collectionId && info.limited) {
+                return [...info.collectionIds].includes(collectionId);
+            } else {
+                return true;
+            }
+        }
+    }
+};

+ 145 - 60
src/main/pc-space/src/views/AssetDetail.vue

@@ -151,9 +151,22 @@
                                 @mouseenter="isShowPopover(item.name, true)"
                                 @mouseleave="isShowPopover(item.name, false)"
                             >
-                                <div @click.stop="privilegeFn(item)">
-                                    <img v-if="item.opened" class="img2" :src="item.icon[2]" alt="" />
-                                    <img v-if="!item.opened" class="img2" :src="item.icon[3]" alt="" />
+                                <div v-if="item.icon[2]">
+                                    <!-- 只能点一次 -->
+                                    <div v-if="item.once" @click="privilegeFn2(item)">
+                                        <img v-if="item.opened" class="img2" :src="item.icon[2]" alt="" />
+                                    </div>
+                                    <!-- 多次点 -->
+                                    <div v-else @click="privilegeFn(item)">
+                                        <img v-if="item.opened" class="img2" :src="item.icon[2]" alt="" />
+                                    </div>
+                                    <div @click="privilegeFn(item)">
+                                        <img v-if="!item.opened" class="img2" :src="item.icon[3]" alt="" />
+                                    </div>
+                                </div>
+                                <!-- 新加特权 -->
+                                <div @click="privilegeFn2(item)" v-else>
+                                    <img class="img2" :src="item.icon[0]" alt="" />
                                 </div>
                                 <div class="hoverTips" v-if="popoverStatus[item.name]">
                                     <div class="span">{{ item.name }}</div>
@@ -201,7 +214,7 @@
                             <img class="imgs" src="../assets/info_icon_jiaoyijilu.png" alt="" />
                             <span>交易历史</span>
                         </template>
-                        <el-table class="elTable" :data="tableData" stripe style="width: 100%">
+                        <el-table :data="tableData" stripe style="width: 100%; background: #1c1e26">
                             <el-table-column prop="fromUser" label="用户" width="555"> </el-table-column>
                             <el-table-column prop="operation" label="操作" width="455"> </el-table-column>
                             <el-table-column prop="createdAt" label="时间"> </el-table-column>
@@ -226,14 +239,19 @@
             </collection-info>
         </div>
         <!-- 悄悄话 -->
-        <el-dialog append-to-body class="abb" :visible.sync="show2" title="提示">
-            <img
-                @click="openedFn"
-                class="imgBox"
-                src="https://ticket-exchange.oss-cn-hangzhou.aliyuncs.com/image/2021-11-12-16-13-07DtWLMcPy.png"
-                alt=""
-            />
-            <div class="Whisper1">点击图标打开悄悄话,(隐藏内容,只能开启一次)</div>
+        <el-dialog append-to-body class="abb" :visible.sync="show2">
+            <div class="title">提示</div>
+            <img class="back" src="../assets/矩形@3x.png" alt="" />
+            <div class="con">
+                <img
+                    @click="openedFn"
+                    class="imgBox"
+                    src="https://ticket-exchange.oss-cn-hangzhou.aliyuncs.com/image/2021-11-12-16-13-07DtWLMcPy.png"
+                    alt=""
+                />
+                <div class="Whisper1">点击图标打开悄悄话</div>
+                <div class="Whisper1 Whisper2">(隐藏内容,只能开启一次)</div>
+            </div>
         </el-dialog>
         <!-- 悄悄话 -->
         <el-dialog append-to-body v-if="init2" :visible.sync="show3" :before-close="handleClose2">
@@ -255,7 +273,7 @@
             </div>
             <div class="border"></div>
             <div class="name">{{ list2.description }}</div>
-            <div class="name1" v-if="list2.type != 'code'">
+            <div class="name1" v-if="list2.type != 'code' && list2.name != '版权权利'">
                 <img class="qrcodeImg" v-if="list2.type == 'qrcode'" :src="list2.detail" alt="" />
                 <div class="qrcode1" v-if="list2.type == 'qrcode'">扫描二维码进行票务核销</div>
                 说明:<span>{{ list2.remark || '暂无' }}</span>
@@ -402,9 +420,24 @@ export default {
             }
         },
         privilegeFn(init) {
-            console.log(111);
+            // console.log(111);
             this.list2 = init;
-            if (!init.once) {
+            this.show4 = true;
+            this.$http
+                .post('/asset/usePrivilege', {
+                    assetId: this.info.id,
+                    privilegeId: init.id
+                })
+                .then(res => {
+                    console.log(res);
+                });
+        },
+        privilegeFn2(init) {
+            // console.log(222);
+            // this.list2 = init;
+            // this.show4 = true;
+            if (init.once && init.opened == false) {
+                this.list2 = init;
                 this.show4 = true;
                 this.$http
                     .post('/asset/usePrivilege', {
@@ -451,7 +484,7 @@ export default {
                 }
                 if (res.privileges) {
                     this.init = res.privileges.filter(item => {
-                        return item.name !== '悄悄话' && item.name !== '加密空间';
+                        return item.name !== '悄悄话';
                     });
                 }
                 this.loading = false;
@@ -512,24 +545,59 @@ export default {
                 });
         },
         Consignment() {
-            if (!this.info.consignment) {
-                this.$refs.refFn.isShow = true;
-            } else {
-                this.$confirm('寄售将取消上架', '取消寄售', {
+            if (this.userInfo.authStatus === 'SUCCESS') {
+                if (!this.info.consignment) {
+                    this.$refs.refFn.isShow = true;
+                } else {
+                    this.$confirm('寄售将取消上架', '取消寄售', {
+                        confirmButtonText: '确定',
+                        cancelButtonText: '取消',
+                        customClass: 'myClass',
+                        center: true
+                    })
+                        .then(() => {
+                            return this.$http.post(`/asset/cancelConsignment?id=${this.info.id}`);
+                        })
+                        .then(res => {
+                            this.$message.success('取消寄售');
+                            setTimeout(() => {
+                                this.getDetail();
+                            }, 1000);
+                        });
+                }
+            } else if (this.userInfo.authStatus === 'PENDING' || this.userInfo.authStatus === 'FAIL') {
+                this.$confirm('用户认证中,是否查看认证状态', '认证', {
                     confirmButtonText: '确定',
                     cancelButtonText: '取消',
                     customClass: 'myClass',
                     center: true
-                })
-                    .then(() => {
-                        return this.$http.post(`/asset/cancelConsignment?id=${this.info.id}`);
-                    })
-                    .then(res => {
-                        this.$message.success('取消寄售');
+                }).then(() => {
+                    this.add();
+                    this.$nextTick(() => {
+                        // console.log(this.lists);
                         setTimeout(() => {
-                            this.getDetail();
+                            if (this.userInfo.authStatus !== 'NOT_AUTH' && this.lists == false) {
+                                this.add();
+                                this.$router.push('/userauthentication');
+                            }
+                        }, 1000);
+                        setTimeout(() => {
+                            if (this.userInfo.authStatus !== 'NOT_AUTH' && this.lists == true) {
+                                this.add();
+                                this.$router.push('/enterpriseauthentication');
+                            }
                         }, 1000);
                     });
+                });
+            } else if (this.userInfo.authStatus === 'NOT_AUTH') {
+                this.$confirm('未认证不可寄售,是否认证', '认证', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    customClass: 'myClass',
+                    center: true
+                }).then(() => {
+                    this.$router.push('/authentication');
+                });
             }
         },
         changeShow() {
@@ -584,9 +652,9 @@ export default {
                     }
                 )
                 .then(res => {
-                    console.log(res);
+                    // console.log(res);
                     this.lists = res.content[0].org;
-                    console.log(this.lists);
+                    // console.log(this.lists);
                 });
         },
         send() {
@@ -650,6 +718,9 @@ export default {
 /deep/ .el-dialog__body {
     padding: 0 16px 12px !important;
 }
+/deep/ .el-table__header-wrapper {
+    border-bottom: 0;
+}
 /deep/ .el-dialog {
     width: 340px;
     background: #ffffff;
@@ -754,40 +825,46 @@ export default {
     }
 }
 .abb {
+    /deep/.el-dialog__close {
+        color: #ffffff;
+    }
     /deep/ .el-dialog {
         width: 340px;
-        background: rgb(209, 206, 18);
         border-radius: 10px;
+        .title {
+            position: absolute;
+            z-index: 22;
+            font-size: 16px;
+            margin-top: -13px;
+            color: #000000;
+            line-height: 24px;
+        }
+        .back {
+            width: 340px;
+            height: 240px;
+            margin: -30px -13px -15px -16px;
+        }
         .con {
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            padding: 12px 16px 0;
-            .Whisper {
-                font-size: 16px;
-                font-weight: 400;
-                color: #000000;
-                line-height: 24px;
+            position: absolute;
+            margin-top: -200px;
+            .imgBox {
+                width: 80px;
+                height: 80px;
+                cursor: pointer;
+                text-align: center;
+                margin: 30px 112px 22px;
             }
-            .icon {
-                width: 24px;
-                height: 24px;
+            .Whisper1 {
+                font-size: 12px;
+                color: #303133;
+                line-height: 18px;
+                margin: 0 97px;
+                &.Whisper2 {
+                    padding-bottom: 36px;
+                    margin: 0 73px;
+                }
             }
         }
-        .imgBox {
-            width: 80px;
-            height: 80px;
-            text-align: center;
-            margin: 30px 112px 22px;
-        }
-        .Whisper1 {
-            font-size: 12px;
-            font-weight: 400;
-            color: #303133;
-            line-height: 18px;
-            padding-bottom: 36px;
-            margin: 0 85px;
-        }
     }
 }
 .container {
@@ -1208,7 +1285,18 @@ export default {
             }
         }
     }
+
     .content {
+        /deep/ .el-table__row {
+            color: #ffffff;
+        }
+        /deep/ .el-table td,
+        .el-table th.is-leaf {
+            border-bottom: 1px solid #2b2e3e;
+        }
+        /deep/ .el-table th.is-leaf {
+            border-bottom: 1px solid #2b2e3e;
+        }
         .info {
             display: flex;
             align-items: center;
@@ -1219,6 +1307,7 @@ export default {
                 border-radius: 8px 8px 0px 0px;
                 margin-top: 30px;
             }
+
             .info1 {
                 display: flex;
                 align-items: center;
@@ -1241,9 +1330,6 @@ export default {
                 height: 24px;
             }
         }
-        .elTable {
-            border: 1px solid red;
-        }
         .border {
             height: 1px;
             background: #494a4d;
@@ -1388,7 +1474,6 @@ export default {
 /deep/.content2 {
     margin-top: 30px;
     .el-collapse-item__wrap {
-        // border-bottom: 1px solid #494a4d;
         border-bottom-width: 0;
     }
     .el-collapse {

+ 1 - 0
src/main/pc-space/src/views/CollectionDetail.vue

@@ -625,6 +625,7 @@ export default {
             align-items: center;
             height: 102px;
             background: #1f2230;
+            margin-bottom: 30px;
             border-radius: 0px 0px 8px 8px;
             .name {
                 width: 128px;

+ 6 - 6
src/main/pc-space/src/views/My.vue

@@ -10,7 +10,7 @@
             </el-radio-button>
         </el-radio-group>
         <div class="border" style="margin-top: 30px"></div>
-        <div class="search-list">
+        <div class="search-list" v-if="select !== '2'">
             <el-input
                 class="search"
                 prefix-icon="el-icon-search"
@@ -31,7 +31,6 @@
             </template>
             <template v-if="select === '2'">
                 <coupon-info></coupon-info>
-                <!-- <asset-info v-for="(item, index) in list" :key="item.id" :info.sync="list[index]"></asset-info> -->
             </template>
 
             <el-empty v-if="empty" description="还没有该类型的藏品哦~"></el-empty>
@@ -137,15 +136,16 @@ export default {
                     search: this.search,
                     query: {
                         userId: this.$store.state.userInfo.id,
-                        status: 'TRANSFERRED'
+                        // status: 'TRANSFERRED'
+                        consignment: true
                     }
                 };
-            } else {
+            } else if (this.select === '0') {
                 return {
                     search: this.search,
                     query: {
-                        userId: this.$store.state.userInfo.id,
-                        status: 'NORMAL,TRADING,GIFTING'
+                        userId: this.$store.state.userInfo.id
+                        // status: 'NORMAL,TRADING,GIFTING'
                     }
                 };
             }

+ 48 - 16
src/main/pc-space/src/views/Send.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-dialog center title="赠送" :visible.sync="show" width="680px">
+    <el-dialog center title="赠送" :visible.sync="show" width="680px" :before-close="handleClose">
         <div class="page" v-loading="loading">
             <div class="top-tips">通过手机号码检索用户信息,<span>赠送后该加密作品将会被转移</span></div>
             <div class="user">
@@ -115,6 +115,7 @@ export default {
             payMethods: 'WEIXIN',
             show: false,
             info: [],
+            payTimeout: undefined,
             checked: true,
             id: 103,
             idOrder: 0,
@@ -172,6 +173,12 @@ export default {
         }
     },
     methods: {
+        handleClose() {
+            this.show = false;
+            if (this.payTimeout) {
+                clearInterval(this.payTimeout);
+            }
+        },
         init() {
             this.status = 'Unpaid';
         },
@@ -223,19 +230,30 @@ export default {
                 }, 1000);
             }
         },
-        // payWatch() {
-        //     //监控支付状态
-        //     this.payTimeout = setInterval(() => {
-        //         this.$http.get('/order/gift/get/' + this.idOrder).then(res => {
-        //             console.log(res);
-        //             if (res.status === 'FINISH') {
-        //                 clearInterval(this.payTimeout);
-        //                 // this.status = res.status;
-        //                 this.show = false;
-        //             }
-        //         });
-        //     }, 1000);
-        // },
+        init2() {
+            this.$confirm('赠送成功,加密作品将会被转移', '赠送成功', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                customClass: 'myClass',
+                center: true
+            }).then(() => {});
+        },
+        payWatch() {
+            //监控支付状态
+            this.payTimeout = setInterval(() => {
+                this.$http.get('/asset/get/' + this.$route.query.id).then(res => {
+                    console.log(res);
+                    if (res.status === 'GIFTED') {
+                        clearInterval(this.payTimeout);
+                        // this.status = res.status;
+                        this.show = false;
+                        setTimeout(() => {
+                            this.init2();
+                        }, 1000);
+                    }
+                });
+            }, 1000);
+        },
         submit() {
             // if (this.payMethods === 'DCEP') {
             //     this.wait();
@@ -254,7 +272,7 @@ export default {
                             this.initTime(res.id, res.createdAt);
                             this.status = res.status;
                             this.idOrder = res.id;
-                            // this.payWatch();
+                            this.payWatch();
                             // console.log(res);
                         })
                         .catch(e => {
@@ -300,7 +318,21 @@ export default {
     }
 };
 </script>
-
+<style lang="less">
+.myClass {
+    width: 340px;
+    .el-button {
+        background: linear-gradient(133deg, @prim 0%, @warn 100%);
+        border-radius: 4px;
+        border: 0;
+    }
+    .el-button:nth-last-child(2) {
+        background: #c4c7cc;
+        color: #ffffff;
+        font-size: 13px;
+    }
+}
+</style>
 <style lang="less" scoped>
 /deep/ .el-checkbox__inner {
     // width: 24px;

+ 19 - 4
src/main/pc-space/src/views/Submit.vue

@@ -4,7 +4,7 @@
             <div class="border"></div>
             <div class="page" v-loading="loading">
                 <div v-if="list2">
-                    <div class="title">选择兑换券</div>
+                    <div class="title1">选择兑换券</div>
                     <div class="coupon" @click="choose(list2)">
                         <div class="box">
                             <img class="img" src="../assets/icon_youhuiquan_01@3x.png" alt="" />
@@ -31,7 +31,7 @@
                     </div>
                     <div class="all" @click="all">查看更多</div>
                 </div>
-
+                <div class="border"></div>
                 <div class="info">
                     <div class="price">
                         <span class="text1">应付金额</span>
@@ -251,7 +251,8 @@ export default {
                     '/userCoupon/all',
                     {
                         query: {
-                            userId: this.userInfo.id
+                            userId: this.userInfo.id,
+                            used: false
                         }
                     },
                     {
@@ -270,8 +271,11 @@ export default {
         all() {
             this.show2 = true;
         },
+        // CoupFn(){
+
+        // },
         choose(info) {
-            // console.log(info);
+            console.log(info);
 
             this.chooseId = info.id;
             this.$store.commit('setCouponInfo', info);
@@ -392,12 +396,22 @@ export default {
 }
 </style>
 <style lang="less" scoped>
+/deep/ .el-dialog__body {
+    padding: 4px 20px 0;
+}
 .border {
     height: 1px;
 
     background: #f2f3f5;
     border-radius: 1px;
 }
+.title1 {
+    font-size: 16px;
+    font-weight: 400;
+    color: #000000;
+    line-height: 24px;
+    margin: 31px 0 20px;
+}
 .info {
     .flex();
     height: 94px;
@@ -451,6 +465,7 @@ export default {
 }
 .all {
     cursor: pointer;
+    margin-bottom: 30px;
 }
 /deep/.el-loading-mask {
     background-color: #ffffffee;

+ 18 - 5
src/main/pc-space/src/views/user/EnterpriseAuthentication.vue

@@ -12,15 +12,28 @@
                     userInfo.authStatus === 'SUCCESS'
                 "
             >
-                <img class="text1" src="../../assets/user/icon-xiugaichengg@3x (1).png" alt="" />
+                <img
+                    class="text1"
+                    v-if="userInfo.authStatus !== 'FAIL'"
+                    src="../../assets/user/icon-xiugaichengg@3x (1).png"
+                    alt=""
+                />
+                <img
+                    class="text1"
+                    v-if="userInfo.authStatus === 'FAIL'"
+                    src="../../assets/user/icon-shibai@3x.png"
+                    alt=""
+                />
                 <div class="text2" v-if="userInfo.authStatus === 'PENDING'">已提交企业认证</div>
-                <div class="text2" v-if="userInfo.authStatus === 'FAIL'">认证失败</div>
-                <div class="text2" v-if="userInfo.authStatus === 'SUCCESS'">认证成功</div>
+                <div class="text2" v-if="userInfo.authStatus === 'FAIL'">企业认证失败</div>
+                <div class="text2" v-if="userInfo.authStatus === 'SUCCESS'">企业认证成功</div>
                 <div class="text3" v-if="userInfo.authStatus === 'PENDING'">
                     等待后台审核信息,预计1-3个工作日内完成
                 </div>
                 <div class="text3" v-if="userInfo.authStatus === 'SUCCESS'">账户实名认证后不能修改</div>
-                <div class="text3" v-if="userInfo.authStatus === 'FAIL'">信息填写有误</div>
+                <div class="text3" v-if="userInfo.authStatus === 'FAIL'">
+                    很遗憾,您的资料审核失败,请检查您填写的资料是否正确以及上传照片是否清晰
+                </div>
                 <div class="botn" v-if="userInfo.authStatus !== 'FAIL'" @click="all('accountdata')">返回</div>
                 <div class="botn" v-if="userInfo.authStatus === 'FAIL'" @click="Jump2">重新认证</div>
             </div>
@@ -319,7 +332,7 @@ export default {
         font-weight: 400;
         color: #494a4d;
         line-height: 24px;
-        margin: -11px 0 20px 294px;
+        margin: -7px 0 2px 294px;
     }
     .box {
         background: #1c1e26;

+ 1 - 0
src/main/pc-space/src/views/user/Personal.vue

@@ -4,6 +4,7 @@
         <div class="content">
             <el-menu
                 :default-openeds="openeds"
+                :collapse-transition="false"
                 default-active="/accountdata"
                 router
                 class="el-menu-vertical-demo"

+ 18 - 5
src/main/pc-space/src/views/user/UserAuthentication.vue

@@ -12,15 +12,28 @@
                     userInfo.authStatus === 'SUCCESS'
                 "
             >
-                <img class="text1" src="../../assets/user/icon-xiugaichengg@3x (1).png" alt="" />
+                <img
+                    class="text1"
+                    v-if="userInfo.authStatus !== 'FAIL'"
+                    src="../../assets/user/icon-xiugaichengg@3x (1).png"
+                    alt=""
+                />
+                <img
+                    class="text1"
+                    v-if="userInfo.authStatus === 'FAIL'"
+                    src="../../assets/user/icon-shibai@3x.png"
+                    alt=""
+                />
                 <div class="text2" v-if="userInfo.authStatus === 'PENDING'">已提交个人认证</div>
-                <div class="text2" v-if="userInfo.authStatus === 'FAIL'">认证失败</div>
-                <div class="text2" v-if="userInfo.authStatus === 'SUCCESS'">认证成功</div>
+                <div class="text2" v-if="userInfo.authStatus === 'FAIL'">个人认证失败</div>
+                <div class="text2" v-if="userInfo.authStatus === 'SUCCESS'">个人认证成功</div>
                 <div class="text3" v-if="userInfo.authStatus === 'PENDING'">
                     等待后台审核信息,预计1-3个工作日内完成
                 </div>
                 <div class="text3" v-if="userInfo.authStatus === 'SUCCESS'">账户实名认证后不能修改</div>
-                <div class="text3" v-if="userInfo.authStatus === 'FAIL'">信息填写有误</div>
+                <div class="text3" v-if="userInfo.authStatus === 'FAIL'">
+                    很遗憾,您的资料审核失败,请检查您填写的资料是否正确以及上传照片是否清晰
+                </div>
                 <div class="botn" v-if="userInfo.authStatus !== 'FAIL'" @click="all('accountdata')">返回</div>
                 <div class="botn" v-if="userInfo.authStatus === 'FAIL'" @click="Jump2">重新认证</div>
             </div>
@@ -241,7 +254,7 @@ export default {
         font-weight: 400;
         color: #494a4d;
         line-height: 24px;
-        margin: -11px 0 20px 94px;
+        margin: -7px 0 2px 94px;
     }
     .box {
         background: #1c1e26;