ZhaoJing hace 1 año
padre
commit
43badfce1c

+ 8 - 6
src/router/index.js

@@ -453,12 +453,14 @@ export const allRoutes = [
             name: "wypj_xsewm",
             component: () => import("@/views/wypj/xsewm/index.vue"),
             meta: { title: "学生二维码" },
-        }, {
-            path: "/wypj/dyewm",
-            name: "wypj_dyewm",
-            component: () => import("@/views/wypj/dyewm/index.vue"),
-            meta: { title: "德育二维码" },
-        }]
+            },
+            // {
+            // path: "/wypj/dyewm",
+            // name: "wypj_dyewm",
+            // component: () => import("@/views/wypj/dyewm/index.vue"),
+            // meta: { title: "德育二维码" },
+            // }
+        ]
     },
     {
         path: '/scancode',

+ 7 - 1
src/views/wypj/dyewm/api.js

@@ -79,4 +79,10 @@ export const dyewm_export = (data = {}) =>
             page: data.page,
             limit: data.limit
         },
-    })
+    })
+
+export const xjk_list = (data = {}) =>
+  request({
+    url: "/xddy/dygl_xsxjk/index",
+    data,
+  });

+ 163 - 69
src/views/wypj/dyewm/index.vue

@@ -2,33 +2,15 @@
   <div>
     <el-form :inline="true" :model="firstForm">
       <el-form-item class="mr10" label="德育维度:">
-        <el-select
-          v-model="firstForm.dywd"
-          placeholder="请选择维度"
-          @change="getListData"
-        >
+        <el-select v-model="firstForm.dywd" placeholder="请选择维度" @change="getListData">
           <el-option value="">全部</el-option>
-          <el-option
-            v-for="item in wdList"
-            :label="item.xdww_name"
-            :value="item.xdww_id"
-            :key="item.xdww_id"
-          ></el-option>
+          <el-option v-for="item in wdList" :label="item.xdww_name" :value="item.xdww_id" :key="item.xdww_id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item class="mr10" label="使用状态:">
-        <el-select
-          v-model="firstForm.syzt"
-          placeholder="请选择状态"
-          @change="getListData"
-        >
+        <el-select v-model="firstForm.syzt" placeholder="请选择状态" @change="getListData">
           <el-option value="">全部</el-option>
-          <el-option
-            v-for="item in ztList"
-            :label="item.label"
-            :value="item.value"
-            :key="item.value"
-          ></el-option>
+          <el-option v-for="item in ztList" :label="item.label" :value="item.value" :key="item.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item class="mr10" label="使用学生:">
@@ -36,19 +18,11 @@
       </el-form-item>
       <el-button type="primary" @click="getListData">搜索</el-button>
     </el-form>
-    <el-button
-      type="primary"
-      @click="exportAll"
-      :disabled="tableData.length === 0"
-      >导出</el-button
-    >
-    <el-table
-      :data="tableData"
-      tooltip-effect="dark"
-      class="mt20"
-      @selection-change="handleSelectionChange"
-      style="width: 100%"
-    >
+    <el-button type="primary" @click="handleAdd">添加</el-button>
+    <el-button type="primary" @click="exportAll" :disabled="tableData.length === 0">导出</el-button>
+    <el-button type="danger" @click="delData" :disabled="multipleSelection.length === 0">删除</el-button>
+    <el-table :data="tableData" tooltip-effect="dark" class="mt20" @selection-change="handleSelectionChange"
+      style="width: 100%">
       <el-table-column type="selection" align="center" width="55">
       </el-table-column>
 
@@ -58,12 +32,7 @@
       </el-table-column>
       <el-table-column label="使用学生" prop="xdwd_syxs" width="100">
       </el-table-column>
-      <el-table-column
-        label="使用时间"
-        prop="xdwd_sysj"
-        align="center"
-        width="150"
-      >
+      <el-table-column label="使用时间" prop="xdwd_sysj" align="center" width="150">
       </el-table-column>
       <el-table-column label="二维码">
         <template slot-scope="scope">
@@ -71,44 +40,47 @@
         </template>
       </el-table-column>
     </el-table>
-    <footer
-      class="flex-item-none"
-      style="display: flex; justify-content: flex-end; margin-top: 30px"
-    >
-      <el-pagination
-        background
-        layout="total,prev, pager, next"
-        :page-size="limit"
-        :total="total"
-        :current-page.sync="cur_page"
-        @current-change="handleCurrentChange"
-      ></el-pagination>
+    <footer class="flex-item-none" style="display: flex; justify-content: flex-end; margin-top: 30px">
+      <el-pagination background layout="total,prev, pager, next" :page-size="limit" :total="total"
+        :current-page.sync="cur_page" @current-change="handleCurrentChange"></el-pagination>
     </footer>
     <el-dialog title="二维码详情" :visible.sync="dialogVisible" width="300px">
       <div class="text-center">
-        <vue-qr
-          :size="200"
-          :margin="0"
-          :auto-color="true"
-          :dot-scale="1"
-          :text="appSrc"
-          colorDark="white"
-          colorLight="black"
-        />
+        <vue-qr :size="200" :margin="0" :auto-color="true" :dot-scale="1" :text="appSrc" colorDark="white"
+          colorLight="black" />
       </div>
 
       <div slot="footer" class="text-center">
-        <el-button type="primary" @click="dialogVisible = false"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog title="添加" :visible.sync="addVisible" width="500px">
+      <el-form :model="addForm" ref="addForm" :rules="rules">
+        <el-form-item label="德育维度" prop="dywd">
+          <el-cascader ref="cascader" :props="props" :options="options" :show-all-levels="false" @change="handleChange"
+            v-model="addForm.dywd" placeholder="请选择德育维度"></el-cascader>
+        </el-form-item>
+        <el-form-item label="使用学生" prop="xs">
+          <el-select v-model="addForm.xs" filterable reserve-keyword placeholder="请输入学生姓名" remote clearable
+            :remote-method="remoteMethod" :loading="xsLoading">
+            <el-option v-for="item in xsList" :key="item.xdx_id" :label="item.xdx_xsxm" :value="item.xdx_xsxm">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="text-center">
+        <el-button @click="addVisible = false">取 消</el-button>
+        <el-button :disabled="isButton" type="primary" @click="formSubmit('addForm')">确 定</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 <script>
 import VueQr from "vue-qr";
-import { dyewm_list, dyewm_export, wdsz_list } from "./api";
+import request from '@/utils/request';
+import { dyewm_list, dyewm_export, wdsz_list, xjk_list, dyewm_del } from "./api";
 import { useUserStore } from "@/stores/user";
+import { wdpfx_list } from '../wdsz/wdpfx/api';
 const { token } = useUserStore();
 export default {
   name: "index",
@@ -117,6 +89,7 @@ export default {
   },
   data() {
     return {
+      xsLoading: false,
       limit: 10,
       total: 12,
       cur_page: 1,
@@ -141,6 +114,27 @@ export default {
       appSrc: "",
       dialogVisible: false,
       multipleSelection: [],
+      addVisible: false,
+      xsList: [],
+      addForm: {
+        dywd: '',
+        xs: '',
+      },
+      xdwwp_name: '',
+      options: [],
+      props: {
+        children: 'children'
+      },
+      xsData: [],
+      rules: {
+        dywd: [
+          { required: true, message: "请选择评分项", trigger: "submit" },
+        ],
+        xs: [
+          { required: true, message: "请输入学生姓名", trigger: "submit" },
+        ],
+      },
+      isButton: false,
     };
   },
   methods: {
@@ -152,8 +146,42 @@ export default {
       };
       wdsz_list(data).then((res) => {
         this.wdList = res.data.page_data;
+        this.wdList.forEach(item => {
+          let obj = {
+            value: item.xdww_id,
+            label: item.xdww_name,
+            children: [],
+          }
+          let arr2 = [];
+          item?.xddy_dygl_wypj_wdpfx.forEach(key => {
+            arr2.push({
+              value: key.xdwwp_id,
+              label: key.xdwwp_name,
+            });
+          })
+          obj.children = arr2;
+          this.options.push(obj);
+        })
       });
     },
+    remoteMethod(query) {
+      if (query !== '') {
+        this.xsLoading = true;
+        xjk_list({ limit: 999, page: 1, keyword: query }).then(res => {
+          if (res.code == '1') {
+            this.xsData = res.data.page_data;
+            this.xsLoading = false;
+            this.xsList = this.xsData.filter(item => {
+              return item.xdx_xsxm.toLowerCase()
+                .indexOf(query.toLowerCase()) > -1;
+            });
+          }
+        })
+
+      } else {
+        this.xsList = [];
+      }
+    },
     handleCurrentChange(val) {
       this.cur_page = val;
       this.getListData();
@@ -175,7 +203,73 @@ export default {
         this.total = Number(res.data.total_rows);
       });
     },
-
+    handleAdd() {
+      this.isButton = false;
+      this.addVisible = true;
+      this.addForm = {
+        dywd: '',
+        xs: '',
+      }
+      this.xsList = [];
+    },
+    handleChange() {
+      let nodesInfo = this.$refs['cascader'].getCheckedNodes()[0];
+      this.xdwwp_name = nodesInfo.label;
+      this.addForm.dywd = nodesInfo.value;
+    },
+    formSubmit(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.isButton = true;
+          let data = {
+            xddy_dygl_wypj_dyewm: {
+              xdwd_syxs: this.addForm.xs,
+              xdwwp_id: this.addForm.dywd,
+              xdwwp_name: this.xdwwp_name,
+            }
+          };
+          request({
+            url: '/xddy/dygl_wypj_dyewm/add',
+            data,
+          }).then(res => {
+            if (res.code == 1) {
+              this.$message({
+                message: res.msg,
+                type: "success",
+              });
+              this.isButton = true;
+              this.addVisible = false;
+              this.getListData();
+            } else {
+              this.$message({
+                message: res.msg,
+                type: "error",
+              });
+            }
+          })
+        } else {
+          this.isButton = false
+        }
+      })
+    },
+    delData() {
+      this.$confirm("确认删除这些信息?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          dyewm_del({ xdwd_id: this.multipleSelection.join(',') }).then(res => {
+            if (res.code == '1') {
+              this.$message({
+                message: "删除成功!",
+                type: "success",
+              });
+              this.getListData();
+            }
+          })
+        }).catch(() => { });
+    },
     exportAll() {
       let link = "";
       if (this.multipleSelection.length === 0) {
@@ -188,7 +282,7 @@ export default {
           window.globalVariables.api +
           "/xddy/dygl_wypj_dyewm/index?api=xls&page=1&limit=10000&token=" +
           token +
-          "&xdww_id=" +
+          "&xdwd_id=" +
           this.multipleSelection.join(",");
       }
       window.open(link, "_blank");
@@ -201,7 +295,7 @@ export default {
     handleSelectionChange(val) {
       this.multipleSelection = [];
       for (let i in val) {
-        this.multipleSelection.push(val[i].xdww_id);
+        this.multipleSelection.push(val[i].xdwd_id);
       }
     },
   },

+ 102 - 12
src/views/wypj/scanCode.vue

@@ -2,7 +2,7 @@
     <div class="box">
         <div class="box_title">五育评价</div>
         <el-divider></el-divider>
-        <el-form :model="newForm" ref="newForm" :rules="rules" label-width="20vw" class="box_form">
+        <el-form :model="newForm" ref="newForm" :rules="rules" label-width="20vw" class="box_form" label-position="left">
             <el-form-item label="学生姓名" prop="wdwp_xs_xm">
                 <el-input disabled v-model="newForm.wdwp_xs_xm" placeholder="请输入学生姓名"></el-input>
             </el-form-item>
@@ -15,22 +15,29 @@
                 <div v-for="pf in item.xddy_dygl_wypj_wdpfx" :key="pf.xdwwp_id" class="px_15 flex"
                     style="margin-bottom: 5vw;">
                     <span class="pf_name"> {{ pf.xdwwp_name }} </span>
-                    <el-input type="number" min="0" max="100" v-model="pf.fs" />
+                    <el-input class="pf_name_width" type="number" min="0" max="100" v-model="pf.fs" />
                 </div>
             </div>
-            <el-form-item label="评分用户类型" prop="wdwp_pfyhlx" style="margin-top: 5vw;">
+            <el-form-item label="评分用户类型" prop="wdwp_pfyhlx" style="margin-top: 5vw;" label-width="42vw">
                 <!-- <select class="select" v-model="newForm.wdwp_pfyhlx">
                     <option value="1">教师</option>
                     <option value="2">家长</option>
                 </select> -->
-                <el-select v-model="newForm.wdwp_pfyhlx" popper-class="pop-select">
+                <el-select class="pf_name_width" v-model="newForm.wdwp_pfyhlx" popper-class="pop-select">
                     <el-option value="1" label="教师">教师</el-option>
                     <el-option value="2" label="家长">家长</el-option>
                 </el-select>
             </el-form-item>
+            <el-form-item label="评分用户姓名" prop="wdwp_pfyhlx" style="margin-top: 5vw;" label-width="42vw">
+                <el-input class="pf_name_width" v-model="newForm.wdwp_pfyh_xm" />
+            </el-form-item>
+            <el-form-item label="评分时间" prop="wdwp_pfyhlx" style="margin-top: 5vw;" label-width="42vw">
+                <el-date-picker popper-class="elDatePicker" v-model="newForm.wdwp_pfyh_sj" type="datetime"
+                    placeholder="选择日期时间" value-format="yyyy-MM-dd HH:mm:ss">
+                </el-date-picker>
+            </el-form-item>
         </el-form>
         <div slot="footer" class="text-center">
-            <!-- <el-button @click="editDialogShow = false">取 消</el-button> -->
             <el-button type="primary" @click="newFormSubmit('newForm')">确 定</el-button>
         </div>
     </div>
@@ -55,7 +62,9 @@ export default {
             newForm: {
                 wdwp_xs_xjh: '',
                 wdwp_xs_xm: '11',
-                wdwp_pfyhlx: '1'
+                wdwp_pfyhlx: '1',
+                wdwp_pfyh_xm: '',
+                wdwp_pfyh_sj: new Date(),
             },
             hdData: [],
             title: '',
@@ -117,7 +126,10 @@ export default {
                         wdwp_sm_id: this.params.sm_id,
                         wdwp_xs_xjh: this.newForm.wdwp_xs_xjh,
                         wdwp_xs_xm: this.newForm.wdwp_xs_xm,
+                        wdwp_pfyh_xm: this.newForm.wdwp_pfyh_xm,
+                        wdwp_pfyh_sj: this.newForm.wdwp_pfyh_sj
                     };
+                    console.log(data,'33333333');
                     request({
                         url: '/xddy/dygl_wypj_pjjl/batch_pj',
                         data,
@@ -203,6 +215,18 @@ export default {
             font-size: 4vw;
         }
 
+        .pf_name_width {
+            .el-input__inner {
+                width: 30vw;
+            }
+        }
+
+        .el-date-editor {
+            .el-input__inner {
+                width: 50vw;
+            }
+        }
+
         // .pop_select {
         //     font-size: 4vw !important;
         // }
@@ -213,7 +237,7 @@ export default {
         padding: 20px 40px;
         box-sizing: content-box;
         border-radius: 20px;
-        margin-top:15vw;
+        margin-top: 15vw;
     }
 
     // .el-select-dropdown__item {
@@ -226,17 +250,83 @@ export default {
 .pop-select {
     .el-select-dropdown__item {
         font-size: 4vw !important;
-        height: 6vw;
+        height: 7vw;
         line-height: 6vw;
         padding: 0 10px;
     }
 }
 
 
+
 .pf_name {
-    min-width: 17vw;
-    text-align: right;
-    padding-right: 5px;
+    min-width: 40vw;
+    // text-align: right;
+    padding-left: 5vw;
     color: #555;
     font-weight: 400;
-}</style>
+}
+</style>
+<style lang="scss">
+.elDatePicker.el-picker-panel {
+    width: 53vw !important;
+    padding: 0 5px;
+    box-sizing: content-box;
+
+    .el-picker-panel__content {
+        width: 95%;
+        font-size: 4vw;
+    }
+    .el-input{
+        padding: 5px 0;
+    }
+    .el-input__inner{
+        height: 6vw;
+    }
+    .el-input__inner,
+    .el-date-picker__header-label,
+    .el-date-table,.el-button {
+        font-size: 4vw !important;
+    }
+
+    .el-date-picker__header-label {
+        line-height: 5vw;
+    }
+
+    .el-picker-panel__icon-btn {
+        font-size: 4vw !important;
+
+    }
+
+    .el-date-table td div {
+        height: 50px;
+    }
+
+    .el-date-table td span {
+        width: 50px;
+        height: 50px;
+        line-height: 50px;
+    }
+    .el-time-panel{
+        width: 100%;
+    }
+    .el-time-spinner__item{
+        font-size: 3vw;
+        height: 50px;
+        line-height: 50px;
+    }
+    .el-time-panel__btn{
+        font-size: 3vw;
+    }
+    .el-time-spinner__wrapper{
+        max-height: 300px;
+    }
+    .el-date-table td.current:not(.disabled) span {
+        color: #FFF;
+        background-color: #409EFF;
+    }
+    .el-time-panel__footer{
+        height: 60px;
+        line-height: 60px;
+    }
+}
+</style>

+ 25 - 18
src/views/wypj/wypj/index.vue

@@ -5,7 +5,7 @@
         <h3 class="title">五育占比</h3>
         <div id="pieChart" style="height: 450px"></div>
       </div>
-      <div class="ml20 flex-1 content-box">
+      <!-- <div class="ml20 flex-1 content-box">
         <h3 class="title">点评率</h3>
         <div class="mt15 text-right pr20">
           <el-select
@@ -21,7 +21,7 @@
           </el-select>
         </div>
         <div id="lineChart" style="height: 410px"></div>
-      </div>
+      </div> -->
     </div>
     <div class="mt20 content-box">
       <!-- <h3 class="title">成长树</h3> -->
@@ -48,8 +48,8 @@
         </li>
       </ul> -->
       <!-- <div class="mt30 text-center"> -->
-        <!-- <img src="@/assets/tree.png" class="w60" alt="" /> -->
-        <theTree />
+      <!-- <img src="@/assets/tree.png" class="w60" alt="" /> -->
+      <theTree />
       <!-- </div> -->
     </div>
   </div>
@@ -88,18 +88,18 @@ export default {
     },
     getWyData() {
       let data = {
-        grade_id: this.grade,
+        // grade_id: this.grade,
       };
       wypj_data(data).then((res) => {
         if (res.code == 1) {
           this.content = res.data.content_json;
           if (Object.keys(res.data.content_json).length != 0) {
-            this.curInfo = res.data.content_json.dpl[0];
+            // this.curInfo = res.data.content_json.dpl[0];
           }
 
           this.$nextTick(() => {
             this.getPieBox();
-            this.getLineBox();
+            // this.getLineBox();
           });
         }
       });
@@ -126,7 +126,7 @@ export default {
             type: "pie",
             radius: [50, 120],
             center: ["50%", "50%"],
-            roseType: "area",
+            // roseType: "area",
             label: {
               show: true,
               position: "outside",
@@ -134,10 +134,17 @@ export default {
               fontSize: 14,
               color: "#333",
             },
+             emphasis: {
+              label: {
+                show: true,
+                fontSize: 20,
+                fontWeight: 'bold'
+              }
+            },
             itemStyle: {
               borderRadius: 0,
             },
-            data: this.content.wyzb,
+            data: this.content,
           },
         ],
       };
@@ -184,14 +191,14 @@ export default {
 
       option && myChart.setOption(option);
     },
-    switchGrade() {
-      for (let i in this.content.dpl) {
-        if (this.grade == this.content.dpl[i].grade_id) {
-          this.curInfo = this.content.dpl[i];
-        }
-      }
-      this.getLineBox();
-    },
+    // switchGrade() {
+    //   for (let i in this.content.dpl) {
+    //     if (this.grade == this.content.dpl[i].grade_id) {
+    //       this.curInfo = this.content.dpl[i];
+    //     }
+    //   }
+      // this.getLineBox();
+    // },
   },
   mounted() {
     this.getGradeList();
@@ -230,7 +237,7 @@ export default {
     font-size: 12px;
     color: #171721;
 
-    & + li {
+    &+li {
       margin-left: 40px;
     }
 

+ 12 - 12
src/views/wypj/xsewm/api.js

@@ -1,16 +1,9 @@
 import request from '@/utils/request';
 export const xsewm_list = (data = {}) =>
-    request({
-        url: '/xddy/dygl_wypj_xsewm/index',
-        data: {
-            page: data.page,
-            limit: data.limit,
-            keyword: data.keyword,
-            grade_id: data.grade_id,
-            class_id: data.class_id,
-            xdwx_xsxh:data.xdwx_xsxh
-        }
-    })
+  request({
+    url: "/xddy/dygl_xsxjk/index",
+    data,
+  });
 export const xsewm_add = (data = {}) =>
     request({
         url: '/xddy/dygl_wypj_xsewm/add',
@@ -99,4 +92,11 @@ export const class_search = (data = {}) =>
             rxnf: data.rxnf,
 
         }
-    })
+    })
+
+export const wypj_pf = (data = {}) => {
+  return request({
+      url: "/xddy/dygl_wypj_pjjl/index",
+      data,
+    });
+}

+ 111 - 99
src/views/wypj/xsewm/index.vue

@@ -2,61 +2,26 @@
   <div>
     <el-form :inline="true" :model="firstForm">
       <el-form-item label="年级:">
-        <el-select
-          v-model="firstForm.grade"
-          placeholder="请选择年级"
-          @change="switchGrade"
-        >
-          <el-option
-            v-for="item in gradeList"
-            :label="item.grade_name"
-            :value="item.grade_id"
-          ></el-option>
+        <el-select clearable v-model="firstForm.grade" placeholder="请选择年级" @change="switchGrade">
+          <el-option v-for="item in gradeList" :label="item.grade_name" :value="item.grade_id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="班级:">
-        <el-select
-          v-model="firstForm.class"
-          placeholder="请选择班级"
-          clearable
-          @change="getListData"
-        >
-          <el-option
-            v-for="item in classList"
-            :label="item.class_name"
-            :value="item.class_num"
-          ></el-option>
+        <el-select v-model="firstForm.class" placeholder="请选择班级" clearable @change="getListData">
+          <el-option v-for="item in classList" :label="item.class_name" :value="item.class_num"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item class="mr10" label="学生姓名:">
-        <el-input
-          v-model="firstForm.xsxm"
-          placeholder="输入学生姓名"
-          @change="getListData"
-        ></el-input>
+        <el-input v-model="firstForm.xsxm" placeholder="输入学生姓名" @change="getListData" clearable></el-input>
       </el-form-item>
       <el-form-item class="mr10" label="学籍号:">
-        <el-input
-          v-model="firstForm.xsxh"
-          placeholder="输入学籍号"
-          @change="getListData"
-        ></el-input>
+        <el-input v-model="firstForm.xsxh" placeholder="输入学籍号" @change="getListData" clearable></el-input>
       </el-form-item>
       <el-button type="primary" @change="getListData">搜索</el-button>
     </el-form>
-    <el-button
-      type="primary"
-      @click="exportAll"
-      :disabled="tableData.length === 0"
-      >导出</el-button
-    >
-    <el-table
-      :data="tableData"
-      tooltip-effect="dark"
-      class="mt20"
-      style="width: 100%"
-      @selection-change="handleSelectionChange"
-    >
+    <el-button type="primary" @click="exportAll" :disabled="tableData.length === 0">导出</el-button>
+    <el-table :data="tableData" tooltip-effect="dark" class="mt20" style="width: 100%"
+      @selection-change="handleSelectionChange">
       <el-table-column type="selection" align="center" width="55">
       </el-table-column>
 
@@ -64,63 +29,70 @@
       </el-table-column>
       <el-table-column label="班级" prop="class_name" width="100">
       </el-table-column>
-      <el-table-column label="学生姓名" prop="xdwx_xsxm" width="100">
+      <el-table-column label="学生姓名" prop="xdx_xsxm" width="120">
       </el-table-column>
-      <el-table-column
-        label="学籍号"
-        prop="xdwx_xsxh"
-        align="center"
-        width="150"
-      >
+      <el-table-column label="学籍号" prop="xdx_xsxh" align="center" width="220">
       </el-table-column>
-      <el-table-column label="性别" prop="xdwx_xsxb" width="100">
+      <el-table-column label="性别" prop="xdx_xb" width="120">
       </el-table-column>
       <el-table-column label="二维码">
         <template slot-scope="scope">
           <h3 class="qr-code hand" @click="showQr(scope.row)"></h3>
         </template>
       </el-table-column>
+      <el-table-column label="操作">
+        <template slot-scope="scope">
+          <el-button type="text" @click="handleWatch(scope.row)">查看评分</el-button>
+        </template>
+      </el-table-column>
     </el-table>
-    <footer
-      class="flex-item-none"
-      style="display: flex; justify-content: flex-end; margin-top: 30px"
-    >
-      <el-pagination
-        background
-        layout="total,prev, pager, next"
-        :page-size="limit"
-        :total="total"
-        :current-page.sync="cur_page"
-        @current-change="handleCurrentChange"
-      ></el-pagination>
+    <footer class="flex-item-none" style="display: flex; justify-content: flex-end; margin-top: 30px">
+      <el-pagination background layout="total,prev, pager, next" :page-size="limit" :total="total"
+        :current-page.sync="cur_page" @current-change="handleCurrentChange"></el-pagination>
     </footer>
     <el-dialog title="二维码详情" :visible.sync="dialogVisible" width="300px">
       <div class="text-center">
-        <vue-qr
-          :size="200"
-          :margin="0"
-          :auto-color="true"
-          :dot-scale="1"
-          :text="appSrc"
-          colorDark="white"
-          colorLight="black"
-        />
+        <vue-qr :size="200" :margin="0" :auto-color="true" :dot-scale="1" :text="appSrc" colorDark="white"
+          colorLight="black" />
       </div>
 
       <div slot="footer" class="text-center">
-        <el-button type="primary" @click="dialogVisible = false"
-          >确 定</el-button
-        >
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog title="评分详情" :visible.sync="watchVisible" width="850px">
+      <div class="flex justify-between px-10px">
+        <div> 学生姓名: {{ stuData.xdx_xsxm }}</div>
+        <div> 学生学籍号: {{ stuData.xdx_xsxh }}</div>
       </div>
+      <el-table :data="pfData">
+        <el-table-column prop="xdww_name" label="维度名称" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="xdwwp_name" label="评分项名称" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="wdwp_xs_df" label="得分" width="80"></el-table-column>
+        <el-table-column prop="wdwp_pfyhlx" label="评分用户类型" width="110"></el-table-column>
+        <el-table-column prop="wdwp_pfyh_xm" label="评分用户姓名" width="120"></el-table-column>
+        <el-table-column label="评分时间" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div v-if="scope.row.wdwp_pfyh_sj != '0000-00-00 00:00:00'">{{ scope.row.wdwp_pfyh_sj }}</div>
+            <div v-else>-</div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="flex justify-end">
+        <el-pagination background layout="total,prev, pager, next" :page-size="query.limit" :total="pfTotal"
+          :current-page.sync="query.page" @current-change="handleTableChange"></el-pagination>
+      </div>
+
     </el-dialog>
   </div>
 </template>
 
 <script>
-import { xsewm_list, xsewm_export, grade_search, class_search } from "./api";
+import { xsewm_list, xsewm_export, grade_search, class_search, wypj_pf } from "./api";
 import { useUserStore } from "@/stores/user";
 const { token } = useUserStore();
 import VueQr from "vue-qr";
+import { xqgl_list } from '../../xsxjk/xjk/api';
 export default {
   name: "index",
   components: {
@@ -149,6 +121,17 @@ export default {
       appSrc: "",
       dialogVisible: false,
       multipleSelection: [],
+      teamList: [],
+      team_id: '',
+      watchVisible: false,
+      pfData: [],
+      stuData: {},
+      query: {
+        page: 1,
+        limit: 6,
+      },
+      pfTotal: 100,
+      stu_id: '',
     };
   },
   methods: {
@@ -156,22 +139,36 @@ export default {
       this.cur_page = val;
       this.getListData();
     },
+    handleTableChange(val) {
+      this.query.page = val;
+      this.getPfList();
+    },
     getListData() {
       this.loading = true;
-      let data = {
-        page: this.cur_page,
-        limit: this.limit,
-        keyword: this.firstForm.xsxm,
-        grade_id: this.firstForm.grade,
-        class_id: this.firstForm.class,
-        xdwx_xsxh: this.firstForm.xsxh,
-      };
-
-      xsewm_list(data).then((res) => {
-        this.loading = false;
-        this.tableData = res.data.page_data;
-        this.cur_page = Number(res.data.page_now);
-        this.total = Number(res.data.total_rows);
+      xqgl_list({ limit: 999 }).then((res) => {
+        if (res.code == 1) {
+          this.teamList = res.data.page_data;
+          this.teamList.map((item) => {
+            if (item.team_current_option_k == "1") {
+              this.team_id = item.team_id;
+              let data = {
+                page: this.cur_page,
+                limit: this.limit,
+                keyword: this.firstForm.xsxm,
+                grade_id: this.firstForm.grade,
+                class_id: this.firstForm.class,
+                xdx_xsxh: this.firstForm.xsxh,
+                team_id: this.team_id,
+              };
+              xsewm_list(data).then((res) => {
+                this.loading = false;
+                this.tableData = res.data.page_data;
+                this.cur_page = Number(res.data.page_now);
+                this.total = Number(res.data.total_rows);
+              });
+            }
+          });
+        }
       });
     },
     gradeListData() {
@@ -212,14 +209,14 @@ export default {
       if (this.multipleSelection.length === 0) {
         link =
           window.globalVariables.api +
-          "/xddy/dygl_wypj_xsewm/index?api=xls&page=1&limit=10000&token=" +
+          "/xddy/dygl_xsxjk/index?api=xls&page=1&limit=10000&token=" +
           token;
       } else {
         link =
           window.globalVariables.api +
-          "/xddy/dygl_wypj_xsewm/index?api=xls&page=1&limit=10000&token=" +
+          "/xddy/dygl_xsxjk/index?api=xls&page=1&limit=10000&token=" +
           token +
-          "&xdwx_id=" +
+          "&xdx_id=" +
           this.multipleSelection.join(",");
       }
 
@@ -232,18 +229,32 @@ export default {
     showQr(item) {
       this.appSrc =
         "http://60.188.226.44:8000/app/xddy/#/scanCode?xsxm=" +
-        item.xdwx_xsxm +
+        item.xdx_xsxm +
         "&xsxh=" +
-        item.xdwx_xsxh +
+        item.xdx_xsxh +
         "&sm_id=" +
         item.sm_id +
         "&token=" +
         token +
-        "&xdwx_id=" +
-        item.xdwx_id;
+        "&xdx_id=" +
+        item.xdx_id;
 
       this.dialogVisible = true;
     },
+    getPfList() {
+      wypj_pf({ wdwp_xs_xjh: this.stuData?.xdx_xsxh, ...this.query }).then(res => {
+        if (res.code == '1') {
+          this.pfData = res.data.page_data;
+          this.query.page = Number(res.data.page_now);
+          this.pfTotal = Number(res.data.total_rows);
+        }
+      })
+    },
+    handleWatch(item) {
+      this.watchVisible = true;
+      this.stuData = item;
+      this.getPfList();
+    },
     switchGrade() {
       this.firstForm.class = "";
       this.classListData();
@@ -252,7 +263,8 @@ export default {
     handleSelectionChange(val) {
       this.multipleSelection = [];
       for (let i in val) {
-        this.multipleSelection.push(val[i].xdwx_id);
+        this.multipleSelection.push(val[i].xdx_id);
+
       }
     },
   },