zhangjie 3 lat temu
rodzic
commit
9523b7123b

BIN
public/temps/学生导入模板.xlsx


BIN
public/temps/用户导入模板.xlsx


BIN
public/temps/课程导入模板.xlsx


+ 29 - 3
src/assets/styles/element-ui-costom.scss

@@ -491,15 +491,41 @@
 // el-step
 .el-step {
   &__title.is-success,
-  &__description.is-success {
+  &__description.is-success,
+  &__title.is-process,
+  &__description.is-process {
     color: $--color-success;
   }
+  &__title.is-process {
+    font-weight: normal;
+  }
   &__head.is-success {
-    color: $--color-success;
-    border-color: $--color-success;
     .el-step__line {
       background-color: $--color-success;
     }
+    .el-step__icon.is-text {
+      color: $--color-white;
+      border-color: $--color-success;
+      background-color: $--color-success;
+    }
+  }
+  &__head.is-process {
+    .el-step__icon.is-text {
+      color: $--color-success;
+      border-color: $--color-success;
+    }
+  }
+
+  &__title.is-wait,
+  &__description.is-wait {
+    color: $--color-text-gray-2;
+  }
+  &__head.is-wait {
+    .el-step__icon.is-text {
+      color: $--color-text-gray-2;
+      border-color: #e1e3eb;
+      background-color: #e1e3eb;
+    }
   }
 }
 // el-popover

+ 9 - 0
src/assets/styles/pages.scss

@@ -1,3 +1,12 @@
+.task-apply-steps {
+  min-height: 90px;
+  margin-bottom: 20px;
+  margin-top: -32px;
+  .el-step__title {
+    font-size: 14px;
+    line-height: 30px;
+  }
+}
 // task-detail
 .task-detail {
   .table {

+ 15 - 15
src/modules/base/components/MergePushDialog.vue

@@ -10,11 +10,11 @@
     append-to-body
     @open="visibleChange"
   >
-    <div>
-      <p class="tips-infos">
+    <div class="mb-4">
+      <p class="tips-info">
         1、此操作会将多个印刷计划合并,合并操作不可还原,是否继续合并操作?
       </p>
-      <p class="tips-infos">
+      <p class="tips-info">
         2、如果确定需要合并,请填写合并后考试名称及对应考试ID,然后点击确定按钮。
       </p>
     </div>
@@ -22,18 +22,18 @@
       ref="modalFormComp"
       :model="modalForm"
       :rules="rules"
-      label-width="100px"
+      label-position="top"
     >
-      <el-form-item prop="name" label="考试名称:">
+      <el-form-item prop="thirdRelateName" label="考试名称:">
         <el-input
-          v-model.trim="modalForm.name"
+          v-model.trim="modalForm.thirdRelateName"
           placeholder="请输入考试名称"
           clearable
         ></el-input>
       </el-form-item>
-      <el-form-item prop="code" label="考试ID:">
+      <el-form-item prop="thirdRelateId" label="考试ID:">
         <el-input
-          v-model.trim="modalForm.code"
+          v-model.trim="modalForm.thirdRelateId"
           placeholder="请输入考试ID"
           clearable
         ></el-input>
@@ -52,8 +52,8 @@
 import { printPlanMergePush } from "../api";
 
 const initModalForm = {
-  name: "",
-  code: ""
+  thirdRelateId: "",
+  thirdRelateName: ""
 };
 
 export default {
@@ -72,17 +72,17 @@ export default {
       isSubmit: false,
       modalForm: { ...initModalForm },
       rules: {
-        name: [
+        thirdRelateName: [
           {
-            required: true,
+            required: false,
             message: "考试名称不能超过50个字",
             max: 50,
             trigger: "change"
           }
         ],
-        code: [
+        thirdRelateId: [
           {
-            required: true,
+            required: false,
             pattern: /^[0-9a-zA-Z_-]{3,30}$/,
             message: "考试ID只能由数字字母短横线组成,长度在3-30之间",
             trigger: "change"
@@ -115,7 +115,7 @@ export default {
       this.isSubmit = true;
       const data = await printPlanMergePush({
         ...this.modalForm,
-        ids: this.ids
+        list: this.ids
       }).catch(() => {
         this.isSubmit = false;
       });

+ 3 - 5
src/modules/base/views/OrganizationManage.vue

@@ -24,7 +24,7 @@
                 v-if="checkPrivilege('button', 'Add')"
                 class="btn-primary"
                 type="text"
-                @click="() => append(data)"
+                @click="() => toAdd(data)"
                 >子部门</el-button
               >
             </div>
@@ -98,14 +98,12 @@ export default {
       const orgs = await organizationList();
       this.orgs = orgs || [];
     },
-    toAdd() {
-      this.curOrg = {
-        parentName: this.$ls.get("schoolName")
-      };
+    toAdd(data) {
       this.orgTypes = [
         { type: "COLLEGE", name: "学院" },
         { type: "PRINTING_HOUSE", name: "印刷室" }
       ];
+      this.curOrg = { parentId: data.id, parentName: data.name };
       this.$refs.ModifyOrganization.open();
     },
     edit(node, data) {

+ 14 - 11
src/modules/base/views/PrintPlanPushManage.vue

@@ -23,11 +23,7 @@
         >
           批量推送
         </el-button>
-        <el-button
-          icon="el-icon-circle-plus-outline"
-          type="primary"
-          @click="toMergePush"
-        >
+        <el-button icon="el-icon-circle-plus-outline" @click="toMergePush">
           合并推送印刷计划
         </el-button>
       </div>
@@ -39,11 +35,12 @@
         :data="dataList"
         @selection-change="handleSelectionChange"
       >
-        <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column
-          prop="printPlanName"
-          label="印刷计划"
+          type="selection"
+          width="55"
+          align="center"
         ></el-table-column>
+        <el-table-column prop="name" label="印刷计划"></el-table-column>
         <el-table-column prop="examStartTime" label="考试开始时间">
           <span slot-scope="scope">{{
             scope.row.examStartTime | timestampFilter
@@ -71,8 +68,11 @@
           }}</span>
         </el-table-column>
         <el-table-column prop="createName" label="创建人"></el-table-column>
-        <el-table-column prop="examName" label="考试名称"></el-table-column>
-        <el-table-column prop="examId" label="考试ID"></el-table-column>
+        <el-table-column
+          prop="thirdRelateName"
+          label="考试名称"
+        ></el-table-column>
+        <el-table-column prop="thirdRelateId" label="考试ID"></el-table-column>
         <el-table-column prop="syncStatus" label="同步状态"></el-table-column>
         <el-table-column class-name="action-column" label="操作" width="120px">
           <template slot-scope="scope">
@@ -146,6 +146,9 @@ export default {
       multipleSelection: []
     };
   },
+  mounted() {
+    this.toPage(1);
+  },
   methods: {
     async getList() {
       const datas = {
@@ -166,7 +169,7 @@ export default {
       this.toPage(1);
     },
     handleSelectionChange(val) {
-      this.multipleSelection = val.map(item => item.cardId);
+      this.multipleSelection = val.map(item => item.id);
     },
     async toBatchPush() {
       if (this.loading) return;

+ 5 - 29
src/modules/exam/components/ApplyContent.vue

@@ -1,32 +1,5 @@
 <template>
   <div class="apply-content task-detail">
-    <div class="mb-4" v-if="flows.length">
-      <el-steps align-center>
-        <el-step
-          v-for="flow in flows"
-          :key="flow.taskKey"
-          :title="flow.taskName"
-          :status="flow.status"
-        >
-          <div slot="description">
-            <p class="step-desc">{{ flow.desc }}</p>
-            <div class="step-info" v-if="flow.firstUser">
-              <span>{{ flow.firstUser }}</span>
-              <el-popover
-                v-if="flow.moreUser"
-                placement="top-start"
-                width="300"
-                trigger="hover"
-                :content="flow.moreUser"
-              >
-                <span class="color-primary ml-1" slot="reference">更多</span>
-              </el-popover>
-            </div>
-          </div>
-        </el-step>
-      </el-steps>
-    </div>
-
     <div class="task-body">
       <div v-if="IS_APPLY" class="mb-2 text-right">
         <el-button
@@ -471,8 +444,10 @@ export default {
       if (
         !this.curTaskApply.flowId ||
         (this.curTaskApply.setup !== null && this.curTaskApply.setup <= 0)
-      )
+      ) {
+        this.$emit("step-change", []);
         return;
+      }
 
       const flowStatus = {
         wait: "待进行",
@@ -520,6 +495,7 @@ export default {
               };
             });
       }
+      this.$emit("step-change", this.flows);
     },
     addAtachment() {
       if (this.paperAttachments.length >= this.attachmentLimitCount) return;
@@ -739,7 +715,7 @@ export default {
       if (!valid) return;
 
       const actionName =
-        this.auditModal.approvePass === "REJECT" ? "不通过" : "通过";
+        this.auditModal.approvePass === "REJECT" ? "驳回" : "通过";
       const result = await this.$confirm(
         `确定${actionName}该申请吗?`,
         "提示",

+ 1 - 1
src/modules/exam/components/BatchAddExamTask.vue

@@ -24,7 +24,7 @@
           v-if="modalIsShow"
         ></upload-file-view>
         <el-button
-          type="warning"
+          type="success"
           icon="el-icon-download"
           style="margin-left:10px;"
         >

+ 1 - 2
src/modules/exam/components/CreateTaskApply.vue

@@ -83,7 +83,7 @@
       </el-form>
     </div>
 
-    <div class="mb-4" v-if="flows.length">
+    <div class="task-apply-steps" v-if="flows.length">
       <el-steps align-center>
         <el-step
           v-for="flow in flows"
@@ -92,7 +92,6 @@
           :status="flow.status"
         >
           <div slot="description">
-            <p class="step-desc">{{ flow.desc }}</p>
             <div class="step-info" v-if="flow.firstUser">
               <span>{{ flow.firstUser }}</span>
               <el-popover

+ 31 - 1
src/modules/exam/components/ModifyTaskApply.vue

@@ -75,6 +75,31 @@
         </el-row>
       </el-form>
     </div>
+    <div class="task-apply-steps" v-if="flows.length">
+      <el-steps align-center>
+        <el-step
+          v-for="flow in flows"
+          :key="flow.taskKey"
+          :title="flow.taskName"
+          :status="flow.status"
+        >
+          <div slot="description">
+            <div class="step-info" v-if="flow.firstUser">
+              <span>{{ flow.firstUser }}</span>
+              <el-popover
+                v-if="flow.moreUser"
+                placement="top-start"
+                width="300"
+                trigger="hover"
+                :content="flow.moreUser"
+              >
+                <span class="color-primary ml-1" slot="reference">更多</span>
+              </el-popover>
+            </div>
+          </div>
+        </el-step>
+      </el-steps>
+    </div>
 
     <div class="mb-4 tab-btns" v-if="needReview">
       <el-button
@@ -92,6 +117,7 @@
         ref="ApplyContent"
         :exam-task="modalForm"
         :edit-type="editType"
+        @step-change="stepChange"
         @cancel="cancel"
         @modified="modified"
       ></apply-content>
@@ -181,7 +207,8 @@ export default {
         { id: "1", name: "命题处理", component: "apply-content" },
         { id: "2", name: "审核意见", component: "apply-audit-history" }
       ],
-      curMenu: {}
+      curMenu: {},
+      flows: []
     };
   },
   created() {
@@ -227,6 +254,9 @@ export default {
     selectMenu(item) {
       this.curMenu = item;
     },
+    stepChange(flows) {
+      this.flows = flows;
+    },
     modified() {
       this.cancel();
       this.$emit("modified");

+ 3 - 0
src/modules/exam/components/PublishPrintTask.vue

@@ -175,6 +175,8 @@ export default {
   methods: {
     visibleChange() {
       this.filter = this.$objAssign(this.filter, this.instance);
+      this.tableData = [];
+      this.curRow = {};
     },
     async getExtendFields() {
       const examRule = await examRuleDetail();
@@ -225,6 +227,7 @@ export default {
       this.getList();
     },
     printPlanChange(val) {
+      if (!val) return;
       this.filter.printPlanName = val && val.name;
       this.getList();
     },

+ 1 - 1
src/modules/exam/components/UploadPaperDialog.vue

@@ -30,7 +30,7 @@
       <el-button type="primary" @click="confirm" :disabled="loading"
         >确认</el-button
       >
-      <el-button type="danger" @click="cancel" plain>关闭</el-button>
+      <el-button @click="cancel">关闭</el-button>
     </div>
   </el-dialog>
 </template>