import dayjs from 'dayjs';

function getcolumns(setdrawer) {
  return [
    {
      tab: '我的待办',
      key: '1',
      columns: [
        {
          title: '保养单号',
          dataIndex: 'taskNo',
          key: 'taskNo',
          render: (text, row, _, action) => {
            return (
              <a
                onClick={() => {
                  setdrawer((s) => ({
                    ...s,
                    open: true,
                    val: 'only',
                    title: '详细信息',
                    item: row,
                  }));
                }}
              >
                {row?.maintainNo}
              </a>
            );
          },
        },
        {
          title: '设备编号',
          dataIndex: 'equipmentNo',
          key: 'equipmentNo',
        },
        {
          title: '设备名称',
          dataIndex: 'equipmentName',
          key: 'equipmentName',
        },
        {
          title: '保养类型',
          dataIndex: 'maintainTypeName',
          key: 'maintainType',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '自主保养',
              value: '1',
            },
            {
              label: '专业保养',
              value: '2',
            },
          ],
        },
        {
          title: '保养频次',
          dataIndex: 'maintainFrequencyName',
          key: 'maintainFrequency',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '周',
              value: '0',
            },
            {
              label: '月度',
              value: '1',
            },
            {
              label: '季度',
              value: '2',
            },
            {
              label: '半年',
              value: '3',
            },
            {
              label: '一年',
              value: '4',
            },
          ],
        },
        {
          title: '保养截止日期',
          dataIndex: 'planMaintainDate',
          key: 'planMaintainDateList',
          valueType: 'dateRange',
          render: (text, row, _, action) => {
            return (
              <span
                style={{
                  color: `${
                    dayjs(row.planMaintainDate).valueOf() < dayjs().format('YYYY-MM-DD').valueOf()
                      ? '#f50'
                      : 'rgba(0, 0, 0, 0.85)'
                  }`,
                }}
              >
                {row.planMaintainDate}
              </span>
            );
          },
        },
        {
          title: '接单时间',
          dataIndex: 'maintainStartTime',
          key: 'maintainStartTimeList',
          valueType: 'dateRange',
        },
        {
          title: '保养人员',
          dataIndex: 'maintainUserName',
          key: 'maintainUserName',
          valueType: 'select',
          fieldProps: {
            showSearch: true,
          },
          options: {
            path: '/auth/sysUser/selection',
          },
        },
        {
          title: '状态',
          dataIndex: 'taskStatusName',
          key: 'taskStatus',
          valueType: 'select',
          fieldProps: {
            dropdownMatchSelectWidth: 100,
          },
          mode: 'radio',
          options: [
            {
              label: '待接单',
              value: '1',
            },
            {
              label: '保养中',
              value: '2',
            },
            {
              label: '待验证',
              value: '5',
            },
          ],
        },
      ],
      pathconfig: {
        enableadd: false,
        enableedit: false,
        enabledelete: false,
        enabledetail: false,
        add: '',
        edit: '',
        list: '/maintain/umMaintainTask/queryMyDealwithList',
        delete: '',
        detail: '',
      },
    },
    {
      tab: '未完成',
      key: '2',
      columns: [
        {
          title: '保养单号',
          dataIndex: 'taskNo',
          key: 'taskNo',
          render: (text, row, _, action) => {
            return (
              <a
                onClick={() => {
                  setdrawer((s) => ({
                    ...s,
                    open: true,
                    val: 'only',
                    title: '详细信息',
                    item: row,
                  }));
                }}
              >
                {row?.maintainNo}
              </a>
            );
          },
        },
        {
          title: '设备编号',
          dataIndex: 'equipmentNo',
          key: 'equipmentNo',
        },
        {
          title: '设备名称',
          dataIndex: 'equipmentName',
          key: 'equipmentName',
        },
        {
          title: '保养类型',
          dataIndex: 'maintainTypeName',
          key: 'maintainType',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '自主保养',
              value: '1',
            },
            {
              label: '专业保养',
              value: '2',
            },
          ],
        },
        {
          title: '保养频次',
          dataIndex: 'maintainFrequencyName',
          key: 'maintainFrequency',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '周',
              value: '0',
            },
            {
              label: '月度',
              value: '1',
            },
            {
              label: '季度',
              value: '2',
            },
            {
              label: '半年',
              value: '3',
            },
            {
              label: '一年',
              value: '4',
            },
          ],
        },
        {
          title: '保养截止日期',
          dataIndex: 'planMaintainDate',
          key: 'planMaintainDateList',
          valueType: 'dateRange',
          render: (text, row, _, action) => {
            return (
              <span
                style={{
                  color: `${
                    dayjs(row.planMaintainDate).valueOf() < dayjs().format('YYYY-MM-DD').valueOf()
                      ? '#f50'
                      : 'rgba(0, 0, 0, 0.85)'
                  }`,
                }}
              >
                {row.planMaintainDate}
              </span>
            );
          },
        },
        {
          title: '接单时间',
          dataIndex: 'maintainStartTime',
          key: 'maintainStartTimeList',
          valueType: 'dateRange',
        },
        {
          title: '保养人员',
          dataIndex: 'maintainUserName',
          key: 'maintainUserName',
          valueType: 'select',
          fieldProps: {
            showSearch: true,
          },
          options: {
            path: '/auth/sysUser/selection',
          },
        },
        {
          title: '状态',
          dataIndex: 'taskStatusName',
          key: 'taskStatus',
          fieldProps: {
            dropdownMatchSelectWidth: 100,
          },
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '待接单',
              value: '1',
            },
            {
              label: '保养中',
              value: '2',
            },
            {
              label: '待验证',
              value: '5',
            },
          ],
        },
      ],
      pathconfig: {
        enableadd: false,
        enableedit: false,
        enabledelete: false,
        enabledetail: false,
        add: '',
        edit: '',
        list: '/maintain/umMaintainTask/queryList',
        delete: '',
        detail: '',
      },
    },
    {
      tab: '已完成',
      key: '3',
      columns: [
        {
          title: '保养单号',
          dataIndex: 'taskNo',
          key: 'taskNo',
          render: (text, row, _, action) => {
            return (
              <a
                onClick={() => {
                  setdrawer((s) => ({
                    ...s,
                    open: true,
                    val: 'only',
                    title: '详细信息',
                    item: row,
                  }));
                }}
              >
                {row?.maintainNo}
              </a>
            );
          },
        },
        {
          title: '设备编号',
          dataIndex: 'equipmentNo',
          key: 'equipmentNo',
        },
        {
          title: '设备名称',
          dataIndex: 'equipmentName',
          key: 'equipmentName',
        },
        {
          title: '保养类型',
          dataIndex: 'maintainTypeName',
          key: 'maintainType',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '自主保养',
              value: '1',
            },
            {
              label: '专业保养',
              value: '2',
            },
          ],
        },
        {
          title: '保养频次',
          dataIndex: 'maintainFrequencyName',
          key: 'maintainFrequency',
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '周',
              value: '0',
            },
            {
              label: '月度',
              value: '1',
            },
            {
              label: '季度',
              value: '2',
            },
            {
              label: '半年',
              value: '3',
            },
            {
              label: '一年',
              value: '4',
            },
          ],
        },
        {
          title: '保养截止日期',
          dataIndex: 'planMaintainDate',
          key: 'planMaintainDateList',
          valueType: 'dateRange',
          render: (text, row, _, action) => {
            return (
              <span
                style={{
                  color: `${
                    dayjs(row.planMaintainDate).valueOf() < dayjs().format('YYYY-MM-DD').valueOf()
                      ? '#f50'
                      : 'rgba(0, 0, 0, 0.85)'
                  }`,
                }}
              >
                {row.planMaintainDate}
              </span>
            );
          },
        },
        {
          title: '接单时间',
          dataIndex: 'maintainStartTime',
          key: 'maintainStartTimeList',
          valueType: 'dateRange',
        },
        {
          dataIndex: 'customsTime',
          valueType: 'dateRange',
          title: '关单时间',
          key: 'customsTimeList',
        },
        {
          title: '保养人员',
          dataIndex: 'maintainUserName',
          key: 'maintainUserName',
          valueType: 'select',
          fieldProps: {
            showSearch: true,
          },
          options: {
            path: '/auth/sysUser/selection',
          },
        },
        {
          title: '状态',
          dataIndex: 'taskStatusName',
          key: 'taskStatus',
          fieldProps: {
            dropdownMatchSelectWidth: 100,
          },
          valueType: 'select',
          mode: 'radio',
          options: [
            {
              label: '待接单',
              value: '1',
            },
            {
              label: '保养中',
              value: '2',
            },
            {
              label: '待验证',
              value: '5',
            },
          ],
        },
      ],
      pathconfig: {
        enableadd: false,
        enableedit: false,
        enabledelete: false,
        enabledetail: false,
        add: '',
        edit: '',
        list: '/maintain/umMaintainTaskHis/queryList',
        delete: '',
        detail: '',
      },
    },
  ];
}
export default getcolumns;