diff --git a/src/views/archives/semester/results.vue b/src/views/archives/semester/results.vue
index 25dd5f3..e0c7dbd 100644
--- a/src/views/archives/semester/results.vue
+++ b/src/views/archives/semester/results.vue
@@ -13,7 +13,7 @@
学员统计情况总表
diff --git a/src/views/archives/user/info.vue b/src/views/archives/user/info.vue
index c962e91..2c27bc4 100644
--- a/src/views/archives/user/info.vue
+++ b/src/views/archives/user/info.vue
@@ -541,7 +541,7 @@
签字:
- 未参加考试
+
diff --git a/src/views/study/class/components/List.vue b/src/views/study/class/components/List.vue
index 01749d0..1e01b02 100644
--- a/src/views/study/class/components/List.vue
+++ b/src/views/study/class/components/List.vue
@@ -128,18 +128,18 @@
@@ -349,6 +349,13 @@ export default {
}
},
inject: ['setCLASS_ID', 'setTabsActive', 'setSTATE', 'setEXAMTYPE', 'setActiveName', 'setENTERPRISE_ID', 'setTYPE', 'setTRAINLEVEL_NAME', 'setCORPINFO_ID'],
+ activated() {
+ this.$nextTick(() => {
+ if (this.$refs.multipleTable) {
+ this.$refs.multipleTable.doLayout()
+ }
+ })
+ },
created() {
this.getList()
this.getEnterprise()
@@ -413,6 +420,10 @@ export default {
this.enterStuNum = data.enterStuNum
this.total = data.page.totalResult
+ // 强制重新布局表格
+ this.$nextTick(() => {
+ this.$refs.multipleTable && this.$refs.multipleTable.doLayout()
+ })
}).catch((e) => {
this.listLoading = false
})
@@ -558,14 +569,15 @@ export default {
}
-
diff --git a/src/views/study/class/components/StudentList.vue b/src/views/study/class/components/StudentList.vue
index 5ccad02..74e102c 100644
--- a/src/views/study/class/components/StudentList.vue
+++ b/src/views/study/class/components/StudentList.vue
@@ -127,8 +127,8 @@
{{ row.HASUSERSIGN == 1 ? '有' : '无' }}
-
-
+
+
暂无
-
+
查看
@@ -1080,6 +1080,22 @@ export default {
this.$message.error('上传图片只能是 jpg、jpeg、png 格式!')
fileList.pop()
} else {
+ // 验证图片名称格式:身份证号_姓名
+ const fileName = file.name
+ const nameWithoutExt = fileName.substring(0, fileName.lastIndexOf('.'))
+ const parts = nameWithoutExt.split('_')
+ let isValid = true
+ if (parts.length !== 2) {
+ isValid = false
+ } else {
+ const idCard = parts[0]
+ // 简单验证身份证号格式(18位或15位数字,末位可为X)
+ if (!/^\d{15}$|^\d{17}[\dXx]$/.test(idCard)) {
+ isValid = false
+ }
+ }
+ // 将验证状态挂载到文件的 raw 对象上
+ file.raw.isValid = isValid
this.batchImportSignDialog.fileList = fileList
}
},
@@ -1091,6 +1107,13 @@ export default {
this.$message.error('请上传签字图片')
return
}
+ // 检查所有图片名称格式是否符合规则
+ const invalidFiles = this.batchImportSignDialog.fileList.filter(file => !file.raw.isValid)
+ if (invalidFiles.length > 0) {
+ const fileNames = invalidFiles.map(f => f.name).join('、')
+ this.$message.error(`以下图片名称格式错误,应为 "身份证号_姓名":${fileNames}`)
+ return
+ }
const formData = new FormData()
this.batchImportSignDialog.fileList.forEach((file) => {
formData.append('FFILE', file.raw)