import { Button, Form, Input, Table, Tag } from "antd";
import { FC, useState } from "react";
import classNames from "classnames";
import { DageTableActions } from "@dage/pc-components";
import { EvaluationModal } from "../EvaluationModal";
import style from "./index.module.scss";

export interface OverallAssessmentProps {
  isReportDetail?: boolean;
  isEvalutionDetail?: boolean;
}

const { TextArea } = Input;

export const OverallAssessment: FC<OverallAssessmentProps> = ({
  isReportDetail,
  isEvalutionDetail,
}) => {
  const [modalVisible, setModelVisible] = useState(false);

  return (
    <Form
      labelCol={{ offset: 1, span: 3 }}
      wrapperCol={{
        offset: 1,
      }}
      colon={false}
      className={classNames(style.form, "mw1125")}
    >
      <Form.Item label="考核说明">
        <p>
          一、绩效考核的优势
          1.鼓励员工增强工作积极性。通过绩效考核，员工可以明确工作目标，把工作分解成具体任务，并制定完成时间和标准。这样可以有针对性地制定工作计划，提高工作效率和工作积极性。
          2.强化员工责任感和纪律性。通过绩效考核，可以为员工的工作成果负责，提高员工的责任感，使员工更有纪律性，遵循公司的规章制度和业务流程。
          3.提升企业整体绩效。通过绩效考核，可以及时发现和解决员工工作不足，保证公司的工作效率和整体绩效。
          二、绩效考核的劣势
          1.评价标准不合理。有些公司在绩效考核过程中，没有明确的评价标准，导致员工之间评价不公，对于那些表现突出但不符合标准的员工，也可能被低估。
          2.评价方式不合理。
          评价方式主要包括逐级评价、360度评价和目标管理等，但这些评价方式大多数针对高级管理人员，对于基层员工基本没有评价。这导致员工对绩效考核过程不满，也不利于员工的提升和发展。
          3.员工积极性下降。有些公司用相对公正的评价方式，但是考核过程不透明，甚至没有足够的沟通和反馈，导致员工积极性下降，对于公司的发展也不利。
        </p>
      </Form.Item>

      {!isReportDetail && (
        <>
          <Form.Item label="考核进度">
            <Table
              pagination={false}
              className="cus-table"
              columns={[
                {
                  title: "部门名称",
                  dataIndex: "name",
                  align: "center",
                },
                {
                  title: "部门考核状态",
                  dataIndex: "type",
                  align: "center",
                },
              ]}
            />
          </Form.Item>

          <Form.Item label="评定意见">
            {isEvalutionDetail ? (
              <TextArea
                rows={6}
                placeholder="请输入文字，不超过1000字"
                maxLength={1000}
              />
            ) : (
              <p>
                1、
                工作中具有独立思考、不断创新的能力。对工作有高度的事业心和责任感，积极主动工作，认真履行自己的职责。
                2、
                该同志工作态度端正，对工作有高度的事业心和责任感，政治立场坚定，方向明确，忠诚并献身于党和人民的教育事业，治学严谨，热爱学生，以身作则，为人师表。
                3、
                该同志遵纪守法，具有良好的社会公德和家庭美德，有高尚的职业道德，关爱学生，面向全体学生，注重学生的全面发展，认真履行教师职务职责，有强烈的服务意识。
                4、
                该同志政治立场坚定，教育思想端正，专业知识及基本功扎实过硬，具有很强的表达能力，善于做思想政治工作。严格遵守学校的作息时间和工作纪律，全身心地投入工作。
              </p>
            )}
          </Form.Item>
        </>
      )}

      <Form.Item label="资料上传">
        <div className={style.fileUploadHeader}>
          <div>
            <Tag>选填</Tag>
            <h3>这是一段资料名称 | zip,jpg,png</h3>
          </div>
          <Button type="primary" ghost>
            下载模板
          </Button>
        </div>

        <Table
          rowKey="id"
          className="cus-table"
          pagination={false}
          dataSource={[
            {
              id: 1,
              editor: "郑文钧",
              create_time: "2024-09-22 22:10:08",
            },
          ]}
          columns={[
            {
              title: "附件名称",
              dataIndex: "file",
              align: "center",
            },
            {
              title: "责任部门",
              dataIndex: "department",
              align: "center",
            },
            {
              title: "上传用户",
              dataIndex: "user",
              align: "center",
            },
            {
              title: "编辑时间",
              dataIndex: "create_time",
              align: "center",
            },
            {
              title: "操作",
              align: "center",
              render: () => (
                <DageTableActions
                  renderBefore={
                    <Button size="small" type="link">
                      下载
                    </Button>
                  }
                  showDelete={isReportDetail}
                  showEdit={false}
                />
              ),
            },
          ]}
        />
      </Form.Item>

      {!isReportDetail && (
        <Form.Item label="附加项">
          <Table
            rowKey="id"
            className="cus-table"
            pagination={false}
            dataSource={[
              {
                id: 1,
                editor: "郑文钧",
                create_time: "2024-09-22 22:10:08",
              },
            ]}
            columns={[
              {
                title: "加分项名称",
                dataIndex: "file",
                align: "center",
              },
              {
                title: "指标分值",
                dataIndex: "department",
                align: "center",
              },
              {
                title: "评定得分",
                dataIndex: "user",
                align: "center",
              },
              {
                title: "评定人",
                dataIndex: "create_time",
                align: "center",
              },
              {
                title: "评定意见",
                dataIndex: "create_time",
                align: "center",
              },
              {
                title: "操作",
                align: "center",
                hidden: !isEvalutionDetail,
                render: () => <Button type="link">评定</Button>,
              },
            ]}
          />

          <Table
            rowKey="id"
            style={{ marginTop: 20 }}
            className="cus-table"
            pagination={false}
            dataSource={[
              {
                id: 1,
                editor: "郑文钧",
                create_time: "2024-09-22 22:10:08",
              },
            ]}
            columns={[
              {
                title: "减分项名称",
                dataIndex: "file",
                align: "center",
              },
              {
                title: "可扣分值",
                dataIndex: "department",
                align: "center",
              },
              {
                title: "评定得分",
                dataIndex: "user",
                align: "center",
              },
              {
                title: "评定人",
                dataIndex: "create_time",
                align: "center",
              },
              {
                title: "评定意见",
                dataIndex: "create_time",
                align: "center",
              },
              {
                title: "操作",
                align: "center",
                hidden: !isEvalutionDetail,
                render: () => (
                  <Button type="link" onClick={() => setModelVisible(true)}>
                    评定
                  </Button>
                ),
              },
            ]}
          />
        </Form.Item>
      )}

      <EvaluationModal
        open={modalVisible}
        onCancel={() => setModelVisible(false)}
      />
    </Form>
  );
};
