Browse Source

feat: 学号支持字母

zhangjie 8 months ago
parent
commit
ec419b700f

+ 5 - 1
card/elements/card-head/cardHeadSpin/HeadStdno.vue

@@ -74,7 +74,11 @@ export default {
   },
   methods: {
     getColumnFills(columnIndex) {
-      if (!this.data.relationList || !this.data.relationList.length) {
+      if (
+        !this.data.containsLetter ||
+        !this.data.relationList ||
+        !this.data.relationList.length
+      ) {
         return [...this.defaultColumnFills];
       }
 

+ 2 - 0
card/elements/card-head/model.js

@@ -14,6 +14,8 @@ const MODEL = {
   examAbsent: true,
   writeSign: true,
   fillNumber: 10,
+  containsLetter: false,
+  relationList: [],
   examNumberStyle: "PRINT", // PRINT:印刷条码, PASTE:粘贴条码, FILL:学号填涂
   businessParams: [],
   attention: [],

+ 1 - 0
src/modules/admin/components/school/SchoolSetStdno.vue

@@ -175,6 +175,7 @@ export default {
       return {
         examNumberStyle: "FILL",
         fillNumber: this.modalForm.digit,
+        containsLetter: this.modalForm.containsLetter,
         relationList: this.modalForm.relationList,
       };
     },

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

@@ -73,6 +73,7 @@
             step-strictly
             :controls="false"
             style="width: 100px"
+            disabled
           ></el-input-number>
         </el-form-item>
         <!-- <el-form-item prop="paperType" label="AB卷版式:" class="inline-block">
@@ -243,6 +244,8 @@ const initModalForm = {
   remark: "",
   examNumberStyle: "",
   examNumberDigit: 10,
+  containsLetter: false,
+  relationList: "[]",
   defaultOptionNumber: 4,
   paperType: "PRINT",
   examAbsent: true,

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

@@ -162,6 +162,8 @@ import {
   deleteCardRule,
   getEnums,
 } from "../api";
+import { schoolSetStdnoInfo } from "@/modules/admin/api";
+
 import pickerOptions from "@/constants/datePickerOptions";
 import ModifyCardRule from "../components/ModifyCardRule";
 
@@ -182,6 +184,7 @@ export default {
       size: this.GLOBAL.pageSize,
       total: 0,
       rules: [],
+      stdnoInfo: {},
       examRule: {},
       curRule: {},
       editType: "ADD",
@@ -227,6 +230,9 @@ export default {
       }
       this.examRule = examRule;
 
+      const data = await schoolSetStdnoInfo(this.$ls.get("schoolId"));
+      this.stdnoInfo = data.result[0].value;
+
       this.cardExtendFields = [
         ...extendFields,
         ...JSON.parse(examRule.extendFields).filter((item) => item.enable),
@@ -256,7 +262,9 @@ export default {
     },
     toAdd() {
       this.curRule = {
-        fillNumber: this.examRule.examNumberDigit,
+        examNumberDigit: this.stdnoInfo.digit || 10,
+        containsLetter: this.stdnoInfo.containsLetter,
+        relationList: JSON.stringify(this.stdnoInfo.relationList || []),
         requiredFields: this.cardRequiredFields.map((item) => {
           return {
             code: item.code,

+ 2 - 1
src/modules/card/views/CardEdit.vue

@@ -185,6 +185,7 @@ export default {
         config.aOrB = false; // 默认关闭A/B卷型,2023-01-31改
         config.requiredFields = JSON.parse(config.requiredFields);
         config.extendFields = JSON.parse(config.extendFields);
+        config.relationList = JSON.parse(config.relationList || "[]");
         config.cardTitle = this.getCardTitle(config.titleRule);
         config.firstLevelSubheading = this.getCardTitle(
           config.firstLevelSubheading
@@ -206,7 +207,7 @@ export default {
           });
         const examRule = await examRuleDetail();
         const extendFields = examRule.extendFields || "[]";
-        let config = {
+        const config = {
           pageSize: this.sysCardSize,
           columnNumber: 2,
           columnGap: 20,

+ 1 - 0
src/modules/card/views/CardRulePreview.vue

@@ -69,6 +69,7 @@ export default {
       config.aOrB = false; // 默认关闭A/B卷型
       config.requiredFields = JSON.parse(config.requiredFields);
       config.extendFields = JSON.parse(config.extendFields);
+      config.relationList = JSON.parse(config.relationList || "[]");
       config.cardTitle = config.titleRule;
 
       this.cardConfig = config;