当前位置: 首页 > news >正文

英文网站开发软文写作是什么

英文网站开发,软文写作是什么,合肥 网站建设公司哪家好,群晖wordpress安装教程♥️作者:小宋1021 🤵‍♂️个人主页:小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油&#xff01…

♥️作者:小宋1021
🤵‍♂️个人主页:小宋1021主页
♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!!
🎈🎈加油! 加油! 加油! 加油
🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+!


如图,想往数据库存一个时间段,在后端用两个字段接收

实体类:

    /*** 开始时间*/private LocalDateTime meetingStartTime;/*** 结束时间*/private LocalDateTime meetingEndTime;

ParentMeetingRespVO:

   @Schema(description = "开始时间")private LocalDateTime meetingStartTime;@Schema(description = "结束时间")private LocalDateTime meetingEndTime;

ParentMeetingSaveReqVO:

    @Schema(description = "开始时间")private LocalDateTime meetingStartTime;@Schema(description = "结束时间")private LocalDateTime meetingEndTime;

controller:

    @PostMapping("/create")@Operation(summary = "创建家长会")@PreAuthorize("@ss.hasPermission('study:parent-meeting:create')")public CommonResult<Long> createParentMeeting(@Valid @RequestBody ParentMeetingSaveReqVO createReqVO) {return success(parentMeetingService.createParentMeeting(createReqVO));}

service:

    /*** 创建家长会** @param createReqVO 创建信息* @return 编号*/Long createParentMeeting(@Valid ParentMeetingSaveReqVO createReqVO);

实现类:

    @Overridepublic Long createParentMeeting(ParentMeetingSaveReqVO createReqVO) {// 插入ParentMeetingDO parentMeeting = BeanUtils.toBean(createReqVO, ParentMeetingDO.class);parentMeetingMapper.insert(parentMeeting);// 返回return parentMeeting.getId();}

前端:

组件:

 <el-form-item label="时间" prop="time"><el-date-pickerv-model="formData.time"style="width: calc(100% - 20px); font-size: 1px;"type="datetimerange"start-placeholder="开始时间"end-placeholder="结束时间"placeholder="选择时间"@change="changes"/></el-form-item>

点击事件,并转换成时间戳:

const changes=(e)=>{const date = new Date(e[0])const date2 = new Date(e[1])// 获取时间戳(毫秒)  const timestamp = date.getTime()const timestamp2 = date2.getTime()formData.value.meetingStartTime = timestampformData.value.meetingEndTime = timestamp2formData.value.time = [dateFormat(timestamp),dateFormat(timestamp2)]}

dateform转换:

const dateFormat = (value)=>{let date = new Date(value);let y = date.getFullYear();let MM = date.getMonth() + 1<10? ('0' + (date.getMonth() + 1)) : date.getMonth() + 1;let d = date.getDate()< 10 ? ('0' + date.getDate()) :  date.getDate()let h = date.getHours() < 10 ? ('0' +date.getHours()) : date.getHours();const m = date.getMinutes()< 10 ? ('0' + date.getMinutes()) : date.getMinutes();return  y + '-' + MM + '-' + d 
}

完整代码:

<template><Dialog :title="dialogTitle" v-model="dialogVisible" width="1100px"><el-formref="formRef":model="formData":rules="formRules"label-width="100px"v-loading="formLoading"><div style="padding: 8px 0;background: #f8fbff"><div class="tip"><div class="bold"></div><span class="btitle"></span></div><el-row :gutter="24"><el-form-item label="主题" prop="subject" style="width: 46%;margin-left: 15px ;"><el-input v-model="formData.subject" placeholder="请输入主题" /></el-form-item></el-row><el-row><el-form-item label="班级名称" prop="className"><el-select v-model="formData.className" placeholder="请选择班级名称"><el-option label="班级名称" value="" /></el-select></el-form-item></el-row><el-row><el-form-item label="时间" prop="time"><el-date-pickerv-model="formData.time"style="width: calc(100% - 20px); font-size: 1px;"type="datetimerange"start-placeholder="开始时间"end-placeholder="结束时间"placeholder="选择时间"@change="changes"/></el-form-item></el-row><!-- <el-form-item label="老师名称" prop="teacherName"><el-select v-model="formData.teacherName" placeholder="请选择老师名称"><el-option label="老师名称" value="" /></el-select></el-form-item> --><el-row><el-form-item label="形式" prop="type"><el-select v-model="formData.type" placeholder="请选择形式"><el-option label="形式" value="" /></el-select></el-form-item><!-- <el-form-item label="实到" prop="arrivedNum"><el-input v-model="formData.arrivedNum" placeholder="请输入实到" /></el-form-item> --><!-- <el-form-item label="状态" prop="status"><el-select v-model="formData.status" placeholder="请选择状态"><el-option label="状态" value="" /></el-select></el-form-item> --></el-row></div></el-form><template #footer><el-button @click="submitForm" type="primary" :disabled="formLoading">发 布</el-button><el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button><el-button @click="dialogVisible = false">取 消</el-button></template></Dialog>
</template>
<script setup lang="ts">
import { ParentMeetingApi, ParentMeetingVO } from '@/api/study/parentmeeting'
import { fr } from 'element-plus/es/locale';/** 家长会 表单 */
defineOptions({ name: 'ParentMeetingForm' })
const time = ref([
])
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗const dialogVisible = ref(false) // 弹窗的是否展示
const dialogTitle = ref('') // 弹窗的标题
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
const formType = ref('') // 表单的类型:create - 新增;update - 修改
const formData = ref({id: undefined,className: undefined,subject: undefined,time: undefined,teacherName: undefined,type: undefined,arrivedNum: undefined,status: undefined,meetingContent: undefined,meetingImage: undefined,parentName: undefined,parentPhone: undefined,absentReason: undefined,arrivingNum: undefined,meetingStartTime: undefined,meetingEndTime: undefined,
})
const formRules = reactive({
})
const formRef = ref() // 表单 Ref/** 打开弹窗 */
const open = async (type: string, id?: number) => {dialogVisible.value = truedialogTitle.value = t('action.' + type)formType.value = typeresetForm()// 修改时,设置数据if (id) {formLoading.value = truetry {formData.value = await ParentMeetingApi.getParentMeeting(id)} finally {formLoading.value = false}}
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const changes=(e)=>{const date = new Date(e[0])const date2 = new Date(e[1])// 获取时间戳(毫秒)  const timestamp = date.getTime()const timestamp2 = date2.getTime()formData.value.meetingStartTime = timestampformData.value.meetingEndTime = timestamp2formData.value.time = [dateFormat(timestamp),dateFormat(timestamp2)]}
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const submitForm = async () => {// 校验表单await formRef.value.validate()// 提交请求formLoading.value = truetry {const data = formData.value as unknown as ParentMeetingVOif (formType.value === 'create') {await ParentMeetingApi.createParentMeeting(data)message.success(t('common.createSuccess'))} else {await ParentMeetingApi.updateParentMeeting(data)message.success(t('common.updateSuccess'))}dialogVisible.value = false// 发送操作成功的事件emit('success')} finally {formLoading.value = false}
}
const dateFormat = (value)=>{let date = new Date(value);let y = date.getFullYear();let MM = date.getMonth() + 1<10? ('0' + (date.getMonth() + 1)) : date.getMonth() + 1;let d = date.getDate()< 10 ? ('0' + date.getDate()) :  date.getDate()let h = date.getHours() < 10 ? ('0' +date.getHours()) : date.getHours();const m = date.getMinutes()< 10 ? ('0' + date.getMinutes()) : date.getMinutes();return  y + '-' + MM + '-' + d 
}
/** 重置表单 */
const resetForm = () => {formData.value = {id: undefined,className: undefined,subject: undefined,time: undefined,teacherName: undefined,type: undefined,arrivedNum: undefined,status: undefined,meetingContent: undefined,meetingImage: undefined,parentName: undefined,parentPhone: undefined,absentReason: undefined,arrivingNum: undefined,meetingStartTime: undefined,meetingEndTime: undefined,}formRef.value?.resetFields()
}
</script>
<style scoped lang="scss">
.el-form-item{width: 47%;
}
:deep(.el-form-item__label){width: 130px !important;
}
// .bold{
//   width: 20px;
//   height:20px;
//   border-radius: 50%;
//   background:#85afd5;
//   text-align: center;
//   margin-top:5px;
//   margin-left:-10px;
//   color:#fff
// }
// .btitle{
//   line-height:30px;
//   margin-left:10px;
//   color:#84b0d5
// }
// .tip{
//   border:1px solid #84b0d5;
//   border-radius:0 20px 20px 0;
//   width:140px;
//   height:30px;
//   display:flex;
//   margin-left:30px;
//   margin-bottom:20px
// }
:deep(.el-form-item__content){display: block;
}
:deep(.el-date-editor.el-input, .el-date-editor.el-input__wrapper){width: -webkit-fill-available;
}
.textarea{width: 94%;
}
.el-scrollbar:nth-of-type(2) {display: none !important;}
.el-time-spinner {text-align: center;
}</style>

http://www.hkea.cn/news/417230/

相关文章:

  • 专业做婚纱摄影网站会员制营销
  • 网站内容丰富互动营销平台
  • 阿里巴巴logo高清图谷歌seo网站推广
  • 网站如何做内链seo高手是怎样炼成的
  • 设计师个人网站建设怎样注册一个自己的平台
  • 徐州营销网站建设产品线上推广渠道
  • 绍兴市网站建设公司企业官网搭建
  • 关于网页设计的网站免费发布信息网站大全
  • 郑州新闻头条seo基础教程
  • 做网站比较大的公司朔州seo
  • 如何制作私人网站福州专业的seo软件
  • 做网站主流技术南宁在哪里推广网站
  • 老板让我做网站负责人微博营销软件
  • 教我做网站百度打开
  • 网站开发时如何兼容电商运营是做什么的
  • 河北建设银行石家庄分行招聘网站怎么申请自己的网络平台
  • vs2008 做网站搜索引擎的工作原理是什么
  • 东莞常平做网站公司app营销策划方案
  • 爱用建站 小程序重庆网站制作公司
  • 网站建设小企业案例漯河网络推广哪家好
  • wordpress 清空回收站合肥网站优化软件
  • 电站建设招聘网站智推教育seo课程
  • 做静态网站选用什么服务器站长素材网站
  • 网站建设先做前台还是后台百度认证是什么
  • 广州专业做crm系统的供应商seo网站培训班
  • 景安建网站企业网站seo方案案例
  • 山东滕州疫情最新消息今天i长沙官网seo
  • 公司做网站买域名之后做什么百度一下你就知道手机版
  • 北京婚恋网站哪家最好企业推广宣传方式
  • 国发网站建设西安做网站公司