<template>
  <view class="px-3 pb-10">
    <view :key="index" v-for="(item, index) in tasks">
      <view class="flex items-center">
        <TimeStatus :content="JSON.stringify(item.state)" :status="item.state" />
        <view class="flex justify-between flex-1 ml-2">
          <view>任务时间栏</view>
          <view>
            <view class="flex justify-between" style="min-width: 180rpx">
              <u-icon custom-prefix="custom-icon" name="C-bxl-redux" size="34"></u-icon>
              <u-icon custom-prefix="custom-icon" name="attachment" size="42"></u-icon>
              <u-icon custom-prefix="custom-icon" name="moneycollect" size="40"></u-icon>
            </view>
          </view>
        </view>
      </view>
      <view class="border-l-2 border-gray-300 ml-3.5 my-2">
        <view class="ml-4 overflow-hidden shadow-lg task-box">
          <u-card
            :show-foot="false"
            :show-head="false"
            :style="{ height: item.panel.height + 'px' }"
            class="h-16"
            margin="0"
            v-if="item.panel.height"
          >
            <view slot="body">
              <view :key="pluginIndex" class="p-0 u-col-between u-skeleton" v-for="(plugin, pluginIndex) in item.plugins">
                <view :key="p.pluginId" v-for="p in plugin">
                  <!-- <component
                    :is="$t.plugin.defaults.find(item => item.id === p.pluginId).component"
                    :item="item"
                    v-if="$t.plugin.defaults.find(item => item.id === p.pluginId)"
                  ></component>-->
                  <p-task-title :item="item" v-if="p.pluginId === 1" />
                  <p-task-description :item="item" v-if="p.pluginId === 2" />
                  <p-task-duration-delay :item="item" v-if="p.pluginId === 3" />
                  <p-task-start-time-delay :item="item" v-if="p.pluginId === 4" />
                  <p-deliverable :item="item" v-if="p.pluginId === 5" />
                  <p-subtasks :item="item" v-if="p.pluginId === 6" />
                  <p-subproject :item="item" v-if="p.pluginId === 7" />
                  <p-task-countdown :item="item" v-if="p.pluginId === 8" />
                </view>
                <!-- <view :key="p.pluginId" v-for="p in plugin">
                  <text v-if="p.pluginId === 4">这是个基准线</text>
                  <component :is="currentComponent"></component>
                  <task-title v-if="p.pluginId === 1" />
                  <task-description v-if="p.pluginId === 2" />
                  <task-duration-delay v-if="p.pluginId === 3" />
                </view>-->
              </view>
            </view>
          </u-card>
        </view>
      </view>
    </view>
    <Tips />
  </view>
</template>

<script>
import { mapState, mapMutations } from 'vuex';
import TimeStatus from './TimeStatus.vue';

export default {
  name: 'TimeBox',
  components: { TimeStatus },
  data() {
    return { currentComponent: '' };
  },

  computed: mapState('home', ['roleId', 'timeNode', 'timeUnit', 'tasks']),

  created() {},

  methods: { ...mapMutations('home', ['setTipsContent', 'setTipsContent']) },
};
</script>

<style scoped lang="scss">
.task-box {
  border-radius: 24rpx;
}
</style>
