commit
This commit is contained in:
@@ -653,6 +653,15 @@ td.no-b {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.left-span-label {
|
||||
border-left: 4px solid var(--color-primary);
|
||||
font-size: 15px;
|
||||
color: var(--color-black);
|
||||
font-weight: 600;
|
||||
padding-left: 8px;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
/**********start****************设置工作流表单el-description嵌套el-form的格式 必须要使用flow-task-form!!!***********************start*****************/
|
||||
|
||||
.flow-task-form .el-descriptions__table {
|
||||
|
||||
@@ -17,47 +17,48 @@ function autoEnhanceForm(formVm) {
|
||||
const originalValidate = formVm.validate
|
||||
|
||||
formVm.validate = function(callback) {
|
||||
originalValidate(async (valid, fields) => {
|
||||
if (valid) {
|
||||
callback?.(valid, fields)
|
||||
} else {
|
||||
const firstField = Object.keys(fields)[0]
|
||||
const fieldErrors = fields[firstField]
|
||||
const errorMessage = fieldErrors[0].message
|
||||
let capturedFields;
|
||||
|
||||
let finalMessage = errorMessage
|
||||
const promise = new Promise((resolve) => {
|
||||
originalValidate.call(this, (valid, fields) => {
|
||||
capturedFields = fields;
|
||||
|
||||
const formItem = formVm.fields?.find(item => item.prop === firstField)
|
||||
|
||||
if (errorMessage === '必填' && formItem && formItem.label) {
|
||||
finalMessage = `${formItem.label} 必填`
|
||||
}
|
||||
|
||||
// 提示
|
||||
if (formVm.$message) {
|
||||
formVm.$message({
|
||||
message: finalMessage,
|
||||
type: 'error',
|
||||
})
|
||||
if (valid) {
|
||||
resolve(true);
|
||||
} else {
|
||||
alert(finalMessage)
|
||||
}
|
||||
const firstField = Object.keys(fields)[0];
|
||||
const fieldErrors = fields[firstField];
|
||||
const errorMessage = fieldErrors?.[0]?.message || '校验失败';
|
||||
|
||||
await formVm.$nextTick()
|
||||
|
||||
if (formItem && formItem.$el) {
|
||||
const inputEl =
|
||||
formItem.$el.querySelector('input') ||
|
||||
formItem.$el.querySelector('textarea') ||
|
||||
formItem.$el.querySelector('.el-input__inner') ||
|
||||
formItem.$el.querySelector('.el-textarea__inner')
|
||||
if (inputEl) {
|
||||
inputEl.focus()
|
||||
let finalMessage = errorMessage;
|
||||
const formItem = this.fields?.find((item) => item.prop === firstField);
|
||||
if (errorMessage === '必填' && formItem && formItem.label) {
|
||||
finalMessage = `${formItem.label} 必填`;
|
||||
}
|
||||
|
||||
if (this.$message) {
|
||||
this.$message({ message: finalMessage, type: 'error' });
|
||||
} else {
|
||||
alert(finalMessage);
|
||||
}
|
||||
|
||||
this.$nextTick(() => {
|
||||
const inputEl =
|
||||
formItem?.$el?.querySelector('input, textarea, .el-input__inner, .el-textarea__inner');
|
||||
if (inputEl) inputEl.focus();
|
||||
});
|
||||
|
||||
resolve(false);
|
||||
}
|
||||
callback?.(valid, fields)
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
|
||||
if (typeof callback === 'function') {
|
||||
promise.then(valid => callback(valid, capturedFields));
|
||||
return;
|
||||
}
|
||||
|
||||
return promise;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user