zhangjie 3 роки тому
батько
коміт
2af84f8d7b

+ 3 - 3
src/constants/enumerate.js

@@ -99,9 +99,9 @@ export const EXAM_TYPE = {
 };
 
 export const EXAM_MODE_TYPE = {
-  ONE: "模式1:电子交卷环节需要提交考务数据",
-  TWO: "模式2:电子交卷环节不需要提交考务数据,只输入印刷份数即可",
-  THREE: "模式3:电子交卷环节不需要提交考务数据"
+  MODEL1: "模式1:电子交卷环节需要提交考务数据",
+  MODEL2: "模式2:电子交卷环节不需要提交考务数据,只输入印刷份数即可",
+  MODEL3: "模式3:电子交卷环节不需要提交考务数据"
 };
 
 export const FLOW_TYPE = {

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

@@ -403,16 +403,16 @@ export const ableExam = ({ id, enable }) => {
 
 // exam-config
 export const examConfigQuery = datas => {
-  return $postParam("/api/admin/basic/print-config/list", datas);
+  return $postParam("/api/admin/basic/print_config/page", datas);
 };
 export const deleteExamConfig = id => {
-  return $postParam("/api/admin/basic/print-config/delete", { id });
+  return $postParam("/api/admin/basic/print_config/delete", { id });
 };
 export const updateExamConfig = datas => {
-  return $post("/api/admin/basic/print-config/save", datas);
+  return $post("/api/admin/basic/print_config/save", datas);
 };
 export const ableExamConfig = ({ id, enable }) => {
-  return $postParam("/api/admin/basic/print-config/enable", { id, enable });
+  return $postParam("/api/admin/basic/print_config/enable", { id, enable });
 };
 
 // common

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

@@ -80,7 +80,7 @@ const initModalForm = {
   name: "",
   semesterId: "",
   category: "OFFLINE",
-  examModel: "ONE"
+  examModel: "MODEL1"
 };
 
 export default {

+ 35 - 42
src/modules/base/components/ModifyExamConfig.vue

@@ -18,49 +18,41 @@
           label-width="85px"
           inline
         >
-          <template v-if="checkPrivilege('condition', 'condition')">
-            <el-form-item label="创建时间:">
-              <el-date-picker
-                v-model="createTime"
-                type="datetimerange"
-                :picker-options="pickerOptions"
-                range-separator="至"
-                start-placeholder="创建开始时间"
-                end-placeholder="创建结束时间"
-                value-format="timestamp"
-                align="right"
-                unlink-panels
-              >
-              </el-date-picker>
-            </el-form-item>
-            <el-form-item label="启用/禁用:" label-width="90px">
-              <el-select
-                v-model="filter.enable"
-                style="width: 120px;"
-                placeholder="启用/禁用"
-                clearable
-              >
-                <el-option
-                  v-for="(val, key) in ABLE_TYPE"
-                  :key="key"
-                  :value="key * 1"
-                  :label="val"
-                ></el-option>
-              </el-select>
-            </el-form-item>
-          </template>
-          <el-form-item>
-            <el-button
-              v-if="checkPrivilege('button', 'select')"
-              type="primary"
-              @click="toPage(1)"
-              >查询</el-button
+          <el-form-item label="创建时间:">
+            <el-date-picker
+              v-model="createTime"
+              type="datetimerange"
+              :picker-options="pickerOptions"
+              range-separator="至"
+              start-placeholder="创建开始时间"
+              end-placeholder="创建结束时间"
+              value-format="timestamp"
+              align="right"
+              unlink-panels
             >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="启用/禁用:" label-width="90px">
+            <el-select
+              v-model="filter.enable"
+              style="width: 120px;"
+              placeholder="启用/禁用"
+              clearable
+            >
+              <el-option
+                v-for="(val, key) in ABLE_TYPE"
+                :key="key"
+                :value="key * 1"
+                :label="val"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="toPage(1)">查询</el-button>
           </el-form-item>
         </el-form>
         <div class="part-box-action">
           <el-button
-            v-if="checkPrivilege('button', 'add')"
             type="primary"
             icon="el-icon-circle-plus-outline"
             @click="toAdd"
@@ -95,14 +87,12 @@
           <el-table-column class-name="action-column" label="操作" width="160">
             <template slot-scope="scope">
               <el-button
-                v-if="checkPrivilege('link', 'edit')"
                 class="btn-primary"
                 type="text"
                 @click="toEdit(scope.row)"
                 >编辑</el-button
               >
               <el-button
-                v-if="checkPrivilege('link', 'Enable')"
                 :class="scope.row.enable ? 'btn-danger' : 'btn-primary'"
                 type="text"
                 @click="toEnable(scope.row)"
@@ -194,7 +184,7 @@ export default {
       this.modalIsShow = true;
     },
     async getList() {
-      if (!this.checkPrivilege("list", "list")) return;
+      // if (!this.checkPrivilege("list", "list")) return;
 
       const datas = {
         ...this.filter,
@@ -209,7 +199,10 @@ export default {
         datas.enable = !!datas.enable;
 
       const data = await examConfigQuery(datas);
-      this.examConfigList = data.records;
+      this.examConfigList = data.records.map(item => {
+        item.orgNames = item.orgs.map(org => org.name);
+        return item;
+      });
       this.total = data.total;
     },
     toPage(page) {

+ 16 - 4
src/modules/base/components/ModifyExamConfigDetail.vue

@@ -448,8 +448,14 @@ export default {
             backupCount: item.backupCount
           };
         };
-        this.modalForm.variableContent = val.variableContent.map(transformInfo);
-        this.modalForm.ordinaryContent = val.ordinaryContent.map(transformInfo);
+        this.modalForm.variableContent = JSON.parse(val.variableContent).map(
+          transformInfo
+        );
+        this.modalForm.ordinaryContent = JSON.parse(val.ordinaryContent).map(
+          transformInfo
+        );
+        this.modalForm.printContent = JSON.parse(val.printContent);
+        this.modalForm.orgIds = val.orgs.map(item => item.id);
       } else {
         let modalForm = this.$objAssign(deepCopy(initModalForm), val);
         modalForm.variableContent = modalForm.variableContent.filter(
@@ -483,8 +489,14 @@ export default {
           backupCount: item.backupCount
         };
       };
-      data.variableContent = this.modalForm.variableContent.map(transformInfo);
-      data.ordinaryContent = this.modalForm.ordinaryContent.map(transformInfo);
+      data.printContent = JSON.stringify(this.modalForm.printContent);
+      data.variableContent = JSON.stringify(
+        this.modalForm.variableContent.map(transformInfo)
+      );
+      data.ordinaryContent = JSON.stringify(
+        this.modalForm.ordinaryContent.map(transformInfo)
+      );
+      data.orgIds = this.$refs.SelectOrgs.getCheckedNode();
 
       return data;
     },

+ 3 - 0
src/modules/base/components/SelectOrgs.vue

@@ -110,6 +110,9 @@ export default {
 
       this.$refs.MenuTree.setCheckedKeys(selectedIds);
     },
+    getCheckedNode() {
+      return this.$refs.MenuTree.getCheckedKeys();
+    },
     checkChange() {
       if (!this.multiple) return;
 

+ 5 - 25
src/modules/base/views/ExamManage.vue

@@ -81,8 +81,8 @@
             >
             <el-button
               v-if="
-                checkPrivilege('link', 'edit') &&
-                  scope.row.examType === 'OFFLINE'
+                checkPrivilege('link', 'Set') &&
+                  scope.row.category === 'OFFLINE'
               "
               class="btn-primary"
               type="text"
@@ -97,6 +97,7 @@
               >{{ scope.row.enable ? "禁用" : "启用" }}</el-button
             >
             <el-button
+              v-if="checkPrivilege('link', 'Delete')"
               class="btn-danger"
               type="text"
               @click="toDelete(scope.row)"
@@ -151,28 +152,7 @@ export default {
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
-      exams: [
-        {
-          id: "11",
-          name: "齐12考试",
-          semesterName: "上学期",
-          createTime: 19245121323,
-          semesterId: "12",
-          examType: "OFFLINE",
-          examTypeMode: "ONE",
-          enable: true
-        },
-        {
-          id: "12",
-          name: "齐13考试",
-          semesterName: "上学期",
-          createTime: 19245121323,
-          semesterId: "12",
-          examType: "ONLINE",
-          examTypeMode: "ONE",
-          enable: true
-        }
-      ],
+      exams: [],
       curExam: {}
     };
   },
@@ -181,7 +161,7 @@ export default {
   },
   methods: {
     async getList() {
-      if (!this.checkPrivilege("list", "list")) return;
+      if (this.checkPrivilege("list", "list")) return;
 
       const datas = {
         ...this.filter,

+ 1 - 1
src/modules/login/router.js

@@ -1,5 +1,5 @@
 import LoginHome from "./views/LoginHome";
-import Login from "./views/Login2";
+import Login from "./views/Login";
 import SelectSchool from "./views/SelectSchool";
 
 export default {

+ 9 - 11
src/modules/login/views/Login.vue

@@ -276,8 +276,7 @@ export default {
     },
     async fetchSmsCode() {
       const validAll = [
-        this.checkField("loginName"),
-        this.checkField("password"),
+        this.checkField("mobileNumber"),
         this.checkField("schoolCode")
       ];
 
@@ -290,9 +289,8 @@ export default {
 
       this.isFetchingCode = true;
       const data = await getSmsCode({
-        loginName: this.loginModel.loginName,
         schoolCode: this.loginModel.schoolCode,
-        password: Base64(this.loginModel.password)
+        mobileNumber: this.loginModel.mobileNumber
       }).catch(() => {
         this.isFetchingCode = false;
       });
@@ -308,13 +306,13 @@ export default {
       } else {
         this.isFetchingCode = false;
         this.$message.error("未绑定手机号,请先绑定!");
-        this.userInfo = {
-          ...data,
-          loginName: this.loginModel.loginName,
-          schoolCode: this.loginModel.schoolCode,
-          password: this.loginModel.password
-        };
-        this.$refs.ResetPwd.open();
+        // this.userInfo = {
+        //   ...data,
+        //   loginName: this.loginModel.loginName,
+        //   schoolCode: this.loginModel.schoolCode,
+        //   password: this.loginModel.password
+        // };
+        // this.$refs.ResetPwd.open();
       }
     }
   }