lk преди 5 години
родител
ревизия
0791605fab
променени са 3 файла, в които са добавени 259 реда и са изтрити 4 реда
  1. 5 0
      components/menu/data.js
  2. 0 1
      pages/main/index/orders_frozen.vue
  3. 254 3
      pages/main/index/wait_expend.vue

+ 5 - 0
components/menu/data.js

@@ -31,6 +31,11 @@ export default [{
         path: baseUrl + "kaifabao",
         hidden: false
       },
+      {
+        title: "冻结订单",
+        path: baseUrl + "orders_frozen",
+        hidden: false
+      },
     ]
   },
   {

+ 0 - 1
pages/main/index/orders_frozen.vue

@@ -182,7 +182,6 @@ export default {
         body.end_time = this.timeRange[1] / 1000;
       }
       const res = await this.$post(url, body);
-      debugger;
       this.tableData = res.data.list;
       this.totalCoins = res.data.totalCoins;
       this.totalCount = res.data.totalCount * 1;

+ 254 - 3
pages/main/index/wait_expend.vue

@@ -1,13 +1,19 @@
 <template>
   <div v-if="jobData && packageData && hireData">
+<!--    <div-->
+<!--      class="header"-->
+<!--    >云端托管:{{jobData.sumJob.totalAmount/100}}元,整包托管:{{packageData.sumPackage.totalAmount/100}}元,雇佣托管:{{hireData.sumHire.totalAmount/100 || 0}}元</div>-->
     <div
       class="header"
-    >云端托管:{{jobData.sumJob.totalAmount/100}}元,整包托管:{{packageData.sumPackage.totalAmount/100}}元,雇佣托管:{{hireData.sumHire.totalAmount/100 || 0}}元</div>
-    <el-tabs v-model="activeName" type="border-card">
+    >全站待支出总金额{{ ((jobData.sumJob.totalAmount/100) + (packageData.sumPackage.totalAmount/100)+(hireData.sumHire.totalAmount/100 || 0)+(frozenCoins * 1) +(balanceTotal/100)+(incomeTotal/100)).toFixed(2)}}元</div>
+    <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
       <el-tab-pane label="云端" name="job">
         <div
           class="tab-header"
         >云端项目待支出总额{{jobData.sumJob.totalAmount/100}}元,共{{jobData.sumJob.totalNum}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportZhichuList(9)" class="export-excel" type="primary">导出报表</el-button>
+        </div>
         <div class="tab-content">
           <el-table :data="jobData.orders" border :stripe="true">
             <el-table-column prop="product_title" label="订单名称" width="150" />
@@ -74,6 +80,9 @@
         <div
           class="tab-header"
         >整包项目待支出总额{{packageData.sumPackage.totalAmount/100}}元,共{{packageData.sumPackage.totalNum}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportZhichuList(2)" class="export-excel" type="primary">导出报表</el-button>
+        </div>
         <div class="tab-content">
           <el-table :data="packageData.orders" border :stripe="true">
             <el-table-column prop="product_title" label="订单名称" width="150" />
@@ -140,6 +149,9 @@
         <div
           class="tab-header"
         >整包项目待支出总额{{hireData.sumHire.totalAmount/100}}元,共{{hireData.sumHire.totalNum}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportZhichuList(4)" class="export-excel" type="primary">导出报表</el-button>
+        </div>
         <div class="tab-content">
           <el-table :data="hireData.orders" border :stripe="true">
             <el-table-column prop="product_title" label="订单名称" width="150" />
@@ -202,6 +214,155 @@
           @current-change="handleHireCurrentChange"
         />
       </el-tab-pane>
+      <el-tab-pane label="待解冻" name="frozen">
+        <div
+          class="tab-header"
+        >用户冻结账户待解冻余额总额{{frozenCoins}}元,共{{waitUnfrozenCount}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportFrozenList" class="export-excel" type="primary">导出报表</el-button>
+        </div>
+        <div class="tab-content">
+          <el-table :data="frozenData" border style="width: 100%">
+            <el-table-column label="项目名称">
+              <template slot-scope="scope">
+                <!-- @click="clickDev(scope.row.uid)"  -->
+                <span class="lblue point">
+              <a :href="scope.row.url" target="_blank">{{scope.row.name}}</a>
+            </span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="用户">
+              <template slot-scope="scope">
+            <span class="lblue point">
+              <a
+                :href="scope.row.user_url"
+                target="_blank"
+              >{{scope.row.nickname}}({{scope.row.uid}})</a>
+            </span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="关联订单ID">
+              <template slot-scope="scope">
+                <span>{{scope.row.order_no}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="类型">
+              <template slot-scope="scope">
+                <span>{{scope.row.target_type_name}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="冻结金额">
+              <template slot-scope="scope">
+                <span>{{scope.row.coins}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="冻结方式">
+              <template slot-scope="scope">
+                <span>{{scope.row.end_time_type_name}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="创建日期">
+              <template slot-scope="scope">
+                <span>{{scope.row.create_time}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="解冻日期">
+              <template slot-scope="scope">
+                <span>{{scope.row.end_time}}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="当前状态">
+              <template slot-scope="scope">
+                <span>{{scope.row.status_name}}</span>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <el-pagination
+          class="order-footer"
+          background
+          layout="prev, pager, next"
+          :page-size="10"
+          :total="frozenCount"
+          @current-change="handlefrozenCurrentChange"
+        />
+      </el-tab-pane>
+      <el-tab-pane label="客栈余额待提现" name="balance">
+        <div
+          class="tab-header"
+        >用户客栈账户余额待提现总额{{balanceTotal/100}}元,共{{balanceCount}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportBalanceList" class="export-excel" type="primary">导出报表</el-button>
+        </div>
+        <div class="tab-content">
+          <el-table :data="balanceData" border style="width: 100%">
+
+            <el-table-column prop="name" label="用户">
+              <template slot-scope="scope">
+            <span class="lblue point">
+              <a
+                :href="scope.row.user_url"
+                target="_blank"
+              >{{scope.row.nickname}}({{scope.row.uid}})</a>
+            </span>
+              </template>
+            </el-table-column>
+
+            <el-table-column prop="name" label="可用余额">
+              <template slot-scope="scope">
+                <span>{{scope.row.total_balance/100}}</span>
+              </template>
+            </el-table-column>
+
+          </el-table>
+        </div>
+        <el-pagination
+          class="order-footer"
+          background
+          layout="prev, pager, next"
+          :page-size="10"
+          :total="balanceCount"
+          @current-change="handlefrozenCurrentChange"
+        />
+      </el-tab-pane>
+      <el-tab-pane label="薪资余额待提现" name="income">
+        <div
+          class="tab-header"
+        >用户客栈账户余额待提现总额{{incomeTotal/100}}元,共{{incomeCount}}笔</div>
+        <div style="text-align: right;margin-bottom: 10px">
+          <el-button @click="exportIncomeList" class="export-excel" type="primary">导出报表</el-button>
+        </div>
+        <div class="tab-content">
+          <el-table :data="incomeData" border style="width: 100%">
+
+            <el-table-column prop="name" label="用户">
+              <template slot-scope="scope">
+            <span class="lblue point">
+              <a
+                :href="scope.row.user_url"
+                target="_blank"
+              >{{scope.row.nickname}}({{scope.row.uid}})</a>
+            </span>
+              </template>
+            </el-table-column>
+
+            <el-table-column prop="name" label="可用余额">
+              <template slot-scope="scope">
+                <span>{{scope.row.income_tax_balance/100}}</span>
+              </template>
+            </el-table-column>
+
+          </el-table>
+        </div>
+        <el-pagination
+          class="order-footer"
+          background
+          layout="prev, pager, next"
+          :page-size="10"
+          :total="incomeCount"
+          @current-change="handlefrozenCurrentChange"
+        />
+      </el-tab-pane>
     </el-tabs>
   </div>
 </template>
@@ -216,7 +377,23 @@ export default {
       packagePage: 1,
       packageData: "",
       hirePage: 1,
-      hireData: ""
+      hireData: "",
+      //待解冻
+      frozenPage:1,
+      frozenCount:0,
+      frozenCoins:0,
+      waitUnfrozenCount:0,
+      frozenData:[],
+      //余额
+      balancePage:1,
+      balanceCount:0,
+      balanceTotal:0,
+      balanceData:[],
+      //薪资
+      incomePage:1,
+      incomeCount:0,
+      incomeTotal:0,
+      incomeData:[],
     };
   },
   mounted() {
@@ -224,6 +401,9 @@ export default {
     this.getJobOrders();
     this.getPackageOrders();
     this.getHireOrders();
+    this.getFrozenOrders();
+    this.getBalanceOrders();
+    this.getIncomeOrders();
   },
   methods: {
     async getJobOrders() {
@@ -238,6 +418,10 @@ export default {
         // console.log(this.jobData)
       }
     },
+    async exportZhichuList(type){
+      let url = window.location.host + "/api/admin/order/exportZhichu?productType="+type;
+      window.location.href = "http://" + url;
+    },
     async getPackageOrders() {
       const data = {
         page: this.packagePage,
@@ -262,6 +446,69 @@ export default {
         // console.log(this.hireData)
       }
     },
+    //待解冻订单
+    async getFrozenOrders() {
+      const data = {
+        page: this.frozenPage,
+        size: 10,
+        status: 1
+      };
+      let res = await this.$post("/api/admin/order/get_frozen_coins", data);
+      if (res) {
+        this.frozenData = res.data.list;
+        this.frozenCount = res.data.totalCount * 1;
+        this.frozenCoins = res.data.waitUnfrozenCoins;
+        this.waitUnfrozenCount = res.data.waitUnfrozenCount;
+      }
+    },
+    async exportFrozenList(){
+      let url = window.location.host + "/api/admin/order/exportFrozen?status=1";
+      window.location.href = "http://" + url;
+    },
+    //账户余额
+    async getBalanceOrders() {
+      const data = {
+        page: this.balancePage,
+        size: 10,
+      };
+      let res = await this.$post("/api/admin/UserFinancial/getBalanceList", data);
+      if (res.status === 1) {
+        this.balanceData = res.data.list || [];
+        this.balanceCount = res.data.total * 1;
+        this.balanceTotal = res.data.totalBalance * 1;
+
+      }
+    },
+    async exportBalanceList(){
+      let url = window.location.host + "/api/admin/UserFinancial/exportBalance";
+      window.location.href = "http://" + url;
+    },
+    //薪资余额
+    async getIncomeOrders() {
+      const data = {
+        page: this.balancePage,
+        size: 10,
+      };
+      let res = await this.$post("/api/admin/UserFinancial/getIncomeList", data);
+      if (res.status === 1) {
+        this.incomeData = res.data.list || [];
+        this.incomeCount = res.data.total * 1;
+        this.incomeTotal = res.data.totalIncome * 1;
+
+      }
+    },
+    async exportIncomeList(){
+      let url = window.location.host + "/api/admin/UserFinancial/exportIncome";
+      window.location.href = "http://" + url;
+    },
+    handleClick(tab, event) {
+      return;
+      switch (tab.name){
+        case 'frozen':
+          this.getFrozenOrders();
+          break;
+      }
+    },
     handleJobCurrentChange(val) {
       this.jobPage = val;
       this.getJobOrders();
@@ -274,6 +521,10 @@ export default {
       this.hirePage = val;
       this.getHireOrders();
     },
+    handlefrozenCurrentChange(val) {
+      this.frozenPage = val;
+      this.getFrozenOrders();
+    },
     formatDate(time) {
       var now = new Date(time * 1000);
       var year = now.getFullYear();