cfofpp 5 сар өмнө
parent
commit
7ae8ec9b33

+ 15 - 5
src/views/distributionnetwork/secure/components/RankingTable.vue

@@ -3,16 +3,25 @@
   <el-card :header="titleEnum[type]" class="h-full" style="position: relative">
     <div slot="header" class="clearfix">
       <span>{{ titleEnum[type] }}</span>
-      <el-radio-group
-        style="position: absolute; right: 8px; top: 8px"
+      <el-select
+        style="width: 90px; position: absolute; right: 108px; top: 8px"
         v-if="type == 1"
         v-model="queryParams.teamType"
         size="mini"
         @change="getList"
       >
-        <el-radio-button label="1">内部</el-radio-button>
-        <el-radio-button label="2">外部</el-radio-button>
-      </el-radio-group>
+        <el-option label="内部" value="1"></el-option>
+        <el-option label="外部" value="2"></el-option>
+      </el-select>
+      <el-select
+        size="mini"
+        style="width: 90px; position: absolute; right: 8px; top: 8px"
+        v-model="queryParams.isBlack"
+        @change="getList"
+      >
+        <el-option label="红榜" value=""></el-option>
+        <el-option label="黑榜" value="1"></el-option>
+      </el-select>
     </div>
     <el-form ref="queryForm" size="small" :inline="true">
       <el-form-item label="时间维度" prop="type">
@@ -146,6 +155,7 @@ export default {
         reportDate: moment(new Date()).format("yyyyMM"),
         reportYear: null,
         teamType: "1",
+        isBlack: "",
       },
       dataList: [],
     };

+ 1 - 1
src/views/home/components/map/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="h-full">
-    <div class="c-title">
+    <div class="c-title flex justify-between">
       <span>积分排行榜</span>
       <el-date-picker
         size="mini"

+ 71 - 50
src/views/home/components/points-ranking/index.vue

@@ -3,14 +3,19 @@
     <div class="c-title flex-center">
       <span>积分排行榜</span>
       <div>
-        <el-select style="width: 110px" v-model="tabType" size="mini">
+        <el-select
+          style="width: 110px"
+          v-model="tabType"
+          size="mini"
+          @change="getList"
+        >
           <el-option label="班组" :value="1"></el-option>
           <el-option label="工作负责人" :value="2"></el-option>
           <el-option label="作业人员" :value="3"></el-option>
         </el-select>
         <el-select
           class="ml10"
-          style="width: 80px"
+          style="width: 90px"
           v-if="tabType == 1"
           v-model="queryParams.teamType"
           size="mini"
@@ -19,23 +24,46 @@
           <el-option label="内部" :value="1"></el-option>
           <el-option label="外部" :value="2"></el-option>
         </el-select>
-        <el-radio-group
+        <el-select
+          class="ml10"
           size="mini"
+          style="width: 90px"
           v-model="current"
           @change="getList"
-          class="ml10"
         >
-          <el-radio-button label="红榜"></el-radio-button>
-          <el-radio-button label="黑榜"></el-radio-button>
-        </el-radio-group>
+          <el-option label="红榜" value=""></el-option>
+          <el-option label="黑榜" value="1"></el-option>
+        </el-select>
       </div>
     </div>
 
     <el-table
       :v-loading="loading"
       :data="tableData"
-      style="width: 100%; margin-top: 8px"
       height="100%"
+      v-if="tabType == 1"
+    >
+      <el-table-column prop="rankNum" label="排名" width="80" align="center">
+        <template slot-scope="scope">
+          <img
+            class="icon-box"
+            v-if="scope.$index < 3"
+            :src="iconMap[`no${scope.$index + 1}`]"
+          />
+          <span v-else> {{ scope.$index + 1 }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="teamName" label="队伍名称" align="center">
+      </el-table-column>
+      <el-table-column prop="address" label="得分" align="center">
+      </el-table-column>
+    </el-table>
+
+    <el-table
+      :v-loading="loading"
+      :data="tableData"
+      height="100%"
+      v-if="tabType == 2"
     >
       <el-table-column prop="rankNum" label="排名" width="80" align="center">
         <template slot-scope="scope">
@@ -47,33 +75,33 @@
           <span v-else> {{ scope.$index + 1 }}</span>
         </template>
       </el-table-column>
-      <el-table-column
-        prop="companyName"
-        label="单位"
-        align="center"
-        v-if="tabType != 1"
-      >
+      <el-table-column prop="companyName" label="单位" align="center">
+      </el-table-column>
+      <el-table-column prop="managerName" label="负责人名称" align="center">
+      </el-table-column>
+      <el-table-column prop="address" label="得分" align="center">
       </el-table-column>
-      <el-table-column
-        v-if="tabType == 1"
-        prop="teamName"
-        label="队伍名称"
-        align="center"
-      >
+    </el-table>
+
+    <el-table
+      :v-loading="loading"
+      :data="tableData"
+      height="100%"
+      v-if="tabType == 3"
+    >
+      <el-table-column prop="rankNum" label="排名" width="80" align="center">
+        <template slot-scope="scope">
+          <img
+            class="icon-box"
+            v-if="scope.$index < 3"
+            :src="iconMap[`no${scope.$index + 1}`]"
+          />
+          <span v-else> {{ scope.$index + 1 }}</span>
+        </template>
       </el-table-column>
-      <el-table-column
-        v-if="tabType == 2"
-        prop="managerName"
-        label="负责人名称"
-        align="center"
-      >
+      <el-table-column prop="companyName" label="单位" align="center">
       </el-table-column>
-      <el-table-column
-        v-if="tabType == 3"
-        prop="workUserName"
-        label="作业人员"
-        align="center"
-      >
+      <el-table-column prop="workUserName" label="作业人员" align="center">
       </el-table-column>
       <el-table-column prop="address" label="得分" align="center">
       </el-table-column>
@@ -85,6 +113,7 @@
 import no1 from "@/assets/images/名次-第1名.png";
 import no2 from "@/assets/images/名次-第2名.png";
 import no3 from "@/assets/images/名次-第3名.png";
+import { teamRankList } from "@/api/secure/pdm-score-rank";
 export default {
   data() {
     return {
@@ -99,29 +128,20 @@ export default {
       queryParams: {
         teamType: 1,
       },
-      tableData: [
-        {
-          date: "1",
-          name: "王小虎",
-          address: "1212",
-        },
-        {
-          date: "2",
-          name: "王小虎",
-          address: "12",
-        },
-        {
-          date: "3",
-          name: "王小虎",
-          address: "12",
-        },
-      ],
+      tableData: [],
     };
   },
+  created() {
+    this.getList();
+  },
   methods: {
     getList() {
       this.loading = true;
-      this.loading = false;
+      teamRankList(this.queryParams).then((response) => {
+        this.tableData = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
     },
   },
 };
@@ -135,6 +155,7 @@ export default {
 }
 .ranking-c {
   height: 100%;
+  width: 100%;
 }
 ::v-deep {
   .el-table tr {