|
@@ -15,6 +15,8 @@ import {
|
|
postCopyAssessment
|
|
postCopyAssessment
|
|
} from "@/api/manage";
|
|
} from "@/api/manage";
|
|
import { assessmentStatus, getStateType } from "@/config/tag";
|
|
import { assessmentStatus, getStateType } from "@/config/tag";
|
|
|
|
+import { Calendar } from "@element-plus/icons-vue";
|
|
|
|
+
|
|
const manageObjectRef = ref();
|
|
const manageObjectRef = ref();
|
|
const manageObjectShow = ref(false);
|
|
const manageObjectShow = ref(false);
|
|
const addExamRef = ref();
|
|
const addExamRef = ref();
|
|
@@ -79,8 +81,15 @@ const handleSizeChange = (val: number) => {
|
|
// 复制考核
|
|
// 复制考核
|
|
const dialogVisibleCopy = ref(false);
|
|
const dialogVisibleCopy = ref(false);
|
|
const copyTitle = ref("");
|
|
const copyTitle = ref("");
|
|
-const copyForm = reactive({ name: "" });
|
|
|
|
|
|
+const copyForm = reactive({
|
|
|
|
+ name: "",
|
|
|
|
+ cycle: "",
|
|
|
|
+ cycleValue: ""
|
|
|
|
+});
|
|
const copyManage = (row: any) => {
|
|
const copyManage = (row: any) => {
|
|
|
|
+ if (row.cycle) {
|
|
|
|
+ handleRegionChange(row.cycle);
|
|
|
|
+ }
|
|
Object.assign(copyForm, row);
|
|
Object.assign(copyForm, row);
|
|
copyTitle.value = row.name;
|
|
copyTitle.value = row.name;
|
|
dialogVisibleCopy.value = true;
|
|
dialogVisibleCopy.value = true;
|
|
@@ -90,17 +99,95 @@ const handleClose = () => {
|
|
dialogVisibleCopy.value = false;
|
|
dialogVisibleCopy.value = false;
|
|
};
|
|
};
|
|
const saveCopy = async () => {
|
|
const saveCopy = async () => {
|
|
|
|
+ if (timeType.value == "月度") {
|
|
|
|
+ copyForm.cycleValue = dayjs(new Date(copyForm.cycleValue)).format(
|
|
|
|
+ "YYYY-MM"
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ if (timeType.value == "年度") {
|
|
|
|
+ copyForm.cycleValue = dayjs(new Date(copyForm.cycleValue)).format("YYYY");
|
|
|
|
+ }
|
|
|
|
+ if (timeType.value == "日期") {
|
|
|
|
+ copyForm.cycleValue = dayjs(new Date(copyForm.cycleValue)).format(
|
|
|
|
+ "YYYY-MM-DD"
|
|
|
|
+ );
|
|
|
|
+ }
|
|
const { code, msg } = await postCopyAssessment(copyForm);
|
|
const { code, msg } = await postCopyAssessment(copyForm);
|
|
if (code === 200) {
|
|
if (code === 200) {
|
|
ElMessage.success("复制成功");
|
|
ElMessage.success("复制成功");
|
|
dialogVisibleCopy.value = false;
|
|
dialogVisibleCopy.value = false;
|
|
getAssessmentPageListApi();
|
|
getAssessmentPageListApi();
|
|
- // } else {
|
|
|
|
- // ElMessage.error(msg);
|
|
|
|
}
|
|
}
|
|
};
|
|
};
|
|
-const arrData = i => {
|
|
|
|
- console.log(i);
|
|
|
|
|
|
+const timeType = ref<any>("月度");
|
|
|
|
+const quarterValue = ref(true);
|
|
|
|
+const format = ref<any>("YYYY-MM");
|
|
|
|
+const pickerType = ref<any>("month");
|
|
|
|
+const handleRegionChange = (value: any) => {
|
|
|
|
+ timeType.value = value;
|
|
|
|
+ switch (value) {
|
|
|
|
+ case "年度":
|
|
|
|
+ copyForm.cycleValue = "";
|
|
|
|
+ format.value = "YYYY";
|
|
|
|
+ pickerType.value = "year";
|
|
|
|
+ break;
|
|
|
|
+ case "月度":
|
|
|
|
+ copyForm.cycleValue = "";
|
|
|
|
+ format.value = "YYYY-MM";
|
|
|
|
+ pickerType.value = "month";
|
|
|
|
+ break;
|
|
|
|
+ case "日期":
|
|
|
|
+ copyForm.cycleValue = "";
|
|
|
|
+ format.value = "YYYY-MM-DD";
|
|
|
|
+ pickerType.value = "";
|
|
|
|
+ break;
|
|
|
|
+ case "季度":
|
|
|
|
+ copyForm.cycleValue = "";
|
|
|
|
+ quarterValue.value = true;
|
|
|
|
+ break;
|
|
|
|
+ case "半年":
|
|
|
|
+ copyForm.cycleValue = "";
|
|
|
|
+ quarterValue.value = false;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+const yearTime = ref<any>(dayjs(new Date()).format("YYYY"));
|
|
|
|
+const decreaseYear = () => {
|
|
|
|
+ yearTime.value = dayjs().year(yearTime.value).subtract(1, "year").year(); // 减一年
|
|
|
|
+};
|
|
|
|
+const increaseYear = () => {
|
|
|
|
+ yearTime.value = dayjs().year(yearTime.value).add(1, "year").year(); // 加一年
|
|
|
|
+};
|
|
|
|
+const monthOne = item => {
|
|
|
|
+ let start = "";
|
|
|
|
+ let end = "";
|
|
|
|
+ switch (item) {
|
|
|
|
+ case "第一季度":
|
|
|
|
+ start = `${yearTime.value}-01-01`;
|
|
|
|
+ end = `${yearTime.value}-03-31`;
|
|
|
|
+ break;
|
|
|
|
+ case "第二季度":
|
|
|
|
+ start = `${yearTime.value}-04-01`;
|
|
|
|
+ end = `${yearTime.value}-06-30`;
|
|
|
|
+ break;
|
|
|
|
+ case "第三季度":
|
|
|
|
+ start = `${yearTime.value}-07-01`;
|
|
|
|
+ end = `${yearTime.value}-09-30`;
|
|
|
|
+ break;
|
|
|
|
+ case "第四季度":
|
|
|
|
+ start = `${yearTime.value}-10-01`;
|
|
|
|
+ end = `${yearTime.value}-12-31`;
|
|
|
|
+ break;
|
|
|
|
+ case "上半年":
|
|
|
|
+ start = `${yearTime.value}-01-01`;
|
|
|
|
+ end = `${yearTime.value}-06-30`;
|
|
|
|
+ break;
|
|
|
|
+ case "下半年":
|
|
|
|
+ start = `${yearTime.value}-07-01`;
|
|
|
|
+ end = `${yearTime.value}-12-31`;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ copyForm.cycleValue = `${yearTime.value}年${item}`;
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
@@ -264,6 +351,85 @@ const arrData = i => {
|
|
<el-form-item label="名称" prop="name">
|
|
<el-form-item label="名称" prop="name">
|
|
<el-input v-model="copyForm.name" placeholder="请输入" />
|
|
<el-input v-model="copyForm.name" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="考核周期">
|
|
|
|
+ <el-radio-group v-model="copyForm.cycle" @change="handleRegionChange">
|
|
|
|
+ <el-radio value="月度" size="large">月度</el-radio>
|
|
|
|
+ <el-radio value="季度" size="large">季度</el-radio>
|
|
|
|
+ <el-radio value="半年" size="large">半年</el-radio>
|
|
|
|
+ <el-radio value="年度" size="large">年度</el-radio>
|
|
|
|
+ <el-radio value="日期" size="large">日期</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-if="
|
|
|
|
+ timeType === '月度' || timeType === '日期' || timeType === '年度'
|
|
|
|
+ "
|
|
|
|
+ v-model="copyForm.cycleValue"
|
|
|
|
+ :type="pickerType"
|
|
|
|
+ :format="format"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ />
|
|
|
|
+ <el-dropdown
|
|
|
|
+ v-else-if="timeType === '季度' || timeType === '半年'"
|
|
|
|
+ trigger="click"
|
|
|
|
+ >
|
|
|
|
+ <span class="el-dropdown-link navbar-bg-hover select-none">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="copyForm.cycleValue"
|
|
|
|
+ style="width: 240px"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ :prefix-icon="Calendar"
|
|
|
|
+ />
|
|
|
|
+ </span>
|
|
|
|
+ <template #dropdown>
|
|
|
|
+ <el-dropdown-menu class="setting" style="width: 300px">
|
|
|
|
+ <div class="flex justify-between align-center text-base mt-4">
|
|
|
|
+ <div
|
|
|
|
+ class="cursor-pointer ml-4 text-xs pt-2"
|
|
|
|
+ @click="decreaseYear"
|
|
|
|
+ >
|
|
|
|
+ <el-icon>
|
|
|
|
+ <DArrowLeft />
|
|
|
|
+ </el-icon>
|
|
|
|
+ </div>
|
|
|
|
+ <div>{{ yearTime }}</div>
|
|
|
|
+ <div
|
|
|
|
+ class="cursor-pointer mr-4 text-xs pt-2"
|
|
|
|
+ @click="increaseYear"
|
|
|
|
+ >
|
|
|
|
+ <el-icon>
|
|
|
|
+ <DArrowRight />
|
|
|
|
+ </el-icon>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="quarterValue"
|
|
|
|
+ class="flex justify-center align-center mt-5 mb-5"
|
|
|
|
+ >
|
|
|
|
+ <el-dropdown-item @click="monthOne('一季度')">
|
|
|
|
+ 一季度
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item @click="monthOne('二季度')">
|
|
|
|
+ 二季度
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item @click="monthOne('三季度')">
|
|
|
|
+ 三季度
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item @click="monthOne('四季度')">
|
|
|
|
+ 四季度
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else class="flex justify-around align-center mt-5 mb-5">
|
|
|
|
+ <el-dropdown-item @click="monthOne('上半年')">
|
|
|
|
+ 上半年
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ <el-dropdown-item @click="monthOne('下半年')">
|
|
|
|
+ 下半年
|
|
|
|
+ </el-dropdown-item>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dropdown-menu>
|
|
|
|
+ </template>
|
|
|
|
+ </el-dropdown>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
<div class="dialog-footer">
|
|
<div class="dialog-footer">
|