瀏覽代碼

完善试卷筛选,调整我参与的 点击详情数据流程

chenmy 2 年之前
父節點
當前提交
aff1a810ad

+ 63 - 12
TEAMModelBI/ClientApp/src/view/participation/examination.vue

@@ -4,20 +4,30 @@
       <el-collapse v-model="activeNames" accordion>
         <el-collapse-item title="进阶筛选" name="1">
           <div class="filtratebox">
+            <!--学段-->
             <div class="filtratebox-phase">
-              <span class="filtratebox-phase-title">学段:</span>
+              <span class="filtratebox-phase-title">{{filters.pahse.name}}:</span>
               <div class="filtratebox-phase-content">
-                <div class="phase-item">小学</div>
-                <div class="phase-item">中学</div>
+                <div class="phase-item" v-for="(items,index) in filters.pahse.option" :key="items.value" :class="[index ===clickNum.pahse ? 'filter-click':'' ]" @click="clickNum.pahse=index">{{items.name}}</div>
               </div>
             </div>
+            <!--学段end-->
+            <!--科目-->
             <div class="filtratebox-phase">
-              <span class="filtratebox-phase-title">年级:</span>
+              <span class="filtratebox-phase-title">{{filters.subject.name}}:</span>
               <div class="filtratebox-phase-content">
-                <div class="phase-item">小学</div>
-                <div class="phase-item">中学</div>
+                <div class="phase-item" v-for="(items,index) in filters.subject.option" :key="items.value" :class="[index ===clickNum.subject ? 'filter-click':'' ]" @click="clickNum.subject=index">{{items.name}}</div>
               </div>
             </div>
+            <!--科目end-->
+            <!--年级-->
+            <div class="filtratebox-phase">
+              <span class="filtratebox-phase-title">{{filters.grade.name}}:</span>
+              <div class="filtratebox-phase-content">
+                <div class="phase-item" v-for="(items,index) in filters.grade.option" :key="items.value" :class="[index ===clickNum.grade ? 'filter-click':'' ]" @click="clickNum.grade=index">{{items}}</div>
+              </div>
+            </div>
+            <!--年级end-->
           </div>
         </el-collapse-item>
       </el-collapse>
@@ -89,9 +99,16 @@
   </div>
 </template>
 <script>
-import { ref } from 'vue'
+import { ref, watch } from 'vue'
+import { useStore } from 'vuex'
 export default {
-  setup () {
+  props: {
+    detailsSchool: {
+      default: {}
+    },
+  },
+  setup (props) {
+    const store = useStore()
     let activeNames = ref([])
     let findbox = ref({
       tagValue: '',
@@ -120,11 +137,38 @@ export default {
       },
     ]
     let filters = ref({
-      pahse: { name: '学段', option: [{ name: '小学', value: '11-1' }, { name: '中学', value: '11-2' }] },
-      subject: { name: '科目', option: [{ name: '语文', value: 'yw' }, { name: '数学', value: 'sx' }, { name: '英语', value: 'yy' }] },
-      grade: { name: '年级', option: [{ name: '一年级', value: '1' }, { name: '一年级', value: '2' }] },
+      pahse: { name: '学段', option: [] },
+      subject: { name: '科目', option: [] },
+      grade: { name: '年级', option: [] },
+    }
+    )
+    let clickNum = ref({
+      pahse: 0,
+      subject: 0,
+      grade: 0,
     })
-    return { activeNames, findbox, options, filters }
+    let filterperiod = ref([])
+    let allperiod = ref()
+    //处理筛选
+    function filterInt (data) {
+      console.log(data, '试卷数据')
+      allperiod.value = data.period
+      let schoolPeriod = data.period
+      for (let i in schoolPeriod) {
+        filters.value.pahse.option.push({ name: schoolPeriod[i].name, id: schoolPeriod[i].id })
+      }
+      filters.value.subject.option = schoolPeriod[0].subjects
+      filters.value.grade.option = schoolPeriod[0].grades
+    }
+    watch(
+      props,
+      (newdata, olddata) => {
+        console.log(newdata, '试卷数据')
+        newdata.detailsSchool !== undefined && newdata !== olddata ? filterInt(newdata.detailsSchool) : ''
+      },
+      { immediate: true, deep: true }
+    )
+    return { activeNames, findbox, options, filters, clickNum, filterInt, filterperiod, allperiod }
   },
 }
 </script>
@@ -263,6 +307,7 @@ export default {
   padding: 10px 20px;
   padding-bottom: 20px;
   background: #fff;
+  border-top: 1px solid #ccc;
 }
 .filtratebox-phase {
   width: 100%;
@@ -294,6 +339,12 @@ export default {
 .phase-item:hover {
   color: #409eff;
 }
+.filter-click {
+  background: #10abe7;
+  box-shadow: none;
+  color: #fff;
+  border-radius: 5px;
+}
 </style>
 <style>
 .header-filter .el-collapse-item__header {

+ 14 - 4
TEAMModelBI/ClientApp/src/view/participation/index.vue

@@ -249,10 +249,10 @@
         </div>
       </el-tab-pane>
       <el-tab-pane :label="$t(`schoolManages.redactGrading`)">
-        <SetSchool :schoolData="studyPhase" ref="setSchoolData"></SetSchool>
+        <SetSchool :detailsSchool="detailsSchool" ref="setSchoolData"></SetSchool>
       </el-tab-pane>
       <el-tab-pane label="试卷资源">
-        <Exammination></Exammination>
+        <Exammination :detailsSchool="detailsSchool"></Exammination>
       </el-tab-pane>
     </el-tabs>
   </div>
@@ -387,6 +387,8 @@ export default {
       distCode: '',
     })
     let timer = ref()
+    //学校详情 
+    let detailsSchool = ref()
     onMounted(() => {
       //监听表格滚动事件
       // let table = mutipleTable.value._value.layout.table.refs.bodyWrapper;
@@ -443,6 +445,7 @@ export default {
     //点击学校列表,详情
     function deleteRow (index, data) {
       console.log(index, data, 'DATA')
+      let school = data
       //处理的基础设置
       areaSelect.value.data = []
       studyPhase.value = data.id
@@ -463,7 +466,13 @@ export default {
       data.areaId !== null ? (areaSelect.value.Selectvalue = data.areaId) : ''
       console.log(store.state.point, '目前现有的所有区')
       store.state.point.length ? areaSelect.value.data.push(...store.state.point) : getoption()
-      models.value = 'details'
+      proxy.$api.getNowscholl({ schoolId: school.id }).then((res) => {
+        res.state === 200 ? (detailsSchool.value = res.schoolAssists, models.value = 'details') : ElMessage.error('详情API异常,访问失败')
+      }).catch((error) => {
+        ElMessage.error('详情API异常,访问失败')
+        return
+      })
+      // models.value = 'details'
       console.log(nowPitchdata.value, '查看当前学校的值')
     }
     //更换校徽
@@ -877,7 +886,8 @@ export default {
       datascroll,
       tableNexttoken,
       selectValue,
-      userPower
+      userPower,
+      detailsSchool
     }
   },
 }

+ 14 - 16
TEAMModelBI/ClientApp/src/view/participation/setPhase.vue

@@ -499,9 +499,8 @@ import { useStore } from 'vuex'
 import jwt_decode from 'jwt-decode'
 export default {
   props: {
-    schoolData: {
-      type: String,
-      default: '',
+    detailsSchool: {
+      default: {}
     },
   },
   setup (props) {
@@ -713,16 +712,17 @@ export default {
     function getnowSchool (data) {
       console.log(data, '进入调用API方法')
       let schoolData = {}
+      conductData(data)
       //处理学段管理api
-      proxy.$api
-        .getNowscholl({ schoolId: data })
-        .then((res) => {
-          console.log(res, '返回的res内容')
-          res.state === 200 ? ((schoolData = res.schoolAssists), conductData(res.schoolAssists)) : ''
-        })
-        .catch((res) => {
-          ElMessage.error('获取学校数据异常')
-        })
+      // proxy.$api
+      //   .getNowscholl({ schoolId: data })
+      //   .then((res) => {
+      //     console.log(res, '返回的res内容')
+      //     res.state === 200 ? ((schoolData = res.schoolAssists), conductData(res.schoolAssists),store.commit('getSchoolPeriod',res.schoolAssists.period)) : ''
+      //   })
+      //   .catch((res) => {
+      //     ElMessage.error('获取学校数据异常')
+      //   })
     }
     //接收到学校信息处理数据
     function conductData (data) {
@@ -738,7 +738,6 @@ export default {
           datas.campuses[y].id === ids ? (datas.period[i].area = datas.campuses[y].name) : ''
         }
       }
-      console.log('8888888888888')
       //显示学段名称和校区
       for (let i in datas.period) {
         let ids = datas.period[i].campusId
@@ -747,7 +746,6 @@ export default {
           datas.campuses[y].id === ids ? (datas.period[i].area = datas.campuses[y].name) : ''
         }
       }
-      console.log('9999999999')
       //处理学期设置
       let phasetime = data.period[pathNowphase.value].semesters
       console.log(phasetime, '当前的学期')
@@ -1273,9 +1271,9 @@ export default {
     }
     watch(
       props,
-      (newdata) => {
+      (newdata, olddata) => {
         console.log(newdata, '数据')
-        newdata.schoolData !== undefined ? getnowSchool(newdata.schoolData) : ''
+        newdata.detailsSchool !== undefined && newdata !== olddata ? getnowSchool(newdata.detailsSchool) : ''
       },
       { immediate: true, deep: true }
     )