zhangjie 4 лет назад
Родитель
Сommit
f158979feb

+ 5 - 5
card/api.js

@@ -1,7 +1,7 @@
 import { $get, $post } from "@/plugins/axios";
 
 export const cardConfigInfos = id => {
-  return $get("/api/basic/card_rule/get_one", { id });
+  return $get("/api/admin/basic/card_rule/get_one", { id });
 
   // return Promise.resolve({
   //   pageSize: "A3",
@@ -46,14 +46,14 @@ export const cardConfigInfos = id => {
   // });
 };
 export const cardDetailEdit = cardId => {
-  return $get("/api/print/card/card/detailEdit", { cardId });
+  return $get("/api/admin/print/card/card/detailEdit", { cardId });
 };
 export const cardTempDetail = cardId => {
-  return $get("/api/print/card/card/preView", { cardId });
+  return $get("/api/admin/print/card/card/preView", { cardId });
 };
 export const saveCard = datas => {
-  return $post("/api/print/card/card/add", datas);
+  return $post("/api/admin/print/card/card/add", datas);
 };
 export const submitCard = datas => {
-  return $post("/api/print/card/submit", datas);
+  return $post("/api/admin/print/card/submit", datas);
 };

+ 13 - 0
src/assets/styles/element-ui-costom.scss

@@ -99,12 +99,25 @@
       border-color: $--color-primary !important;
     }
   }
+  &.is-disabled {
+    .el-input__inner {
+      color: $--color-text-regular;
+    }
+  }
   .el-input__inner {
     border-radius: 7px;
     border-color: #ddd;
     background-color: #fff;
   }
 }
+// textarea
+.el-textarea {
+  &.is-disabled {
+    .el-textarea__inner {
+      color: $--color-text-regular;
+    }
+  }
+}
 // upload
 .el-upload,
 .el-upload-dragger {

+ 3 - 3
src/components/base/CourseSelect.vue

@@ -11,8 +11,8 @@
   >
     <el-option
       v-for="item in optionList"
-      :key="item.code"
-      :value="item.code"
+      :key="item.id"
+      :value="item.id"
       :label="`${item.name}(${item.code})`"
     >
       <span>{{ `${item.name}(${item.code})` }}</span>
@@ -57,7 +57,7 @@ export default {
       this.$emit("input", this.selected);
       this.$emit(
         "change",
-        this.optionList.find(item => item.code === this.selected)
+        this.optionList.find(item => item.id === this.selected)
       );
     }
   }

+ 31 - 0
src/constants/datePickerOptions.js

@@ -0,0 +1,31 @@
+export default {
+  shortcuts: [
+    {
+      text: "最近一周",
+      onClick(picker) {
+        const end = new Date();
+        const start = new Date();
+        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+        picker.$emit("pick", [start, end]);
+      }
+    },
+    {
+      text: "最近一个月",
+      onClick(picker) {
+        const end = new Date();
+        const start = new Date();
+        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+        picker.$emit("pick", [start, end]);
+      }
+    },
+    {
+      text: "最近三个月",
+      onClick(picker) {
+        const end = new Date();
+        const start = new Date();
+        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+        picker.$emit("pick", [start, end]);
+      }
+    }
+  ]
+};

+ 37 - 37
src/modules/base/api.js

@@ -1,125 +1,125 @@
-import { $get, $post } from "@/plugins/axios";
+import { $postParam, $post } from "@/plugins/axios";
 
 // user-manage
 export const userListPage = datas => {
-  return $get("/api/sys/user/list", datas);
+  return $postParam("/api/admin/sys/user/list", datas);
 };
 export const updateUser = datas => {
-  return $post("/api/sys/user/save", datas);
+  return $post("/api/admin/sys/user/save", datas);
 };
 export const ableUser = ({ id, enable }) => {
-  return $post("/api/sys/user/enable", { id, enable });
+  return $post("/api/admin/sys/user/enable", { id, enable });
 };
 export const resetPwd = id => {
-  return $post("/api/sys/user/reset_password", { id });
+  return $post("/api/admin/sys/user/reset_password", { id });
 };
 export const updatePwd = datas => {
-  return $post("/api/sys/user/update_password", datas);
+  return $post("/api/admin/sys/user/update_password", datas);
 };
 export const userBindRoles = ({ id, roleIds }) => {
-  return $post("/api/sys/user/bind_roles", { id, roleIds });
+  return $post("/api/admin/sys/user/bind_roles", { id, roleIds });
 };
 
 // role-manage
 export const roleListPage = datas => {
-  return $get("/api/sys/role/list", datas);
+  return $postParam("/api/admin/sys/role/list", datas);
 };
 export const ableRole = ({ id, enable }) => {
-  return $post("/api/sys/role/enable", { id, enable });
+  return $post("/api/admin/sys/role/enable", { id, enable });
 };
 export const updateRole = datas => {
-  return $post("/api/sys/role/save", datas);
+  return $post("/api/admin/sys/role/save", datas);
 };
 export const deleteRole = id => {
-  return $post("/api/sys/role/remove", { id });
+  return $post("/api/admin/sys/role/remove", { id });
 };
 export const userBoundRoles = userId => {
-  return $get("/api/sys/role/get_user_roles", { userId });
+  return $postParam("/api/admin/sys/role/get_user_roles", { userId });
 };
 // menu-manage
 export const menuList = datas => {
-  return $get("/api/sys/privilege/list", datas);
+  return $postParam("/api/admin/sys/privilege/list", datas);
 };
 export const updateMenu = datas => {
-  return $post("/api/sys/privilege/save", datas);
+  return $post("/api/admin/sys/privilege/save", datas);
 };
 export const deleteMenu = id => {
-  return $post("/api/sys/privilege/remove", { id });
+  return $post("/api/admin/sys/privilege/remove", { id });
 };
 export const roleBoundPrivileges = roleId => {
-  return $get("/api/sys/privilege/get_role_privileges", { roleId });
+  return $postParam("/api/admin/sys/privilege/get_role_privileges", { roleId });
 };
 // organization-manage
 export const organizationList = datas => {
-  return $get("/api/sys/org/list", datas);
+  return $postParam("/api/admin/sys/org/list", datas);
 };
 export const updateOrganization = datas => {
-  return $post("/api/sys/org/save", datas);
+  return $post("/api/admin/sys/org/save", datas);
 };
 export const ableOrganization = ({ id, enable }) => {
-  return $post("/api/sys/org/enable", { id, enable });
+  return $post("/api/admin/sys/org/enable", { id, enable });
 };
 export const deleteOrganization = id => {
-  return $post("/api/sys/org/remove", { id });
+  return $post("/api/admin/sys/org/remove", { id });
 };
 
 // --------------------------------->
 // common-rule
 export const commonRuleDetail = schoolId => {
-  return $get("/api/basic/exam_rule/list", { schoolId });
+  return $postParam("/api/admin/basic/exam_rule/list", { schoolId });
 };
 export const saveCommonBusinessRule = datas => {
-  return $post("/api/basic/exam_rule/save", datas);
+  return $post("/api/admin/basic/exam_rule/save", datas);
 };
 // card-rule
 export const cardRuleListPage = datas => {
-  return $get("/api/basic/card_rule/list", datas);
+  return $postParam("/api/admin/basic/card_rule/list", datas);
 };
 export const cardRuleQuery = param => {
-  return $get("/api/basic/card_rule/query", { param });
+  return $postParam("/api/admin/basic/card_rule/query", { param });
 };
 export const cardRuleDetail = id => {
-  return $get("/api/basic/card_rule/get_one", { id });
+  return $postParam("/api/admin/basic/card_rule/get_one", { id });
 };
 export const saveCardRule = datas => {
-  return $post("/api/basic/card_rule/save", datas);
+  return $post("/api/admin/basic/card_rule/save", datas);
 };
 export const ableCardRule = ({ id, enable }) => {
-  return $post("/api/basic/card_rule/enable", { id, enable });
+  return $post("/api/admin/basic/card_rule/enable", { id, enable });
 };
 // common-card-template / common-print-template / param-print-template
 export const templateListPage = datas => {
-  return $get("/api/basic/template/list", datas);
+  return $postParam("/api/admin/basic/template/list", datas);
 };
 export const updateTemplate = datas => {
-  return $post("/api/basic/template/save", datas);
+  return $post("/api/admin/basic/template/save", datas);
 };
 export const ableTemplate = ({ id, enable }) => {
-  return $post("/api/basic/template/enable", { id, enable });
+  return $post("/api/admin/basic/template/enable", { id, enable });
 };
 export const templateCategoryList = type => {
-  return $get("/api/basic/template/list", type);
+  return $postParam("/api/admin/basic/template/list", type);
 };
 // course-manage
 export const courseListPage = datas => {
-  return $get("/api/basic/course/list", datas);
+  return $postParam("/api/admin/basic/course/list", datas);
 };
 export const courseQuery = param => {
-  return $get("/api/basic/course/query", { param });
+  return $postParam("/api/admin/basic/course/query", { param });
 };
 export const courseList = datas => {
-  return $get("/api/basic/course/list", datas);
+  return $postParam("/api/admin/basic/course/list", datas);
 };
 export const deleteCourse = id => {
-  return $post("/api/basic/course/remove", { id });
+  return $post("/api/admin/basic/course/remove", { id });
 };
 export const updateCourse = datas => {
-  return $post("/api/basic/course/save", datas);
+  return $post("/api/admin/basic/course/save", datas);
 };
 
 // common
 export const uploadFile = datas => {
-  return $post("/api/common/file/upload", datas);
+  return $post("/api/admin/common/file/upload", datas);
 };
 
 // system

+ 1 - 1
src/modules/base/components/ModifyTemplate.vue

@@ -197,7 +197,7 @@ export default {
         ]
       },
       // upload
-      uploadUrl: "/api/common/file/upload"
+      uploadUrl: "/api/admin/common/file/upload"
     };
   },
   methods: {

+ 2 - 2
src/modules/base/views/CardRuleManage.vue

@@ -62,12 +62,12 @@
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注"></el-table-column>
-        <el-table-column prop="enable" label="启用/禁用">
+        <el-table-column prop="enable" label="启用/禁用" width="100">
           <template slot-scope="scope">
             {{ scope.row.enable | enableFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="createTime" label="创建时间">
+        <el-table-column prop="createTime" label="创建时间" width="180">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
           }}</span>

+ 5 - 40
src/modules/base/views/TemplateManage.vue

@@ -11,13 +11,6 @@
           ></el-input>
         </el-form-item>
         <el-form-item label="创建时间:">
-          <!-- <el-date-picker
-            v-model="filter.createTime"
-            type="date"
-            value-format="timestamp"
-            placeholder="选择日期时间"
-          >
-          </el-date-picker> -->
           <el-date-picker
             v-model="createTime"
             type="datetimerange"
@@ -71,6 +64,7 @@
         <el-table-column
           prop="classify"
           label="分类"
+          width="80"
           v-if="templateType !== 'GENERIC'"
         >
           <template slot-scope="scope">
@@ -83,12 +77,12 @@
           </template>
         </el-table-column>
         <el-table-column prop="remark" label="备注"></el-table-column>
-        <el-table-column prop="enable" label="启用/禁用">
+        <el-table-column prop="enable" label="启用/禁用" width="100">
           <template slot-scope="scope">
             {{ scope.row.enable | enableFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="createTime" label="创建时间">
+        <el-table-column prop="createTime" label="创建时间" width="180">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
           }}</span>
@@ -153,6 +147,7 @@
 
 <script>
 import { ABLE_TYPE, TEMPLATE_TYPE } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import { templateListPage, ableTemplate } from "../api";
 import ModifyTemplate from "../components/ModifyTemplate";
 
@@ -187,37 +182,7 @@ export default {
       ABLE_TYPE,
       // date-picker
       createTime: [],
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      pickerOptions
     };
   },
   created() {

+ 12 - 4
src/modules/base/views/UserManage.vue

@@ -78,19 +78,27 @@
           :index="indexMethod"
         ></el-table-column>
         <el-table-column prop="loginName" label="用户名"></el-table-column>
-        <el-table-column prop="realName" label="姓名"></el-table-column>
+        <el-table-column
+          prop="realName"
+          label="姓名"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="roles" label="角色">
           <template slot-scope="scope">
             {{ scope.row.roles | rolesFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="mobileNumber" label="手机号"></el-table-column>
+        <el-table-column
+          prop="mobileNumber"
+          label="手机号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courses" label="课程名称(编码)">
           <template slot-scope="scope">
             {{ scope.row.courses | coursesFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="enable" label="状态">
+        <el-table-column prop="enable" label="状态" width="100">
           <template slot-scope="scope">
             {{ scope.row.enable | enableFilter }}
           </template>
@@ -180,7 +188,7 @@ export default {
       curUser: {},
       downloadUrl: "/temps/用户导入模板.xlsx",
       // import
-      uploadUrl: "/api/sys/user/import",
+      uploadUrl: "/api/admin/sys/user/import",
       uploadData: {
         schoolId: this.$ls.get("schoolId"),
         userId: this.$ls.get("user", { id: "" }).id

+ 18 - 18
src/modules/exam/api.js

@@ -1,65 +1,65 @@
-import { $get, $post } from "@/plugins/axios";
+import { $postParam, $post } from "@/plugins/axios";
 
 // other
 // 试卷编号模糊查询
 export const pageNumberQuery = param => {
-  return $get("/api/exam/task/page_number_query", { param });
+  return $postParam("/api/admin/exam/task/page_number_query", { param });
 };
 // 命题老师模糊查询
 export const questionTeatherQuery = ({ param, courseCode }) => {
-  return $get("/api/exam/task/user_query", { param, courseCode });
+  return $postParam("/api/admin/exam/task/user_query", { param, courseCode });
 };
 
 // exam-task-manage
 export const examTaskListPage = datas => {
-  return $get("/api/exam/task/list", datas);
+  return $postParam("/api/admin/exam/task/list", datas);
 };
 export const updateExamTask = datas => {
-  return $post("/api/exam/task/save", datas);
+  return $post("/api/admin/exam/task/save", datas);
 };
 export const ableExamTask = ({ id, enable }) => {
-  return $post("/api/exam/task/enable", { id, enable });
+  return $post("/api/admin/exam/task/enable", { id, enable });
 };
 export const batchAddExamTask = datas => {
-  return $post("/api/exam/task/save_batch", datas);
+  return $post("/api/admin/exam/task/save_batch", datas);
 };
 export const taskApplyAuditHistory = id => {
-  return $get("/api/exam/task/review_list", { id });
+  return $postParam("/api/admin/exam/task/review_list", { id });
 };
 
 // task-apply-manage
 export const taskApplyListPage = datas => {
-  return $get("/api/exam/task_apply/list", datas);
+  return $postParam("/api/admin/exam/task_apply/list", datas);
 };
 export const taskApplyDetail = id => {
-  return $get("/api/exam/task_apply/get_one", { id });
+  return $postParam("/api/admin/exam/task_apply/get_one", { id });
 };
 export const updateTaskApply = datas => {
-  return $post("/api/exam/task_apply/save", datas);
+  return $post("/api/admin/exam/task_apply/save", datas);
 };
 export const cancelOrRestartTaskApply = ({ id, status }) => {
-  return $post("/api/exam/task_apply/status", { id, status });
+  return $post("/api/admin/exam/task_apply/status", { id, status });
 };
 
 // task-review-manage
 export const taskReviewListPage = datas => {
-  return $get("/api/exam/task_review/list", datas);
+  return $postParam("/api/admin/exam/task_review/list", datas);
 };
 export const updateTaskReview = datas => {
-  return $post("/api/exam/task_review/save", datas);
+  return $post("/api/admin/exam/task_review/save", datas);
 };
 export const batchUpdateTaskReview = datas => {
-  return $post("/api/exam/task_review/save_batch", datas);
+  return $post("/api/admin/exam/task_review/save_batch", datas);
 };
 // task-paper-manage
 export const taskPaperListPage = datas => {
-  return $get("/api/exam/task_paper/list", datas);
+  return $postParam("/api/admin/exam/task_paper/list", datas);
 };
 export const ableTaskPaper = ({ id, enable }) => {
-  return $post("/api/exam/task_paper/enable", { id, enable });
+  return $post("/api/admin/exam/task_paper/enable", { id, enable });
 };
 
 // card
 export const cardList = datas => {
-  return $get("/api/card/list", datas);
+  return $postParam("/api/admin/card/list", datas);
 };

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

@@ -161,7 +161,7 @@ export default {
       },
       downloadUrl: this.GLOBAL.domain + "/temps/考试计划导入模板.xlsx",
       // import
-      uploadExamTaskUrl: "/api/exam/task/import"
+      uploadExamTaskUrl: "/api/admin/exam/task/import"
     };
   },
   methods: {

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

@@ -168,7 +168,7 @@ export default {
         userId: this.$ls.get("user", { id: "" }).id
       },
       maxSize: 20 * 1024 * 1024,
-      uploadUrl: "/api/common/file/upload"
+      uploadUrl: "/api/admin/common/file/upload"
     };
   },
   methods: {

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

@@ -64,7 +64,7 @@ export default {
       },
       curConfig: { format: [] },
       // import
-      uploadUrl: "/api/common/file/upload"
+      uploadUrl: "/api/admin/common/file/upload"
     };
   },
   methods: {

+ 20 - 44
src/modules/exam/views/ExamTaskManage.vue

@@ -55,7 +55,7 @@
           >
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="状态:" label-width="55px">
+        <el-form-item label="启用/禁用:" label-width="90px">
           <el-select
             v-model="filter.enable"
             style="width: 142px;"
@@ -96,7 +96,11 @@
           align="center"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <template slot-scope="scope">
             {{ scope.row.courseName }}({{ scope.row.courseCode }})
@@ -107,7 +111,11 @@
           label="适用专业(方向)"
         ></el-table-column>
         <el-table-column prop="cardRuleName" label="题卡规则"></el-table-column>
-        <el-table-column prop="userName" label="命题老师"></el-table-column>
+        <el-table-column
+          prop="userName"
+          label="命题老师"
+          width="100"
+        ></el-table-column>
         <el-table-column prop="startTime" label="命题开始时间">
           <span slot-scope="scope">{{
             scope.row.startTime | timestampFilter
@@ -118,14 +126,14 @@
             scope.row.endTime | timestampFilter
           }}</span>
         </el-table-column>
-        <el-table-column prop="status" label="命题状态">
+        <el-table-column prop="status" label="命题状态" width="100">
           <template slot-scope="scope">
             {{ scope.row.status | examTaskStatusFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="enable" label="启用/取消">
+        <el-table-column prop="enable" label="启用/禁用" width="100">
           <template slot-scope="scope">
-            {{ scope.row.enable ? "启用" : "取消" }}
+            {{ scope.row.enable | enableFilter }}
           </template>
         </el-table-column>
         <el-table-column
@@ -144,7 +152,7 @@
                   : 'icon icon-circle-caret-right'
               "
               @click="toEnable(scope.row)"
-              :title="scope.row.enable ? '取消' : '启用'"
+              :title="scope.row.enable ? '禁用' : '启用'"
             ></el-button>
             <el-button
               v-if="scope.row.status === 'STAGE' || scope.row.status === 'NEW'"
@@ -196,7 +204,8 @@
 <script>
 import ModifyExamTask from "../components/ModifyExamTask";
 import BatchAddExamTask from "../components/BatchAddExamTask";
-import { EXAM_TASK_STATUS } from "@/constants/enumerate";
+import { ABLE_TYPE, EXAM_TASK_STATUS } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import { examTaskListPage, ableExamTask } from "../api";
 
 export default {
@@ -216,50 +225,17 @@ export default {
         endTime: null,
         enable: null
       },
-      createTime: [],
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
       editType: "ADD",
-      ABLE_TYPE: {
-        0: "取消",
-        1: "启用"
-      },
+      ABLE_TYPE,
       EXAM_TASK_STATUS,
       examTasks: [],
       curExamTask: {},
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   created() {

+ 16 - 41
src/modules/exam/views/TaskApplyManage.vue

@@ -87,7 +87,11 @@
           align="center"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <template slot-scope="scope">
             {{ scope.row.courseName }}({{ scope.row.courseCode }})
@@ -98,7 +102,11 @@
           label="适用专业(方向)"
         ></el-table-column>
         <el-table-column prop="cardRuleName" label="题卡规则"></el-table-column>
-        <el-table-column prop="userName" label="命题老师"></el-table-column>
+        <el-table-column
+          prop="userName"
+          label="命题老师"
+          width="100"
+        ></el-table-column>
         <el-table-column prop="startTime" label="命题开始时间">
           <span slot-scope="scope">{{
             scope.row.startTime | timestampFilter
@@ -109,17 +117,17 @@
             scope.row.endTime | timestampFilter
           }}</span>
         </el-table-column>
-        <el-table-column prop="auditStatus" label="审核状态">
+        <el-table-column prop="auditStatus" label="审核状态" width="100">
           <template slot-scope="scope">
             {{ scope.row.auditStatus | auditStatusFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="reviewStatus" label="审核结果">
+        <el-table-column prop="reviewStatus" label="审核结果" width="100">
           <template slot-scope="scope">
             {{ scope.row.reviewStatus | reviewStatusFilter }}
           </template>
         </el-table-column>
-        <el-table-column prop="enable" label="启用/取消">
+        <el-table-column prop="enable" label="启用/取消" width="100">
           <template slot-scope="scope">
             {{ scope.row.enable ? "启用" : "取消" }}
           </template>
@@ -195,6 +203,7 @@
 <script>
 import ModifyTaskApply from "../components/ModifyTaskApply";
 import { AUDITING_STATUS, AUDITING_RESULT } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import { taskApplyListPage, cancelOrRestartTaskApply } from "../api";
 
 export default {
@@ -213,51 +222,17 @@ export default {
         startTime: "",
         endTime: ""
       },
-      createTime: [],
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
       editType: "APPLY",
-      ABLE_TYPE: {
-        0: "取消",
-        1: "启用"
-      },
       AUDITING_STATUS,
       AUDITING_RESULT,
       examTasks: [],
       curExamTask: {},
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   created() {

+ 21 - 36
src/modules/exam/views/TaskPaperManage.vue

@@ -49,15 +49,27 @@
           align="center"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courseNameCode" label="课程(代码)">
         </el-table-column>
         <el-table-column
           prop="specialty"
           label="适用专业(方向)"
         ></el-table-column>
-        <el-table-column prop="relatePaperType" label="卷型"></el-table-column>
-        <el-table-column prop="userName" label="命题老师"></el-table-column>
+        <el-table-column
+          prop="relatePaperType"
+          label="卷型"
+          width="100"
+        ></el-table-column>
+        <el-table-column
+          prop="userName"
+          label="命题老师"
+          width="100"
+        ></el-table-column>
         <el-table-column prop="createTime" label="入库时间">
           <span slot-scope="scope">{{
             scope.row.createTime | timestampFilter
@@ -66,12 +78,14 @@
         <el-table-column
           prop="exposedPaperType"
           label="已曝光"
+          width="100"
         ></el-table-column>
         <el-table-column
           prop="unexposedPaperType"
           label="未曝光"
+          width="100"
         ></el-table-column>
-        <el-table-column prop="enable" label="启用/禁用">
+        <el-table-column prop="enable" label="启用/禁用" width="100">
           <template slot-scope="scope">
             {{ scope.row.enable | enableFilter }}
           </template>
@@ -136,6 +150,7 @@
 
 <script>
 import { taskPaperListPage, ableTaskPaper } from "../api";
+import pickerOptions from "@/constants/datePickerOptions";
 
 export default {
   name: "task-paper-manage",
@@ -147,44 +162,14 @@ export default {
         startTime: "",
         endTime: ""
       },
-      createTime: [],
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
       papers: [],
       curPaper: {},
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   created() {

+ 15 - 36
src/modules/exam/views/TaskReviewManage.vue

@@ -125,7 +125,11 @@
           align="center"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <template slot-scope="scope">
             {{ scope.row.courseName }}({{ scope.row.courseCode }})
@@ -136,7 +140,11 @@
           label="适用专业(方向)"
         ></el-table-column>
         <el-table-column prop="cardRuleName" label="题卡规则"></el-table-column>
-        <el-table-column prop="userName" label="命题老师"></el-table-column>
+        <el-table-column
+          prop="userName"
+          label="命题老师"
+          width="100"
+        ></el-table-column>
         <el-table-column prop="startTime" label="命题开始时间">
           <span slot-scope="scope">{{
             scope.row.startTime | timestampFilter
@@ -156,7 +164,7 @@
           class-name="action-column"
           label="操作"
           align="center"
-          width="120px"
+          width="80px"
         >
           <template slot-scope="scope">
             <el-button
@@ -236,6 +244,7 @@
 <script>
 import ModifyTaskApply from "../components/ModifyTaskApply";
 import { AUDITING_RESULT, AUDITING_STATUS } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import { taskReviewListPage, batchUpdateTaskReview } from "../api";
 import { download, randomCode } from "@/plugins/utils";
 
@@ -255,7 +264,6 @@ export default {
         startTime: null,
         endTime: null
       },
-      createTime: [],
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
@@ -276,37 +284,8 @@ export default {
         ]
       },
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   computed: {
@@ -397,7 +376,7 @@ export default {
       this.loading = true;
       const res = await download({
         type: "post",
-        url: this.GLOBAL.domain + "/api/exam/task_review/export",
+        url: this.GLOBAL.domain + "/api/admin/exam/task_review/export",
         data: {
           examTaskIds: this.multipleSelection
         },

+ 7 - 7
src/modules/login/api.js

@@ -1,20 +1,20 @@
-import { $post, $get } from "@/plugins/axios";
+import { $post, $postParam } from "@/plugins/axios";
 
 export const login = datas => {
-  return $post("/api/common/login", datas);
+  return $post("/api/admin/common/login", datas);
 };
 export const getSmsCode = mobileNumber => {
-  return $post("/api/common/get_verify_code", { mobileNumber });
+  return $post("/api/admin/common/get_verify_code", { mobileNumber });
 };
 export const logout = userId => {
-  return $post("/api/common/logout", { userId });
+  return $post("/api/admin/common/logout", { userId });
 };
 export const sysMenu = () => {
-  return $get("/api/common/get_menu", {});
+  return $postParam("/api/admin/common/get_menu", {});
 };
 export const attachmentPreview = id => {
-  return $get("/api/common/file/get_one", { id });
+  return $postParam("/api/admin/common/file/get_one", { id });
 };
 export const getEnums = type => {
-  return $get("/api/common/get_enums", { type });
+  return $postParam("/api/admin/common/get_enums", { type });
 };

+ 19 - 19
src/modules/print/api.js

@@ -1,69 +1,69 @@
-import { $get, $post } from "@/plugins/axios";
+import { $postParam, $post } from "@/plugins/axios";
 
 // other
 // 印刷计划模糊查询
 export const printPlanQuery = param => {
-  return $get("/api/exam/print/query", { param });
+  return $postParam("/api/admin/exam/print/query", { param });
 };
 // 考点模糊查询
 export const placeQuery = param => {
-  return $get("/api/exam/print_data/place_query", { param });
+  return $postParam("/api/admin/exam/print_data/place_query", { param });
 };
 // 考场模糊查询
 export const roomQuery = param => {
-  return $get("/api/exam/print_data/room_query", { param });
+  return $postParam("/api/admin/exam/print_data/room_query", { param });
 };
 
 // print-plan
 export const printPlanListPage = datas => {
-  return $get("/api/exam/print/list", datas);
+  return $postParam("/api/admin/exam/print/list", datas);
 };
 export const updatePrintPlan = datas => {
-  return $post("/api/exam/print/save", datas);
+  return $post("/api/admin/exam/print/save", datas);
 };
 export const removePrintPlan = id => {
-  return $post("/api/exam/print/remove", { id });
+  return $post("/api/admin/exam/print/remove", { id });
 };
 export const printPlanTemplateList = datas => {
-  return $get("/api/exam/print/get_template", datas);
+  return $postParam("/api/admin/exam/print/get_template", datas);
 };
 // business-data-export
 export const businessDataListPage = datas => {
-  return $get("/api/exam/print_data/list", datas);
+  return $postParam("/api/admin/exam/print_data/list", datas);
 };
 export const businessTotalData = datas => {
-  return $get("/api/exam/print_data/total", datas);
+  return $postParam("/api/admin/exam/print_data/total", datas);
 };
 
 // business-data-detail
 export const businessDataDetailListPage = datas => {
-  return $get("/api/exam/print_data/detail", datas);
+  return $postParam("/api/admin/exam/print_data/detail", datas);
 };
 
 // plan-link-paper
 export const planLinkPaperListPage = datas => {
-  return $get("/api/exam/print_relate/list", datas);
+  return $postParam("/api/admin/exam/print_relate/list", datas);
 };
 export const updatePlanLinkPaper = datas => {
-  return $post("/api/exam/print_relate/update", datas);
+  return $post("/api/admin/exam/print_relate/update", datas);
 };
 export const linkPaperNumberList = datas => {
-  return $get("/api/exam/print_relate/get_paper_numbers", datas);
+  return $postParam("/api/admin/exam/print_relate/get_paper_numbers", datas);
 };
 
 // print-task-manage
 export const printTaskListPage = datas => {
-  return $get("/api/exam/print_task/list", datas);
+  return $postParam("/api/admin/exam/print_task/list", datas);
 };
 export const submitPrintTask = id => {
-  return $post("/api/exam/print_task/submit", { id });
+  return $post("/api/admin/exam/print_task/submit", { id });
 };
 export const cancelPrintTask = id => {
-  return $post("/api/exam/print_task/cancel", { id });
+  return $post("/api/admin/exam/print_task/cancel", { id });
 };
 export const printTaskTotalInfo = datas => {
-  return $get("/api/exam/print_task/total", datas);
+  return $postParam("/api/admin/exam/print_task/total", datas);
 };
 export const getPrintTaskPdf = id => {
-  return $post("/api/exam/print_task/view_pdf", { id });
+  return $post("/api/admin/exam/print_task/view_pdf", { id });
 };

+ 1 - 0
src/modules/print/components/ModifyPlanPaper.vue

@@ -12,6 +12,7 @@
   >
     <div class="part-box part-box-pad part-box-border">
       <el-form
+        class="form-info"
         ref="modalFormComp"
         label-width="130px"
         :rules="rules"

+ 6 - 3
src/modules/print/views/BusinessDataDetail.vue

@@ -73,9 +73,12 @@
         <el-table-column prop="paperNumber" label="试卷编码"></el-table-column>
         <el-table-column prop="examPlace" label="考点"> </el-table-column>
         <el-table-column prop="examRoom" label="考场"> </el-table-column>
-        <el-table-column prop="ticketNumber" label="考号"> </el-table-column>
-        <el-table-column prop="studentCode" label="学号"> </el-table-column>
-        <el-table-column prop="studentName" label="姓名"> </el-table-column>
+        <el-table-column prop="ticketNumber" label="考号" width="120">
+        </el-table-column>
+        <el-table-column prop="studentCode" label="学号" width="120">
+        </el-table-column>
+        <el-table-column prop="studentName" label="姓名" width="120">
+        </el-table-column>
       </el-table>
       <div class="part-page">
         <el-pagination

+ 2 - 2
src/modules/print/views/BusinessDataExport.vue

@@ -111,7 +111,7 @@
           class-name="action-column"
           label="操作"
           align="center"
-          width="120px"
+          width="70"
         >
           <template slot-scope="scope">
             <el-button
@@ -177,7 +177,7 @@ export default {
       curPrintPlan: {},
       // import
       downloadUrl: "/temps/考务数据模板.xlsx",
-      uploadUrl: "/api/sys/user/import",
+      uploadUrl: "/api/admin/sys/user/import",
       uploadData: {
         schoolId: this.$ls.get("schoolId"),
         userId: this.$ls.get("user", { id: "" }).id

+ 14 - 5
src/modules/print/views/PlanLinkPaper.vue

@@ -59,7 +59,11 @@
           prop="printPlanName"
           label="印刷计划"
         ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column
+          prop="paperNumber"
+          label="试卷编号"
+          width="120"
+        ></el-table-column>
         <el-table-column prop="courseName" label="课程(代码)">
           <span slot-scope="scope"
             >{{ scope.row.courseName }}({{ scope.row.courseCode }})</span
@@ -69,12 +73,17 @@
         </el-table-column>
         <el-table-column prop="cardRuleName" label="题卡规则">
         </el-table-column>
-        <el-table-column prop="userName" label="命题老师"> </el-table-column>
-        <el-table-column prop="exposedPaperType" label="已曝光类型">
+        <el-table-column prop="userName" label="命题老师" width="100">
+        </el-table-column>
+        <el-table-column prop="exposedPaperType" label="已曝光类型" width="100">
         </el-table-column>
-        <el-table-column prop="unexposedPaperType" label="未曝光类型">
+        <el-table-column
+          prop="unexposedPaperType"
+          label="未曝光类型"
+          width="100"
+        >
         </el-table-column>
-        <el-table-column prop="relatePaperType" label="关联卷型">
+        <el-table-column prop="relatePaperType" label="关联卷型" width="100">
         </el-table-column>
         <el-table-column label="关联状态" width="80">
           <span slot-scope="scope">

+ 4 - 33
src/modules/print/views/PrintPlanManage.vue

@@ -144,6 +144,7 @@
 <script>
 import { printPlanListPage, removePrintPlan } from "../api";
 import { PRINT_PLAN_STATUS } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import ModifyPrintPlan from "../components/ModifyPrintPlan";
 
 export default {
@@ -162,41 +163,11 @@ export default {
       total: 0,
       dataList: [],
       curPrintPlan: {},
-      createTime: [],
       editType: "ADD",
       PRINT_PLAN_STATUS,
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   created() {
@@ -240,7 +211,7 @@ export default {
       this.$refs.ModifyPrintPlan.open();
     },
     toDelete(row) {
-      this.$confirm("确定要删除当前印刷计划吗?", "提示", {
+      this.$confirm(`确定要删除印刷计划【${row.name}】吗?`, "提示", {
         cancelButtonClass: "el-button--danger is-plain",
         confirmButtonClass: "el-button--primary",
         type: "warning"

+ 31 - 40
src/modules/print/views/PrintTaskManage.vue

@@ -132,7 +132,11 @@
           align="center"
           :index="indexMethod"
         ></el-table-column>
-        <el-table-column prop="packageCode" label="卷袋编号"></el-table-column>
+        <el-table-column
+          prop="packageCode"
+          label="卷袋编号"
+          width="120"
+        ></el-table-column>
         <el-table-column
           prop="printPlanName"
           label="印刷计划"
@@ -157,11 +161,27 @@
         ></el-table-column>
         <el-table-column prop="examPlace" label="考点"></el-table-column>
         <el-table-column prop="examRoom" label="考场"></el-table-column>
-        <el-table-column prop="pageA3" label="单科次A3(页)"></el-table-column>
-        <el-table-column prop="pageA4" label="单科次A4(页)"></el-table-column>
-        <el-table-column prop="totalSubjects" label="科次"></el-table-column>
-        <el-table-column prop="totalPages" label="印刷小计"></el-table-column>
-        <el-table-column prop="status" label="印刷状态">
+        <el-table-column
+          prop="pageA3"
+          label="单科次A3(页)"
+          width="110"
+        ></el-table-column>
+        <el-table-column
+          prop="pageA4"
+          label="单科次A4(页)"
+          width="110"
+        ></el-table-column>
+        <el-table-column
+          prop="totalSubjects"
+          label="科次"
+          width="80"
+        ></el-table-column>
+        <el-table-column
+          prop="totalPages"
+          label="印刷小计"
+          width="80"
+        ></el-table-column>
+        <el-table-column prop="status" label="印刷状态" width="80">
           <span slot-scope="scope">{{
             scope.row.status | printStatusFilter
           }}</span>
@@ -246,6 +266,7 @@ import {
   getPrintTaskPdf
 } from "../api";
 import { PRINT_STATUS_LIST } from "@/constants/enumerate";
+import pickerOptions from "@/constants/datePickerOptions";
 import { download, randomCode } from "@/plugins/utils";
 
 export default {
@@ -268,42 +289,12 @@ export default {
       totalInfo: {},
       dataList: [],
       curRow: {},
-      createTime: [],
       multipleSelection: [],
       PRINT_STATUS_LIST,
       loading: false,
       // date-picker
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
-      }
+      createTime: [],
+      pickerOptions
     };
   },
   created() {
@@ -365,7 +356,7 @@ export default {
         .catch(() => {});
     },
     toCancel(row) {
-      this.$confirm("确定撤回该印刷计划的提交吗?", "提示", {
+      this.$confirm("确定撤回该印刷任务的提交吗?", "提示", {
         cancelButtonClass: "el-button--danger is-plain",
         confirmButtonClass: "el-button--primary",
         type: "warning"
@@ -395,7 +386,7 @@ export default {
       this.loading = true;
       const res = await download({
         type: "post",
-        url: this.GLOBAL.domain + "/api/exam/print_task/download_pdf",
+        url: this.GLOBAL.domain + "/api/admin/exam/print_task/download_pdf",
         data: {
           examTaskIds: this.multipleSelection
         },

+ 22 - 1
src/plugins/axios.js

@@ -111,6 +111,27 @@ const $get = (url, datas) => {
     });
 };
 
+/**
+ * get请求
+ * @param {String} url 请求地址
+ * @param {Object} datas 请求数据
+ */
+const $postParam = (url, datas, config = {}) => {
+  const sqDatas = qs.stringify(mdData(datas), {
+    arrayFormat: "brackets"
+  });
+  url += "?" + sqDatas;
+
+  return axios
+    .post(url, {}, config)
+    .then(rep => {
+      return successCallback(rep.data);
+    })
+    .catch(error => {
+      throw new Error(errorCallback(error));
+    });
+};
+
 /**
  * post请求
  * @param {String} url 请求地址
@@ -197,4 +218,4 @@ const $patch = (url, datas) => {
     });
 };
 
-export { $get, $post, $del, $put, $patch };
+export { $get, $postParam, $post, $del, $put, $patch };

+ 1 - 1
src/views/Home.vue

@@ -2,7 +2,7 @@
   <div class="home">
     <div class="home-header">
       <div class="head-logo">
-        <h1>逸教云</h1>
+        <h1>分布式印刷</h1>
       </div>
       <div class="head-menu menu-list">
         <ul>