Commit add352d7 authored by 黄奎's avatar 黄奎

页面修改

parent 6d4b57d3
...@@ -160,6 +160,18 @@ export function deleteAssist(data) { ...@@ -160,6 +160,18 @@ export function deleteAssist(data) {
}) })
} }
/**
* 助教重新申请审核
* @param {AId} data
*/
export function reApplyAssist(data) {
return request({
url: '/user/ReApplyAssist',
method: 'post',
data
})
}
/** /**
* 获取班级分页列表 * 获取班级分页列表
* @param {JSON数据} data * @param {JSON数据} data
......
<template> <template>
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale"> <q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;"> <q-card style="width: 800px;max-width:900px;">
<q-card-section> <q-card-section>
<div class="text-h6">{{objOption.AId==0?'新增助教信息':'修改助教信息'}}</div> <div class="text-h6">{{objOption.AId==0?'新增助教信息':'修改助教信息'}}</div>
...@@ -7,31 +7,47 @@ ...@@ -7,31 +7,47 @@
<q-card-section class="q-pt-none scroll" style="max-height: 70vh"> <q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="text-caption q-mb-md q-px-xs text-grey-6">基本资料</div> <div class="text-caption q-mb-md q-px-xs text-grey-6">基本资料</div>
<div class="row wrap"> <div class="row wrap">
<q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.AssistName" ref="AssistName" class="col-6 q-pr-lg q-pb-lg" label="助教名称" :rules="[val => !!val || '请填写助教姓名']" /> <q-input filled stack-label maxlength="20" :dense="false" v-model="objOption.AssistName" ref="AssistName"
<q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id" ref="School_Id" :options="schoolList" label="所属校区" :dense="false" class="col-6 q-pb-lg" :rules="[val => !!val || '请选择所属校区']" /> class="col-6 q-pr-lg q-pb-lg" label="助教名称" :rules="[val => !!val || '请填写助教姓名']" />
<q-input type="tel" filled stack-label maxlength="100" :dense="false" v-model="objOption.AssistTel" ref="AssistTel" class="col-6 q-pr-lg q-pb-lg" label="联系电话" :rules="[val => !!val || '请填写助教联系电话']" /> <q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id"
<div class="col-6 q-pb-lg upload-assiatant-box"> ref="School_Id" :options="schoolList" label="所属校区" :dense="false" class="col-6 q-pb-lg" emit-value
<q-uploader flat @uploaded="uploadSuccess" hide-upload-btn max-files="1" @rejected="onRejected" label="助教头像" :max-file-size="512*1024" accept=".jpg, image/*" auto-upload :url="action" /> map-options :rules="[val => !!val || '请选择所属校区']" />
<q-input type="tel" filled stack-label maxlength="100" :dense="false" v-model="objOption.AssistTel"
ref="AssistTel" class="col-6 q-pr-lg q-pb-lg" label="联系电话" :rules="[val => !!val || '请填写助教联系电话']" />
<div class="col-6 q-pb-lg">
<q-uploader style="display: inline-block;max-height: 320px;max-width: 100%; background-repeat:no-repeat"
:style="{'background-image':'url(' + objOption.AssistIcon + ')'}" max-files="1" hide-upload-btn
@rejected="onRejected" label="助教头像" :max-file-size="512*1024" accept=".jpg, image/*" auto-upload
:factory="uploadFile" no-thumbnails>
</q-uploader>
</div> </div>
</div> </div>
<div class="text-caption q-my-md q-px-xs text-grey-6">讲师介绍</div> <div class="text-caption q-my-md q-px-xs text-grey-6">讲师介绍</div>
<q-editor :toolbar="toolbar" :fonts="fonts" v-model="objOption.AssistIntro" class="col-12" :definitions="{bold: {label: 'Bold', icon: null, tip: 'My bold tooltip'}}" /> <ext-editor :defaultMsg="objOption.AssistIntro" classStr="col-12" @getEditValue="getEditValue"></ext-editor>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
<q-card-actions align="right" class="bg-white"> <q-card-actions align="right" class="bg-white">
<q-btn label="取消" color="dark" style="font-weight:400 !important" @click="closeSaveForm" /> <q-btn label="取消" color="dark" style="font-weight:400 !important" @click="closeSaveForm" />
<q-btn label="立即提交" color="accent" class="q-px-md" style="font-weight:400 !important" :loading="saveLoading" @click="saveTeacher" /> <q-btn label="立即提交" color="accent" class="q-px-md" style="font-weight:400 !important" :loading="saveLoading"
@click="saveTeacher" />
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
</template> </template>
<script> <script>
import { import {
getSchoolDropdown, getSchoolDropdown,
saveAssist saveAssist
} from '../../../api/school/index' } from '../../../api/school/index'
export default { import {
UploadSelfFile
} from '../../../api/common/common'
import extEditor from '../../common/ext-editor'
export default {
components: {
extEditor,
},
props: { props: {
saveObj: { saveObj: {
type: Object, type: Object,
...@@ -41,126 +57,48 @@ export default { ...@@ -41,126 +57,48 @@ export default {
data() { data() {
return { return {
persistent: true, persistent: true,
objOption: {}, objOption: {
AId: 0,
School_Id: '',
AssistName: "",
AssistTel: '',
AssistIcon: '',
AssistIntro: ''
},
optionTitle: "", optionTitle: "",
schoolList: [], schoolList: [],
saveLoading: false, saveLoading: false,
imgDomain: "http://imgfile.oytour.com",
action: "http://upload.oytour.com/Upload?filePath=" + encodeURIComponent('/assistTel/teacher/'),
toolbar: [],
fonts: {
arial: 'Arial',
arial_black: 'Arial Black',
comic_sans: 'Comic Sans MS',
courier_new: 'Courier New',
impact: 'Impact',
lucida_grande: 'Lucida Grande',
times_new_roman: 'Times New Roman',
verdana: 'Verdana'
}
} }
}, },
created() {
this.getSchool();
},
mounted() { mounted() {
this.getSchool()
this.initObj() this.initObj()
this.initToolBar()
}, },
methods: { methods: {
initToolBar() { //获取编辑器值
this.toolbar = [ getEditValue(obj) {
[{ this.objOption.AssistIntro = obj;
label: '对齐',
icon: this.$q.iconSet.editor.align,
fixedLabel: true,
list: 'only-icons',
options: ['left', 'center', 'right', 'justify']
}],
['bold', 'italic', 'strike', 'underline', 'subscript', 'superscript'],
[{
label: '格式',
icon: this.$q.iconSet.editor.formatting,
list: 'no-icons',
fixedLabel: true,
fixedIcon: true,
options: [
'p',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
'code'
]
},
{
label: '字号',
icon: this.$q.iconSet.editor.fontSize,
fixedLabel: true,
fixedIcon: true,
list: 'no-icons',
options: [
'size-1',
'size-2',
'size-3',
'size-4',
'size-5',
'size-6',
'size-7'
]
},
{
label: '字体',
icon: this.$q.iconSet.editor.font,
fixedLabel: true,
fixedIcon: true,
list: 'no-icons',
options: [
'default_font',
'arial',
'arial_black',
'comic_sans',
'courier_new',
'impact',
'lucida_grande',
'times_new_roman',
'verdana'
]
},
'removeFormat'
],
['ordered', 'outdent', 'indent'],
]
}, },
initObj() { initObj() {
if (this.saveObj) { if (this.saveObj) {
this.optionTitle = "修改助教信息" this.optionTitle = "修改助教信息"
this.objOption = this.saveObj this.objOption.AId = this.saveObj.AId;
this.objOption.School_Id = this.saveObj.School_Id;
this.objOption.AssistName = this.saveObj.AssistName;
this.objOption.AssistTel = this.saveObj.AssistTel;
this.objOption.AssistIcon = this.saveObj.AssistIcon;
this.objOption.AssistIntro = this.saveObj.AssistIntro;
} else { } else {
this.optionTitle = "新增助教" this.optionTitle = "新增助教"
this.objOption = {
AId: 0,
School_Id: '',
AssistName: "",
AssistTel: '',
AssistIcon: '',
AssistIntro: ''
} }
}
},
removeTag(i) {
this.tags.splice(i, 1)
}, },
getSchool() { getSchool() {
getSchoolDropdown({}).then(res => { getSchoolDropdown({}).then(res => {
this.schoolList = res.Data console.log("res.data", res.Data);
if (this.objOption.School_Id != '') { this.schoolList = res.Data;
this.objOption.School_Id = this.schoolList.filter(x => { this.$forceUpdate();
if (this.objOption.School_Id == x.SId) {
return x
}
})[0]
}
}) })
}, },
onRejected(rejectedEntries) { onRejected(rejectedEntries) {
...@@ -170,22 +108,16 @@ export default { ...@@ -170,22 +108,16 @@ export default {
message: `文件验证失败,请重新上传` message: `文件验证失败,请重新上传`
}) })
}, },
uploadSuccess(info) { uploadFile(files) {
if (info.xhr.status == '200') { UploadSelfFile('assistIcon', files[0], res => {
let res = JSON.parse(info.xhr.response) if (res.resultCode == 1) {
this.objOption.AssistIcon = this.imgDomain + res.FilePath this.objOption.AssistIcon = res.FileUrl;
} }
})
}, },
closeSaveForm() { closeSaveForm() {
this.$emit('close') this.$emit('close')
this.persistent = false this.persistent = false
},
createTag() {
if (this.tagText.length > 0) {
this.tags.push(this.tagText)
this.tagText = ''
}
}, },
saveTeacher() { saveTeacher() {
this.saveLoading = true this.saveLoading = true
...@@ -203,8 +135,6 @@ export default { ...@@ -203,8 +135,6 @@ export default {
err_msg = "请上传助教头像" err_msg = "请上传助教头像"
} }
if (err_msg == "") { if (err_msg == "") {
tempSchool = this.objOption.School_Id
this.objOption.School_Id = this.objOption.School_Id.SId
saveAssist(this.objOption).then(res => { saveAssist(this.objOption).then(res => {
this.saveLoading = false this.saveLoading = false
this.$q.notify({ this.$q.notify({
...@@ -218,7 +148,6 @@ export default { ...@@ -218,7 +148,6 @@ export default {
this.closeSaveForm() this.closeSaveForm()
}).catch(() => { }).catch(() => {
this.saveLoading = false this.saveLoading = false
this.objOption.School_Id = tempSchool
}) })
} else { } else {
this.$q.notify({ this.$q.notify({
...@@ -233,23 +162,19 @@ export default { ...@@ -233,23 +162,19 @@ export default {
} }
}, },
}, },
} }
</script> </script>
<style> <style>
.tag-input {
border: 1px solid #777;
outline: none;
width: 140px;
padding: 5px;
border-radius: 4px;
}
.upload-assiatant-box .q-uploader__list {
.upload-assiatant-box .q-uploader__list {
display: none; display: none;
} }
.upload-assiatant-box .q-uploader { .upload-assiatant-box .q-uploader {
width: auto; width: auto;
} }
</style> </style>
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
<q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id" <q-select filled stack-label option-value="SId" option-label="SName" v-model="objOption.School_Id"
ref="School_Id" :options="schoolList" label="所属校区" :dense="false" class="col-6 q-pb-lg" emit-value ref="School_Id" :options="schoolList" label="所属校区" :dense="false" class="col-6 q-pb-lg" emit-value
map-options :rules="[val => !!val || '请选择所属校区']" /> map-options :rules="[val => !!val || '请选择所属校区']" />
<q-input type="tel" filled stack-label maxlength="100" :dense="false" v-model="objOption.TeacherTel" <q-input type="tel" filled stack-label maxlength="100" :dense="false" v-model="objOption.TeacherTel"
ref="TeacherTel" class="col-6 q-pr-lg q-pb-lg" label="联系电话" :rules="[val => !!val || '请填写教师联系电话']" /> ref="TeacherTel" class="col-6 q-pr-lg q-pb-lg" label="联系电话" :rules="[val => !!val || '请填写教师联系电话']" />
<q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.TeacherSay" ref="TeacherSay" <q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.TeacherSay" ref="TeacherSay"
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.AssistName" <q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.AssistName"
label="助教名称" /> label="助教名称" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.AssistTel" <q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.AssistTel"
label="助教电话" /> label="助教电话" />
</div> </div>
<div class="col-3"> <div class="col-3">
...@@ -89,6 +89,8 @@ ...@@ -89,6 +89,8 @@
style="font-weight:400" class="q-mr-xs" label="重置密码" @click="resetPw(props.row.AId)" /> style="font-weight:400" class="q-mr-xs" label="重置密码" @click="resetPw(props.row.AId)" />
<q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-shanchu" color="negative" <q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-shanchu" color="negative"
style="font-weight:400" class="q-mr-xs" label="删除" @click="deleteUser(props.row.AId)" /> style="font-weight:400" class="q-mr-xs" label="删除" @click="deleteUser(props.row.AId)" />
<q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-ziyuan" color="negative"
style="font-weight:400" class="q-mr-xs" label="重新申请" @click="reApplyAssisst(props.row.AId)" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑" <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="addObj(props.row)" /> @click="addObj(props.row)" />
</div> </div>
...@@ -107,7 +109,8 @@ ...@@ -107,7 +109,8 @@
import { import {
getAssistPage, getAssistPage,
getSchoolDropdown, getSchoolDropdown,
deleteAssist deleteAssist,
reApplyAssist
} from '../../api/school/index' } from '../../api/school/index'
import { import {
resetPassword resetPassword
...@@ -207,8 +210,8 @@ ...@@ -207,8 +210,8 @@
], ],
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 1, pageSize: 12,
rowsPerPage: 1, rowsPerPage: 12,
AssistName: "", AssistName: "",
AssistTel: "", AssistTel: "",
AuditStatus: "-1", AuditStatus: "-1",
...@@ -307,6 +310,21 @@ ...@@ -307,6 +310,21 @@
}) })
}); });
}, },
//助教重新申请
reApplyAssisst(id) {
reApplyAssist({
AId: id
}).then(res => {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: '重新申请成功!',
position: 'top'
})
this.getAssistant()
})
},
changePage(val) { changePage(val) {
this.msg.Status = this.StatusTemp ? this.StatusTemp.value : '-1' this.msg.Status = this.StatusTemp ? this.StatusTemp.value : '-1'
this.msg.pageIndex = val; this.msg.pageIndex = val;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.TeacherName" <q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.TeacherName"
label="教师名称" /> label="教师名称" />
</div> </div>
<div class="col-3"> <div class="col-3">
...@@ -104,10 +104,8 @@ ...@@ -104,10 +104,8 @@
style="font-weight:400" class="q-mr-xs" label="重置密码" @click="resetPw(props.row.TId)" /> style="font-weight:400" class="q-mr-xs" label="重置密码" @click="resetPw(props.row.TId)" />
<q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-shanchu" color="negative" <q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-shanchu" color="negative"
style="font-weight:400" class="q-mr-xs" label="删除" @click="deleteUser(props.row.TId)" /> style="font-weight:400" class="q-mr-xs" label="删除" @click="deleteUser(props.row.TId)" />
<q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-ziyuan" color="negative" <q-btn v-if="props.row.AuditStatus==3" flat size="xs" icon="iconfont icon-ziyuan" color="negative"
style="font-weight:400" class="q-mr-xs" label="重新申请" @click="reApplyTeacher(props.row.TId)" /> style="font-weight:400" class="q-mr-xs" label="重新申请" @click="reApplyTeacher(props.row.TId)" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑" <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="addObj(props.row)" /> @click="addObj(props.row)" />
</div> </div>
...@@ -367,7 +365,7 @@ ...@@ -367,7 +365,7 @@
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
color: 'accent', color: 'accent',
timeout: 2000, timeout: 2000,
message: '数据删除成功!', message: '重新申请成功!',
position: 'top' position: 'top'
}) })
this.getTeacher() this.getTeacher()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment