浏览代码

Merge remote-tracking branch 'origin/master'

Wren 1 年之前
父节点
当前提交
a826326c26

+ 10 - 0
front/admin-front/src/assets/autoplay/arrow_left_alt.svg

@@ -0,0 +1,10 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g opacity="0.5">
+<mask id="mask0_1149_1056" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="24" height="24">
+<rect width="24" height="24" fill="#D9D9D9"/>
+</mask>
+<g mask="url(#mask0_1149_1056)">
+<path d="M10 18L4 12L10 6L11.4 7.45L7.85 11H20V13H7.85L11.4 16.55L10 18Z" fill="#222222"/>
+</g>
+</g>
+</svg>

+ 1 - 1
front/admin-front/src/layout/components/AppMain.vue

@@ -20,7 +20,7 @@ export default {
 <style scoped>
 .app-main {
   /*50 = navbar  */
-  min-height: calc(100vh - 50px);
+  /*min-height: calc(100vh - 50px);*/
   position: relative;
   overflow: hidden;
   margin: 96px ;

+ 1 - 0
front/admin-front/src/layout/index.vue

@@ -57,6 +57,7 @@ export default {
     position: relative;
     height: 100%;
     width: 100%;
+    overflow: auto;
     &.mobile.openSidebar{
       position: fixed;
       top: 0;

+ 1 - 1
front/admin-front/src/views/address/index.vue

@@ -83,7 +83,7 @@
                   {{scope.row.groupName}}
                 </div>
                 <div class="walletName" v-if="scope.row.addressType === 1">
-                  {{scope.row.groupName}}-{{scope.$index+1}}
+                  {{scope.row.groupName}}-{{(scope.$index+1) + (table.page-1)*5}}
                 </div>
                 <div class="walletAddress">
                   {{scope.row.address}}

+ 59 - 24
front/admin-front/src/views/autoplay/index.vue

@@ -261,6 +261,10 @@
       <div class="drawerRecord-container" v-if="drawerRecordStatus === 1">
         <div class="drawerAddress-container-head">
           <div class="drawerAddress-container-head-left">
+            <div class="back" style="cursor: pointer;" @click="drawerRecordStatus = 0">
+              <img src="../../assets/autoplay/arrow_left_alt.svg" alt="arrow_left_alt">
+              返回
+            </div>
             <div class="missionName">
               <div class="id">
                 {{ currentTaskInfo.amsTaskId }}
@@ -312,6 +316,14 @@
                 {{ currentRecordData.maxGas }}
               </div>
             </div>
+            <div class="item" v-for="item in currentRecordData.airdropParams">
+              <div class="title">
+                {{item.note}}
+              </div>
+              <div class="info">
+                {{ item.value }}
+              </div>
+            </div>
           </div>
           <div class="recordTitle">
             <div class="left">
@@ -319,7 +331,7 @@
                 正在进行中
               </div>
               <div class="number">
-                总计交互地址: 3/100
+                总计交互地址: {{ongoingDataTotal}}
               </div>
             </div>
             <div class="right" style="cursor: pointer" @click="refresh">
@@ -332,18 +344,23 @@
               style="width: 100%">
               <el-table-column
                 prop="address"
+                label="地址"
                 width="150">
               </el-table-column>
               <el-table-column
+                label="金额"
                 prop="amount">
               </el-table-column>
               <el-table-column
+                label="Gas"
                 prop="gas">
               </el-table-column>
               <el-table-column
+                label="TX ID"
                 prop="txId">
               </el-table-column>
               <el-table-column
+                label="状态"
                 prop="status">
                 <template v-slot="scope">
                   <div class="status" style="cursor: auto">
@@ -386,6 +403,10 @@
       <div class="drawerRecord-container" v-if="drawerRecordStatus === 2">
         <div class="drawerAddress-container-head">
           <div class="drawerAddress-container-head-left">
+            <div class="back" style="cursor: pointer;" @click="drawerRecordStatus = 0">
+              <img src="../../assets/autoplay/arrow_left_alt.svg" alt="arrow_left_alt">
+              返回
+            </div>
             <div class="missionName">
               <div class="id">
                 {{ currentTaskInfo.amsTaskId }}
@@ -428,13 +449,12 @@
                 {{ currentRecordData.intervalMax }}/分
               </div>
             </div>
-            <div class="item">
+            <div class="item" v-for="item in currentRecordData.airdropParams">
               <div class="title">
-                <img src="../../assets/autoplay/gas_meter.svg" alt="gas_meter">
-                最大 Gas fee
+                {{item.note}}
               </div>
               <div class="info">
-                {{ currentRecordData.maxGas }}
+                {{ item.value }}
               </div>
             </div>
           </div>
@@ -444,7 +464,7 @@
                 已完成
               </div>
               <div class="number">
-                总计交互地址: 3/100
+                总计交互地址: {{ongoingDataTotal}}
               </div>
             </div>
           </div>
@@ -454,18 +474,23 @@
               style="width: 100%">
               <el-table-column
                 prop="address"
+                label="地址"
                 width="150">
               </el-table-column>
               <el-table-column
+                label="金额"
                 prop="amount">
               </el-table-column>
               <el-table-column
+                label="Gas"
                 prop="gas">
               </el-table-column>
               <el-table-column
+                label="TX ID"
                 prop="txId">
               </el-table-column>
               <el-table-column
+                label="状态"
                 prop="status">
                 <template v-slot="scope">
                   <div class="status" style="cursor: auto">
@@ -574,18 +599,18 @@
               <el-input v-model="batchExecutionParams.intervalMax" placeholder="输入最大间隔时间/分"></el-input>
             </div>
           </div>
-          <div class="item">
-            <div class="title">
-              交互金额
-            </div>
-            <el-input v-model="batchExecutionParams.amount" placeholder="输入最大交互金额"></el-input>
-          </div>
-          <div class="item">
-            <div class="title">
-              最大 Gas fee
-            </div>
-            <el-input v-model="batchExecutionParams.maxGas" placeholder="输入最大 Gas fee"></el-input>
-          </div>
+<!--          <div class="item">-->
+<!--            <div class="title">-->
+<!--              交互金额-->
+<!--            </div>-->
+<!--            <el-input v-model="batchExecutionParams.amount" placeholder="输入最大交互金额"></el-input>-->
+<!--          </div>-->
+<!--          <div class="item">-->
+<!--            <div class="title">-->
+<!--              最大 Gas fee-->
+<!--            </div>-->
+<!--            <el-input v-model="batchExecutionParams.maxGas" placeholder="输入最大 Gas fee"></el-input>-->
+<!--          </div>-->
           <div class="item" v-for="item in paramsData">
             <div class="title">
               {{ item.note }}
@@ -726,6 +751,7 @@ export default {
       value1: '',
       recordData: [],
       ongoingData: [],//下一层
+      ongoingDataTotal:0,
       drawerStrategy: false,
       accountPassword: false,
       batchExecutionParams: {
@@ -782,6 +808,7 @@ export default {
       }
       getInteractionRecord(params).then(res => {
         this.ongoingData = res.records
+        this.ongoingDataTotal = res.total
       })
     },
     getTaskList() {
@@ -878,6 +905,7 @@ export default {
     viewRecordDetails(item, page) {
       this.drawerRecordStatus = page
       this.currentRecordData = item
+      console.log(item);
       let params = {
         page: 1,
         pageSize: 10,
@@ -885,6 +913,7 @@ export default {
       }
       getInteractionRecord(params).then(res => {
         this.ongoingData = res.records
+        this.ongoingDataTotal = res.total
       })
     },
     refresh() {
@@ -971,9 +1000,10 @@ export default {
     //justify-content: space-between;
     gap: 20px;
     flex-wrap: wrap;
-
+    height: 650px;
+    overflow: auto;
     .app-container-table-main-item {
-      width: 345px;
+      width: 340px;
       height: 315px;
       background: #FFFFFF;
       border: 1px solid #2980FF;
@@ -1301,7 +1331,12 @@ export default {
         display: flex;
         flex-direction: column;
         gap: 8px;
-
+        .back{
+          cursor: pointer;
+          display: flex;
+          align-items: center;
+          gap:4px;
+        }
         .missionName {
           display: flex;
           gap: 8px;
@@ -1394,14 +1429,14 @@ export default {
 
       .interactionStrategy {
         width: 100%;
-        height: 108px;
         background: #FFFFFF;
         border: 1px solid #F5F5F5;
         border-radius: 4px;
         padding: 28px;
         display: flex;
         justify-content: space-between;
-
+        flex-wrap: wrap;
+        gap:20px;
         .item {
           display: flex;
           flex-direction: column;
@@ -1509,7 +1544,7 @@ export default {
 
       .progressBar {
         position: absolute;
-        top: 138px;
+        top: 168px;
         width: 90%;
         height: 50px;
         background: #2980FF;

+ 53 - 8
front/admin-front/src/views/dashboard/index.vue

@@ -111,17 +111,31 @@
             <div class="title">
               交互任务进度
             </div>
-            <div class="progressBox">
-              <div class="item" v-for="(item,index) in progressData">
-                <div class="name">
-                  {{ item.taskName }}
+            <div style="margin-top: 20px;height: 230px;overflow: hidden" id="progressViewBox" @mouseenter="rollStop()" @mouseleave="rollStart(60)">
+              <div class="progressBox" id="progressBoxOne">
+                <div class="item" v-for="(item,index) in progressData">
+                  <div class="name">
+                    {{ item.taskName }}
+                  </div>
+                  <div class="progress">
+                    <div class="progress" :style="{width:(item.finishCount/item.totalCount*100)+'%'}"></div>
+                  </div>
                 </div>
-                <div class="progress">
-                  <div class="progress" :style="{width:(item.finishCount/item.totalCount*100)+'%'}"></div>
+              </div>
+              <div class="progressBox" id="progressBoxTwo">
+                <div class="item" v-for="(item,index) in progressData">
+                  <div class="name">
+                    {{ item.taskName }}
+                  </div>
+                  <div class="progress">
+                    <div class="progress" :style="{width:(item.finishCount/item.totalCount*100)+'%'}"></div>
+                  </div>
                 </div>
               </div>
             </div>
+
           </div>
+
           <div class="address">
             <div class="title">
               地址统计
@@ -343,7 +357,8 @@ export default {
       echartsAddressData:{
         xAxisData:[],
         seriesData:[]
-      }
+      },
+      timer:null
     };
   },
   mounted() {
@@ -352,6 +367,10 @@ export default {
     this.getDailyCost()
     this.getTaskProgress()
     this.getAddressGroup()
+    this.roll(60)
+  },
+  beforeDestroy() {
+    if(this.timer) clearInterval(this.timer)
   },
   methods: {
     initEchartsAddress() {
@@ -581,6 +600,32 @@ export default {
         })
         this.initEchartsAddress()
       })
+    },
+
+    roll(t) {
+      let ul1 = document.getElementById('progressBoxOne')
+      let ul2 = document.getElementById('progressBoxTwo')
+      let ulbox = document.getElementById('progressViewBox')
+      ulbox.scrollTop = 0
+      this.rollStart(t)
+    },
+    rollStart(t) {
+      console.log('2')
+      let ul1 = document.getElementById('progressBoxOne')
+      let ul2 = document.getElementById('progressBoxTwo')
+      let ulbox = document.getElementById('progressViewBox')
+      this.rollStop();
+      this.timer = setInterval(()=>{
+        if(ulbox.scrollTop >= ul1.scrollHeight) {
+          ulbox.scrollTop = 0
+        } else {
+          ulbox.scrollTop++
+        }
+      },t)
+    },
+    rollStop(){
+      clearInterval(this.timer)
+      console.log('1')
     }
   },
 };
@@ -822,7 +867,7 @@ export default {
               }
 
               .progress {
-                width: 180px;
+                width: 160px;
                 height: 20px;
                 background: #222222;
                 border-radius: 0 20px 20px 0;