import Taro from '@tarojs/taro';
import classnames from 'classnames';
import { Block, View, Image, Text, Input } from '@tarojs/components';
import { Popup, Progress, Slider } from '@antmjs/vantui';
import { useRef } from 'react'
import Echarts, { EChartOption, EchartsHandle } from 'taro-react-echarts'
import echarts from '@/utils/echarts.min.js'
import './index.less';

interface Props {
  Electricity: any;
  matrixElectricity: any;
  facialMaskConnectStatus: any;
}

function Index() {
  const stepIndex = 0
  const testIndex = 1

  const stepList = [
    {
      value: 'Step1',
      name: '额头',
      finish: false,
    },
    {
      value: 'Step2',
      name: '左脸颊',
      finish: false,
    },
    {
      value: 'Step3',
      name: '右脸颊',
      finish: false,
    },
  ]

  const gearLevel = {
    currentGear: null,
    //现在工作的档位
    currentGearMode: 'forehead',
    //现在工作模式
    forehead: 5,
    leftCheek: 5,
    rightCheek: 5,
  }
  const echartsRef = useRef<EchartsHandle>(null)
  const option: EChartOption = {
    grid: { // 让图表占满容器
      top: '28rpx',
      left: '18rpx',
      right: '28rpx',
      bottom: '17rpx'
    },
    legend: {
      show: false,
      zlevel: -1
    },
    xAxis: {
      // name: '',
      // nameGap: 5,
      // nameTextStyle: {
      //   color: '#e4e4e4',
      //   fontSize:7
      // },
      type: 'category',
      axisLine: {
        //坐标轴轴线相关设置。数学上的x轴
        show: true,
        lineStyle: {
          color: '#cccccc'
        }
      },
      axisLabel: {
        //坐标轴刻度标签的相关设置
        color: '#cccccc',
        fontSize: 8
      },
      axisTick: {
        show: false
      },
      data: [
        '00:01',
        '00:02',
        '00:03',
        '00:04',
        '00:05',
        '00:06',
        '00:07',
        '00:08',
        '00:09',
        '00:10'
      ]
    },
    yAxis: {
      type: 'value',
      min: 0,
      max: 8,
      splitNumber: 8,
      splitLine: {
        show: false,
        lineStyle: {
          color: '#cccccc',
          type: [4, 2],
          dashOffset: 4
        }
      },
      axisLine: {
        show: false
      },
      axisLabel: {
        show: false
      },
      axisTick: {
        show: false
      }
    },
    visualMap: {
      z: 1,
      top: 0,
      right: 0,
      seriesIndex: 0,
      show: false,
      pieces: [
        {
          gt: 0,
          lte: 1,
          color: '#fff8c9'
        },
        {
          gt: 1,
          lte: 2,
          color: '#fff0c6'
        },
        {
          gt: 2,
          lte: 3,
          color: '#ffe5c3'
        },
        {
          gt: 3,
          lte: 4,
          color: '#ffdbbf'
        },
        {
          gt: 4,
          lte: 5,
          color: '#ffcfbb'
        },
        {
          gt: 5,
          lte: 6,
          color: '#ffbab5'
        },
        {
          gt: 6,
          lte: 7,
          color: '#ffb4b3'
        },
        {
          gt: 7,
          lte: 8,
          color: '#ffb4b3'
        }
      ],
      outOfRange: {
        color: '#ff8410'
      }
    },
    series: [
      {
        data: [2, 3, 5, 3, 5, 6, 8, 5, 6, 4],
        type: 'line',
        smooth: true,
        z: 1,
        areaStyle: {},
        color: 'red'
      },
      {
        data: [2, 3, 5, 3, 5, 6, 8, 5, 6, 4],
        type: 'line',
        smooth: true,
        symbolSize: 5,
        lineStyle: {
          color: '#ff8410',
          width: 1
        },
        itemStyle: {
          color: '#ff8410'
        }
      },
      {
        name: 'a',
        data: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        type: 'bar',
        barWidth: 12,
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#ffcf56'
        }
      },
      {
        name: 'b',
        data: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#febb22'
        }
      },
      {
        name: 'c',
        data: [0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#ffac28'
        }
      },
      {
        name: 'd',
        data: [0, 0, 1, 0, 1, 1, 1, 1, 1, 1],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#ff8410'
        }
      },
      {
        name: 'e',
        data: [0, 0, 1, 0, 1, 1, 1, 1, 1, 0],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#f85804'
        }
      },
      {
        name: 'f',
        data: [0, 0, 0, 0, 0, 1, 1, 0, 1, 0],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#e02e14'
        }
      },
      {
        name: 'h',
        data: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#b30016'
        }
      },
      {
        name: 'i',
        data: [0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
        type: 'bar',
        z: 2,
        stack: 'x',
        visualMap: false,
        itemStyle: {
          color: '#750010'
        }
      }
    ]
  }

  const level = [8, 7, 6, 5, 4, 3, 2]

  return (
    <Block>
      <View className='box' >
        <Echarts
          echarts={echarts}
          option={option}
          ref={echartsRef}
          // isPage={false}
          // style自定义设置echarts宽高
          style={{ width: '630rpx', height: '260rpx' }}
        />
        <View className='box_background'>
          <Image className='full' src={require('@/img/full-scran.png')}></Image>
          <View className='power'>实时能量</View>
          {
            level.map(item => (
              <View className='line' key={item}>
                <View className='number'>{item}</View><View className='bottom_line'>8</View>
              </View>)
            )
          }
          <View className='line' >
            <View className='number'>1</View>
          </View>
          <View className='time'>时间</View>
        </View>
      </View>


      <Block>
        <View>
          <View className='water_test'>
            <View className='test_step flex aitems sb'>
              {stepList.map((item, index) => {
                return (
                  <View
                    className='step_block flex aitems'
                    key={index}
                  >
                    <View className='step_top flex aitems'>
                      <View className='drop'></View>
                      <View className='step_num'>
                        {item.value}
                      </View>
                      {index != 2 && (
                        <View className='line'></View>
                      )}
                    </View>
                    <View className='step_name'>{item.name}</View>
                  </View>
                )
              })}
            </View>
            <View className='test_txt'>
              通过小紫弹的水分测试功能，对脸部的额头、左脸颊、右脸颊三个区域进行水分检测，并定制适合您的促渗档位方案
            </View>
          </View>

          <View className='testing'>
            <View className='testing_header flex aitems'>
              {stepList.map((item, index) => {
                return (
                  <View
                    className='items flex aitems jcenter'
                    key={index}
                    style={
                      stepIndex == index ? 'background: #fff' : ''
                    }
                  >
                    {stepIndex > index && (
                      <Image
                        className='finish_img'
                        src={require('@/img/full-scran.png')}
                        mode='aspectFill'
                      ></Image>
                    )}
                    <View className='value'>{item.value}</View>
                    <View className='name'>{item.name}</View>
                  </View>
                )
              })}
            </View>
            <View className='testing_content'>
              <View className='progress_box flex aitems'>
                <View className='title'>
                  {stepList[stepIndex].name + '水分测试'}
                </View>
                {/*  <view class='progress_block flex aitems'> */}
                <Progress
                  style={{
                    width: '300rpx',
                  }}
                  percentage='80'
                  strokeWidth='14'
                  showPivot={false}
                  color='#C2E5F3'
                ></Progress>
                {stepList[stepIndex].finish && 80 >= 99 ? (
                  <Image
                    className='finish_img'
                    src={require('@/img/finished.png')}
                    mode='aspectFill'
                  ></Image>
                ) : (
                  <Image
                    className='finish_img'
                    src={require('@/img/no-finish.png')}
                    mode='aspectFill'
                  ></Image>
                )}
                {/*  </view> */}
              </View>
              {/*  <view class='tips' wx:if='{{!finish}}'> */}
              {/*  请参考视频指引，将仪器紧贴<text style='color: #000000'>额头区域</text> */}
              {/*  </view> */}
              <View className='tips flex sb'>
                <View>
                  请参考视频指引，将仪器紧贴
                  {(testIndex == 1 ||
                    testIndex == 2 ||
                    testIndex == 4) && (
                      <Text
                        style={{
                          color: '#000000',
                        }}
                      >
                        {stepList[stepIndex].name + '区域'}
                      </Text>
                    )}
                  {testIndex == 1 && (
                    <Text>，并点击下方启动检测按钮进行测试</Text>
                  )}
                </View>
              </View>
            </View>
          </View>

        </View>

        <View>
          <View className='gear_adjust'>
            <View className='title'>档位调节</View>
            <View className='gear_box'>
              <View className='gear flex aitems'>
                <View className='pos'>额头</View>
                <Slider
                  style={{
                    flex: '1',
                  }}
                  value={gearLevel.forehead}
                  min={1}
                  max={10}
                  inactiveColor='#F8F8F8'
                  activeColor={
                    gearLevel.currentGearMode == 'forehead'
                      ? '#EECDA1'
                      : '#CCCCCC'
                  }
                  disabled={gearLevel.currentGearMode !== 'forehead'}
                  barHeight={6}
                  // useButtonSlot
                  data-key='forehead'
                  // onDrag={this.onDrag}
                  // onChange={this.onChange}
                  renderButton={
                    <Block>
                      <View
                        className={
                          'custom-button ' +
                          (gearLevel.currentGearMode !== 'forehead' &&
                            'current-button')
                        }
                      >
                        <View className='circle'></View>
                        <View className='level'>
                          {gearLevel.forehead + '档'}
                        </View>
                      </View>
                    </Block>
                  }
                ></Slider>
              </View>
              <View className='gear flex aitems'>
                <View className='pos'>左脸颊</View>
                <Slider
                  style={{
                    flex: '1',
                  }}
                  value={gearLevel.leftCheek}
                  min={1}
                  max={10}
                  inactiveColor='#F8F8F8'
                  activeColor={
                    gearLevel.currentGearMode == 'leftCheek'
                      ? '#EECDA1'
                      : '#CCCCCC'
                  }
                  disabled={gearLevel.currentGearMode !== 'leftCheek'}
                  barHeight={6}
                  // useButtonSlot
                  data-key='leftCheek'
                  // onDrag={this.onDrag}
                  // onChange={this.onChange}
                  renderButton={
                    <Block>
                      <View
                        className={
                          'custom-button ' +
                          (gearLevel.currentGearMode !==
                            'leftCheek' && 'current-button')
                        }
                      >
                        <View className='circle'></View>
                        <View className='level'>
                          {gearLevel.leftCheek + '档'}
                        </View>
                      </View>
                    </Block>
                  }
                ></Slider>
              </View>
              <View className='gear flex aitems'>
                <View className='pos'>右脸颊</View>
                <Slider
                  style={{
                    flex: '1',
                  }}
                  value={gearLevel.rightCheek}
                  min={1}
                  max={10}
                  inactiveColor='#F8F8F8'
                  activeColor={
                    gearLevel.currentGearMode == 'rightCheek'
                      ? '#EECDA1'
                      : '#CCCCCC'
                  }
                  disabled={
                    gearLevel.currentGearMode !== 'rightCheek'
                  }
                  barHeight={6}
                  // useButtonSlot
                  data-key='rightCheek'
                  // onDrag={this.onDrag}
                  // onChange={this.onChange}
                  renderButton={
                    <Block>
                      <View
                        className={
                          'custom-button flex jcenter aitems ' +
                          (gearLevel.currentGearMode !==
                            'rightCheek' && 'current-button')
                        }
                      >
                        <View className='circle'></View>
                        <View className='level'>
                          {gearLevel.rightCheek + '档'}
                        </View>
                      </View>
                    </Block>
                  }
                ></Slider>
              </View>
              {/* <View className='level_box flex aitems'>
                {(10).map((item, index) => {
                  return (
                    <View key={item}
                      className='level_num'
                      style={{
                        marginRight: '1.225rem',
                      }}
                    >
                      {item + 1}
                    </View>
                  )
                })}
              </View> */}
            </View>
          </View>
        </View>


        <View className='gear_adjustment'>
          <View className='gear_box'>
            <View className='gear flex aitems'>
              <View className='pos'>额头</View>
              <View className='gear_button flex aitems'>
                <View className='button_minus'><Image className='image' src={require('@/img/fr200/minus.png')}></Image></View>
                <View className='button_value'><View className='number'>1</View>档</View>
                <View className='button_plus'><Image className='image' src={require('@/img/fr200/add.png')}></Image></View>
              </View>
            </View>
            <View className='gear flex aitems'>
              <View className='pos'>左脸颊</View>
              <View className='gear_button flex aitems'>
                <View className='button_minus'><Image className='image' src={require('@/img/fr200/minus.png')}></Image></View>
                <View className='button_value'><View className='number'>1</View>档</View>
                <View className='button_plus'><Image className='image' src={require('@/img/fr200/add.png')}></Image></View>
              </View>
            </View>
            <View className='gear flex aitems'>
              <View className='pos'>右脸颊</View>
              <View className='gear_button flex aitems'>
                <View className='button_minus'><Image className='image' src={require('@/img/fr200/minus.png')}></Image></View>
                <View className='button_value'><View className='number'>1</View>档</View>
                <View className='button_plus'><Image className='image' src={require('@/img/fr200/add.png')}></Image></View>
              </View>
            </View>
          </View>
        </View>
      </Block>
    </Block>

  );


}



export default Index;
