基于jeecg-boot的OA日程安排开发(五)

简介: 基于jeecg-boot的OA日程安排开发(五)

  这部分主要是增加我的日历,日程可以分多钟日历,这样可以灵活一点显示也可以根据不通的日历来显示。

     1、日历可以通过在线开发进行代码生成,只需要修改颜色就可以

 

<a-col :span="24">
            <a-form-model-item label="颜色" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="color">
              <el-color-picker v-model="model.color"
                  :predefine="['#188ae2', '#35b8e0', '#26bf8c','#f9c851','#ff5b5b', '#5b69bc', '#ff8acc', '#3b3e47','#282828' ]" />
              </el-form-item>
            </a-form-model-item>
          </a-col>

 2、日程选择日历的时候带过来相应的参数到日程上面来

<a-col :span="12">
            <a-form-model-item label="日历类型" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="calId">
              <j-popup
                v-model="model.calId"
                field="calId"
                org-fields="id,color,taker,owner"
                dest-fields="calId,color,taker,owner"
                code="SelectCalendar"
                :multi="false"
                @input="popupCallback"
                />
                <!--<a-input v-model="model.calName"></a-input>-->
            </a-form-model-item>
          </a-col>

3、可以增加日历的新增与显示,当然新增也可以去掉,在单独列表进行录入编辑

<a-row :gutter="24">
      <!--<a-col :span="2">
        <a-button @click="handleCalAdd" style="margin-bottom: 20px" type="primary">新建日历</a-button>
      </a-col>-->
      <a-col :span="4">
        <a-button @click="handleSchAdd" style="margin-bottom: 20px" type="primary">新建日程</a-button>
      </a-col>
      <a-col :span="20">
        <j-checkbox
          v-model="jCheckbox"
          :options="jCheckboxOptions"
          @change="onSelCalChange"
        />
      </a-col>
    </a-row>

4、初始化日历,这里同时也调用初始化日程,同时选择不通的日历更新日程表

initCalData() {
      GetCalList().then(res => {
        if (res.success) {
          console.log("GetCalList result=",res.result)
          this.jCheckboxOptions = res.result.map(o => (
          {label: o.name, value: o.id}))
          this.jCheckboxOptions.forEach((item, index) => {
            this.jCheckboxlist.push(item.value)
          })
          this.jCheckbox = JSON.stringify(this.jCheckboxlist)
          this.jCheckbox = this.jCheckbox.replace(/\"/g,"")
          this.jCheckbox = this.jCheckbox.replace("[","")
          this.jCheckbox = this.jCheckbox.replace("]","")
          console.log("jCheckboxOptions",this.jCheckboxOptions)
          console.log("jCheckboxlist ",this.jCheckboxlist)
          console.log("jCheckbox ",this.jCheckbox)
          this.initData();
        }  
        
      })
    },
onSelCalChange(checkedValues) {
      console.log("onSelCalChange ",checkedValues)
      console.log("onSelCalChange jCheckbox",this.jCheckbox)
      this.initData();
    },

5、后端方面的代码,主要是日历获取以及日程获取修改

@Override
  public List<OaCalendar> getList() {
    SysUser loginUser = iEstarThirdService.getLoginUser();
        String userId = loginUser.getUsername();
    QueryWrapper<OaCalendar> queryWrapper = new QueryWrapper<>();
        queryWrapper.lambda().eq(OaCalendar::getCreateBy,userId)
                .orderByAsc(OaCalendar::getCreateTime);
        return this.list(queryWrapper);
  }
@Override
  public List<OaSchedule> getList(ScheduleTime scheduleTime) {
    SysUser loginUser = iEstarThirdService.getLoginUser();
        String userId = loginUser.getUsername();
    QueryWrapper<OaSchedule> queryWrapper = new QueryWrapper<>();
        Date startTimes = DateUtil.stringToDates(scheduleTime.getStartTime());
        Date endTimes = DateUtil.stringToDates(scheduleTime.getEndTime());
        List<String>  idlist= Arrays.asList(scheduleTime.getIds().split(","));
        queryWrapper.lambda().eq(OaSchedule::getCreateBy,userId)
                .in(OaSchedule::getCalId, idlist)
                .ge(OaSchedule::getStartTime,startTimes)
                .le(OaSchedule::getEndTime,endTimes)
                .orderByAsc(OaSchedule::getCreateTime);
        return this.list(queryWrapper);
  }

6、界面

 

 

更多功能看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://122.227.135.243:9888


相关文章
|
7月前
|
移动开发 前端开发
基于jeecg-boot的OA日程安排开发(四)
基于jeecg-boot的OA日程安排开发(四)
73 0
|
7月前
基于jeecgboot的OA日程安排开发(三)
基于jeecgboot的OA日程安排开发(三)
48 0
|
7月前
基于jeecgboot的OA日程安排开发(二)
基于jeecgboot的OA日程安排开发(二)
71 0
|
7月前
|
前端开发 API 数据库
基于jeecgboot的OA日程安排开发(一)
基于jeecgboot的OA日程安排开发(一)
67 0
|
JSON 小程序 JavaScript
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
73 0
|
JSON 小程序 前端开发
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
114 0
|
JSON 小程序 JavaScript
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
103 0
|
小程序 JavaScript UED
微信小程序开发之会议OA项目首页搭建
微信小程序开发之会议OA项目首页搭建
148 0
|
28天前
|
安全 搜索推荐 数据安全/隐私保护
点晴免费OA办公系统:高效协同,安全易用
信息技术发展推动企业信息化,即企业利用现代技术提升生产、经营、管理效率,增强竞争力。点晴免费OA系统作为信息化管理的基础,是实现企业信息化的关键手段。
33 2
|
2月前
|
数据安全/隐私保护
点晴OA办公系统让企业变得高效协同
随着企业信息化进程的加快,很多企业开始寻求使用企业管理免费OA办公系统来提高工作效率。然而,有些些企业可能缺乏信息化经验,对技术一无所知,甚至从未接触过OA办公系统。在这种情况下,企业需要寻求功能比较全面的OA办公系统,以满足企业的实际需求。
48 1