|
|
@@ -924,8 +924,8 @@ function validateForm(): any {
|
|
|
|
|
|
// 验证工单类型为2(维保工单)时的分项完成系数
|
|
|
if (selfEvaluationForm.value.orderType == '2') {
|
|
|
- // 检查分项完成系数是否为空字符串(即用户清空了输入框)
|
|
|
- if (itemCompletionFactorStr.value == '') {
|
|
|
+ // 检查分项完成系数是否为空(即用户清空了输入框)
|
|
|
+ if (selfEvaluationForm.value.itemCompletionFactor == null || selfEvaluationForm.value.itemCompletionFactor.toString() == '') {
|
|
|
const result = new UTSJSONObject();
|
|
|
result.set('valid', false);
|
|
|
result.set('message', '分项完成系数不能为空');
|
|
|
@@ -946,8 +946,8 @@ function validateForm(): any {
|
|
|
}
|
|
|
|
|
|
// 验证分项完成系数和
|
|
|
- // 检查分项完成系数和是否为空字符串(即用户清空了输入框)
|
|
|
- if (itemCompletionFactorSumStr.value == '') {
|
|
|
+ // 直接检查实际表单值是否为空
|
|
|
+ if (selfEvaluationForm.value.itemCompletionFactorSum == null || selfEvaluationForm.value.itemCompletionFactorSum.toString() == '') {
|
|
|
const result = new UTSJSONObject();
|
|
|
result.set('valid', false);
|
|
|
result.set('message', '分项完成系数和不能为空');
|
|
|
@@ -1147,8 +1147,8 @@ async function loadOrderDetail() {
|
|
|
} */
|
|
|
|
|
|
// 初始化字符串中转值,处理可能为null的情况
|
|
|
- itemCompletionFactorStr.value = formData.itemCompletionFactor != null ? formData.itemCompletionFactor.toFixed(2) : ''
|
|
|
- itemCompletionFactorSumStr.value = formData.itemCompletionFactorSum != null ? formData.itemCompletionFactorSum.toFixed(2) : ''
|
|
|
+ itemCompletionFactorStr.value = formData.itemCompletionFactor != null ? formData.itemCompletionFactor.toString() : ''
|
|
|
+ itemCompletionFactorSumStr.value = formData.itemCompletionFactorSum != null ? formData.itemCompletionFactorSum.toString() : ''
|
|
|
|
|
|
// 加载检修类型选项
|
|
|
if (orderType.value == '1') {
|
|
|
@@ -1304,6 +1304,13 @@ function formatItemCompletionFactor() {
|
|
|
// 更新数值
|
|
|
selfEvaluationForm.value.itemCompletionFactor = finalValue;
|
|
|
|
|
|
+ // 同步更新字符串中转值,用于验证
|
|
|
+ if (finalValue != null) {
|
|
|
+ itemCompletionFactorStr.value = finalValue.toString();
|
|
|
+ } else {
|
|
|
+ itemCompletionFactorStr.value = '';
|
|
|
+ }
|
|
|
+
|
|
|
// 同步更新临时输入值为格式化后的字符串显示
|
|
|
if (finalValue != null) {
|
|
|
tempItemCompletionFactorInput.value = finalValue.toString();
|
|
|
@@ -1321,6 +1328,7 @@ function onItemCompletionFactorInput(e: UniInputEvent) {
|
|
|
// 检查输入值是否为空
|
|
|
if (value == '') {
|
|
|
selfEvaluationForm.value.itemCompletionFactor = null;
|
|
|
+ itemCompletionFactorStr.value = '';
|
|
|
} else {
|
|
|
// 检查是否为中间输入状态(如 '0.' 等以点结尾的数字)
|
|
|
if (value.endsWith('.')) {
|
|
|
@@ -1334,9 +1342,12 @@ function onItemCompletionFactorInput(e: UniInputEvent) {
|
|
|
if( numValue >= 0 && numValue <= 1){
|
|
|
// 在input事件中直接使用解析后的数值
|
|
|
selfEvaluationForm.value.itemCompletionFactor = numValue;
|
|
|
+ itemCompletionFactorStr.value = numValue.toString();
|
|
|
} else {
|
|
|
// 当超出范围时,设置实际值为边界值
|
|
|
- selfEvaluationForm.value.itemCompletionFactor = numValue > 1 ? 1 : 0;
|
|
|
+ const clampedValue = numValue > 1 ? 1 : 0;
|
|
|
+ selfEvaluationForm.value.itemCompletionFactor = clampedValue;
|
|
|
+ itemCompletionFactorStr.value = clampedValue.toString();
|
|
|
}
|
|
|
|
|
|
// 更新可自评总分显示
|
|
|
@@ -1411,6 +1422,13 @@ function formatItemCompletionFactorSum() {
|
|
|
// 更新数值
|
|
|
selfEvaluationForm.value.itemCompletionFactorSum = finalValue;
|
|
|
|
|
|
+ // 同步更新字符串中转值,用于验证
|
|
|
+ if (finalValue != null) {
|
|
|
+ itemCompletionFactorSumStr.value = finalValue.toString();
|
|
|
+ } else {
|
|
|
+ itemCompletionFactorSumStr.value = '';
|
|
|
+ }
|
|
|
+
|
|
|
// 同步更新临时输入值为格式化后的字符串显示
|
|
|
if (finalValue != null) {
|
|
|
tempItemCompletionFactorSumInput.value = finalValue.toString();
|
|
|
@@ -1428,6 +1446,7 @@ function onItemCompletionFactorSumInput(e: UniInputEvent) {
|
|
|
// 检查输入值是否为空
|
|
|
if (value == '') {
|
|
|
selfEvaluationForm.value.itemCompletionFactorSum = null;
|
|
|
+ itemCompletionFactorSumStr.value = '';
|
|
|
} else {
|
|
|
// 检查是否为中间输入状态(如 '0.' 等以点结尾的数字)
|
|
|
if (value.endsWith('.')) {
|
|
|
@@ -1441,9 +1460,12 @@ function onItemCompletionFactorSumInput(e: UniInputEvent) {
|
|
|
if( numValue >= 0 && numValue <= 1){
|
|
|
// 在input事件中直接使用解析后的数值
|
|
|
selfEvaluationForm.value.itemCompletionFactorSum = numValue;
|
|
|
+ itemCompletionFactorSumStr.value = numValue.toString();
|
|
|
} else {
|
|
|
// 当超出范围时,设置实际值为边界值
|
|
|
- selfEvaluationForm.value.itemCompletionFactorSum = numValue > 1 ? 1 : 0;
|
|
|
+ const clampedValue = numValue > 1 ? 1 : 0;
|
|
|
+ selfEvaluationForm.value.itemCompletionFactorSum = clampedValue;
|
|
|
+ itemCompletionFactorSumStr.value = clampedValue.toString();
|
|
|
}
|
|
|
}
|
|
|
}
|