Browse Source

修改管理端样式

plg 5 months ago
parent
commit
aa0a802491

+ 1 - 1
.env

@@ -1,2 +1,2 @@
 NODE_ENV=development
-VUE_APP_TARGET='http://120.55.54.207:8088'
+VUE_APP_TARGET='http://10.113.248.4:8089'

+ 1 - 0
public/index.html

@@ -4,6 +4,7 @@
 <head>
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
   <meta name="viewport"
     content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
   <meta name="x5-fullscreen" content="true">

+ 112 - 0
src/components/BingChart.vue

@@ -0,0 +1,112 @@
+<template>
+  <div class="pie-chart-content">
+    <div ref="myPieChart" :id="chartId" style="width: 100%; height: 400px"></div>
+  </div>
+</template>
+
+<script>
+import * as echarts from "echarts";
+export default {
+  name: "pieChart",
+  components: {},
+  props: {
+    options: {
+      type: Array,
+      default: function () {
+        return [];
+      },
+    },
+    chartId: {
+      type: String,
+      default: "",
+    },
+    chartName: {
+      type: String,
+      default: "",
+    },
+  },
+  data() {
+    return {
+      color: ["#FCEF9A", "#D54039", "#56743E", "#FF917C"],
+      pieData: [],
+    };
+  },
+  // mounted() {
+  //   this.myPieEcharts(this.options);
+  // },
+  computed: {},
+  watch: {
+    options() {
+      this.myPieEcharts(this.options);
+    },
+  },
+  methods: {
+    myPieEcharts(pieData) {
+
+      let myChart = this.$echarts.init(document.getElementById(this.chartId));
+      let option = {
+        title: {
+          text: `完成情况:总人数${pieData[0].value+pieData[1].value}人`,
+        
+          left: "center",
+          top:'0px',
+          textStyle: {
+              fontSize: "14",
+              color: "#000000",
+           
+              foontWeight: "600",
+            },
+        },
+        tooltip: {
+          trigger: "item",
+        },
+   
+        series: [
+          {
+            name: ``,
+            type: "pie",
+            radius: "70%",
+            data: [
+              { value: pieData[0].value, name:pieData[0].name+pieData[0].value +'人'},
+              { value: pieData[1].value, name:pieData[1].name+ pieData[1].value+'人'},
+            ],
+            emphasis: {
+              itemStyle: {
+                shadowBlur: 10,
+                shadowOffsetX: 0,
+                shadowColor: "rgba(0, 0, 0, 0.5)",
+              },
+            },
+          },
+        ],
+      };
+      pieData && option && myChart.setOption(option);
+      window.onresize = function () {
+        myChart.resize();
+      };
+    },
+    pieDataHandle(param) {
+      this.pieData = [];
+
+      // param.groupData.map((item,index) => {
+      //
+      //   this.lineData.push({
+      //     type: 'line',
+      //     name: item.name,
+      //     data: item.value,
+      //   });
+      //
+      // });
+      //
+      // this.myLineEcharts(param.category,this.lineData);
+    },
+  },
+};
+</script>
+
+<style scoped>
+.pie-chart-content {
+  width: 100%;
+  height: 100%;
+}
+</style>

+ 39 - 22
src/components/ComparePlanUser.vue

@@ -35,6 +35,15 @@
               align="center"
               width=""
             >
+              <template slot-scope="scope">
+                <div v-if="scope.row.isComplete == '0'" style="color: #ff7800">
+                  未开始
+                </div>
+
+                <div v-if="scope.row.isComplete == '1'" style="color: #333333">
+                  已完成
+                </div>
+              </template>
             </el-table-column>
 
             <!-- <el-table-column label="操作" width="510px" align="center">
@@ -73,7 +82,7 @@
       <el-dialog
         :visible.sync="compareVisible"
         :close-on-click-modal="false"
-        width="80%"
+        width="82%"
         style="border-radius: 40px"
       >
         <div slot="title">
@@ -109,6 +118,7 @@
                   <div v-if="multipleSelection.length == 2">
                     学号:{{ multipleSelection[0].userNo }}
                   </div>
+                  <div v-if="multipleSelection.length == 2">测试用时:{{ useTime1 }}</div>
                 </div>
               </div>
               <div class="compare_group">所属组织架构</div>
@@ -126,6 +136,7 @@
                   <div v-if="multipleSelection.length == 2">
                     学号:{{ multipleSelection[1].userNo }}
                   </div>
+                  <div v-if="multipleSelection.length == 2">测试用时:{{ useTime2 }}</div>
                 </div>
               </div>
               <div class="compare_group">所属组织架构</div>
@@ -348,6 +359,10 @@ export default {
       userData1: {},
       orgName1: "",
       orgName2: "",
+      //用户1的测试用时
+      useTime1: "",
+      //用户2的测试用时
+      useTime2: "",
       echarts_des_list1: [],
       echarts_data_list1: [],
       echarts_name_list1: [],
@@ -547,6 +562,7 @@ export default {
       let url = `/userRecordScore/findAllByPlanIdAndUserNo?planId=${this.userInfo.id}&userNo=${this.multipleSelection[0].userNo}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          this.useTime1 = res.data.usedTime;
           this.orgName1 = res.data.user.orgName;
           let a = res.data.report;
           this.userData1 = a;
@@ -565,6 +581,7 @@ export default {
       let url = `/userRecordScore/findAllByPlanIdAndUserNo?planId=${this.userInfo.id}&userNo=${this.multipleSelection[1].userNo}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          this.useTime2 = res.data.usedTime;
           this.orgName2 = res.data.user.orgName;
           let a = res.data.report.filter((item) => {
             return item.isIcon == "1";
@@ -712,25 +729,25 @@ export default {
       display: flex;
       align-items: center;
       img {
-        width: 100px;
+        width: 80px;
       }
       .compare_user1_info {
         display: flex;
         flex-direction: column;
         justify-content: space-around;
-        height: 100px;
+        height: 80px;
         margin-left: 30px;
-        font-size: 20px;
+        font-size: 16px;
       }
     }
     .compare_group {
-      font-size: 20px;
-      margin-top: 20px;
+      font-size: 16px;
+      margin-top: 10px;
       color: #999999;
     }
     .compare_group_detail {
-      margin-top: 20px;
-      font-size: 20px;
+      margin-top: 10px;
+      font-size: 16px;
       color: #006fff;
     }
   }
@@ -744,25 +761,25 @@ export default {
       display: flex;
       align-items: center;
       img {
-        width: 100px;
+        width: 80px;
       }
       .compare_user1_info {
         display: flex;
         flex-direction: column;
         justify-content: space-around;
-        height: 100px;
+        height: 80px;
         margin-left: 30px;
-        font-size: 20px;
+        font-size: 16px;
       }
     }
     .compare_group {
-      font-size: 20px;
-      margin-top: 20px;
+      font-size: 16px;
+      margin-top: 10px;
       color: #999999;
     }
     .compare_group_detail {
-      margin-top: 20px;
-      font-size: 20px;
+      margin-top: 10px;
+      font-size: 16px;
       color: #ff3014;
     }
   }
@@ -806,18 +823,18 @@ export default {
       color: #006fff;
       margin-top: 20px;
       margin-bottom: 10px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
     .compare_score_right {
       color: #ff3014;
       margin-top: 20px;
       margin-bottom: 10px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
     .compare_result {
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
   }
@@ -940,7 +957,7 @@ export default {
 
       margin-top: 20px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       background-color: #f1f7ff;
       .totol_all {
@@ -952,7 +969,7 @@ export default {
       flex: 1;
       margin-top: 20px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       background-color: #f1f7ff;
       .totol_all {
@@ -970,7 +987,7 @@ export default {
 
       // margin-top: 10px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       // background-color: #f1f7ff;
       .totol_all {
@@ -982,7 +999,7 @@ export default {
       flex: 1;
       // margin-top: 10px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       // background-color: #f1f7ff;
       .totol_all {

+ 46 - 36
src/components/CompareUser.vue

@@ -25,8 +25,8 @@
               width=""
             >
             </el-table-column>
-            <el-table-column prop="planOrgName" label="所属专业" align="center" width="">
-            </el-table-column>
+            <!-- <el-table-column prop="planOrgName" label="所属专业" align="center" width="">
+            </el-table-column> -->
             <el-table-column prop="score" label="总分" align="center" width="">
             </el-table-column>
             <el-table-column prop="planEndTime" label="结束时间" align="center" width="">
@@ -99,7 +99,9 @@
                 <img src="../assets/report/man.png" />
                 <div class="compare_user1_info">
                   <div>姓名:{{ userInfo.userName }}</div>
+                
                   <div>学号:{{ userInfo.userNo }}</div>
+                  <div>测试用时:{{ useTime1 }}</div>
                 </div>
               </div>
               <div class="compare_group">所属组织架构</div>
@@ -113,6 +115,7 @@
                 <div class="compare_user1_info">
                   <div>姓名:{{ userInfo.userName }}</div>
                   <div>学号:{{ userInfo.userNo }}</div>
+                  <div>测试用时:{{ useTime2 }}</div>
                 </div>
               </div>
               <div class="compare_group">所属组织架构</div>
@@ -148,8 +151,8 @@
           <div ref="echarts_zhu" style="width: 100%; height: 600px"></div>
           <div class="cpmpare_all" v-if="userData1.length > 0 && userData2.length > 0">
             <div v-for="(item, index) in userData1" :key="item.id">
-              <div v-show="item.dimensionName!='总分'">
-              <!-- <div v-show="index<userData2.length-1"> -->
+              <div v-show="item.dimensionName != '总分'">
+                <!-- <div v-show="index<userData2.length-1"> -->
                 <div class="dimensionality_out">
                   <div class="left">
                     <span class="totol_all">维度:</span
@@ -336,6 +339,10 @@ export default {
       userData1: {},
       orgName1: "",
       orgName2: "",
+      //用户1的测试用时
+      useTime1: "",
+      //用户2的测试用时
+      useTime2: "",
       echarts_des_list1: [],
       echarts_data_list1: [],
       echarts_name_list1: [],
@@ -480,10 +487,10 @@ export default {
       xAxis: {
         type: "category",
         data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
-        axisLabel:{
-          interval:0,
+        axisLabel: {
+          interval: 0,
           // rotate:'45'
-        }
+        },
       },
       yAxis: {
         type: "value",
@@ -533,8 +540,10 @@ export default {
       let url = `/userRecordScore/findAllByPlanIdAndUserNo?planId=${id}&userNo=${this.userInfo.userNo}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          debugger;
+          this.useTime1 = res.data.usedTime
           this.orgName1 = res.data.user.orgName;
-          let a = res.data.report
+          let a = res.data.report;
 
           this.userData1 = a;
           if (this.userData2.length == 0) {
@@ -552,6 +561,7 @@ export default {
       let url = `/userRecordScore/findAllByPlanIdAndUserNo?planId=${id}&userNo=${this.userInfo.userNo}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          this.useTime2 = res.data.usedTime
           this.orgName2 = res.data.user.orgName;
           let a = res.data.report.filter((item) => {
             return item.isIcon == "1";
@@ -574,17 +584,16 @@ export default {
       let scoreDes = [];
       let nameList = [];
       let zhuNameList = [];
-      for (let i = 0; i < a.length ; i++) {
-        if(a[i].dimensionName!='总分'){
+      for (let i = 0; i < a.length; i++) {
+        if (a[i].dimensionName != "总分") {
           scoreList.push(parseInt(a[i].dimensionScore));
-        scoreDes.push(a[i].dimensionAnalysis);
+          scoreDes.push(a[i].dimensionAnalysis);
 
-        let ob = { name: a[i].dimensionName, max: 100 };
-        nameList.push(ob);
-        zhuNameList.push(a[i].dimensionName);
+          let ob = { name: a[i].dimensionName, max: 100 };
+          nameList.push(ob);
+          zhuNameList.push(a[i].dimensionName);
         }
         //
-        
       }
       this.echarts_zhuname_list = zhuNameList;
       if (index == "1") {
@@ -642,6 +651,7 @@ export default {
       let url = `/plan/findCompletePlanByUser?pageSize=${this.pageSize}&pageNum=${this.pageNum}&userNo=${this.userInfo.userNo}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          debugger;
           this.tableData = res.data.content;
           this.total = res.data.totalElements;
         } else {
@@ -691,25 +701,25 @@ export default {
       display: flex;
       align-items: center;
       img {
-        width: 100px;
+        width: 80px;
       }
       .compare_user1_info {
         display: flex;
         flex-direction: column;
         justify-content: space-around;
-        height: 100px;
+        height: 80px;
         margin-left: 30px;
-        font-size: 20px;
+        font-size: 16px;
       }
     }
     .compare_group {
-      font-size: 20px;
-      margin-top: 20px;
+      font-size: 16px;
+      margin-top: 10px;
       color: #999999;
     }
     .compare_group_detail {
-      margin-top: 20px;
-      font-size: 20px;
+      margin-top: 10px;
+      font-size: 16px;
       color: #006fff;
     }
   }
@@ -723,25 +733,25 @@ export default {
       display: flex;
       align-items: center;
       img {
-        width: 100px;
+        width: 80px;
       }
       .compare_user1_info {
         display: flex;
         flex-direction: column;
         justify-content: space-around;
-        height: 100px;
+        height: 80px;
         margin-left: 30px;
-        font-size: 20px;
+        font-size: 16px;
       }
     }
     .compare_group {
-      font-size: 20px;
-      margin-top: 20px;
+      font-size: 16px;
+      margin-top: 10px;
       color: #999999;
     }
     .compare_group_detail {
-      margin-top: 20px;
-      font-size: 20px;
+      margin-top: 10px;
+      font-size: 16px;
       color: #ff3014;
     }
   }
@@ -802,18 +812,18 @@ export default {
       color: #006fff;
       margin-top: 20px;
       margin-bottom: 10px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
     .compare_score_right {
       color: #ff3014;
       margin-top: 20px;
       margin-bottom: 10px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
     .compare_result {
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
     }
     .compare_result_new {
@@ -840,7 +850,7 @@ export default {
 
       margin-top: 20px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       background-color: #f1f7ff;
       .totol_all {
@@ -852,7 +862,7 @@ export default {
       flex: 1;
       margin-top: 20px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       background-color: #f1f7ff;
       .totol_all {
@@ -870,7 +880,7 @@ export default {
 
       // margin-top: 10px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       // background-color: #f1f7ff;
       .totol_all {
@@ -884,7 +894,7 @@ export default {
 
       // margin-top: 10px;
       margin-bottom: 4px;
-      font-size: 20px;
+      font-size: 16px;
       letter-spacing: 3px;
       // background-color: #f1f7ff;
       .totol_all {

+ 122 - 47
src/components/PlanReport.vue

@@ -7,13 +7,80 @@
       style="border-radius: 40px"
     >
       <div slot="title">
-        <p style="text-align: center; margin-bottom: 20px; font-weight: 700">
-          {{ planName }}完成及得分情况
+        <p
+          style="
+            text-align: center;
+            font-size: 18px;
+            margin-bottom: 20px;
+            font-weight: 700;
+          "
+        >
+          {{ planName }}报告
         </p>
-        <div style="display: flex; margin-top: 40px">
-          <div class="chart_wrap">
-            <PieChart :options="options1" chartId="myPieChart1" chartName="完成度" />
+
+        <div style="display: flex">
+          <div class="chart_wrap" style="flex: 4">
+            <BingChart :options="options1" chartId="myPieChart1" chartName="完成度" />
           </div>
+          <div style="flex: 6">
+            <el-table
+              :data="complateTableData"
+              :row-style="{ height: '0px' }"
+              :cell-style="{ padding: '5px' }"
+              :header-cell-style="{ background: '#F8F8F8', color: '#606266' }"
+            >
+              <el-table-column
+                show-overflow-tooltip
+                prop="userName"
+                label="姓名"
+                align="center"
+                width=""
+              >
+              </el-table-column>
+              <el-table-column prop="userNo" label="学号" align="center" width="">
+              </el-table-column>
+              <el-table-column
+                prop="orgName"
+                label="所属组织架构"
+                align="center"
+                width=""
+              >
+              </el-table-column>
+              <el-table-column
+                prop="isComplete"
+                label="是否已完成"
+                :formatter="formaCom"
+                align="center"
+                width=""
+              >
+              <template slot-scope="scope">
+                    <div v-if="scope.row.isComplete == '0'" style="color: #ff7800">
+                      未开始
+                    </div>
+
+                    <div v-if="scope.row.isComplete == '1'" style="color: #333333">
+                      已完成
+                    </div>
+                  </template>
+              </el-table-column>
+            </el-table>
+            <el-pagination
+              class="pag_class"
+              background
+              @current-change="handleCurrentChange"
+              :current-page.sync="pageNum"
+              layout="total, prev, pager, next"
+              :page-size="pageSize"
+              :page-sizes="[10, 20, 50, 100]"
+              :total="total"
+            >
+            </el-pagination>
+          </div>
+        </div>
+        <div style="text-align: center; font-size: 14px; font-weight: 600">
+          已完成人数中各个维度的占比
+        </div>
+        <div style="display: flex; margin-top: 40px">
           <div class="chart_wrap">
             <PieChart :options="options2" chartId="myPieChart2" chartName="焦虑" />
           </div>
@@ -30,7 +97,7 @@
             <PieChart
               :options="options6"
               chartId="myPieChart6"
-              chartName="存在心理健康情况"
+              chartName="心理健康异常"
             />
           </div>
         </div>
@@ -42,12 +109,11 @@
                 @change="userTypeChange"
                 placeholder="请选择人员类型"
               >
-                <el-option label="未完成" value="未完成"></el-option>
                 <el-option label="焦虑" value="焦虑"></el-option>
                 <el-option label="抑郁" value="抑郁"></el-option>
                 <el-option label="压力" value="躯体化"></el-option>
                 <el-option label="精神障碍" value="精神障碍"></el-option>
-                <el-option label="存在心理健康情况" value="存在心理健康情况"></el-option>
+                <el-option label="心理健康异常" value="心理健康异常"></el-option>
               </el-select>
             </el-form-item>
           </el-form>
@@ -70,21 +136,14 @@
             <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
             </el-table-column>
             <el-table-column
-              v-if="userType != '存在心理健康情况' && userType != '未完成'"
+              v-if="userType != '心理健康异常' && userType != '未完成'"
               prop="dimensionSymptom"
               label="症状"
               align="center"
               width=""
             >
             </el-table-column>
-            <el-table-column
-              prop="isComplete"
-              label="是否已完成"
-              :formatter="formaCom"
-              align="center"
-              width=""
-            >
-            </el-table-column>
+        
           </el-table>
         </div>
         <el-pagination
@@ -158,11 +217,7 @@
           </el-form-item>
         </el-form>
         <div class="chart_wrap">
-          <PieChart
-            :options="options7"
-            chartId="myPieChart7"
-            chartName="存在心理健康情况"
-          />
+          <PieChart :options="options7" chartId="myPieChart7" chartName="心理健康异常" />
         </div>
         <el-table
           :data="subData"
@@ -182,6 +237,8 @@
           </el-table-column>
           <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
           </el-table-column>
+          <el-table-column prop="dimensionSymptom" label="症状" align="center" width="">
+          </el-table-column>
           <el-table-column
             prop="dimensionName"
             label="维度"
@@ -190,14 +247,6 @@
             width=""
           >
           </el-table-column>
-          <el-table-column
-            prop="isComplete"
-            label="是否已完成"
-            :formatter="formaCom"
-            align="center"
-            width=""
-          >
-          </el-table-column>
         </el-table>
         <el-pagination
           class="pag_class"
@@ -220,10 +269,11 @@
 //引入echarts组件
 import * as echarts from "echarts";
 import PieChart from "@/components/PieChart";
-
+import BingChart from "@/components/BingChart";
 export default {
   components: {
     PieChart,
+    BingChart,
   },
   data() {
     return {
@@ -249,7 +299,7 @@ export default {
       options7: [],
       completeNum: 0,
       unComplete: 0,
-      userType: "未完成",
+      userType: "焦虑",
       //维度选择--字段
       dime: "焦虑",
       dimeList: [],
@@ -276,6 +326,15 @@ export default {
       subTotal: 0,
 
       dimensionName: "",
+      //未完成的分页--每页多少条
+      complatePageSize: 10,
+      //未完成的分页--第几页
+      complatePageNum: 1,
+      //未完成的数据
+      complateTableData: [],
+      //未完成的总条数
+      complateTotal: 0,
+      abnormalNum: 0,
     };
   },
   mounted() {
@@ -376,12 +435,14 @@ export default {
     open(val) {
       this.planId = val.id;
       this.planName = val.planName;
-      this.userType = "未完成";
+      this.userType = "焦虑";
       this.pageNum = 1;
       this.dialogVisible = true;
       this.isFin();
       this.isScore();
       this.searchTarget();
+      //个维度异常初次调用
+
       //获取维度列表
       this.getDimensionList();
       //获取组织架构信息
@@ -396,7 +457,8 @@ export default {
         if (res.code == 200) {
           this.unComplete = res.data[0];
           this.completeNum = res.data[1];
-          this.getPlanDimNun();
+          // this.getPlanDimNun();
+          this.isAbnormal();
         }
       });
     },
@@ -427,8 +489,8 @@ export default {
         (res) => {
           let dimensionList = res.data;
           this.options1 = [
-            { value: this.completeNum + this.unComplete, name: "已完成人数" },
-            { value: this.unComplete, name: "未完成占比" },
+            { value: this.completeNum, name: "已完成" },
+            { value: this.unComplete, name: "未完成" },
           ];
 
           this.options2 = [
@@ -453,19 +515,17 @@ export default {
 
           this.options6 = [
             {
-              value: this.completeNum - dimensionList[3]["精神障碍"],
+              value: this.completeNum,
               name: "已完成人数",
             },
-            { value: dimensionList[3]["精神障碍"], name: "精神障碍" },
+            { value: this.abnormalNum, name: "心理健康异常" },
           ];
         }
       );
     },
     userTypeChange(val) {
       this.pageNum = 1;
-      if (val == "未完成") {
-        this.getUnCompleteList();
-      } else if (val == "存在心理健康情况") {
+      if (val == "心理健康异常") {
         this.getAbnormalList();
       } else {
         this.dimensionName = val;
@@ -475,6 +535,7 @@ export default {
     searchTarget() {
       this.pageNum = 1;
       this.getUnCompleteList();
+      this.getDimensionPeopleList("焦虑");
     },
     //进来调用已选列表接口
     searchList() {
@@ -509,12 +570,12 @@ export default {
     // 查询未完成人员
     getUnCompleteList() {
       this.$http.get(
-        `planUser/findIncompleteUser?planId=${this.planId}&pageSize=${this.pageSize}&pageNum=${this.pageNum}`,
+        `planUser/findIncompleteUser?planId=${this.planId}&pageSize=${this.complatePageSize}&pageNum=${this.complatePageNum}`,
         {},
         (res) => {
           if (res && res.code == 200) {
-            this.tableData = res.data.content;
-            this.total = res.data.totalElements;
+            this.complateTableData = res.data.content;
+            this.complateTotal = res.data.totalElements;
           } else {
             // this.$toast.fail(res.msg);
             this.$message.error(res.msg);
@@ -523,9 +584,9 @@ export default {
       );
     },
     // 各维度异常人员
-    getDimensionPeopleList() {
+    getDimensionPeopleList(val) {
       this.$http.get(
-        `planUser/findCompletedUserByDim?planId=${this.planId}&dimensionName=${this.dimensionName}&pageSize=${this.pageSize}&pageNum=${this.pageNum}`,
+        `planUser/findCompletedUserByDim?planId=${this.planId}&dimensionName=${val}&pageSize=${this.pageSize}&pageNum=${this.pageNum}`,
         {},
         (res) => {
           if (res && res.code == 200) {
@@ -538,6 +599,19 @@ export default {
         }
       );
     },
+    //查询统计端的--心理健康异常的人员
+    isAbnormal() {
+      //调用接口返回信息
+      let url = `/planUser/countCompletedUserHighRisk?planId=${this.planId}`;
+      this.$http.get(url, {}, (res) => {
+        if (res.code == 200) {
+          // this.unComplete = res.data[0];
+          // this.completeNum = res.data[1];
+          this.abnormalNum = res.data;
+          this.getPlanDimNun();
+        }
+      });
+    },
     // 查询精神健康异常人员
     getAbnormalList() {
       this.$http.get(
@@ -652,6 +726,7 @@ export default {
         {},
         (res) => {
           if (res && res.code == 200) {
+            debugger;
             this.subData = res.data.content;
             this.subTotal = res.data.totalElements;
             //调用接口开始查询选择的列表
@@ -681,6 +756,6 @@ export default {
 
 .chart_wrap {
   flex: 1;
-  height: 450px;
+  // height: 450px;
 }
 </style>

+ 22 - 7
src/components/PlanUserStatus.vue

@@ -14,7 +14,7 @@
             <p v-if="!isView" class="dig_title">编辑计划</p>
             <div slot=""></div>
             <div slot="footer"></div>
-           
+
             <div class="table-content">
               <el-table
                 :data="tableData"
@@ -32,7 +32,22 @@
                 </el-table-column>
                 <el-table-column prop="userNo" label="学号" align="center" width="">
                 </el-table-column>
-                <el-table-column prop="isComplete" label="是否已完成" :formatter="formaCom" align="center" width="">
+                <el-table-column
+                  prop="isComplete"
+                  label="是否已完成"
+                  :formatter="formaCom"
+                  align="center"
+                  width=""
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.isComplete == '0'" style="color: #ff7800">
+                      未开始
+                    </div>
+
+                    <div v-if="scope.row.isComplete == '1'" style="color: #333333">
+                      已完成
+                    </div>
+                  </template>
                 </el-table-column>
                 <el-table-column
                   prop="orgName"
@@ -119,11 +134,11 @@ export default {
     // this.ruleForm.type = "3";
   },
   methods: {
-    formaCom(val){
-      if(val.isComplete=='0'){
-        return '未完成'
-      }else{
-        return '已完成'
+    formaCom(val) {
+      if (val.isComplete == "0") {
+        return "未完成";
+      } else {
+        return "已完成";
       }
     },
     deleteUser(val) {

+ 12 - 7
src/components/Register.vue

@@ -32,6 +32,7 @@
                 clearable
                 placeholder="请选择组织架构"
                 style="width: 100%"
+                :disabled="!isView"
               >
                 <el-option
                   v-for="item in options3"
@@ -49,6 +50,7 @@
               v-if="userInfo.roleType == '4'"
             >
               <el-cascader
+                :disabled="!isView"
                 placeholder="请选择组织架构"
                 v-model="ruleForm.group"
                 :options="groupData"
@@ -105,7 +107,7 @@
               ></el-input>
             </el-form-item> -->
             <div class="dig_button">
-              <el-button type="info" round @click="resetData()">重置</el-button>
+              <el-button type="info" round @click="resetData()">清空</el-button>
               <!-- <el-button type="success" round @click="submitForm('ruleForm')"
                 >提交</el-button
               > -->
@@ -162,7 +164,7 @@ export default {
       //组织架构名字
       groupName: "",
       //属于哪一届
-      grade:'',
+      grade: "",
       ppData: [],
       groupData: [],
       options: [
@@ -232,7 +234,7 @@ export default {
             let obj = {
               value: res.data.gradeEntities[i].orgNo,
               label: res.data.gradeEntities[i].orgName,
-              extend:res.data.gradeEntities[i].extend
+              extend: res.data.gradeEntities[i].extend,
             };
             this.options3.push(obj);
           }
@@ -262,10 +264,13 @@ export default {
       this.gradeOption = list.reverse();
     },
     resetData() {
+      if (this.isView) {
+        this.ruleForm.group = "";
+      }
       this.$refs["ruleForm"].clearValidate();
       //清空表单
       this.ruleForm.grade = "";
-      this.ruleForm.group = "";
+
       this.ruleForm.name = "";
       this.ruleForm.studentNumber = "";
       // this.ruleForm.password = "";
@@ -526,7 +531,7 @@ export default {
       for (let i = 0; i < this.options3.length; i++) {
         if (this.options3[i].value == this.ruleForm.group3) {
           this.groupName = this.options3[i].label;
-          this.grade=this.options3[i].extend;
+          this.grade = this.options3[i].extend;
         }
       }
     },
@@ -536,7 +541,7 @@ export default {
       if (this.userInfo.roleType == "4") {
         this.queryOrgName();
         //查询属于哪一届
-        this.queryGrade()
+        this.queryGrade();
         params = {
           grade: this.grade,
           orgNo: this.ruleForm.group[this.ruleForm.group.length - 1],
@@ -594,7 +599,7 @@ export default {
         this.userDetailData.orgNo = this.ruleForm.group3;
       } else if (this.userInfo.roleType == "4") {
         this.queryOrgName();
-        this.queryGrade()
+        this.queryGrade();
         this.userDetailData.orgNo = this.ruleForm.group[this.ruleForm.group.length - 1];
       }
 

+ 11 - 2
src/components/Report.vue

@@ -39,14 +39,23 @@
                   align="center"
                   width=""
                 >
+                <template slot-scope="scope">
+                    <div v-if="scope.row.isComplete == '0'" style="color: #ff7800">
+                      未开始
+                    </div>
+
+                    <div v-if="scope.row.isComplete == '1'" style="color: #333333">
+                      已完成
+                    </div>
+                  </template>
                 </el-table-column>
-                <el-table-column
+                <!-- <el-table-column
                   prop="createTime"
                   label="计划创建时间"
                   align="center"
                   width=""
                 >
-                </el-table-column>
+                </el-table-column> -->
                 <el-table-column
                   prop="completedTime"
                   label="测试完成时间"

+ 4 - 3
src/components/pieChart.vue

@@ -43,7 +43,6 @@ export default {
   },
   methods: {
     myPieEcharts(pieData) {
-      // debugger;
       let myChart = this.$echarts.init(document.getElementById(this.chartId));
       let option = {
         title: [
@@ -58,7 +57,7 @@ export default {
             },
           },
           {
-            text: pieData[0].value == 0 ? '未有人测试' : ((pieData[1].value / pieData[0].value) * 100).toFixed(2) + '%',
+            text: pieData[0].value == 0 ? '0%' : ((pieData[1].value / pieData[0].value) * 100).toFixed(2) + '%',
             x: "center",
             y: "center",
             textStyle: {
@@ -71,7 +70,9 @@ export default {
         ],
         backgroundColor: "#ffffff",
         polar: {
-          radius: ["42%", "52%"],
+          // radius: ['60%'],
+          radius: ["42%", "50%"],
+          // radius: ["50%", "60%"],
           center: ["50%", "50%"],
         },
         angleAxis: {

+ 5 - 2
src/utils/http.js

@@ -154,9 +154,12 @@ const http = {
           Accept: "application/octet-stream",
           //  "Content-Disposition":"attachment"
         },
-      },
-      { responseType: "arraybuffer" }
+      },{
+        responseType:'arraybuffer'
+      }
+
     ).then((res) => {
+      debugger;
       sCallBack(res);
     });
   },

+ 29 - 7
src/views/manage/channelInfo/invite.vue

@@ -4,8 +4,10 @@
       <el-row>
         <el-col :span="24">
           <div class="search-head">
-            <el-input v-model="planName" clearable placeholder="请输入名称"></el-input
-            >&nbsp;&nbsp;&nbsp;&nbsp;
+            <div class="invite">
+              <el-input v-model="planName" clearable placeholder="请输入名称"></el-input
+              >&nbsp;&nbsp;&nbsp;&nbsp;
+            </div>
 
             <el-select v-model="planStatus" clearable placeholder="请选择状态">
               <el-option
@@ -65,7 +67,7 @@
             prop="planName"
             label="计划名称"
             align="center"
-            width=""
+            width="300px"
           >
           </el-table-column>
           <el-table-column
@@ -96,6 +98,11 @@
             width=""
             :formatter="planStatusFun"
           >
+            <template slot-scope="scope">
+              <div v-if="scope.row.planStatus == '1'" style="color: #ff7800">未开始</div>
+              <div v-if="scope.row.planStatus == '2'" style="color: #2342ff">进行中</div>
+              <div v-if="scope.row.planStatus == '3'" style="color: #333333">已完成</div>
+            </template>
           </el-table-column>
           <el-table-column label="操作" width="450px" align="center">
             <template slot-scope="scope">
@@ -122,7 +129,11 @@
                 </div>
                 <div
                   class="detail_button"
-                  v-show="scope.row.planStatus == '3' && userInfo.roleType == '5'&&scope.rowenable!=1"
+                  v-show="
+                    scope.row.planStatus == '3' &&
+                    userInfo.roleType == '5' &&
+                    scope.row.enable != 1
+                  "
                   @click="resetPlan('3', scope.row)"
                 >
                   <img src="../../../assets/img/table/accredit.png" />
@@ -205,7 +216,10 @@
           <div class="user_out">
             <div class="user_out_sub">状态</div>
             <div class="user_out_subNext">
-              {{ view.status }}
+              <span v-if=" view.status=='进行中'" style="color: #2342ff"> {{ view.status }}</span>
+
+              <span  v-if=" view.status=='未开始'" style="color: #ff7800"> {{ view.status }}</span>
+              <span  v-if=" view.status=='已完成'" style="color: #333333"> {{ view.status }}</span>
             </div>
           </div>
         </div>
@@ -421,12 +435,12 @@ export default {
       } else if (this.isDelete == "1") {
         this.resetFun();
         // 调用重置密码方法
-      }else if(this.isDelete == "3"){
+      } else if (this.isDelete == "3") {
         //调用授权 方法进行授权
         this.accreditFun();
       }
     },
-    accreditFun(){
+    accreditFun() {
       this.$http.get(`/plan/empowerPlan?id=${this.opPlanId}`, {}, (res) => {
         //  this.$toast.success({message:'成功'});
         if (res && res.code == 200) {
@@ -610,6 +624,7 @@ export default {
       }${this.planStatus == "" ? "" : `&planStatus=${this.planStatus}`}`;
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
+          debugger;
           this.tableData = res.data.content;
           this.total = res.data.totalElements;
         } else {
@@ -647,6 +662,7 @@ export default {
 
 <style lang="less" scoped>
 @import "../../../styles/theme.less";
+
 .pag_class {
   text-align: end;
 }
@@ -658,6 +674,12 @@ export default {
   height: 22px;
   line-height: 28px !important;
 }
+.invite /deep/ .el-input {
+  width: 300px;
+}
+.invite /deep/ .el-input__inner {
+  width: 300px;
+}
 
 .record-warp {
   width: 100%;

+ 33 - 32
src/views/manage/channelManagement/channelManagement.vue

@@ -102,6 +102,11 @@
             align="center"
             width=""
           >
+            <template slot-scope="scope">
+              <div v-if="scope.row.planStatus == '1'" style="color: #ff7800">未开始</div>
+              <div v-if="scope.row.planStatus == '2'" style="color: #2342ff">进行中</div>
+              <div v-if="scope.row.planStatus == '3'" style="color: #333333">已完成</div>
+            </template>
           </el-table-column>
           <el-table-column label="操作" width="250px" align="center">
             <template slot-scope="scope">
@@ -434,6 +439,26 @@ export default {
         };
       }
       this.$http.post(`/plan/generate/report`, params, (res) => {
+        if (res && res.code == 200) {
+          // this.currentDownFun(res.data);
+          let a = document.createElement("a");
+          document.body.appendChild(a);
+          a.setAttribute("href", basePath + `/plan/download?path=${res.data}`);
+          a.click();
+          // this.currentDownFun(res.data)
+          // this.grade = res.data[0];
+          // this.gradeList = res.data;
+          // this.orgName = [res.data[0].orgNo];
+          // this.orgList = res.data;
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    //开始下载
+    currentDownFun(val) {
+      this.$http.getImg(`/plan/download?path=${val}`, {}, (res) => {
+        debugger;
         if (res && res.code == 200) {
           debugger;
           // this.grade = res.data[0];
@@ -444,32 +469,6 @@ export default {
           this.$message.error(res.msg);
         }
       });
-      //开始调用下载报告接口
-      // this.$http.postDown(`/plan/generate/report`,params, (res) => {
-      //   debugger;
-      //   if (res && res.code == 200) {
-      //     // this.orgName = [res.data[0].orgNo];
-      //     const { data, headers } = res;
-      //     const fileName = headers["content-disposition"].replace(
-      //       /\w+;filename=(.*)/,
-      //       "$1"
-      //     );
-      //     // 此处当返回json文件时需要先对data进行JSON.stringify处理,其他类型文件不用做处理
-      //     //const blob = new Blob([JSON.stringify(data)], ...)
-      //     const blob = new Blob([data], { type: headers["content-type"] });
-      //     let dom = document.createElement("a");
-      //     let url = window.URL.createObjectURL(blob);
-      //     dom.href = url;
-      //     dom.download = decodeURI(fileName);
-      //     dom.style.display = "none";
-      //     document.body.appendChild(dom);
-      //     dom.click();
-      //     dom.parentNode.removeChild(dom);
-      //     window.URL.revokeObjectURL(url);
-      //   } else {
-      //     this.$message.error(res.msg);
-      //   }
-      // });
     },
     //下载全部班级
     downloadAllFun() {
@@ -486,14 +485,16 @@ export default {
         flag: 2,
         classIds: orgNameList,
       };
-      debugger;
       this.$http.post(`/plan/generate/report`, params, (res) => {
         if (res && res.code == 200) {
+          let a = document.createElement("a");
+          document.body.appendChild(a);
+          console.log(basePath + `/plan/download?path=${res.data}`);
           debugger;
-          // this.grade = res.data[0];
-          // this.gradeList = res.data;
-          // this.orgName = [res.data[0].orgNo];
-          // this.orgList = res.data;
+
+          a.setAttribute("href", basePath + `/plan/download?path=${res.data}`);
+          a.click();
+          // this.currentDownFun(res.data);
         } else {
           this.$message.error(res.msg);
         }
@@ -805,7 +806,7 @@ export default {
 .form-plan >>> .el-form-item__label {
   width: 100px !important;
 }
-.radius_dia>>>.el-dialog {
+.radius_dia >>> .el-dialog {
   border-radius: 20px !important;
 }
 </style>

+ 179 - 50
src/views/manage/channelManagement/contract.vue

@@ -3,50 +3,116 @@
     <div class="record-main">
       <div class="compare_out">
         <div class="user" @click="isClikcObj(true)">
-          <img style="width: 100px" :src="userImg" /><span style="position: absolute">用户对比</span>
+          <img style="width: 100px" :src="userImg" /><span style="position: absolute"
+            >用户对比</span
+          >
         </div>
         <div class="user" @click="isClikcObj(false)">
-          <img style="width: 100px" :src="planImg" /><span style="position: absolute">计划对比</span>
+          <img style="width: 100px" :src="planImg" /><span style="position: absolute"
+            >计划对比</span
+          >
         </div>
       </div>
       <!-- <img src="../../../assets/report/lv.png" alt=""> -->
       <el-row>
         <el-col :span="24">
           <div class="search-head">
-            <el-input v-show="isUser" v-model="name" clearable placeholder="请输入姓名"></el-input>
+            <el-input
+              v-show="isUser"
+              v-model="name"
+              clearable
+              placeholder="请输入姓名"
+            ></el-input>
             <div v-show="isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
-            <el-input v-show="isUser" v-model="studentNumber" clearable placeholder="请输入学号"></el-input>
+            <el-input
+              v-show="isUser"
+              v-model="studentNumber"
+              clearable
+              placeholder="请输入学号"
+            ></el-input>
             <div v-show="isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
-            <el-input v-show="!isUser" v-model="planName" clearable placeholder="请输入计划名称"></el-input>
+            <el-input
+              v-show="!isUser"
+              v-model="planName"
+              clearable
+              placeholder="请输入计划名称"
+            ></el-input>
             <div v-show="!isUser">&nbsp;&nbsp;&nbsp;&nbsp;</div>
-            <el-cascader v-show="userInfo.roleType == '5'" placeholder="请选择组织架构" v-model="group" :options="groupData"
-              :props="{ checkStrictly: true }" clearable></el-cascader>
+            <el-cascader
+              v-show="userInfo.roleType == '5'"
+              placeholder="请选择组织架构"
+              v-model="group"
+              :options="groupData"
+              :props="{ checkStrictly: true }"
+              clearable
+            ></el-cascader>
             <!-- :props="{ checkStrictly: true }" -->
-            <el-cascader v-show="userInfo.roleType == '4'" placeholder="请选择组织架构" v-model="group" :options="groupData"
-              clearable></el-cascader>
+            <el-cascader
+              v-show="userInfo.roleType == '4'"
+              placeholder="请选择组织架构"
+              v-model="group"
+              :options="groupData"
+              clearable
+            ></el-cascader>
             &nbsp;&nbsp;&nbsp;&nbsp;
-            <el-button type="primary" round icon="el-icon-search" @click="searchTarget">搜索</el-button>
+            <el-button type="primary" round icon="el-icon-search" @click="searchTarget"
+              >搜索</el-button
+            >
             <el-button type="info" round @click="clearSearch">清空</el-button>
           </div>
         </el-col>
       </el-row>
 
       <div class="table-content" v-show="isUser">
-        <el-table height="100%" v-show="isUser" :data="tableData" :row-style="{ height: '0px' }"
-          :cell-style="{ padding: '5px' }" :header-cell-style="{ background: '#F8F8F8', color: '#606266' }">
-          <el-table-column v-if="isUser" show-overflow-tooltip prop="userName" label="姓名" align="center" width="">
+        <el-table
+          height="100%"
+          v-show="isUser"
+          :data="tableData"
+          :row-style="{ height: '0px' }"
+          :cell-style="{ padding: '5px' }"
+          :header-cell-style="{ background: '#F8F8F8', color: '#606266' }"
+        >
+          <el-table-column
+            v-if="isUser"
+            show-overflow-tooltip
+            prop="userName"
+            label="姓名"
+            align="center"
+            width=""
+          >
           </el-table-column>
-          <el-table-column v-if="isUser" prop="userNo" label="学号" align="center" width="">
+          <el-table-column
+            v-if="isUser"
+            prop="userNo"
+            label="学号"
+            align="center"
+            width=""
+          >
           </el-table-column>
           <!-- <el-table-column v-if="isUser" prop="totalScore" label="总分" align="center" width="">
           </el-table-column> -->
-          <el-table-column v-if="isUser" prop="gender" label="性别" align="center" width="" :formatter="genderFun">
+          <el-table-column
+            v-if="isUser"
+            prop="gender"
+            label="性别"
+            align="center"
+            width="60px"
+            :formatter="genderFun"
+          >
           </el-table-column>
-          <el-table-column v-if="isUser" prop="orgName" label="所属组织架构" align="center" width="">
+          <el-table-column
+            v-if="isUser"
+            prop="orgName"
+            label="所属组织架构"
+            align="center"
+            width=""
+          >
           </el-table-column>
           <el-table-column label="操作" width="200px" align="center">
             <template slot-scope="scope">
-              <div style="display: flex; align-items: center;justify-content: flex-start;">
+              <div
+                style="display: flex; align-items: center; justify-content: flex-start"
+              >
                 <div class="detail_button_out" v-if="isUser">
                   <div class="detail_button" @click="addUser(scope.row)">
                     <img src="../../../assets/img/table/search.png" />
@@ -72,28 +138,76 @@
       </div>
 
       <div class="table-content" v-show="!isUser">
-        <el-table height="100%" v-show="!isUser" :data="tableData" :row-style="{ height: '0px' }"
-          :cell-style="{ padding: '5px' }" :header-cell-style="{ background: '#F8F8F8', color: '#606266' }">
-          <el-table-column v-if="!isUser" show-overflow-tooltip prop="planName" label="计划名称" align="center" width="">
+        <el-table
+          height="100%"
+          v-show="!isUser"
+          :data="tableData"
+          :row-style="{ height: '0px' }"
+          :cell-style="{ padding: '5px' }"
+          :header-cell-style="{ background: '#F8F8F8', color: '#606266' }"
+        >
+          <el-table-column
+            v-if="!isUser"
+            show-overflow-tooltip
+            prop="planName"
+            label="计划名称"
+            align="center"
+            width="300px"
+          >
           </el-table-column>
-          <el-table-column v-if="!isUser" prop="createDate" label="创建时间" align="center" width="">
+          <el-table-column
+            v-if="!isUser"
+            prop="createDate"
+            label="创建时间"
+            align="center"
+            width=""
+          >
           </el-table-column>
-          <el-table-column v-if="!isUser" prop="planEndTime" label="结束时间" align="center" width="">
+          <el-table-column
+            v-if="!isUser"
+            prop="planEndTime"
+            label="结束时间"
+            align="center"
+            width=""
+          >
           </el-table-column>
-          <el-table-column v-if="!isUser" prop="createUserName" label="创建人" align="center" width="">
+          <el-table-column
+            v-if="!isUser"
+            prop="createUserName"
+            label="创建人"
+            align="center"
+            width=""
+          >
           </el-table-column>
-          <el-table-column v-if="!isUser" prop="planStatus" label="状态" :formatter="forMaPlan" align="center" width="">
+          <el-table-column
+            v-if="!isUser"
+            prop="planStatus"
+            label="状态"
+            :formatter="forMaPlan"
+            align="center"
+            width=""
+          >
+            <template slot-scope="scope">
+              <div v-if="scope.row.planStatus == '1'" style="color: #ff7800">未开始</div>
+              <div v-if="scope.row.planStatus == '2'" style="color: #2342ff">进行中</div>
+              <div v-if="scope.row.planStatus == '3'" style="color: #333333">已完成</div>
+            </template>
           </el-table-column>
           <el-table-column label="操作" width="300px" align="center">
             <template slot-scope="scope">
-              <div style="display: flex; align-items: center;justify-content: flex-start;">
+              <div
+                style="display: flex; align-items: center; justify-content: flex-start"
+              >
                 <div class="detail_button_out" v-if="isUser">
                   <div class="detail_button" @click="addUser(scope.row)">
                     <img src="../../../assets/img/table/search.png" />
                     <span> 个人报告列表 </span>
                   </div>
                 </div>
-                <div class="detail_button_out" v-if="!isUser && scope.row.planStatus == '3'">
+                <div
+                  class="detail_button_out"
+                  v-if="!isUser && scope.row.planStatus == '3'"
+                >
                   <div class="detail_button" @click="compareReport(scope.row)">
                     <img src="../../../assets/img/table/search.png" />
                     <span> 专业报告对比 </span>
@@ -111,9 +225,17 @@
         </el-table>
       </div>
       <!-- small -->
-      <el-pagination class="pag_class" background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page.sync="pageNum" layout="total, sizes, prev, pager, next" :page-size="pageSize"
-        :page-sizes="[10, 20, 50, 100]" :total="total">
+      <el-pagination
+        class="pag_class"
+        background
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page.sync="pageNum"
+        layout="total, sizes, prev, pager, next"
+        :page-size="pageSize"
+        :page-sizes="[10, 20, 50, 100]"
+        :total="total"
+      >
       </el-pagination>
     </div>
     <CompareUser ref="register" @search="searchTarget" />
@@ -121,7 +243,9 @@
     <el-dialog title="请选择计划" :visible.sync="choosePlanVisible">
       <div class="btn_area">
         <el-button @click="chooseCancel">取消</el-button>
-        <el-button v-if="comparePlanList.length > 0" type="primary" @click="chooseEnsure">确定</el-button>
+        <el-button v-if="comparePlanList.length > 0" type="primary" @click="chooseEnsure"
+          >确定</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -138,7 +262,7 @@ export default {
   name: "userManage",
   components: {
     CompareUser: compareUser,
-    ComparePlanUser: comparePlanUser
+    ComparePlanUser: comparePlanUser,
   },
   data() {
     return {
@@ -210,13 +334,13 @@ export default {
       channel: "",
       channelList: [{ name: "渠道天成", id: "1" }],
       choosePlanVisible: false,
-      currentPlanId: '',
+      currentPlanId: "",
       comparePlanList: [],
       chooseComparePlanList: [],
-      formInline: {}
+      formInline: {},
     };
   },
-  created() { },
+  created() {},
   mounted() {
     this.userInfo = JSON.parse(oSessionStorage.getItem("userInfo"));
 
@@ -434,23 +558,28 @@ export default {
     searchList() {
       let url;
       if (this.isUser) {
-        url = `/user/findUserListByPage?pageSize=${this.pageSize}&pageNum=${this.pageNum
-          }&roleType=1${this.group.length == 0
+        url = `/user/findUserListByPage?pageSize=${this.pageSize}&pageNum=${
+          this.pageNum
+        }&roleType=1${
+          this.group.length == 0
             ? `&orgNo=${this.userInfo.orgNo}`
             : `&orgNo=${this.group[this.group.length - 1]}`
-          }${this.name == "" ? "" : `&userName=${this.name}`}${this.studentNumber == "" ? "" : `&userNo=${this.studentNumber}`
-          }`;
+        }${this.name == "" ? "" : `&userName=${this.name}`}${
+          this.studentNumber == "" ? "" : `&userNo=${this.studentNumber}`
+        }`;
       } else {
-        url = `/plan/findListByPage?pageSize=${this.pageSize}&pageNum=${this.pageNum}${this.planName == "" ? "" : `&planName=${this.planName}`
-          }${this.group.length == 0
+        url = `/plan/findListByPage?pageSize=${this.pageSize}&pageNum=${this.pageNum}${
+          this.planName == "" ? "" : `&planName=${this.planName}`
+        }${
+          this.group.length == 0
             ? `&orgNo=${this.userInfo.orgNo}`
             : `&orgNo=${this.group[this.group.length - 1]}`
-          }`;
+        }`;
       }
-      console.log('isUser')
-      console.log(this.isUser+'')
-      console.log("url")
-      console.log(url)
+      console.log("isUser");
+      console.log(this.isUser + "");
+      console.log("url");
+      console.log(url);
       this.$http.get(url, {}, (res) => {
         if (res && res.code == 200) {
           console.log(res.data.content);
@@ -488,16 +617,16 @@ export default {
 
     // 专业报告对比
     compareReport(val) {
-      sessionStorage.setItem('comparePlanInfo',  JSON.stringify(val));
-      this.$router.push('/manage/comparePlanProfession');
+      sessionStorage.setItem("comparePlanInfo", JSON.stringify(val));
+      this.$router.push("/manage/comparePlanProfession");
     },
 
     // 筛选已完成计划
     filterComplete() {
       this.comparePlanList = this.tableData.filter((item) => {
-        console.log(item)
+        console.log(item);
         return item.planStatus == 3 && item.id != this.currentPlanId;
-      })
+      });
     },
     selectHandle(selection, row) {
       this.$refs.multipleTable.clearSelection();
@@ -511,7 +640,7 @@ export default {
     chooseCancel() {
       this.choosePlanVisible = false;
       this.chooseComparePlanList = [];
-    }
+    },
   },
 };
 </script>

+ 3 - 3
src/views/manage/generalSituation.vue

@@ -42,10 +42,10 @@
                   :style="{
                     color:
                       item.planStatus == '1'
-                        ? '#EE6060'
+                        ? '#ff7800'
                         : item.planStatus == '2'
-                        ? '#073CFF'
-                        : '#5ADE6C',
+                        ? '#2342ff'
+                        : '#333333',
                     fontWeight: '700',
                   }"
                 >

+ 5 - 4
src/views/manage/instructorManage.vue

@@ -92,16 +92,16 @@
           </el-table-column>
           <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
           </el-table-column>
-          <el-table-column label="操作" width="510px" align="center">
+          <el-table-column label="操作" width="400px" align="center">
             <template slot-scope="scope">
               <div class="detail_button_out">
                 <div class="detail_button" @click="viewUser(scope.row)">
                   <img src="../../assets/img/table/search.png" />
-                  <span> 查看个人详情 </span>
+                  <span> 查看 </span>
                 </div>
                 <div class="detail_button" @click="editUser(scope.row)">
                   <img src="../../assets/img/table/edit.png" />
-                  <span>编辑个人详情</span>
+                  <span>编辑</span>
                 </div>
                 <!-- 弹出提示框 提示是否确认重置-->
                 <div class="detail_button" @click="resetUser(false, scope.row)">
@@ -660,8 +660,9 @@ export default {
 }
 .detail_button_out {
   display: flex;
-  justify-content: space-around;
+  justify-content: flex-start;
   .detail_button {
+    margin-left: 20px;
     display: flex;
     align-items: center;
     cursor: pointer;

+ 11 - 8
src/views/manage/userManage.vue

@@ -106,7 +106,7 @@
           </el-table-column>
           <el-table-column
             prop="grade"
-            label="届数"
+            label="年级"
             align="center"
             width=""
             :formatter="gradeFormatter"
@@ -114,16 +114,16 @@
           </el-table-column>
           <el-table-column prop="orgName" label="所属组织架构" align="center" width="">
           </el-table-column>
-          <el-table-column label="操作" width="510px" align="center">
+          <el-table-column label="操作" width="400px" align="center">
             <template slot-scope="scope">
               <div class="detail_button_out">
                 <div class="detail_button" @click="viewUser(scope.row)">
                   <img src="../../assets/img/table/search.png" />
-                  <span> 查看个人详情 </span>
+                  <span> 查看 </span>
                 </div>
                 <div class="detail_button" @click="editUser(scope.row)">
                   <img src="../../assets/img/table/edit.png" />
-                  <span>编辑个人详情</span>
+                  <span>编辑</span>
                 </div>
                 <!-- 弹出提示框 提示是否确认重置-->
                 <div class="detail_button" @click="resetUser(false, scope.row)">
@@ -181,7 +181,7 @@
             </div>
           </div>
           <div class="user_out">
-            <div class="user_out_sub">届数</div>
+            <div class="user_out_sub">年级</div>
             <div class="user_out_subNext">
               {{ view.grade }}
             </div>
@@ -278,6 +278,7 @@
             </el-option>
           </el-select> -->
           <el-upload
+            ref="uploadFileUser"
             class="upload-demo"
             style="margin-top: 20px"
             drag
@@ -418,6 +419,7 @@ export default {
   methods: {
     openFileUp() {
       //打开弹出框
+      this.$refs.uploadFileUser.clearFiles();
       this.fileVisible = true;
       this.group4 = "";
       this.groupLead = [];
@@ -465,7 +467,7 @@ export default {
     // },
     gradeFormatter(row) {
       //格式化当前届数
-      return row.grade + "";
+      return row.grade + "";
     },
     //获取当前届数
     //文件上传之前
@@ -669,7 +671,7 @@ export default {
       this.view.studentNumber = row.userNo;
       this.view.sex = row.gender == "0" ? "女" : "男";
       this.view.orgName = row.orgName;
-      this.view.grade = row.grade + "";
+      this.view.grade = row.grade + "";
       this.centerDialogVisible = true;
     },
     addUser() {
@@ -857,8 +859,9 @@ export default {
 }
 .detail_button_out {
   display: flex;
-  justify-content: space-around;
+  justify-content:flex-start;
   .detail_button {
+    margin-left: 20px;
     display: flex;
     align-items: center;
     cursor: pointer;

+ 4 - 2
vue.config.js

@@ -8,6 +8,7 @@ module.exports = {
     productionSourceMap: false,
     lintOnSave: false,
     devServer: {
+        host:'0.0.0.0',
         port: 8086, // 端口号
         hot:true,
         disableHostCheck:true,//热更新不生效  可以打开此属性
@@ -15,11 +16,12 @@ module.exports = {
         open: true, //配置自动启动浏览器
         proxy: {
             '/chat': {
-                target: process.env.VUE_APP_TARGET,
+                // target: process.env.VUE_APP_TARGET,
+                target: 'http://10.113.248.4:8089',
                 // ws: true,
                 changeOrigin: true,
                 pathRewrite: {
-                    '^/chat': '/chat'    //代理的路径
+                    '^/chat': ''    //代理的路径
                 }
             },
         }