|
@@ -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>
|