lion 3 months ago
parent d1cb15c819
commit ba1d9b7d65

@ -39,6 +39,9 @@ const data = {
{
id:2,
value:"提前招生"
},{
id:3,
value:"校园网招聘"
}
]
}

@ -117,6 +117,7 @@ export default {
</el-form-item>
</el-col>
{Number(this.templateType) !== 3 ? (
<el-col span={12}>
<el-form-item label="省份" prop="province_id">
<el-select
@ -136,6 +137,7 @@ export default {
</el-select>
</el-form-item>
</el-col>
) : null}
<el-col span={12}>
<el-form-item label="姓名" prop="name">
@ -157,6 +159,7 @@ export default {
</el-form-item>
</el-col>
{Number(this.templateType) !== 3 ? (
<el-col span={12}>
<el-form-item label="考生号" prop="candidate_no">
<el-input
@ -166,6 +169,7 @@ export default {
></el-input>
</el-form-item>
</el-col>
) : null}
<el-col span={12}>
<el-form-item label="准考证号" prop="allow_no">
@ -176,6 +180,30 @@ export default {
></el-input>
</el-form-item>
</el-col>
{Number(this.templateType) === 3 ? (
<el-col span={12}>
<el-form-item label="成绩" prop="score">
<el-input
clearable={true}
v-model={this.originalForm.score}
placeholder="请输入成绩"
></el-input>
</el-form-item>
</el-col>
) : null}
{Number(this.templateType) === 3 ? (
<el-col span={12}>
<el-form-item label="排名" prop="sort">
<el-input
clearable={true}
v-model={this.originalForm.sort}
placeholder="请输入排名"
></el-input>
</el-form-item>
</el-col>
) : null}
</el-form>
<el-form
@ -262,17 +290,6 @@ export default {
templateItems: Array,
},
data() {
let idcardValidate = (rule, value, callback) => {
let IDRe18 =
/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
let IDre15 =
/^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
if (IDre15.test(value) || IDRe18.test(value)) {
callback();
} else {
callback(new Error("身份证格式错误"));
}
};
return {
id: "",
type: "",
@ -289,29 +306,25 @@ export default {
idcard: "",
candidate_no: "",
allow_no: "",
score: "",
sort: "",
template_id: "",
template_item_id: "",
},
originalRules: {
year: [{ required: true, message: "请选择年份", trigger: "blur" }],
province_id: [
{ required: true, message: "请选择省份", trigger: "blur" },
],
name: [{ required: true, message: "请填写姓名", trigger: "blur" }],
idcard: [
{ required: true, message: "请填写身份证号", trigger: "blur" },
{ validator: idcardValidate, trigger: "blur" },
],
candidate_no: [
{ required: true, message: "请填写考生号", trigger: "blur" },
],
allow_no: [
{ required: true, message: "请填写准考证号", trigger: "blur" },
],
},
};
},
methods: {
idcardValidate(rule, value, callback) {
let IDRe18 =
/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
let IDre15 =
/^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
if (IDre15.test(value) || IDRe18.test(value)) {
callback();
} else {
callback(new Error("身份证格式错误"));
}
},
async getDetail(type = 1) {
//type 1 id 2 yeartemplate_item_idnameidcard
let res = {}
@ -371,6 +384,41 @@ export default {
},
},
computed: {
templateType() {
return this.$route.meta?.params?.type || this.$route.query?.type || "1";
},
originalRules() {
const type = Number(this.templateType);
const rules = {
year: [{ required: true, message: "请选择年份", trigger: "blur" }],
name: [{ required: true, message: "请填写姓名", trigger: "blur" }],
idcard: [
{ required: true, message: "请填写身份证号", trigger: "blur" },
{ validator: this.idcardValidate, trigger: "blur" },
],
allow_no: [
{ required: true, message: "请填写准考证号", trigger: "blur" },
],
};
if (type === 3) {
rules.score = [
{ required: true, message: "请填写成绩", trigger: "blur" },
];
rules.sort = [
{ required: true, message: "请填写排名", trigger: "blur" },
];
} else {
rules.province_id = [
{ required: true, message: "请选择省份", trigger: "blur" },
];
rules.candidate_no = [
{ required: true, message: "请填写考生号", trigger: "blur" },
];
}
return rules;
},
provincesFormat() {
return this.$route.meta.params.type == 2
? this.province_ids.filter((item) => item.name == "江苏")
@ -392,6 +440,8 @@ export default {
idcard: "",
candidate_no: "",
allow_no: "",
score: "",
sort: "",
template_id: "",
template_item_id: "",
};

@ -47,7 +47,7 @@
></el-date-picker>
</div>
<div class="select__item">
<div class="select__item" v-if="Number(templateType) !== 3">
<span style="color: red">*</span><span>省份</span>
<el-select
size="small"
@ -163,31 +163,6 @@ export default {
list: [],
table: [],
newTable: [],
originalTable: [
{
prop: "name",
label: "姓名",
width: 140,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
sortable: true,
},
{
prop: "candidate_no",
label: "考生号",
minWidth: 180,
sortable: true,
},
{
prop: "allow_no",
label: "准考证号",
minWidth: 180,
sortable: true,
},
],
};
},
methods: {
@ -231,10 +206,18 @@ export default {
},
submit() {
if (!this.select.year || !this.select.province_id) {
const type = Number(this.templateType);
if (!this.select.year) {
this.$message({
type: "warning",
message: "请先选择年份",
});
return;
}
if (type !== 3 && !this.select.province_id) {
this.$message({
type: "warning",
message: "请先选择年份或省份",
message: "请先选择省份",
});
return;
}
@ -289,7 +272,73 @@ export default {
})
},
},
computed: {},
computed: {
templateType() {
return this.$route.meta?.params?.type || this.$route.query?.type || "1";
},
originalTable() {
const type = Number(this.templateType);
if (type === 3) {
return [
{
prop: "name",
label: "姓名",
width: 140,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
sortable: true,
},
{
prop: "allow_no",
label: "准考证号",
minWidth: 180,
sortable: true,
},
{
prop: "score",
label: "成绩",
minWidth: 120,
sortable: true,
},
{
prop: "sort",
label: "排名",
minWidth: 120,
sortable: true,
},
];
} else {
return [
{
prop: "name",
label: "姓名",
width: 140,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
sortable: true,
},
{
prop: "candidate_no",
label: "考生号",
minWidth: 180,
sortable: true,
},
{
prop: "allow_no",
label: "准考证号",
minWidth: 180,
sortable: true,
},
];
}
},
},
watch: {
async isShow(val) {
if (val) {

@ -94,12 +94,15 @@ export default {
type: Boolean,
default: false,
},
templateType: {
type: String,
default: "1",
},
},
data() {
return {
inputVisible: false,
inputValue: "",
flag: ["年份", "姓名", "身份证号", "考生号", "准考证号"],
visiblePopover: false,
popIndex: "",
id: "",
@ -109,38 +112,6 @@ export default {
templateItems: [],
templateTypeId: "",
list: [],
originalList: [
{
name: "年份",
student_query: 1,
type: 2,
remark: "无",
},
{
name: "姓名",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "身份证号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "考生号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "准考证号",
student_query: 1,
type: 1,
remark: "无",
},
],
table: [
{
label: "列名",
@ -436,7 +407,88 @@ export default {
submit() {},
},
computed: {},
computed: {
flag() {
return Number(this.templateType) === 3
? ["年份", "姓名", "身份证号", "准考证号", "成绩", "排名"]
: ["年份", "姓名", "身份证号", "考生号", "准考证号"];
},
originalList() {
if (Number(this.templateType) === 3) {
return [
{
name: "年份",
student_query: 1,
type: 2,
remark: "无",
},
{
name: "姓名",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "身份证号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "准考证号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "成绩",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "排名",
student_query: 1,
type: 1,
remark: "无",
},
];
} else {
return [
{
name: "年份",
student_query: 1,
type: 2,
remark: "无",
},
{
name: "姓名",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "身份证号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "考生号",
student_query: 1,
type: 1,
remark: "无",
},
{
name: "准考证号",
student_query: 1,
type: 1,
remark: "无",
},
];
}
},
},
watch: {
async isShow(newVal) {
if (newVal) {

@ -235,40 +235,6 @@ export default {
total: 0,
list: [],
table: [],
originalTable: [
{
prop: "year",
label: "年份",
width: 100,
},
{
prop: "name",
label: "姓名",
width: 120,
},
{
prop: "province.name",
label: "省份",
width: 120,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
},
{
prop: "candidate_no",
label: "考生号",
width: 180,
sortable: "custom",
},
{
prop: "allow_no",
label: "准考证号",
width: 180,
sortable: "custom",
},
],
};
},
methods: {
@ -400,6 +366,81 @@ export default {
},
},
computed: {
originalTable() {
const type = Number(this.$route.meta.params.type);
if (type === 3) {
return [
{
prop: "year",
label: "年份",
width: 100,
},
{
prop: "name",
label: "姓名",
width: 120,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
},
{
prop: "allow_no",
label: "准考证号",
width: 180,
sortable: "custom",
},
{
prop: "score",
label: "成绩",
width: 120,
sortable: "custom",
},
{
prop: "sort",
label: "排名",
width: 120,
sortable: "custom",
},
];
} else {
return [
{
prop: "year",
label: "年份",
width: 100,
},
{
prop: "name",
label: "姓名",
width: 120,
},
{
prop: "province.name",
label: "省份",
width: 120,
},
{
prop: "idcard",
label: "身份证号",
width: 180,
},
{
prop: "candidate_no",
label: "考生号",
width: 180,
sortable: "custom",
},
{
prop: "allow_no",
label: "准考证号",
width: 180,
sortable: "custom",
},
];
}
},
getTitleName() {
let map = getConst("type", "map");
return map.get(Number(this.$route.meta.params.type));

@ -83,7 +83,7 @@
@refresh="$refs['xyTable'].getTableData()"
></addTemplate>
<setting ref="setting" :is-show.sync="isShowSetting" @refresh="$refs['xyTable'].getTableData()"></setting>
<setting ref="setting" :is-show.sync="isShowSetting" :template-type="$route.meta.params.type" @refresh="$refs['xyTable'].getTableData()"></setting>
</div>
</template>

Loading…
Cancel
Save