prepare_food_admin_vue/src/libs/dialog.js
2024-11-04 17:27:44 +08:00

60 lines
1.1 KiB
JavaScript

import {
Confirm as confirm,
Alert as alert,
Toast as toast,
Notify as notify,
Loading as loading
} from "vue-ydui/dist/lib.rem/dialog";
const dialog = {
confirm,
alert,
toast,
notify,
loading
};
const icons = { error: "操作失败", success: "操作成功" };
Object.keys(icons).reduce((dialog, key) => {
dialog[key] = (mes, obj = {}) => {
return new Promise(function(resolve) {
toast({
mes: mes || icons[key],
timeout: 1000,
icon: key,
callback: () => {
resolve();
},
...obj
});
});
};
return dialog;
}, dialog);
dialog.message = (mes = "操作失败", obj = {}) => {
return new Promise(function(resolve) {
toast({
mes,
timeout: 1000,
callback: () => {
resolve();
},
...obj
});
});
};
dialog.validateError = (...args) => {
validatorDefaultCatch(...args);
};
export function validatorDefaultCatch(err, type = "message") {
console.log(err)
return dialog[type](err.errors[0].message);
}
export default dialog;