1.翻页管控,未修改不予保存

This commit is contained in:
Ledo 2025-05-07 16:27:09 +08:00
parent 2a236470b6
commit cdb5c5ff64

View File

@ -872,8 +872,67 @@ const open = async (id ,actives,dispatchParamss,ownerId,taskCode) => {
};
const showNext = ref(0)
const showBefore = ref(0)
const judge =(item1,item2)=>{
console.log(item1)
console.log(item2)
if(item1 == null && item2 == null){
return false
}else if(item1 == null && item2 == ''){
return false
}else if(item1 == '' && item2 == ''){
return false
}else if(item1 == '' && item2 == null){
return false
}else if(item1 == item2){
return false
}else{
return true;
}
}
const nextItem = async (type) => {
if(formData.value.dispatchStatus == 1 && !(!formData.value.taskDispatchDetails || formData.value.taskDispatchDetails.length == 0)){
await subFormRef.value.validate()
var hasChange = false;
if(dispatchListTemp.value != null && dispatchListTemp.value.length > 0){
const dispatchListMap = new Map();
dispatchListTemp.value.forEach(item => {
console.log(item)
dispatchListMap.set(item.id, item);
});
//=0>0
for(var i = 0 ; i < formData.value.taskDispatchDetails.length ; i ++){
var item = formData.value.taskDispatchDetails[i];
//idid
if(!item.id){
hasChange = true;
break;
}else{
const matchingItem = dispatchListMap.get(item.id);
if (item.dispatchType !== matchingItem.dispatchType) {
hasChange = true;
break;
} else if (item.dispatchType === 1 && item.ownerId !== matchingItem.ownerId) {
hasChange = true;
break;
} else if (item.dispatchType === 2 && item.postId !== matchingItem.postId) {
hasChange = true;
break;
} else if (judge(item.startTime ,matchingItem.startTime) ||
judge(item.endTime , matchingItem.endTime )||
judge(item.workTime ,matchingItem.workTime) ||
judge(item.amount , matchingItem.amount )||
judge(item.summary, matchingItem.summary )||
judge(item.deviceModel ,matchingItem.deviceModel)) {
hasChange = true;
break;
}
}
}
}else{
hasChange = true;
}
if(hasChange){
ElMessageBox.confirm('单据尚未保存,是否保存?',{
confirmButtonText: '确认',
cancelButtonText: '取消',
@ -902,8 +961,8 @@ const nextItem = async (type) => {
}
}
queryData(tsk_id.value)
fetchAllProcedurePages();
await queryData(tsk_id.value)
await fetchAllProcedurePages();
}catch(error){
console.log(error);
}
@ -932,8 +991,37 @@ const nextItem = async (type) => {
}
}
queryData(tsk_id.value)
fetchAllProcedurePages();
await queryData(tsk_id.value)
await fetchAllProcedurePages();
}catch(error){
console.log(error);
}
}
}else{
dispatchParams.value.pageType = type;
try{
const data = await getTaskDispatchList()
dispatchlist.value = data;
if(dispatchlist.value != null){
tsk_id.value = dispatchlist.value[0].id;
dispatchParams.value.id = tsk_id.value;
if(dispatchlist.value.length == 2){
showBefore.value = 0;
showNext.value = 0;
}else{
if(type == 1){
showNext.value = 0;
showBefore.value = 1;
}else{
showNext.value = 1;
showBefore.value = 0;
}
}
}
await queryData(tsk_id.value)
await fetchAllProcedurePages();
}catch(error){
console.log(error);
}
@ -1092,15 +1180,16 @@ const personList = ref([])
const ownerList1 = ref<OwnerListType[]>([]);
const ownerList2 = ref<OwnerListPostType[]>([]);
const dispatchListTemp = ref([])
const queryData = async (id?: number) => {
resetForm()
//
if (id) {
formLoading.value = true
try {
dispatchListTemp.value = []
formData.value = await TaskDispatchApi.getTaskDispatch(id)
formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchId(
id)
formData.value.taskDispatchDetails = await TaskDispatchApi.getTaskDispatchDetailListByDispatchId(id)
checkList.value = [];
if(formData.value.taskDispatchDetails!=null){
formData.value.taskDispatchDetails.forEach(item=>{
@ -1109,14 +1198,17 @@ const queryData = async (id?: number) => {
checkList.value.push(items.name)
}
})
dispatchListTemp.value.push(JSON.parse(JSON.stringify(item)));
})
}
checkListTemp.value = checkList.value;
if(formData.value.ownerId){
personList.value = await TaskDispatchApi.getOwnerList(formData.value.ownerId,1);
postList.value = await TaskDispatchApi.getOwnerList(formData.value.ownerId,2);
ownerList1.value = await getOwnerListThis ();
ownerList2.value = await getOwnerPostListThis ();
}
formData.value.bomCode = 'BOM-' + formData.value.projectSubCode
if (formData.value.dispatchStatus == 2 ) {
detailDisabled.value = true