yujialong 9 hours ago
parent 2f72fa5ad4
commit 6b59aaef90
  1. 2
      src/api/index.js
  2. 2
      src/components/ueditorPlus/index.vue
  3. 2
      src/layouts/header/index.vue
  4. 1
      src/layouts/home/index.vue
  5. 616
      src/pages/setting/list/info.vue
  6. 4
      src/pages/station/preview/index.vue
  7. 23
      src/pages/student/list/index.vue
  8. 8
      src/setting.js

@ -1,7 +1,7 @@
import Setting from "@/setting"; import Setting from "@/setting";
const host = Setting.apiBaseURL const host = Setting.apiBaseURL
const uploadURL = Setting.upload.apiURL; const uploadURL = Setting.upload.apiURL;
const host2 = 'http://121.37.12.51/' const host2 = 'http://118.31.167.228/'
export default { export default {
logins: `users/users/user/login`, //登录 logins: `users/users/user/login`, //登录

@ -44,7 +44,7 @@ export default {
methods: { methods: {
initEditor () { initEditor () {
this.$nextTick(() => { this.$nextTick(() => {
const host = Setting.isPro || Setting.isZxy ? location.origin : `http://121.37.12.51` const host = Setting.isPro || Setting.isZxy ? location.origin : `http://118.31.167.228`
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
this.instance = UE.getEditor(this.randomId, { this.instance = UE.getEditor(this.randomId, {
UEDITOR_HOME_URL: Setting.isTest ? '/examination/static/ueditorPlus/' : '/static/ueditorPlus/', UEDITOR_HOME_URL: Setting.isTest ? '/examination/static/ueditorPlus/' : '/static/ueditorPlus/',

@ -132,7 +132,7 @@ export default {
initSocket ({ id, account }) { initSocket ({ id, account }) {
// socket // socket
this.socket = new WebSocket(`${Setting.isTest ? 'ws' : 'wss'}://${Setting.isDev ? '192.168.31.51:9100' : location.host}/nakadai/websocket/${id}/${account}`) this.socket = new WebSocket(`${Setting.isTest ? 'ws' : 'wss'}://${Setting.isDev ? '192.168.31.51:9100' : location.host}/nakadai/websocket/${id}/${account}`)
// this.socket = new WebSocket(`ws://121.37.12.51:9100/nakadai/websocket/${id}/${account}`) // this.socket = new WebSocket(`ws://118.31.167.228:9100/nakadai/websocket/${id}/${account}`)
// socket // socket
this.socket.onopen = this.open; this.socket.onopen = this.open;
// socket // socket

@ -127,6 +127,7 @@ export default {
const res = await this.$post(this.api.checkUserNameOrWorkNumber) const res = await this.$post(this.api.checkUserNameOrWorkNumber)
// //
if (!res.hasName) { if (!res.hasName) {
this.realNameForm.workNumber = res.workNumber || ''
this.realNameVisible = true this.realNameVisible = true
} }
}, },

@ -1,76 +1,51 @@
<template> <template>
<div> <div>
<div class="scroll" <div class="scroll" v-loading="loading">
v-loading="loading">
<div class="page"> <div class="page">
<h6 class="l-title"><img src="@/assets/img/info1.png" <h6 class="l-title"><img src="@/assets/img/info1.png" alt=""> 用户信息</h6>
alt=""> 用户信息</h6>
<div class="page-content"> <div class="page-content">
<ul class="list"> <ul class="list">
<div class="line info"> <div class="line info">
<li> <li>
<label>姓名</label> <label>姓名</label>
<el-input id="username" <el-input id="username" class="username" placeholder="请输入姓名" type="text" v-model="form.userName" />
class="username"
placeholder="请输入姓名"
type="text"
v-model="form.userName" />
</li> </li>
<li> <li>
<label>所在国家</label> <label>所在国家</label>
<el-select v-model="form.countries" <el-select v-model="form.countries" placeholder>
placeholder> <el-option v-for="item in countryList" :key="item.value" :label="item.label"
<el-option v-for="item in countryList" :value="item.value"></el-option>
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
</div> </div>
<div class="line info"> <div class="line info">
<li> <li>
<label>性别</label> <label>性别</label>
<el-select size="small" <el-select size="small" v-model="form.sex">
v-model="form.sex"> <el-option v-for="item in sexList" :key="item.value" :label="item.name"
<el-option v-for="item in sexList" :value="item.value"></el-option>
:key="item.value"
:label="item.name"
:value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
<li class="selects"> <li class="selects">
<label>所在地</label> <label>所在地</label>
<div class="mul"> <div class="mul">
<div class="child"> <div class="child">
<el-select size="small" <el-select size="small" v-model="form.countries" placeholder>
v-model="form.countries" <el-option v-for="item in countryList" :key="item.value" :label="item.label"
placeholder> :value="item.label"></el-option>
<el-option v-for="item in countryList"
:key="item.value"
:label="item.label"
:value="item.label"></el-option>
</el-select> </el-select>
</div> </div>
<div class="child"> <div class="child">
<el-select size="small" <el-select size="small" v-model="form.provinceId" placeholder @change="id => getCity(id, 1)">
v-model="form.provinceId" <el-option v-for="item in provinceList" :key="item.provinceId" :label="item.provinceName"
placeholder :value="item.provinceId"></el-option>
@change="id => getCity(id,1)">
<el-option v-for="item in provinceList"
:key="item.provinceId"
:label="item.provinceName"
:value="item.provinceId"></el-option>
</el-select> </el-select>
</div> </div>
<div class="child"> <div class="child">
<el-select size="small" <el-select size="small" v-model="form.cityId" placeholder
v-model="form.cityId" :disabled="form.provinceId ? false : true">
placeholder <el-option v-for="item in cityList" :key="item.cityId" :label="item.cityName"
:disabled="form.provinceId ? false : true"> :value="item.cityId"></el-option>
<el-option v-for="item in cityList"
:key="item.cityId"
:label="item.cityName"
:value="item.cityId"></el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
@ -79,152 +54,101 @@
<div class="line info"> <div class="line info">
<li> <li>
<label>出生年月</label> <label>出生年月</label>
<el-date-picker v-model="form.dateBirth" <el-date-picker v-model="form.dateBirth" :clearable="false" class="block-right" type="date">
:clearable="false"
class="block-right"
type="date">
</el-date-picker> </el-date-picker>
</li> </li>
<li> <li>
<label>身份证</label> <label>身份证</label>
<el-input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" <el-input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" id="idnumber" class="idnumber"
id="idnumber" placeholder="请输入身份证" type="text" v-model="form.idNumber" />
class="idnumber"
placeholder="请输入身份证"
type="text"
v-model="form.idNumber" />
</li> </li>
</div> </div>
<div class="line info"> <div class="line info">
<li> <li>
<label>教育程度</label> <label>教育程度</label>
<el-select size="small" <el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度">
v-model="form.educationDegree" <el-option v-for="(item, index) in educationDegreeList" :key="index" :label="item.name"
placeholder="请选择教育程度"> :value="item.value"></el-option>
<el-option v-for="(item,index) in educationDegreeList"
:key="index"
:label="item.name"
:value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<label>当前所在学校</label> <label>当前所在学校</label>
<el-input size="small" <el-input size="small" readonly placeholder="请输入学校" v-model="form.schoolName" clearable></el-input>
readonly </li>
placeholder="请输入学校" </div>
v-model="form.schoolName" <div class="line info">
clearable></el-input> <li style="width: 334px;margin-right: 90px">
<label>学号</label>
<el-input class="m-r-10" size="small" v-model="form.workNumber" clearable></el-input>
</li> </li>
</div> </div>
</ul> </ul>
</div> </div>
<div class="arc-action flex j-between a-center"> <div class="arc-action flex j-between a-center">
<h6 class="l-title"><img src="@/assets/img/info2.png" <h6 class="l-title"><img src="@/assets/img/info2.png" alt=""> 个人档案</h6>
alt=""> 个人档案</h6> <el-button type="text" icon="el-icon-plus" style="margin-left: 16px" @click="addArch">新增</el-button>
<el-button type="text"
icon="el-icon-plus"
style="margin-left: 16px"
@click="addArch">新增</el-button>
</div> </div>
<div class="page-content"> <div class="page-content">
<div class="archives" <div class="archives" v-for="(archive, index) in archivesList" :key="index" v-show="index == 0 || showArch">
v-for="(archive,index) in archivesList"
:key="index"
v-show="index == 0 || showArch">
<ul class="list"> <ul class="list">
<div class="line"> <div class="line">
<li> <li>
<label>职业</label> <label>职业</label>
<el-select size="small" <el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业">
v-model="archive.personalCareerId" <el-option v-for="item in occupationList" :key="item.value" :label="item.label"
placeholder="选择职业"> :value="item.value"></el-option>
<el-option v-for="item in occupationList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<label>所在国家</label> <label>所在国家</label>
<el-select size="small" <el-select size="small" v-model="form.countries" placeholder>
v-model="form.countries" <el-option v-for="item in countryList" :key="item.value" :label="item.label"
placeholder> :value="item.label"></el-option>
<el-option v-for="item in countryList"
:key="item.value"
:label="item.label"
:value="item.label"></el-option>
</el-select> </el-select>
</li> </li>
</div> </div>
<div class="line"> <div class="line">
<li> <li>
<label>学校名称</label> <label>学校名称</label>
<el-select size="small" <el-select size="small" v-model="archive.schoolId" filterable placeholder="选择学校"
v-model="archive.schoolId" @change="id => getSchoolName(id, index)">
filterable <el-option v-for="item in schoolList" :key="item.value" :label="item.schoolName"
placeholder="选择学校" :value="item.schoolId"></el-option>
@change="id => getSchoolName(id,index)">
<el-option v-for="item in schoolList"
:key="item.value"
:label="item.schoolName"
:value="item.schoolId"></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<label>专业学科</label> <label>专业学科</label>
<el-select size="small" <el-select size="small" v-model="archive.disciplineId" placeholder="选择专业学科"
v-model="archive.disciplineId" @change="id => getItemProfessionalClass(id, index)" @clear="() => clearItemClass(index)">
placeholder="选择专业学科" <el-option v-for="item in subjectList" :key="item.value" :label="item.disciplineName"
@change="id => getItemProfessionalClass(id,index)" :value="item.disciplineId"></el-option>
@clear="() => clearItemClass(index)">
<el-option v-for="item in subjectList"
:key="item.value"
:label="item.disciplineName"
:value="item.disciplineId"></el-option>
</el-select> </el-select>
</li> </li>
</div> </div>
<div class="line" <div class="line" style="margin-bottom: 0">
style="margin-bottom: 0">
<li> <li>
<label>专业类</label> <label>专业类</label>
<el-select size="small" <el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类"
v-model="archive.professionalClassId" :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id, index)"
placeholder="选择专业类" @clear="() => clearItemProfess(index)">
:disabled="archive.disciplineId ? false : true" <el-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId"
@change="id => getItemProfessional(id,index)" :label="item.professionalClassName" :value="item.professionalClassId"></el-option>
@clear="() => clearItemProfess(index)">
<el-option v-for="item in archive.ProfessionalClassList"
:key="item.professionalClassId"
:label="item.professionalClassName"
:value="item.professionalClassId"></el-option>
</el-select> </el-select>
</li> </li>
<li> <li>
<label>专业</label> <label>专业</label>
<el-select size="small" <el-select size="small" v-model="archive.professionalId" placeholder="选择专业"
v-model="archive.professionalId" :disabled="archive.professionalClassId ? false : true" @change="getItemStuGrade">
placeholder="选择专业" <el-option v-for="item in archive.ProfessionalList" :key="item.professionalId"
:disabled="archive.professionalClassId ? false : true" :label="item.professionalName" :value="item.professionalId"></el-option>
@change="getItemStuGrade">
<el-option v-for="item in archive.ProfessionalList"
:key="item.professionalId"
:label="item.professionalName"
:value="item.professionalId"></el-option>
</el-select> </el-select>
</li> </li>
</div> </div>
</ul> </ul>
<img class="del" <img class="del" src="@/assets/img/trash.png" alt="" v-if="index" @click="delArchive(index)">
src="@/assets/img/trash.png"
alt=""
v-if="index"
@click="delArchive(index)">
</div> </div>
<div class="fold" <div class="fold" v-if="archivesList.length > 1">
v-if="archivesList.length > 1"> <span :class="{ active: showArch }" @click="showArch = !showArch">
<span :class="{active: showArch}"
@click="showArch = !showArch">
展开更多 展开更多
<i class="el-icon-arrow-down"></i> <i class="el-icon-arrow-down"></i>
</span> </span>
@ -232,60 +156,32 @@
</div> </div>
</div> </div>
<div class="page"> <div class="page">
<h6 class="l-title"><img src="@/assets/img/info3.png" <h6 class="l-title"><img src="@/assets/img/info3.png" alt=""> 账号信息</h6>
alt=""> 账号信息</h6>
<div class="page-content"> <div class="page-content">
<ul class="list"> <ul class="list">
<div class="line info imp"> <div class="line info imp">
<li style="width: 333px;margin-right: 90px"> <li style="width: 333px;margin-right: 90px">
<label>学号</label> <label>账号</label>
<el-input class="m-r-10" <el-input class="m-r-10" size="small" v-model="form.account" clearable disabled></el-input>
size="small"
v-model="form.workNumber"
clearable
disabled></el-input>
</li> </li>
<li> <li>
<label>手机号</label> <label>手机号</label>
<el-input class="m-r-10" <el-input class="m-r-10" type="text" size="small" v-model="form.phone" disabled></el-input>
type="text" <el-button type="text" size="small" @click="bindPhone">{{ form.phone ? '更换' : '绑定' }}</el-button>
size="small" <el-button v-if="form.phone" type="text" size="small" @click="unbind">解绑</el-button>
v-model="form.phone"
disabled></el-input>
<el-button type="text"
size="small"
@click="bindPhone">{{ form.phone ? '更换' : '绑定' }}</el-button>
<el-button v-if="form.phone"
type="text"
size="small"
@click="unbind">解绑</el-button>
</li> </li>
</div> </div>
<div class="line info imp"> <div class="line info imp">
<li> <li>
<label>邮箱</label> <label>邮箱</label>
<el-input class="m-r-10" <el-input class="m-r-10" size="small" v-model="form.email" disabled></el-input>
size="small" <el-button v-if="form.email" type="text" size="small" @click="bindEmail">更换</el-button>
v-model="form.email" <el-button v-else type="text" size="small" @click="bindEmail">添加</el-button>
disabled></el-input>
<el-button v-if="form.email"
type="text"
size="small"
@click="bindEmail">更换</el-button>
<el-button v-else
type="text"
size="small"
@click="bindEmail">添加</el-button>
</li> </li>
<li> <li>
<label>密码</label> <label>密码</label>
<el-input class="m-r-10" <el-input class="m-r-10" size="small" value="******" disabled></el-input>
size="small" <el-button type="text" size="small" @click="bindPassword">更换</el-button>
value="******"
disabled></el-input>
<el-button type="text"
size="small"
@click="bindPassword">更换</el-button>
</li> </li>
</div> </div>
</ul> </ul>
@ -294,129 +190,79 @@
</div> </div>
<div class="btns"> <div class="btns">
<!-- <el-button size="small" v-throttle @click="cancel">取消</el-button> --> <!-- <el-button size="small" v-throttle @click="cancel">取消</el-button> -->
<el-button type="primary" <el-button type="primary" size="small" v-throttle @click="save">更新</el-button>
size="small"
v-throttle
@click="save">更新</el-button>
</div> </div>
<el-dialog :title="form.email ? '更换邮箱' : '绑定邮箱'" <el-dialog :title="form.email ? '更换邮箱' : '绑定邮箱'" :visible.sync="emailVisible" :close-on-click-modal="false"
:visible.sync="emailVisible" @close="closeEmail" width="30%">
:close-on-click-modal="false" <el-form ref="form" :model="form" label-width="60px">
@close="closeEmail"
width="30%">
<el-form ref="form"
:model="form"
label-width="60px">
<el-form-item label="邮箱"> <el-form-item label="邮箱">
<el-input placeholder="请输入邮箱" <el-input placeholder="请输入邮箱" v-model="email"></el-input>
v-model="email"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="验证码"> <el-form-item label="验证码">
<div class="flex-between"> <div class="flex-between">
<el-input v-model="emailCode" <el-input v-model="emailCode" placeholder="请输入验证码" maxlength="6"></el-input>
placeholder="请输入验证码" <el-button style="margin-left: 10px" type="text" @click="sendEmailCode" :disabled="emailDisabled">{{
maxlength="6"></el-input> emailBtnText }}</el-button>
<el-button style="margin-left: 10px"
type="text"
@click="sendEmailCode"
:disabled="emailDisabled">{{ emailBtnText }}</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" <span slot="footer" class="dialog-footer">
class="dialog-footer">
<el-button @click="emailVisible = false"> </el-button> <el-button @click="emailVisible = false"> </el-button>
<el-button type="primary" <el-button type="primary" @click="emailSubmit"> </el-button>
@click="emailSubmit"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog :title="form.phone ? '更换手机号' : '绑定手机号'" <el-dialog :title="form.phone ? '更换手机号' : '绑定手机号'" :visible.sync="phoneVisible" :close-on-click-modal="false"
:visible.sync="phoneVisible" @close="closePhone" width="30%">
:close-on-click-modal="false" <el-form ref="form" :model="form" label-width="60px">
@close="closePhone"
width="30%">
<el-form ref="form"
:model="form"
label-width="60px">
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input style="width: 404px;" <el-input style="width: 404px;" placeholder="请输入手机号" v-model="phone" maxlength="11"></el-input>
placeholder="请输入手机号"
v-model="phone"
maxlength="11"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="验证码"> <el-form-item label="验证码">
<div class="flex-between"> <div class="flex-between">
<el-input v-model="phoneCode" <el-input v-model="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input>
placeholder="请输入验证码" <el-button style="margin-left: 10px" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{
maxlength="6"></el-input> phoneBtnText }}</el-button>
<el-button style="margin-left: 10px"
type="text"
@click="sendPhoneCode"
:disabled="phoneDisabled">{{ phoneBtnText }}</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" <span slot="footer" class="dialog-footer">
class="dialog-footer">
<el-button @click="phoneVisible = false"> </el-button> <el-button @click="phoneVisible = false"> </el-button>
<el-button type="primary" <el-button type="primary" @click="phoneSubmit"> </el-button>
@click="phoneSubmit"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="更换密码" <el-dialog title="更换密码" :visible.sync="passwordVisible" :close-on-click-modal="false" @close="closePassword"
:visible.sync="passwordVisible" width="30%">
:close-on-click-modal="false" <el-form ref="passwordForm" :model="form" label-width="60px">
@close="closePassword"
width="30%">
<el-form ref="passwordForm"
:model="form"
label-width="60px">
<el-form-item label="原密码"> <el-form-item label="原密码">
<el-input type="password" <el-input type="password" v-model="passwordForm.password" placeholder="请输入原密码"></el-input>
v-model="passwordForm.password"
placeholder="请输入原密码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="新密码"> <el-form-item label="新密码">
<el-input type="password" <el-input type="password" v-model="passwordForm.newPassword" placeholder="请输入新密码"
v-model="passwordForm.newPassword" @keyup.enter.native="editPassword"></el-input>
placeholder="请输入新密码"
@keyup.enter.native="editPassword"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="新密码"> <el-form-item label="新密码">
<el-input type="password" <el-input type="password" v-model="passwordForm.reNewPassword" placeholder="请确认新密码"
v-model="passwordForm.reNewPassword" @keyup.enter.native="editPassword"></el-input>
placeholder="请确认新密码"
@keyup.enter.native="editPassword"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" <span slot="footer" class="dialog-footer">
class="dialog-footer">
<el-button @click="passwordVisible = false"> </el-button> <el-button @click="passwordVisible = false"> </el-button>
<el-button type="primary" <el-button type="primary" @click="editPassword"> </el-button>
@click="editPassword"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="修改用户账号" <el-dialog title="修改用户账号" :visible.sync="accountVisible" :close-on-click-modal="false" width="30%">
:visible.sync="accountVisible"
:close-on-click-modal="false"
width="30%">
<el-form label-width="82px"> <el-form label-width="82px">
<el-form-item label="用户账号"> <el-form-item label="用户账号">
<el-input v-model="editUsername" <el-input v-model="editUsername" placeholder="请输入用户账号"></el-input>
placeholder="请输入用户账号"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" <span slot="footer" class="dialog-footer">
class="dialog-footer"> <el-button size="small" @click="accountVisible = false"> </el-button>
<el-button size="small" <el-button size="small" type="primary" @click="confirmAccount"> </el-button>
@click="accountVisible = false"> </el-button>
<el-button size="small"
type="primary"
@click="confirmAccount"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
@ -1170,130 +1016,156 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.scroll { .scroll {
max-height: calc(100vh - 220px); max-height: calc(100vh - 220px);
overflow: auto; overflow: auto;
} }
.page { .page {
margin-bottom: 12px; margin-bottom: 12px;
/deep/.el-input__inner {
border-color: #cacfdb; /deep/.el-input__inner {
} border-color: #cacfdb;
.list { }
.line {
display: flex; .list {
margin-bottom: 24px; .line {
&.info li:not(.selects) { display: flex;
.el-input { margin-bottom: 24px;
flex: 1;
} &.info li:not(.selects) {
} .el-input {
&.imp li { flex: 1;
&:nth-child(odd) {
width: 360px;
margin-right: 64px;
}
}
}
.el-input,
.el-select {
width: 220px;
.el-input__inner {
border-color: #cacfdb;
}
} }
li { }
display: inline-flex;
align-items: center; &.imp li {
& > label { &:nth-child(odd) {
width: 100px; width: 360px;
margin-right: 5px; margin-right: 64px;
text-align: right;
font-size: 14px;
color: #4c4c4c;
white-space: nowrap;
}
.el-select {
flex: 1;
}
.el-select .el-input.is-disabled .el-input__inner {
border-color: #ddd;
}
.val {
margin-right: 15px;
color: #606266;
font-size: 14px;
}
.mul {
display: inline-flex;
.child {
display: inline-flex;
width: 132px;
margin-right: 10px;
& > span {
margin-bottom: 5px;
font-size: 14px;
color: #575757;
}
}
}
&:nth-child(odd) {
width: 325px;
margin-right: 100px;
}
} }
}
}
.el-input,
.el-select {
width: 220px;
.el-input__inner {
border-color: #cacfdb;
}
} }
.archives {
position: relative; li {
width: 862px; display: inline-flex;
padding: 16px 0; align-items: center;
margin-bottom: 6px;
border-radius: 4px; &>label {
background-color: #fafafa; width: 100px;
.del { margin-right: 5px;
position: absolute; text-align: right;
top: 80px; font-size: 14px;
right: 19px; color: #4c4c4c;
cursor: pointer; white-space: nowrap;
}
.el-select {
flex: 1;
}
.el-select .el-input.is-disabled .el-input__inner {
border-color: #ddd;
}
.val {
margin-right: 15px;
color: #606266;
font-size: 14px;
}
.mul {
display: inline-flex;
.child {
display: inline-flex;
width: 132px;
margin-right: 10px;
&>span {
margin-bottom: 5px;
font-size: 14px;
color: #575757;
}
} }
}
&:nth-child(odd) {
width: 325px;
margin-right: 100px;
}
} }
.arc-action { }
width: 862px;
.archives {
position: relative;
width: 862px;
padding: 16px 0;
margin-bottom: 6px;
border-radius: 4px;
background-color: #fafafa;
.del {
position: absolute;
top: 80px;
right: 19px;
cursor: pointer;
} }
.fold { }
margin-top: 20px;
text-align: center; .arc-action {
font-size: 12px; width: 862px;
color: #006eff; }
span {
cursor: pointer; .fold {
i { margin-top: 20px;
transition: 0.5s; text-align: center;
} font-size: 12px;
&.active i { color: #006eff;
transform: rotate(180deg);
} span {
} cursor: pointer;
i {
transition: 0.5s;
}
&.active i {
transform: rotate(180deg);
}
} }
}
} }
.btns { .btns {
width: 100%; width: 100%;
padding: 12px 0; padding: 12px 0;
text-align: center; text-align: center;
background-color: #fff; background-color: #fff;
box-shadow: 0px 0px 10px 0px rgba(188, 201, 218, 0.4); box-shadow: 0px 0px 10px 0px rgba(188, 201, 218, 0.4);
.el-button {
width: 80px; .el-button {
} width: 80px;
}
} }
.l-title { .l-title {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 12px; margin-bottom: 12px;
font-size: 14px; font-size: 14px;
color: #333; color: #333;
img {
margin-right: 5px; img {
} margin-right: 5px;
}
} }
</style> </style>

@ -487,9 +487,7 @@ export default {
// //
async getChapter () { async getChapter () {
if (this.courseId) { if (this.courseId) {
let res = await this.$get(this.api.curriculumChapter, { const res = await this.$get(this.api.curriculumChapter + '/' + this.courseId)
courseId: this.courseId
})
this.chapterList = res.chapterList; this.chapterList = res.chapterList;
const chapter = this.chapter === undefined ? 0 : +this.chapter const chapter = this.chapter === undefined ? 0 : +this.chapter
const section = this.section === undefined ? 0 : +this.section const section = this.section === undefined ? 0 : +this.section

@ -188,9 +188,10 @@
<el-dialog title="一键批量生成账号" :visible.sync="generateVisible" :close-on-click-modal="false" width="400px"> <el-dialog title="一键批量生成账号" :visible.sync="generateVisible" :close-on-click-modal="false" width="400px">
<el-form ref="generateForm" :model="generateForm" :rules="generateRules" label-width="100px"> <el-form ref="generateForm" :model="generateForm" :rules="generateRules" label-width="100px">
<el-form-item label="所属班级" prop="classId"> <el-form-item label="所属班级" prop="classId">
<el-cascader v-model="generateForm.classId" :options="allClass" :props="classProps" clearable <el-select v-model="generateForm.classId">
style="width: 100%"> <el-option v-for="item in allClass" :key="item.id" :label="item.className" :value="item.id">
</el-cascader> </el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="账号数" prop="numberOfUsers"> <el-form-item label="账号数" prop="numberOfUsers">
<el-input v-model.trim="generateForm.numberOfUsers" placeholder="请输入账号数"></el-input> <el-input v-model.trim="generateForm.numberOfUsers" placeholder="请输入账号数"></el-input>
@ -348,9 +349,9 @@ export default {
numberOfUsers: '', numberOfUsers: '',
}, },
generateRules: { generateRules: {
// classId: [ classId: [
// { required: true, message: '', trigger: 'change' } { required: true, message: '请选择所属班级', trigger: 'change' }
// ], ],
numberOfUsers: [ numberOfUsers: [
{ required: true, message: '请输入账号数', trigger: 'blur' } { required: true, message: '请输入账号数', trigger: 'blur' }
], ],
@ -568,8 +569,8 @@ export default {
}, },
// //
async getClass () { async getClass () {
const res = await this.$post(this.api.treeList) const res = await this.$post(this.api.allClassesInOurSchool)
this.allClass = res.treeList this.allClass = res.data
}, },
getData () { // getData () { //
this.$post(this.api.studentList, { this.$post(this.api.studentList, {
@ -712,12 +713,8 @@ export default {
generateSubmit () { generateSubmit () {
this.$refs.generateForm.validate(async (valid) => { this.$refs.generateForm.validate(async (valid) => {
if (valid) { if (valid) {
const form = _.cloneDeep(this.generateForm)
const { classId } = form
if (classId && classId.length) form.classId = classId[classId.length - 1]
debugger
await this.$post(this.api.generate, { await this.$post(this.api.generate, {
...form, ...this.generateForm,
platformId: Setting.platformId, platformId: Setting.platformId,
type: 1, type: 1,
}) })

@ -6,7 +6,7 @@ const isDev = process.env.NODE_ENV === "development"; // 开发环境
const isHh = url.includes("10.196.131.73"); //河海版本 const isHh = url.includes("10.196.131.73"); //河海版本
const isCH = url.includes("124.71.12.62"); //巢湖版本 const isCH = url.includes("124.71.12.62"); //巢湖版本
const isPro = url.includes("occupationlab.com") || url.includes("izhixinyun.com"); //生产 const isPro = url.includes("occupationlab.com") || url.includes("izhixinyun.com"); //生产
const isTest = url.includes('121.37.12.51'); //中台测试服 const isTest = url.includes('118.31.167.228'); //中台测试服
const isSq = url.includes('10.20.100.204'); // 商丘 const isSq = url.includes('10.20.100.204'); // 商丘
let zcPath = `120.78.139.126:8879` // 众筹 let zcPath = `120.78.139.126:8879` // 众筹
@ -27,10 +27,10 @@ if (isPro) {
jumpPath = `http://${location.hostname}:8087/` jumpPath = `http://${location.hostname}:8087/`
bankPath = `http://${location.hostname}:8093` bankPath = `http://${location.hostname}:8093`
sandPath = `http://${location.hostname}:9520` sandPath = `http://${location.hostname}:9520`
uploadURL = `http://121.37.12.51/` uploadURL = `http://118.31.167.228/`
host = "http://121.37.12.51/"; // 中台测试服 host = "http://118.31.167.228/"; // 中台测试服
host = 'https://www.occupationlab.com/' // 正式服 host = 'https://www.occupationlab.com/' // 正式服
const ips = ['http://192.168.31.217:9000/', 'http://192.168.31.51:9000/', 'http://121.37.12.51/'] const ips = ['http://192.168.31.217:9000/', 'http://192.168.31.51:9000/', 'http://118.31.167.228/']
host = ips[+localStorage.getItem('ip')] host = ips[+localStorage.getItem('ip')]
// host = 'http://192.168.31.217:9000/' // host = 'http://192.168.31.217:9000/'
} else if (isSq) { } else if (isSq) {

Loading…
Cancel
Save