mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 19:06:45 +08:00
Merge branch '250427-bugfix-shl' into 250507-bugfix-shl
# Conflicts: # src/views/lecturer/InsideLecturer.vue # src/views/lecturer/LecturerFee.vue
This commit is contained in:
@@ -27,8 +27,8 @@
|
||||
<a-form-item class="select ">
|
||||
<!-- <div class="select addTimeBox">
|
||||
<div class="addTime">授课日期:</div> -->
|
||||
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||
separator="至" :placeholder="['授课日期开始时间', '授课日期结束时间']
|
||||
<a-range-picker v-model:value="searchdate" style="width: 380px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||
separator="至" :placeholder="['授课/开发日期开始时间', '授课/开发日期结束时间']
|
||||
"
|
||||
v-on:keydown.enter="enterPressHadlerSearch" />
|
||||
<!-- </div> -->
|
||||
@@ -106,7 +106,7 @@
|
||||
<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&&checkMenu('lecturerRecordsEdit')">编辑</a-button>
|
||||
<a-button v-if="record.isSuperPermission==='true'&&checkMenu('lecturerRecordsDel')" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
||||
<a-button v-if="record.createFrom == 1 && (record.isSuperPermission==='true' || checkMenu('lecturerRecordsDel'))" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
||||
</a-space>
|
||||
</template>
|
||||
</template>
|
||||
@@ -709,25 +709,25 @@ export default {
|
||||
)
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '数据来源',
|
||||
dataIndex: 'createFrom',
|
||||
key: 'createFrom',
|
||||
ellipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>
|
||||
{value.record.createFrom == "0" || value.record.createFrom == "1"
|
||||
? {
|
||||
"0": "系统生成",
|
||||
"1": "手动录入",
|
||||
}[value.record.createFrom + ""] || ""
|
||||
: "-"}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
// {
|
||||
// title: '数据来源',
|
||||
// dataIndex: 'createFrom',
|
||||
// key: 'createFrom',
|
||||
// ellipsis: true, align: "center",
|
||||
// width: 120,
|
||||
// customRender: (value) => {
|
||||
// return (
|
||||
// <div>
|
||||
// {value.record.createFrom == "0" || value.record.createFrom == "1"
|
||||
// ? {
|
||||
// "0": "系统生成",
|
||||
// "1": "手动录入",
|
||||
// }[value.record.createFrom + ""] || ""
|
||||
// : "-"}
|
||||
// </div>
|
||||
// )
|
||||
// }
|
||||
// },
|
||||
{
|
||||
title: '操作 ',
|
||||
dataIndex: 'operation',
|
||||
|
||||
@@ -1389,6 +1389,14 @@ export default {
|
||||
return roleCode.some(t => t == admin)
|
||||
}
|
||||
}
|
||||
const orgSplit = (val) => {
|
||||
if (val) {
|
||||
const org = val.split('/');
|
||||
const reversedParts = org.reverse();
|
||||
return reversedParts.join('/');
|
||||
}
|
||||
return '';
|
||||
}
|
||||
return {
|
||||
...toRefs(state),
|
||||
lecturerAdmin,
|
||||
@@ -1455,6 +1463,7 @@ export default {
|
||||
createupdialog,
|
||||
removeList,
|
||||
checkMenu,
|
||||
orgSplit,
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
<a-form-item class="select ">
|
||||
<!-- <div class="select addTimeBox"> -->
|
||||
<!-- <div class="addTime">授课日期</div> -->
|
||||
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||
separator="至" :placeholder="['授课日期开始时间', '授课日期结束时间']" v-on:keydown.enter="enterPressHadlerSearch" />
|
||||
<a-range-picker v-model:value="searchdate" style="width: 380px !important;" format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||
separator="至" :placeholder="['授课/开发日期开始时间', '授课/开发日期结束时间']" v-on:keydown.enter="enterPressHadlerSearch" />
|
||||
<!-- @change="searchTimeChange" -->
|
||||
<!-- </div> -->
|
||||
</a-form-item>
|
||||
@@ -141,7 +141,7 @@
|
||||
<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&&checkMenu('lecturerRecordsEdit')">编辑 </a-button>
|
||||
<a-button type="link" v-if="record.createFrom == 1 && record.isSuperPermission === 'true'&&checkMenu('lecturerRecordsDel')"
|
||||
<a-button type="link" v-if="record.createFrom == 1 && (record.isSuperPermission === 'true' || checkMenu('lecturerRecordsDel'))"
|
||||
@click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
||||
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
|
||||
</a-space>
|
||||
@@ -299,8 +299,8 @@
|
||||
allowClear
|
||||
showSearch
|
||||
:filter-option="false"
|
||||
:options="filterOrgListSearch"
|
||||
@search="handleOrgSearch"
|
||||
:options="filterOrgListSearch2"
|
||||
@search="handleOrgSearch2"
|
||||
@change="changeOrg">
|
||||
</a-select>
|
||||
<!-- <OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass> -->
|
||||
@@ -578,6 +578,7 @@ export default {
|
||||
const state = reactive({
|
||||
orgListSearch: [],
|
||||
filterOrgListSearch: [],
|
||||
filterOrgListSearch2: [],
|
||||
moreid: 1,
|
||||
title: '导入内部授课记录',
|
||||
vf: false,
|
||||
@@ -935,10 +936,11 @@ export default {
|
||||
key: 'trainOrgName',
|
||||
ellipsis: true, align: "left",
|
||||
width: 200,
|
||||
customRender: (value, record) => {
|
||||
customRender: (value) => {
|
||||
const orgName = value.record.trainOrgName ? value.record.trainOrgName.split('/').reverse().join('/') : '-';
|
||||
return (
|
||||
<div>
|
||||
{value.record.trainOrgName||'-'}
|
||||
{orgName}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -996,10 +998,14 @@ export default {
|
||||
value: item.id
|
||||
}
|
||||
})
|
||||
|
||||
state.orgListSearch.unshift({
|
||||
label: '全部', value: ''
|
||||
})
|
||||
state.filterOrgListSearch = state.orgListSearch;
|
||||
|
||||
// 移除filterOrgListSearch2头部的全部选项
|
||||
state.filterOrgListSearch2 = state.orgListSearch.filter(item => item.value !== ''); // 移除“全部”选项
|
||||
})
|
||||
}
|
||||
//TODO5
|
||||
@@ -1525,7 +1531,11 @@ export default {
|
||||
state.filterOrgListSearch = temp.filter(item => item.label.includes(value))
|
||||
}
|
||||
|
||||
|
||||
const handleOrgSearch2 = (value) => {
|
||||
let temp = JSON.parse(JSON.stringify(state.orgListSearch.filter(item => item.value !== '')));
|
||||
//选择数据
|
||||
state.filterOrgListSearch2 = temp.filter(item => item.label.includes(value))
|
||||
}
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
@@ -1587,7 +1597,8 @@ export default {
|
||||
scoreChange,
|
||||
locale,
|
||||
checkMenu,
|
||||
handleOrgSearch
|
||||
handleOrgSearch,
|
||||
handleOrgSearch2
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
@@ -316,8 +317,9 @@
|
||||
placeholder="请选择培训发生组织"
|
||||
allowClear
|
||||
showSearch
|
||||
:options="filterOrgListSearch"
|
||||
@search="handleOrgSearch"
|
||||
:filter-option="false"
|
||||
:options="filterOrgListSearch2"
|
||||
@search="handleOrgSearch2"
|
||||
@change="changeOrg">
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
@@ -327,11 +329,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 +345,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>
|
||||
@@ -619,6 +621,7 @@ export default {
|
||||
SeeLoading: false,
|
||||
orgList: [],
|
||||
filterOrgListSearch: [],
|
||||
filterOrgListSearch2: [],
|
||||
orgListSearch: [],
|
||||
selectsIds: '',
|
||||
visibleConfirm: false,
|
||||
@@ -721,6 +724,8 @@ export default {
|
||||
|
||||
state.filterOrgListSearch = state.orgListSearch
|
||||
|
||||
// 移除filterOrgListSearch2头部的全部选项
|
||||
state.filterOrgListSearch2 = state.orgListSearch.filter(item => item.value !== ''); // 移除“全部”选项
|
||||
})
|
||||
}
|
||||
//费用类型
|
||||
@@ -785,7 +790,6 @@ export default {
|
||||
// { value: 0, label: "未定级" },
|
||||
])
|
||||
const changetlevel = (id) => {
|
||||
console.log("==============changetlevelId", id);
|
||||
if(id){
|
||||
// 清空讲师级别
|
||||
state.searchParam.tLevelName = null;
|
||||
@@ -1449,10 +1453,17 @@ export default {
|
||||
}
|
||||
}
|
||||
const orgSplit = (val) => {
|
||||
// if (val) {
|
||||
// const org = val.split('/')
|
||||
// return org[org.length - 1]
|
||||
// }
|
||||
|
||||
if (val) {
|
||||
const org = val.split('/')
|
||||
return org[org.length - 1]
|
||||
const org = val.split('/');
|
||||
const reversedParts = org.reverse(); // 倒排
|
||||
return reversedParts.join('/'); // 重新拼接
|
||||
}
|
||||
return ''; // 如果 val 为空,返回空字符串
|
||||
}
|
||||
//表格内查看数据操作
|
||||
const handleLook = (record) => {
|
||||
@@ -1618,8 +1629,22 @@ export default {
|
||||
courseType: [{ required: true, message: '', log: '费用类型不能为空' }],
|
||||
courseName: [{ required: true, message: '', log: '课程名称不能为空' }],
|
||||
trainOrgId: [{ required: true, message: '', log: '培训发生组织不能为空' }],
|
||||
teachingDate: [{ required: true, message: '', log: '授课日期不能为空' }],
|
||||
teachingTime: [{ required: true, message: '', log: ' 授课时长不能为空' }],
|
||||
// teachingDate: [{ required: true, message: '', log: '授课日期不能为空' }],
|
||||
// teachingTime: [{ required: true, message: '', log: ' 授课时长不能为空' }],
|
||||
teachingDate: [
|
||||
{
|
||||
required: true,
|
||||
message: '',
|
||||
log: () => state.formParam.courseType == 2 ? '课程日期不能为空' : '授课/开发日期不能为空'
|
||||
}
|
||||
],
|
||||
teachingTime: [
|
||||
{
|
||||
required: true,
|
||||
message: '',
|
||||
log: () => state.formParam.courseType == 2 ? '课程时长不能为空' : '授课/开发时长不能为空'
|
||||
}
|
||||
],
|
||||
studys: [{ required: true, message: '', log: ' 参训人数不能为空' }],
|
||||
// score: [{ required: true, message: '', log: ' 评分不能为空' }],
|
||||
levelPay: [{ required: true, message: '', log: '课酬基准不能为空' }],
|
||||
@@ -1630,11 +1655,18 @@ 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));
|
||||
//选择数据
|
||||
state.filterOrgListSearch = temp.filter(item => item.label.includes(value))
|
||||
}
|
||||
|
||||
const handleOrgSearch2 = (value) => {
|
||||
//克隆数据
|
||||
let temp = JSON.parse(JSON.stringify(state.orgListSearch.filter(item => item.value !== '')));
|
||||
//选择数据
|
||||
state.filterOrgListSearch2 = temp.filter(item => item.label.includes(value))
|
||||
}
|
||||
|
||||
const handleOrgChange = (value) => {
|
||||
@@ -1974,6 +2006,7 @@ export default {
|
||||
getListData,
|
||||
changetlevel,
|
||||
handleOrgSearch,
|
||||
handleOrgSearch2,
|
||||
handleOrgChange,
|
||||
canceleditTeacherDialog,
|
||||
allFee,
|
||||
|
||||
@@ -416,6 +416,11 @@ export default{
|
||||
key: 'updateName',
|
||||
ellipsis: true, align: "center",
|
||||
width: 120,
|
||||
customRender: (value) => {
|
||||
return (
|
||||
<div>{value.record.updateName || '-'}</div>
|
||||
)
|
||||
}
|
||||
},
|
||||
])
|
||||
//晋级记录列表数据
|
||||
|
||||
Reference in New Issue
Block a user