Bladeren bron

附件出题

luohailiang 2 jaren geleden
bovenliggende
commit
aba7d95403
3 gewijzigde bestanden met toevoegingen van 381 en 3 verwijderingen
  1. 2 2
      src/pages/process/create/index.vue
  2. 378 0
      src/pages/process/fjct/index.vue
  3. 1 1
      src/pages/process/index.vue

+ 2 - 2
src/pages/process/create/index.vue

@@ -94,10 +94,10 @@ const ruleFormRef = ref(null);
 let createForm = $ref({
   ksmc:'',
   kssj:'',
-  kslx:'',
+  kslx:'1',
   ksnj:'',
   kskm:'',
-  yjlc:'',
+  yjlc:'1',
   lkxx:''
 })
 let type_list = [{

+ 378 - 0
src/pages/process/fjct/index.vue

@@ -0,0 +1,378 @@
+<template>
+  <NavHeader/>
+  <bread-crumb/>
+  <div class="w-1200px m-auto">
+    <div class="relative -mt-40px flex justify-end">
+      <button type="button" class="back-btn" @click="linkTo('process')">返回</button>
+    </div>
+    <div class="mt-10px w-full min-h-860px bg-hex-FFF pt-25px">
+      <h3 class="text-18px text-center">附件出题</h3>
+      <div class="mt-60px pl-250px">
+        <el-form ref="ruleFormRef" :rules="rules" :model="createForm" label-width="140px" size="large" status-icon>
+          <el-form-item label="学科" style="width: 620px">
+             <h3 class="text-14px">{{createForm.xkmc}}</h3>
+          </el-form-item>
+          <el-form-item label="答题卡名称" prop="dtkmc" style="width: 620px">
+            <el-input v-model="createForm.dtkmc" placeholder="请输入答题卡名称" />
+          </el-form-item>
+          <el-form-item label="答题卡别名" style="width: 620px">
+            <el-input v-model="createForm.dtkbm" placeholder="请输入答题卡别名" />
+          </el-form-item>
+          <el-form-item label="及格分数" prop="jgfs" style="width: 620px">
+            <el-input v-model="createForm.jgfs" placeholder="请输入及格分数" />
+          </el-form-item>
+          <el-form-item label="优秀分数" prop="yxfs" style="width: 620px">
+            <el-input v-model="createForm.yxfs" placeholder="请输入优秀分数" />
+          </el-form-item>
+          <el-form-item label="流程类型" prop="lclx" style="width: 620px">
+            <el-radio-group v-model="createForm.lclx">
+              <el-radio v-for="item in lc_type_list" :label="item.value">{{item.label}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="阅卷流程" prop="yjlc" style="width: 620px">
+            <el-radio-group v-model="createForm.yjlc">
+              <el-radio v-for="item in yjlc" :label="item.value">{{item.label}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item>
+            <div v-if="createForm.yjlc === '1'">
+              <el-button type="primary" color="#003eee">
+                <el-icon :size="24"><UploadFilled /></el-icon>
+                <span>上传文件</span>
+              </el-button>
+              <span class="ml-10px text-13px text-hex-999999">上传文件格式支持 jpg,png,jpeg,docx,doc,mp4,pdf,ppt,pptx,xls,xlsx</span>
+            </div>
+            <div v-else-if="createForm.yjlc === '2'">
+              <el-button type="primary" color="#003eee">
+                <el-icon :size="24"><Promotion /></el-icon>
+                <span>启动客户端</span>
+              </el-button>
+            </div>
+            <div v-else>
+              <el-button type="primary" color="#003eee" @click="dialogVisible = true">
+                <el-icon :size="24"><Plus /></el-icon>
+                <span>请选择答题卡</span>
+              </el-button>
+            </div>
+          </el-form-item>
+          <el-form-item v-if="createForm.yjlc === '2'" label="扫描文件展示列表"></el-form-item>
+          <el-form-item>
+            <div class="mt-50px pl-50px">
+              <el-button class="mr-20px" @click="linkTo('process')"><span class="px-40px">取消</span></el-button>
+              <el-button type="primary" color="#003eee" @click="handleSubmit(ruleFormRef)"><span class="px-40px">确定</span></el-button>
+            </div>
+
+
+          </el-form-item>
+        </el-form>
+      </div>
+    </div>
+  </div>
+  <el-dialog
+    v-model="dialogVisible"
+    title="答题卡选择"
+    width="980px"
+    custom-class="dialogTrick"
+    append-to-body
+  >
+    <el-form :inline="true" class="flex justify-between" size="large">
+      <el-form-item label="考试时间筛选">
+        <el-date-picker
+          v-model="time"
+          type="date"
+          placeholder="请选择考试时间"
+        />
+      </el-form-item>
+      <div>
+        <el-form-item style="margin-right: 10px">
+          <el-input v-model="keyword" placeholder="请输入关键字" clearable />
+        </el-form-item>
+        <el-form-item>
+          <el-button color="#003eee" type="primary">搜索</el-button>
+        </el-form-item>
+
+      </div>
+
+    </el-form>
+    <ul class="card-list py-15px">
+      <li class="relative py-15px" :class="chooseCheck.includes('1')?'selected':''">
+        <div class="choose">
+          <p class="set-check">
+            <input type="checkbox" id="1" value="1" v-model="chooseCheck">
+            <label :for="1"></label>
+          </p>
+        </div>
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="choose">
+          <p class="set-check">
+            <input type="checkbox" id="2" value="2" v-model="chooseCheck">
+            <label :for="2"></label>
+          </p>
+        </div>
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+      <li class="relative py-15px">
+        <div class="w-162px h-108px m-auto overflow-hidden">
+          <img class="w-full" src="https://yzy.bozedu.net/data/upload/exam_package/20230329/1521/210900241/5-1521-210900241-4096-20230329101520/image_20230329101519044.jpg" alt="">
+        </div>
+        <h3 class="mt-10px mb-10px px-20px text-13px leading-20px truncate text-center">2023-11-12联考答题卡</h3>
+        <button type="button" class="op-btn block m-auto">查看</button>
+      </li>
+    </ul>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="dialogVisible = false" class="mr-15px" size="large">
+          <span class="px-10px">取消</span>
+        </el-button>
+        <el-button size="large" color="#003eee" type="primary" @click="dialogVisible = false">
+          <span class="px-10px">确定</span>
+        </el-button>
+      </span>
+    </template>
+
+  </el-dialog>
+  <commonFooter/>
+</template>
+<route lang="json">
+{
+"meta":{
+"title":"附件出题",
+"breadcrumb": true
+}
+}
+</route>
+<script setup>
+import { useRouter } from "vue-router";
+const router = useRouter();
+const linkTo = (name) => {
+  router.push({ name });
+};
+const rules = $ref({
+  dtkmc:[{ required: true, message: '请输入答题卡名称', trigger: 'blur' }],
+  jgfs:[{ required: true, message: '请输入及格分数', trigger: 'blur' }],
+  yxfs:[{ required: true, message: '请输入优秀分数', trigger: 'blur' }],
+  lclx: [{required: true, message: '请选择流程类型', trigger: 'change'}],
+  yjlc: [{required: true, message: '请选择阅卷流程', trigger: 'change'}],
+})
+const ruleFormRef = ref(null);
+let createForm = $ref({
+  xkmc:'语文',
+  dtkmc:'',
+  dtkbm:'',
+  jgfs:'',
+  yxfs:'',
+  lclx:'1',
+  yjlc:'1'
+})
+let lc_type_list = [{
+  value: '1',
+  label: '常规'
+}, {
+  value: '2',
+  label: '自定义框选'
+}, {
+  value: '3',
+  label: '无定位点框选(第三方答题卡)'
+}]
+let yjlc = [{
+  value: '1',
+  label: '上传文件'
+}, {
+  value: '2',
+  label: '模板预扫描'
+}, {
+  value: '3',
+  label: '沿用答题卡'
+}]
+
+const handleCancel = () => {
+  router.back();
+}
+
+const handleSubmit = async (formEl) => {
+  if (!formEl) return;
+
+  formEl.validate(async (valid, fields) => {
+    if (valid) {
+
+    } else {
+      console.log("error submit!", fields);
+    }
+  });
+}
+let dialogVisible = $ref(false)
+let time = $ref('')
+let keyword = $ref('')
+let chooseCheck = $ref([]);
+</script>
+
+<style lang="scss">
+
+.dialogTrick .el-dialog__footer {
+  text-align: center;
+}
+</style>
+
+<style lang="scss" scoped>
+.card-list{
+  display: flex;
+  flex-wrap: wrap;
+  max-height: 480px;
+  overflow-y:auto;
+  li{
+    width: 203px;
+    background: #ffffff;
+    border: 2px solid #cacaca;
+    border-radius: 10px;
+    margin-right: 40px;
+    margin-bottom: 30px;
+    &.selected{
+      border-color:#003eee;
+    }
+    &:nth-child(4n) {
+      margin-right: 0;
+    }
+    &:hover{
+      .card-pop{
+        display: flex;
+      }
+    }
+    .card-title{
+      width: 100%;
+      font-size: 13px;
+      line-height: 15px;
+    }
+  }
+  .card-pop{
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    border-radius: 10px;
+    z-index: 30;
+    background: rgba(0,0,0,.45);
+    display: none;
+    align-items: center;
+    justify-content: center;
+  }
+}
+.op-btn {
+  width: 60px;
+  height: 30px;
+  background: #fff;
+  border: 1px solid #003eee;
+  border-radius: 2px;
+  font-size: 14px;
+  color: #003eee;
+  text-align: center;
+}
+.choose{
+  position: absolute;
+  left: -12px;
+  top:-12px;
+  z-index: 50;
+}
+.set-check {
+  position: relative;
+  z-index: 40;
+  width: 25px;
+  height: 25px;
+
+  label {
+    position: absolute;
+    left: 0;
+    width: 25px;
+    height: 25px;
+    cursor: pointer;
+    background: #fff;
+    border-radius: 4px;
+    box-shadow: 0 0 4px rgba(0,0,0,0.18);
+  }
+
+  input[type=checkbox] {
+    width: 25px;
+    height: 25px;
+    opacity: 0;
+    &:checked + label {
+      background: #003eee;
+    }
+
+    &:checked + label:after {
+      content: '';
+      width: 16px;
+      height: 10px;
+      position: absolute;
+      top: 5px;
+      left: 4px;
+      border: 3px solid #fff;
+      border-top: none;
+      border-right: none;
+      -moz-transform: rotate(-45deg);
+      -ms-transform: rotate(-45deg);
+      -webkit-transform: rotate(-45deg);
+      transform: rotate(-45deg);
+    }
+  }
+
+}
+</style>

+ 1 - 1
src/pages/process/index.vue

@@ -284,7 +284,7 @@
     <template #footer>
       <span class="dialog-footer text-right">
         <el-button @click="dialogVisible = false" size="large">取消</el-button>
-        <el-button size="large" type="primary" @click="dialogVisible = false">
+        <el-button size="large" color="#003eee" type="primary" @click="dialogVisible = false">
           确定
         </el-button>
       </span>