SZX-1091 优化讲师份部份页面

This commit is contained in:
sunhonglai
2025-04-28 11:39:30 +08:00
parent 93ba27d1fe
commit 7551d8ad6d
2 changed files with 60 additions and 23 deletions

View File

@@ -5,8 +5,20 @@
<div class="filter">
<a-form layout="inline" style="min-width: 1380px;">
<a-form-item class="select">
<a-select style="width: 235px" v-model:value="searchParam.trainOrgId" placeholder="培训发生组织" allowClear
:options="trainOrglist" v-on:keydown.enter="enterPressHadlerSearch">
<a-select
v-model:value="searchParam.trainOrgId"
style="width: 235px"
allowClear
showSearch
:filter-option="false"
@change="handleOrgChange"
@search="handleOrgSearch"
placeholder="请选择培训发生组织"
v-on:keydown.enter="enterPressHadlerSearch">
>
<a-select-option v-for="item in filterOrgListSearch" :key="item.value" :value="item.value">
{{ item.label }}
</a-select-option>
</a-select>
</a-form-item>
<a-form-item class="select ">
@@ -342,6 +354,8 @@ export default {
beginTime: null,
endTime: null,
},
filterOrgListSearch: [],
orgListSearch: [],
})
//费用类型
const courseTypeList = ref([
@@ -380,25 +394,45 @@ export default {
}
queryTrainOrgPor(obj).then((res) => {
if (res.data.code === 200) {
let arr = res.data.data;
let array = [];
arr.map((value) => {
let obj = {
value: value.id,
label: value.affiliationName,
};
array.push(obj);
});
trainOrglist.value = array;
trainOrglist.value.unshift({
value: '',
label: "全部"
state.orgList = res.data.data?.map(item => {
return {
label: item.affiliationName,
value: item.id
}
})
state.orgListSearch = res.data.data?.map(item => {
state.orgInput = item.affiliationName;
return {
label: item.affiliationName,
value: item.id
}
})
state.orgListSearch.unshift({
label: '全部', value: ''
})
state.filterOrgListSearch = state.orgListSearch
}
})
}
trainOrglista()
const handleOrgSearch = (value) => {
console.log("handleOrgSearch value ",value)
console.log("handleOrgSearch state.orgListSearch ",JSON.parse(JSON.stringify(state.orgListSearch)))
//克隆数据
let temp = JSON.parse(JSON.stringify(state.orgListSearch));
//选择数据
state.filterOrgListSearch = temp.filter(item => item.label.includes(value))
}
const handleOrgChange = (value) => {
if(value == undefined || value == null){
state.filterOrgListSearch = state.orgListSearch;
}
}
//课程类型
const OnTheJobStatusList = ref([
{ value: 1, label: "项目开课" },
@@ -1119,6 +1153,8 @@ export default {
managerChange,
trainOrglist,
trainOrglista,
handleOrgSearch,
handleOrgChange,
handlemoreid,
handleExport,
lecturerSystemList,

View File

@@ -32,6 +32,7 @@
@change="handleOrgChange"
@search="handleOrgSearch"
placeholder="请选择培训发生组织"
v-on:keydown.enter="enterPressHadlerSearch">
>
<a-select-option v-for="item in filterOrgListSearch" :key="item.value" :value="item.value">
{{ item.label }}
@@ -138,7 +139,7 @@
<!-- <a-button :disabled="record.status==='A20' || record.status==='A30'||record.status==='S20' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">提交</a-button> -->
<!-- <a-button type="link" @click="handleOperate(record)">撤回</a-button> -->
<a-button type="link"
v-if="(record.status == 0 || record.status == 4 || record.status == 5) && checkMenu('lecturerExpenseDel')"
v-if="(record.status == 0 || record.status == 4 || record.status == 5 || record.createFrom!=0) && checkMenu('lecturerExpenseDel')"
@click="deleteModal(record)">删除</a-button>
</a-space>
</template>
@@ -327,11 +328,11 @@
<template v-slot:label>
<img style="margin-right:4px;width: 7px;height: 7px"
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
{{ formParam.courseType == 2 ? '课程' : '授课' }}日期 :
{{ formParam.courseType == 2 ? '课程' : '授课/开发' }}日期 :
</template>
<a-date-picker :disabled="formParam.createFrom == 0" :locale="locale" class="draitem"
v-model:value="teachingDate" style="width:100%" :show-time="{ format: 'HH:mm' }"
format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm" placeholder="请选择课程日期"
format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm" placeholder="formParam.courseType == 2 ? '请选择课程日期' : '请选择授课/开发日期'"
@select="handleSelect" />
</a-form-item>
</a-col>
@@ -343,10 +344,10 @@
<template v-slot:label>
<img style="margin-right:4px;width: 7px;height: 7px"
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
{{ formParam.courseType == 2 ? '课程时长' : '授课时长' }}
{{ formParam.courseType == 2 ? '课程时长' : '授课/开发时长' }}
</template>
<a-input v-model:value="formParam.teachingTime" style="width:100%; height: 40px; border-radius: 8px; "
@change="clearNonNumber" placeholder="请输入授课分钟数" allowClear showSearch suffix="分钟">
<a-input :disabled="formParam.createFrom === 0" v-model:value="formParam.teachingTime" style="width:100%; height: 40px; border-radius: 8px; "
@change="clearNonNumber" placeholder="formParam.courseType == 2 ? '请输入课程时长分钟数' : '请输入授课/开发分钟数'" allowClear showSearch suffix="分钟">
</a-input>
<!-- <span style="margin-left: 5px ;" v-if="formParam.teachingTime != null">{{
(formParam.teachingTime / 60).toFixed(2) }}小时</span>
@@ -785,7 +786,6 @@ export default {
// { value: 0, label: "未定级" },
])
const changetlevel = (id) => {
console.log("==============changetlevelId", id);
if(id){
// 清空讲师级别
state.searchParam.tLevelName = null;
@@ -1617,7 +1617,7 @@ export default {
courseType: [{ required: true, message: '', log: '费用类型不能为空' }],
courseName: [{ required: true, message: '', log: '课程名称不能为空' }],
trainOrgId: [{ required: true, message: '', log: '培训发生组织不能为空' }],
teachingDate: [{ required: true, message: '', log: '授课日期不能为空' }],
teachingDate: [{ required: true, message: '', log: '授课/开发日期不能为空' }],
teachingTime: [{ required: true, message: '', log: ' 授课时长不能为空' }],
studys: [{ required: true, message: '', log: ' 参训人数不能为空' }],
// score: [{ required: true, message: '', log: ' 评分不能为空' }],
@@ -1629,6 +1629,7 @@ export default {
//TODO4 筛查
const handleOrgSearch = (value) => {
console.log("handleOrgSearch value ",value)
console.log("handleOrgSearch state.orgListSearch ",JSON.parse(JSON.stringify(state.orgListSearch)))
//克隆数据
let temp = JSON.parse(JSON.stringify(state.orgListSearch));
//选择数据