Browse Source

接口调试

zhangjie 3 years ago
parent
commit
277c4eac61

+ 3 - 0
src/assets/styles/icons.scss

@@ -27,6 +27,9 @@
   &-customer {
     background-image: url(../images/icon-customer.png);
   }
+  &-workspace {
+    background-image: url(../images/icon-workspace.png);
+  }
 
   &-account {
     background-image: url(../images/icon-account.png);

+ 12 - 6
src/modules/base/api.js

@@ -188,15 +188,18 @@ export const updateClazz = datas => {
   return $post("/api/admin/basic/clazz/save", datas);
 };
 export const clazzQuery = datas => {
-  return $postParam("/api/admin/basic/clazz/datasource", datas);
+  return $postParam("/api/admin/common/get_dictionary", {
+    ...datas,
+    dictionaryEnum: "CLAZZ"
+  });
 };
 
 // semester-manage
 export const semesterListQuery = datas => {
   return $postParam("/api/admin/basic/semester/query", datas);
 };
-export const deleteSemester = idList => {
-  return $postParam("/api/admin/basic/semester/delete_batch", { idList });
+export const deleteSemester = id => {
+  return $postParam("/api/admin/basic/semester/delete", { id });
 };
 export const updateSemester = datas => {
   return $post("/api/admin/basic/semester/save", datas);
@@ -206,10 +209,13 @@ export const majorListQuery = datas => {
   return $postParam("/api/admin/basic/major/query", datas);
 };
 export const majorQuery = datas => {
-  return $postParam("/api/admin/basic/major/query", datas);
+  return $postParam("/api/admin/common/get_dictionary", {
+    ...datas,
+    dictionaryEnum: "MAJOR"
+  });
 };
-export const deleteMajor = idList => {
-  return $postParam("/api/admin/basic/major/delete_batch", { idList });
+export const deleteMajor = id => {
+  return $postParam("/api/admin/basic/major/delete", { id });
 };
 export const updateMajor = datas => {
   return $post("/api/admin/basic/major/save", datas);

+ 8 - 7
src/modules/base/components/ModifyMajor.vue

@@ -17,18 +17,19 @@
       :key="modalForm.id"
       label-position="top"
     >
-      <el-form-item prop="name" label="专业名称:">
+      <el-form-item prop="majorName" label="专业名称:">
         <el-input
-          v-model.trim="modalForm.name"
-          placeholder="请输入姓名"
+          v-model.trim="modalForm.majorName"
+          placeholder="请输入专业名称"
           clearable
         ></el-input>
       </el-form-item>
       <el-form-item prop="collegeId" label="所属学院:">
         <college-select
           v-model="modalForm.collegeId"
-          placeholder="请选择学院"
+          placeholder="请选择所属学院"
           clearable
+          style="width: 100%"
         ></college-select>
       </el-form-item>
     </el-form>
@@ -46,7 +47,7 @@ import { updateMajor } from "../api";
 
 const initModalForm = {
   id: null,
-  name: "",
+  majorName: "",
   collegeId: ""
 };
 
@@ -75,7 +76,7 @@ export default {
       classList: [],
       modalForm: { ...initModalForm },
       rules: {
-        name: [
+        majorName: [
           {
             required: true,
             message: "请输入专业名称",
@@ -89,7 +90,7 @@ export default {
         ],
         collegeId: [
           {
-            required: false,
+            required: true,
             message: "请选择所属学院",
             trigger: "change"
           }

+ 12 - 7
src/modules/base/components/ModifySemester.vue

@@ -16,15 +16,15 @@
       :rules="rules"
       label-position="top"
     >
-      <el-form-item prop="name" label="名称:">
+      <el-form-item prop="semesterName" label="学期名称:">
         <el-input
-          v-model.trim="modalForm.name"
-          placeholder="请输入学期"
+          v-model.trim="modalForm.semesterName"
+          placeholder="请输入学期名称"
           clearable
         ></el-input>
         <p class="tips-info">示例:2021~2022第一学期/上学期</p>
       </el-form-item>
-      <el-form-item prop="startTime" label="时间:">
+      <el-form-item prop="startTime" label="所属时间:">
         <el-date-picker
           v-model="createTime"
           type="datetimerange"
@@ -53,7 +53,7 @@ import { updateSemester } from "../api";
 
 const initModalForm = {
   id: null,
-  name: "",
+  semesterName: "",
   startTime: "",
   endTime: ""
 };
@@ -83,9 +83,13 @@ export default {
       modalForm: { ...initModalForm },
       createTime: [],
       rules: {
-        name: [
+        semesterName: [
           {
             required: true,
+            message: "请输入学期名称",
+            trigger: "change"
+          },
+          {
             message: "学期名称不能超过100个字",
             max: 100,
             trigger: "change"
@@ -94,7 +98,7 @@ export default {
         startTime: [
           {
             required: true,
-            message: "请设置命题时间",
+            message: "请设置所属时间",
             trigger: "change"
           }
         ]
@@ -108,6 +112,7 @@ export default {
         this.createTime = [this.modalForm.startTime, this.modalForm.endTime];
       } else {
         this.modalForm = { ...initModalForm };
+        this.createTime = [];
       }
     },
     visibleChange() {

+ 12 - 0
src/modules/base/router.js

@@ -16,6 +16,8 @@ import CampusManage from "./views/CampusManage.vue";
 import StudentManage from "./views/StudentManage.vue";
 import CourseManage from "./views/CourseManage.vue";
 import ClazzManage from "./views/ClazzManage.vue";
+import SemesterManage from "./views/SemesterManage.vue";
+import MajorManage from "./views/MajorManage.vue";
 
 export default [
   {
@@ -92,5 +94,15 @@ export default [
     path: "/base/clazz-manage",
     name: "ClazzManage",
     component: ClazzManage
+  },
+  {
+    path: "/base/semester-manage",
+    name: "SemesterManage",
+    component: SemesterManage
+  },
+  {
+    path: "/base/major-manage",
+    name: "MajorManage",
+    component: MajorManage
   }
 ];

+ 4 - 1
src/modules/base/views/CardRuleManage.vue

@@ -71,7 +71,10 @@
         <el-table-column prop="name" label="题卡规则名称"></el-table-column>
         <el-table-column prop="orgs" label="适用学院">
           <template slot-scope="scope">
-            <more-text :data="scope.row.orgNames"></more-text>
+            <more-text
+              :data="scope.row.orgNames"
+              :key="scope.row.id"
+            ></more-text>
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注">

+ 5 - 1
src/modules/base/views/CourseManage.vue

@@ -93,7 +93,11 @@
         ></el-table-column>
         <el-table-column prop="clazzList" label="授课班级">
           <span slot-scope="scope">
-            <more-text :data="scope.row.clazzNames" :show-count="3"></more-text>
+            <more-text
+              :data="scope.row.clazzNames"
+              :show-count="3"
+              :key="scope.row.id"
+            ></more-text>
           </span>
         </el-table-column>
         <el-table-column prop="createTime" label="创建时间">

+ 5 - 5
src/modules/base/views/MajorManage.vue

@@ -5,7 +5,7 @@
         <template v-if="checkPrivilege('condition', 'condition')">
           <el-form-item label="专业名称:">
             <el-input
-              v-model.trim="filter.queryParams"
+              v-model.trim="filter.majorName"
               placeholder="专业名称"
               clearable
             ></el-input>
@@ -38,7 +38,7 @@
           width="70"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="name" label="专业名称"></el-table-column>
+        <el-table-column prop="majorName" label="专业名称"></el-table-column>
         <el-table-column prop="collegeName" label="所属学院"></el-table-column>
         <el-table-column prop="createTime" label="创建时间">
           <span slot-scope="scope">{{
@@ -95,7 +95,7 @@ export default {
   data() {
     return {
       filter: {
-        queryParams: ""
+        majorName: ""
       },
       current: 1,
       size: this.GLOBAL.pageSize,
@@ -133,11 +133,11 @@ export default {
       this.$refs.ModifyMajor.open();
     },
     toDelete(row) {
-      this.$confirm(`确定要删除专业【${row.name}】吗?`, "提示", {
+      this.$confirm(`确定要删除专业【${row.majorName}】吗?`, "提示", {
         type: "warning"
       })
         .then(async () => {
-          await deleteMajor([row.id]);
+          await deleteMajor(row.id);
           this.$message.success("删除成功!");
           this.deletePageLastItem();
         })

+ 22 - 4
src/modules/base/views/SemesterManage.vue

@@ -1,7 +1,14 @@
 <template>
   <div class="semester-manage">
     <div class="part-box part-box-filter part-box-flex">
-      <div></div>
+      <div>
+        <el-button
+          v-if="checkPrivilege('button', 'select')"
+          type="primary"
+          @click="toPage(1)"
+          >查询</el-button
+        >
+      </div>
       <div class="part-box-action">
         <el-button
           v-if="checkPrivilege('button', 'add')"
@@ -20,7 +27,7 @@
           width="70"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="campusName" label="学年学期"></el-table-column>
+        <el-table-column prop="semesterName" label="学期"></el-table-column>
         <el-table-column prop="startTime" label="开始时间">
           <span slot-scope="scope">{{
             scope.row.startTime | timestampFilter
@@ -50,6 +57,17 @@
           </template>
         </el-table-column>
       </el-table>
+      <div class="part-page">
+        <el-pagination
+          background
+          layout="total,prev, pager, next"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
+        >
+        </el-pagination>
+      </div>
     </div>
 
     <modify-semester
@@ -106,11 +124,11 @@ export default {
       this.$refs.ModifySemester.open();
     },
     toDelete(row) {
-      this.$confirm(`确定要删除当前学期吗?`, "提示", {
+      this.$confirm(`确定要删除学期【${row.semesterName}】吗?`, "提示", {
         type: "warning"
       })
         .then(async () => {
-          await deleteSemester([row.id]);
+          await deleteSemester(row.id);
           this.$message.success("删除成功!");
           this.getList();
         })

+ 4 - 1
src/modules/base/views/TemplateManage.vue

@@ -79,7 +79,10 @@
         </el-table-column>
         <el-table-column prop="orgs" label="适用学院">
           <template slot-scope="scope">
-            <more-text :data="scope.row.orgNames"></more-text>
+            <more-text
+              :data="scope.row.orgNames"
+              :key="scope.row.id"
+            ></more-text>
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注">

+ 9 - 2
src/modules/stmms/api.js

@@ -14,8 +14,15 @@ export const scorePaperDetail = datas => {
   return $postParam("/api/admin/sys/user/user_list", datas);
 };
 // 第三方登录ypt
-export const yptAuth = datas => {
-  return $post("/api/admin/exam/sso/marker_login", datas);
+export const userSysRoles = () => {
+  return $post("/api/admin/user/sso/marker_login", {});
+};
+export const yptAuth = roleType => {
+  if (roleType === "marker") {
+    return $post("/api/admin/exam/sso/marker_login", {});
+  } else {
+    return $post("/api/admin/exam/sso/marker_login", {});
+  }
 };
 // sync-result-manage
 export const syncResultListPage = datas => {

+ 63 - 0
src/modules/stmms/components/ThirdAuthDialog.vue

@@ -0,0 +1,63 @@
+<template>
+  <el-dialog
+    class="third-auth-dialog"
+    :visible.sync="modalIsShow"
+    title="请选择阅卷身份"
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+    append-to-body
+    fullscreen
+    @open="visibleChange"
+  >
+    <div class="auth-list">
+      <div
+        v-for="item in roles"
+        :key="item.type"
+        class="auth-item"
+        @click="toAuth(item)"
+      >
+        {{ item.name }}
+      </div>
+    </div>
+
+    <div slot="footer"></div>
+  </el-dialog>
+</template>
+
+<script>
+import { userSysRoles, yptAuth } from "../api";
+import { autoSubmitForm } from "@/plugins/utils";
+
+export default {
+  name: "third-auth-dialog",
+  data() {
+    return {
+      modalIsShow: false,
+      roles: []
+    };
+  },
+  methods: {
+    visibleChange() {
+      this.getRoles();
+    },
+    async getRoles() {
+      this.roles = [];
+      const data = await userSysRoles();
+      this.roles = data || [];
+    },
+    cancel() {
+      this.modalIsShow = false;
+    },
+    open() {
+      this.modalIsShow = true;
+    },
+    async toAuth(item) {
+      const data = await yptAuth(item.type);
+      const url = data.redirectUrl;
+      const params = { ...data, returnUrl: window.location.href };
+      delete params.redirectUrl;
+      autoSubmitForm(url, params);
+    }
+  }
+};
+</script>