| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /**
- * 曼卡龙合同页面同步区(可复制到各合同页面 JS)。
- *
- * 使用说明:
- * 1. 按当前页面修改 getMankalongContractFieldIds() 中的组件 ID。
- * 2. didMount 中先调用 await this._mklLoad(),再调用 initMankalongContractPage()。
- * 3. “生成合同”按钮绑定 onClickContractGenerate。
- * 4. “合同确认”按钮绑定 onClickContractConfirm。
- *
- * 依赖:页面已加载 mjs.corp.mkl(https://mc.cloudpure.cn/mjs/mkl/mjs.min.js)。
- */
- /**
- * @returns {Object} 当前合同页面固定配置
- */
- function getMankalongContractPageConfig() {
- return {
- formUuid: 'FORM-BBFA15D85B2E4E8D832C2F0FE49CAF782GO3',
- subDirectory: '工程类',
- dingOrgId: '908563201',
- corpId: 'ding3735baea6bea68ac24f2f5cc6abecb85',
- };
- }
- /**
- * @returns {Object} 当前合同页面组件 ID
- */
- function getMankalongContractFieldIds() {
- return {
- uniqueId: 'textField_mte3gh61',
- contractNo: 'textField_mrishceq',
- mode: 'radioField_mryiusal',
- type: 'textField_mspzgras',
- masterNo: 'textField_mrylbq28',
- name: 'textField_mryko9bh',
- attachment: 'attachmentField_msv7rz7m',
- generateButton: 'button_msiiyhct',
- confirmButton: 'button_mtfaz1tq',
- };
- }
- /**
- * @returns {Promise<Object>} 初始化后的合同页面状态
- */
- export async function initMankalongContractPage() {
- const ids = getMankalongContractFieldIds();
- if (mjs.env == 0) {
- const contractNo = this.$(ids.contractNo);
- const attachment = this.$(ids.attachment);
- if (contractNo && typeof contractNo.reset === 'function') contractNo.reset();
- if (attachment && typeof attachment.reset === 'function') attachment.reset();
- }
- return mjs.corp.mkl.initContractPage({
- componentIds: ids,
- });
- }
- /**
- * @returns {Promise<*>} 合同预览生成结果
- */
- export async function onClickContractGenerate() {
- const config = getMankalongContractPageConfig();
- const ids = getMankalongContractFieldIds();
- return mjs.corp.mkl.runContractGenerate({
- componentIds: ids,
- generateContract: () => mjs.corp.mkl.generateSubFormImages({
- formUuid: config.formUuid,
- type: 'preview',
- componentIds: ids,
- dingOrgId: config.dingOrgId,
- corpId: config.corpId,
- }),
- });
- }
- /**
- * @returns {Promise<Object|null>} 合同确认结果
- */
- export async function onClickContractConfirm() {
- const config = getMankalongContractPageConfig();
- const ids = getMankalongContractFieldIds();
- return mjs.corp.mkl.runContractConfirm({
- componentIds: ids,
- subDirectory: config.subDirectory,
- generateMode: 'generate',
- allowMissingInstanceId: true,
- generateContract: (params) => this.generateMankalongContractFile(params),
- });
- }
- /**
- * @returns {void} 清理合同页面定时器
- */
- export function didUnmount() {
- if (window.mjs && mjs.corp && mjs.corp.mkl) {
- mjs.corp.mkl.disposeContractPage();
- }
- }
|