2023-06-09 17:03:23 +08:00
|
|
|
|
/* ******************* youhong.ai 建模部分 start ******************* */
|
|
|
|
|
$(() => {
|
|
|
|
|
let config = {
|
|
|
|
|
workflowUrl: '',
|
|
|
|
|
table: '',
|
|
|
|
|
detailTable: 'detail_1',
|
|
|
|
|
fieldMap: {
|
|
|
|
|
fkgs: 'fkgs',
|
|
|
|
|
zw: 'zw',
|
|
|
|
|
fj: 'fj'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function jumpToWorkflow() {
|
|
|
|
|
let ids = ModeList.getCheckedID();
|
|
|
|
|
let url = `${config.workflowUrl}&table=${config.table}&ids=${ids}&detail=${config.detailTable}&field_map=${JSON.stringify(config.fieldMap)}`
|
|
|
|
|
window.open(url, "_blank")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
window.jumpToWorkflow = jumpToWorkflow
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
/* ******************* youhong.ai 建模部分 end ******************* */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ******************* youhong.ai 流程部分 start ******************* */
|
|
|
|
|
$(() => {
|
|
|
|
|
|
|
|
|
|
function getQueryString(name) {
|
|
|
|
|
let reg = new RegExp("(^|&|\/?)" + name + "=([^&]*)(&|$)", "i");
|
|
|
|
|
let searchStr = window.location.href
|
|
|
|
|
if (searchStr.startsWith('&')) {
|
|
|
|
|
searchStr = searchStr.substr(1)
|
|
|
|
|
}
|
|
|
|
|
let search = searchStr.match(reg)
|
|
|
|
|
if (search != null) {
|
|
|
|
|
return unescape(search[2]);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getConfig() {
|
|
|
|
|
let tableName = getQueryString("table")
|
|
|
|
|
let ids = getQueryString("ids")
|
|
|
|
|
let mapping = getQueryString("field_map")
|
|
|
|
|
let detail = getQueryString("detail")
|
|
|
|
|
let fieldMap = JSON.parse(mapping)
|
|
|
|
|
return {
|
|
|
|
|
table: tableName,
|
|
|
|
|
ids,
|
|
|
|
|
fieldMap,
|
|
|
|
|
detailTable: detail
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function runJs(config) {
|
|
|
|
|
console.log("config", config)
|
|
|
|
|
let {WeaLoadingGlobal} = ecCom
|
|
|
|
|
WeaLoadingGlobal.start();
|
|
|
|
|
$.ajax(`/aiyh/taibao/packing2model/packing?table=${config.table}&ids=${config.ids}`, {
|
|
|
|
|
success: (res) => {
|
|
|
|
|
WeaLoadingGlobal.destroy();
|
|
|
|
|
if (res && res.code === 200) {
|
|
|
|
|
console.log("获取到的数据", res.data)
|
|
|
|
|
let modelData = res.data
|
|
|
|
|
let fieldMap = config.fieldMap
|
|
|
|
|
let workflowDetailList = []
|
|
|
|
|
modelData.forEach(item => {
|
|
|
|
|
let obj = {}
|
|
|
|
|
Object.keys(fieldMap).forEach(key => {
|
|
|
|
|
obj[key] = item[fieldMap[key]]
|
|
|
|
|
})
|
|
|
|
|
workflowDetailList.push(obj)
|
|
|
|
|
})
|
|
|
|
|
console.log("收集整理的数据:", workflowDetailList)
|
|
|
|
|
addDetailValue(workflowDetailList, config.detailTable)
|
|
|
|
|
} else {
|
|
|
|
|
WfForm.showMessage("打包数据错误,无法带出数据!", 2, 5);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
error: (err) => {
|
|
|
|
|
WeaLoadingGlobal.destroy();
|
|
|
|
|
WfForm.showMessage("网路异常,打包失败!", 2, 5);
|
|
|
|
|
console.log(err)
|
|
|
|
|
},
|
|
|
|
|
complete: () => {
|
|
|
|
|
WeaLoadingGlobal.destroy();
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function addDetailValue(workflowDetailList, detail) {
|
|
|
|
|
workflowDetailList.forEach(item => {
|
|
|
|
|
let valueMap = {}
|
|
|
|
|
Object.keys(item).forEach(key => {
|
|
|
|
|
valueMap[WfForm.convertFieldNameToId(key, detail)] = {
|
|
|
|
|
value: item[key]
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
console.log("添加明细行数据", valueMap)
|
|
|
|
|
WfForm.addDetailRow(detail, valueMap);
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
runJs(getConfig())
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
2023-06-29 14:57:22 +08:00
|
|
|
|
/* ******************* youhong.ai 流程部分 end ******************* */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* ******************* youhong.ai 编号验证是否存在 start ******************* */
|
|
|
|
|
$(() => {
|
|
|
|
|
const config = {
|
|
|
|
|
ecId: '',
|
|
|
|
|
tableName: '',
|
|
|
|
|
field: 'fwbh',
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author youhong.ai
|
|
|
|
|
* @desc 发起请求
|
|
|
|
|
*/
|
|
|
|
|
function api(requestOptions = {
|
|
|
|
|
url: "",
|
|
|
|
|
type: "GET",
|
|
|
|
|
data: "",
|
|
|
|
|
isAsync: true,
|
|
|
|
|
success: () => {
|
|
|
|
|
},
|
|
|
|
|
error: () => {
|
|
|
|
|
},
|
|
|
|
|
complete: () => {
|
|
|
|
|
},
|
|
|
|
|
contentType: 'application/json',
|
|
|
|
|
beforeSend: () => {
|
|
|
|
|
}
|
|
|
|
|
}) {
|
|
|
|
|
let options = Object.assign({
|
|
|
|
|
url: "",
|
|
|
|
|
type: "GET",
|
|
|
|
|
data: "",
|
|
|
|
|
isAsync: true,
|
|
|
|
|
success: () => {
|
|
|
|
|
},
|
|
|
|
|
error: () => {
|
|
|
|
|
},
|
|
|
|
|
complete: () => {
|
|
|
|
|
},
|
|
|
|
|
contentType: 'application/json',
|
|
|
|
|
beforeSend: () => {
|
|
|
|
|
}
|
|
|
|
|
}, requestOptions)
|
|
|
|
|
return $.ajax(options)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function findReact(dom, traverseUp = 0) {
|
|
|
|
|
const key = Object.keys(dom).find(key => {
|
|
|
|
|
return key.startsWith("__reactFiber$") // react 17+
|
|
|
|
|
|| key.startsWith("__reactInternalInstance$")
|
|
|
|
|
|| key.startsWith("__reactEventHandlers$"); // react <17
|
|
|
|
|
});
|
|
|
|
|
const domFiber = dom[key];
|
|
|
|
|
if (domFiber == null) return null;
|
|
|
|
|
// react <16
|
|
|
|
|
if (domFiber._currentElement) {
|
|
|
|
|
let compFiber = domFiber._currentElement._owner;
|
|
|
|
|
for (let i = 0; i < traverseUp; i++) {
|
|
|
|
|
compFiber = compFiber._currentElement._owner;
|
|
|
|
|
}
|
|
|
|
|
return compFiber._instance;
|
|
|
|
|
}
|
|
|
|
|
// react 16+
|
|
|
|
|
const GetCompFiber = fiber => {
|
|
|
|
|
let parentFiber = fiber.return;
|
|
|
|
|
while (typeof parentFiber.type == "string") {
|
|
|
|
|
parentFiber = parentFiber.return;
|
|
|
|
|
}
|
|
|
|
|
return parentFiber;
|
|
|
|
|
};
|
|
|
|
|
let compFiber = GetCompFiber(domFiber);
|
|
|
|
|
for (let i = 0; i < traverseUp; i++) {
|
|
|
|
|
compFiber = GetCompFiber(compFiber);
|
|
|
|
|
}
|
|
|
|
|
return compFiber.stateNode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function runJs() {
|
|
|
|
|
let node = findReact($(`button[ecid='${config.ecId}']`)[0])
|
|
|
|
|
let baseInfo = WfForm.getBaseInfo();
|
|
|
|
|
baseInfo.workflowid
|
|
|
|
|
if (baseInfo.requestid == -1) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
if (node) {
|
|
|
|
|
let click = node.props.onClick;
|
|
|
|
|
node.props.onClick = (e) => {
|
|
|
|
|
api({
|
|
|
|
|
url: `/api/aiyh/taibao/bh/check-number?tableName=${config.tableName}&field=${config.field}&requestId=${baseInfo.requestid}`,
|
|
|
|
|
success(res) {
|
|
|
|
|
if (res && res.code == 200) {
|
|
|
|
|
if (res.data) {
|
|
|
|
|
// 存在编号,提示是否需要编号
|
|
|
|
|
WfForm.showConfirm("编号一存在,是否重新编号?", function () {
|
|
|
|
|
click(e)
|
|
|
|
|
}, function () {
|
|
|
|
|
// 不重新编号,刷新
|
|
|
|
|
window.location.reload()
|
|
|
|
|
}, {
|
|
|
|
|
title: "编号确认", //弹确认框的title,仅PC端有效
|
|
|
|
|
okText: "确认", //自定义确认按钮名称
|
|
|
|
|
cancelText: "取消" //自定义取消按钮名称
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
click(e)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
runJs()
|
|
|
|
|
})
|
|
|
|
|
/* ******************* youhong.ai 编号验证是否存在 end ******************* */
|