60 lines
1.1 KiB
JavaScript
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;
|