diff --git a/components.d.ts b/components.d.ts index bee3929..cc91605 100644 --- a/components.d.ts +++ b/components.d.ts @@ -2,7 +2,7 @@ // @ts-nocheck // Generated by unplugin-vue-components // Read more: https://github.com/vuejs/core/pull/3399 -export {}; +export {} /* prettier-ignore */ declare module 'vue' { diff --git a/src/utils/utils.js b/src/utils/utils.js index 1676fe0..cc4bdf9 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -158,3 +158,26 @@ export function debounce(fn, wait) { timer = setTimeout(() => fn.apply(context, args), wait); }; } + +/** + * 格式化时间 + * @param type now:当前时间 endOfDay:当前时间的 23:59:59 + * @returns {string} + */ +export function getFormattedTime(type = 'now') { + const date = new Date(); + + if (type === 'endOfDay') { + date.setHours(23, 59, 59, 999); // 设置为当天的 23:59:59.999 + } + + // 格式化时间为 yyyy-MM-dd hh:mm:ss + const year = date.getFullYear(); + const month = String(date.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要 +1 + const day = String(date.getDate()).padStart(2, '0'); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + const seconds = String(date.getSeconds()).padStart(2, '0'); + + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; +} diff --git a/src/views/Survey/views/Create/Index.vue b/src/views/Survey/views/Create/Index.vue index a7b4076..23a6c8d 100644 --- a/src/views/Survey/views/Create/Index.vue +++ b/src/views/Survey/views/Create/Index.vue @@ -352,6 +352,7 @@ import { getSurveysDetail, changeStatus } from '@/api/design/index'; +import { getFormattedTime } from '@/utils/utils'; import Design from '@/views/Design/Index.vue'; import { useCounterStore } from '@/stores/counter'; import { storeToRefs } from 'pinia'; @@ -500,6 +501,14 @@ const saveQuestionItem = (questionJson) => { // 保存设置 const saveSetting = (parentKey, childKeys, type) => { const query = {}; + // 当有效期开关打开时设置默认时间 + if (parentKey === 'is_time' && questionInfo.value.survey.is_time === 1) { + // 设置起始时间为当前时间 + questionInfo.value.survey.start_time = getFormattedTime('now'); + // 设置截止时间为今天23:59:59 + questionInfo.value.survey.end_time = getFormattedTime('endOfDay'); + } + function changeValueType(type, value) { if (type) { switch (type) { @@ -736,6 +745,7 @@ onMounted(async () => { overflow: auto; width: 230px; height: 45px; + & div { font-size: 13px; } @@ -745,7 +755,8 @@ onMounted(async () => { & .title-right { position: relative; flex: 1; - width: 65px; /* 根据实际图片大小调整 */ + width: 65px; + /* 根据实际图片大小调整 */ height: 50px; margin-right: 40px; margin-left: 30px; @@ -755,8 +766,10 @@ onMounted(async () => { position: absolute; bottom: -70px; left: -10px; - width: 65px; /* 根据实际图片大小调整 */ - height: 140px; /* 根据实际图片大小调整 */ + width: 65px; + /* 根据实际图片大小调整 */ + height: 140px; + /* 根据实际图片大小调整 */ background: url('@/assets/img/create-right-back.png') no-repeat center center; background-size: cover; }