基于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


相关文章
|
8月前
|
移动开发 前端开发
基于jeecg-boot的OA日程安排开发(四)
基于jeecg-boot的OA日程安排开发(四)
82 0
|
8月前
基于jeecgboot的OA日程安排开发(三)
基于jeecgboot的OA日程安排开发(三)
73 0
|
8月前
基于jeecgboot的OA日程安排开发(二)
基于jeecgboot的OA日程安排开发(二)
80 0
|
8月前
|
前端开发 API 数据库
基于jeecgboot的OA日程安排开发(一)
基于jeecgboot的OA日程安排开发(一)
84 0
|
JSON 小程序 JavaScript
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
79 0
|
JSON 小程序 前端开发
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
124 0
|
JSON 小程序 JavaScript
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
111 0
|
小程序 JavaScript UED
微信小程序开发之会议OA项目首页搭建
微信小程序开发之会议OA项目首页搭建
157 0
|
15天前
|
安全 数据安全/隐私保护
免费企业级OA办公系统,助力高效办公
拥有一套高效的免费OA办公自动化系统对于企业和机构来说至关重要。然而,对于许多中小型企业而言,购买一套全面的OA系统的成本又比较高。今天,我们为大家带来真正完全免费的点晴OA,让它成为您企业高效办公的得力助手!
50 10
|
22天前
|
安全 数据挖掘 BI
一款功能全面且免费的OA办公系统,下载即用
点晴免费OA办公系统是一款完全免费,不限使用时间,不限用户数,功能全面的免费OA办公系统,下载安装即用,使用点晴OA办公系统可以简单快速地建立办公自动化系统。
58 5