| | |
| | | <el-select |
| | | style="width: 140px" |
| | | clearable |
| | | v-model="queryParams.plant" |
| | | v-model="queryParams.applicableFactory" |
| | | placeholder="适用工厂" |
| | | > |
| | | <el-option |
| | |
| | | > |
| | | <template #status="{ row }"> |
| | | <vxe-tag v-if="row.type === '1'" status="primary">周工作</vxe-tag> |
| | | <vxe-tag v-if="row.type === '2'" status="success">节假日</vxe-tag> |
| | | <!-- <vxe-tag v-if="row.type === '2'" status="success">节假日</vxe-tag> --> |
| | | </template> |
| | | <template #mark="{ row }"> |
| | | <div v-if="row.type === '1'"> |
| | |
| | | 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" |
| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | <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" |
| | |
| | | <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" |
| | |
| | | process: "", |
| | | }, |
| | | ], |
| | | applicableTranslate: [{ factory: "" }, { workshop: "" }, { process: "" }], |
| | | }, |
| | | formHolidays: { |
| | | holidays: [ |
| | |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | description: null, |
| | | plant: null, |
| | | applicableFactory: null, |
| | | type: null, |
| | | effectiveDate: null, |
| | | expiringDate: null, |
| | |
| | | async function handleAdd() { |
| | | open.value = true; |
| | | form.value = { |
| | | type: "1", |
| | | description: "", |
| | | expiringDate: "", |
| | | effectiveDate: "", |
| | | applicable: [ |
| | | { |
| | | factory: "", |
| | |
| | | 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 = "添加日历管理"; |
| | | } |
| | | /** 选择工厂后事件 加载车间 和 工序 **/ |
| | |
| | | } |
| | | 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; |
| | | }); |
| | |
| | | /** 修改按钮操作 */ |
| | | 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 = { |
| | |
| | | } 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; |
| | | } |
| | | // 禁用日期 |
| | |
| | | // } |
| | | // }); |
| | | // }; |
| | | 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) => { |
| | | console.log(item,"some") |
| | | if(!item.describe !="" && item.startdate !="" && item.enddate!=="" ){ |
| | | return true |
| | | }else{ |
| | | return false |
| | | } |
| | | console.log(hasValidDates, "hasValidDates"); |
| | | } |
| | | ); |
| | | 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) => { |
| | |
| | | }), |
| | | }).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(); |
| | | // }); |
| | | // } |
| | | // }); |
| | | } |
| | | /** 提交按钮 */ |
| | |
| | | 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("修改成功"); |
| | |
| | | }); |
| | | // } |
| | | } 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: { |
| | |
| | | // 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 : "", |
| | | }; |
| | | }) |
| | | ), |
| | |
| | | margin-left: 120px; |
| | | } |
| | | } |
| | | .error_require { |
| | | color: #f56c6c; |
| | | margin-right: 5px; |
| | | } |
| | | .grey_bg { |
| | | background: #f1f1f1; |
| | | width: 100%; |
| | |
| | | font-weight: 600; |
| | | margin-left: 20px; |
| | | margin-right: 10px; |
| | | .error_require { |
| | | color: #f56c6c; |
| | | margin-right: 5px; |
| | | } |
| | | } |
| | | .flex_item_dis { |
| | | display: flex; |