Pārlūkot izejas kodu

Merge branch 'master' of http://121.4.203.192:9000/mingxue/front

hare8999@163.com 2 gadi atpakaļ
vecāks
revīzija
5412e1fe82

+ 4 - 2
src/components/MxCondition/condition-object/condition-class-tree.js

@@ -7,11 +7,13 @@ export default {
   key: 'localClassId',
   title: '原班级',
   getList: function(param, $vue) {
-    console.log(param)
     return new Promise((resolve,reject) => {
       getAllGradeClasses().then(res =>{
         // 暂时写死
-        resolve(res.data[0].classList)
+        console.log($vue.model.queryLocalYear)
+        console.log(res.data)
+        const data = res.data.find(item => item.year == $vue.model.queryLocalYear).classList
+        resolve(data)
       }).catch(
         e => reject(e)
       )

+ 17 - 0
src/router/index.js

@@ -808,6 +808,23 @@ export const constantRoutes = [{
           title: 'ceshi'
         }
       },
+      {
+        path: '/zhiyuan',
+        component: (resolve) => require(['@/views/career/zhiyuan/tips'], resolve),
+        name: '',
+        meta: {
+          title: 'zhiyuan'
+        }
+      },
+      {
+        path: '/zhiyuan/NewSimulatedVolunteer',
+        component: (resolve) => require(['@/views/career/zhiyuan/tips'], resolve),
+        redirect: '/zhiyuan/score',
+        children: [{
+          path: '/zhiyuan/score',
+          component: (resolve) => require(['@/views/career/zhiyuan/score'], resolve)
+        }]
+      },
     ]
   }
 ]

+ 19 - 332
src/views/career/zhiyuan/NewSimulatedVolunteer.vue

@@ -1,332 +1,19 @@
-<template>
-  <div
-    id="simulate"
-    ref="simulate"
-    style="padding: 24px 8%; background-color: #f7f7f7"
-  >
-    <div>
-      <el-image
-        style="width: 100%; height: 100%"
-        :src="require('@/assets/images/career/img_banner02.png')"
-      ></el-image>
-    </div>
-    <!--  内容区域-->
-    <div style="background-color: #ffffff; padding: 20px 0">
-      <!--  步骤条-->
-      <div class="step-list line" style="margin:20px 20%">
-        <div
-          class="step-item right"
-          v-for="(item, index) in topStep"
-          :key="index"
-        >
-          <div
-            class="step-number"
-            :class="active == item.index ? 'curindex' : ''"
-            v-if="active <= item.index"
-          >
-            {{ item.index }}
-          </div>
-          <i v-else class="el-icon-check"></i>
-          <div class="step-label">{{ item.label }}</div>
-        </div>
-      </div>
-      <!--      内容展示-->
-      <div
-        style="
-          min-height: 400px;
-          font-family: PingFangSC-Regular, PingFang SC, Helvetica, serif;
-        "
-      >
-        <!-- <component :is="isComponent"></component> -->
-        <div class="list-page">
-          <simulate-notice v-if="active == 1" style="padding:0 20%;"></simulate-notice>
-          <new-fill-score
-            style="padding:0 20%;"
-            ref="score"
-            :isDisIndex="isDisIndex"
-            v-if="active == 2"
-          ></new-fill-score>
-          <fill-batch
-          style="padding:0 20%;"
-            @onFillIn="onFillIn"
-            ref="batch"
-            :zytbBatchesList="zytbBatchesList"
-            :subject="curSubject"
-            :score="curScore"
-            v-if="active == 3"
-          ></fill-batch>
-          <new-fill-major
-            ref="major"
-            :subject="curSubject"
-            :score="curScore"
-            :firstSubject="firstSubject"
-            :lastSubject="lastSubject"
-            v-if="active == 4"
-          ></new-fill-major>
-
-          <div class="success-complete" v-if="active == 5">
-            <div class="text">填报完成</div>
-            <img src="@/assets/images/career/icon_data.png" alt="" />
-            <div style="margin-top: 20px">
-              <el-button type="primary" @click="goVolunteerList"
-                >查看报告</el-button
-              >
-            </div>
-          </div>
-        </div>
-      </div>
-      <el-divider></el-divider>
-      <!--      底部按钮-->
-      <div style="text-align: center; margin-top: 30px" v-if="active != 5">
-        <el-button @click="goVolunteerList">查看记录</el-button>
-        <el-button type="primary" @click="toBackPage" :disabled="active == 1"
-          >上一步</el-button
-        >
-        <el-button
-          type="primary"
-          v-if="active < 3"
-          :disabled="active == 5"
-          @click="nextStep"
-          >下一步</el-button
-        >
-        <el-button type="primary" v-if="active >= 3" @click="saveData()"
-          >保存志愿</el-button
-        >
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { zytbBatches, zytbSave } from "@/api/webApi/webQue";
-import { mapState } from "vuex";
-import SimulateNotice from "../components/SimulateNotice.vue";
-import NewFillScore from "../components/NewFillScore.vue";
-import FillBatch from "../components/FillBatch.vue";
-import NewFillMajor from "../components/NewFillMajor.vue";
-export default {
-  name: "SimulatedVolunteer",
-  components: { SimulateNotice, NewFillScore, FillBatch, NewFillMajor },
-  data() {
-    return {
-      curScore: 0,
-      curIndex: 0,
-      curSubject: "",
-      curBatch: 0,
-      firstSubject: "",
-      lastSubject: [],
-      isDisIndex: true,
-      active: 1,
-      zytbBatchesList: [],
-      topStep: [
-        { index: 1, label: "填报须知" },
-        { index: 2, label: "高考分数" },
-        { index: 3, label: "填报批次" },
-        { index: 4, label: "院校专业" },
-        { index: 5, label: "保存志愿" },
-      ],
-    };
-  },
-  computed: {
-    ...mapState({ theme: (state) => state.settings.theme }),
-  },
-  watch: {
-    theme: {
-      immediate: true,
-      handler(val) {
-        this.$nextTick(() => {
-          this.$refs.simulate.style.setProperty("--themeColor", val);
-        });
-      },
-    },
-  },
-  methods: {
-    goVolunteerList() {
-      this.$router.push({ name: "VolunteerList" });
-    },
-    onFillIn(item) {
-      this.curBatch = item.batch;
-      this.curBatchInfo = item;
-      this.active = 4;
-    },
-    onChangeInputScore(e) {
-      console.log(e);
-    },
-    toBackPage() {
-      if (this.active <= 1) {
-        return;
-      }
-      this.active--;
-    },
-    saveData() {
-      if (this.curBatch == 0) {
-        this.$message.error("请点击批次按钮进行填写!");
-        return;
-      }
-      let detail = {
-        batch: {
-          batch: this.curBatchInfo.batch,
-          name: this.curBatchInfo.name,
-          recommand: this.curBatchInfo.recommand,
-          scores: [
-            this.curBatchInfo.year + "年投档分",
-            "文科:" + this.curBatchInfo.score1,
-            "理科:" + this.curBatchInfo.score2,
-          ],
-          wishes: [],
-        },
-        mode: this.curSubject,
-        score: this.curScore,
-      };
-      if (this.active == 4) {
-        let wishe = [];
-        let dataList = this.$refs.major.dataList;
-        let len = dataList.length;
-        for (let i = 0; i < len; i++) {
-          let listData = dataList[i];
-          if (listData["marjors"] && listData["marjors"].length > 0) {
-            wishe.push({
-              code: listData["schoolInfo"]["code"],
-              marjors: listData["marjors"],
-              name: listData["schoolInfo"]["name"],
-              submitId: listData["schoolInfo"]["submitId"],
-              universityId: listData["schoolInfo"]["universityId"],
-            });
-          }
-        }
-        detail.batch.wishes = wishe;
-      }
-      if (detail.batch.wishes.length == 0) {
-        this.$message.error("请最少填写一个专业");
-        return;
-      }
-      let req = {
-        batch: this.curBatch,
-        detail: detail,
-        name: this.getName(),
-      };
-      this.httpSave(req);
-    },
-    getName() {
-      var date = new Date();
-      let month = date.getMonth() + 1;
-      let day = date.getDate();
-      return month + "月" + day + "日模拟志愿表";
-    },
-    httpSave(req) {
-      zytbSave(req).then((res) => {
-        this.active = 5;
-      });
-    },
-    nextStep() {
-      let self = this;
-      if (this.active >= 5) {
-        return;
-      }
-      switch (this.active) {
-        case 1:
-          self.active = 2;
-          break;
-        case 2:
-          let score = self.$refs.score;
-          if (score.hasOwnProperty("firstSubject")) {
-            if (score.firstSubject != "" && score.lastSubject.length == 2) {
-              this.firstSubject = score.firstSubject;
-              this.lastSubject = score.lastSubject;
-            } else {
-               this.$message.error("请选择科类");
-               return
-            }
-          }
-          if (score.hasOwnProperty("inputScore")) {
-            this.curScore = score.inputScore;
-          }
-          if (score.hasOwnProperty("inputIndex")) {
-            this.curIndex = score.inputIndex;
-          }
-          if (this.curScore == 0) {
-            this.$message.error("请输入总分!");
-            return;
-          }
-          this.httpzytbBatches(() => {
-            self.active = 3;
-          });
-          break;
-      }
-    },
-    httpzytbBatches(cb) {
-      zytbBatches({
-        score: this.curScore,
-        mode: this.curSubject,
-      }).then((res) => {
-        this.zytbBatchesList = res.rows;
-        cb && cb();
-      });
-    },
-  },
-};
-</script>
-
-<style scoped>
-.step-list {
-  display: flex;
-  justify-content: space-between;
-  position: relative;
-  margin-bottom: 50px;
-}
-.step-list.line::before {
-  position: absolute;
-  content: "";
-  width: 100%;
-  height: 2px;
-  top: 50%;
-  background: #6cd1b5;
-  z-index: 0;
-}
-.step-item {
-  position: relative;
-  background: #fff;
-  z-index: 2;
-  border: 1px solid #6cd1b5;
-  border-radius: 50%;
-  color: #6cd1b5;
-  width: 48px;
-  height: 48px;
-  line-height: 46px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-.step-label {
-  font-weight: bolder;
-  color: #555555;
-  width: 100px;
-  text-align: center;
-  font-size: 14px;
-  position: absolute;
-  bottom: -40px;
-}
-.step-number {
-  line-height: 48px;
-  text-align: center;
-}
-.step-number.curindex {
-  width: 100%;
-  height: 100%;
-  background: #6cd1b5;
-  border-radius: 50%;
-  color: #fff;
-}
-.success-complete {
-  font-size: 18px;
-  color: #6cd1b5;
-  padding: 50px 0;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-}
-.success-complete .text {
-  margin-bottom: 50px;
-}
-</style>
-
+<template>
+  <div>
+    <div>定位、导航</div>
+    <router-view></router-view>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 18 - 0
src/views/career/zhiyuan/score.vue

@@ -0,0 +1,18 @@
+<template>
+  <div>
+    score
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 51 - 0
src/views/career/zhiyuan/tips.vue

@@ -0,0 +1,51 @@
+<template>
+  <div>
+    <h1 class="f-333 text-center pt30">模拟志愿填报须知</h1>
+    <div class="txt">
+      <p v-for="(item,index)  in text">
+        <i>{{ index + 1 }}</i>
+        {{ item }}
+      </p>
+    </div>
+    <p class="text-center">   <el-button type="primary">进入填报</el-button></p>
+
+  </div>
+</template>
+<script>
+ export default {
+   data() {
+     return {
+       text: [
+         '目前系统为非正式志愿模拟填报阶段,您可输入不同分数进行多次志愿智能模拟,找准自己的目标院校和专业。',
+         '期中、期末考试是对阶段性学习成果的考验,也是检验自己的目标院校或专业是否设定合理,请阶段性进行志愿模拟填报以便及时调整目标院校和专业。',
+         '各地的高考政策不同,模拟志愿填报会根据当前注册用户所属地自动匹配。',
+         '模拟填报共有四个步骤。',
+       ]
+     }
+   }
+ }
+</script>
+
+<style scoped>
+.txt{
+  padding: 60px 120px;
+}
+.txt p{
+  display: flex;
+  align-items: flex-start;
+  margin-bottom: 40px;
+  line-height: 1.8;
+}
+.txt p i{
+  display: block;
+  flex-shrink: 0;
+  width: 30px;
+  height: 30px;
+  margin-right: 30px;
+  text-align: center;
+  line-height: 30px;
+  color: #fff;
+  border-radius: 50%;
+  background-color: #42b983;
+}
+</style>

+ 15 - 4
src/views/elective/dispatch/master/info/student.vue

@@ -11,8 +11,11 @@
         <p class="f20 text-center">{{ title }}  <el-button style="float: right;" type="primary">打印</el-button></p>
       </div>
       <div>
-        <p class="mb10 f14">备注:<span class="f-red">请通知学生按照学校规定到新班级报道</span></p>
-        <mx-table :prop-defines="propDefines" :rows="rows">
+        <div class="mb10 f14 fx-row jc-between">
+          <p>备注:<span class="f-red">请通知学生按照学校规定到新班级报道</span></p>
+          <span>共{{formatRows.length}}人</span>
+        </div>
+        <mx-table :prop-defines="propDefines" :rows="formatRows">
           <template #tmp="{row}">
             <el-button type="primary">通知</el-button>
           </template>
@@ -25,7 +28,7 @@
 <script>
 import MxCondition from '@/components/MxCondition/mx-condition'
 import { classesResult, getRound } from '@/api/webApi/elective/dispatch'
-
+import { mapGetters } from 'vuex'
 export default {
   components: { MxCondition },
   data() {
@@ -45,7 +48,7 @@ export default {
         className: {
           label: '新班级'
         },
-        group: {
+        groupName: {
           label: '录取组合'
         },
         newTeacher: {
@@ -65,9 +68,17 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['nickName']),
     title() {
       if(!Object.keys(this.round).length) return ''
       return `${this.$store.getters.school.schoolName}${this.queryParams.year}学年${this.round.name}分班信息`
+    },
+    formatRows() {
+      return this.rows.map(item => {
+        item.time = this.round.activeDate
+        item.newTeacher = this.nickName
+        return item
+      })
     }
   },
   methods: {

+ 2 - 1
src/views/elective/dispatch/student/detail.vue

@@ -45,7 +45,7 @@ export default {
         pageSize: 10,
         total: 0
       },
-      queryParams: {  }
+      queryParams: {}
     }
   },
   computed: {
@@ -68,6 +68,7 @@ export default {
         dispatchClassId: this.prevData.classId || '',
         dispatchGender: '',
         dispatchRoundId: this.prevData.group.roundId,
+        queryLocalYear: this.prevData.parentQuery.year
       })
       return source
     },