import React from 'react';
import Taro from '@tarojs/taro';
import dayjs from 'dayjs';
import { View, ScrollView, RichText, Image, Text } from '@tarojs/components';
import { APPLY_READY, getIssueStatus } from '@/utils/biz';
import icon from '@/assets/icons/marker.png';
import style from './style.module.less';

const colors = [
  ['rgba(130, 176, 254, 0.08)', 'rgba(52, 121, 237, 1)'], // 未交办
  ['rgba(51, 218, 156, 0.08)', 'rgba(26, 117, 101, 1)'], // 已交办
  ['rgba(251, 157, 75, 0.08)', 'rgba(232, 116, 16, 1)'], // 已办结
  ['rgba(255, 245, 245, 1)', 'rgba(255, 76, 76, 1)'], // 已逾期
  ['transparent', 'rgba(159, 159, 159, 1)'], // 已打回
  ['rgba(255, 245, 245, 1)', 'rgba(255, 76, 76, 1)'], // 逾期办结
]

export default (props) => {

  const { issue, applyInfo, onClick, color, stText } = props;
  const detail = issue || applyInfo;

  const [
    content,
    createDate,
    styleColor,
    statusTxt,
  ] = React.useMemo(() => {
    if (!detail) return [];

    // detail 有可能是申请信息
    const { value: bizStatus = 0, label: statusText } = getIssueStatus({
      ...detail || {},
      processNode: detail?.processNode || detail?.applyType,
      processStatus: detail?.processStatus || detail?.verifyStatus || APPLY_READY,
    });

    return [
      (detail.issueContent || detail.content || '').replace('\r\n', '<br>').replace('\n', '<br>'),
      dayjs(detail.createDate).format('YYYY-MM-DD HH:mm'),
      colors[color ?? bizStatus],
      statusText,
    ];
  }, [detail, color, stText]);
  // console.log('issue', issue)
  // console.log('detail', detail)

  const [bg1, bg2] = styleColor || [];

  return (
    <View className={style['issue-card-wrapper']} onClick={onClick}>
      <View className={style['issue-card-header']}>
        <View>
          <View>ID:{detail?.issueId}</View>
          <View>问题清单</View>
        </View>
        <View>
          <View>{detail?.typeName ? detail?.typeName : ' '}</View>
          <View>{createDate}</View>
        </View>
      </View>
      <View className={style['issue-card-body']} style={{ backgroundColor: bg1 }}>
        <ScrollView scrollY style={{ height: '100%' }}>
          <RichText nodes={content} />
        </ScrollView>
      </View>
      <View className={style['issue-card-footer']}>
        <View>
          <Image src={icon} />
          <Text style={{ 'verticalAlign': 'middle' }}>{detail?.issueAddr || detail?.addr || ''}</Text>
        </View>
        <View style={{ color: bg2 }}>{statusTxt}</View>
      </View>
    </View>
  )
}
