|
|
|
<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">查看用户信息</span>
|
|
|
|
</div>
|
|
|
|
</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>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div>
|
|
|
|
<div>
|
|
|
|
<p class="font_same">个人信息</p>
|
|
|
|
<el-form
|
|
|
|
ref="form"
|
|
|
|
:model="form"
|
|
|
|
:rules="rules"
|
|
|
|
label-width="120px"
|
|
|
|
:disabled="isDetail"
|
|
|
|
>
|
|
|
|
<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.uniqueIdentification"
|
|
|
|
placeholder="请输入"
|
|
|
|
:disabled="true"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
<el-form-item prop="IDNumber" label="证件号码">
|
|
|
|
<el-input
|
|
|
|
v-model="form.IDNumber"
|
|
|
|
placeholder="请输入证件号码"
|
|
|
|
maxlength="18"
|
|
|
|
></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"
|
|
|
|
:disabled="isDetail"
|
|
|
|
>
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-col :span="6" :offset="5">
|
|
|
|
<el-form-item prop="phone" label="个人手机">
|
|
|
|
<el-input
|
|
|
|
v-model="form.phone"
|
|
|
|
placeholder="请输入手机号"
|
|
|
|
maxlength="11"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="6" :offset="2">
|
|
|
|
<el-form-item label="微信号">
|
|
|
|
<el-input v-model="form.WeChatID" placeholder="请输入微信号"></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</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>
|
|
|
|
|
|
|
|
<div>
|
|
|
|
<div class="flex-center" v-for="(item,index) in archivesList" :key="index" v-show="index == 0 || index == 1 || showArch">
|
|
|
|
<el-col :span="16" :offset="4">
|
|
|
|
<el-card shadow="hover" class="from_card">
|
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="isDetail">
|
|
|
|
<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>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="fold" v-if="archivesList.length > 1">
|
|
|
|
<img :class="{ 'arrowTransform': showArch, 'arrowTransformReturn': !showArch}" style="width: 21px;height: 17px;" src="../../assets/img/person/open.png" alt="" @click="foldArch">
|
|
|
|
</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-dialog :title="isShow ? '查看系统' : '编辑系统'" :visible.sync="dialogFormVisible" :center="!isIE()" :close-on-click-modal="false">
|
|
|
|
<el-form :class="{region: !isIE()}" ref="chooseList" :rules="rules" :disabled="isDetail">
|
|
|
|
<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 style="margin-bottom: 20px;">
|
|
|
|
<span class="radio">组织关系</span>
|
|
|
|
<el-radio v-model="radio" label="1">绑定组织关系</el-radio>
|
|
|
|
<el-radio v-model="radio" label="2" disabled>不绑定组织关系</el-radio>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<el-card shadow="hover" v-for="(item,index) in chooseList" :key="index" class="school-item">
|
|
|
|
<p class="school-name">{{index}}</p>
|
|
|
|
<div class="card" :class="{isie: isIE()}">
|
|
|
|
<div class="port" v-for="(item1,index1) in item" :key="index1">
|
|
|
|
<p class="port-name">{{typeList.find(n => n.id == item1.type) ? typeList.find(n => n.id == item1.type).label : ''}}</p>
|
|
|
|
<el-card shadow="hover">
|
|
|
|
<ul class="fields">
|
|
|
|
<div class="line">
|
|
|
|
<li>
|
|
|
|
<span class="name">工号:</span>
|
|
|
|
<p class="val">{{item1.workNumber}}</p>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<span class="name">账号:</span>
|
|
|
|
<p class="val">{{item1.account}}</p>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<el-switch v-model="item1.isEnable" :active-value="1" :inactive-value="0" :active-text="item1.isEnable ? '启用' : '禁用'" :disabled="isShow" @change="switchOff($event,item1)"></el-switch>
|
|
|
|
</li>
|
|
|
|
</div>
|
|
|
|
<div class="line">
|
|
|
|
<li>
|
|
|
|
<span class="name">该工号所绑定角色:</span>
|
|
|
|
<p class="val">管理员</p>
|
|
|
|
</li>
|
|
|
|
</div>
|
|
|
|
</ul>
|
|
|
|
</el-card>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
|
<template v-if="isShow">
|
|
|
|
<el-button type="primary" @click="dialogFormVisible = false">返回</el-button>
|
|
|
|
</template>
|
|
|
|
<template v-else>
|
|
|
|
<el-button @click="dialogFormVisible = false">取消</el-button>
|
|
|
|
<el-button type="primary" @click="dialogFormVisible = false">确定</el-button>
|
|
|
|
</template>
|
|
|
|
</span>
|
|
|
|
</el-dialog>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<el-table
|
|
|
|
:data="platformList"
|
|
|
|
class="table"
|
|
|
|
stripe
|
|
|
|
header-align="center"
|
|
|
|
row-key="platformId"
|
|
|
|
>
|
|
|
|
<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" @click="show(scope.row,true)">查看</el-button>
|
|
|
|
<el-button type="text" @click="show(scope.row,false)">编辑</el-button>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
</el-card>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
name: 'baseform',
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
isDetail: true,
|
|
|
|
|
|
|
|
typeList: [
|
|
|
|
{
|
|
|
|
id: 0,
|
|
|
|
label: '教师端'
|
|
|
|
},{
|
|
|
|
id: 1,
|
|
|
|
label: '学生端'
|
|
|
|
}
|
|
|
|
],
|
|
|
|
region: '', // 系统选择
|
|
|
|
checkList: [{
|
|
|
|
label: '管理员',
|
|
|
|
id: 13
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '教师',
|
|
|
|
id: 14
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: '学生',
|
|
|
|
id: 4
|
|
|
|
}], //角色选择
|
|
|
|
radio: '1', //组织关系
|
|
|
|
innerVisible: false,
|
|
|
|
dialogFormVisible: false,
|
|
|
|
form: {
|
|
|
|
//个人信息
|
|
|
|
userId: this.$store.state.userId,
|
|
|
|
userName: '', //用户姓名
|
|
|
|
uniqueIdentification: '', //唯一识别码
|
|
|
|
documentType: 1, //证件类型
|
|
|
|
IDNumber: '', //证件号码
|
|
|
|
cityId: '', //省份
|
|
|
|
countries: '中国', //国家
|
|
|
|
provinceId: '', //城市
|
|
|
|
dateBirth: '', //出生日期
|
|
|
|
educationDegree: '', //教育程度
|
|
|
|
sex: '', //性别
|
|
|
|
schoolId: '', //学校
|
|
|
|
|
|
|
|
//账号信息
|
|
|
|
phone: '', //手机号码
|
|
|
|
WeChatID: '', //微信
|
|
|
|
email: '', //邮箱
|
|
|
|
},
|
|
|
|
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' }],
|
|
|
|
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,
|
|
|
|
showArch: false,
|
|
|
|
isShow: false
|
|
|
|
};
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
this.getSchoolData()
|
|
|
|
if(this.userId){
|
|
|
|
this.$get(this.api.queryUserInfoDetails,{ userId: this.userId }).then(res => {
|
|
|
|
let userInfo = res.result.hrUserInfo
|
|
|
|
let personalFileList = res.result.personalFileList
|
|
|
|
let platformList = res.result.platformList
|
|
|
|
let userAccount = res.result.userAccountList
|
|
|
|
|
|
|
|
this.form.userName = userInfo.userName
|
|
|
|
this.form.uniqueIdentification = userInfo.uniqueIdentification
|
|
|
|
this.form.IDNumber = userInfo.iDNumber
|
|
|
|
this.form.cityId = userInfo.cityId
|
|
|
|
this.form.provinceId = userInfo.provinceId
|
|
|
|
this.form.dateBirth = userInfo.dateBirth
|
|
|
|
this.form.educationDegree = userInfo.educationDegree
|
|
|
|
this.form.sex = userInfo.sex
|
|
|
|
this.form.schoolId = userInfo.schoolId
|
|
|
|
this.form.phone = userInfo.phone
|
|
|
|
this.form.WeChatID = userAccount[0].wechatId
|
|
|
|
if(userInfo.provinceId){
|
|
|
|
this.getCityData()
|
|
|
|
}
|
|
|
|
// 个人档案
|
|
|
|
if(personalFileList.length != 0){
|
|
|
|
personalFileList.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.list);
|
|
|
|
}).catch(res => {});
|
|
|
|
}
|
|
|
|
if(e.professionalClassId){
|
|
|
|
this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => {
|
|
|
|
this.$set(e, 'ProfessionalList', res.list);
|
|
|
|
}).catch(res => {});
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
this.archivesList = personalFileList
|
|
|
|
|
|
|
|
// 平台系统
|
|
|
|
platformList.map(e =>{
|
|
|
|
this.regionOption.map((r,index) =>{
|
|
|
|
if(r.regionId == e.platformId){
|
|
|
|
this.regionOption.splice(index,1)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.platformList = platformList
|
|
|
|
}).catch((res) => {})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
getCity(){
|
|
|
|
if(this.form.provinceId){
|
|
|
|
this.getCityData()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
getCityData(){
|
|
|
|
this.$get(this.api.queryCity,{provinceId: this.form.provinceId}).then(res => {
|
|
|
|
this.cityList = res.list
|
|
|
|
}).catch(res => {});
|
|
|
|
},
|
|
|
|
// 获取列表学校名称
|
|
|
|
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
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 获取学校名称
|
|
|
|
getSchoolData(){
|
|
|
|
this.$get(this.api.querySchoolData,{
|
|
|
|
schoolName: '',
|
|
|
|
provinceId: '',
|
|
|
|
cityId: ''
|
|
|
|
}).then(res => {
|
|
|
|
this.schoolList = res.list
|
|
|
|
}).catch(res => {});
|
|
|
|
},
|
|
|
|
goback(){
|
|
|
|
this.$router.back()
|
|
|
|
},
|
|
|
|
// 获取学科类别
|
|
|
|
getSubject(){
|
|
|
|
this.$get(this.api.queryCourseDiscipline).then(res => {
|
|
|
|
this.subjectList = res.list
|
|
|
|
}).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.list
|
|
|
|
e.disciplineName = obj.disciplineName
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}).catch(res => {});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
getProfessionalClassData(value){
|
|
|
|
this.$get(this.api.queryCourseProfessionalClass,{disciplineId: value}).then(res => {
|
|
|
|
this.ProfessionalClassList = res.list
|
|
|
|
}).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.list
|
|
|
|
e.professionalClassName = obj.professionalClassName
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}).catch(res => {});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
getProfessionalData(value){
|
|
|
|
this.$get(this.api.queryCourseProfessional,{professionalClassId: value}).then(res => {
|
|
|
|
this.ProfessionalList = res.list
|
|
|
|
}).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
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
show(row,isShow){
|
|
|
|
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 = []
|
|
|
|
this.isShow = isShow
|
|
|
|
|
|
|
|
this.$get(this.api.selectUserSysBind, { userId: this.userId, platformId: row.platformId}).then(res => {
|
|
|
|
let list = res.result.map
|
|
|
|
for(let i in list){
|
|
|
|
for(let n in list[i]){
|
|
|
|
list[i] = list[i][n]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.chooseList = list
|
|
|
|
}).catch(res => {})
|
|
|
|
},
|
|
|
|
switchOff(val,row){
|
|
|
|
this.$get(this.api.updateAccountEnable,{
|
|
|
|
id: row.id,
|
|
|
|
isEnable: val
|
|
|
|
}).then(res => {
|
|
|
|
this.$message.success(val ? '启用成功' : '禁用成功')
|
|
|
|
}).catch(res => {})
|
|
|
|
},
|
|
|
|
foldArch() {
|
|
|
|
this.showArch = !this.showArch
|
|
|
|
},
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
.fold{
|
|
|
|
margin-top: 20px;
|
|
|
|
text-align: center;
|
|
|
|
img{
|
|
|
|
cursor: pointer;
|
|
|
|
&:hover{
|
|
|
|
opacity: .8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.arrowTransform{
|
|
|
|
transition: 0.5s;
|
|
|
|
transform-origin: center;
|
|
|
|
transform: rotateZ(180deg);
|
|
|
|
}
|
|
|
|
.arrowTransformReturn{
|
|
|
|
transition: 0.5s;
|
|
|
|
transform-origin: center;
|
|
|
|
transform: rotateZ(0deg);
|
|
|
|
}
|
|
|
|
// 新增系统
|
|
|
|
.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;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flex_start {
|
|
|
|
display: flex;
|
|
|
|
justify-content: flex-start;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
.flex_end {
|
|
|
|
display: flex;
|
|
|
|
justify-content: flex-end;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
.flex {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
.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-item{
|
|
|
|
margin-bottom: 20px;
|
|
|
|
.school-name{
|
|
|
|
font-size: 16px;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
.port{
|
|
|
|
.port-name{
|
|
|
|
margin: 10px 0;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #9076FF;
|
|
|
|
}
|
|
|
|
.fields{
|
|
|
|
.line{
|
|
|
|
display: flex;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
li{
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
margin-right: 80px;
|
|
|
|
.name{
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
.val{
|
|
|
|
font-size: 14px;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 滚动条的宽度
|
|
|
|
.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;
|
|
|
|
}
|
|
|
|
</style>
|