yujialong 1 month ago
parent 734524aab2
commit a089ad2943
  1. 2
      src/setting.js
  2. 6
      src/views/match/manage/matchArchList.vue
  3. 2
      src/views/match/manage/trialReport.vue
  4. 479
      src/views/setting/info.vue

@ -14,7 +14,7 @@ if (isDev) {
sandPath = `http://${location.hostname}:9520` sandPath = `http://${location.hostname}:9520`
host = 'http://121.37.12.51/' host = 'http://121.37.12.51/'
// host = 'https://huorantech.cn/' // host = 'https://huorantech.cn/'
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/', 'https://dev.huorantech.cn/']
host = ips[+localStorage.getItem('ip')] host = ips[+localStorage.getItem('ip')]
} else if (isPro) { } else if (isPro) {
sandPath = `https://izhixinyun.com/sandbox` sandPath = `https://izhixinyun.com/sandbox`

@ -150,9 +150,11 @@
file.attachmentName }}</li> file.attachmentName }}</li>
</ul> </ul>
</div> </div>
<el-button slot="reference" type="text" @click="showFiles(scope.row)">查看答题文件</el-button> <el-button slot="reference" :disabled="!scope.row.hasFile" type="text"
@click="showFiles(scope.row)">查看答题文件</el-button>
</el-popover> </el-popover>
<el-button style="margin-left: 10px;" type="text" @click="downloadFile(scope.row)">下载答题文件</el-button> <el-button style="margin-left: 10px;" :disabled="!scope.row.hasFile" type="text"
@click="downloadFile(scope.row)">下载答题文件</el-button>
</template> </template>
<el-button v-if="method != 2" type="text" @click="toReport(scope.row)">查看成绩报告</el-button> <el-button v-if="method != 2" type="text" @click="toReport(scope.row)">查看成绩报告</el-button>
<el-button type="text" @click="handleDelete(scope.row)">删除</el-button> <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>

@ -206,7 +206,7 @@ export default {
e.assessmentPoint = '' e.assessmentPoint = ''
e.referenceAnswer = '' e.referenceAnswer = ''
e.answer = '' e.answer = ''
e.lcRuleRecords.map((n, i) => { e.lcRuleRecords && e.lcRuleRecords.map((n, i) => {
e.assessmentPoint += `${i + 1}.${n.name}` e.assessmentPoint += `${i + 1}.${n.name}`
e.referenceAnswer += `${i + 1}.${n.ruleAnswer}` e.referenceAnswer += `${i + 1}.${n.ruleAnswer}`
e.answer += `${i + 1}.${n.userAnswer}` e.answer += `${i + 1}.${n.userAnswer}`

@ -13,7 +13,8 @@
<li> <li>
<label>所在国家</label> <label>所在国家</label>
<el-select size="small" v-model="form.countries"> <el-select size="small" v-model="form.countries">
<el-option v-for="item in countryList" :key="item.value" :label="item.label" :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>
@ -21,7 +22,8 @@
<li> <li>
<label>性别</label> <label>性别</label>
<el-select size="small" v-model="form.sex"> <el-select size="small" v-model="form.sex">
<el-option v-for="item in sexList" :key="item.value" :label="item.name" :value="item.value"></el-option> <el-option v-for="item in sexList" :key="item.value" :label="item.name"
:value="item.value"></el-option>
</el-select> </el-select>
</li> </li>
<li class="selects"> <li class="selects">
@ -29,17 +31,21 @@
<div class="mul"> <div class="mul">
<div class="child"> <div class="child">
<el-select size="small" v-model="form.countries" placeholder> <el-select size="small" v-model="form.countries" placeholder>
<el-option v-for="item in countryList" :key="item.value" :label="item.label" :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" v-model="form.provinceId" placeholder @change="id => getCity(id,1)"> <el-select size="small" v-model="form.provinceId" placeholder @change="id => getCity(id, 1)">
<el-option v-for="item in provinceList" :key="item.provinceId" :label="item.provinceName" :value="item.provinceId"></el-option> <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" v-model="form.cityId" placeholder :disabled="form.provinceId ? false : true"> <el-select size="small" v-model="form.cityId" placeholder
<el-option v-for="item in cityList" :key="item.cityId" :label="item.cityName" :value="item.cityId"></el-option> :disabled="form.provinceId ? false : true">
<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>
@ -48,7 +54,8 @@
<div class="line info"> <div class="line info">
<li> <li>
<label>出生年月</label> <label>出生年月</label>
<el-date-picker size="small" placeholder="请选择时间" v-model="form.dateBirth" :clearable="false" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker> <el-date-picker size="small" placeholder="请选择时间" v-model="form.dateBirth" :clearable="false" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
</li> </li>
<li> <li>
<label>身份证</label> <label>身份证</label>
@ -59,7 +66,8 @@
<li> <li>
<label>教育程度</label> <label>教育程度</label>
<el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度"> <el-select size="small" v-model="form.educationDegree" placeholder="请选择教育程度">
<el-option v-for="(item,index) in educationDegreeList" :key="index" :label="item.name" :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>
</div> </div>
@ -70,47 +78,58 @@
<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" v-for="(archive,index) in archivesList" :key="index" v-show="index == 0 || showArch"> <div class="archives" 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" v-model="archive.personalCareerId" placeholder="选择职业"> <el-select size="small" v-model="archive.personalCareerId" placeholder="选择职业">
<el-option v-for="item in occupationList" :key="item.value" :label="item.label" :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" v-model="form.countries" placeholder> <el-select size="small" v-model="form.countries" placeholder>
<el-option v-for="item in countryList" :key="item.value" :label="item.label" :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" v-model="archive.schoolId" filterable placeholder="选择学校" @change="id => getSchoolName(id,index)"> <el-select size="small" v-model="archive.schoolId" filterable placeholder="选择学校"
<el-option v-for="item in schoolList" :key="item.value" :label="item.schoolName" :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" v-model="archive.disciplineId" placeholder="选择专业学科" @change="id => getItemProfessionalClass(id,index)" @clear="() => clearItemClass(index)"> <el-select size="small" v-model="archive.disciplineId" placeholder="选择专业学科"
<el-option v-for="item in subjectList" :key="item.value" :label="item.disciplineName" :value="item.disciplineId"></el-option> @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>
</el-select> </el-select>
</li> </li>
</div> </div>
<div class="line" style="margin-bottom: 0"> <div class="line" style="margin-bottom: 0">
<li> <li>
<label>专业类</label> <label>专业类</label>
<el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类" :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id,index)" @clear="() => clearItemProfess(index)"> <el-select size="small" v-model="archive.professionalClassId" placeholder="选择专业类"
<el-option v-for="item in archive.ProfessionalClassList" :key="item.professionalClassId" :label="item.professionalClassName" :value="item.professionalClassId"></el-option> :disabled="archive.disciplineId ? false : true" @change="id => getItemProfessional(id, index)"
@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" v-model="archive.professionalId" placeholder="选择专业" :disabled="archive.professionalClassId ? false : true" @change="getItemStuGrade"> <el-select size="small" v-model="archive.professionalId" placeholder="选择专业"
<el-option v-for="item in archive.ProfessionalList" :key="item.professionalId" :label="item.professionalName" :value="item.professionalId"></el-option> :disabled="archive.professionalClassId ? false : true" @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>
@ -118,7 +137,7 @@
<img class="del" src="@/assets/img/trash.png" alt="" v-if="index" @click="delArchive(index)"> <img class="del" src="@/assets/img/trash.png" alt="" v-if="index" @click="delArchive(index)">
</div> </div>
<div class="fold" v-if="archivesList.length > 1"> <div class="fold" 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>
@ -163,7 +182,8 @@
<el-button type="primary" size="small" @click="save">更新</el-button> <el-button type="primary" size="small" @click="save">更新</el-button>
</div> </div>
<el-dialog :title="form.email ? '更换邮箱' : '绑定邮箱'" :visible.sync="emailVisible" :close-on-click-modal="false" @close="closeEmail" width="30%"> <el-dialog :title="form.email ? '更换邮箱' : '绑定邮箱'" :visible.sync="emailVisible" :close-on-click-modal="false"
@close="closeEmail" width="30%">
<el-form ref="form" :model="form" label-width="60px"> <el-form ref="form" :model="form" label-width="60px">
<el-form-item label="邮箱"> <el-form-item label="邮箱">
<el-input style="width: 394px;" placeholder="请输入邮箱" v-model="email"></el-input> <el-input style="width: 394px;" placeholder="请输入邮箱" v-model="email"></el-input>
@ -171,7 +191,8 @@
<el-form-item label="验证码"> <el-form-item label="验证码">
<div class="flex"> <div class="flex">
<el-input v-model="emailCode" placeholder="请输入验证码" maxlength="6"></el-input> <el-input v-model="emailCode" placeholder="请输入验证码" maxlength="6"></el-input>
<el-button style="margin-left: 10px" type="text" @click="sendEmailCode" :disabled="emailDisabled">{{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>
@ -181,7 +202,8 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog :title="form.phone ? '更换手机号' : '绑定手机号'" :visible.sync="phoneVisible" :close-on-click-modal="false" @close="closePhone" width="30%"> <el-dialog :title="form.phone ? '更换手机号' : '绑定手机号'" :visible.sync="phoneVisible" :close-on-click-modal="false"
@close="closePhone" width="30%">
<el-form ref="form" :model="form" label-width="60px"> <el-form ref="form" :model="form" label-width="60px">
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input style="width: 404px;" placeholder="请输入手机号" v-model="phone" maxlength="11"></el-input> <el-input style="width: 404px;" placeholder="请输入手机号" v-model="phone" maxlength="11"></el-input>
@ -189,7 +211,8 @@
<el-form-item label="验证码"> <el-form-item label="验证码">
<div class="flex"> <div class="flex">
<el-input v-model="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input> <el-input v-model="phoneCode" placeholder="请输入验证码" maxlength="6"></el-input>
<el-button style="margin-left: 10px" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{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>
@ -199,16 +222,19 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="更换密码" :visible.sync="passwordVisible" :close-on-click-modal="false" @close="closePassword" width="30%"> <el-dialog title="更换密码" :visible.sync="passwordVisible" :close-on-click-modal="false" @close="closePassword"
width="30%">
<el-form ref="passwordForm" :model="form" label-width="82px"> <el-form ref="passwordForm" :model="form" label-width="82px">
<el-form-item label="原密码"> <el-form-item label="原密码">
<el-input type="password" v-model="passwordForm.password" placeholder="请输入原密码"></el-input> <el-input type="password" 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" v-model="passwordForm.newPassword" placeholder="请输入新密码" @keyup.enter.native="editPassword"></el-input> <el-input type="password" v-model="passwordForm.newPassword" 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" v-model="passwordForm.reNewPassword" placeholder="请确认新密码" @keyup.enter.native="editPassword"></el-input> <el-input type="password" v-model="passwordForm.reNewPassword" placeholder="请确认新密码"
@keyup.enter.native="editPassword"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -232,23 +258,23 @@
</template> </template>
<script> <script>
import { mapState,mapActions } from 'vuex' import { mapState, mapActions } from 'vuex'
import util from '@/libs/util' import util from '@/libs/util'
export default { export default {
data() { data () {
return { return {
loading: false, loading: false,
form: { form: {
name:'', name: '',
workNumber:'', workNumber: '',
password:"", password: "",
phone:'', phone: '',
email:'', email: '',
provinceName:'', provinceName: '',
cityName:'', cityName: '',
schoolName:'', schoolName: '',
professionalName:'', professionalName: '',
experimentName:'', experimentName: '',
sex: 1, sex: 1,
dateBirth: '', dateBirth: '',
educationDegree: '' educationDegree: ''
@ -280,11 +306,11 @@ export default {
occupationList: [{ occupationList: [{
value: 1, value: 1,
label: '学生' label: '学生'
},{ }, {
value: 2, value: 2,
label: '老师' label: '老师'
}], }],
provinceList:[], provinceList: [],
cityList: [], cityList: [],
educationDegreeList: [ educationDegreeList: [
{ {
@ -345,14 +371,14 @@ export default {
watch: { watch: {
// , // ,
form: { form: {
handler(){ handler () {
this.updateTime++ this.updateTime++
if(this.updateTime > 1) this.$emit('updateStatus',this.updateTime > 1) if (this.updateTime > 1) this.$emit('updateStatus', this.updateTime > 1)
}, },
deep:true deep: true
} }
}, },
mounted() { mounted () {
this.getData() this.getData()
this.getProvince() this.getProvince()
this.getSchoolData() this.getSchoolData()
@ -361,9 +387,9 @@ export default {
}, },
methods: { methods: {
...mapActions('user', [ ...mapActions('user', [
'setAvatar','setUserName' 'setAvatar', 'setUserName'
]), ]),
getData() { getData () {
this.loading = true this.loading = true
this.$get(this.api.queryUserInfoDetails).then(({ result }) => { this.$get(this.api.queryUserInfoDetails).then(({ result }) => {
const userInfo = result.hrUserInfo const userInfo = result.hrUserInfo
@ -376,11 +402,11 @@ export default {
this.archivesList = result.personalFileList this.archivesList = result.personalFileList
this.loading = false this.loading = false
this.$nextTick(() => { this.$nextTick(() => {
if(this.form.provinceId){ if (this.form.provinceId) {
this.getCityData(1) this.getCityData(1)
} }
if(this.archivesList.length != 0){ if (this.archivesList.length != 0) {
this.archivesList.forEach((e,k) =>{ this.archivesList.forEach((e, k) => {
this.$set(e, 'subjectList', this.subjectList) this.$set(e, 'subjectList', this.subjectList)
this.$set(e, 'disciplineId', e.disciplineId ? e.disciplineId : '') this.$set(e, 'disciplineId', e.disciplineId ? e.disciplineId : '')
this.$set(e, 'disciplineName', e.disciplineName ? e.disciplineName : '') this.$set(e, 'disciplineName', e.disciplineName ? e.disciplineName : '')
@ -391,69 +417,69 @@ export default {
this.$set(e, 'schoolId', e.schoolId ? e.schoolId : '') this.$set(e, 'schoolId', e.schoolId ? e.schoolId : '')
this.$set(e, 'schoolName', e.schoolName ? e.schoolName : '') this.$set(e, 'schoolName', e.schoolName ? e.schoolName : '')
if(e.disciplineId){ if (e.disciplineId) {
this.$get(this.api.queryCourseProfessionalClass, {disciplineId: e.disciplineId }).then(res => { this.$get(this.api.queryCourseProfessionalClass, { disciplineId: e.disciplineId }).then(res => {
this.$set(e, 'ProfessionalClassList', res.list) this.$set(e, 'ProfessionalClassList', res.list)
}).catch(res => {}) }).catch(res => { })
}else{ } else {
this.$set(e, 'ProfessionalClassList', []) this.$set(e, 'ProfessionalClassList', [])
} }
if(e.professionalClassId){ if (e.professionalClassId) {
this.$get(this.api.queryCourseProfessional,{ professionalClassId: e.professionalClassId }).then(res => { this.$get(this.api.queryCourseProfessional, { professionalClassId: e.professionalClassId }).then(res => {
this.$set(e, 'ProfessionalList', res.list) this.$set(e, 'ProfessionalList', res.list)
}).catch(res => {}) }).catch(res => { })
}else{ } else {
this.$set(e, 'ProfessionalList', []) this.$set(e, 'ProfessionalList', [])
} }
}) })
}else{ } else {
this.concatArch() this.concatArch()
} }
}) })
}).catch(err => {}) }).catch(err => { })
}, },
getProvince(){ getProvince () {
this.$get(this.api.queryProvince).then(res => { this.$get(this.api.queryProvince).then(res => {
this.provinceList = res.list this.provinceList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
getCity(id,type){ getCity (id, type) {
this.form.cityId = 1 this.form.cityId = 1
this.getCityData() this.getCityData()
}, },
getCityData(index){ getCityData (index) {
let provinceId = this.form.provinceId let provinceId = this.form.provinceId
this.$get(this.api.queryCity,{provinceId}).then(res => { this.$get(this.api.queryCity, { provinceId }).then(res => {
this.cityList = res.list this.cityList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
getCityName(id,index){ getCityName (id, index) {
this.archivesList[index].cityName = this.archivesList[index].cityList[id-1].cityName this.archivesList[index].cityName = this.archivesList[index].cityList[id - 1].cityName
}, },
getSchoolName(id,index){ getSchoolName (id, index) {
const school = this.schoolList.find(e => e.schoolId == id) const school = this.schoolList.find(e => e.schoolId == id)
if (school) this.archivesList[index].schoolName = school.schoolName if (school) this.archivesList[index].schoolName = school.schoolName
}, },
getSchoolData(){ getSchoolData () {
this.$get(this.api.querySchoolData,{schoolName: '',provinceId: this.provinceId,cityId: this.cityId}).then(res => { this.$get(this.api.querySchoolData, { schoolName: '', provinceId: this.provinceId, cityId: this.cityId }).then(res => {
this.schoolList = res.list this.schoolList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
accountChange(){ accountChange () {
this.$get(`${this.api.getAccount}?account=${this.form.account}`).then(res => { this.$get(`${this.api.getAccount}?account=${this.form.account}`).then(res => {
if(res.data.userInfo){ if (res.data.userInfo) {
this.accountRepeat = true this.accountRepeat = true
util.warningMsg('该账号已存在') util.warningMsg('该账号已存在')
}else{ } else {
this.accountRepeat = false this.accountRepeat = false
} }
}).catch(res => {}) }).catch(res => { })
}, },
save() { save () {
if (this.form.idNumber && !/(^[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]$)/.test(this.form.idNumber)) return util.warningMsg("请输入正确的身份证号码"); if (this.form.idNumber && !/(^[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]$)/.test(this.form.idNumber)) return util.warningMsg("请输入正确的身份证号码");
let form = this.form; let form = this.form;
let personalFileList = [] let personalFileList = []
this.archivesList.forEach((n,k) => { this.archivesList.forEach((n, k) => {
n.personalCareerId && personalFileList.push({ n.personalCareerId && personalFileList.push({
disciplineId: n.disciplineId, disciplineId: n.disciplineId,
disciplineName: n.disciplineName, disciplineName: n.disciplineName,
@ -492,14 +518,14 @@ export default {
}, },
personalFileList, personalFileList,
} }
this.$post(this.api.updatePersonCenter,data).then(res => { this.$post(this.api.updatePersonCenter, data).then(res => {
this.setUserName(form.userName); this.setUserName(form.userName);
this.$emit('updateStatus',false) this.$emit('updateStatus', false)
this.$message.success('提交成功!') this.$message.success('提交成功!')
}).catch(res => {}) }).catch(res => { })
}, },
concatArch() { concatArch () {
this.archivesList = this.archivesList.concat({ this.archivesList = this.archivesList.concat({
countries: '中国', countries: '中国',
personalCareerId: '', personalCareerId: '',
@ -517,33 +543,33 @@ export default {
personalFileId: '' personalFileId: ''
}) })
}, },
addArch() { addArch () {
let isEmpty = false let isEmpty = false
this.archivesList.forEach((n,k) => { this.archivesList.forEach((n, k) => {
if(!n.personalCareerId) isEmpty = true if (!n.personalCareerId) isEmpty = true
}) })
if(isEmpty) return util.warningMsg('请选择职业') if (isEmpty) return util.warningMsg('请选择职业')
this.showArch = true this.showArch = true
this.concatArch() this.concatArch()
}, },
delArchive(i) { delArchive (i) {
this.$confirm(`此操作不可逆,是否确认删除?`, '提示', { this.$confirm(`此操作不可逆,是否确认删除?`, '提示', {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
const id = this.archivesList[i].personalFileId const id = this.archivesList[i].personalFileId
this.archivesList.splice(i, 1) this.archivesList.splice(i, 1)
id && this.$post(`${this.api.deleteProfile}?personalFileIds=${id}`).then(res => {}).catch(err => {}) id && this.$post(`${this.api.deleteProfile}?personalFileIds=${id}`).then(res => { }).catch(err => { })
}).catch(() => {}) }).catch(() => { })
}, },
bindEmail() { bindEmail () {
this.email = this.form.email this.email = this.form.email
this.emailVisible = true this.emailVisible = true
}, },
bindPhone() { bindPhone () {
this.phoneVisible = true this.phoneVisible = true
}, },
// //
unbind() { unbind () {
this.$confirm('确定要解绑该手机号吗?', '提示', { this.$confirm('确定要解绑该手机号吗?', '提示', {
type: 'warning', type: 'warning',
closeOnClickModal: false closeOnClickModal: false
@ -551,35 +577,35 @@ export default {
this.$get(this.api.unbindMobilePhone).then(res => { this.$get(this.api.unbindMobilePhone).then(res => {
this.$message.success('解绑成功') this.$message.success('解绑成功')
this.getData() this.getData()
}).catch(res => {}) }).catch(res => { })
}).catch(() => {}) }).catch(() => { })
}, },
bindPassword() { bindPassword () {
this.passwordVisible = true this.passwordVisible = true
}, },
editPassword() { editPassword () {
if(!this.passwordForm.password) return util.warningMsg('请输入原密码') if (!this.passwordForm.password) return util.warningMsg('请输入原密码')
if(!this.passwordForm.newPassword) return util.warningMsg('请输入新密码') if (!this.passwordForm.newPassword) return util.warningMsg('请输入新密码')
if(!this.passwordForm.reNewPassword) return util.warningMsg('请确认新密码') if (!this.passwordForm.reNewPassword) return util.warningMsg('请确认新密码')
if(this.passwordForm.newPassword.length < 6 || this.passwordForm.reNewPassword.length < 6) return util.warningMsg('请输入6位数以上的密码') if (this.passwordForm.newPassword.length < 6 || this.passwordForm.reNewPassword.length < 6) return util.warningMsg('请输入6位数以上的密码')
if(this.passwordForm.newPassword !== this.passwordForm.reNewPassword) return util.warningMsg('输入的新密码不一致,请重新确认') if (this.passwordForm.newPassword !== this.passwordForm.reNewPassword) return util.warningMsg('输入的新密码不一致,请重新确认')
if(this.passwordForm.password === this.passwordForm.newPassword) return util.warningMsg('原密码跟新密码不能一致') if (this.passwordForm.password === this.passwordForm.newPassword) return util.warningMsg('原密码跟新密码不能一致')
let data = this.passwordForm let data = this.passwordForm
data.accountId = this.form.id data.accountId = this.form.id
this.$post(this.api.examinePassword,data).then(res => { this.$post(this.api.examinePassword, data).then(res => {
util.successMsg('更换成功') util.successMsg('更换成功')
this.passwordVisible = false this.passwordVisible = false
}).catch(err => {}) }).catch(err => { })
}, },
closePassword() { closePassword () {
this.passwordForm = { this.passwordForm = {
password: '', password: '',
newPassword: '', newPassword: '',
reNewPassword: '' reNewPassword: ''
} }
}, },
foldArch() { foldArch () {
this.showArch = !this.showArch this.showArch = !this.showArch
this.$nextTick(() => { this.$nextTick(() => {
document.body.scrollTop = document.querySelector('.content-box').scrollHeight document.body.scrollTop = document.querySelector('.content-box').scrollHeight
@ -587,116 +613,116 @@ export default {
}) })
}, },
// //
getSubject(){ getSubject () {
this.$get(this.api.queryCourseDiscipline).then(res => { this.$get(this.api.queryCourseDiscipline).then(res => {
this.subjectList = res.list this.subjectList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
// //
clearClass(){ clearClass () {
this.archivesForm.professionalClassId = '', this.archivesForm.professionalClassId = '',
this.archivesForm.professionalId = '' this.archivesForm.professionalId = ''
}, },
// //
getProfessionalClass(val){ getProfessionalClass (val) {
this.clearClass() this.clearClass()
if(val){ if (val) {
let obj = {} let obj = {}
obj = this.subjectList.find((item)=>{ obj = this.subjectList.find((item) => {
return item.disciplineId === val return item.disciplineId === val
}); });
this.archivesForm.disciplineName = obj.disciplineName this.archivesForm.disciplineName = obj.disciplineName
this.getProfessionalClassData(val) this.getProfessionalClassData(val)
} }
}, },
clearItemClass(index){ clearItemClass (index) {
this.archivesList[index].professionalClassId = '' this.archivesList[index].professionalClassId = ''
this.archivesList[index].professionalClassName = '' this.archivesList[index].professionalClassName = ''
this.archivesList[index].professionalId = '' this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = '' this.archivesList[index].professionalName = ''
}, },
getItemProfessionalClass(item,index){ getItemProfessionalClass (item, index) {
this.clearItemClass(index) this.clearItemClass(index)
if(item){ if (item) {
let obj = {} let obj = {}
obj = this.subjectList.find(r =>{ obj = this.subjectList.find(r => {
return r.disciplineId === item return r.disciplineId === item
}); });
this.$get(this.api.queryCourseProfessionalClass, { disciplineId: item }).then(res => { this.$get(this.api.queryCourseProfessionalClass, { disciplineId: item }).then(res => {
this.archivesList.map(e =>{ this.archivesList.map(e => {
if(e.disciplineId == item){ if (e.disciplineId == item) {
e.ProfessionalClassList = res.list e.ProfessionalClassList = res.list
e.disciplineName = obj.disciplineName e.disciplineName = obj.disciplineName
} }
}) })
}).catch(res => {}) }).catch(res => { })
} }
}, },
getProfessionalClassData(value){ getProfessionalClassData (value) {
this.$get(this.api.queryCourseProfessionalClass, { this.$get(this.api.queryCourseProfessionalClass, {
disciplineId: value disciplineId: value
}).then(res => { }).then(res => {
this.ProfessionalClassList = res.list this.ProfessionalClassList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
// //
clearProfess(){ clearProfess () {
this.archivesForm.professionalId = '' this.archivesForm.professionalId = ''
}, },
// //
getProfessional(val){ getProfessional (val) {
this.clearProfess() this.clearProfess()
if(val){ if (val) {
let obj = {} let obj = {}
obj = this.ProfessionalClassList.find((item)=>{ obj = this.ProfessionalClassList.find((item) => {
return item.professionalClassId === val return item.professionalClassId === val
}) })
this.archivesForm.professionalClassName = obj.professionalClassName this.archivesForm.professionalClassName = obj.professionalClassName
this.getProfessionalData(val) this.getProfessionalData(val)
} }
}, },
clearItemProfess(index){ clearItemProfess (index) {
this.archivesList[index].professionalId = '' this.archivesList[index].professionalId = ''
this.archivesList[index].professionalName = '' this.archivesList[index].professionalName = ''
}, },
getItemProfessional(item,index){ getItemProfessional (item, index) {
this.clearItemProfess(index) this.clearItemProfess(index)
if(item){ if (item) {
this.$get(this.api.queryCourseProfessional,{ professionalClassId: item }).then(res => { this.$get(this.api.queryCourseProfessional, { professionalClassId: item }).then(res => {
this.archivesList.map(e =>{ this.archivesList.map(e => {
if(e.professionalClassId == item){ if (e.professionalClassId == item) {
let obj = {} let obj = {}
obj = e.ProfessionalClassList.find(r =>{ obj = e.ProfessionalClassList.find(r => {
return r.professionalClassId === item return r.professionalClassId === item
}) })
e.ProfessionalList = res.list e.ProfessionalList = res.list
e.professionalClassName = obj.professionalClassName e.professionalClassName = obj.professionalClassName
} }
}) })
}).catch(res => {}) }).catch(res => { })
} }
}, },
getProfessionalData(value){ getProfessionalData (value) {
this.$get(this.api.queryCourseProfessional,{professionalClassId: value}).then(res => { this.$get(this.api.queryCourseProfessional, { professionalClassId: value }).then(res => {
this.ProfessionalList = res.list this.ProfessionalList = res.list
}).catch(res => {}) }).catch(res => { })
}, },
// //
getStuGrade(val){ getStuGrade (val) {
if(val){ if (val) {
let obj = {} let obj = {}
obj = this.ProfessionalList.find(r =>{ obj = this.ProfessionalList.find(r => {
return r.professionalId === val; return r.professionalId === val;
}) })
this.archivesForm.professionalName = obj.professionalName this.archivesForm.professionalName = obj.professionalName
} }
}, },
getItemStuGrade(item){ getItemStuGrade (item) {
if(item){ if (item) {
this.archivesList.map(e =>{ this.archivesList.map(e => {
if(e.professionalId == item){ if (e.professionalId == item) {
let obj = {} let obj = {}
obj = e.ProfessionalList.find(r =>{ obj = e.ProfessionalList.find(r => {
return r.professionalId === item; return r.professionalId === item;
}) })
e.professionalName = obj.professionalName e.professionalName = obj.professionalName
@ -704,66 +730,66 @@ export default {
}) })
} }
}, },
emailCountdown(){ emailCountdown () {
let count = 60 let count = 60
if(!this.emailTimer){ if (!this.emailTimer) {
this.emailDisabled = true this.emailDisabled = true
this.emailTimer = setInterval(() => { this.emailTimer = setInterval(() => {
console.log('倒计时中') console.log('倒计时中')
if(count > 0){ if (count > 0) {
count-- count--
this.emailBtnText = `${count}秒后重试` this.emailBtnText = `${count}秒后重试`
}else{ } else {
this.emailDisabled = false this.emailDisabled = false
clearInterval(this.emailTimer) clearInterval(this.emailTimer)
this.emailTimer = null this.emailTimer = null
this.emailBtnText = `发送验证码` this.emailBtnText = `发送验证码`
} }
},1000) }, 1000)
} }
}, },
phoneCountdown(){ phoneCountdown () {
let count = 60 let count = 60
if(!this.phoneTimer){ if (!this.phoneTimer) {
this.phoneDisabled = true this.phoneDisabled = true
this.phoneTimer = setInterval(() => { this.phoneTimer = setInterval(() => {
console.log('倒计时中') console.log('倒计时中')
if(count > 0){ if (count > 0) {
count-- count--
this.phoneBtnText = `${count}秒后重试` this.phoneBtnText = `${count}秒后重试`
}else{ } else {
this.phoneDisabled = false this.phoneDisabled = false
clearInterval(this.phoneTimer) clearInterval(this.phoneTimer)
this.phoneTimer = null this.phoneTimer = null
this.phoneBtnText = `发送验证码` this.phoneBtnText = `发送验证码`
} }
},1000) }, 1000)
} }
}, },
closeEmail(){ closeEmail () {
this.emailCode = '' this.emailCode = ''
}, },
sendEmailCode(){ sendEmailCode () {
if(!this.email) return util.warningMsg('请输入邮箱') if (!this.email) return util.warningMsg('请输入邮箱')
if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') if (!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱')
let data = { let data = {
userId: this.form.userId, userId: this.form.userId,
email: this.email, email: this.email,
types: 1 types: 1
} }
this.$post(this.api.sendPhoneOrEmailCode,data).then(res => { this.$post(this.api.sendPhoneOrEmailCode, data).then(res => {
if(res.message.opener){ if (res.message.opener) {
this.emailCountdown() this.emailCountdown()
this.emailOpener = res.message.opener this.emailOpener = res.message.opener
}else{ } else {
util.errorMsg(res.message) util.errorMsg(res.message)
} }
}).catch(res => {}) }).catch(res => { })
}, },
emailSubmit(){ emailSubmit () {
if(!this.email) return util.warningMsg('请输入邮箱') if (!this.email) return util.warningMsg('请输入邮箱')
if(!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱') if (!/^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/.test(this.email)) return util.warningMsg('请输入正确的邮箱')
if(!this.emailCode) return util.warningMsg('请输入验证码') if (!this.emailCode) return util.warningMsg('请输入验证码')
let data = { let data = {
userId: this.form.userId, userId: this.form.userId,
email: this.email, email: this.email,
@ -771,37 +797,37 @@ export default {
code: this.emailCode, code: this.emailCode,
opener: this.emailOpener opener: this.emailOpener
} }
this.$post(this.api.bindPhoneOrEmail,data).then(res => { this.$post(this.api.bindPhoneOrEmail, data).then(res => {
util.successMsg('绑定成功') util.successMsg('绑定成功')
this.form.email = this.email this.form.email = this.email
this.emailVisible = false this.emailVisible = false
}).catch(res => {}) }).catch(res => { })
}, },
closePhone(){ closePhone () {
this.phoneCode = '' this.phoneCode = ''
}, },
sendPhoneCode(){ sendPhoneCode () {
if(!this.phone) return util.warningMsg('请输入手机号') if (!this.phone) return util.warningMsg('请输入手机号')
if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') if (!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号')
let data = { let data = {
userId: this.form.userId, userId: this.form.userId,
phone: this.phone, phone: this.phone,
types: 2 types: 2
} }
this.$post(this.api.sendPhoneOrEmailCode,data).then(res => { this.$post(this.api.sendPhoneOrEmailCode, data).then(res => {
if(res.message.opener){ if (res.message.opener) {
this.phoneCountdown() this.phoneCountdown()
this.phoneOpener = res.message.opener this.phoneOpener = res.message.opener
}else{ } else {
util.errorMsg(res.message) util.errorMsg(res.message)
} }
}).catch(res => {}) }).catch(res => { })
}, },
phoneSubmit(){ phoneSubmit () {
if(!this.phone) return util.warningMsg('请输入手机号') if (!this.phone) return util.warningMsg('请输入手机号')
if(!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号') if (!/^1[3456789]\d{9}$/.test(this.phone)) return util.warningMsg('请输入正确的手机号')
if(!this.phoneCode) return util.warningMsg('请输入验证码') if (!this.phoneCode) return util.warningMsg('请输入验证码')
let data = { let data = {
userId: this.form.userId, userId: this.form.userId,
phone: this.phone, phone: this.phone,
@ -809,17 +835,17 @@ export default {
code: this.phoneCode, code: this.phoneCode,
opener: this.phoneOpener opener: this.phoneOpener
} }
this.$post(this.api.bindPhoneOrEmail,data).then(res => { this.$post(this.api.bindPhoneOrEmail, data).then(res => {
util.successMsg('绑定成功') util.successMsg('绑定成功')
this.form.phone = this.phone this.form.phone = this.phone
this.phoneVisible = false this.phoneVisible = false
}).catch(res => {}) }).catch(res => { })
}, },
openAccount() { openAccount () {
this.account = this.form.account this.account = this.form.account
this.accountVisible = true this.accountVisible = true
}, },
confirmAccount() { confirmAccount () {
if (this.account) { if (this.account) {
this.form.account = this.account this.form.account = this.account
this.accountVisible = false this.accountVisible = false
@ -835,127 +861,156 @@ export default {
.flex { .flex {
display: flex; display: flex;
} }
.m-r-10 { .m-r-10 {
margin-right: 10px; margin-right: 10px;
} }
.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{
img {
margin-right: 5px; margin-right: 5px;
} }
} }
.scroll{
.scroll {
max-height: calc(100vh - 218px); max-height: calc(100vh - 218px);
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{
.line{ .list {
.line {
display: flex; display: flex;
margin-bottom: 24px; margin-bottom: 24px;
&.info li:not(.selects){
.el-input{ &.info li:not(.selects) {
.el-input {
flex: 1; flex: 1;
} }
} }
&.imp li{
&.imp li {
&:nth-child(odd) { &:nth-child(odd) {
width: 360px; width: 360px;
margin-right: 64px; margin-right: 64px;
} }
} }
} }
.el-input, .el-select{
.el-input,
.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;
text-align: right; text-align: right;
font-size: 14px; font-size: 14px;
color: #4c4c4c; color: #4c4c4c;
} }
.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;
color: #575757; color: #575757;
} }
} }
} }
&: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;
padding: 16px 0; padding: 16px 0;
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;
right: 19px; right: 19px;
cursor: pointer; cursor: pointer;
} }
} }
.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: .5s; transition: .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;
} }
} }

Loading…
Cancel
Save