luohailiang 2 gadi atpakaļ
vecāks
revīzija
fa0b72b1d9
2 mainītis faili ar 92 papildinājumiem un 12 dzēšanām
  1. 13 3
      src/pages/process/detail/[id].vue
  2. 79 9
      src/pages/process/index.vue

+ 13 - 3
src/pages/process/detail/[id].vue

@@ -53,10 +53,10 @@
              <span class="inline-block align-middle">进行中</span>
              <div class="inline-block align-middle ml-10px process-state">
                <h3 class="state-line">
-                 <span style="width: 11%;"></span>
+                 <span :style="{width: detail_percent}"></span>
                </h3>
              </div>
-             <span class="ml-10px inline-block align-middle">11%</span>
+             <span class="ml-10px inline-block align-middle">{{detail_percent}}</span>
            </div>
          </div>
        </div>
@@ -82,6 +82,7 @@ const linkTo = (name) => {
 };
 let ykj_id = $ref('');
 let ykj_detail = $ref({});
+let detail_percent = $ref('');
 function getDetail() {
   request({
     url: "/yzy/ksjh/detail",
@@ -91,10 +92,19 @@ function getDetail() {
   }).then((res) => {
     if (res.code === "1") {
       ykj_detail= res.data.one_info;
+      let total = 0;
+      for(let j in ykj_detail.lc) {
+        ykj_detail.lc[j].percent = getPercentage(JSON.parse(ykj_detail.lc[j].ykl_lc).processList) + '%'
+        total += getPercentage(JSON.parse(ykj_detail.lc[j].ykl_lc).processList)
+      }
+      detail_percent = Math.round(total/ykj_detail.lc.length) + '%';
     }
   });
 }
-
+function getPercentage(arr) {
+  const flatOne = arr.flat(1)
+  return Math.round(((flatOne.findLastIndex(l => l.includes(1)) + 1) / flatOne.length * 100))
+}
 if (route.params.id) {
   ykj_id = route.params.id;
   getDetail();

+ 79 - 9
src/pages/process/index.vue

@@ -63,10 +63,10 @@
                 <span class="inline-block align-middle">进行中</span>
                 <div class="inline-block align-middle ml-10px process-state">
                   <h3 class="state-line">
-                    <span style="width: 11%;"></span>
+                    <span :style="{width: item.percent}"></span>
                   </h3>
                 </div>
-                <span class="ml-10px inline-block align-middle">11%</span>
+                <span class="ml-10px inline-block align-middle">{{item.percent}}</span>
               </div>
               <div class="w-130px text-left">
                 <span v-if="item.ykj_kslx === '1'">周考</span>
@@ -79,15 +79,17 @@
               </div>
               <div class="w-220px text-left">{{item.ykj_ksrq}}~{{item.ykj_jsrq}}</div>
               <div class="w-300px">
-                <button type="button" class="op-btn" :disabled="item.create_user_id != user.user_id" @click="linkTo({name:'process-edit-id',params:{id:item.ykj_id}})">编辑</button>
+                <button type="button" class="op-btn" :disabled="item.btn_check.btn_edit != '1'" @click="linkTo({name:'process-edit-id',params:{id:item.ykj_id}})">编辑</button>
                 <button type="button" class="op-btn ml-10px" @click="linkTo({name:'process-detail-id',params:{id:item.ykj_id}})">详情</button>
                 <div class="ml-10px relative op-btn cursor-pointer">
                   <span class="inline-block align-middle leading-28px">更多</span>
                   <div class="more-list">
                     <ul>
-                      <li @click="linkTo({name:'process-smpyjd-ykj_id',params:{ykj_id:item.ykj_id}})">扫描批阅进度</li>
-                      <li>考试分析</li>
-                      <li v-if="item.create_user_id == user.user_id" @click="delProject(item)">删除</li>
+                      <li :class="item.btn_check.btn_jyysz != '1'?'disabled':''">教研员设置</li>
+                      <li :class="item.btn_check.btn_jsgzsz != '1'?'disabled':''">分数计算规则设置</li>
+                      <li :class="item.btn_check.btn_smpyjd != '1'?'disabled':''" @click="linkTo({name:'process-smpyjd-ykj_id',params:{ykj_id:item.ykj_id}})">扫描批阅进度</li>
+                      <li :class="item.btn_check.btn_ksfx != '1'?'disabled':''" @click="linkTo({name:'ksfx-cjfx_cjd-ykj_id',params:{ykj_id:item.ykj_id}})">考试分析</li>
+                      <li :class="item.btn_check.btn_sc != '1'?'disabled':''" @click="delProject(item)">删除</li>
                     </ul>
                   </div>
                 </div>
@@ -160,6 +162,38 @@
     </template>
 
   </el-dialog>
+  <div class="score-set" v-if="set_pop">
+    <div class="score-set-box">
+      <h3 class="set-nav text-16px text-center leading-45px font-bold">分数计算规则设置</h3>
+      <h4 class="pl-70px mt-30px text-14px font-bold">分数区间设置</h4>
+      <div class="flex pl-80px mt-10px items-center">
+        <h4 class="text-14px leading-40px">优秀分数:</h4>
+        <h4 class="ml-10px text-14px leading-40px">总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        <h4 class="text-14px leading-40px">% {{'<='}}  学生分数 {{'<='}} 总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        %
+      </div>
+      <div class="mt-10px flex pl-80px mt-10px items-center">
+        <h4 class="text-14px leading-40px">及格分数:</h4>
+        <h4 class="ml-10px text-14px leading-40px">总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        <h4 class="text-14px leading-40px">% {{'<='}}  学生分数 {{'<='}} 总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        %
+      </div>
+      <div class="mt-10px flex pl-80px mt-10px items-center">
+        <h4 class="text-14px leading-40px">低分分数:</h4>
+        <h4 class="ml-10px text-14px leading-40px">总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        <h4 class="text-14px leading-40px">% {{'<='}}  学生分数 {{'<='}} 总分的</h4>
+        <input type="text" class="ml-10px mr-5px set-in w-50px">
+        %
+      </div>
+      <h4 class="pl-70px mt-40px text-14px font-bold">实考成绩分析规则设置</h4>
+
+    </div>
+  </div>
   <commonFooter/>
 </template>
 <route lang="json">
@@ -253,9 +287,13 @@ function getListData() {
         } else {
           listData[i].showSub = false;
         }
+        let total = 0;
         for(let j in listData[i].lc) {
           listData[i].lc[j].percent = getPercentage(JSON.parse(listData[i].lc[j].ykl_lc).processList) + '%'
+          total += getPercentage(JSON.parse(listData[i].lc[j].ykl_lc).processList)
         }
+        listData[i].percent = Math.round(total/listData[i].lc.length) + '%';
+
       }
       // console.log(listData,87)
       total = Number(res.data.total_rows);
@@ -266,7 +304,7 @@ function getListData() {
 getListData();
 function getPercentage(arr) {
   const flatOne = arr.flat(1)
-  return parseInt(((flatOne.findLastIndex(l => l.includes(1)) + 1) / flatOne.length * 100))
+  return Math.round(((flatOne.findLastIndex(l => l.includes(1)) + 1) / flatOne.length * 100))
 }
 function filterData() {
   cur_page = 1;
@@ -374,6 +412,7 @@ function delProject(item) {
 function toReview(item) {
   window.location.href = window.GLOBAL_CONFIG.yzy+'webapps/page/single-review-liankao.html?ze_id='+item.ze_id;
 }
+let set_pop = $ref(false)
 </script>
 <style lang="scss" scoped>
 $color: #0048e5;
@@ -579,9 +618,9 @@ $color: #0048e5;
     position: absolute;
     left: 50%;
     top: 30px;
-    margin-left: -50px;
+    margin-left: -65px;
     z-index: 50;
-    width: 100px;
+    width: 130px;
     padding-top: 5px;
 
     ul {
@@ -683,4 +722,35 @@ $color: #0048e5;
   text-align: center;
 
 }
+.score-set{
+  position: fixed;
+  left: 0;
+  top: 0;
+  z-index: 2000;
+  width: 100%;
+  height: 100%;
+  background: rgba(0,0,0,.7);
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.score-set-box{
+  width: 647px;
+  height: 721px;
+  background: #fff;
+  border-radius: 6px;
+  .set-nav{
+    width: 100%;
+    border-bottom: 1px solid #F3F3F3;
+  }
+  .set-in{
+    outline: none;
+    height: 40px;
+    background: #fff;
+    border: 1px solid #dcdfe6;
+    border-radius: 4px;
+    font-size: 14px;
+    text-align: center;
+  }
+}
 </style>