first commit
This commit is contained in:
commit
48f0c21c62
58
index.js
Normal file
58
index.js
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
const { WeaUpload } = ecCom;
|
||||||
|
|
||||||
|
class MinXiUDowm extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
...props,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
componentDidMount() {
|
||||||
|
let datas=this.state.datas.length>0 ?[this.state.datas[`${this.props.rowIndex}`]]:[{}]
|
||||||
|
console.log(this.state.datas)
|
||||||
|
let value=this.state.datas.length>0 ?this.state.datas[this.props.rowIndex]['fileid'] :''
|
||||||
|
let ids=[value]
|
||||||
|
let onFileNameEdit=(newName, data)=> {
|
||||||
|
let datas=this.state.datas[0]
|
||||||
|
datas.filename=newName
|
||||||
|
datas=[datas]
|
||||||
|
this.setState({datas:datas})
|
||||||
|
}
|
||||||
|
let onDelete=(list,lists)=> {
|
||||||
|
let a=this.props.info[0].detailId
|
||||||
|
let b=this.props.rowIndex
|
||||||
|
WfForm.delDetailRow(`${a}`, `${b}`);
|
||||||
|
}
|
||||||
|
const base=WfForm.getBaseInfo()
|
||||||
|
|
||||||
|
if(base.nodeid!=this.props.info[0].nodeid){
|
||||||
|
datas[0].showDelete=false
|
||||||
|
}
|
||||||
|
this.setState({datas:datas,value:value,onFileNameEdit:onFileNameEdit,onDelete:onDelete})
|
||||||
|
}
|
||||||
|
reName = async (id,name) => {
|
||||||
|
let options = {
|
||||||
|
url: '/api/doc/acc/rename',
|
||||||
|
method: 'POST',
|
||||||
|
params: {
|
||||||
|
imagefileid: id,
|
||||||
|
imagefilename:name
|
||||||
|
},
|
||||||
|
};
|
||||||
|
let info = await window.weaJs.callApi(options);
|
||||||
|
}
|
||||||
|
render() {
|
||||||
|
const newProps = {
|
||||||
|
...this.state,
|
||||||
|
};
|
||||||
|
return (
|
||||||
|
<div style={{ width: '100%' }}>
|
||||||
|
<WeaUpload {...newProps} datas={newProps.datas} _noOverwrite={true} />
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//发布模块
|
||||||
|
ecodeSDK.setCom('${appId}', 'MinXiUDowm', MinXiUDowm);
|
||||||
|
|
262
register.js
Normal file
262
register.js
Normal file
@ -0,0 +1,262 @@
|
|||||||
|
let tmpArr = null
|
||||||
|
let flagNum = 0
|
||||||
|
// 目标对象
|
||||||
|
const target = {};
|
||||||
|
// 代理对象
|
||||||
|
const handler = {
|
||||||
|
get: function (target, property, receiver) {
|
||||||
|
return Reflect.get(target, property, receiver);
|
||||||
|
},
|
||||||
|
set: function (target, property, value) {
|
||||||
|
const oldValue = target[property];
|
||||||
|
const baseInfo = WfForm.getBaseInfo();
|
||||||
|
|
||||||
|
if (baseInfo.requestid && !oldValue) {
|
||||||
|
target[property] = value;
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if (!_.isEqual(oldValue, value)) {
|
||||||
|
const found = config.find(item => item.workflowId === baseInfo.workflowid && item.mainfjid === value[0].localFieId);
|
||||||
|
if (!found) return
|
||||||
|
|
||||||
|
_.difference(_.map(value, 'fileid'), _.map(oldValue, 'fileid'), tmpArr).forEach((e, i) => {
|
||||||
|
WfForm.addDetailRow(property, { [found.fjld]: { value: e }, [found.fjgs]: { value: value[i].fileExtendName } })
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
target[property] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 创建代理
|
||||||
|
let proxy = new Proxy(target, handler);
|
||||||
|
|
||||||
|
|
||||||
|
const config = [
|
||||||
|
{
|
||||||
|
workflowId: 93026, //资料签收
|
||||||
|
detailId: 'detail_2',
|
||||||
|
fjld: "field114944", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field114963",//主表附件字段
|
||||||
|
mxfjid: "field114942",//明细表附件字段
|
||||||
|
nodeid: "135541", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: "field114948"//附件后缀
|
||||||
|
}, {
|
||||||
|
workflowId: 93526, //项目图片
|
||||||
|
detailId: 'detail_1',
|
||||||
|
fjld: "field114498", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field114521",//主表附件字段
|
||||||
|
mxfjid: "field114500",//明细表附件字段
|
||||||
|
nodeid: "136041", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: "field114497"//附件后缀
|
||||||
|
}
|
||||||
|
, {
|
||||||
|
workflowId: 93527, //踏勘
|
||||||
|
detailId: 'detail_1',
|
||||||
|
fjld: "field114473", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field114477",//主表附件字段
|
||||||
|
mxfjid: "field114644",//明细表附件字段
|
||||||
|
nodeid: "136044", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: "field114470"//附件后缀
|
||||||
|
},
|
||||||
|
{
|
||||||
|
workflowId: 108027, //日常费用报销
|
||||||
|
detailId: 'detail_4',
|
||||||
|
fjld: "field179935", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field179944",//主表附件字段
|
||||||
|
mxfjid: "field179872",//明细表附件字段
|
||||||
|
nodeid: "153048", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
workflowId: 108027, //日常费用报销
|
||||||
|
detailId: 'detail_1',
|
||||||
|
fjld: "field179933", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field179945",//主表附件字段
|
||||||
|
mxfjid: "field179871",//明细表附件字段
|
||||||
|
nodeid: "153048", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
workflowId: 108027, //日常费用报销
|
||||||
|
detailId: 'detail_2',
|
||||||
|
fjld: "field179934", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field179946",//主表附件字段
|
||||||
|
mxfjid: "field179876",//明细表附件字段
|
||||||
|
nodeid: "153048", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}
|
||||||
|
,
|
||||||
|
{
|
||||||
|
workflowId: 109026, //管理经费报销
|
||||||
|
detailId: 'detail_4',
|
||||||
|
fjld: "field180615", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field180616",//主表附件字段
|
||||||
|
mxfjid: "field180614",//明细表附件字段
|
||||||
|
nodeid: "153548", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
},
|
||||||
|
{
|
||||||
|
workflowId: 109026, //管理经费报销
|
||||||
|
detailId: 'detail_1',
|
||||||
|
fjld: "field180605", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field180617",//主表附件字段
|
||||||
|
mxfjid: "field180603",//明细表附件字段
|
||||||
|
nodeid: "153548", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}, {
|
||||||
|
workflowId: 109026, //管理经费报销
|
||||||
|
detailId: 'detail_2',
|
||||||
|
fjld: "field180611", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field180618",//主表附件字段
|
||||||
|
mxfjid: "field180609",//明细表附件字段
|
||||||
|
nodeid: "153548", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}, {
|
||||||
|
workflowId: 109028, //管理经费报销
|
||||||
|
detailId: 'detail_4',
|
||||||
|
fjld: "field180959", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field181053",//主表附件字段
|
||||||
|
mxfjid: "field180957",//明细表附件字段
|
||||||
|
nodeid: "153559", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}, {
|
||||||
|
workflowId: 109028, //管理经费报销
|
||||||
|
detailId: 'detail_1',
|
||||||
|
fjld: "field180914", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field181054",//主表附件字段
|
||||||
|
mxfjid: "field180912",//明细表附件字段
|
||||||
|
nodeid: "153559", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}, {
|
||||||
|
workflowId: 109028, //管理经费报销
|
||||||
|
detailId: 'detail_2',
|
||||||
|
fjld: "field180937", //明细表附件id 单行文本字段
|
||||||
|
mainfjid: "field181055",//主表附件字段
|
||||||
|
mxfjid: "field180935",//明细表附件字段
|
||||||
|
nodeid: "153559", //使用WfForm.getBaseInfo()查看,nodeid为节点一的id,节点二id不允许审批删除附件
|
||||||
|
fjgs: ""//附件后缀
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
let firstNum = {}
|
||||||
|
ecodeSDK.overwritePropsFnQueueMapSet('WeaUpload', {
|
||||||
|
fn: (newProps) => {
|
||||||
|
if (!window.location.hash.startsWith('#/main/workflow/req')) return;
|
||||||
|
if (newProps.fuxie) return; // 控制组件只复写一次
|
||||||
|
if (!WfForm) return;
|
||||||
|
|
||||||
|
const baseInfo = WfForm.getBaseInfo();
|
||||||
|
const found = config.find(item => item.workflowId === baseInfo.workflowid && item.mainfjid === newProps.fieldName);
|
||||||
|
|
||||||
|
if (!found) return
|
||||||
|
const suffixes = config.map(obj => obj.mainfjid.match(/\d+$/)[0]);
|
||||||
|
if (!suffixes.includes(newProps.fieldid)) return;
|
||||||
|
// if (newProps.datas.length > 0) {
|
||||||
|
|
||||||
|
newProps.datas.forEach(e => e['localFieId'] = newProps.fieldName)
|
||||||
|
proxy[found.detailId] = newProps.datas
|
||||||
|
|
||||||
|
|
||||||
|
// }
|
||||||
|
let onUploading = newProps.onUploading
|
||||||
|
newProps.onUploading = (string, list, number) => {
|
||||||
|
if (string == 'uploading') {
|
||||||
|
window.ecCom.WeaLoadingGlobal.start({
|
||||||
|
tip: "上传中,请稍后..." // 自定义tip文字
|
||||||
|
})
|
||||||
|
} if (string == 'uploaded') {
|
||||||
|
window.ecCom.WeaLoadingGlobal.end(); // 停止遮罩loading
|
||||||
|
window.ecCom.WeaLoadingGlobal.destroy(); // 销毁遮罩loading
|
||||||
|
}
|
||||||
|
if (string == 'error') {
|
||||||
|
window.ecCom.WeaLoadingGlobal.end(); // 停止遮罩loading
|
||||||
|
WfForm.showMessage(`上传失败`, 2, 30);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
newProps.className = 'mainfj'
|
||||||
|
|
||||||
|
return newProps
|
||||||
|
},
|
||||||
|
order: 1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
|
||||||
|
desc: '资料签收附件显示'
|
||||||
|
});
|
||||||
|
const MinXiUDowm = (props, Com) => { //此函数不允许写在复写方法内,会导致实例重复创建,也就是dimout不断执行
|
||||||
|
const acParams = {
|
||||||
|
appId: '${appId}', //appId会自动识别
|
||||||
|
name: 'MinXiUDowm', //模块名称
|
||||||
|
isPage: false, //是否是路由页面
|
||||||
|
noCss: true, //是否禁止单独加载css,通常为了减少css数量,css默认前置加载
|
||||||
|
props,
|
||||||
|
}
|
||||||
|
const NewCom = Com;
|
||||||
|
return window.ecCom ? ecodeSDK.getAsyncCom(acParams) : (<NewCom { ...props } />);
|
||||||
|
}
|
||||||
|
ecodeSDK.overwriteClassFnQueueMapSet('WeaUpload', { //组件名
|
||||||
|
fn: (Com, newProps) => {
|
||||||
|
//进行位置判断
|
||||||
|
if (!window.location.hash.startsWith('#/main/workflow/req')) return;
|
||||||
|
const baseInfo = WfForm.getBaseInfo();
|
||||||
|
|
||||||
|
const found = config.find(item => item.workflowId === baseInfo.workflowid && item.mainfjid === newProps.fieldName);
|
||||||
|
console.log(found,'1')
|
||||||
|
|
||||||
|
if (!found) return
|
||||||
|
const suffixes = config.map(obj => obj.mxfjid.match(/\d+$/)[0]);
|
||||||
|
console.log(suffixes)
|
||||||
|
console.log(newProps.fieldid)
|
||||||
|
|
||||||
|
if (!suffixes.includes(newProps.fieldid)) return;
|
||||||
|
|
||||||
|
newProps.datas.forEach(e => e['localFieId'] = newProps.fieldName)
|
||||||
|
newProps.datas = proxy[found.detailId]
|
||||||
|
newProps.info = [found]
|
||||||
|
newProps.editable = true
|
||||||
|
newProps.viewAttr = 2
|
||||||
|
newProps.showUpload = false
|
||||||
|
newProps.showUploader = true
|
||||||
|
newProps.maxUploadSize = 0
|
||||||
|
newProps.showUploadTime = true
|
||||||
|
newProps.className = 'detailFj'
|
||||||
|
return {
|
||||||
|
com: MinXiUDowm.bind(this, newProps, Com),
|
||||||
|
props: newProps
|
||||||
|
};
|
||||||
|
},
|
||||||
|
order: 10, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
|
||||||
|
desc: '资料签收附件显示'
|
||||||
|
});
|
||||||
|
let fuxie = false //不允许重复触发
|
||||||
|
ecodeSDK.overwritePropsFnQueueMapSet('WeaReqTop', { //提交时把明细删除的附件在主表删除
|
||||||
|
fn: (newProps) => {
|
||||||
|
if (!window.location.hash.startsWith('#/main/workflow/req')) return;
|
||||||
|
const baseInfo = WfForm.getBaseInfo();
|
||||||
|
const found = config.find(item => item.workflowId === baseInfo.workflowid);
|
||||||
|
if (!found) return
|
||||||
|
if (!WfForm) return;
|
||||||
|
if (newProps.fuxie) return;
|
||||||
|
if (fuxie) return;
|
||||||
|
let num = found.detailId.match(/\d+$/)[0];
|
||||||
|
let del = []
|
||||||
|
WfForm.registerCheckEvent(WfForm.OPER_DELROW + num, function (callback) {
|
||||||
|
del = _.concat(del, WfForm.getDetailCheckedRowIndexStr(found.detailId).split(','))
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
WfForm.registerCheckEvent(WfForm.OPER_SAVE + "," + WfForm.OPER_SUBMIT + "," + WfForm.OPER_SUBMITCONFIRM, function (callback) {
|
||||||
|
let oldValue = WfForm.getFieldValue(found.mainfjid).split(',')
|
||||||
|
const filteredArr = oldValue.filter((item, index) => { return !del.includes(String(index)) });
|
||||||
|
WfForm.changeFieldValue(found.mainfjid, { value: filteredArr.join() });
|
||||||
|
//... 执行自定义逻辑
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
fuxie = true
|
||||||
|
newProps.fuxie = true
|
||||||
|
|
||||||
|
return newProps;
|
||||||
|
},
|
||||||
|
order: 1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
|
||||||
|
desc: '设置提交或者保存时修改附件主表数量'
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user