소스 검색

bug修复

iZaiZaiA 2 년 전
부모
커밋
ba3bf2aeaa
1개의 변경된 파일42개의 추가작업 그리고 19개의 파일을 삭제
  1. 42 19
      src/views/data-fill/components/ListItem.vue

+ 42 - 19
src/views/data-fill/components/ListItem.vue

@@ -222,6 +222,7 @@ const CollapseChange = (name) => {
 }
 
 //获取模板标签数据
+const formRegExpJson = ref({})
 const getExcelHtml = async (item,index) => {
     const pkeyIds = item.pkeyId ? item.pkeyId + '' : ''
     if (pkeyIds) {
@@ -237,14 +238,9 @@ const getExcelHtml = async (item,index) => {
                 onRight: (event, KeyName) => {
                     onRightClick(event, KeyName, index)
                 },
-                onBlur: (event, KeyName, reg, val, msg) => {
-                    if (val && reg) {
-                        console.log(KeyName, val, reg, msg)
-                        let regx = new RegExp(reg);
-                        console.log(regx)
-                        let rs2 = regx.test(val);
-                        console.log(rs2)
-                    }
+                //表单正则效验
+                onBlur: (event, key, reg, val, msg) => {
+                    setTableFormBlurReg(pkeyIds, event, key, reg, val, msg, item)
                 }
             })
             item.isTableFormRender = true
@@ -261,6 +257,27 @@ const getExcelHtml = async (item,index) => {
     }
 }
 
+//正则效验
+const setTableFormBlurReg = (pkeyId, event, key, reg, val, msg, item) => {
+    const dom = document.getElementById(key).parentElement
+    if (val && reg) {
+        let regx = new RegExp(reg);
+        let state = regx.test(val);
+        if (state) {
+            dom.style = ''
+        } else {
+            dom.style = '--el-input-border-color: #fe0000'
+            window?.$message?.warning(msg)
+        }
+        //暂存
+        formRegExpJson.value[pkeyId] = {key, reg, val, msg, state, nodeName: item.nodeName}
+    } else {
+        delete formRegExpJson.value[pkeyId]
+        dom.style = ''
+    }
+}
+
+
 //获取已填写的数据
 const getBussDataInfo = async (item,pkeyId, index) => {
     const pkeyIds = pkeyId ? pkeyId + '' : ''
@@ -295,18 +312,24 @@ const tableFormSaveClick = async (item,index) => {
 
 //保存表单数据
 const saveExcelBussData = async (item, index, showTip = true) => {
-    tableFormSaveLoading.value = true
-    const InitObj = getFormDataInit(item, item.pkeyId)
-    const {error, code, data} = await wbsApi.saveExcelBussData({
-        ...formData.value[index],
-        ...InitObj
-    })
-    //处理数据
-    tableFormSaveLoading.value = false
-    if (!error && code === 200) {
-        if(showTip) window?.$message?.success('保存成功')
-        return true
+    console.log(formRegExpJson.value)
+    if (!getObjNullValue(formRegExpJson.value)) {
+        tableFormSaveLoading.value = true
+        const InitObj = getFormDataInit(item, item.pkeyId)
+        const {error, code, data} = await wbsApi.saveExcelBussData({
+            ...formData.value[index],
+            ...InitObj
+        })
+        //处理数据
+        tableFormSaveLoading.value = false
+        if (!error && code === 200) {
+            if(showTip) window?.$message?.success('保存成功')
+            return true
+        } else {
+            return false
+        }
     } else {
+        window?.$message?.warning('请先修改完红色输入框的数据')
         return false
     }
 }