From 65f86f41dedbbbb7030e2f37ce3e001bbca4923a Mon Sep 17 00:00:00 2001 From: chengxiangling <291105840@qq.com> Date: 星期四, 15 五月 2025 13:03:25 +0800 Subject: [PATCH] 查询日历带适用工厂 --- src/views/basicData/calendar/index.vue | 279 ++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 204 insertions(+), 75 deletions(-) diff --git a/src/views/basicData/calendar/index.vue b/src/views/basicData/calendar/index.vue index 6f72c18..9a6fd7e 100644 --- a/src/views/basicData/calendar/index.vue +++ b/src/views/basicData/calendar/index.vue @@ -26,7 +26,7 @@ <el-select style="width: 140px" clearable - v-model="queryParams.plant" + v-model="queryParams.applicableFactory" placeholder="閫傜敤宸ュ巶" > <el-option @@ -261,7 +261,10 @@ prop="applicableFactory" class="factory_use_item" > --> - <div class="select_factory select_factory_dis">閫傜敤宸ュ巶/杞﹂棿/宸ュ簭</div> + <div class="select_factory select_factory_dis"> + <span class="error_require">*</span> + <span>閫傜敤宸ュ巶/杞﹂棿/宸ュ簭</span> + </div> <!-- <el-row :gutter="20" class="select_factory"> --> <div class="select_factory_dis" @@ -390,11 +393,16 @@ <div>閫傜敤宸ュ巶锛� </div> <div class="flex_item_dis"> <div + class="flex_item" v-for="(item, index) in form.applicableTranslate" :key="index" > - {{ item.factory }} - {{ item.workshop }} - - {{ item.process }} + {{ item }} + <div v-if="item[0].factory">{{ item[0].factory }}</div> + <div v-if="item[2].workshop">-</div> + <div v-if="item[2].workshop">{{ item[2].workshop }}</div> + <div v-if="item[1].process">-</div> + <div v-if="item[1].process">{{ item[1].process }}</div> </div> </div> </div> @@ -501,7 +509,11 @@ <el-form-item label="鑺傚亣鏃ユ弿杩�" :prop="'holidays.' + index + '.describe'" - :rules="{ required: true, message: '璇疯緭鍏ヨ妭鍋囨棩鎻忚堪', trigger: 'blur' }" + :rules="{ + required: true, + message: '璇疯緭鍏ヨ妭鍋囨棩鎻忚堪', + trigger: 'blur', + }" > <el-input style="width: 130px" @@ -512,7 +524,11 @@ <el-form-item label="寮�濮嬫椂闂�" :prop="'holidays.' + index + '.startdate'" - :rules="{ required: true, message: '璇疯緭鍏ュ紑濮嬫椂闂�', trigger: 'blur' }" + :rules="{ + required: true, + message: '璇疯緭鍏ュ紑濮嬫椂闂�', + trigger: 'blur', + }" > <el-date-picker style="width: 130px" @@ -528,7 +544,11 @@ <el-form-item label="缁撴潫鏃堕棿" :prop="'holidays.' + index + '.enddate'" - :rules="{ required: true, message: '璇疯緭鍏ョ粨鏉熸椂闂�', trigger: 'blur' }" + :rules="{ + required: true, + message: '璇疯緭鍏ョ粨鏉熸椂闂�', + trigger: 'blur', + }" > <el-date-picker style="width: 130px" @@ -607,6 +627,7 @@ process: "", }, ], + applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }, formHolidays: { holidays: [ @@ -621,7 +642,7 @@ pageNum: 1, pageSize: 10, description: null, - plant: null, + applicableFactory: null, type: null, effectiveDate: null, expiringDate: null, @@ -903,6 +924,10 @@ async function handleAdd() { open.value = true; form.value = { + type: "1", + description: "", + expiringDate: "", + effectiveDate: "", applicable: [ { factory: "", @@ -910,7 +935,45 @@ process: "", }, ], + applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], }; + weekDaysSettingList.value = [ + { + day: "Monday", + chineseName: "鏄熸湡涓�", + work: "y", + }, + { + day: "Tuesday", + chineseName: "鏄熸湡浜�", + work: "y", + }, + { + day: "Wednesday", + chineseName: "鏄熸湡涓�", + work: "y", + }, + { + day: "Thursday", + chineseName: "鏄熸湡鍥�", + work: "y", + }, + { + day: "Friday", + chineseName: "鏄熸湡浜�", + work: "y", + }, + { + day: "Saturday", + chineseName: "鏄熸湡鍏�", + work: "y", + }, + { + day: "Sunday", + chineseName: "鏄熸湡鏃�", + work: "y", + }, + ]; title.value = "娣诲姞鏃ュ巻绠$悊"; } /** 閫夋嫨宸ュ巶鍚庝簨浠� 鍔犺浇杞﹂棿 鍜� 宸ュ簭 **/ @@ -925,7 +988,7 @@ } function changeWorkshop(workShop) { console.log(workShop.split(";")[0]); - listByWorkShop({ workShop: "姘旀煖" }).then((res) => { + listByWorkShop({ workShop: workShop.split(";")[0] }).then((res) => { console.log(res, "workShop"); processList.value = res.rows; }); @@ -942,26 +1005,41 @@ /** 淇敼鎸夐挳鎿嶄綔 */ function handleUpdate(row) { const _id = row.id || ids.value; + open.value = true; + title.value = "淇敼鏃ュ巻绠$悊"; getCalendar(_id).then((response) => { form.value = response.data; - // form.value.content = JSON.parse(response.data.content.value); - if (form.value.type === "1") { - weekDaysSettingList.value = JSON.parse( - response.data.content.value - ).weekdays; - } else if (form.value.type === "2") { - holidays.value = JSON.parse(response.data.content.value).holidays; - } - - open.value = true; - title.value = "淇敼鏃ュ巻绠$悊"; + applicableSettingList.value = JSON.parse(response.data.applicableTranslate); + console.log(response.data, "response.data"); + form.value.content = JSON.parse(response.data.content.value); + weekDaysSettingList.value = response.data.content.weekdays; + form.value.applicableTranslate= applicableTranslateArr(response.data); + console.log(form.value.applicableTranslate,"form.value.applicableTranslate") }); + } +let applicableTranslateArr = (row)=>{ + return JSON.parse(row.applicableTranslate).map( + (item) => { + return Object.keys(item).map((n) => { + console.log(item); + let arrObj = {}; + if (item[n] && item[n].indexOf(";") > 0) { + arrObj[n] = item[n].split(";")[1]; + } else { + arrObj[n] = item[n]; + } + return arrObj; + }); + } + ); +} // 璁剧疆鑺傚亣鏃� function handleSetHolidays(row) { + console.log(applicableTranslateArr, "applicableTranslateArr"); form.value = { ...row, - applicableTranslate: JSON.parse(row.applicableTranslate), + applicableTranslate: applicableTranslateArr(row), }; if (!row.holidays) { formHolidays.value = { @@ -976,7 +1054,7 @@ } else { formHolidays.value.holidays = JSON.parse(row.holidays.value); } - console.log(formHolidays.value.holidays, "formHolidays.value"); + // console.log(formHolidays.value.holidays, "formHolidays.value"); openSetHolidays.value = true; } // 绂佺敤鏃ユ湡 @@ -1035,18 +1113,19 @@ // } // }); // }; +function checkFieldsEmpty(arr) { + let filteredArr = arr.filter((item) => { + return Object.values(item).some( + (value) => value == null || value == "" || value == undefined + ); + }); + return filteredArr; +} // 鎻愪氦鑺傚亣鏃� function handleSaveHolidaysForm() { - const hasValidDates = formHolidays.value.holidays.some( - (item) => item.enddate && item.startdate && item.describe - ); + const hasValidDates = checkFieldsEmpty(formHolidays.value.holidays); console.log(hasValidDates, "hasValidDates"); - // holidaysRef.value.validate((valid) => { - // if (!valid) { - // proxy.$modal.msgSuccess("蹇呭~椤逛笉鑳戒负绌�"); - // } - //if (valid) { - if (!hasValidDates) { + if (hasValidDates.length == 0) { updateCalendar({ id: form.value.id, holidays: formHolidays.value.holidays.map((item) => { @@ -1058,10 +1137,49 @@ }), }).then((response) => { proxy.$modal.msgSuccess("鏂板鎴愬姛"); - open.value = false; + openSetHolidays.value = false; getList(); }); } + // holidaysRef.value.validate((valid) => { + // if (!valid) { + // proxy.$modal.msgSuccess("蹇呭~椤逛笉鑳戒负绌�"); + // } + // if (valid) { + // if (!hasValidDates) { + // updateCalendar({ + // id: form.value.id, + // holidays: formHolidays.value.holidays.map((item) => { + // return { + // startdate: moment(item.startdate).format("YYYY-MM-DD"), + // enddate: moment(item.enddate).format("YYYY-MM-DD"), + // describe: item.describe, + // }; + // }), + // }).then((response) => { + // proxy.$modal.msgSuccess("鏂板鎴愬姛"); + // open.value = false; + // getList(); + // }); + // } + // }); + //if (valid) { + // if (!hasValidDates) { + // updateCalendar({ + // id: form.value.id, + // holidays: formHolidays.value.holidays.map((item) => { + // return { + // startdate: moment(item.startdate).format("YYYY-MM-DD"), + // enddate: moment(item.enddate).format("YYYY-MM-DD"), + // describe: item.describe, + // }; + // }), + // }).then((response) => { + // proxy.$modal.msgSuccess("鏂板鎴愬姛"); + // open.value = false; + // getList(); + // }); + // } // }); } /** 鎻愪氦鎸夐挳 */ @@ -1076,33 +1194,44 @@ return; } if (form.value.id != null) { - // if (form.value.type === "1") { - // updateCalendar({ - // ...form.value, - // content: { - // weekdays: weekDaysSettingList.value, - // }, - // applicableWorkshop: form.value.applicableWorkshop, - // applicableProcess: form.value.applicableProcess, - // }).then((response) => { - // proxy.$modal.msgSuccess("淇敼鎴愬姛"); - // open.value = false; - // getList(); - // }); - // } else if (form.value.type === "2") { updateCalendar({ - ...form.value, + // ...form.value, + id: form.value.id, + expiringDate: form.value.expiringDate, + effectiveDate: form.value.effectiveDate, + description: form.value.description, content: { - holidays: holidays.value, + weekdays: weekDaysSettingList.value, }, - applicableWorkshop: form.value.applicableWorkshop.map((item) => { + // holidays: holidays.value, + applicable: applicableSettingList.value.map((item) => { return { - factory: item.factory.split(";")[0], - process: item.process.split(";")[0], - workshop: item.workshop.split(";")[0], + factory: item.factory + ? item.factory.indexOf(";") > 0 + ? item.factory.split(";")[0] + : item.factory + : "", + process: item.process + ? item.process.indexOf(";") > 0 + ? item.process.split(";")[0] + : item.process + : "", + workshop: item.workshop + ? item.workshop.indexOf(";") > 0 + ? item.workshop.split(";")[0] + : item.workshop + : "", }; }), - applicableProcess: form.value.applicableProcess, + applicableTranslate: JSON.stringify( + applicableSettingList.value.map((item) => { + return { + factory: item.factory ? item.factory : "", + process: item.process ? item.process : "", + workshop: item.workshop ? item.workshop : "", + }; + }) + ), type: "1", }).then((response) => { proxy.$modal.msgSuccess("淇敼鎴愬姛"); @@ -1111,18 +1240,6 @@ }); // } } else { - // if (form.value.type === "1") { - // addCalendar({ - // ...form.value, - // content: { - // weekdays: weekDaysSettingList.value, - // }, - // }).then((response) => { - // proxy.$modal.msgSuccess("鏂板鎴愬姛"); - // open.value = false; - // getList(); - // }); - // } else if (form.value.type === "2") { addCalendar({ ...form.value, content: { @@ -1131,17 +1248,29 @@ // holidays: holidays.value, applicable: applicableSettingList.value.map((item) => { return { - factory: item.factory.split(";")[0], - process: item.process.split(";")[0], - workshop: item.workshop.split(";")[0], + factory: item.factory + ? item.factory.indexOf(";") > 0 + ? item.factory.split(";")[0] + : item.factory + : "", + process: item.process + ? item.process.indexOf(";") > 0 + ? item.process.split(";")[0] + : item.process + : "", + workshop: item.workshop + ? item.workshop.indexOf(";") > 0 + ? item.workshop.split(";")[0] + : item.workshop + : "", }; }), applicableTranslate: JSON.stringify( applicableSettingList.value.map((item) => { return { - factory: item.factory.split(";")[1], - process: item.process.split(";")[1], - workshop: item.workshop.split(";")[1], + factory: item.factory ? item.factory : "", + process: item.process ? item.process : "", + workshop: item.workshop ? item.workshop : "", }; }) ), @@ -1306,6 +1435,10 @@ margin-left: 120px; } } +.error_require { + color: #f56c6c; + margin-right: 5px; +} .grey_bg { background: #f1f1f1; width: 100%; @@ -1328,10 +1461,6 @@ font-weight: 600; margin-left: 20px; margin-right: 10px; - .error_require { - color: #f56c6c; - margin-right: 5px; - } } .flex_item_dis { display: flex; -- Gitblit v1.9.3