You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2245 lines
109 KiB

4 years ago
<template>
<div>
<el-row :gutter="20">
<el-col :span="24">
<el-card shadow="hover" class="mgb20">
<div class="flex-between">
<div class="per_title" @click="goback()">
<i class="el-icon-arrow-left"></i>
<span class="per_back">返回</span>
<span class="per_school" v-text="userId != '' ? '编辑用户信息' : '新增用户信息'"></span>
</div>
<el-button
type="primary"
size="small"
round
class="mag"
v-preventReClick
@click="saveAdd('form')"
v-show="userId == ''"
>确定</el-button>
</div>
</el-card>
<!-- 用户信息 -->
<el-card shadow="hover" class="mgb20">
<div>
<div class="flex-between mgb20 user_header">
<div class="flex-center mgb20 user_header">
<p class="addhr_tag"></p>
<span>用户信息</span>
</div>
<el-button type="primary" size="small" round class="mag" @click="editUserInfo" v-preventReClick v-show="userId != ''">更新用户信息</el-button>
</div>
<div>
<div>
<p class="font_same">个人信息</p>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-col :span="6" :offset="5">
<!-- 用户姓名 -->
<el-form-item prop="userName" label="用户姓名">
<el-input v-model="form.userName" placeholder="请输入"></el-input>
</el-form-item>
<!-- 证件类型 -->
<el-form-item label="证件类型" prop="documentType">
<el-select
v-model="form.documentType"
clearable
placeholder="请选择证件类型"
>
<el-option
v-for="(item,index) in documentTypeList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- 国家 -->
<el-form-item label="国家">
<el-select
v-model="form.countries"
clearable
placeholder="请选择国家"
>
<el-option
v-for="(item,index) in countryList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- 城市 -->
<el-form-item label="城市">
<el-select
v-model="form.cityId"
clearable
placeholder="请选择城市"
:disabled="form.provinceId ? false : true"
>
<el-option
v-for="(item,index) in cityList"
:key="index"
:label="item.cityName"
:value="item.cityId"
></el-option>
</el-select>
</el-form-item>
<!-- 教育程度 -->
<el-form-item label="教育程度">
<el-select
v-model="form.educationDegree"
clearable
placeholder="请选择教育程度"
>
<el-option
v-for="(item,index) in educationDegreeList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- 所在院校 -->
<el-form-item prop="schoolId" label="所在院校">
<el-select v-model="form.schoolId" filterable clearable placeholder="请选择学校">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" :offset="2">
<!-- 唯一识别码 -->
<el-form-item label="唯一识别码">
<el-input
v-model="form.uniqueIdentificationAccount"
placeholder="请输入"
:disabled="true"
></el-input>
</el-form-item>
<!-- 证件号码 -->
<el-form-item prop="IDNumber" label="证件号码">
<el-input
v-model="form.IDNumber"
placeholder="请输入证件号码"
maxlength="18"
@change="numberChange"
></el-input>
</el-form-item>
<!-- 省份 -->
<el-form-item label="省份">
<el-select
v-model="form.provinceId"
clearable
placeholder="请选择省份"
@change="getCity"
>
<el-option
v-for="(item,index) in provinceList"
:key="index"
:label="item.provinceName"
:value="item.provinceId"
></el-option>
</el-select>
</el-form-item>
<!-- 出生日期 -->
<el-form-item label="出生日期">
<el-date-picker
type="date"
placeholder="选择出生日期"
v-model="form.dateBirth"
style="width: 100%;"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<!-- 性别 -->
<el-form-item label="性别">
<el-select clearable
v-model="form.sex"
:disabled="IDdisabled"
placeholder="请选择性别"
>
<el-option
v-for="(item,index) in sexList"
:key="index"
:label="item.name"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-form>
</div>
<div class="mgb20_top">
<p class="font_same">账号信息</p>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
>
<el-col :span="24">
<!-- <el-card shadow="hover" class="from_card"> -->
<el-col :span="6" :offset="5">
<!-- 个人手机 -->
<el-form-item prop="phone" label="个人手机">
<el-input
v-model="form.phone"
placeholder="请输入手机号"
maxlength="11"
@change="phoneChange"
></el-input>
</el-form-item>
<!-- 微信号 -->
<el-form-item label="微信号">
<el-input v-model="form.WeChatID" placeholder="请输入微信号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6" :offset="2">
<!-- 邮箱 -->
<el-form-item prop="email" label="邮箱">
<el-input v-model="form.email" placeholder="请输入邮箱地址"></el-input>
</el-form-item>
<!-- 账号 -->
<el-form-item prop="account" label="账号">
<el-input
placeholder="请输入账号"
v-model="form.account"
@change="accountChange"
></el-input>
</el-form-item>
</el-col>
<!-- </el-card> -->
</el-col>
</el-form>
</div>
</div>
</div>
</el-card>
<!-- 个人档案 -->
<el-card shadow="hover" class="mgb20">
<div>
<div class="flex-between mgb20 user_header">
<div class="flex-center">
<p class="addhr_tag"></p>
<span>个人档案</span>
</div>
<div>
<el-button type="primary" size="small" round class="mag" @click="editUserProfiles" v-preventReClick v-show="userId != ''">更新个人档案</el-button>
<el-button type="primary" size="small" round class="mag" @click="addArchives" v-preventReClick>添加档案</el-button>
</div>
</div>
<div>
<!-- <el-col :span="16" :offset="4"> -->
<div class="flex-center">
<el-col :span="16" :offset="4">
<el-card shadow="hover" class="from_card">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div>
<el-col :span="10">
<!-- 职业 -->
<el-form-item label="职业">
<el-select clearable
v-model="archivesForm.personalCareerId"
placeholder="请选择职业"
>
<el-option
v-for="item in occupationList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<!-- 院校 -->
<el-form-item label="院校">
<el-select v-model="archivesForm.schoolId" filterable clearable placeholder="请选择院校" @change="schoolChange">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<!-- 专业类 -->
<el-form-item label="专业类">
<el-select
v-model="archivesForm.professionalClassId"
clearable
:disabled="archivesForm.disciplineId ? false : true"
placeholder="请选择专业类"
@change="getProfessional"
@clear="clearProfess()"
>
<el-option
v-for="(item,index) in ProfessionalClassList"
:key="index"
:label="item.professionalClassName"
:value="item.professionalClassId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</div>
<div>
<el-col :span="10" :offset="3">
<el-form-item>
<br />
</el-form-item>
<!-- 专业学科 -->
<el-form-item label="专业学科">
<el-select
v-model="archivesForm.disciplineId"
clearable
placeholder="请选择专业学科"
@change="getProfessionalClass"
@clear="clearClass()"
>
<el-option
v-for="(item,index) in subjectList"
:key="index"
:label="item.disciplineName"
:value="item.disciplineId"
></el-option>
</el-select>
</el-form-item>
<!-- 专业 -->
<el-form-item label="专业">
<el-select
v-model="archivesForm.professionalId"
clearable
:disabled="archivesForm.professionalClassId ? false : true"
placeholder="请选择专业"
@change="getStuGrade"
>
<el-option
v-for="(item,index) in ProfessionalList"
:key="index"
:label="item.professionalName"
:value="item.professionalId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</div>
</el-form>
</el-card>
</el-col>
</div>
<!-- 循环档案 -->
<div class="flex-center" v-for="(item,index) in archivesList" :key="index">
<el-col :span="16" :offset="4">
<el-card shadow="hover" class="from_card">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<div>
<el-col :span="10">
<!-- 职业 -->
<el-form-item label="职业">
<el-select
v-model="item.personalCareerId"
placeholder="请选择职业"
>
<el-option
v-for="item1 in occupationList"
:key="item1.value"
:label="item1.label"
:value="item1.value"
></el-option>
</el-select>
</el-form-item>
<!-- 院校 -->
<el-form-item label="院校">
<el-select v-model="item.schoolId" filterable clearable placeholder="请选择院校" @change="schoolitemChange">
<el-option v-for="(item,index) in schoolList" :key="index" :label="item.schoolName" :value="item.schoolId"></el-option>
</el-select>
</el-form-item>
<!-- 专业类 -->
<el-form-item label="专业类">
<el-select
v-model="item.professionalClassId"
:disabled="item.disciplineId ? false : true"
clearable
placeholder="请选择专业类"
@change="id => getItemProfessional(id,index)"
@clear="() => clearItemProfess(index)"
>
<el-option
v-for="(item2,index) in item.ProfessionalClassList"
:key="index"
:label="item2.professionalClassName"
:value="item2.professionalClassId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</div>
<div>
<el-col :span="10" :offset="3">
<el-form-item>
<br />
</el-form-item>
<!-- 专业学科 -->
<el-form-item label="专业学科">
<el-select
v-model="item.disciplineId"
clearable
placeholder="请选择专业学科"
@change="id => getItemProfessionalClass(id,index)"
@clear="() => clearItemClass(index)"
>
<el-option
v-for="(item3,index) in item.subjectList"
:key="index"
:label="item3.disciplineName"
:value="item3.disciplineId"
></el-option>
</el-select>
</el-form-item>
<!-- 专业 -->
<el-form-item label="专业">
<el-select
v-model="item.professionalId"
:disabled="item.professionalClassId ? false : true"
clearable
placeholder="请选择专业"
@change="getItemStuGrade"
>
<el-option
v-for="(item4,index) in item.ProfessionalList"
:key="index"
:label="item4.professionalName"
:value="item4.professionalId"
></el-option>
</el-select>
</el-form-item>
</el-col>
</div>
</el-form>
</el-card>
</el-col>
<el-button type="primary" size="small" round class="magr50" @click="delItemArchives(index)">删除档案</el-button>
</div>
</div>
</div>
</el-card>
<!-- 已绑定系统 -->
<el-card shadow="hover" class="mgb20">
<div class="flex-between mgb20">
<div class="flex-center">
<p class="addhr_tag"></p>
<span>已绑定系统</span>
</div>
<div>
<el-button
type="primary"
size="small"
round
class="mag"
@click="addUser"
:disabled="regionOption.length == 0"
>新增系统</el-button>
<el-dialog :title="region ? '编辑系统' : '新增系统'" :visible.sync="dialogFormVisible" :center="!isIE()" :close-on-click-modal="false" @close="regionclose">
<el-form :class="{region: !isIE()}" ref="chooseList" :rules="rules">
<el-form-item label="系统选择" label-width="100px">
<el-select
v-model="region"
placeholder="请选择系统"
>
<el-option
v-for="(item,index) in regionOption"
:key="index"
:label="item.regionName"
:value="item.regionId"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div>
<span class="radio">组织关系</span>
<el-radio v-model="radio" label="1">绑定组织关系</el-radio>
<el-radio v-model="radio" label="2" disabled>不绑定组织关系</el-radio>
</div>
<div class="flex">
<el-button
type="primary"
size="small"
round
class="icon_btn"
@click="addCustomer"
>新增院校</el-button>
</div>
<div>
<el-card shadow="hover" v-for="(item,index) in chooseList" :key="index" class="school_card">
<p class="flex-between" style="font-weight: 600;">{{item.customerName}} <i class="el-icon-close remove-school" @click="removeSchool(item.customerId)"></i></p>
<div class="flex_start">
<span style="margin:20px 10px 20px 5px">角色选择</span>
<el-checkbox-group v-for="item1 in item.checkList" :key="item1.id" v-model="item.roleIds">
<el-checkbox :label="item1.id" class="checkboxItem">{{item1.label}}</el-checkbox>
</el-checkbox-group>
</div>
<div class="card" :class="{isie: isIE()}">
<!-- 管理员 -->
4 years ago
<el-card shadow="hover" class="card_m" v-show="item.roleIds.indexOf(13) > -1">
4 years ago
<div class="flex-between jobNumber">
<span>管理员</span>
<div class="numberInput">
<span>工号</span>
<el-input
placeholder="请输入工号"
v-model="item.staworkNumber"
@change="worknumberChange(item)"
></el-input>
</div>
</div>
<div class="flex_start jobNumber">
<div class="flex_start">
<span>一级部门</span>
<el-select
v-model="item.staffProfessionalArchitectureId"
clearable
placeholder="请选择一级部门"
@clear="clearStaffPro"
@change="getStaffGradeList"
>
<el-option
v-for="(item2,index2) in item.firstClassList"
:key="index2"
:label="item2.staffProfessionalArchitectureName"
:value="item2.staffProfessionalArchitectureId"
></el-option>
</el-select>
</div>
<div class="flex_start secondaryDepartments">
<span>二级部门</span>
<el-select
v-model="item.staffGradeId"
clearable
placeholder="请选择二级部门"
:disabled="item.staffProfessionalArchitectureId ? false : true"
@change="StaffGradeChange"
>
<el-option
v-for="(item3,index3) in item.twoClassList"
:key="index3"
:label="item3.staffGradeName"
:value="item3.staffGradeId"
></el-option>
</el-select>
</div>
</div>
</el-card>
<!-- 教师 -->
4 years ago
<el-card shadow="hover" class="card_m" v-show="item.roleIds.indexOf(14) > -1">
4 years ago
<div class="flex-between jobNumber">
<span>教师</span>
<div class="numberInput">
<span>工号</span>
<el-input
placeholder="请输入工号"
v-model="item.teaworkNumber"
@change="teaworknumberChange(item)"
></el-input>
</div>
</div>
<div class="flex_start jobNumber">
<div class="flex_start">
<span>一级部门</span>
<el-select
v-model="item.teacherstaffProId"
clearable
placeholder="请选择一级部门"
@clear="clearteacherStaffPro"
@change="teacherStaffGradeList"
>
<el-option
v-for="(item4,index4) in item.firstClassList"
:key="index4"
:label="item4.staffProfessionalArchitectureName"
:value="item4.staffProfessionalArchitectureId"
></el-option>
</el-select>
</div>
<div class="flex_start secondaryDepartments">
<span>二级部门</span>
<el-select
v-model="item.teacherstaffGradeId"
clearable
placeholder="请选择二级部门"
:disabled="item.teacherstaffProId ? false : true"
@change="teacherStaffGradeChange"
>
<el-option
v-for="(item5,index5) in item.teachertwoClassList"
:key="index5"
:label="item5.staffGradeName"
:value="item5.staffGradeId"
></el-option>
</el-select>
</div>
</div>
</el-card>
<!-- 学生 -->
<el-card shadow="hover" class="card_m" v-show="item.roleIds.indexOf(4) > -1">
<div class="flex-between jobNumber">
<span>学生</span>
<div class="numberInput">
<span>学号</span>
<el-input
placeholder="请输入学号"
v-model="item.stuworkNumber"
@change="stuworknumberChange(item)"
></el-input>
</div>
</div>
<div class="flex_start jobNumber">
<div class="flex_start stu_input">
<span>专业</span>
<el-select
v-model="item.stuprofessionalId"
clearable
placeholder="请选择专业"
@clear="clearstuPro"
@change="getStuPro"
>
<el-option
v-for="(item6,index6) in item.studentFirstList"
:key="index6"
:label="item6.stuProfessionalArchitectureName"
:value="item6.stuProfessionalArchitectureId"
></el-option>
</el-select>
</div>
<div class="flex_start stu_input">
<span>年级</span>
<el-select
v-model="item.stugradeId"
clearable
:disabled="item.stuprofessionalId ? false : true"
placeholder="请选择年级"
@change="getStuClass"
@clear="clearStuGrade"
>
<el-option
v-for="(item7,index7) in item.studentTwoList"
:key="index7"
:label="`${item7.gradeName}年级`"
:value="item7.gradeId"
></el-option>
</el-select>
</div>
<div class="flex_start stu_input">
<span>班级</span>
<el-select
v-model="item.stuclassId"
:disabled="item.stugradeId ? false : true"
clearable
placeholder="请选择班级"
@change="StuClassChange"
>
<el-option
v-for="(item8,index8) in item.studentThreeClass"
:key="index8"
:label="`${item8.className}班`"
:value="item8.classId"
></el-option>
</el-select>
</div>
</div>
</el-card>
</div>
</el-card>
</div>
<el-dialog
width="30%"
:visible.sync="innerVisible"
append-to-body
:close-on-click-modal="false"
center
>
<div class="flex-between mgb20">
<div class="flex-center">
<p class="addhr_tag"></p>
<span>院校列表</span>
</div>
<div>
<el-input placeholder="请输入系统名称" prefix-icon="el-icon-search" v-model="cusSearch" clearable @input="addCustomer"></el-input>
</div>
</div>
<el-table :data="customerList" stripe header-align="center" @selection-change="SelectionCus" height="250">
<el-table-column type="selection" width="55" align="center"></el-table-column>
<el-table-column type="index" width="100" label="序号" align="center">
</el-table-column>
<el-table-column prop="customerName" label="客户名称" align="center">
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="innerVisible = false"> </el-button>
<el-button
type="primary"
v-preventReClick
@click="cusSure"
> </el-button>
</div>
</el-dialog>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button
type="primary"
v-preventReClick
@click="ChooseListSure"
> </el-button>
</div>
</el-dialog>
<!-- <el-button
type="primary"
size="small"
round
>批量删除</el-button> -->
</div>
</div>
<el-table
:data="platformList"
class="table"
stripe
header-align="center"
@selection-change="handleSelectionChange"
:row-key="getRowKeys"
>
<el-table-column
type="selection"
width="55"
align="center"
:reserve-selection="true"
></el-table-column>
<el-table-column type="index" width="100" label="序号" align="center"></el-table-column>
<el-table-column prop="platformName" label="系统名称" align="center"></el-table-column>
<el-table-column prop="domainName" label="域名" align="center"></el-table-column>
<el-table-column prop="createTime" label="创建时间" align="center"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<!-- <el-button type="text">查看</el-button> -->
<el-button v-show="userId != ''" type="text" @click="edit(scope.row)">编辑</el-button>
<el-button type="text" @click="handleDelete(scope.row,scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
name: 'baseform',
data() {
return {
//管理员
jobNumber: '', //工号
primaryDepartment: '', //一级部门
secondaryDepartments: '', //二级部门
// 教师
jobNumber_T: '', //工号
primaryDepartment_T: '', //一级部门
secondaryDepartments_T: '', //二级部门
//学生
stuNumber: '', //学号
major: '', //专业
year: '', //年级
class: '', //班级
region: '', // 系统选择
checkList: [{
label: '管理员',
4 years ago
id: 13
4 years ago
},
{
label: '教师',
4 years ago
id: 14
4 years ago
},
{
label: '学生',
id: 4
}], //角色选择
radio: '1', //组织关系
innerVisible: false,
dialogFormVisible: false,
form: {
//个人信息
userId: this.$store.state.userId,
userName: '', //用户姓名
uniqueIdentificationAccount: '', //唯一识别码
documentType: 1, //证件类型
IDNumber: '', //证件号码
cityId: '', //省份
countries: '中国', //国家
provinceId: '', //城市
dateBirth: '', //出生日期
educationDegree: '', //教育程度
sex: '', //性别
schoolId: '', //学校
//账号信息
phone: '', //手机号码
WeChatID: '', //微信
email: '', //邮箱
account: '' //账号
},
occupationList: [{
value: 1,
label: '学生'
},
{
value: 2,
label: '老师'
}],
roleIds: [],
archivesForm: {
//个人档案
personalCareerId: '', //职业
schoolId: '', //院校
schoolName: '', //院校名称
professionalClassId: '', //专业类
professionalClassName: '', //专业类名称
disciplineId: '', //专业学科
disciplineName: '', //专业学科名称
professionalId: '', //专业
professionalName: '', //专业名称
userId: this.$store.state.userId
},
archivesList: [],
rules: {
userName: [{ required: true, message: '请输入用户姓名', trigger: 'blur' }],
schoolId: [{ required: true, message: '请选择所在院校', trigger: 'change' }],
account: [
{ required: true, message: '请输入账号', trigger: 'blur' },
// {
// pattern: /^[0-9]*$/,
// message: '账号必须为数字',
// trigger: 'blur'
// }
],
phone: [
// { required: true, message: '请输入手机号', trigger: 'blur' },
{
pattern: /^1[3456789]\d{9}$/,
message: '请输入正确的手机号',
trigger: 'blur'
}
],
IDNumber: [
// { required: true, message: '请输入证件号码', trigger: 'blur' },
{
pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/,
message: '请输入正确的证件号码',
trigger: 'blur'
}
],
email: [
// { required: true, message: '请输入邮箱', trigger: 'blur' },
{
pattern: /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/,
message: '请输入正确的邮箱',
trigger: 'blur'
}
]
},
sexList: [
{
name: '男',
value: 1
},
{
name: '女',
value: 2
}
],
documentTypeList: [
{
name: '居民身份证',
value: 1
}
],
// 教育程度
educationDegreeList: [
{
name: '专科',
value: 1
},
{
name: '本科',
value: 2
},
{
name: '硕士',
value: 3
},
{
name: '博士',
value: 4
},
{
name: '其他',
value: 5
}
],
subjectList: [], //专业学科
ProfessionalClassList: [], //专业类
ProfessionalList: [], //专业
//国家
countryList: [
{
name: '中国'
}
],
schoolList: [],
cityList: [], //城市
provinceList: this.$store.state.provinceList, //省份
userId: this.$store.state.userId,
IDdisabled: false,
regionOption: [{
regionName: '教学平台',
regionId: 1
},
{
regionName: '数据平台',
regionId: 2
}], //系统选择
secondaryDepartmentsList: [], //二级部门
secondaryDepartmentsList_T: [], //二级部门
majorList: [], //学生—专业
yearList: [], //学生—年级
classList: [], //学生—班级
multipleSelection: [],
customerList: [], //客户列表
cusSearch: '',
chooseCusList: [],
choosecusArr: '',
chooseList: [],
NoAdd: true,
AccountNoAdd: true,
NumberNoAdd: true,
teaNumberNoAdd: true,
stuNumberNoAdd: true,
platformList: [], //平台系统列表
saveList: [],
roldform: {
},
clickFlag: true,
searchTimer: null
};
},
mounted() {
this.getSchoolData()
this.getSubject()
if(this.userId){
this.$get(this.api.queryUserInfoDetails,{ userId: this.userId }).then(res => {
this.form.userName = res.message.userInfo.userName,
this.form.uniqueIdentificationAccount = res.message.userInfo.uniqueIdentificationAccount,
this.form.documentType = res.message.userInfo.documentType,
this.form.IDNumber = res.message.userInfo.iDNumber,
this.form.cityId = res.message.userInfo.cityId,
this.form.countries = res.message.userInfo.countries,
this.form.provinceId = res.message.userInfo.provinceId,
this.form.dateBirth = res.message.userInfo.dateBirth,
this.form.educationDegree = res.message.userInfo.educationDegree,
this.form.sex = res.message.userInfo.sex,
this.form.schoolId = res.message.userInfo.schoolId,
this.form.phone = res.message.userInfo.phone,
this.form.WeChatID = res.message.userInfo.weChatID,
this.form.email = res.message.userInfo.email,
this.form.account = res.message.userInfo.account
if(res.message.userInfo.provinceId){
this.getCityData()
}
// 个人档案
if(res.message.userProfilesList[0]){
this.archivesForm = res.message.userProfilesList[0]
if(res.message.userProfilesList[0].disciplineId){
this.getProfessionalClassData(res.message.userProfilesList[0].disciplineId)
}
if(res.message.userProfilesList[0].professionalClassId){
this.getProfessionalData(res.message.userProfilesList[0].professionalClassId)
}
}else{
this.archivesForm = {}
}
// 循环档案
this.archivesList = res.message.userProfilesList.splice(1, 2)
if(this.archivesList.length != 0){
this.archivesList.map(e =>{
this.$set(e, 'subjectList', this.subjectList);
if(e.disciplineId){
this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: e.disciplineId }).then(res => {
this.$set(e, 'ProfessionalClassList', res.message);
}).catch(res => {});
}
if(e.professionalClassId){
this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => {
this.$set(e, 'ProfessionalList', res.message);
}).catch(res => {});
}
})
}
// 平台系统 edit
// this.platformList = res.message.platformList
let staffPlatformList = res.message.staffPlatformList
let studentPlatformList = res.message.studentPlatformList
this.platformList = staffPlatformList
if(this.platformList.length == 1){
studentPlatformList.forEach((n,k) => {
if(n.platformId != this.platformList[0].platformId){
this.platformList.push(n)
}
})
}else if(!this.platformList.length){
this.platformList = studentPlatformList
}
this.platformList.map(e =>{
this.regionOption.map((r,index) =>{
if(r.regionId == e.platformId){
this.regionOption.splice(index,1)
}
})
})
}).catch((res) => {
})
}
},
methods: {
async getInfo(item ,index){
let res = await this.$get(this.api.queryUserOR, { userId: this.userId, platformId: item.platformId})
return (res.message)
},
// 获取城市
getCity(){
if(this.form.provinceId){
this.getCityData()
}
},
getCityData(){
this.$get(this.api.queryCity,{provinceId: this.form.provinceId}).then(res => {
this.cityList = res.message
}).catch(res => {});
},
// 获取学校名称
schoolChange(val){
if(val){
let obj = {};
obj = this.schoolList.find(r =>{
return r.schoolId === val;
});
this.archivesForm.schoolName = obj.schoolName
}
},
// 获取列表学校名称
schoolitemChange(item){
if(item){
this.archivesList.map(e =>{
if(e.schoolId == item){
let obj = {};
obj = this.schoolList.find(r =>{
return r.schoolId === item;
});
e.schoolName = obj.schoolName
}
})
}
},
// 获取学科类别
getSubject(){
this.$get(this.api.queryCourseDiscipline).then(res => {
this.subjectList = res.message
}).catch(res => {});
},
// 清除学科类别
clearClass(){
this.archivesForm.professionalClassId = '',
this.archivesForm.professionalId = ''
},
// 获取专业类
getProfessionalClass(val){
this.clearClass()
if(val){
let obj = {};
obj = this.subjectList.find((item)=>{
return item.disciplineId === val;
});
this.archivesForm.disciplineName = obj.disciplineName
this.getProfessionalClassData(val)
}
},
clearItemClass(index){
this.archivesList[index].professionalClassId = ''
this.archivesList[index].professionalClassName = ''
this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = ''
// this.archivesList.map(e =>{
// if(e.disciplineId == item){
// e.professionalClassId = '',
// e.professionalClassName = '',
// e.professionalId = '',
// e.professionalName = ''
// }
// })
},
getItemProfessionalClass(item,index){
this.clearItemClass(index)
if(item){
let obj = {};
obj = this.subjectList.find(r =>{
return r.disciplineId === item;
});
this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: item }).then(res => {
this.archivesList.map(e =>{
if(e.disciplineId == item){
e.ProfessionalClassList = res.message
e.disciplineName = obj.disciplineName
}
})
}).catch(res => {});
}
},
getProfessionalClassData(value){
this.$get(this.api.queryCourseProfessionalClass,{ disciplineId: value }).then(res => {
this.ProfessionalClassList = res.message
}).catch(res => {});
},
// 清除专业类
clearProfess(){
this.archivesForm.professionalId = ''
},
// 获取专业
getProfessional(val){
this.clearProfess()
if(val){
let obj = {};
obj = this.ProfessionalClassList.find((item)=>{
return item.professionalClassId === val;
});
this.archivesForm.professionalClassName = obj.professionalClassName
this.getProfessionalData(val)
}
},
clearItemProfess(index){
this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = ''
// this.archivesList.map(e =>{
// if(e.professionalClassId == item){
// e.professionalId = '',
// e.professionalName = ''
// }
// })
},
getItemProfessional(item,index){
this.clearItemProfess(index)
if(item){
this.$get(this.api.queryCourseProfessional,{ professionalClassId: item }).then(res => {
this.archivesList.map(e =>{
if(e.professionalClassId == item){
let obj = {};
obj = e.ProfessionalClassList.find(r =>{
return r.professionalClassId === item;
});
e.ProfessionalList = res.message
e.professionalClassName = obj.professionalClassName
}
})
}).catch(res => {});
}
},
getProfessionalData(value){
this.$get(this.api.queryCourseProfessional,{professionalClassId: value}).then(res => {
this.ProfessionalList = res.message
}).catch(res => {});
},
// 获取专业名称
getStuGrade(val){
if(val){
let obj = {};
obj = this.ProfessionalList.find(r =>{
return r.professionalId === val;
});
this.archivesForm.professionalName = obj.professionalName
}
},
getItemStuGrade(item){
if(item){
this.archivesList.map(e =>{
if(e.professionalId == item){
let obj = {};
obj = e.ProfessionalList.find(r =>{
return r.professionalId === item;
});
e.professionalName = obj.professionalName
}
})
}
},
// 获取学校名称
getSchoolData(){
4 years ago
this.$get(this.api.querySchoolData,{
schoolName: '',
provinceId: '',
cityId: ''
}).then(res => {
4 years ago
this.schoolList = res.message
}).catch(res => {});
},
// 清除一级部门
clearStaffPro(item){
this.chooseList.map(e =>{
if(e.staffProfessionalArchitectureId == item){
e.staffGradeId = '',
e.staffGradeName = ''
}
})
},
// 清除教师一级部门
clearteacherStaffPro(item){
this.chooseList.map(e =>{
if(e.staffProfessionalArchitectureId == item){
e.teacherstaffGradeId = ''
e.teacherstaffProName = ''
}
})
},
// 获取二级部门
getStaffGradeList(item){
this.clearStaffPro(item)
if(item){
this.$get(this.api.queryStaffGrade,{ staffProfessionalArchitectureId: item }).then(res => {
this.chooseList.map(e =>{
if(e.staffProfessionalArchitectureId == item){
let obj = {};
obj = e.firstClassList.find(r =>{
return r.staffProfessionalArchitectureId === item;
});
e.twoClassList = res.message
e.staffProfessionalArchitectureName = obj.staffProfessionalArchitectureName
}
})
}).catch(res => {});
}
},
// 获取教师二级部门
teacherStaffGradeList(item){
this.clearteacherStaffPro(item)
if(item){
this.$get(this.api.queryStaffGrade,{ staffProfessionalArchitectureId: item }).then(res => {
this.chooseList.map(e =>{
if(e.teacherstaffProId == item){
let obj = {};
obj = e.firstClassList.find(r =>{
return r.staffProfessionalArchitectureId === item;
});
e.teachertwoClassList = res.message
e.teacherstaffProName = obj.staffProfessionalArchitectureName
}
})
}).catch(res => {});
}
},
// 获取二级部门名称
StaffGradeChange(item){
if(item){
this.chooseList.map(e =>{
if(e.staffGradeId == item){
let obj = {};
obj = e.twoClassList.find((r)=>{
return r.staffGradeId === item;
});
e.staffGradeName = obj.staffGradeName
}
})
}
},
// 获取教师二级部门名称
teacherStaffGradeChange(item){
if(item){
this.chooseList.map(e =>{
if(e.teacherstaffGradeId == item){
let obj = {};
obj = e.teachertwoClassList.find((r)=>{
return r.staffGradeId === item;
});
e.teacherstaffGradeName = obj.staffGradeName
}
})
}
},
// 清除学生专业
clearstuPro(item){
this.chooseList.map(e =>{
if(e.stuprofessionalId == item){
e.stugradeId = '',
e.stugradeName = '',
e.stuclassId = '',
e.stuclassName = ''
}
})
},
// 获取学生年级
getStuPro(item){
this.clearstuPro(item)
if(item){
this.$get(this.api.queryStuGrade,{ stuProfessionalArchitectureId: item }).then(res => {
this.chooseList.map(e =>{
if(e.stuprofessionalId == item){
let obj = {};
obj = e.studentFirstList.find(r =>{
return r.stuProfessionalArchitectureId === item;
});
e.studentTwoList = res.message
e.stuprofessionalName = obj.stuProfessionalArchitectureName
}
})
}).catch(res => {});
}
},
// 清除学生年级
clearStuGrade(item){
this.chooseList.map(e =>{
if(e.stugradeId == item){
e.stuclassId = '',
e.stuclassName = ''
}
})
},
// 获取学生班级
getStuClass(item){
this.clearStuGrade(item)
if(item){
this.$get(this.api.queryStuClass,{ gradeId: item }).then(res => {
this.chooseList.map(e =>{
if(e.stugradeId == item){
let obj = {};
obj = e.studentTwoList.find(r =>{
return r.gradeId === item;
});
e.studentThreeClass = res.message
e.stugradeName = obj.gradeName
}
})
}).catch(res => {});
}
},
// 获取学生班级名称
StuClassChange(item){
if(item){
this.chooseList.map(e =>{
if(e.stuclassId == item){
let obj = {};
obj = e.studentThreeClass.find(r =>{
return r.classId === item;
});
e.stuclassName = obj.className
}
})
}
},
// 新增系统
addArchives(){
let isEmpty = true;
let object = this.archivesForm
Object.keys(object).forEach(function(x) {
if(object[x] != null && object[x] != ""){
isEmpty = false;
}
});
if(isEmpty){//值全为空
this.$message.warning('请先填写个人档案其中一项信息!');
return true;
}
this.archivesList = this.archivesList.concat({
personalCareerId: '', //职业
schoolId: '', //院校
schoolName: '', //院校名称
subjectList: this.subjectList, //专业学科
disciplineId: '', //专业学科
disciplineName: '', //专业学科名称
ProfessionalClassList: [], //专业类
professionalClassId: '', //专业类
professionalClassName: '', //专业类名称
ProfessionalList: [], //专业
professionalId: '', //专业
professionalName: '', //专业名称
userId: this.userId
})
return false;
},
saveAdd(formName){
this.$refs[formName].validate((valid) => {
if (valid) {
if(!this.form.userName) return this.$message.warning('请填写用户姓名');
if(!this.form.schoolId) return this.$message.warning('请选择所在院校');
if(!this.form.account) return this.$message.warning('请填写账号');
if(!this.NoAdd) return this.$message.warning('该手机号已存在');
if(!this.AccountNoAdd) return this.$message.warning('该账号已存在');
if(!this.NumberNoAdd) return this.$message.warning('该员工工号已存在');
if(!this.teaNumberNoAdd) return this.$message.warning('该教师工号已存在');
if(!this.stuNumberNoAdd) return this.$message.warning('该学生学号已存在');
if(!this.saveList.length) return this.$message.warning('请绑定系统');
if(this.form.uniqueIdentificationAccount == ''){
let timestamp = Date.parse(new Date());
this.form.uniqueIdentificationAccount = timestamp
}
let staffLIst = []
let student = {}
this.saveList.forEach( e =>{
// 管理员数据
4 years ago
if(e.roleIds.indexOf(13) > -1){
4 years ago
staffLIst.push({
platformId: e.platformId,
workNumber: e.staworkNumber,
4 years ago
roleId: 13,
4 years ago
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
staffProfessionalArchitectureId: e.staffProfessionalArchitectureId,
staffProfessionalArchitectureName: e.staffProfessionalArchitectureName,
staffGradeId: e.staffGradeId,
staffGradeName: e.staffGradeName
})
}
// 教师数据
4 years ago
if(e.roleIds.indexOf(14) > -1){
4 years ago
staffLIst.push({
platformId: e.platformId,
workNumber: e.teaworkNumber,
4 years ago
roleId: 14,
4 years ago
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
staffProfessionalArchitectureId: e.teacherstaffProId,
staffProfessionalArchitectureName: e.teacherstaffProName,
staffGradeId: e.teacherstaffGradeId,
staffGradeName: e.teacherstaffGradeName
})
}
// 学生数据
if(e.roleIds.indexOf(4) > -1){
student = {
platformId: e.platformId,
workNumber: e.stuworkNumber,
roleId: 4,
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
professionalId: e.stuprofessionalId,
professionalName: e.stuprofessionalName,
gradeId: e.stugradeId,
gradeName: e.stugradeName,
classId: e.stuclassId,
className: e.stuclassName
}
}
})
let userProfilesList = []
let newarchivesList = [this.archivesForm, ...this.archivesList]
newarchivesList.forEach(e =>{
userProfilesList.push({
personalCareerId: e.personalCareerId,
schoolId: e.schoolId,
schoolName: e.schoolName,
disciplineId: e.disciplineId,
disciplineName: e.disciplineName,
professionalClassId: e.professionalClassId,
professionalClassName: e.professionalClassName,
professionalId: e.professionalId,
professionalName: e.professionalName,
userId: this.userId
})
})
this.form.roleId = this.saveList[0].roleIds.join(',')
let params = {
UserInfo : this.form,
userProfilesList,
staffLIst,
student
}
this.$post(this.api.addUser,params).then((res) => {
this.$message.success('添加成功');
this.$router.go(-1)
}).catch((res) => {
})
}
})
},
goback(){
if(this.clickFlag){
let msg = ''
if(this.userId){
msg = '请确定信息是否进行更新完毕,再返回用户首页。'
}else{
msg = '确定返回?未更新的信息将不会保存。'
}
this.$confirm(msg, '提示', {
type: 'warning'
})
.then(() => {
this.clickFlag = false
this.$router.go(-1)
})
.catch(() => {});
}
},
async phoneChange(){
let res = await this.$get(this.api.queryPhone, { phone: this.form.phone });
if(res.message.length != 0){
this.$message.warning('该手机号已存在');
this.NoAdd = false
}else{
this.NoAdd = true
}
},
async accountChange(){
let res = await this.$get(this.api.queryAccountIsExist, { account: this.form.account });
if(res.message.length != 0){
this.$message.warning('该账号已存在');
this.AccountNoAdd = false
}else{
this.AccountNoAdd = true
}
},
async worknumberChange(item){
let res = await this.$get(this.api.queryWorkNumberIsExist, {
workNumber: item.staworkNumber,
4 years ago
roleId: 13,
4 years ago
schoolId: item.schoolId
});
if(JSON.stringify(res.message) != '{}'){
this.$message.warning('该员工工号已存在');
this.NumberNoAdd = false
}else{
this.NumberNoAdd = true
}
},
async teaworknumberChange(item){
let res = await this.$get(this.api.queryWorkNumberIsExist, {
workNumber: item.teaworkNumber,
4 years ago
roleId: 14,
4 years ago
schoolId: item.schoolId
});
if(JSON.stringify(res.message) != '{}'){
this.$message.warning('该教师工号已存在');
this.teaNumberNoAdd = false
}else{
this.teaNumberNoAdd = true
}
},
async stuworknumberChange(item){
let res = await this.$get(this.api.queryWorkNumberIsExist, {
workNumber: item.stuworkNumber,
roleId: 4,
schoolId: item.schoolId
});
if(JSON.stringify(res.message) != '{}'){
this.$message.warning('该学生学号已存在');
this.stuNumberNoAdd = false
}else{
this.stuNumberNoAdd = true
}
},
numberChange(){
let reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/
if(reg.test(this.form.IDNumber)){
let idCard = this.form.IDNumber
let birthday = "";
if(idCard != null && idCard != ""){
if(idCard.length == 15){
birthday = "19"+idCard.slice(6,12);
} else if(idCard.length == 18){
birthday = idCard.slice(6,14);
}
birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");
}
this.form.dateBirth = birthday
let sexStr = '';
if (parseInt(idCard.slice(-2, -1)) % 2 == 1) {
sexStr = 1;
}
else {
sexStr = 2;
}
this.form.sex = sexStr
this.IDdisabled = true
}else{
this.IDdisabled = false
this.form.dateBirth = ''
this.form.sex = ''
}
},
getRowKeys(row) {
return row.id;
},
// 新增用户
addUser(){
this.dialogFormVisible = true
this.region = ''
this.choosecusArr = ''
this.chooseCusList = []
this.chooseList = []
},
// 多选操作
handleSelectionChange(val) {
this.multipleSelection = val;
},
// 客户列表
addCustomer(){
clearTimeout(this.searchTimer)
if(this.region == '') return this.$message.warning('请选择系统');
this.innerVisible = true
this.searchTimer = setTimeout(() => {
let res = this.$get(this.api.userQueryCustomer, {
customerIds: this.choosecusArr,
searchContent: this.cusSearch
}).then(res => {
this.customerList = res.message
})
},100)
},
// 选择客户
SelectionCus(val){
this.chooseCusList = val;
},
// 选择客户确定
cusSure(){
this.innerVisible = false
if(this.chooseCusList){
let arr = this.chooseCusList
let result = arr.map(e => e.customerId).join()
this.choosecusArr = this.choosecusArr.concat(`,${result}`)
if (this.choosecusArr.substr(0,1)==','){
this.choosecusArr = this.choosecusArr.substr(1);
}
// 新增学校列表数据
arr.map(e =>{
this.$set(e, 'checkList', this.checkList);
this.$set(e, 'roleIds', []);
this.$set(e, 'platformId', this.region);
this.$set(e, 'staworkNumber', '');
this.$set(e, 'teaworkNumber', '');
this.$set(e, 'stuworkNumber', '');
// 获取学生专业
this.$get(this.api.queryStuPro,{ schoolId: e.schoolId }).then(res => {
// 专业
this.$set(e, 'studentFirstList', res.message);
this.$set(e, 'stuprofessionalId', '');
this.$set(e, 'stuprofessionalName', '');
// 年级
this.$set(e, 'studentTwoList', []);
this.$set(e, 'stugradeId', '');
this.$set(e, 'stugradeName', '');
// 班级
this.$set(e, 'studentThreeClass', []);
this.$set(e, 'stuclassId', '');
this.$set(e, 'stuclassName', '');
}).catch(res => {});
// 获取一级部门
this.$get(this.api.queryStaffPro,{ schoolId: e.schoolId }).then(res => {
// 一级部门
this.$set(e, 'firstClassList', res.message);
this.$set(e, 'staffProfessionalArchitectureId', '');
this.$set(e, 'staffProfessionalArchitectureName', '');
// 二级部门
this.$set(e, 'twoClassList', []);
this.$set(e, 'staffGradeId', '');
this.$set(e, 'staffGradeName', '');
// 教师一级部门
this.$set(e, 'teacherstaffProId', '');
this.$set(e, 'teacherstaffProName', '');
// 教师二级部门
this.$set(e, 'teachertwoClassList', []);
this.$set(e, 'teacherstaffGradeId', '');
this.$set(e, 'teacherstaffGradeName', '');
}).catch(res => {});
})
this.saveList = this.saveList.concat(arr)
this.chooseList = this.chooseList.concat(arr)
}
},
async updateUserRoleId() {
let res = await this.$post(this.api.updateUserRoleId, {
userId: this.userId,
roleId: this.chooseList[0].roleIds.join(',')
});
},
removeSchool(customerId) {
this.saveList.map((n,k) => {
if(n.customerId == customerId) this.saveList.splice(k,1)
})
this.chooseList.map((n,k) => {
if(n.customerId == customerId) {
this.chooseList.splice(k,1)
this.chooseCusList.splice(k,1)
}
})
let choosecusArr = this.choosecusArr.split(',')
choosecusArr.splice(choosecusArr.findIndex(val => val == customerId),1)
this.choosecusArr = choosecusArr.join()
},
// 选择完信息之后确定
async ChooseListSure(){
if(this.region == '') return this.$message.warning('请选择系统');
if(this.chooseList.length != 0){
let isroleIdEmpty = false;
this.chooseList.map(e =>{
if(!e.roleIds.length){
isroleIdEmpty = true;
}
})
if(isroleIdEmpty){
this.$message.warning('请选择角色');
return true
}
}else return this.$message.warning('请选择学校');
if(this.userId){
let stuStaffList = {
staffList: [],
studentList: []
}
let isEmpty = false
this.chooseList.forEach(e =>{
// 管理员数据
4 years ago
if(e.roleIds.indexOf(13) > -1){
4 years ago
for(let i in e) {
if(i.startsWith('sta') && e[i] == ''){
isEmpty = true
break
}
}
stuStaffList.staffList.push({
platformId: e.platformId,
workNumber: e.staworkNumber,
4 years ago
roleId: 13,
4 years ago
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
staffProfessionalArchitectureId: e.staffProfessionalArchitectureId,
staffProfessionalArchitectureName: e.staffProfessionalArchitectureName,
staffGradeId: e.staffGradeId,
staffGradeName: e.staffGradeName,
userId: this.userId
})
}
// 教师数据
4 years ago
if(e.roleIds.indexOf(14) > -1){
4 years ago
for(let i in e) {
if(i.startsWith('tea') && e[i] == ''){
isEmpty = true
break
}
}
stuStaffList.staffList.push({
platformId: e.platformId,
workNumber: e.teaworkNumber,
4 years ago
roleId: 14,
4 years ago
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
staffProfessionalArchitectureId: e.teacherstaffProId,
staffProfessionalArchitectureName: e.teacherstaffProName,
staffGradeId: e.teacherstaffGradeId,
staffGradeName: e.teacherstaffGradeName,
userId: this.userId
})
}
// 学生数据
if(e.roleIds.indexOf(4) > -1){
for(let i in e) {
if(i.startsWith('stu') && e[i] == ''){
isEmpty = true
break
}
}
stuStaffList.studentList.push({
platformId: e.platformId,
workNumber: e.stuworkNumber,
roleId: 4,
schoolId: e.schoolId,
customerId: e.customerId,
schoolName: e.customerName,
professionalId: e.stuprofessionalId,
professionalName: e.stuprofessionalName,
gradeId: e.stugradeId,
gradeName: e.stugradeName,
classId: e.stuclassId,
className: e.stuclassName,
userId: this.userId
})
}
})
if(isEmpty) return this.$message.warning('请填写必填项');
await this.$post(this.api.updateOR, stuStaffList);
this.getplatformList()
this.updateUserRoleId()
this.dialogFormVisible = false
}else{
if(!this.NumberNoAdd) return this.$message.warning('该员工工号已存在');
if(!this.teaNumberNoAdd) return this.$message.warning('该教师工号已存在');
if(!this.stuNumberNoAdd) return this.$message.warning('该学生学号已存在');
let list = this.saveList
let isEmpty = false
for(let e of list){
4 years ago
if(e.roleIds.includes(13)){
4 years ago
for(let i in e) {
if(i.startsWith('sta') && e[i] == ''){
isEmpty = true
break
}
}
}
4 years ago
if(e.roleIds.includes(14)){
4 years ago
for(let i in e) {
if(i.startsWith('tea') && e[i] == ''){
isEmpty = true
break
}
}
}
if(e.roleIds.includes(4)){
for(let i in e) {
if(i.startsWith('stu') && e[i] == ''){
isEmpty = true
break
}
}
}
}
if(isEmpty) return this.$message.warning('请填写必填项');
let result = this.saveList.map(e => e.platformId).join()
let res = await this.$get(this.api.queryPlatform, { platformId: result });
this.platformList = res.message
this.dialogFormVisible = false
if(this.platformList.length != 0){
this.platformList.map(e =>{
this.regionOption.map((r,index) =>{
if(r.regionId == e.platformId){
this.regionOption.splice(index,1)
}
})
})
}
}
},
getplatformList(){
this.regionOption = [{
regionName: '教学平台',
regionId: 1
},
{
regionName: '数据平台',
regionId: 2
}], //系统选择
this.$get(this.api.queryUserInfoDetails,{ userId: this.userId }).then(res => {
// this.platformList = res.message.platformList
let staffPlatformList = res.message.staffPlatformList
let studentPlatformList = res.message.studentPlatformList
this.platformList = staffPlatformList
if(this.platformList.length == 1){
studentPlatformList.forEach((n,k) => {
if(n.platformId != this.platformList[0].platformId){
this.platformList.push(n)
}
})
}else if(!this.platformList.length){
this.platformList = studentPlatformList
}
this.platformList.map(e =>{
this.regionOption.map((r,index) =>{
if(r.regionId == e.platformId){
this.regionOption.splice(index,1)
}
})
})
}).catch((res) => {})
},
// 关闭弹框
regionclose(){
if(this.userId){
this.getplatformList()
}
},
//编辑平台
async edit(row){
let obj = {}
Object.assign(obj,
{
regionName: row.platformName,
regionId: row.platformId,
})
this.regionOption = [obj, ...[]]
this.region = row.platformId
this.dialogFormVisible = true
this.choosecusArr = ''
this.chooseCusList = []
this.chooseList = []
let res = await this.$get(this.api.queryUserOR, { userId: this.userId, platformId: row.platformId});
res.message = [...res.message.staff,...res.message.student]
res.message.map(e =>{
this.$set(e, 'checkList', this.checkList)
this.$set(e, 'customerName', e.schoolName)
// 专业
this.$set(e, 'studentFirstList', []);
this.$set(e, 'stuprofessionalId', '');
this.$set(e, 'stuprofessionalName', '');
this.$set(e, 'stuclassId', '');
this.$set(e, 'stuclassName', '');
// 年级
this.$set(e, 'studentTwoList', []);
this.$set(e, 'stugradeId', '');
this.$set(e, 'stugradeName', '');
// 班级
this.$set(e, 'studentThreeClass', []);
this.$set(e, 'stuworkNumber', '');
// 一级部门
this.$set(e, 'firstClassList', []);
this.$set(e, 'staworkNumber', '');
e.staffProfessionalArchitectureId || this.$set(e, 'staffProfessionalArchitectureId', '');
e.staffProfessionalArchitectureName || this.$set(e, 'staffProfessionalArchitectureName', '');
e.staffGradeId || this.$set(e, 'staffGradeId', '');
e.staffGradeName || this.$set(e, 'staffGradeName', '');
// 二级部门
this.$set(e, 'twoClassList', []);
// 教师二级部门
this.$set(e, 'teachertwoClassList', []);
this.$set(e, 'teaworkNumber', '');
this.$set(e, 'teacherstaffProId', '');
this.$set(e, 'teacherstaffProName', '');
this.$set(e, 'teacherstaffGradeId', '');
this.$set(e, 'teacherstaffGradeName', '');
if (e.roleId) {
switch (e.roleId) {
4 years ago
case 13:
4 years ago
e.staworkNumber = e.workNumber
break;
4 years ago
case 14:
4 years ago
e.teaworkNumber = e.workNumber,
e.teacherstaffProId = e.staffProfessionalArchitectureId,
e.teacherstaffProName = e.staffProfessionalArchitectureName,
e.teacherstaffGradeId = e.staffGradeId,
e.teacherstaffGradeName = e.staffGradeName
break;
case 4:
e.stuworkNumber = e.workNumber
e.stuprofessionalId = e.professionalId
e.stuprofessionalName = e.professionalName
e.stugradeId = e.gradeId
e.stugradeName = e.gradeName
e.stuclassId = e.classId
e.stuclassName = e.className
break;
}
}
})
let arr1 = res.message;
function f(arr) {
let mp= {}
let ret = []
arr.forEach(item => {
if (typeof mp[item.schoolId] === 'number') {
ret[mp[item.schoolId]].push(item)
} else {
mp[item.schoolId] = ret.length
ret.push([item])
}
})
return ret
}
let setArr = f(arr1)
setArr.map(e =>{
e.map(c => {
this.$set(c, 'roleIds', e.map(c => c.roleId))
})
})
// this.chooseList = setArr.map(a => Object.assign.apply(null,a));
let arr2 = setArr
         function deepMerge(data) {
            let result = []
            data.forEach((item,index) => {
                result[index] = {}
                item.forEach((k,i) => {
                    for(let j in k){
                        if(!result[index][j] || (result[index][j] && k[j])){
                            result[index][j] = k[j]
                        }
                    }
                })
             })
return result
        }
        this.chooseList = deepMerge(arr2)
this.chooseList.map(e =>{
e.roleIds = Array.from(new Set(e.roleIds))
// 获取一级部门
this.$get(this.api.queryStaffPro,{ schoolId: e.schoolId }).then(res => {
// this.$set(e, 'firstClassList', res.message);
e.firstClassList = res.message
}).catch(res => {});
// 获取管理员二级部门
if(e.staffProfessionalArchitectureId){
this.$get(this.api.queryStaffGrade,{ staffProfessionalArchitectureId: e.staffProfessionalArchitectureId }).then(res => {
// this.$set(e, 'twoClassList', res.message);
e.twoClassList = res.message
}).catch(res => {});
}
// 获取教师二级部门
if(e.teacherstaffProId){
this.$get(this.api.queryStaffGrade,{ staffProfessionalArchitectureId: e.teacherstaffProId }).then(res => {
// this.$set(e, 'teachertwoClassList', res.message);
e.teachertwoClassList = res.message
}).catch(res => {});
}
// 获取学生专业
this.$get(this.api.queryStuPro,{ schoolId: e.schoolId }).then(res => {
// this.$set(e, 'studentFirstList', res.message);
e.studentFirstList = res.message
}).catch(res => {});
// 获取学生年级
if(e.stuprofessionalId){
this.$get(this.api.queryStuGrade,{ stuProfessionalArchitectureId: e.stuprofessionalId }).then(res => {
// this.$set(e, 'studentTwoList', res.message);
e.studentTwoList = res.message
}).catch(res => {});
}
// 获取学生班级
if(e.stugradeId){
this.$get(this.api.queryStuClass,{ gradeId: e.stugradeId }).then(res => {
// this.$set(e, 'studentThreeClass', res.message);
e.studentThreeClass = res.message
}).catch(res => {});
}
})
let nwarr = this.chooseList
let result = nwarr.map(e => e.schoolId).join()
this.choosecusArr = this.choosecusArr.concat(`,${result}`)
if (this.choosecusArr.substr(0,1)==','){
this.choosecusArr = this.choosecusArr.substr(1);
}
},
// 删除平台
handleDelete(row,index){
this.$confirm('确定要删除吗?', '提示', {
type: 'warning'
})
.then(() => {
// 系统列表
let obj = {}
Object.assign(obj,
{
regionName: row.platformName,
regionId: row.platformId,
})
this.regionOption = [obj, ...this.regionOption]
this.saveList = this.saveList.filter(function(obj){
return row.platformId !== obj.platformId;
});
this.chooseList = this.chooseList.filter(function(obj){
return row.platformId !== obj.platformId;
});
this.platformList.splice(index, 1);
this.$message.success('删除成功');
if(this.userId){
this.$post(this.api.deletePlatform,{ platformId: row.platformId, userId: this.userId }).then(res => {
}).catch(res => {});
}
})
.catch(() => {});
},
// 更新用户信息
async editUserInfo(){
await this.$post(this.api.updateUserInfo, this.form );
this.$message.success('更新用户成功');
this.$router.go(-1)
},
//删除个人档案
delItemArchives(index){
this.$confirm('确定要删除该档案吗?', '提示', {
type: 'warning'
})
.then(() => {
this.archivesList.splice(index, 1);
this.$message.success('删除成功');
})
.catch(() => {});
},
// 更新个人档案
async editUserProfiles(){
let userProfilesList = []
let newarchivesList = [this.archivesForm, ...this.archivesList]
newarchivesList.forEach(e =>{
userProfilesList.push({
personalCareerId: e.personalCareerId,
schoolId: e.schoolId,
schoolName: e.schoolName,
disciplineId: e.disciplineId,
disciplineName: e.disciplineName,
professionalClassId: e.professionalClassId,
professionalClassName: e.professionalClassName,
professionalId: e.professionalId,
professionalName: e.professionalName,
userId: this.userId
})
})
await this.$post(this.api.updateUserProfiles, userProfilesList );
this.$message.success('更新个人档案成功');
},
}
};
</script>
<style lang="scss" scoped>
// 新增系统
.card ::v-deep .el-card {
border-radius: 15px;
}
.card_m {
margin: 10px 0 20px 0;
}
::v-deep .el-dialog__title {
font-weight: 600;
}
.region ::v-deep .el-form-item__label {
font-weight: 600;
}
.region ::v-deep .el-input {
width: 30%;
}
.numberInput{
display: inline-flex;
align-items: center;
span{
white-space: nowrap;
}
}
.numberInput ::v-deep .el-input {
width: 80%;
}
.stu_input ::v-deep .el-input {
width: 80%;
}
.radio {
margin: 0 15px 0 30px;
font-weight: 600;
}
.jobNumber {
margin: 10px 0;
}
.jobNumber ::v-deep .el-input {
margin-left: 20px;
}
.icon_btn {
margin: 5px 5px 15px 0;
}
.secondaryDepartments {
margin-left: 90px;
}
.flex_start {
display: flex;
justify-content: flex-start;
align-items: center;
}
.flex {
display: flex;
justify-content: flex-end;
}
.from_card {
margin-bottom: 20px;
}
.mgb20_top {
margin-top: 400px;
}
.mag {
margin-right: 20px;
}
.magr50 {
margin-left: 50px;
}
.font_same {
margin-left: 40px;
color: rgb(155, 179, 245);
font-size: 14px;
}
.school_card:first-child{
margin-top: 0;
}
.school_card{
margin-top: 20px;
}
.checkboxItem{
margin-left: 20px;
}
// 滚动条的宽度
.scrollbar ::-webkit-scrollbar {
width: 2px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
}
// 滚动条的滑块
.scrollbar ::-webkit-scrollbar-thumb {
background-color: #9278ff;
border-radius: 3px;
box-shadow: inset 0 0 5px #dddddd;
}
.scrollbar ::-webkit-scrollbar-track {
/*滚动条里面轨道*/
box-shadow: inset 0 0 5px #dddddd;
border-radius: 0;
background: #dddddd;
}
/deep/.el-input__inner{
height: 40px !important;
}
.remove-school{
cursor: pointer;
font-size: 20px;
}
</style>