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


相关文章
|
3月前
|
移动开发 前端开发
基于jeecg-boot的OA日程安排开发(四)
基于jeecg-boot的OA日程安排开发(四)
35 0
|
3月前
基于jeecgboot的OA日程安排开发(三)
基于jeecgboot的OA日程安排开发(三)
22 0
|
3月前
基于jeecgboot的OA日程安排开发(二)
基于jeecgboot的OA日程安排开发(二)
23 0
|
3月前
|
前端开发 API 数据库
基于jeecgboot的OA日程安排开发(一)
基于jeecgboot的OA日程安排开发(一)
21 0
|
8月前
|
JSON 小程序 JavaScript
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
微信小程序开发的OA会议之会议,个人中心的页面搭建及模板以及自定义组件
53 0
|
9月前
|
JSON 小程序 前端开发
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
微信小程序开发之会议OA首页后台数据交互(内带新知识点分享)
89 0
|
9月前
|
JSON 小程序 JavaScript
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
微信小程序开发之自定义组件(会议OA项目其他页面搭建)
88 0
|
9月前
|
小程序 JavaScript UED
微信小程序开发之会议OA项目首页搭建
微信小程序开发之会议OA项目首页搭建
113 0
|
5天前
|
Java uml
某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该请假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批
该博客文章通过一个OA系统中的请假审批模块示例,使用Java语言实现了职责链模式,展示了如何根据不同的请假天数由不同级别的领导进行审批,并讨论了职责链模式的优缺点。
某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该请假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批
|
9天前
|
JavaScript 前端开发 搜索推荐
【Vue 2】一个功能强大OA办公系统,开源且免费!!
【Vue 2】一个功能强大OA办公系统,开源且免费!!