Commit 8b619127 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius

# Conflicts:
#	src/App.vue
#	src/pages/school/sysuser.vue
parents c7481cb2 bbdefc4d
......@@ -18,10 +18,31 @@ export function queryClassPage(data) {
* @param {JSON参数} data
*/
export function queryClassStatusList() {
return request({
url: '/Class/GetClassStatusList',
method: 'post',
data:""
})
}
\ No newline at end of file
return request({
url: '/Class/GetClassStatusList',
method: 'post',
data: ""
})
}
/**
* 获取班级学员列表
*/
export function queryClassStudent(data) {
return request({
url: '/Class/GetClassStudent',
method: 'post',
data
});
}
/**
* 获取上课计划列表
*/
export function quertClassPlan(data) {
return request({
url: '/Class/GetClassPlan',
method: 'post',
data
});
}
......@@ -457,3 +457,14 @@ export function deleteClassRoomInfo(data) {
data
});
}
/***
* 获取行政备注类型下拉列表
*/
export function queryRemarkTypeList() {
return request({
url: '/User/GetAccountRemarkTypeEnumList',
method: 'post',
data: ""
});
}
......@@ -34,11 +34,10 @@
.classinfo_Dialog .normalInner {
color: #111111;
}
</style>
<template>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeShenheForm">
<q-card style="margin-top:61px;width:800px" class="no-border-radius classinfo_Dialog">
<q-card style="margin-top:61px;width:850px" class="no-border-radius classinfo_Dialog">
<div class="drawerTop">
<div style="display:flex;align-items:center;">
<q-avatar size="md" style="background:#d4dfff;color:#2961FE;font-weight:bold;">
......@@ -72,8 +71,9 @@
<div class="row wrap" style="margin-top:20px;">
<div class="col-6" style="display:flex;align-items:center;">
<span class="normalName">课程进度:</span>
<q-linear-progress rounded size="20px" :value="setingObj.CompleteProgress/100"
style="background-color:#EEEEEF;color:#3FC4FF;display:inline-block;width:44%" />
<q-linear-progress rounded size="20px" :value="getProgress(setingObj.CompleteProgress,100)"
style="background-color:#EEEEEF;color:#3FC4FF;display:inline-block;width:30%;margin-right:10px;" />
{{setingObj.CompleteProgress}}%
</div>
</div>
</div>
......@@ -82,18 +82,26 @@
<q-tab :ripple="false" name="second" label="上课计划" />
<q-tab :ripple="false" name="third" label="上课记录" />
<q-tab :ripple="false" name="fourth" label="班级日志" />
<q-tab :ripple="false" name="fifth" label="待定" />
</q-tabs>
<div v-if="tabCheck=='first'">
<div v-if="tabCheck=='first'" style="margin:0 15px;">
<div style="text-align:right;">
<q-btn outline color="black" label="退课" size="12px" style="margin-right:20px;" />
<q-btn color="primary" class="q-mr-md" size="12px" icon="add" label="邀请新学员" />
</div>
<q-table :pagination="stuMsg" :loading="loading" no-data-label="暂无相关数据" flat selection="multiple"
<q-table :loading="loading" no-data-label="暂无相关数据" flat selection="multiple"
:selected.sync="selected" class="sticky-right-column-table sticky-tow-column-table" separator="none"
title="员工管理" :data="studentList" :columns="columns" row-key="Id">
title="学员信息" :data="studentList" :columns="columns" hide-bottom row-key="Id">
<template v-slot:body-cell-IsRenew="props">
<q-td auto-width :props="props">
<span style="color:red;" v-if="props.row.IsRenew==0"></span>
<span style="color:green;" v-if="props.row.IsRenew==1"></span>
</q-td>
</template>
</q-table>
</div>
<div v-if="tabCheck=='second'">
        <lessForm :seting-obj="setingObj"></lessForm>
      </div>
</q-card>
<div class="dialog-out-close" @click="closeShenheForm"
style="height:40px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;">
......@@ -103,6 +111,10 @@
</template>
<script>
import {
queryClassStudent,
} from '../../api/course/class';
import lessForm from '../course/lesson-form';
export default {
props: {
setingObj: {
......@@ -111,58 +123,58 @@
}
},
components: {
lessForm
},
data() {
return {
persistent: true,
tabCheck: 'first', //默认选第一个
columns: [{
name: 'EmployeeName',
required: true,
name: 'GuestName',
label: '姓名',
field: 'GuestName',
align: 'left',
},
{
name: 'Sex',
name: 'SexStr',
label: '性别',
field: 'Sex',
field: 'SexStr',
align: 'left',
},
{
name: 'age',
name: 'Age',
label: '年龄',
field: 'age',
field: 'Age',
align: 'left',
},
{
name: 'classHour',
name: 'ClassHours',
label: '上课课时',
field: 'classHour',
field: 'ClassHours',
align: 'left',
},
{
name: 'joinTime',
name: 'CreateTimeStr',
label: '加入时间',
field: 'joinTime',
field: 'CreateTimeStr',
align: 'left'
},
{
name: 'Tel',
name: 'Mobile',
label: '联系电话',
align: 'left',
field: 'Tel'
field: 'Mobile'
},
{
name: 'OrderNum',
name: 'OrderId',
label: '关联订单',
field: 'OrderNum',
field: 'OrderId',
align: 'left'
},
{
name: 'courses',
name: 'IsRenew',
label: '续费课程',
field: 'courses',
field: 'IsRenew',
align: 'left'
}
],
......@@ -174,6 +186,9 @@
selected: [], //选中
}
},
created() {
this.getStudentData();
},
mounted() {
console.log("aaa", this.setingObj);
},
......@@ -181,7 +196,24 @@
closeShenheForm() {
this.persistent = false;
this.$emit('close');
}
},
//获取学员信息
getStudentData() {
queryClassStudent({
ClassId: this.setingObj.ClassId
}).then(res => {
if (res.Code == 1) {
this.studentList = res.Data;
}
})
},
//获取进度条
getProgress(num, total) {
if (num == 0 || total == 0){
return 0;
}
return (Math.round(num / total * 100) / 100.00);
},
},
}
......
<style>
.calendar-day {
text-align: center;
color: #202535;
line-height: 30px;
font-size: 12px;
}
.is-selected {
color: #F8A535;
font-size: 10px;
margin-top: 5px;
}
#calendar .el-button-group>.el-button:not(:first-child):not(:last-child):after {
content: '当月';
}
.el-calendar-day {
position: relative;
}
.calendar-day {
position: absolute;
bottom: -5px;
left: 5px;
}
.calenderHeader {
display: flex;
justify-content: space-between;
padding: 0 20px;
}
.calendarTop{
display: flex;
justify-content: space-between;
font-size:12px;
margin-left:-7px;
align-items: center;
transform: scale(0.9);
}
.calendarInner{
font-size:12px;
margin:-4px 0 0 -7px;
transform: scale(0.9);
}
.lesson_Form .el-calendar-table .el-calendar-day{
padding: 5px;
}
.caldendarTeacher{
display: flex;
font-size:12px;
margin-left:40px;
justify-content: space-between;
align-items: center;
margin-top:-2px;
transform: scale(0.9);
}
</style><template>
<div class="lesson_Form">
<div class="calenderHeader">
<div>
<el-radio-group v-model="checkedDays" size="mini">
<el-radio-button label="日"></el-radio-button>
<el-radio-button label="月"></el-radio-button>
<el-radio-button style="margin-left:20px;border-left:1px solid #DCDFE6;" label="今天"></el-radio-button>
</el-radio-group>
</div>
<div>
<q-btn color="primary" class="q-mr-md" icon="add" size="12px" label="新增日程" @click="addTrip()" />
</div>
</div>
<el-calendar v-model="value" id="calendar">
<!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
<template slot="dateCell" slot-scope="{date, data}">
<!--自定义内容-->
<div class="calendar-day">{{ data.day.split('-').slice(2).join('-') }}</div>
<div v-for="item in calendarData">
<!-- <div v-if="(item.months).indexOf(data.day.split('-').slice(1)[0])!=-1">
<div v-if="(item.days).indexOf(data.day.split('-').slice(2).join('-'))!=-1">
<el-tooltip class="item" effect="dark" :content="item.things" placement="right">
<div class="is-selected">{{item.things}}</div>
</el-tooltip>
</div>
<div v-else></div>
</div>
<div v-else></div> -->
<div v-if="item.ClassDateStr==data.day">
<div class="calendarTop">
<div>{{item.RoomName}}</div>
<div><i class="iconfont icon-edit"></i></div>
</div>
<div class="calendarInner">
<div v-for="(subItem,subIndex) in item.TimeList">
{{subIndex+1}}节课 {{subItem.StartTime}}-{{subItem.EndTime}}
</div>
</div>
<div class="caldendarTeacher">
<div>{{item.TeacherName}}</div>
<div>
<q-avatar size="sm" v-if="item.UserIcon">
<img :src="item.UserIcon" />
</q-avatar>
<q-avatar size="md" color="teal-10" text-color="white" v-if="!item.UserIcon">
{{GetFirst(item.TeacherName)}}</q-avatar>
</div>
</div>
</div>
<div v-else></div>
</div>
</template>
</el-calendar>
</div>
</template>
<script>
import {
quertClassPlan,
} from '../../api/course/class';
export default {
props: {
setingObj: {
type: Object,
default: null
}
},
name: "calendar",
data() {
return {
calendarData: [],
value: new Date(),
checkedDays: '月'
}
},
created() {
},
mounted() {
var day2 = new Date();
day2.setTime(day2.getTime());
var s2 = day2.getFullYear()+"-" + (day2.getMonth()+1);
this.getClassPlan(s2);
},
methods: {
//获取第一个字
GetFirst(val) {
if (val) {
return val.substr(0, 1);
}
},
//获取班级上课计划列表
getClassPlan(datetime) {
var msg = {
ClassId: this.setingObj.ClassId,
QMonth: datetime
};
quertClassPlan(msg).then(res => {
console.log("res", res);
if(res.Code==1){
this.calendarData = res.Data;
}
})
}
},
watch: {
'value': {
handler(newValue) {
var d = new Date(newValue);
var datetime=d.getFullYear() + '-' + (d.getMonth() + 1);
this.getClassPlan(datetime);
console.log(datetime,'newwww');
},
deep: true
},
},
}
</script>
<style>
.empInfo_Dialog .drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #F0F5FB;
padding: 5px 10px;
align-items: center;
}
.empInfo_Dialog .classFirst {
color: #000000;
font-weight: bold;
}
.empInfo_Dialog .className {
margin-left: 10px;
}
.empInfo_Dialog .classStatus {
padding: 3px 8px;
background-color: #c8d7fc;
color: #2961FE;
font-size: 12px;
border-radius: 2px;
margin-left: 20px;
}
.empInfo_Dialog .normalName {
color: #999999;
}
.empInfo_Dialog .normalInner {
color: #111111;
}
</style>
<template>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeShenheForm">
<q-card style="margin-top:61px;width:800px" class="no-border-radius empInfo_Dialog">
<div class="drawerTop">
<div style="display:flex;align-items:center;">
<q-avatar size="md" v-if="saveObj.UserIcon">
<img :src="saveObj.UserIcon" />
</q-avatar>
<q-avatar size="md" color="teal-10" text-color="white"
style="background:#d4dfff;color:#2961FE;font-weight:bold;" v-if="!saveObj.UserIcon">
{{saveObj.EmployeeName.substring(0,1)}}</q-avatar>
<div class="className">
<div class="classFirst">{{saveObj.EmployeeName}}</div>
</div>
</div>
</div>
<div style="margin:20px;font-size:12px;">
<div class="row wrap ">
<div class="col-6">
<span class="normalName">公司</span>
<span class="normalInner">{{saveObj.SchoolName}}</span>
</div>
<div class="col-6">
<span class="normalName">部门</span>
<span class="normalInner"> {{saveObj.DeptName}}</span>
</div>
<div class="col-6">
<span class="normalName">岗位</span>
<span class="normalInner">{{saveObj.PostName}}</span>
</div>
<div class="col-6">
<span class="normalName">电话</span>
<span class="normalInner">{{saveObj.EmployeeTel}}</span>
</div>
</div>
</div>
<q-tabs style="margin-bottom:20px;" v-model="tabCheck" narrow-indicator dense align="left" class="text-primary">
<q-tab :ripple="false" name="first" label="行政备注" />
<q-tab :ripple="false" name="second" label="详细资料" />
<q-tab :ripple="false" name="third" label="日志记录" />
<q-tab :ripple="false" name="fourth" label="附件" />
<q-tab :ripple="false" name="fifth" label="财务单据" />
</q-tabs>
<div v-if="tabCheck=='first'" style="margin:0 15px;">
<employeeRemark :saveObj="saveObj"></employeeRemark>
</div>
<div v-if="tabCheck=='second'">
<employeeDetails :saveObj="saveObj"></employeeDetails>
</div>
<div v-if="tabCheck=='third'">
<employeeLog :saveObj="saveObj"></employeeLog>
</div>
<div v-if="tabCheck=='fourth'">
<employeeFile :saveObj="saveObj"></employeeFile>
</div>
<div v-if="tabCheck=='fifth'">
<employeeFinace :saveObj="saveObj"></employeeFinace>
</div>
</q-card>
</q-dialog>
</template>
<script>
import employeeDetails from '../manager/employee_details';
import employeeRemark from '../manager/employee-remark';
import employeeLog from '../manager/employee_log';
import employeeFile from '../manager/employee_file';
import employeeFinace from '../manager/employee_finace';
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
components: {
employeeDetails,
employeeRemark,
employeeLog,
employeeFile,
employeeFinace
},
data() {
return {
persistent: true,
tabCheck: 'first', //默认选第一个
loading: false,
}
},
created() {},
mounted() {
console.log("aaa", this.saveObj);
},
methods: {
closeShenheForm() {
this.persistent = false;
this.$emit('close');
}
},
}
</script>
<template>
<div class="EmployeeRemark">
<q-input filled stack-label maxlength="20" :dense="false" v-model="saveMsg.EmployeeName" ref="EmployeeName"
class="col-6 q-pr-lg q-pb-lg" label="备注信息" :rules="[val => !!val || '请填写备注信息']" />
<q-select filled stack-label option-value="Id" option-label="Name" v-model="objOption.Education"
ref="Education" :options="RemarkTypeList" label="学历" :dense="false" class="col-6 q-pr-lg q-pb-lg" emit-value
map-options />
</div>
</template>
<script>
import {
queryRemarkTypeList
} from '../../../api/school/index'
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
name: "EmployeeRemark",
data() {
return {
saveMsg: {
EmployeeName: "",
},
RemarkTypeList: [], //行政备注类型列表
}
},
created() {
this.getRemarkType();
console.log("aaa", this.saveObj);
},
mounted() {
},
methods: {
//获取行政备注类型列表
getRemarkType() {
queryRemarkTypeList().then(res => {
if (res.Code == 1) {
this.RemarkTypeList = res.Data;
console.log("this.RemarkTypeList", this.RemarkTypeList);
}
});
}
},
}
</script>
<template>
<div class="EmployeeDetails">
详情
</div>
</template>
<script>
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
name: "EmployeeDetails",
data() {
return {
}
},
created() {
},
mounted() {
},
methods: {
},
}
</script>
<template>
<div class="EmployeeFile">
附件
</div>
</template>
<script>
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
name: "EmployeeFile",
data() {
return {
}
},
created() {
},
mounted() {
},
methods: {
},
}
</script>
<template>
<div class="EmployeeFinace">
财务单据
</div>
</template>
<script>
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
name: "EmployeeFinace",
data() {
return {
}
},
created() {
},
mounted() {
},
methods: {
},
}
</script>
<template>
<div class="EmployeeLog">
日志
</div>
</template>
<script>
export default {
props: {
saveObj: {
type: Object,
default: null
}
},
name: "EmployeeLog",
data() {
return {
}
},
created() {
},
mounted() {
},
methods: {
},
}
</script>
......@@ -3,23 +3,23 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @change="getList" clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
@clear="getList" />
<q-input @change="getClassList" clearable standout="bg-primary text-white" v-model="msg.ClassName" label="班级名称"
@clear="getClassList" />
</div>
<div class="col-3">
<q-select @input="getList" standout="bg-primary text-white" option-value="Id" option-label="Name"
<q-select @input="getClassList" standout="bg-primary text-white" option-value="Id" option-label="Name"
v-model="msg.ClassStatus" :options="classStatusList" emit-value map-options label="课程状态" />
</div>
<div class="col-3">
<q-input @change="getList" clearable standout="bg-primary text-white" v-model="msg.TeacherName" label="带班老师"
@clear="getList" />
<q-input @change="getClassList" clearable standout="bg-primary text-white" v-model="msg.TeacherName" label="带班老师"
@clear="getClassList" />
</div>
<div class="col-3">
<q-input @change="getList" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="学习课程"
@clear="getList" />
<q-input @change="getClassList" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="学习课程"
@clear="getClassList" />
</div>
<div class="col-3">
<q-select @input="getList" standout="bg-primary text-white" option-value="SId" option-label="SName"
<q-select @input="getClassList" standout="bg-primary text-white" option-value="SId" option-label="SName"
v-model="msg.School_Id" :options="schoolList" emit-value map-options label="关联校区" />
</div>
</div>
......@@ -56,7 +56,7 @@
<template v-slot:body-cell-CompleteProgress="props">
<q-td auto-width :props="props">
已进行{{props.row.CompleteProgress}}%
<q-linear-progress rounded size="20px" :value="getProgress2(props.row.CompleteProgress,100)" style="background-color:#EEEEEF;color:#3FC4FF"
<q-linear-progress rounded size="20px" :value="getProgress(props.row.CompleteProgress,100)" style="background-color:#EEEEEF;color:#3FC4FF"
class="q-mt-sm" />
</q-td>
</template>
......@@ -162,6 +162,7 @@
msg: {
pageIndex: 1,
pageSize: 12,
rowsPerPage:12,
ClassName: '', //班级名称
ClassStatus: 0, //班级状态
TeacherName: '', //带班老师
......@@ -182,7 +183,7 @@
this.getSchool();
},
mounted() {
this.getList();
this.getClassList();
},
methods: {
//获取校区列表
......@@ -212,16 +213,14 @@
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
this.getClassList()
},
//获取菜单分页列表
getList() {
getClassList() {
this.loading = true;
queryClassPage(this.msg).then(res => {
console.log("res",res)
this.loading = false;
this.data = res.Data.PageData;
console.log("this.data",this.data)
this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false
......@@ -230,7 +229,7 @@
//刷新页面
refreshPage() {
this.isShowClassForm = false;
this.getList();
this.getClassList();
},
//新增修改菜单
EditCourse(obj) {
......@@ -251,14 +250,7 @@
}
},
//获取进度条
getProgress(s1, s2) {
if (s1 && s2 && s2!=0) {
return (s1 / s2).toFixed(2);
}
return 0.00;
},
//获取进度2
getProgress2(num,total) {
getProgress(num, total) {
if (num == 0 || total == 0){
return 0;
}
......
......@@ -18,8 +18,8 @@
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white"
v-model="msg.EmployeeName" label="员工姓名/账号" maxlength="20" />
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.EmployeeName"
label="员工姓名/账号" maxlength="20" />
</div>
<div class="col-3">
<q-select filled stack-label @input="getDepartList(msg.School_Id),resetSearch()" option-value="SId"
......@@ -28,13 +28,11 @@
</div>
<div class="col-3">
<selectTree :treeData='DeptList' :defaultArray="returnString" nodeKey="DeptId" :multiple="false"
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"
></selectTree>
labelKey="DeptName" childrenKey="ChildList" tipText="选择部门" @getChild="getChild"></selectTree>
</div>
<div class="col-3">
<q-select filled stack-label @input="resetSearch" option-value="PostId" option-label="PostName"
v-model="msg.Post_Id" ref="Post_Id" :options="PostList" label="岗位" :dense="false"
emit-value map-options />
v-model="msg.Post_Id" ref="Post_Id" :options="PostList" label="岗位" :dense="false" emit-value map-options />
</div>
<div class="col-3">
<q-select filled @input="resetSearch" stack-label option-value="Id" option-label="Name"
......@@ -57,50 +55,54 @@
  range-separator="至"  start-placeholder="离职开始日期"  end-placeholder="离职结束日期">
</el-date-picker>
 </template>
 </q-field>
 </q-field>
</div>
<div class="col-3 Sysuser_Date">
<q-field filled class="col-6">
  <template v-slot:control>
<el-date-picker v-model="dateListTwo" @change="resetSearch()" format="MM-dd" value-format="yyyy-MM-dd" type="daterange" style="border:none;" 
range-separator="至"  start-placeholder="生日开始时间"  end-placeholder="生日结束时间">
<el-date-picker v-model="dateListTwo" @change="resetSearch()" format="MM-dd"  value-format="yyyy-MM-dd"
 type="daterange"  style="border:none;"   range-separator="至"  start-placeholder="生日开始时间"
 end-placeholder="生日结束时间">
</el-date-picker>  
</template>
</q-field>
</div>
</div>
<div class="page-option">
<q-btn color="accent" class="q-mr-md" icon="add" label="新增员工" @click="EditManager(null)" />
<q-btn-dropdown outline color="dark" label="更多">
<q-list>
<q-item clickable v-close-popup @click="getType(1)">
<q-item-section>
<q-item-label>离职</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="resetPassWord()">
<q-item-section>
<q-item-label>重置密码</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat selection="multiple"
:selected.sync="selected" class="sticky-right-column-table sticky-column-table" separator="none"
:data="data" :columns="columns" row-key="Id">
<template v-slot:top="props">
<div class="col-2 q-table__title">员工管理</div>
<q-space />
<q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增员工" @click="EditManager(null)" />
<q-btn-dropdown outline color="dark" size="sm" label="更多">
<q-list>
<q-item clickable v-close-popup @click="getType(1)">
<q-item-section>
<q-item-label>离职</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="resetPassWord()">
<q-item-section>
<q-item-label>重置密码</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
:selected.sync="selected" class="sticky-right-column-table sticky-tow-column-table" separator="none"
title="员工管理" :data="data" :columns="columns" row-key="Id">
<template v-slot:body-cell-UserIcon="props">
<q-td auto-width :props="props">
<q-avatar size="md" v-if="props.value">
<img :src="props.value" />
</q-avatar>
<q-avatar size="md" color="teal-10" text-color="white" v-if="!props.value">
{{GetFirst(props.row.EmployeeName)}}</q-avatar>
</q-td>
</template>
<template v-slot:body-cell-EmployeeName="props">
<q-td :props="props">
<q-avatar rounded size="sm" v-if="props.row.UserIcon">
<img :src="props.row.UserIcon" />
</q-avatar>
<q-avatar rounded size="sm" color="teal-10" text-color="white" v-if="!props.row.UserIcon">
{{GetFirst(props.row.EmployeeName)}}</q-avatar>
<span class="text-blue cursor-pointer q-ml-sm">{{props.value}}</span>
<div class="text-blue cursor-pointer" style="color:#2961FE;margin-left:10px;cursor:pointer;"
@click="getEmpInfoInfo(props.row)" title="点击查看详情">{{props.value}}</div>
</q-td>
</template>
<template v-slot:body-cell-StuSex="props">
......@@ -135,12 +137,12 @@
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div class="syster_qDropdown">
<div style="min-width:190px;width:100%" class="syster_qDropdown">
<q-btn v-if="props.row.ManagerAccount==''" flat size="xs" icon="iconfont icon-ziyuan" color="warning"
style="font-weight:400" class="q-mr-xs" label="创建账号" @click="createAccount(props.row.MId)" />
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="EditManager(props.row)" />
<q-btn-dropdown flat size="sm" color="dark" label="更多" style="margin-left:10px;">
<q-btn-dropdown outline color="dark" label="更多" style="margin-left:10px;">
<q-list>
<q-item clickable v-close-popup @click="transFerJob(props.row,3)">
<q-item-section>
......@@ -162,6 +164,8 @@
</manager-form>
<employee-set v-if="isShowEmployeeSet" :seting-obj="setObj" @close="closeSetForm" @success="refreshSetPage">
</employee-set>
<employee-info v-if="isShowEmpInfo" :save-obj="managerOption" @close="closeEmpInfoForm" @success="refreshPage">
</employee-info>
</div>
</div>
</template>
......@@ -186,6 +190,7 @@
} from '../../api/system/dept.js'
import managerForm from '../../components/school/manager/manager-form'
import employeeSet from '../../components/school/manager/employee-set'
import employeeInfo from '../../components/school/manager/employee-info'
import selectTree from '../../components/common/select-tree'
export default {
meta: {
......@@ -194,7 +199,8 @@
components: {
managerForm,
selectTree,
employeeSet
employeeSet,
employeeInfo
},
data() {
return {
......@@ -204,7 +210,12 @@
required: true,
label: '',
align: 'left',
},
}, {
name: 'UserIcon',
label: '',
field: 'UserIcon',
align: 'left',
},
{
name: 'EmployeeName',
required: true,
......@@ -280,7 +291,6 @@
],
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 12,
......@@ -315,7 +325,8 @@
setObj: {
type: 0,
selected: []
}
},
isShowEmpInfo: false, //是否显示员工信息
}
},
mounted() {
......@@ -589,7 +600,20 @@
if (val) {
return val.substr(0, 1);
}
}
},
//显示员工信息弹窗
getEmpInfoInfo(obj) {
if (obj) {
this.managerOption = obj;
} else {
this.managerOption = null;
}
this.isShowEmpInfo = true;
},
//关闭员工信息弹窗
closeEmpInfoForm() {
this.isShowEmpInfo = false;
},
},
}
......
......@@ -15,9 +15,9 @@
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" title="岗位信息" :data="data" :columns="columns" row-key="name">
separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">部门信息</div>
<div class="col-2 q-table__title">岗位信息</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" icon="add" label="新增岗位" @click="EditPost(null)" />
......
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