Merge remote-tracking branch 'zcwy/zcwy-teacher-manage' into zcwy-teacher-manage

This commit is contained in:
zhangsir
2024-11-21 16:32:20 +08:00
2 changed files with 308 additions and 318 deletions

View File

@@ -565,6 +565,13 @@ export default {
key: 'teaching',
ellipsis: true, align: "center",
width: 120,
customRender: (value) => {
return (
<div>
{(value.record?.teaching/60).toFixed(2)+'小时' || '-' }
</div>
);
},
},
{
title: '学习总人数',
@@ -812,9 +819,10 @@ export default {
});
}
function managerChange(e, l, d, t, orgName) {
console.log(e, l,);
state.formParam.mobile=l.mobile
state.formParam.teacherId=l.id
// console.log(e, l, d, t, orgName,'e, l, d, t, orgName');
state.formParam.mobile=e?l.mobile:''
state.formParam.teacherId=e?l.id:''
console.log(state.formParam)
// state.searchParam.userNo = d;
// state.searchParam.name = t;
// state.searchParam.trainorgName=orgName

View File

@@ -21,15 +21,8 @@
<a-form-item class="select ">
<div class="select addTimeBox">
<div class="addTime">授课日期</div>
<a-range-picker
v-model:value="searchdate"
style="width: 420px"
format="YYYY-MM-DD"
valueFormat="YYYY-MM-DD"
separator="至"
:placeholder="[' 开始时间', ' 结束时间']"
v-on:keydown.enter="enterPressHadlerSearch"
/>
<a-range-picker v-model:value="searchdate" style="width: 420px" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
separator="至" :placeholder="[' 开始时间', ' 结束时间']" v-on:keydown.enter="enterPressHadlerSearch" />
<!-- @change="searchTimeChange" -->
</div>
</a-form-item>
@@ -54,14 +47,12 @@
<div style="width:100%"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
:options="entryTypeList" allowClear
v-on:keydown.enter="enterPressHadlerSearch">
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" v-model:value="searchParam.courseStatus" placeholder="开课状态"
:options="AuthenticationStatusList" allowClear showSearch
v-on:keydown.enter="enterPressHadlerSearch">
:options="AuthenticationStatusList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
@@ -72,41 +63,32 @@
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
:options="getOrganizationList" allowClear showSearch
v-on:keydown.enter="enterPressHadlerSearch">
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-tree-select style="width: 230px"
:fieldNames="{
<a-tree-select style="width: 230px" :fieldNames="{
children: 'children',
label: 'name',
value: 'code',
}"
allow-clear
:getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
v-model:value="searchParam.courseTypeId"
show-search
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择内容分类"
tree-default-expand-all
:tree-data="sysTypeOptions"
v-on:keydown.enter="enterPressHadlerSearch">
}" allow-clear :getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
v-model:value="searchParam.courseTypeId" show-search
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="请选择内容分类" tree-default-expand-all
:tree-data="sysTypeOptions" v-on:keydown.enter="enterPressHadlerSearch">
</a-tree-select>
</a-form-item>
<div style="width: 100%;"></div>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="min-width: 230px ; height: auto ;margin-bottom:20px" v-model:value="score"
placeholder="请选择评分" :options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange"
<a-select style="min-width: 230px ; height: auto ;margin-bottom:20px" v-model:value="score" placeholder="请选择评分"
:options="scoreList" allowClear showSearch mode="multiple" @change="scoreChange"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
<a-form-item class="select" v-if="moreid == 2">
<a-select style="width: 230px" v-model:value="searchParam.studys" placeholder="授课人数" :options="studysList"
allowClear showSearch
v-on:keydown.enter="enterPressHadlerSearch">
allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
placeholder="授课人数" allowClear showSearch>
@@ -135,14 +117,16 @@
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'teaching'">
<a-space style="display:flex ;justify-content: space-around; ">
<span>{{ (record?.teaching/60).toFixed(2) || '-' }}</span>
<span>{{ (record?.teaching / 60).toFixed(2) +'小时'|| '-' }}</span>
</a-space>
</template>
<template v-if="column.key === 'operation'">
<a-space>
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
<a-button type="link" @click="() => handleModify(record, String(record.courseform))" v-if="record.createFrom == 1 && record.courseStatus == 0 ">编辑 </a-button>
<a-button type="link" v-if="record.createFrom == 1 &&record.isSuperPermission==='true'" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
<a-button type="link" @click="() => handleModify(record, String(record.courseform))"
v-if="record.createFrom == 1 && record.courseStatus == 0">编辑 </a-button>
<a-button type="link" v-if="record.createFrom == 1 && record.isSuperPermission === 'true'"
@click="() => deleteModal(record, String(record.courseform))">删除</a-button>
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
</a-space>
</template>
@@ -165,8 +149,9 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师名称" name="name">
<SearchTeacher @tlevel="tlevelChange" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:id="formParam.teacherId"
v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher>
<SearchTeacher @tlevel="tlevelChange" v-model:value="formParam.name" v-model:lable="formParam.orgNames"
v-model:id="formParam.teacherId" v-model:system="tSystemNames" v-model:level="formParam.tlevelId">
</SearchTeacher>
</a-form-item>
</a-col>
<a-col :span="12">
@@ -187,15 +172,15 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="讲师体系" name="tsystemName">
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
placeholder="自动带出讲师的体系" allowClear showSearch>
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem" placeholder="自动带出讲师的体系" allowClear
showSearch>
</a-input>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="讲师级别" name="tlevelName">
<a-input disabled v-model:value="formParam.tlevelName" class="draitem"
placeholder="自动带出讲师级别" allowClear showSearch>
<a-input disabled v-model:value="formParam.tlevelName" class="draitem" placeholder="自动带出讲师级别" allowClear
showSearch>
</a-input>
</a-form-item>
</a-col>
@@ -204,29 +189,21 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="内容分类" name="courseTypeId">
<a-tree-select
:fieldNames="{
<a-tree-select :fieldNames="{
children: 'children',
label: 'name',
value: 'code',
}"
allow-clear
:getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
v-model:value="formParam.courseTypeId"
show-search
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择内容分类"
tree-default-expand-all
:tree-data="sysTypeOptions"
@change="treetype"
>
}" allow-clear :getPopupContainer="triggerNode => triggerNode.parentNode || document.body"
v-model:value="formParam.courseTypeId" show-search
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="请选择内容分类" tree-default-expand-all
:tree-data="sysTypeOptions" @change="treetype">
</a-tree-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="课程名称:" name="courseName">
<a-input class="draitem" v-model:value="formParam.courseName" placeholder="请输入课程名称" allowClear showSearch :maxlength="20" showCount @blur="sendName"
>
<a-input class="draitem" v-model:value="formParam.courseName" placeholder="请输入课程名称" allowClear showSearch
:maxlength="20" showCount @blur="sendName">
</a-input>
</a-form-item>
</a-col>
@@ -235,17 +212,13 @@
<a-row :gutter="16">
<a-col :span="12">
<a-form-item label="课程归属组织" name="sourceBelongId">
<OrgClass
v-model:value="formParam.sourceBelongId"
v-model:name="formParam.sourceBelongFullName"
></OrgClass>
<OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="授课/课程日期 :" name="teachingDate">
<a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" format="YYYY-MM-DD HH:mm" :show-time="{ format: 'HH:mm' }"
type="datetime"
placeholder="请选择课程日期" />
<a-date-picker class="draitem" v-model:value="teachingDate" style="width:100%" format="YYYY-MM-DD HH:mm"
:show-time="{ format: 'HH:mm' }" type="datetime" placeholder="请选择课程日期" />
</a-form-item>
</a-col>
</a-row>
@@ -262,9 +235,7 @@
<a-col :span="12">
<a-form-item label="授课时长" name="teaching">
<a-input v-model:value="formParam.teaching" style="width:80%; height: 40px; border-radius: 8px ; "
placeholder="0" allowClear showSearch suffix="分钟"
:maxLength="8"
@blur="clearNonNumber">
placeholder="0" allowClear showSearch suffix="分钟" :maxLength="8" @blur="clearNonNumber">
</a-input>
<span style="margin-left: 5px ;" v-if="formParam.teaching != null">{{ (formParam.teaching / 60
).toFixed(2) }}小时</span>
@@ -294,8 +265,7 @@
<a-row :gutter="16">
<a-col :span="24">
<a-form-item label="备注">
<a-textarea v-model:value="formParam.remark" showCount :maxlength="200"
@blur="sendRemark"
<a-textarea v-model:value="formParam.remark" showCount :maxlength="200" @blur="sendRemark"
style="width: 100%; height: 100px; border-radius: 8px" placeholder="请输入" />
</a-form-item>
</a-col>
@@ -331,7 +301,8 @@
}}</a-descriptions-item>
<a-descriptions-item label="录入方式">
{{ formParam.createFrom == 0 ? '系统生成' : formParam.createFrom == 1 ? '手动录入' : '-' }}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : '' }}</a-descriptions-item>
<a-descriptions-item label="课程类型">{{ formParam.type == 1 ? '在线课' : formParam.type == 0 ? '面授课' : ''
}}</a-descriptions-item>
<a-descriptions-item label="课程名称">{{ formParam.courseName }}</a-descriptions-item>
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
? '已开课' : '' }}</a-descriptions-item>
@@ -503,7 +474,8 @@ export default {
},
startTime: null,
searchParam:
{ recordType: 1,
{
recordType: 1,
pageNo: 1,
pageSize: 10,
managerId: null,
@@ -515,7 +487,8 @@ export default {
endTime: null,
beginTime: null,
studys: [],
score: undefined }
score: undefined
}
})
// watch(()=>state.formParam.name,(val)=>{
// state.formParam.teacherName = val?.split('/')[1]
@@ -630,7 +603,8 @@ export default {
state.score = ''
}
}
)}
)
}
else {
scoreList.value.map((item) => {
item.disabled = false
@@ -1272,11 +1246,11 @@ export default {
}
//回车
const enterPressHadlerSearch = e => {
  console.log("e",e);
    if (e.keyCode === 13) {
      searchSubmit()
console.log("e", e);
if (e.keyCode === 13) {
searchSubmit()
    }
}
};
const sendName = () => {
state.formParam.courseName = state.formParam.courseName.replace(/\s/g, '');
@@ -1366,9 +1340,11 @@ const sendName=()=>{
margin-left: 85px !important;
}
}
.addTimeBox .ant-picker {
padding-left: 85px;
}
//导出按钮icon
.daochu {
width: 16px;
@@ -1703,24 +1679,30 @@ const sendName=()=>{
::v-deep .ant-select-multiple .ant-select-selection-item {
height: 34px
}
.tableBox {
padding-bottom: 20px;
margin: 20px 38px 30px;
::v-deep .ant-select-dropdown {
display: inline-block;
}
::v-deep .ant-select-selection-item {
margin-left: 3px;
}
::v-deep .ant-pagination-options-size-changer.ant-select {
width: 84px;
}
.pa {
width: 100%;
display: flex;
justify-content: right;
}
}
.item_inp .i_upload_img[data-v-6b882d01] {
border-radius: 50%
}