Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@codernote/plan-hours

Package Overview
Dependencies
Maintainers
2
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codernote/plan-hours

计划软件右侧hours

npmnpm
Version
1.0.1
Version published
Weekly downloads
30
-70.59%
Maintainers
2
Weekly downloads
 
Created
Source

计划软件 - hours

计划软件右侧hours

安装

npm install @codernote/plan-hours

使用


// 组件使用示例
<template>
  <PlanHours
    ref="hoursPanel"
    :day="hoursFocusIdx"
    :data="tempInfo"
    :show="showHours"
    :dragTaskInfo="dragTaskInfo"
    :isDragBlockMove="isDragBlockMove"
    :dragOverConfig="dragOverConfig"
    @hide="handleHideHours"
    @moveAreaChange="moveAreaChange"
    @changeTaskInfo="changeTaskInfo"
  />
</template>

<script>

import {
  PlanHours, // 组件
  dragTaskMixin, // mixin
  hoursConstant, // 常量
} from "@codernote/record-list";

export default {
  components: {
    HoursPanel,
  },
  mixins: [
    dragTaskMixin
  ],
  data() {
    return {
      showHours: false,
      tempInfo: {},       // 所有已经安排的任务:{hoursFocusIdx: {level1:[任务], level2:[任务], level3:[任务]}}
      hoursFocusIdx: -1,  // 任务所属时间天数
      goalTable: {
        goalMap: new Map(), // 储存所有项目的微观任务{hoursFocusIdx:{任务所属项目Id:任务}}  (只有level1和level2任务)
        hoursInfo: {        // 所有已经安排的任务:{hoursFocusIdx: {level1:[任务], level2:[任务], level3:[任务]}}
        },
      }
    }
  },
  mounted() { 
    // 初始化测试数据
    this.initData()
  },
  methods: {
    initData() { 
      this.hoursFocusIdx = 13538
      this.goalTable = {
        goalMap: {
          13538: {  // key为当前天数
            '1705142510832': {  // key为任务所属项目Id
              bold: 1, // 非0 即是level1
              finish: 0, // 非0 即是完成
              desc: 'level1--111',   // 内容
              idx: 13538,
              item_id: '1705142510832',
              isAssigned: 1, // 是否被安排
              assignStartTime: '', // 所安排的开始时间
              assignEndTime: '', // 所安排的结束时间
              created_at: 1706334306212,
              type: MEASURE_ENUM.day, // 尺度枚举(同步下标)
            },
            '1705142510831': {  // key为任务所属项目Id
              bold: 0, // 非0 即是level1
              finish: 0, // 非0 即是完成
              desc: 'level2--222',   // 内容
              idx: 13538,
              item_id: '1705142510831',
              isAssigned: 0, // 是否被安排
              assignStartTime: '', // 所安排的开始时间
              assignEndTime: '', // 所安排的结束时间
              created_at: 1706334306212,
              type: MEASURE_ENUM.day, // 尺度枚举(同步下标)
            }
          }
        },
        hoursInfo: {
          13538: {
            level1: [
            {
                "bold": 1,
                "finish": 0,
                "desc": "level1--111",
                "idx": 13538,
                "item_id": "1705142510832",
                "isAssigned": 1,
                "assignStartTime": "8:59",
                "assignEndTime": "9:59",
                "type": 6,
                "level": "level1",
                created_at: 1706334306212,
                "height": 45.470588235294116,
                "top": 90.26470588235294
            }
            ],
            level2: [],
            level3: [
              {  
                assignEndTime: "11:31",
                assignStartTime: "10:31",
                desc: "level3-test",
                finish: 0,
                height: 45.470588235294116,
                idx: 13538,
                inputFocus: false,
                isAssigned: 1,
                item_id: "1706406040037",
                created_at: 1706334306212,
                level: "level3",
                top: 160,
              }
            ],
          }
        }
      }
      this.tempInfo = this.goalTable.hoursInfo[this.hoursFocusIdx]
    },
    /**
     * 任务状态变更
     * @param {Number} type 任务类型  1:添加  2:修改  3:取消
     * @param {Object} item 任务详情
     * @param {String} level 任务等级 level1/level2/level3
     */
    taskStatusChange(type, item = {}, level = '') {
      switch(type) {
        case hoursConstant.ARRANGE_TASK_TYPE.add:
          console.log('添加')
          break;
        case hoursConstant.ARRANGE_TASK_TYPE.update:
          console.log('修改')
          break;
        case hoursConstant.ARRANGE_TASK_TYPE.del:
          console.log('删除')
          break;
      }
    }
  }
}
</script>

props

<PlanHours
  {/* 必需,写死,mixins调用 */}
  ref="hoursPanel"

  {/* 必需,任务所属天数 */}
  :day="noteList"

  {/* 必需,所有已经安排的任务:{hoursFocusIdx: {level1:[任务], level2:[任务], level3:[任务]}} */}
  :data="activeNote"

  {/* 是否显示当前组件,默认false */}
  :show="true"
  
  {/* 必需,引入mixins后,写死 */}
  :dragTaskInfo="dragTaskInfo"

  {/* 必需,引入mixins后,写死 */}
  :isDragBlockMove="isDragBlockMove"

  {/* 必需,引入mixins后,写死 */}
  :dragOverConfig="dragOverConfig"

  {/* 事件:关闭窗口 */}
  @hide="handleHideHours"

  {/* 必需,引入mixins后,写死 */}
  @moveAreaChange="moveAreaChange"

  {/* 必需,引入mixins后,写死 */}
  @changeTaskInfo="changeTaskInfo"
/>

发布

npm publish

FAQs

Package last updated on 08 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts