Przeglądaj źródła

新增查学员的成绩

zhangyujun 3 lat temu
rodzic
commit
1c3369d7a4
5 zmienionych plików z 275 dodań i 1 usunięć
  1. 10 0
      src/api/area.js
  2. 9 0
      src/api/school.js
  3. 9 0
      src/api/score.js
  4. 246 0
      src/views/mocktestscore/index.vue
  5. 1 1
      vue.config.js

+ 10 - 0
src/api/area.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+export function areaInfoList(params){
+    return request({
+        url:"area/info/list",
+        params,
+        method:"get"
+
+    })
+
+}

+ 9 - 0
src/api/school.js

@@ -0,0 +1,9 @@
+import request from "@/utils/request";
+export function schoolInfoList(params){
+    return request({
+        url:"school/info/list",
+        method:"get",
+        params
+
+    })
+}

+ 9 - 0
src/api/score.js

@@ -0,0 +1,9 @@
+import request from "@/utils/request";
+export function scoreInfoList(params){
+    return request({
+        url:"score/info/list",
+        method:"get",
+        params
+
+    })
+}

+ 246 - 0
src/views/mocktestscore/index.vue

@@ -0,0 +1,246 @@
+<template>
+  <div>
+    <div class="pt20 pb20 pl20">
+      <el-form ref="table" inline :model="searchForm">
+        <el-form-item
+          prop="cityName"
+          :rules="[{ required: true, message: '请选择城市', trigger: 'blur' }]"
+          label=""
+        >
+          <el-select v-model="searchForm.cityName" placeholder="">
+            <el-option
+              @click.native="selectArea(item.code)"
+              v-for="(item, index) in cityList"
+              :value="item.name"
+              :label="item.name"
+              :key="index"
+              >{{ item.name }}</el-option
+            >
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          prop="areaName"
+          :rules="[{ required: true, message: '请选择区域', trigger: 'blur' }]"
+          label=""
+        >
+          <el-select clearable v-model="searchForm.areaName" placeholder="">
+            <el-option
+              @click.native="selectSchool(item.code)"
+              v-for="(item, index) in areaList"
+              :value="item.name"
+              :label="item.name"
+              :key="index"
+              >{{ item.name }}</el-option
+            >
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          prop="schoolName"
+          :rules="[{ required: true, message: '请选择驾校', trigger: 'blur' }]"
+          label=""
+        >
+          <el-select clearable v-model="searchForm.schoolName" placeholder="">
+            <el-option
+              v-for="(item, index) in schoolInfoList"
+              :value="item.schoolName"
+              :label="item.schoolName"
+              :key="index"
+              >{{ item.schoolName }}</el-option
+            >
+          </el-select>
+        </el-form-item>
+        <el-form-item label=""> 
+            <el-input v-model="searchForm.nickName" placeholder="按昵称查询"></el-input>
+        </el-form-item>
+        <el-form-item label="">
+          <el-button
+            class="ml20"
+            @click="getPage"
+            @keydown.enter="getPage"
+            type="primary"
+            >搜索</el-button
+          >
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="pl20 pr20">
+      <el-table v-loading="tableLoad" :data="tableData">
+        <el-table-column label="微信名" prop="nickName"></el-table-column>
+        <el-table-column label="微信头像" prop="extensionCount">
+          <template slot-scope="scope">
+            <img class="w40" :src="scope.row.headImage" />
+          </template>
+        </el-table-column>
+        <el-table-column sortable label="科目" prop="kskm"></el-table-column>
+        <el-table-column sortable label="分数" prop="score"></el-table-column>
+
+        <el-table-column sortable label="类型" prop="type"></el-table-column>
+
+        <!-- <el-table-column
+          sortable
+          label="消费金额"
+          prop="costCount"
+        ></el-table-column> -->
+        <!-- achievement -->
+      </el-table>
+    </div>
+    <!-- 分页的 -->
+    <el-pagination
+      @current-change="
+        (page) => {
+          searchForm.pageNum = page;
+          getPage();
+        }
+      "
+      background
+      layout="prev, pager, next"
+      :total="tableTotal"
+    >
+    </el-pagination>
+  </div>
+</template>
+
+<script>
+import proxyscoreApi from "@/api/proxyscore";
+import { areaInfoList } from "@/api/area";
+import { schoolInfoList } from "@/api/school";
+import { scoreInfoList } from "@/api/score";
+export default {
+  data() {
+    return {
+      searchForm: {
+        areaName: "",
+        cityName: "",
+        nickName: "",
+        pageNum: 1,
+        pageSize: 10,
+        schoolName: "",
+      },
+      tableData: [],
+      tableTotal: 0,
+      tableLoad: false,
+      schoolInfoList: [],
+      cityList: [],
+      areaList: [],
+      proviceList: [
+        {
+          createTime: "2022-03-14 16:52:59",
+          updateTime: null,
+          code: "35",
+          name: "福建省",
+          leaf: "0",
+          parentCode: "0",
+        },
+      ],
+    };
+  },
+  computed: {
+    allProxySCore() {
+      let allProxySCore = 0;
+      this.tableData.forEach((item) => {
+        allProxySCore +=
+          Number(item.achievementSettled) + Number(item.achievement);
+      });
+      return allProxySCore;
+    },
+  },
+  methods: {
+    selectSchool(areaCode) {
+      schoolInfoList({
+        areaCode: areaCode,
+      }).then((res) => {
+        this.schoolInfoList = res.rows;
+      });
+    },
+    selectArea(code) {
+      this.getAreaInfoList(code);
+    },
+    getPage() {
+      //   this.$refs["table"].validate((valid) => {});
+      this.tableLoad = true;
+      scoreInfoList(this.searchForm).then((res) => {
+        this.tableData = res.rows;
+        this.tableTotal = res.total;
+        this.tableLoad = false;
+      });
+    },
+    getCityInfoList(parentCode) {
+      areaInfoList({
+        code: null,
+        name: "",
+        pageNum: 1,
+        pageSize: 10,
+        parentCode,
+      }).then((res) => {
+        console.log(res);
+        this.cityList = res.rows;
+      });
+    },
+    getAreaInfoList(parentCode) {
+      areaInfoList({
+        code: null,
+        name: "",
+        pageNum: 1,
+        pageSize: 10,
+        parentCode,
+      }).then((res) => {
+        console.log(res);
+        this.areaList = res.rows;
+      });
+    },
+  },
+  mounted() {
+    this.getCityInfoList(35);
+    this.getPage();
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+// .draw-scroll {
+//   .el-drawer__container {
+//     ::v-deep .el-drawer__body {
+//       overflow-y: scroll;
+//     }
+//   }
+// }
+::v-deep .el-drawer__body {
+  overflow-y: scroll;
+}
+.overflow-scroll-y {
+  overflow-y: scroll;
+}
+.font14 {
+  font-size: 18px;
+}
+.lh36 {
+  line-height: 36px;
+}
+.pl20 {
+  padding-left: 20px;
+}
+.pr20 {
+  padding-right: 20px;
+}
+.pb20 {
+  padding-bottom: 20px;
+}
+.w40 {
+  width: 40px;
+}
+.font12 {
+  font-size: 14px;
+}
+.pt15 {
+  padding-top: 15px;
+}
+.ml10 {
+  margin-left: 10px;
+}
+.ml20 {
+  margin-left: 20px;
+}
+.pt20 {
+  padding-top: 20px;
+}
+</style>

+ 1 - 1
vue.config.js

@@ -34,7 +34,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: "https://jpcj-admin.zzxcx.net/twzd-admin",
+        target: process.env.NODE_ENV === "development"?"https://jpcj-admin1.zzxcx.net/twzd-admin":"https://jpcj-admin.zzxcx.net/twzd-admin",
         changeOrigin: true,
         pathRewrite: {
           ["^" + process.env.VUE_APP_BASE_API]: "",