Browse Source

转让文字改寄售
添加无关联地区商品购买逻辑

xiaomei 9 months ago
parent
commit
f48bda4c47

+ 5 - 5
src/api/home.js

@@ -567,7 +567,7 @@ export default {
       data
     })
   },
-  //转让商品详情
+  //寄售商品详情
   getTransferInfo(data) {
     return request.request({
       url: '/home/getTransferInfo',
@@ -600,7 +600,7 @@ export default {
       data
     })
   },
-  //购买转让商品
+  //购买寄售商品
   transferOrder(data) {
     return request.request({
       url: '/order/transferOrder',
@@ -622,7 +622,7 @@ export default {
       data
     })
   },
-  //转让商品列表
+  //寄售商品列表
   getTransferList(data) {
     return request.request({
       url: '/Product/getTransferList',
@@ -644,7 +644,7 @@ export default {
       data
     })
   },
-  //转让商品
+  //寄售商品
   transfer(data) {
     return request.request({
       url: '/order/transfer',
@@ -666,7 +666,7 @@ export default {
       data
     })
   },
-  //取消转让
+  //取消寄售
   cancel(data) {
     return request.request({
       url: '/order/cancel',

+ 17 - 16
src/language/en.json

@@ -11,10 +11,10 @@
   "lang10": "H",
   "lang11": "m",
   "lang12": "s",
-  "lang13": "Transfer Zone",
-  "lang14": "More Transfers",
+  "lang13": "Consignment Area",
+  "lang14": "More Consignment",
   "lang15": "Product Ownership:",
-  "lang16": "Transfer Price",
+  "lang16": "Consignment Price",
   "lang17": "Buy Now",
   "lang18": "Tea Mine Pledge",
   "lang19": "More Combinations",
@@ -35,7 +35,7 @@
   "lang34": "Product Sort",
   "lang35": "Wallet Address:",
   "lang36": "My Assets",
-  "lang37": "Transfer Appreciation Income",
+  "lang37": "Consignment appreciation income",
   "lang38": "My Tea Mine",
   "lang39": "Annualized return on storage",
   "lang40": "My Tea Friends",
@@ -47,14 +47,14 @@
   "lang46": "Copy Failed, Browser Not Supported",
   "lang47": "Home",
   "lang48": "Buy",
-  "lang49": "Transfer",
+  "lang49": "Consignment",
   "lang50": "Tea Mine",
   "lang51": "My",
   "lang52": "People have purchased",
   "lang53": "Limited time rush",
   "lang54": "Remaining time",
   "lang55": "Leave",
-  "lang56": "Authentic traceability, transferable and storable",
+  "lang56": "Authentic traceability, consignment and storage available",
   "lang57": "Authentic traceability",
   "lang58": "Product traceability, authentic guarantee",
   "lang59": "Purchase record",
@@ -86,9 +86,9 @@
   "lang85": "Convert",
   "lang86": "Pick up",
   "lang87": "Transfer in",
-  "lang88": "Transfer information",
-  "lang89": "Transfer price:",
-  "lang90": "Transfer network fee:",
+  "lang88": "Consignment Information",
+  "lang89": "Consignment Price:",
+  "lang90": "Consignment Network Fee:",
   "lang91": "Network fee description:",
   "lang92": "Charge 1% of the transaction amount",
   "lang93": "Enter price",
@@ -139,19 +139,19 @@
   "lang138": "Recharge",
   "lang139": "Check logistics",
   "lang140": "Switch to USDT balance",
-  "lang141": "Transferring",
+  "lang141": "On consignment",
   "lang142": "Pick up",
   "lang143": "Check logistics",
-  "lang144": "Cancel transfer",
+  "lang144": "Cancel consignment",
   "lang145": "Cancelled",
   "lang146": "Completed",
   "lang147": "Current tea treasure balance",
   "lang148": "Recharge amount",
   "lang149": "Confirm recharge",
   "lang150": "Cancel successfully",
-  "lang151": "Are you sure to cancel the transfer?",
+  "lang151": "Are you sure to cancel the consignment?",
   "lang152": "Operation successful",
-  "lang153": "Please enter the transfer amount",
+  "lang153": "Please enter the consignment amount",
   "lang154": "Order placed",
   "lang155": "Payment made",
   "lang156": "Shipped",
@@ -204,7 +204,7 @@
   "lang203": "Swipe up to load more",
   "lang204": "All orders",
   "lang205": "Asset Details",
-  "lang206": "Transfer: ",
+  "lang206": "Consignment: ",
   "lang207": "The other party's address",
   "lang208": "Enter the wallet address of the other party",
   "lang209": "Amount of gift",
@@ -219,7 +219,7 @@
   "lang218": "My Tea Rights",
   "lang219": "Official Announcement",
   "lang220": "Storage",
-  "lang221": "Transferred",
+  "lang221": "Consigned",
   "lang222": "Storage",
   "lang223": "Picked up",
   "lang224": "Total Tea Rights (RWA Tea):",
@@ -239,5 +239,6 @@
   "lang238": "Please fill in the information completely",
   "lang239": "XX Chabao logistics fee needs to be deducted when picking up goods",
   "lang240": "Note: You need to pay the packaging and logistics fees of XX Chabao when picking up the goods",
-  "lang241": "You need to pay the packaging and logistics fees of XX Chabao when picking up the goods"
+  "lang241": "You need to pay the packaging and logistics fees of XX Chabao when picking up the goods",
+  "lang242": "Select quantity"
 }

+ 17 - 16
src/language/zh.json

@@ -11,10 +11,10 @@
   "lang10": "时",
   "lang11": "分",
   "lang12": "秒",
-  "lang13": "转让专区",
-  "lang14": "更多转让",
+  "lang13": "寄售专区",
+  "lang14": "更多寄售",
   "lang15": "产品所属权归属:",
-  "lang16": "转让价格",
+  "lang16": "寄售价格",
   "lang17": "立即买入",
   "lang18": "茶矿质押",
   "lang19": "更多组合",
@@ -35,7 +35,7 @@
   "lang34": "产品排序",
   "lang35": "钱包地址:",
   "lang36": "我的资产",
-  "lang37": "转让升值收益",
+  "lang37": "寄售升值收益",
   "lang38": "我的茶矿",
   "lang39": "存储享年化收益",
   "lang40": "我的茶友",
@@ -47,14 +47,14 @@
   "lang46": "复制失败,浏览器不支持",
   "lang47": "首页",
   "lang48": "抢购",
-  "lang49": "转让",
+  "lang49": "寄售",
   "lang50": "茶矿",
   "lang51": "我的",
   "lang52": "人已购",
   "lang53": "限时抢购",
   "lang54": "距结束仅剩",
   "lang55": "还剩",
-  "lang56": "正品溯源 可转让可存储",
+  "lang56": "正品溯源 可寄售可存储",
   "lang57": "正品溯源",
   "lang58": "产品溯源 正品保证",
   "lang59": "购买记录",
@@ -86,9 +86,9 @@
   "lang85": "折合",
   "lang86": "提货",
   "lang87": "转入",
-  "lang88": "转让信息",
-  "lang89": "转让价格:",
-  "lang90": "转让网络费:",
+  "lang88": "寄售信息",
+  "lang89": "寄售价格:",
+  "lang90": "寄售网络费:",
   "lang91": "网络费说明:",
   "lang92": "收取交易额的百分之一",
   "lang93": "输入价格",
@@ -139,19 +139,19 @@
   "lang138": "充值",
   "lang139": "查看物流",
   "lang140": "切换为USDT余额",
-  "lang141": "转让中",
+  "lang141": "寄售中",
   "lang142": "提货中",
   "lang143": "查看物流",
-  "lang144": "取消转让",
+  "lang144": "取消寄售",
   "lang145": "已取消",
   "lang146": "已完成",
   "lang147": "当前茶宝余额",
   "lang148": "充值数量",
   "lang149": "确认充值",
   "lang150": "取消成功",
-  "lang151": "是否确定取消转让",
+  "lang151": "是否确定取消寄售",
   "lang152": "操作成功",
-  "lang153": "请输入转让金额",
+  "lang153": "请输入寄售金额",
   "lang154": "已下单",
   "lang155": "已付款",
   "lang156": "已发货",
@@ -204,7 +204,7 @@
   "lang203": "上滑加载更多",
   "lang204": "全部订单",
   "lang205": "资产明细",
-  "lang206": "转让:",
+  "lang206": "寄售:",
   "lang207": "对方地址",
   "lang208": "输入对方钱包地址",
   "lang209": "赠送数量",
@@ -219,7 +219,7 @@
   "lang218": "我的茶权",
   "lang219": "官方公告",
   "lang220": "存储",
-  "lang221": "已转让",
+  "lang221": "已寄售",
   "lang222": "存储中",
   "lang223": "已提货",
   "lang224": "总茶权(RWA茶):",
@@ -239,5 +239,6 @@
   "lang238": "请完整填写信息",
   "lang239": "提货需要扣除 XX 茶宝物流费用",
   "lang240": "备注:提货需支付包装及物流费共计 XX 茶宝",
-  "lang241": "提货需支付 XX 茶宝包装及物流费用"
+  "lang241": "提货需支付 XX 茶宝包装及物流费用",
+  "lang242": "选择数量"
 }

+ 1 - 1
src/router/index.js

@@ -22,7 +22,7 @@ import assets from '../views/mine/assets.vue';  //我的资产
 // import introduce from '../views/introduce/index.vue';  //平台介绍
 // import datainfo from '../views/datainfo/index.vue';  //首页数据页面
 import assetDetails from '../views/mine/assetDetails.vue';  //资产明细页面
-import transfer from '../views/mine/transfer.vue';  //转让
+import transfer from '../views/mine/transfer.vue';  //寄售
 import personal from '../views/mine/personal.vue';  //个人中心页面
 import share from '../views/mine/share.vue';  //分享奖励
 import language from '../views/mine/language.vue';  //分享奖励

+ 1 - 1
src/views/index/index.vue

@@ -60,7 +60,7 @@
           </div>
         </div>
       </div>
-      <!-- 转让 -->
+      <!-- 寄售 -->
       <div class="pd goods_box">
         <div class="title">
           <div class="flex">

+ 2 - 2
src/views/mine/assets.vue

@@ -92,8 +92,8 @@ export default {
       areaList: areaList,
       page: 1,
       item: {},
-      transfes_fee: 0, //转让费率
-      transfes_txt: '', //转让手续费说明
+      transfes_fee: 0, //寄售费率
+      transfes_txt: '', //寄售手续费说明
       giveAddress: '', //赠送接收人钱包地址
       giveaway: 0, //赠送手续费率
       giveaway_txt: '', //赠送手续费说明

+ 7 - 7
src/views/mine/teaRights.vue

@@ -88,7 +88,7 @@
         <span>{{ $t('lang82') }}</span>
       </div>
     </div>
-    <!-- 转让 -->
+    <!-- 寄售 -->
     <van-popup v-model="transferPopop" round position="bottom">
       <!-- <van-cascader v-model="cascaderValue" title="请选择所在地区" :options="options" @close="cascaderShow = false" @finish="onFinish" /> -->
       <div class="area">
@@ -172,7 +172,7 @@ export default {
       actionType: -1, //-1:全部 0:未知 1:租赁 2:直推奖励 3:团队的算力奖励 4:团队的平级算力奖励
       navIndex: 0,
       navList: [
-        //0总览 1转让中 2已转让 3存储中 4已赠送 5已提货
+        //0总览 1寄售中 2已寄售 3存储中 4已赠送 5已提货
         {
           key: this.$t('lang226'),
           value: 0,
@@ -201,14 +201,14 @@ export default {
       nft_list: [],
       transferPopop: false,
       givePopop: false,
-      price: '', // 转让金额
+      price: '', // 寄售金额
       areaList: areaList,
       searchResult: [],
       addresPopop: false,
       page: 1,
       item: {},
-      transfes_fee: 0, //转让费率
-      transfes_txt: '', //转让手续费说明
+      transfes_fee: 0, //寄售费率
+      transfes_txt: '', //寄售手续费说明
       giveAddress: '', //赠送接收人钱包地址
       giveaway: 0, //赠送手续费率
       giveaway_txt: '', //赠送手续费说明
@@ -350,7 +350,7 @@ export default {
           // on cancel
         });
     },
-    // 转让
+    // 寄售
     transfer(item) {
       this.transferPopop = true;
       this.item = item;
@@ -416,7 +416,7 @@ export default {
     noopen() {
       this.$toast(this.$t('lang2'));
     },
-    // 取消转让
+    // 取消寄售
     cancel(item) {
       let _this = this;
       Dialog.confirm({

+ 89 - 45
src/views/trade/detail.vue

@@ -105,28 +105,9 @@
     <!-- 商品详情 -->
     <div class="product-details">
       <div class="section-title">{{ $t('lang62') }}</div>
-      <!-- <div class="box flex jsb">
-        <div class="item">
-          <span class="key">{{ $t('lang63') }}</span>
-          <span class="val ellipsis">{{ product.info.name }}</span>
-        </div>
-        <div class="item">
-          <span class="key">净含量:</span>
-          <span class="val">100g</span>
-        </div>
-        <div class="item">
-          <span class="key">所属系列:</span>
-          <span class="val">春夏秋冬系列</span>
-        </div>
-        <div class="item">
-          <span class="key">茶叶产地:</span>
-          <span class="val">云南贵州</span>
-        </div>
-      </div> -->
     </div>
 
     <!-- 宣传图片 -->
-    <!-- <img v-for="(item, index) in product.info.img_url" :key="index" :src="item" class="promo-image" alt="" /> -->
     <div v-html="product.info.details" class="promo-image"></div>
     <!-- 底部导航栏 -->
     <div class="bottom">
@@ -140,18 +121,31 @@
           <span>{{ $t('lang68') }}</span>
         </div>
       </div>
-      <div class="buy" @click="cascaderShow = true">
+      <div class="buy" v-if="product.info.is_area == 1" @click="cascaderShow = true">
+        <van-button class="buy_btn" type="primary">{{ $t('lang27') }}</van-button>
+      </div>
+      <div class="buy" v-if="product.info.is_area == 0" @click="stepperShow = true">
         <van-button class="buy_btn" type="primary">{{ $t('lang27') }}</van-button>
       </div>
     </div>
+    <!-- 选择数量 -->
+    <van-popup v-model="stepperShow" round position="bottom">
+      <div class="area">
+        <div class="title">{{ $t('lang242') }}</div>
+        <div class="stepper">
+          <span>{{ $t('lang242') }}</span>
+          <van-stepper v-model="number" min="1" />
+        </div>
+        <div class="submit">
+          <van-button class="submit_btn" type="primary" @click="submitNoarea">{{ $t('lang71') }}</van-button>
+        </div>
+      </div>
+    </van-popup>
+    <!-- 地区选择 -->
     <van-popup v-model="cascaderShow" round position="bottom">
-      <!-- <van-cascader v-model="cascaderValue" title="请选择所在地区" :options="options" @close="cascaderShow = false" @finish="onFinish" /> -->
       <div class="area">
         <div class="title">{{ $t('lang69') }}</div>
         <van-field v-model="search" :placeholder="$t('lang70')" class="input" right-icon="search" @click-right-icon="handleSearch" />
-        <!-- <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" class="vanlist">
-          <van-cell class="item" v-for="item in arealist" :key="item.id" :title="item.address" />
-        </van-list> -->
         <van-checkbox-group v-model="areaIds" @change="handleChoose" v-if="arealist.length > 0">
           <van-cell-group class="vanlist" @scroll="handleScroll">
             <van-cell class="item" v-for="item in arealist" :key="item.id" :title="item.address" clickable>
@@ -164,7 +158,7 @@
         <div class="nomore" v-else>
           <span>{{ $t('lang60') }}</span>
         </div>
-        <div class="submit" @click="cascaderShow = true">
+        <div class="submit">
           <van-button class="submit_btn" type="primary" @click="submit">{{ $t('lang71') }}</van-button>
         </div>
       </div>
@@ -198,6 +192,8 @@ export default {
       areaIds: [],
       loading: false,
       page: 1,
+      stepperShow: false,
+      number: 1,
     };
   },
   mounted() {
@@ -304,18 +300,43 @@ export default {
       console.log(e);
       this.areaIds = e;
     },
+    // 无关联地区的
+    submitNoarea() {
+      if (this.number <= 0) {
+        return Notify({ type: 'warning', message: this.$t('lang69') });
+      }
+      let _this = this;
+      Dialog.confirm({
+        title: this.$t('lang136'),
+        message: this.$t('lang137'),
+        confirmButtonText: _this.$t('lang111'),
+        cancelButtonText: _this.$t('lang135'),
+      })
+        .then(() => {
+          _this.loading = true;
+          homeApi.create({ type: 2, order_id: _this.product.info.id, product_id: _this.product.info.product_id, num: _this.number }).then(res => {
+            if (res.code == 200) {
+              _this.loading = false;
+              _this.cascaderShow = false;
+              _this.areaIds = [];
+              Toast({ message: res.msg });
+              _this.$router.push('teaRights');
+            } else if (res.code == 15001) {
+              _this.loading = false;
+              setTimeout(() => {
+                _this.$router.push('recharge');
+              }, 300);
+            } else {
+              _this.loading = false;
+            }
+          });
+        })
+        .catch(() => {
+          // on cancel
+        });
+    },
+    // 有关联地区的
     submit() {
-      //   Dialog.confirm({
-      //     title: '标题',
-      //     message: '弹窗内容',
-      //   })
-      //     .then(() => {
-      //       // on confirm
-      //     })
-      //     .catch(() => {
-      //       // on cancel
-      //     });
-
       if (this.areaIds.length <= 0) {
         return Notify({ type: 'warning', message: this.$t('lang69') });
       }
@@ -328,20 +349,20 @@ export default {
       })
         .then(() => {
           this.loading = true;
-          homeApi.create({ order_id: this.product.info.id, product_id: this.product.info.product_id, area_id: this.areaIds.join(',') }).then(res => {
+          homeApi.create({ type: 1, order_id: _this.product.info.id, product_id: _this.product.info.product_id, area_id: _this.areaIds.join(',') }).then(res => {
             if (res.code == 200) {
-              this.loading = false;
-              this.cascaderShow = false;
-              this.areaIds = [];
+              _this.loading = false;
+              _this.cascaderShow = false;
+              _this.areaIds = [];
               Toast({ message: res.msg });
-              this.$router.push('teaRights');
+              _this.$router.push('teaRights');
             } else if (res.code == 15001) {
-              this.loading = false;
+              _this.loading = false;
               setTimeout(() => {
-                this.$router.push('recharge');
+                _this.$router.push('recharge');
               }, 300);
             } else {
-              this.loading = false;
+              _this.loading = false;
             }
           });
         })
@@ -597,7 +618,14 @@ export default {
   }
   //   margin-top: 14px;
 }
-
+.stepper {
+  color: #000;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 36px 0 50px;
+}
 .van-tabbar-item {
   font-size: 14px;
 }
@@ -737,6 +765,22 @@ export default {
 .loading-popup {
   background-color: rgba(#353535, 0);
 }
+::v-deep .van-stepper__plus::after {
+  font-size: 12px !important;
+  width: 1%;
+  height: 12px;
+  // transform: scale(0.5);
+}
+::v-deep .van-stepper__plus::before {
+  // font-size: 12px !important;
+  width: 12px;
+  height: 2%;
+  // transform: scale(0.5);
+}
+::v-deep .van-stepper__minus::before {
+  width: 12px;
+  height: 2%;
+}
 </style>