676 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			676 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| /*q2LCmxM8POvl78IL0LiydqJ/RITUXLjH1kojvbLBRO8=*/
 | ||
| /*
 | ||
|  * @Descripttion: 
 | ||
|  * @version: 
 | ||
|  * @Author: Chendch
 | ||
|  * @Date: 2020-11-12 09:20:20
 | ||
|  * @LastEditors: xiadling xiadling@yonyou.com
 | ||
|  * @LastEditTime: 2023-09-27 14:20:15
 | ||
|  */
 | ||
| import {urls, values, childTabArr, formid, baseFormId} from "./../methodGroup/constance";
 | ||
| import updateButtonStatus from "./updateButtonStatus";
 | ||
| import {ajax, toast, print, getBusinessInfo, promptBox, base, formDownload} from 'nc-lightapp-front';
 | ||
| 
 | ||
| const {NCTooltip} = base;
 | ||
| export default function (props, id) {
 | ||
|     let _this = this;
 | ||
|     let {initImages, initImagesrc, initImgList, curPageIndex} = this.state;
 | ||
|     switch (id) {
 | ||
|         case 'Add':
 | ||
|             ajax({
 | ||
|                 url: urls['addMaterial'],
 | ||
|                 data: {node_type: this.config.node_type},
 | ||
|                 success: (res) => {
 | ||
|                     this.pageStatus = 'add';
 | ||
|                     this.setState({formStatus: 'add', isBrowse: false}, () => {
 | ||
|                         this.clearPage(true, () => {
 | ||
|                             if (this.config.node_type === 'GROUP_NODE') {
 | ||
|                                 let businessInfo = getBusinessInfo();
 | ||
|                                 this.getAddData(businessInfo.groupId);
 | ||
|                             } else {
 | ||
|                                 if (this.contextOrg.refpk) {
 | ||
|                                     this.getAddData(this.contextOrg.refpk);
 | ||
|                                 } else {
 | ||
|                                     this.getAddData();
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         });
 | ||
|                         updateButtonStatus(this.props, this.state.formStatus);
 | ||
|                     });
 | ||
|                     ajax({
 | ||
|                         url: urls['judgeCodeEdit'],
 | ||
|                         data: {pk_org: this.props.form.getFormItemsValue(formid, 'pk_org').value},
 | ||
|                         success: (res) => {
 | ||
|                             if (res.data) {
 | ||
|                                 //设置可编辑性
 | ||
|                                 this.props.form.setFormItemsDisabled(baseFormId, {code: !res.data.isCodeEdit});
 | ||
|                                 this.props.form.setFormItemsRequired(baseFormId, {code: !res.data.isNextCode});
 | ||
|                             }
 | ||
|                         }
 | ||
|                     });
 | ||
|                     this.setState({images: [], imagesrc: [], imgList: [], curPageIndex: 0, defaultIndex: -1});
 | ||
|                     this.updateFormEditEnable(this.config.node_type);
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Edit':
 | ||
|             if (!this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 break;
 | ||
|             }
 | ||
|             this.updateUploadData(this.props.form.getFormItemsValue(formid, 'pk_material').value);
 | ||
|             ajax({
 | ||
|                 url: urls['editMaterial'],
 | ||
|                 data: {pk: this.props.form.getFormItemsValue(formid, 'pk_material').value},
 | ||
|                 success: (res) => {
 | ||
|                     this.setState({
 | ||
|                         formStatus: 'edit',
 | ||
|                         isBrowse: false
 | ||
|                     }, this.updatePageStatus);
 | ||
|                     //更新头部按钮状态
 | ||
|                     updateButtonStatus(this.props, 'edit');
 | ||
|                     this.pageStatus = 'edit';
 | ||
|                     ajax({
 | ||
|                         url: urls['judgeCodeEdit'],
 | ||
|                         data: {pk_org: this.props.form.getFormItemsValue(formid, 'pk_org').value},
 | ||
|                         success: (res) => {
 | ||
|                             if (res.data) {
 | ||
|                                 //设置可编辑性
 | ||
|                                 this.props.form.setFormItemsDisabled(baseFormId, {code: !res.data.isCodeEdit});
 | ||
|                                 this.props.form.setFormItemsRequired(baseFormId, {code: !res.data.isNextCode});
 | ||
|                             }
 | ||
|                         }
 | ||
|                     });
 | ||
|                     this.updateFormEditEnable(this.config.node_type);
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Cancel':
 | ||
|             promptBox({
 | ||
|                 color: "warning",               // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输
 | ||
|                 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000014'),                // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认取消*/
 | ||
|                 content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000015'),             // 提示内容,非必输/* 国际化处理: 是否确认要取消?*/
 | ||
|                 noFooter: false,                // 是否显示底部按钮(确定、取消),默认显示(false),非必输
 | ||
|                 noCancelBtn: false,             // 是否显示取消按钮,,默认显示(false),非必输
 | ||
|                 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000016'),          // 确定按钮名称, 默认为"确定",非必输/* 国际化处理: 确定*/
 | ||
|                 cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000017'),           // 取消按钮名称, 默认为"取消",非必输/* 国际化处理: 取消*/
 | ||
|                 beSureBtnClick: () => {
 | ||
|                     if (this.state.code !== '') {
 | ||
|                         ajax({
 | ||
|                             url: urls['rollBackMaterialBillCode'],
 | ||
|                             data: {
 | ||
|                                 pk_org: this.props.form.getFormItemsValue(formid, 'pk_org').value,
 | ||
|                                 code: this.state.code
 | ||
|                             },
 | ||
|                             success: (res) => {
 | ||
|                                 console.log(res);
 | ||
|                             }
 | ||
|                         });
 | ||
|                     }
 | ||
|                     ajax({
 | ||
|                         url: urls['materialcancel'],
 | ||
|                         success: (res) => {
 | ||
|                             this.setState({
 | ||
|                                 images: initImages,
 | ||
|                                 imagesrc: initImagesrc,
 | ||
|                                 imgList: initImgList,
 | ||
|                                 curPageIndex: 0,
 | ||
|                                 transform: "translatex(0px)"
 | ||
|                             })
 | ||
|                         }
 | ||
|                     })
 | ||
| 
 | ||
|                     // props.editTable.resetTableData(values['convert']);
 | ||
|                     if (this.pageStatus == "template") {
 | ||
|                         const pkOrgVO = props.form.getFormItemsValue(baseFormId, "pk_org");
 | ||
|                         props.form.EmptyAllFormValue(formid);
 | ||
|                         props.form.EmptyAllFormValue(baseFormId);
 | ||
|                         props.form.setFormItemsValue(baseFormId, {pk_org: pkOrgVO});
 | ||
|                         props.form.setFormItemsValue(formid, {pk_org: pkOrgVO});
 | ||
|                         this.props.editTable.setTableData(values['convert'], {rows: []});
 | ||
|                     } else {
 | ||
|                         props.form.cancel(formid);
 | ||
|                         props.form.cancel(baseFormId);
 | ||
|                     }
 | ||
|                     this.pageStatus = 'browse';
 | ||
|                     this.setState({
 | ||
|                         formStatus: 'browse',
 | ||
|                         isBrowse: true
 | ||
|                     }, this.updatePageStatus);
 | ||
|                     this.queryAttachByPath(this.materialID);//查询图片
 | ||
|                     this.getData();
 | ||
|                     //更新头部按钮状态
 | ||
|                     updateButtonStatus(this.props, 'browse');
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Delete':
 | ||
|             let pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!pk || !pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             if (this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 props.modal.show('deleteModal');
 | ||
|             }
 | ||
|             break;
 | ||
|         case 'Save':
 | ||
|             this.save(false);
 | ||
|             break;
 | ||
|         case 'SaveAdd' :
 | ||
|             this.save(true);
 | ||
|             break;
 | ||
|         case 'Refresh':
 | ||
|             this.getData(() => {
 | ||
|                 toast({
 | ||
|                     title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-0000147'),
 | ||
|                     color: 'success'
 | ||
|                 });/* 国际化处理: 刷新成功*/
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Enable':
 | ||
|             if (!this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 break;
 | ||
|             }
 | ||
|             promptBox({
 | ||
|                 color: 'warning',               // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输
 | ||
|                 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000018'),                // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认启用*/
 | ||
|                 content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000019'),             // 提示内容,非必输/* 国际化处理: 是否确认要启用数据?*/
 | ||
|                 noFooter: false,                // 是否显示底部按钮(确定、取消),默认显示(false),非必输
 | ||
|                 noCancelBtn: false,             // 是否显示取消按钮,,默认显示(false),非必输
 | ||
|                 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000016'),          // 确定按钮名称, 默认为"确定",非必输/* 国际化处理: 确定*/
 | ||
|                 cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000017'),           // 取消按钮名称, 默认为"取消",非必输/* 国际化处理: 取消*/
 | ||
|                 beSureBtnClick: () => {
 | ||
|                     let _enable_dataArr = [];
 | ||
|                     let _enable_Obj = {
 | ||
|                         status: '2',
 | ||
|                         values: {
 | ||
|                             ts: {
 | ||
|                                 display: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000020'),/* 国际化处理: 时间戳*/
 | ||
|                             },
 | ||
|                             pk_material: {
 | ||
|                                 display: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000021'),/* 国际化处理: 主键*/
 | ||
|                             }
 | ||
|                         }
 | ||
|                     };
 | ||
|                     _enable_Obj.values.ts.value = this.props.form.getFormItemsValue(formid, 'ts').value;
 | ||
|                     _enable_Obj.values.pk_material.value = this.props.form.getFormItemsValue(formid, 'pk_material').value;
 | ||
|                     _enable_dataArr.push(_enable_Obj);
 | ||
|                     let enable_data = {
 | ||
|                         pageid: this.pagecodeValues['list_pagecode'],
 | ||
|                         model: {
 | ||
|                             areaType: 'table',
 | ||
|                             pageinfo: null,
 | ||
|                             rows: _enable_dataArr
 | ||
|                         }
 | ||
|                     };
 | ||
|                     ajax({
 | ||
|                         url: urls['enableMaterial'],
 | ||
|                         data: enable_data,
 | ||
|                         success: (res) => {
 | ||
|                             let {success, data} = res;
 | ||
|                             if (data && data.material && data.material.rows) {
 | ||
|                                 this.props.form.setFormItemsValue(formid, {
 | ||
|                                     ts: data.material.rows[0].values['ts'],
 | ||
|                                     enablestate: data.material.rows[0].values['enablestate']
 | ||
|                                 });
 | ||
|                                 updateButtonStatus(this.props, 'browse');
 | ||
|                                 toast({
 | ||
|                                     content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000022'),
 | ||
|                                     color: 'success'
 | ||
|                                 });/* 国际化处理: 启用成功*/
 | ||
|                             }
 | ||
|                         }
 | ||
|                     });
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Disable':
 | ||
|             if (!this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 break;
 | ||
|             }
 | ||
|             promptBox({
 | ||
|                 color: 'warning',               // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输
 | ||
|                 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000023'),                // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认停用*/
 | ||
|                 content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000024'),             // 提示内容,非必输/* 国际化处理: 是否确认要停用数据?*/
 | ||
|                 noFooter: false,                // 是否显示底部按钮(确定、取消),默认显示(false),非必输
 | ||
|                 noCancelBtn: false,             // 是否显示取消按钮,,默认显示(false),非必输
 | ||
|                 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000016'),          // 确定按钮名称, 默认为"确定",非必输/* 国际化处理: 确定*/
 | ||
|                 cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000017'),           // 取消按钮名称, 默认为"取消",非必输/* 国际化处理: 取消*/
 | ||
|                 beSureBtnClick: () => {
 | ||
|                     let _disable_dataArr = [];
 | ||
|                     let _disable_Obj = {
 | ||
|                         status: '2',
 | ||
|                         values: {
 | ||
|                             ts: {
 | ||
|                                 display: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000020'),/* 国际化处理: 时间戳*/
 | ||
|                             },
 | ||
|                             pk_material: {
 | ||
|                                 display: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000021'),/* 国际化处理: 主键*/
 | ||
|                             }
 | ||
|                         }
 | ||
|                     };
 | ||
|                     _disable_Obj.values.ts.value = this.props.form.getFormItemsValue(formid, 'ts').value;
 | ||
|                     _disable_Obj.values.pk_material.value = this.props.form.getFormItemsValue(formid, 'pk_material').value;
 | ||
|                     _disable_dataArr.push(_disable_Obj);
 | ||
|                     let disable_data = {
 | ||
|                         pageid: this.pagecodeValues['list_pagecode'],
 | ||
|                         model: {
 | ||
|                             areaType: 'table',
 | ||
|                             pageinfo: null,
 | ||
|                             rows: _disable_dataArr
 | ||
|                         }
 | ||
|                     };
 | ||
|                     ajax({
 | ||
|                         url: urls['disableMaterial'],
 | ||
|                         data: disable_data,
 | ||
|                         success: (res) => {
 | ||
|                             let {success, data} = res;
 | ||
|                             if (data.error) {
 | ||
|                                 toast({content: data.error, color: 'warning'});/* 错误提示*/
 | ||
|                             } else if (data && data.grid && data.grid.material && data.grid.material.rows) {
 | ||
|                                 this.props.form.setFormItemsValue(formid, {
 | ||
|                                     ts: data.grid.material.rows[0].values['ts'],
 | ||
|                                     enablestate: data.grid.material.rows[0].values['enablestate']
 | ||
|                                 });
 | ||
|                                 updateButtonStatus(this.props, 'browse');
 | ||
|                                 toast({
 | ||
|                                     content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000025'),
 | ||
|                                     color: 'success'
 | ||
|                                 });/* 国际化处理: 停用成功*/
 | ||
|                             }
 | ||
|                         }
 | ||
|                     });
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Copy':
 | ||
|             ajax({
 | ||
|                 url: urls['addMaterial'],
 | ||
|                 data: {node_type: this.config.node_type},
 | ||
|                 success: (res) => {
 | ||
|                     this.pageStatus = 'copy';
 | ||
|                     this.setState({
 | ||
|                         formStatus: 'add',
 | ||
|                         isBrowse: false
 | ||
|                     }, () => {
 | ||
|                         this.setState({img_url: ''}, () => {
 | ||
|                             this.getData(() => {
 | ||
|                                 this.props.form.setFormItemsValue(formid, {
 | ||
|                                     code: ""
 | ||
|                                 });
 | ||
|                                 this.props.form.setFormItemsValue(baseFormId, {
 | ||
|                                     code: ""
 | ||
|                                 });
 | ||
|                                 // this.props.form.EmptyAllFormValue('audit');
 | ||
|                                 this.setState({
 | ||
|                                     images: [],
 | ||
|                                     imagesrc: [],
 | ||
|                                     imgList: [],
 | ||
|                                     curPageIndex: 0,
 | ||
|                                     defaultIndex: -1
 | ||
|                                 });
 | ||
|                             });
 | ||
| 
 | ||
|                             this.updateFormEditEnable(this.config.node_type)
 | ||
|                             updateButtonStatus(this.props, 'copy');
 | ||
|                         });
 | ||
|                     });
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'CreateVersion':
 | ||
|             if (!this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 break;
 | ||
|             }
 | ||
|             if (this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 promptBox({
 | ||
|                     color: 'warning',               // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输
 | ||
|                     title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000032'),                // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 提示信息*/
 | ||
|                     content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000061'),             // 提示内容,非必输/* 国际化处理: 是否创建选中物料的新版本数据?*/
 | ||
|                     noFooter: false,                // 是否显示底部按钮(确定、取消),默认显示(false),非必输
 | ||
|                     noCancelBtn: false,             // 是否显示取消按钮,,默认显示(false),非必输
 | ||
|                     beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000016'),          // 确定按钮名称, 默认为"确定",非必输/* 国际化处理: 确定*/
 | ||
|                     cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000017'),           // 取消按钮名称, 默认为"取消",非必输/* 国际化处理: 取消*/
 | ||
|                     beSureBtnClick: this.createVerisonBeSureBtnClick
 | ||
|                 });
 | ||
|             }
 | ||
|             break;
 | ||
|         case 'BatchUpdate':
 | ||
|             let reqData = this.getReqData();
 | ||
|             ajax({
 | ||
|                 url: urls['mergerequest'],
 | ||
|                 data: reqData,
 | ||
|                 success: (res) => {
 | ||
|                     if (res && res.data) {
 | ||
|                         this.initBatchTemplate(props, res.data);
 | ||
|                     }
 | ||
|                     pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|                     let pk_org = this.props.form.getFormItemsValue(formid, 'pk_org');
 | ||
|                     if (!pk || !pk.value || !pk_org || !pk_org.value) {
 | ||
|                         return
 | ||
|                     }
 | ||
| 
 | ||
|                     let orgs = [pk_org.value];
 | ||
|                     let pks = [pk.value];
 | ||
| 
 | ||
|                     this.Batcheditmodal.show(pks, orgs, this.permOrg);
 | ||
|                 }
 | ||
|             })
 | ||
|             break;
 | ||
|         case 'BatchUpdateWizard':
 | ||
|             let reqQueryData = this.getReqData();
 | ||
|             ajax({
 | ||
|                 url: urls['mergerequest'],
 | ||
|                 data: reqQueryData,
 | ||
|                 success: (res) => {
 | ||
|                     if (res && res.data) {
 | ||
|                         this.initBatchTemplate(props, res.data);
 | ||
|                     }
 | ||
|                     this.Batcheditstepmodal.show();
 | ||
|                 }
 | ||
|             })
 | ||
|             break;
 | ||
|         case 'BatchUpdateRuleTeam':
 | ||
|             if (this.props.config.node_type === 'ORG_NODE') {
 | ||
|                 this.props.openTo('/uapbd/material/batchupdaterule_org/main/index.html', {
 | ||
|                     appcode: '10140BURO',
 | ||
|                     pagecode: '10140BURO_LIST'
 | ||
|                 });
 | ||
|             } else {
 | ||
|                 this.props.openTo('/uapbd/material/batchupdaterule_grp/main/index.html', {
 | ||
|                     appcode: '10140BURG',
 | ||
|                     pagecode: '10140BURG_LIST'
 | ||
|                 });
 | ||
|             }
 | ||
|             break;
 | ||
|         case 'Assign'://分配
 | ||
|             pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!pk || !pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             ajax({
 | ||
|                 url: urls['queryJurisdiction'],
 | ||
|                 data: {},
 | ||
|                 success: (res) => {
 | ||
|                     if (res.data) {
 | ||
|                         //页签切换到主页签
 | ||
|                         this.setInitDefaultTabbyStatus(true);
 | ||
|                         this.assignModal.show([pk.value], false);
 | ||
|                     } else {
 | ||
|                         this.setInitDefaultTabbyStatus(true);
 | ||
|                         if (this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                             this.assignModal.show([pk.value], false);
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
|             });
 | ||
| 
 | ||
|             break;
 | ||
|         case 'AssignWizard'://向导分配
 | ||
|             let AppCode = this.props.getAppCode();
 | ||
|             let req_Data = [
 | ||
|                 {
 | ||
|                     rqUrl: urls['queryTemp'],
 | ||
|                     rqJson: `{\n  \"pagecode\": \"${this.pagecodeValues['assign']}\"\n}`,
 | ||
|                     rqCode: 'assign_template'
 | ||
|                 }]
 | ||
|             ajax({
 | ||
|                 url: urls['mergerequest'],
 | ||
|                 data: req_Data,
 | ||
|                 success: (res) => {
 | ||
|                     if (res && res.data) {
 | ||
|                         let meta = props.meta.getMeta();
 | ||
|                         meta['search4assign'] = res.data.assign_template.search4assign;
 | ||
|                         meta['material4assign'] = res.data.assign_template.material4assign;
 | ||
|                         let businessInfo = getBusinessInfo();
 | ||
|                         meta['search4assign'].items.forEach((item, index) => {
 | ||
|                             if (item.attrcode === 'pk_org_assign') {
 | ||
|                                 meta['search4assign'].items[index].itemtype = 'refer';
 | ||
|                                 meta['search4assign'].items[index].refName = props.MutiInit.getIntl("10140MATERIAL") && props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-0000158')/* 国际化处理: 业务单元+集团*/;
 | ||
|                                 meta['search4assign'].items[index].refName_db = props.MutiInit.getIntl("10140MATERIAL") && props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-0000158')/* 国际化处理: 业务单元+集团*/;
 | ||
|                                 meta['search4assign'].items[index].refcode = 'uapbd/refer/org/BusinessUnitAndGroupTreeRef/index';
 | ||
|                                 /* meta['search4assign'].items[index].queryCondition = {
 | ||
|                                     AppCode : props.config.appcode,
 | ||
|                                     TreeRefActionExt:'nccloud.web.refer.sqlbuilder.PrimaryOrgSQLBuilder'
 | ||
|                                 } */
 | ||
|                             } else if (item.attrcode === 'pk_marbasclass') {
 | ||
|                                 meta['search4assign'].items[index].isMultiSelectedEnabled = true;
 | ||
|                             } else if (item.attrcode === 'pk_brand' || item.attrcode === 'prodarea' || item.attrcode === 'pk_prodline' || item.attrcode === 'creator' || item.attrcode === 'modifier' || item.attrcode === 'delperson') {
 | ||
|                                 meta['search4assign'].items[index].isShowDisabledData = true;
 | ||
|                             }
 | ||
|                             if (item.attrcode === 'pk_org' && props.config.node_type === 'ORG_NODE') {
 | ||
|                                 meta['search4assign'].items[index].refcode = 'uapbd/refer/org/BusinessUnitAndGroupTreeRef/index';
 | ||
|                                 meta['search4assign'].items[index].queryCondition = {
 | ||
|                                     AppCode: AppCode,
 | ||
|                                     TreeRefActionExt: 'nccloud.web.uapbd.material.action.PrimaryGroupAndOrgSQLBuilder'
 | ||
|                                 }
 | ||
|                             } else if (item.attrcode === 'pk_org' && props.config.node_type === 'GROUP_NODE') {
 | ||
|                                 meta['search4assign'].items[index].refcode = 'uapbd/refer/org/BusinessUnitAndGroupTreeRef/index';
 | ||
|                                 meta['search4assign'].items[index].queryCondition = {
 | ||
|                                     pk_group: businessInfo.groupId,
 | ||
|                                     AppCode: AppCode,
 | ||
|                                     TreeRefActionExt: 'nccloud.web.uapbd.material.action.BusinessUnitAndGroupTreeRefExt'
 | ||
|                                 }
 | ||
|                             } else if (item.attrcode === 'pk_marbasclass') {
 | ||
|                                 meta['search4assign'].items[index].isMultiSelectedEnabled = true;
 | ||
|                                 meta['search4assign'].items[index].isShowDisabledData = true;
 | ||
|                                 meta['search4assign'].items[index].isShowUnit = true;
 | ||
|                             }
 | ||
|                         });
 | ||
|                         props.meta.setMeta(meta);
 | ||
|                     }
 | ||
|                     //页签切换到主页签
 | ||
|                     this.setInitDefaultTabbyStatus(true);
 | ||
|                     this.assignStepModal.show('assign');
 | ||
|                 }
 | ||
|             })
 | ||
|             break;
 | ||
|         case 'CancelAssign':
 | ||
|             pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!pk || !pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             ajax({
 | ||
|                 url: urls['queryJurisdiction'],
 | ||
|                 data: {},
 | ||
|                 success: (res) => {
 | ||
|                     if (res.data) {
 | ||
|                         //页签切换到主页签
 | ||
|                         this.setInitDefaultTabbyStatus(true);
 | ||
|                         this.assignModal.show([pk.value], true);
 | ||
|                     } else {
 | ||
|                         if (this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                             //页签切换到主页签
 | ||
|                             this.setInitDefaultTabbyStatus(true);
 | ||
|                             this.assignModal.show([pk.value], true);
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'AssignStatus':
 | ||
|             //页签切换到主页签
 | ||
|             this.setInitDefaultTabbyStatus(true);
 | ||
|             let pk_material = this.props.form.getFormItemsValue(formid, 'pk_material').value;
 | ||
|             this.props.modal.show('assignstatusModal', {
 | ||
|                 title: [this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000048'), /* 国际化处理: 已分配组织查询*/,/* 国际化处理: 已分配组织查询*/
 | ||
|                     <NCTooltip inverse
 | ||
|                                overlay={this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-0000180')}
 | ||
|                                trigger={["hover"]}>
 | ||
|                         <span className='iconfont icon-shuoming1 shuoming-style'></span>
 | ||
|                     </NCTooltip>],
 | ||
|                 content: this.getAssignStatus(pk_material)
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'OrgBrowse':
 | ||
|             props.modal.show('orgBrowseModal');
 | ||
|             break;
 | ||
|         case 'QueryOrgDoc':
 | ||
|             props.modal.show('marOrgModal');
 | ||
|             break;
 | ||
|         case 'Print':
 | ||
|             let _print_pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!_print_pk || !_print_pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             this.setState({oids: [_print_pk.value]},
 | ||
|                 print('pdf',
 | ||
|                     urls['print'],
 | ||
|                     {
 | ||
|                         funcode: this.config.print.funcode,
 | ||
|                         nodekey: this.config.print.nodekey,
 | ||
|                         oids: [_print_pk.value]
 | ||
|                     })
 | ||
|             );
 | ||
|             break;
 | ||
|         case 'Output':
 | ||
|             let _output_pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!_output_pk || !_output_pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             this.setState({oids: [_output_pk.value]}, () => {
 | ||
|                 this.refs.printOutput.open()
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Associate':
 | ||
|             let pk_material_pf = this.props.form.getFormItemsValue('material', 'pk_material_pf');
 | ||
|             if (pk_material_pf && pk_material_pf.value) {
 | ||
|                 this.props.openTo('/uapbd/material/material_pf/approve/index.html', {
 | ||
|                     id: pk_material_pf.value,
 | ||
|                     status: 'browse',
 | ||
|                     appcode: '10140MPFA',
 | ||
|                     pagecode: '10140MPFA_approve',
 | ||
|                     ismaterial: true
 | ||
|                 });
 | ||
|             }
 | ||
|             break;
 | ||
|         case 'File':
 | ||
|             if (!this.hasPerm(this.props.form.getFormItemsValue(formid, 'pk_org').value)) {
 | ||
|                 break;
 | ||
|             }
 | ||
|             let uploaderDir = this.props.form.getFormItemsValue('material', 'pk_material');
 | ||
|             if (uploaderDir && uploaderDir.value) {
 | ||
|                 this.setState({
 | ||
|                     showUploader: true,
 | ||
|                     uploaderDir: uploaderDir.value
 | ||
|                 });
 | ||
|             }
 | ||
|             break;
 | ||
|         case 'Upgrade'://升级
 | ||
|             if (this.props.form.getFormItemsValue(formid, 'pk_group').value === this.props.form.getFormItemsValue(formid, 'pk_org').value) {
 | ||
|                 toast({
 | ||
|                     content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000026'),
 | ||
|                     color: 'warning'
 | ||
|                 });/* 国际化处理: 待升级物料全部为集团数据,不需升级。*/
 | ||
|                 break;
 | ||
|             }
 | ||
|             pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             if (!pk || !pk.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             ajax({
 | ||
|                 url: urls['upgrade'],
 | ||
|                 data: {
 | ||
|                     pk_material: pk.value,
 | ||
|                     ts: this.props.form.getFormItemsValue(formid, 'ts').value,
 | ||
|                     isSure: false,
 | ||
|                     node_type: this.config.node_type
 | ||
|                 },
 | ||
|                 success: (res) => {
 | ||
|                     let {success, data} = res;
 | ||
|                     if (data && data.result) {
 | ||
|                         if (data.result === 'error') {
 | ||
|                             console.log('22', data.result);
 | ||
|                             toast({content: data.msg, color: 'warning'});
 | ||
|                         } else if (data.result === 'tip') {
 | ||
|                             promptBox({
 | ||
|                                 color: 'warning',               // 提示类别默认"success", "success"/"info"/"warning"/"danger",非必输
 | ||
|                                 title: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000027'),                // 提示标题, 默认不同类别下分别为:"已成功"/"帮助信息"/"请注意"/"出错啦",非必输/* 国际化处理: 确认升级*/
 | ||
|                                 content: data.msg,
 | ||
|                                 noFooter: false,                // 是否显示底部按钮(确定、取消),默认显示(false),非必输
 | ||
|                                 noCancelBtn: false,             // 是否显示取消按钮,,默认显示(false),非必输
 | ||
|                                 beSureBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000016'),          // 确定按钮名称, 默认为"确定",非必输/* 国际化处理: 确定*/
 | ||
|                                 cancelBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000017'),           // 取消按钮名称, 默认为"取消",非必输/* 国际化处理: 取消*/
 | ||
|                                 beSureBtnClick: () => {
 | ||
|                                     ajax({
 | ||
|                                         url: urls['upgrade'],
 | ||
|                                         data: {
 | ||
|                                             pk_material: pk.value,
 | ||
|                                             ts: this.props.form.getFormItemsValue(formid, 'ts').value,
 | ||
|                                             isSure: true
 | ||
|                                         },
 | ||
|                                         success: (res) => {
 | ||
|                                             this.onButtonClick(props, 'Refresh');
 | ||
|                                             toast({
 | ||
|                                                 content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000028'),
 | ||
|                                                 color: 'success'
 | ||
|                                             });/* 国际化处理: 操作成功*/
 | ||
|                                         }
 | ||
|                                     })
 | ||
|                                 },
 | ||
|                                 leftBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000008'),/* 国际化处理: 是*/
 | ||
|                                 rightBtnName: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000007')/* 国际化处理: 否*/
 | ||
|                             });
 | ||
|                         }
 | ||
|                     } else {
 | ||
|                         this.onButtonClick(props, 'Refresh');
 | ||
|                         toast({
 | ||
|                             content: this.props.MutiInit.getIntl("10140MATERIAL") && this.props.MutiInit.getIntl("10140MATERIAL").get('10140MATERIAL-000028'),
 | ||
|                             color: 'success'
 | ||
|                         });/* 国际化处理: 操作成功*/
 | ||
|                     }
 | ||
|                 }
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'Reback':
 | ||
|             //props.linkBack();
 | ||
|             props.pushTo('/list', {
 | ||
|                 pagecode: this.props.config.pagecodelist
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'DataTemplet':
 | ||
|             let CardData = this.props.createMasterChildData(props.config.pagecode, formid, values['convert'], "editTable");
 | ||
|             let reqData1 = {
 | ||
|                 pageid: CardData.pageid,
 | ||
|                 head: CardData.head,
 | ||
|                 bodys: CardData.body
 | ||
|             }
 | ||
|             this.DataTempletModal.show(this.config.dataTemplet_funcode, reqData1);
 | ||
|             break;
 | ||
|         case 'download_plm':
 | ||
|             let materialCode = this.props.form.getFormItemsValue(formid, 'code');
 | ||
|             let materialName = this.props.form.getFormItemsValue(formid, 'name');
 | ||
|             if (!materialCode || !materialCode.value) {
 | ||
|                 return
 | ||
|             }
 | ||
|             let params = {
 | ||
|                 sys_appcode: '10140MAG_base_card',
 | ||
|                 materialCode: materialCode.value,
 | ||
|                 materialName: materialName.name.value
 | ||
|             }
 | ||
|             formDownload({
 | ||
|                 params,
 | ||
|                 url: urls['downloadPlmUrl'],
 | ||
|                 enctype: 1
 | ||
|             });
 | ||
|             break;
 | ||
|         case 'pushtoqms':
 | ||
|             pk = this.props.form.getFormItemsValue(formid, 'pk_material');
 | ||
|             ajax({
 | ||
|                 url: "/nccloud/uapbd/material/pushtoqms.do",
 | ||
|                 data: {
 | ||
|                     pk_material: pk.value
 | ||
|                 },
 | ||
|                 success: (res) => {
 | ||
|                     this.onButtonClick(props, 'Refresh');
 | ||
|                     toast({
 | ||
|                         content: "推送启源qms成功",
 | ||
|                         color: 'success'
 | ||
|                     });/* 国际化处理: 操作成功*/
 | ||
|                 }
 | ||
|             })
 | ||
|             break;
 | ||
|     }
 | ||
| }
 | ||
| /*q2LCmxM8POvl78IL0LiydqJ/RITUXLjH1kojvbLBRO8=*/ |