---
title: "支持复写公文的设置信息-清稿(基线250901以上）"
publicId: "337419e8-5915-4c01-b260-8511fb6ab342"
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/337419e8-5915-4c01-b260-8511fb6ab342"
---
公文提供了一个钩子，可以允许比如流程提交时，调整公文的清稿的设置项。

请参考如下的例子

```javascript
import { eventEmitter } from '@weapp/utils';

/**
 * 执行更新设置的事件
 */
const executeUpdate = (requestId, isOpenClean, callbackFn?: Function, pageKey?: string) => {
  const cleanParams = {
    autoCleanCopy: isOpenClean,    //自动清稿
    cleanCopyNode: isOpenClean,    //清稿节点
    cleanCopyInServer: isOpenClean,   //服务端清稿
    cleanCopy4ReadOnly: isOpenClean   //只读清稿
  };
  /**
     * 调用该方法，修改公文清稿相关的设置项
     * 请注意，会有6个参数
     * 第1个参数：固定写法
     * 第2个参数，固定写法
     * 第3个参数，流程的requestId，必须
     * 第4个参数，更新的公文正文设置项的值，k-v格式
     * 第5个参数，执行之后的回调，可选。主要是用于更新之后执行事件，比如更新之后，执行流程的提交事件。
     * 第6个参数，pageKey，可选。与第3个参数同样的作用，但是会更精确的定位到公文的事件，pageKey的值来源于流程baseStore中的pageKey。
     * 一般用不到该参数，但是当当前页面中有多个打开的流程窗口时，该参数就可以用到。
     */
  eventEmitter.emit('weappOdoc', 'FlowForm.updateOdocFormConfig', requestId,
    cleanParams, callbackFn, pageKey);
}

/**
 * 弹出确认框，确认是否需要清稿
 */
const openOdocConfirmDialog = (successFn: Function, failFn: Function) => {
  const wffpSdk = window.weappWorkflow?.getFlowPageSDK();
  if (!wffpSdk) {
    return;
  }

  const baseStore = wffpSdk.baseStore;
  const { pageKey, baseParam } = baseStore;
  const { requestId } = baseParam;

  //开启清稿
  const okEvent = () => {
    executeUpdate(requestId, true, successFn, pageKey);
  }

  //关闭清稿
  const cancelEvent = () => {
    executeUpdate(requestId, false, successFn, pageKey);
  }

  window.weappUi.Dialog.confirm({
    content: '请确认是否需要清稿？',
    onOk: okEvent,
    onCancel: cancelEvent,
  });
}
```
