This commit is contained in:
zhoutianchi
2026-01-14 10:52:06 +08:00
parent 8c1f4ec05e
commit d0c8ea0223
140 changed files with 16969 additions and 11469 deletions

View File

@@ -0,0 +1,292 @@
<template>
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()"
label-width="140px">
<el-form-item label="招生计划" prop="groupId">
<el-select v-model="dataForm.groupId" filterable placeholder="请选择招生计划" size="small" style="width: 100%">
<el-option
v-for="item in planList"
:key="item.id"
:label="item.groupName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="专业代码" prop="zydm">
<el-input v-model="dataForm.zydm" placeholder="专业代码"></el-input>
</el-form-item>
<el-form-item label="专业名称" prop="zymc">
<el-input v-model="dataForm.zymc" placeholder="专业名称"></el-input>
</el-form-item>
<el-form-item label="专业规范名称" prop="zygfmc">
<el-input v-model="dataForm.zygfmc" placeholder="专业规范名称"></el-input>
</el-form-item>
<el-form-item label="所属学院" prop="deptCode">
<el-select v-model="dataForm.deptCode" filterable placeholder="请选择" size="small" style="width: 100%;">
<el-option
v-for="item in deptList"
:key="item.deptCode"
:label="item.deptName"
:value="item.deptCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学制" prop="xz">
<el-select v-model="dataForm.xz" filterable placeholder="请选择学制" size="small" style="width: 100%;">
<el-option
v-for="item in majorYears"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="层次" prop="cc">
<el-select v-model="dataForm.cc" filterable placeholder="请选择层次" size="small" style="width: 100%;">
<el-option
v-for="item in ccList"
:key="item.label"
:label="item.label"
:value="item.label">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="中德班" prop="isZd">
<el-radio-group v-model="dataForm.isZd">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="订单班" prop="isOrder">
<el-radio-group v-model="dataForm.isOrder">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="联院班" prop="isUnion">
<el-radio-group v-model="dataForm.isUnion">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="正式专业代码" prop="offcialZydm">
<el-select v-model="dataForm.offcialZydm" filterable placeholder="请选择正式专业代码" size="small" style="width: 100%;">
<el-option
v-for="item in offcialZydmList"
:key="item.majorCode"
:label="item.majorCodeAndName"
:value="item.majorCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="市平台代码" prop="cityPlanId">
<el-select v-model="dataForm.cityPlanId" filterable placeholder="请选择市平台代码" size="small" style="width: 100%;">
<el-option
v-for="item in cityPlanIdList"
:key="item.id"
:label="item.schoolMajorName+' | '+item.educational"
:value="item.id"
:disabled="isCityDisable(item.id)"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input-number :min="0" :max="999" v-model="dataForm.sort" placeholder="排序"
style="width: 100%"></el-input-number>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" :rows="3" placeholder="请输入备注信息" v-model="dataForm.remarks"
style="width: 100%;margin-top: 10px"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="dataFormSubmit()" v-if="canSubmit">确定</el-button>
</span>
</el-dialog>
</template>
<script>
import {addObj, getObj, putObj,getCityPlan} from '@/api/recruit/recruitplanmajor'
import {getDeptList} from "@/api/basic/basicclass";
import {getDictByType} from "@/api/contract/contract";
import {list} from "@/api/recruit/recruitstudentplangroup";
import {getMajorNameList} from "@/api/basic/major";
export default {
data() {
return {
visible: false,
canSubmit: false,
dataForm: {
id: "",
groupId: "",
zydm: "",
zymc: "",
zygfmc: "",
deptCode: "",
xz: "",
cc: "",
isZd: "0",
isOrder: "0",
remarks: "",
offcialZydm: "",
isUnion:"0",
tuitionFee:0,
cityPlanId:null
},
cityPlanIdList:[],
offcialZydmList: [],
planList: [],
yeNoList: [],
deptList: [],
ccList: [],
majorYears: [],
dataRule: {
zydm: [
{required: true, message: '专业代码不能为空', trigger: 'blur'},
{min: 1, max: 6, message: '专业代码长度不大于6个字符', trigger: 'blur'}
],
tuitionFee: [
{required: true, message: '学费不能为空', trigger: 'blur'}
],
zymc: [
{required: true, message: '专业名称不能为空', trigger: 'blur'},
{min: 1, max: 200, message: '专业名称长度不大于200个字符', trigger: 'blur'}
],
zygfmc: [
{required: true, message: '专业规范名称不能为空', trigger: 'blur'},
{min: 1, max: 200, message: '专业规范名称长度不大于200个字符', trigger: 'blur'}
],
groupId: [
{required: true, message: '招生计划不能为空', trigger: 'blur'}
],
xz: [
{required: true, message: '学制不能为空', trigger: 'blur'}
],
deptCode: [
{required: true, message: '学院不能为空', trigger: 'blur'}
],
cc: [
{required: true, message: '层次不能为空', trigger: 'blur'}
],
isOrder: [
{required: true, message: '订单班不能为空', trigger: 'blur'}
],
isZd: [
{required: true, message: '订单班不能为空', trigger: 'blur'}
],
isUnion: [
{required: true, message: '联院班不能为空', trigger: 'blur'}
],
remarks: [
{min: 1, max: 100, message: '备注长度不大于100个字符', trigger: 'blur'}
],
}
}
},
created() {
},
methods: {
init(id) {
this.dataForm.id = id || null;
this.visible = true;
this.canSubmit = true;
this.initData();
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
getObj(this.dataForm.id).then(response => {
this.dataForm = response.data.data
//获取市平台对应年份下的招生计划
getCityPlan({id:this.dataForm.id}).then(data =>{
this.cityPlanIdList = data.data.data
})
})
}
})
},
/**
* 判断市平台招生专业是否占用,占用不可选
* @param notBedNo
* @returns {boolean}
*/
isCityDisable(id){
var returnFlag = false;
this.dataForm.cityPlanIds.forEach(e=>{
if(e == id){
returnFlag = true;
}
})
return returnFlag;
},
initData() {
//查询二级学院信息
getDeptList().then(data => {
this.deptList = data.data.data
})
list().then(data => {
this.planList = data.data.data
if (!this.dataForm.id) {
this.dataForm.groupId = this.planList[0].id;
}
});
getMajorNameList().then(data =>{
this.offcialZydmList = data.data.data
})
//获取数据字典
getDictByType("yes_no").then(res => {
this.yesNoList = res.data.data
})
getDictByType("basic_major_years").then(res => {
this.majorYears = res.data.data
})
getDictByType("basic_major_level").then(res => {
this.ccList = res.data.data
})
},
// 表单提交
dataFormSubmit() {
if(this.dataForm.cityPlanId !=null){
this.cityPlanIdList.forEach(e=>{
if(e.id == this.dataForm.cityPlanId){
this.dataForm.cityPlanName = e.schoolMajorName;
this.dataForm.cityPlanYear = e.educational;
}
})
}
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.canSubmit = false;
if (this.dataForm.id) {
putObj(this.dataForm).then(data => {
this.$notify.success('修改成功')
this.visible = false
this.$emit('refreshDataList')
}).catch(() => {
this.canSubmit = true;
});
} else {
addObj(this.dataForm).then(data => {
this.$notify.success('添加成功')
this.visible = false
this.$emit('refreshDataList')
}).catch(() => {
this.canSubmit = true;
});
}
}
})
}
}
}
</script>