diff --git a/src/components/project/BatchLecturer.vue b/src/components/project/BatchLecturer.vue
index 4d43d048..5c4d0702 100644
--- a/src/components/project/BatchLecturer.vue
+++ b/src/components/project/BatchLecturer.vue
@@ -22,9 +22,9 @@
-
+
搜索
重置
@@ -34,7 +34,7 @@
{
watch(()=>props.visible,(val)=>{
if(val){
loading.value = true
+ tableData.value = []
api.getListByStatus().then(res=>{
if(res.data.code == 200 ){
tableData.value = res.data.data
@@ -96,7 +97,6 @@ watch(()=>props.visible,(val)=>{
loading.value = false
}).catch(err=>{
loading.value = false
- tableData.value = []
message.error(err.data.msg)
})
}else{
@@ -110,6 +110,7 @@ const nameUserNo = ref(null)
const dateValue = ref(null)
const searchTrue = ref(false)
const searchList = ref([])
+const timesList = ref([])
const resetData = () => {
nameUserNo.value = null
dateValue.value = null
@@ -120,26 +121,45 @@ const searchData = (val) => {
searchTrue.value = val
if(!nameUserNo.value&&!dateValue.value){
searchList.value = [];
+ timesList.value = tableData.value
return
}
//搜索 数组expenseList.value 参数名字或者工号:nameUserNo.value 日期:dateValue.value
- const filteredList = tableData.value.filter(item => {
- const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ // const filteredList = tableData.value.filter(item => {
+ // const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ // const teachingDateTimestamp = new Date(item.teachingDate).getTime();
+ // if(dateValue.value==null){
+ // return isNameMatch
+ // }
+ // const startDateTimestamp = new Date(dateValue.value[0]).getTime();
+ // const endDateTimestamp = new Date(dateValue.value[1]).getTime();
+ // const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp;
+ // if(nameUserNo.value&&startDateTimestamp&&endDateTimestamp){
+ // return isNameMatch && isDateInRange;
+ // }
+ // return isNameMatch || isDateInRange;
+ // });
+ const timesLists = tableData.value.filter(item => {
const teachingDateTimestamp = new Date(item.teachingDate).getTime();
if(dateValue.value==null){
- return isNameMatch
+ return tableData.value
}
const startDateTimestamp = new Date(dateValue.value[0]).getTime();
const endDateTimestamp = new Date(dateValue.value[1]).getTime();
const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp;
- if(nameUserNo.value&&startDateTimestamp&&endDateTimestamp){
- return isNameMatch && isDateInRange;
- }
- return isNameMatch || isDateInRange;
+ return isDateInRange;
+ });
+ selectedRowKeys.value = selectedRowKeys.value.filter(id =>
+ timesLists.some(item => item.id === id)
+ );
+ const filteredList = timesLists.filter(item => {
+ const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ return isNameMatch
});
searchList.value = filteredList;
+ timesList.value = timesLists
let scrollHeight = null
- filteredList.length && (scrollHeight = tableData.value.findIndex(item => item.id === filteredList[0].id))
+ filteredList.length && (scrollHeight = timesLists.findIndex(item => item.id === filteredList[0].id))
if(scrollHeight||scrollHeight==0){
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:scrollHeight*55,behavior: 'smooth'})
}
diff --git a/src/components/project/ConfirmLecturer.vue b/src/components/project/ConfirmLecturer.vue
index 67b57fd7..69d851d5 100644
--- a/src/components/project/ConfirmLecturer.vue
+++ b/src/components/project/ConfirmLecturer.vue
@@ -25,7 +25,7 @@
{{item?.trainOrgName||'-'}}
-
{{item?.summaryTotal?item?.summaryTotal+'元':'-'}}
+
{{item?.summaryTotal?Number(item?.summaryTotal).toFixed(2)+'元':'-'}}
@@ -46,7 +46,7 @@
{
// numTime.value+=1
// localStorage.setItem('numTime',numTime.value)
const ids = forData.value.flatMap(item => item.expenseList.map(item => item.id));
+ // let ids = []
+ // if(searchTrue.value){
+ // ids = timesList.value.map(item=>item.id)
+ // }else{
+ // ids = expenseList.value.map(item=>item.id)
+ // }
if(!ids.length){
return message.error('暂无可提交的数据')
}
@@ -171,6 +177,7 @@ const forData = ref()
const indexList = ref(0)
const expenseList = ref([])
const searchList = ref([])
+const timesList = ref([])
const clickItem = (item,i) => {
expenseList.value = item.expenseList
indexList.value = i
@@ -182,6 +189,8 @@ const pageHeight = computed(() => {
watch(()=>props.visible,(val)=>{
if(val){
loadingData.value = true
+ forData.value = []
+ expenseList.value = []
// numTime.value = Number(localStorage.getItem('numTime')||0)
api.getListByAffiliation(
{
@@ -200,8 +209,6 @@ watch(()=>props.visible,(val)=>{
}).catch(()=>{
message.error('获取数据失败,请重新尝试')
loadingData.value = false
- forData.value = []
- expenseList.value = []
})
}else{
nameUserNo.value = null
@@ -222,7 +229,8 @@ const removeId = (e,i) =>{
})
})
if(searchTrue.value){
- searchList.value = searchList.value.filter(item=>item.id !== e.id)
+ // searchList.value = searchList.value.filter(item=>item.id !== e.id)
+ timesList.value = timesList.value.filter(item=>item.id !== e.id)
expenseList.value = expenseList.value.filter(item=>item.id !== e.id)
}else{
expenseList.value = expenseList.value.filter(item=>item.id !== e.id)
@@ -250,26 +258,44 @@ const searchData = (val) => {
searchTrue.value = val
if(!nameUserNo.value&&!dateValue.value){
searchList.value = [];
+ timesList.value = expenseList.value
+ forData.value[indexList.value].summaryTotal = expenseList.value.reduce((sum, item) => sum + (Number(item.expense) || 0), 0);
return
}
//搜索 数组expenseList.value 参数名字或者工号:nameUserNo.value 日期:dateValue.value
- const filteredList = expenseList.value.filter(item => {
- const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ // const filteredList = expenseList.value.filter(item => {
+ // const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ // const teachingDateTimestamp = new Date(item.teachingDate).getTime();
+ // if(dateValue.value==null){
+ // return isNameMatch
+ // }
+ // const startDateTimestamp = new Date(dateValue.value[0]).getTime();
+ // const endDateTimestamp = new Date(dateValue.value[1]).getTime();
+ // const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp;
+ // if(nameUserNo.value&&startDateTimestamp&&endDateTimestamp){
+ // return isNameMatch && isDateInRange;
+ // }
+ // return isNameMatch || isDateInRange;
+ // });
+ const timesLists = expenseList.value.filter(item => {
const teachingDateTimestamp = new Date(item.teachingDate).getTime();
if(dateValue.value==null){
- return isNameMatch
+ return expenseList.value
}
const startDateTimestamp = new Date(dateValue.value[0]).getTime();
const endDateTimestamp = new Date(dateValue.value[1]).getTime();
const isDateInRange = teachingDateTimestamp >= startDateTimestamp && teachingDateTimestamp <= endDateTimestamp;
- if(nameUserNo.value&&startDateTimestamp&&endDateTimestamp){
- return isNameMatch && isDateInRange;
- }
- return isNameMatch || isDateInRange;
+ return isDateInRange;
+ });
+ const filteredList = timesLists.filter(item => {
+ const isNameMatch = (item.name + item.userNo).includes(nameUserNo.value);
+ return isNameMatch
});
searchList.value = filteredList;
+ timesList.value = timesLists
+ forData.value[indexList.value].summaryTotal = timesLists.reduce((sum, item) => sum + (Number(item.expense) || 0), 0);
let scrollHeight = null
- filteredList.length && (scrollHeight = expenseList.value.findIndex(item => item.id === filteredList[0].id))
+ filteredList.length && (scrollHeight = timesLists.findIndex(item => item.id === filteredList[0].id))
if(scrollHeight||scrollHeight==0){
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:scrollHeight*55,behavior: 'smooth'})
}
@@ -446,9 +472,16 @@ const columns = [
const closeDrawer = () => emit("update:visible", false);
const qureyDrawer = () => {
const ids = forData.value.flatMap(item => item.expenseList.map(item => item.id));
+ // let ids = []
+ // if(searchTrue.value){
+ // ids = timesList.value.map(item=>item.id)
+ // }else{
+ // ids = expenseList.value.map(item=>item.id)
+ // }
if(!ids.length){
return message.error('暂无可提交的数据')
}
+ console.log(ids,'idssssss')
dialog({
content: '是否确认讲师费信息无误?提交后按“培训发生组织”汇总至审批中心,等待验证后“提交”进入审批流程。',
ok: () => {
@@ -471,6 +504,15 @@ const config = () => {
message.error('暂无可提交的数据')
return
}
+ // let ids = []
+ // if(searchTrue.value){
+ // ids = timesList.value.map(item=>item.id)
+ // }else{
+ // ids = expenseList.value.map(item=>item.id)
+ // }
+ // if(!ids.length){
+ // return message.error('暂无可提交的数据')
+ // }
modalVisible.value = true;
}
@@ -686,11 +728,13 @@ const config = () => {
padding-bottom: 80px;
.top{
display: flex;
+ flex-wrap: wrap;
align-items: center;
- margin-bottom: 20px;
+ // margin-bottom: 20px;
margin-top: 10px;
.item{
margin-right: 20px;
+ margin-bottom: 20px;
}
}
.table{
diff --git a/src/views/lecturer/LecturerAPPEdit.vue b/src/views/lecturer/LecturerAPPEdit.vue
index c2c720a6..d4049f82 100644
--- a/src/views/lecturer/LecturerAPPEdit.vue
+++ b/src/views/lecturer/LecturerAPPEdit.vue
@@ -1,6 +1,8 @@
+ width="60%" :title="false">
+