@flyriselink/pai-sp-mobile
Version:
pai-sp-mobile 组件库
92 lines (82 loc) • 2.44 kB
JavaScript
import { WorkEngineApi } from '../../api/work-engine'
// import Vue from 'vue'
const rules = {
parkId: {
require: true, message: '园区为必填项'
},
orderKey: {
require: true, message: '工单编号为必填项'
},
bizId: {
require: true, message: '业务ID为必填项'
},
title: {
require: true, message: '标题为必填项'
},
priority: {
// require: true, message: '紧急程度为必填项'
},
}
const workOrder = {
report(form = {}, op = {}) {
return new Promise((resolve, reject) => {
let errorArr = [] // 错误信息数组
Object.getOwnPropertyNames(rules).forEach((key) => {
let rItem = rules[key]
if (rItem.require && (form[key] == undefined || form[key] == null)) {
errorArr.push(rItem.message)
}
})
if (errorArr.length === 0) {
uni.showLoading({
title: '工单上报中...',
mask: true,
})
const submitReport = () => {
WorkEngineApi.report(form).then((result) => {
resolve(result)
uni.hideLoading()
}).catch((err) => {
uni.hideLoading()
uni.showModal({
title: '提示',
content: `${err && (err.message || err.msg) ? (err.message || err.msg) + '。\n\n' : ''}上报失败,是否需要重新上报?`,
success: (res) => {
uni.showLoading({
title: '重新上报中...',
mask: true,
})
if (res.confirm) {
submitReport()
} else if (res.cancel) {
uni.hideLoading()
reject(err)
}
}
})
})
}
submitReport()
} else {
if (op.warning != false) {
uni.showModal({
title: '提示',
content: errorArr.join('\n'),
showCancel: false,
success: (res) => {
reject(errorArr.join(','))
}
});
// uni.showLoading({
// title: errorArr.join(','),
// mask: true,
// })
// setTimeout(() => {
// uni.hideLoading()
// }, 3000);
}
}
})
},
}
export { workOrder }