import React from 'react';
import { Input, Form, InputNumber } from 'antd';
import { isIntegerNotMust, isCheckPriceTwoDecimal } from '@/utils/validator';
import styles from './style.less';

export function column(specArr = []) {
  return [
    ...specArr,
    {
      title: '供货价',
      dataIndex: 'supplyPrice',
      width: 150,
      align: 'center',
      render: (_, row, index) => (
        <div>
          <Form.Item
            label=""
            key="supplyPrice"
            name={['data', index, 'supplyPrice']}
            initialValue={row.supplyPrice}
            rules={[
              { required: true, message: '请输入供货价！' },
              { validator: isCheckPriceTwoDecimal },
            ]}
          >
            <Input allowClear />
          </Form.Item>
        </div>
      ),
    },
    {
      title: '市场价',
      width: 135,
      align: 'center',
      dataIndex: 'marketPrice',
      render: (_, row, index) => (
        <div>
          <span>{row.marketPrice}</span>
          <div className={styles.hidden}>
            <Form.Item label="" key="id" name={['data', index, 'skuId']} initialValue={row.id}>
              <input />
            </Form.Item>
          </div>
        </div>
      ),
    },
    {
      title: '重量(kg)',
      width: 135,
      align: 'center',
      dataIndex: 'weight',
    },
    {
      title: '库存',
      width: 120,
      dataIndex: 'productStock',
      align: 'center',
      render: (_, row, index) => (
        <div>
          <Form.Item
            label=""
            key="productStock"
            name={['data', index, 'productStock']}
            initialValue={row.productStock}
            rules={[{ required: true, message: '请输入库存！' }, { validator: isIntegerNotMust }]}
          >
            <InputNumber min={1} max={500} />
          </Form.Item>
        </div>
      ),
    },
    {
      title: '库存预警',
      width: 120,
      dataIndex: 'productStockWarning',
      align: 'center',
    },
    {
      title: '商品自编码',
      dataIndex: 'thirdSkuNo',
      width: 200,
      align: 'center',
    },
  ];
}
