From a11bc1bed7953b88213330582c2085f60b5a73b1 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期三, 12 六月 2024 15:01:56 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 admin/src/views/index.vue |  182 ++++++++++++++++++++++++++++++---------------
 1 files changed, 121 insertions(+), 61 deletions(-)

diff --git a/admin/src/views/index.vue b/admin/src/views/index.vue
index c7438de..72f3b49 100644
--- a/admin/src/views/index.vue
+++ b/admin/src/views/index.vue
@@ -1,41 +1,45 @@
 <template>
   <div class="home">
     <div class="home_total">
-      <div class="home_total_head">鍦ㄥ巶浜哄憳鎬昏</div>
+      <div class="home_total_head">鍦ㄥ洯浜哄憳鎬昏</div>
       <div class="home_total_list">
         <div class="home_total_list_item a">
-          <span>352</span>
+          <span>{{ head && head.workerCount ? head.workerCount : 0 }}</span>
           <span>鍐呴儴鍛樺伐</span>
         </div>
         <div class="home_total_list_item b">
-          <span>352</span>
+          <span>{{ head && head.visitorCount ? head.visitorCount : 0 }}</span>
           <span>璁垮</span>
         </div>
         <div class="home_total_list_item c">
-          <span>352</span>
+          <span>{{ head && head.lwCount ? head.lwCount : 0 }}</span>
           <span>鍔冲姟浜哄憳</span>
         </div>
         <div class="home_total_list_item d">
-          <span>352</span>
+          <span>{{
+            head && head.presenceCarCount ? head.presenceCarCount : 0
+          }}</span>
           <span>鍦ㄥ満杞﹁締</span>
         </div>
         <div class="home_total_list_item e">
-          <span>352</span>
-          <span>璁垮杞﹁締</span>
+          <span>{{ head && head.longCarCount ? head.longCarCount : 0 }}</span>
+          <span>闀挎湡杞﹁締</span>
         </div>
         <div class="home_total_list_item f">
-          <span>352</span>
-          <span>鍔冲姟杞﹁締</span>
+          <span>{{
+            head && head.visitorCarCount ? head.visitorCarCount : 0
+          }}</span>
+          <span>棰勭害杞﹁締</span>
         </div>
         <div class="home_total_list_item g">
-          <span>352</span>
+          <span>{{ head && head.supplierCount ? head.supplierCount : 0 }}</span>
           <span>渚涘簲鍟�</span>
         </div>
       </div>
     </div>
     <div class="home_charts">
       <div class="home_charts_item">
-        <div class="home_charts_item_label">鍦ㄥ巶浜哄憳鍗犳瘮</div>
+        <div class="home_charts_item_label">鍦ㄥ洯浜哄憳鍗犳瘮</div>
         <div class="home_charts_item_charts" id="chart1"></div>
       </div>
       <div class="home_charts_item">
@@ -44,55 +48,56 @@
       </div>
     </div>
     <div class="home_table">
-      <div class="home_table_head">瓒呮椂棰勮浜哄憳(3)</div>
+      <div class="home_table_head">瓒呮椂棰勮浜哄憳({{ total }})</div>
       <div class="home_table_box">
         <el-table
           :data="list"
-          :header-cell-style="{background: '#dcdde2', color: 'rgb(51, 51, 51)'}"
+          :header-cell-style="{
+            background: '#dcdde2',
+            color: 'rgb(51, 51, 51)',
+          }"
           border
-          style="width: 100%">
-          <el-table-column
-            prop="date"
-            label="璁垮濮撳悕">
+          style="width: 100%"
+        >
+          <el-table-column prop="name" label="璁垮濮撳悕"> </el-table-column>
+          <el-table-column prop="phone" label="璁垮鐢佃瘽"> </el-table-column>
+          <el-table-column prop="companyName" label="璁垮缁勭粐">
           </el-table-column>
-          <el-table-column
-            prop="name"
-            label="璁垮鐢佃瘽">
+          <el-table-column label="浜哄憳绫诲瀷">
+            <template slot-scope="{ row }">
+              <span v-if="row.type === 0">鍔冲姟璁垮</span>
+              <span v-if="row.type === 1">鏅�氳瀹�</span>
+              <span v-if="row.type === 2">鍐呴儴浜哄憳</span>
+            </template>
           </el-table-column>
-          <el-table-column
-            prop="address"
-            label="璁垮鍏徃">
+          <el-table-column prop="outDate" label="鎺堟潈鍒版湡鏃堕棿">
           </el-table-column>
-          <el-table-column
-            prop="address"
-            label="鍏徃绫诲瀷">
+          <el-table-column label="鐘舵��">
+            <template slot-scope="{ row }">
+              <span v-if="row.outStatus === 0">鏈秴鏃�</span>
+              <span style="color: red" v-if="row.outStatus === 1">宸茶秴鏃�</span>
+              <span v-if="row.outStatus === 2">鍗冲皢瓒呮椂</span>
+            </template>
           </el-table-column>
-          <el-table-column
-            prop="address"
-            label="鎺堟潈鍒版湡鏃堕棿">
-          </el-table-column>
-          <el-table-column
-            prop="address"
-            label="鐘舵��">
-          </el-table-column>
-          <el-table-column
-            prop="address"
-            label="澶勭悊"
-            width="80">
+          <el-table-column prop="address" label="澶勭悊" width="80">
             <template slot-scope="scope">
-              <el-button type="text">绂诲満</el-button>
+              <el-button
+                type="text"
+                @click="departure(scope.row.id)"
+                v-if="scope.row.outStatus === 1"
+                >绂诲巶</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
         <el-pagination
-          style="margin-top: 20px;"
-          @size-change="handleSizeChange"
+          style="margin-top: 20px"
           @current-change="handleCurrentChange"
           :current-page="page"
-          :page-sizes="[100, 200, 300, 400]"
-          :page-size="100"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="400">
+          :page-size="10"
+          layout="total, prev, pager, next, jumper"
+          :total="total"
+        >
         </el-pagination>
       </div>
     </div>
@@ -101,26 +106,85 @@
 
 <script>
 import * as echarts from 'echarts'
+import { body, head, timeoutPage, level } from '@/api/business/staging'
 export default {
   name: 'Index',
-  data () {
+  data() {
     return {
+      head: null,
       list: [],
+      total: 0,
+      data1: [],
+      data2: [[], []],
       page: 1
     }
   },
-  mounted () {
-    this.getcharts1()
-    this.getcharts2()
+  created() {
+    this.getHeader()
+    this.getData()
+  },
+  mounted() {
+    // this.getcharts2()
   },
   methods: {
-    handleSizeChange () {
+    departure(id) {
+      this.$confirm('纭畾绂诲満鍚�, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        level(id)
+          .then(res => {
+            this.page = 1
+            this.getData()
+          })
+      }).catch(() => {
 
+      })
     },
-    handleCurrentChange () {
-
+    getData() {
+      timeoutPage({
+        capacity: 10,
+        page: this.page,
+        model: {}
+      }).then(res => {
+        this.list = res.records
+        this.total = res.total
+      })
     },
-    getcharts1 () {
+    getHeader() {
+      head().then(res => {
+        this.head = res
+      })
+      body().then(res => {
+        this.data1 = res.retentionUsers.map(item => {
+          let name = ''
+          if (item.memberType === 0) {
+            name = '鍔冲姟璁垮'
+          } else if (item.memberType === 1) {
+            name = '鏅�氳瀹�'
+          } else if (item.memberType === 2) {
+            name = '鍐呴儴鍛樺伐'
+          }
+          return {
+            value: item.memberCount,
+            name
+          }
+        })
+        let arr1 = res.companyUsers.map(item => item.companyName)
+        let arr2 = res.companyUsers.map(item => item.memberCount)
+        if (arr1.length > 0) {
+          this.data2 = [arr1, arr2]
+          this.getcharts2()
+        }
+        this.getcharts1()
+      })
+    },
+    handleCurrentChange(page) {
+      this.page = page
+      this.getData()
+    },
+    getcharts1() {
       const myChart = echarts.init(document.getElementById('chart1'))
       // 缁樺埗鍥捐〃
       myChart.setOption({
@@ -143,11 +207,7 @@
             label: {
               formatter: '{b} {d}%'
             },
-            data: [
-              { value: 1048, name: '鍔冲姟浜哄憳' },
-              { value: 735, name: '鍐呴儴鍛樺伐' },
-              { value: 580, name: '璁垮' }
-            ],
+            data: this.data1,
             itemStyle: {
               normal: {
                 color: function (colors) {
@@ -171,7 +231,7 @@
         ]
       })
     },
-    getcharts2 () {
+    getcharts2() {
       const myChart = echarts.init(document.getElementById('chart2'))
       myChart.setOption({
         tooltip: {
@@ -186,13 +246,13 @@
         },
         yAxis: {
           type: 'category',
-          data: ['娴峰悍濞佽', '鍐滀笟鏈夐檺鍏徃', '瀛楀箷涔熸湁闄愬叕鍙�', '涓囪揪鑲′唤鏈夐檺鍏徃', '闃块噷宸村反闆嗗洟鏈夐檺鍏徃', '鑵捐闆嗗洟鏈夐檺鍏徃']
+          data: this.data2[0]
         },
         series: [
           {
             realtimeSort: true,
             type: 'bar',
-            data: [1, 2, 3, 4, 5, 6],
+            data: this.data2[1],
             itemStyle: {
               normal: {
                 color: '#fc8251'

--
Gitblit v1.9.3