From 4f38240e2fd66324ebf9d7dc69b00a363d4c8c4a Mon Sep 17 00:00:00 2001
From: chengxiangling <291105840@qq.com>
Date: 星期三, 14 五月 2025 16:20:03 +0800
Subject: [PATCH] 提交调整列宽,日历对接等
---
src/views/basicData/calendar/index.vue | 443 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 304 insertions(+), 139 deletions(-)
diff --git a/src/views/basicData/calendar/index.vue b/src/views/basicData/calendar/index.vue
index ea785cc..a0f174e 100644
--- a/src/views/basicData/calendar/index.vue
+++ b/src/views/basicData/calendar/index.vue
@@ -111,7 +111,7 @@
class="auto-height-grid"
>
<template #status="{ row }">
- <vxe-tag v-if="row.type === '1'" status="primary">鍛ㄥ伐浣滄棩</vxe-tag>
+ <vxe-tag v-if="row.type === '1'" status="primary">鍛ㄥ伐浣�</vxe-tag>
<vxe-tag v-if="row.type === '2'" status="success">鑺傚亣鏃�</vxe-tag>
</template>
<template #mark="{ row }">
@@ -393,7 +393,8 @@
v-for="(item, index) in form.applicableTranslate"
:key="index"
>
- {{ item.factory }} - {{ item.workshop }} - {{ item.process }}
+ {{ item.factory }} - {{ item.workshop }} -
+ {{ item.process }}
</div>
</div>
</div>
@@ -410,51 +411,141 @@
>
</div>
<div class="grey_bg">
- <el-form
- class="mart10"
- ref="holidaysRef"
- :model="formHolidays"
- :rules="holidayRules"
- :inline="true"
- label-width="105px"
- >
- <template v-for="(item, index) in formHolidays" :key="index">
- <el-form-item label="鑺傚亣鏃ユ弿杩�" prop="description">
- <el-input
- style="width: 130px"
- v-model="item.describe"
- placeholder="璇疯緭鍏ユ弿杩�"
- />
- </el-form-item>
- <el-form-item label="寮�濮嬫椂闂�" prop="startdate">
- <el-date-picker
- style="width: 130px"
- clearable
- v-model="item.startdate"
- type="date"
- :disabled-date="handleDisabledDate"
- :default-value="form.effectiveDate"
- placeholder="閫夋嫨鏃ユ湡"
+ <div
+ class="flex_holidays_set"
+ v-for="(item, index) in formHolidays"
+ :key="index"
+ >
+ <div class="dis_error_wrap">
+ <div class="flex_item">
+ <div class="flex_item_title">
+ <span class="error_require">*</span><span>鑺傚亣鏃ユ弿杩�</span>
+ </div>
+ <div>
+ <el-input
+ style="width: 130px"
+ v-model="item.describe"
+ placeholder="璇疯緭鍏ユ弿杩�"
+ />
+ </div>
+ </div>
+ <div class="error_text">璇疯緭鍏ヨ妭鍋囨棩鎻忚堪</div>
+ </div>
+ <div class="dis_error_wrap">
+ <div class="flex_item">
+ <div class="flex_item_title">
+ <span class="error_require">*</span><span>寮�濮嬫椂闂�</span>
+ </div>
+ <div>
+ <el-date-picker
+ style="width: 130px"
+ clearable
+ v-model="item.startdate"
+ type="date"
+ :disabled-date="handleDisabledDate"
+ :default-value="form.effectiveDate"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="error_text">璇疯緭鍏ュ紑濮嬫椂闂�</div>
+ </div>
+ <div class="dis_error_wrap">
+ <div class="flex_item">
+ <div class="flex_item_title">
+ <span class="error_require">*</span><span>缁撴潫鏃堕棿</span>
+ </div>
+ <div>
+ <el-date-picker
+ style="width: 130px"
+ clearable
+ v-model="item.enddate"
+ type="date"
+ :disabled-date="handleDisabledDate"
+ :default-value="form.expiringDate"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </div>
+ </div>
+ <div class="error_text">璇疯緭鍏ョ粨鏉熸椂闂�</div>
+ </div>
+ <div class="dis_error_wrap">
+ <div class="flex_item">
+ <el-button
+ v-if="formHolidays.length > 1"
+ type="danger"
+ size="small"
+ @click="handleDelSettingHolidays(item)"
+ >鍒犻櫎</el-button
+ >
+ </div>
+ </div>
+ </div>
+ <!-- <el-form
+ class="mart10"
+ ref="holidaysRef"
+ :model="item"
+ :rules="holidayRules"
+ :inline="true"
+ label-width="105px"
+ >
+ <div v-for="(item, index) in formHolidays.holidays" :key="index">
+ <el-form-item
+ label="鑺傚亣鏃ユ弿杩�"
+ :prop="'holidays.' + index + '.describe'"
+ :rules="{ required: true, message: '璇疯緭鍏ヨ妭鍋囨棩鎻忚堪', trigger: 'blur' }"
>
- </el-date-picker>
- </el-form-item>
- <el-form-item label="缁撴潫鏃堕棿" prop="enddate">
- <el-date-picker
- style="width: 130px"
- clearable
- v-model="item.enddate"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- :disabled-date="handleDisabledDate"
- :default-value="form.expiringDate"
+ <el-input
+ style="width: 130px"
+ v-model="item.describe"
+ placeholder="璇疯緭鍏ユ弿杩�"
+ />
+ </el-form-item>
+ <el-form-item
+ label="寮�濮嬫椂闂�"
+ :prop="'holidays.' + index + '.startdate'"
+ :rules="{ required: true, message: '璇疯緭鍏ュ紑濮嬫椂闂�', trigger: 'blur' }"
>
- </el-date-picker>
- </el-form-item>
- <el-form-item label="" prop="">
- <el-button v-if="formHolidays.length>1" type="danger" size="small" @click="handleDelSettingHolidays(item)">鍒犻櫎</el-button>
- </el-form-item>
- </template>
- </el-form>
+ <el-date-picker
+ style="width: 130px"
+ clearable
+ v-model="item.startdate"
+ type="date"
+ :disabled-date="handleDisabledDate"
+ :default-value="form.effectiveDate"
+ placeholder="閫夋嫨鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item
+ label="缁撴潫鏃堕棿"
+ :prop="'holidays.' + index + '.enddate'"
+ :rules="{ required: true, message: '璇疯緭鍏ョ粨鏉熸椂闂�', trigger: 'blur' }"
+ >
+ <el-date-picker
+ style="width: 130px"
+ clearable
+ v-model="item.enddate"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ :disabled-date="handleDisabledDate"
+ :default-value="form.expiringDate"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="" prop="">
+ <el-button
+ v-if="formHolidays.length > 1"
+ type="danger"
+ size="small"
+ @click="handleDelSettingHolidays(item)"
+ >鍒犻櫎</el-button
+ >
+ </el-form-item>
+ </div>
+ </el-form> -->
</div>
</div>
</div>
@@ -486,6 +577,7 @@
import { selectProcessNameList } from "@/api/basicData/processRoute.js";
import { ElMessage } from "element-plus";
const { proxy } = getCurrentInstance();
+const holidaysRef = ref(null);
const { aps_factory } = proxy.useDict("aps_factory");
const tableRef = ref();
const calendarList = ref([]);
@@ -510,13 +602,15 @@
},
],
},
- formHolidays: [
- {
- enddate: "",
- startdate: "",
- describe: "",
- },
- ],
+ formHolidays: {
+ holidays: [
+ {
+ enddate: "",
+ startdate: "",
+ describe: "",
+ },
+ ],
+ },
queryParams: {
pageNum: 1,
pageSize: 10,
@@ -560,17 +654,34 @@
},
],
},
- holidayRules: {
- describe: [
- {
- required: true,
- message: "璇疯緭鍏ヨ妭鍋囨棩鎻忚堪",
- trigger: "blur",
- },
- ],
- },
+ // holidayRules: {
+ // describe: [
+ // {
+ // required: true,
+ // message: "璇疯緭鍏ヨ妭鍋囨棩鎻忚堪",
+ // trigger: "blur",
+ // },
+ // ],
+ // startdate: [
+ // {
+ // required: true,
+ // message: "璇疯緭鍏ュ紑濮嬫椂闂�",
+ // trigger: "blur",
+ // },
+ // ],
+ // enddate: [
+ // {
+ // required: true,
+ // message: "璇疯緭鍏ョ粨鏉熸椂闂�",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
});
-const { queryParams, form, rules, formHolidays, holidayRules } = toRefs(data);
+const holidayRules = {
+ holidays: [{ required: true, message: "鑺傚亣鏃ユ槸蹇呭~椤�", trigger: "blur" }],
+};
+const { queryParams, form, rules, formHolidays } = toRefs(data);
const dateType = ref("鍛ㄥ伐浣�");
const dateTypeList = ref([
{
@@ -667,43 +778,43 @@
align: "center",
slots: { default: "mark" },
},
- {
- title: "閫傜敤宸ュ巶",
- field: "applicableFactory",
- width: 200,
- align: "center",
- formatter: ({ cellValue, row, column }) => {
- if (cellValue) {
- for (let i = 0; i < plantList.value.length; i++) {
- if (cellValue === plantList.value[i].plantCode) {
- return plantList.value[i].plantName;
- }
- }
- }
- },
- },
- {
- title: "閫傜敤杞﹂棿",
- field: "applicableWorkshop",
- width: 200,
- align: "center",
- formatter: ({ cellValue, row, column }) => {
- if (cellValue) {
- for (let i = 0; i < shopList.value.length; i++) {
- if (cellValue === shopList.value[i].id) {
- return shopList.value[i].shopName;
- }
- }
- }
- return "";
- },
- },
- {
- title: "閫傜敤宸ュ簭",
- field: "applicableProcess",
- width: 200,
- align: "center",
- },
+ // {
+ // title: "閫傜敤宸ュ巶",
+ // field: "applicableFactory",
+ // width: 200,
+ // align: "center",
+ // formatter: ({ cellValue, row, column }) => {
+ // if (cellValue) {
+ // for (let i = 0; i < plantList.value.length; i++) {
+ // if (cellValue === plantList.value[i].plantCode) {
+ // return plantList.value[i].plantName;
+ // }
+ // }
+ // }
+ // },
+ // },
+ // {
+ // title: "閫傜敤杞﹂棿",
+ // field: "applicableWorkshop",
+ // width: 200,
+ // align: "center",
+ // formatter: ({ cellValue, row, column }) => {
+ // if (cellValue) {
+ // for (let i = 0; i < shopList.value.length; i++) {
+ // if (cellValue === shopList.value[i].id) {
+ // return shopList.value[i].shopName;
+ // }
+ // }
+ // }
+ // return "";
+ // },
+ // },
+ // {
+ // title: "閫傜敤宸ュ簭",
+ // field: "applicableProcess",
+ // width: 200,
+ // align: "center",
+ // },
{
title: "鍒涘缓鑰�",
field: "createBy",
@@ -847,16 +958,19 @@
applicableTranslate: JSON.parse(row.applicableTranslate),
};
if (!row.holidays) {
- formHolidays.value = [
- {
- enddate: "",
- startdate: "",
- describe: "",
- },
- ];
+ formHolidays.value = {
+ holidays: [
+ {
+ enddate: "",
+ startdate: "",
+ describe: "",
+ },
+ ],
+ };
} else {
- formHolidays.value = JSON.parse(row.holidays.value);
+ formHolidays.value.holidays = JSON.parse(row.holidays.value);
}
+ console.log(formHolidays.value.holidays, "formHolidays.value");
openSetHolidays.value = true;
}
// 绂佺敤鏃ユ湡
@@ -864,18 +978,17 @@
const targetDate = moment(date).valueOf();
const startDate = moment(form.value.effectiveDate).valueOf();
const endDate = moment(form.value.expiringDate).valueOf();
- console.log(targetDate, startDate, endDate, "handleDisabledDate");
return targetDate < startDate || targetDate > endDate;
}
// 鍒犻櫎鑺傚亣鏃ヨ缃�
function handleDelSettingHolidays(row) {
- formHolidays.value = formHolidays.value.filter(item=>{
- return item != row
- })
+ formHolidays.value.holidays = formHolidays.value.holidays.filter((item) => {
+ return item != row;
+ });
}
// 娣诲姞鑺傚亣鏃�
function hanldeAddHolidays() {
- formHolidays.value.push({
+ formHolidays.value.holidays.push({
enddate: "",
startdate: "",
describe: "",
@@ -884,39 +997,64 @@
function handleToggleExpand() {
expand.value = !expand.value;
}
+// const confirmClick = () => {
+// let formList = [predictionFormRef]
+// let resultArr = [];
+// let validate = (form) => {
+// let result = new Promise((resolve, reject) => {
+// form.value.validate(valid => {
+// if (valid) {
+// resolve()
+// } else {
+// reject()
+// }
+// })
+// })
+// resultArr.push(result)
+// }
+// formList.forEach(item => {
+// validate(item)
+// })
+// Promise.all(resultArr).then(() => {
+// saveRule() // 鏍¢獙鎴愬姛涔嬪悗 淇濆瓨鏁版嵁鐨勬柟娉�
+// })
+// }
+// const submitForm = () => {
+// formRef.value.validate((valid) => {
+// if (valid) {
+// alert('submit!');
+// } else {
+// alert('Form is not valid.');
+// return false;
+// }
+// });
+// };
// 鎻愪氦鑺傚亣鏃�
function handleSaveHolidaysForm() {
- proxy.$refs["holidaysRef"].validate((valid) => {
+ console.log(holidaysRef.value, "琛ㄥ崟dom");
+ // holidaysRef.value.validate((valid) => {
+ // console.log(valid,"valid")
+ // if (valid) {
+ // proxy.$modal.msgSuccess('submit!');
+ // } else {
+ // proxy.$modal.msgSuccess('Form is not valid.');
+ // return false;
+ // }
+ // })
+ holidaysRef.value.validate((valid) => {
+ if (!valid) {
+ proxy.$modal.msgSuccess("蹇呭~椤逛笉鑳戒负绌�");
+ }
if (valid) {
updateCalendar({
id: form.value.id,
- // content: {
- // weekdays: weekDaysSettingList.value,
- // },
- holidays: formHolidays.value.map((item) => {
+ holidays: formHolidays.value.holidays.map((item) => {
return {
- startdate: moment(item.startdate).format("YY-MM-DD"),
- enddate: moment(item.enddate).format("YY-MM-DD"),
+ startdate: moment(item.startdate).format("YYYY-MM-DD"),
+ enddate: moment(item.enddate).format("YYYY-MM-DD"),
+ describe: item.describe,
};
}),
- // applicable: applicableSettingList.value.map((item) => {
- // return {
- // factory: item.factory.split(";")[0],
- // process: item.process.split(";")[0],
- // workshop: item.workshop.split(";")[0],
- // };
- // }),
- // applicableTranslate: JSON.stringify(
- // applicableSettingList.value.map((item) => {
- // return {
- // factory: item.factory.split(";")[1],
- // process: item.process.split(";")[1],
- // workshop: item.workshop.split(";")[1],
- // };
- // })
- //),
- // applicableCn:
- //},
}).then((response) => {
proxy.$modal.msgSuccess("鏂板鎴愬姛");
open.value = false;
@@ -964,6 +1102,7 @@
};
}),
applicableProcess: form.value.applicableProcess,
+ type: "1",
}).then((response) => {
proxy.$modal.msgSuccess("淇敼鎴愬姛");
open.value = false;
@@ -1005,6 +1144,7 @@
};
})
),
+ type: "1",
// applicableCn:
//},
}).then((response) => {
@@ -1149,12 +1289,20 @@
}
.h300 {
}
-.height_dialog{
+.height_dialog {
height: 400px;
overflow: hidden;
- .height_dialog_scroll{
+ .height_dialog_scroll {
height: 100%;
overflow: auto;
+ }
+}
+.dis_error_wrap {
+ .error_text {
+ margin-left: 20px;
+ font-size: 12px;
+ color: #f56c6c;
+ margin-left: 120px;
}
}
.grey_bg {
@@ -1162,11 +1310,28 @@
width: 100%;
padding: 10px;
box-sizing: border-box;
+ .flex_holidays_set {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ }
.flex_item {
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 10px;
+ .flex_item_title {
+ width: 85px;
+ color: #606266;
+ font-size: 14px;
+ font-weight: 600;
+ margin-left: 20px;
+ margin-right: 10px;
+ .error_require {
+ color: #f56c6c;
+ margin-right: 5px;
+ }
+ }
.flex_item_dis {
display: flex;
flex-direction: column;
--
Gitblit v1.9.3