dev_202412
yujialong 4 months 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. 362
      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,28 +1,19 @@
<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"
:key="item.value"
:label="item.label"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
@ -30,11 +21,8 @@
<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"
:key="item.value"
:label="item.name"
:value="item.value"></el-option> :value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
@ -42,34 +30,21 @@
<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>
<el-option v-for="item in countryList"
:key="item.value"
:label="item.label"
:value="item.label"></el-option> :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
@change="id => getCity(id,1)">
<el-option v-for="item in provinceList"
:key="item.provinceId"
:label="item.provinceName"
:value="item.provinceId"></el-option> :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"
placeholder
:disabled="form.provinceId ? false : true"> :disabled="form.provinceId ? false : true">
<el-option v-for="item in cityList" <el-option v-for="item in cityList" :key="item.cityId" :label="item.cityName"
:key="item.cityId"
:label="item.cityName"
:value="item.cityId"></el-option> :value="item.cityId"></el-option>
</el-select> </el-select>
</div> </div>
@ -79,79 +54,55 @@
<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="请选择教育程度">
<el-option v-for="(item,index) in educationDegreeList"
:key="index"
:label="item.name"
:value="item.value"></el-option> :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="选择职业">
<el-option v-for="item in occupationList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option> :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>
<el-option v-for="item in countryList"
:key="item.value"
:label="item.label"
:value="item.label"></el-option> :value="item.label"></el-option>
</el-select> </el-select>
</li> </li>
@ -159,72 +110,45 @@
<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"
filterable
placeholder="选择学校"
@change="id => getSchoolName(id, index)"> @change="id => getSchoolName(id, index)">
<el-option v-for="item in schoolList" <el-option v-for="item in schoolList" :key="item.value" :label="item.schoolName"
:key="item.value"
:label="item.schoolName"
:value="item.schoolId"></el-option> :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)"
@clear="() => clearItemClass(index)">
<el-option v-for="item in subjectList"
:key="item.value"
:label="item.disciplineName"
:value="item.disciplineId"></el-option> :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="选择专业类"
:disabled="archive.disciplineId ? false : true"
@change="id => getItemProfessional(id,index)"
@clear="() => clearItemProfess(index)"> @clear="() => clearItemProfess(index)">
<el-option v-for="item in archive.ProfessionalClassList" <el-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId"
:key="item.professionalClassId" :label="item.professionalClassName" :value="item.professionalClassId"></el-option>
: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"
:close-on-click-modal="false"
@close="closePassword"
width="30%"> width="30%">
<el-form ref="passwordForm" <el-form ref="passwordForm" :model="form" label-width="60px">
: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"
placeholder="请输入新密码"
@keyup.enter.native="editPassword"></el-input> @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"
placeholder="请确认新密码"
@keyup.enter.native="editPassword"></el-input> @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>
@ -1173,20 +1019,25 @@ export default {
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 { /deep/.el-input__inner {
border-color: #cacfdb; border-color: #cacfdb;
} }
.list { .list {
.line { .line {
display: flex; display: flex;
margin-bottom: 24px; margin-bottom: 24px;
&.info li:not(.selects) { &.info li:not(.selects) {
.el-input { .el-input {
flex: 1; flex: 1;
} }
} }
&.imp li { &.imp li {
&:nth-child(odd) { &:nth-child(odd) {
width: 360px; width: 360px;
@ -1194,16 +1045,20 @@ export default {
} }
} }
} }
.el-input, .el-input,
.el-select { .el-select {
width: 220px; width: 220px;
.el-input__inner { .el-input__inner {
border-color: #cacfdb; border-color: #cacfdb;
} }
} }
li { li {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
&>label { &>label {
width: 100px; width: 100px;
margin-right: 5px; margin-right: 5px;
@ -1212,23 +1067,29 @@ export default {
color: #4c4c4c; color: #4c4c4c;
white-space: nowrap; white-space: nowrap;
} }
.el-select { .el-select {
flex: 1; flex: 1;
} }
.el-select .el-input.is-disabled .el-input__inner { .el-select .el-input.is-disabled .el-input__inner {
border-color: #ddd; border-color: #ddd;
} }
.val { .val {
margin-right: 15px; margin-right: 15px;
color: #606266; color: #606266;
font-size: 14px; font-size: 14px;
} }
.mul { .mul {
display: inline-flex; display: inline-flex;
.child { .child {
display: inline-flex; display: inline-flex;
width: 132px; width: 132px;
margin-right: 10px; margin-right: 10px;
&>span { &>span {
margin-bottom: 5px; margin-bottom: 5px;
font-size: 14px; font-size: 14px;
@ -1236,12 +1097,14 @@ export default {
} }
} }
} }
&:nth-child(odd) { &:nth-child(odd) {
width: 325px; width: 325px;
margin-right: 100px; margin-right: 100px;
} }
} }
} }
.archives { .archives {
position: relative; position: relative;
width: 862px; width: 862px;
@ -1249,6 +1112,7 @@ export default {
margin-bottom: 6px; margin-bottom: 6px;
border-radius: 4px; border-radius: 4px;
background-color: #fafafa; background-color: #fafafa;
.del { .del {
position: absolute; position: absolute;
top: 80px; top: 80px;
@ -1256,31 +1120,38 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
.arc-action { .arc-action {
width: 862px; width: 862px;
} }
.fold { .fold {
margin-top: 20px; margin-top: 20px;
text-align: center; text-align: center;
font-size: 12px; font-size: 12px;
color: #006eff; color: #006eff;
span { span {
cursor: pointer; cursor: pointer;
i { i {
transition: 0.5s; transition: 0.5s;
} }
&.active i { &.active i {
transform: rotate(180deg); 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 { .el-button {
width: 80px; width: 80px;
} }
@ -1292,6 +1163,7 @@ export default {
margin-bottom: 12px; margin-bottom: 12px;
font-size: 14px; font-size: 14px;
color: #333; color: #333;
img { img {
margin-right: 5px; margin-right: 5px;
} }

@ -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