index.js 1.81 KB
/* eslint-disable */
import React, { useEffect, useRef } from "react";
import jsPreviewPdf from "@js-preview/pdf";
import * as commonConfig from "@/utils/config";
import useCommonBase from "@/components/Common/CommonHooks/useCommonBase";

import styles from "./index.less";

const ProcessInstructionBookNewEvent = props => {
  const { formData = [] } = props;

  useEffect(
    () => {
      if (!formData.length) return;
      handleGetData();
    },
    [formData.length]
  );
  // 获取数据集
  const handleGetData = async () => {
    let addState = {};
    const config = formData[0];
    const conditonValues = props.onGetSqlConditionValues(config);

    const result =
      (await props.onGetDataSet({
        name: "slave",
        configData: config,
        condition: {
          sSqlCondition: conditonValues,
        },
        isWait: true,
      })) || {};

    addState = { ...addState, ...result };
    props.onSaveState(addState);
  };

  return {
    ...props,
  };
};

const ProcessInstructionBookNew = baseProps => {
  const props = ProcessInstructionBookNewEvent(useCommonBase(baseProps));

  const { slaveData = [], app } = props;
  const [slaveRow = {}] = slaveData;
  const { sPicturePath } = slaveRow;

  const fileUrl = `${commonConfig.file_host}file/download?savePathStr=${encodeURIComponent(sPicturePath)}&sModelsId=100&token=${app.token}`;

  const officeRef = useRef(null);
  useEffect(
    () => {
      if (!sPicturePath) return;

      const myDocxPreviewer = jsPreviewPdf.init(officeRef.current);
      myDocxPreviewer.preview(fileUrl);
    },
    [sPicturePath]
  );

  return (
    <div className={styles.processInstructionBookNew} ref={officeRef}>
      {!sPicturePath && <div className={styles.noData}>请先上传工艺作业指导书!</div>}
    </div>
  );
};

export default ProcessInstructionBookNew;