Browse Source

划分树的参数、设计值/频率的提示信息

iZaiZaiA 2 years ago
parent
commit
f2ee3169db
2 changed files with 31 additions and 12 deletions
  1. 2 2
      src/plugins/HTableForm.js
  2. 29 10
      src/views/data-fill/components/ListItem.vue

+ 2 - 2
src/plugins/HTableForm.js

@@ -66,10 +66,10 @@ export default class HTableForm {
                     this.formData[key] = ''
                 },
                 //失去焦点事件
-                getRegularExpression(event, reg, msg) {
+                getRegularExpression(event, reg, msg, a, b, leng) {
                     const KeyName = event?.target?.getAttribute('keyname') || ''
                     if (onBlur) {
-                        onBlur(event, KeyName, reg, this.formData[KeyName], msg)
+                        onBlur(event, KeyName, reg, this.formData[KeyName], msg, leng)
                     }
                 },
                 //远程搜索处理

+ 29 - 10
src/views/data-fill/components/ListItem.vue

@@ -100,11 +100,11 @@
             </div>
             <el-form-item label="设计值">
                 <!-- onkeyup="value = value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g,'$1')" -->
-                <el-input v-model="formIDVFModel.design" placeholder="如果设计值存在两个,则使用则使用'*',或者'/'连接,例如45*78,12/23"/>
+                <el-input v-model="formIDVFModel.design" placeholder="如果设计值存在两个,则使用 '*',或者 '/' 连接,例如45*78,12/23"/>
             </el-form-item>
             <el-form-item label="频率" v-if="formIDVFModel.type === 1">
                 <!--  onkeyup="value = value.replace(/^(0+)|[^\d]+/g,'')" -->
-                <el-input v-model="formIDVFModel.size" placeholder="如果频率存在两个,则使用'*',或者'/'连接例如2*4,5/7"/>
+                <el-input v-model="formIDVFModel.size" placeholder="如果频率存在两个,则使用 '*',或者 '/' 连接例如2*4,5/7"/>
             </el-form-item>
             <el-form-item label="容量" v-if="formIDVFModel.type === 2">
                 <el-input v-model="formIDVFModel.capacity" placeholder="请输入容量" onkeyup="value = value.replace(/^(0+)|[^\d]+/g,'')"/>
@@ -277,8 +277,8 @@ const getExcelHtml = async (item,index) => {
                     onRightClick(event, KeyName, index)
                 },
                 //表单正则效验
-                onBlur: (event, key, reg, val, msg) => {
-                    setTableFormBlurReg(pkeyIds, event, key, reg, val, msg, item, index)
+                onBlur: (event, key, reg, val, msg, leng) => {
+                    setTableFormBlurReg(pkeyIds, event, key, reg, val, msg, item, index, leng)
                 }
             })
             item.isTableFormRender = true
@@ -296,23 +296,42 @@ const getExcelHtml = async (item,index) => {
 }
 
 //正则效验
-const setTableFormBlurReg = (pkeyId, event, key, reg, val, msg, item, index) => {
+const setTableFormBlurReg = (pkeyId, event, key, reg, val, msg, item, index, leng) => {
     const dom = document.getElementById(key)?.parentElement ?? ''
     if (dom) {
+        let efficacyRegState = true, efficacyLengState = true;
+        //正则效验
         if (val && reg) {
             let regx = new RegExp(reg);
             let state = regx.test(val);
-            if (state) {
-                delete formRegExpJson.value[pkeyId]
-                dom.style = ''
+            if (!state) {
+                efficacyRegState = true
             } else {
-                formRegExpJson.value[pkeyId] = {key, reg, val, msg, state, nodeName: item.nodeName, itemId: `item-${index}-${item?.pkeyId}`}
-                dom.style = '--el-input-border-color: #fe0000; box-shadow: 0 0 0 2px #fe0000 inset;'
+                efficacyRegState = false
                 window?.$message?.warning(msg)
             }
         } else {
+            efficacyRegState = true
+        }
+        //校验字符长度
+        if (val && leng) {
+            const num = val.toString().length;
+            if (num > leng) {
+                efficacyLengState = false
+                window?.$message?.warning('长度不能超过' + leng)
+            } else {
+                efficacyLengState = true
+            }
+        } else {
+            efficacyLengState = true
+        }
+        //处理效验结果
+        if (efficacyRegState && efficacyLengState) {
             delete formRegExpJson.value[pkeyId]
             dom.style = ''
+        } else {
+            formRegExpJson.value[pkeyId] = {key, reg, val, msg, leng, state: efficacyRegState, lengState: efficacyLengState, nodeName: item.nodeName, itemId: `item-${index}-${item?.pkeyId}`}
+            dom.style = '--el-input-border-color: #fe0000; box-shadow: 0 0 0 2px #fe0000 inset;'
         }
     }
 }