Browse Source

成本测算必填

duy 2 years ago
parent
commit
3cd03dba23
1 changed files with 56 additions and 23 deletions
  1. 56 23
      src/views/system/components/tab-cost.vue

+ 56 - 23
src/views/system/components/tab-cost.vue

@@ -22,11 +22,11 @@
 
                     <!-- 预算分类新增编辑弹窗 -->
                     <HcDialog bg-color="#ffffff" widths="22rem" is-to-body :show="priceModal" :title="priceTitle" @close="priceModalClose" @save="saveparentClick">
-                        <el-form :model="priceform" label-position="top" label-width="auto" size="large">
-                            <el-form-item label="测算一级科目名称:">
+                        <el-form ref="priceformref" :model="priceform" label-position="top" label-width="auto" size="large" :rules="priceformRules">
+                            <el-form-item label="测算一级科目名称:" prop="dictName">
                                 <el-input v-model="priceform.dictName" />
                             </el-form-item>
-                            <el-form-item label="测算一级科目值:">
+                            <el-form-item label="测算一级科目值:" prop="dictValue">
                                 <el-input v-model="priceform.dictValue" />
                             </el-form-item>
                             <el-form-item label="序号:" prop="sort">
@@ -58,11 +58,11 @@
 
                     <!-- 任务明细弹窗 -->
                     <HcDialog bg-color="#ffffff" widths="24rem" is-to-body :show="editTaskModal" :title="taskTitle" @close="testModalClose" @save="savechilidClick">
-                        <el-form label-position="top" label-width="auto" :model="formLabelAlign" size="large">
-                            <el-form-item label="测算二级科目名称:">
+                        <el-form ref="secondformref" label-position="top" label-width="auto" :model="formLabelAlign" size="large" :rules="secondformRules">
+                            <el-form-item label="测算二级科目名称:" prop="dictName">
                                 <el-input v-model="formLabelAlign.dictName" />
                             </el-form-item>
-                            <el-form-item label="测算一级科目值:">
+                            <el-form-item label="测算一级科目值:" prop="dictValue">
                                 <el-input v-model="formLabelAlign.dictValue" />
                             </el-form-item>
                             <el-form-item label="序号:" prop="sort">
@@ -79,7 +79,7 @@
 <script setup>
 import { onMounted, ref, watch } from 'vue'
 import { getChildList, getParentList, removeDictionary, submitDictionary } from '~api/system/parameter.js'
-import { getArrValue } from 'js-fast-way'
+import { formValidate, getArrValue } from 'js-fast-way'
 
 const props = defineProps({
     cur: {
@@ -188,7 +188,30 @@ const priceform = ref({})
 const priceModalClose = () => {
     priceModal.value = false
 }
+const priceformRules = {
+    dictName: [
+        { required: true, message: '请输入名称', trigger: 'blur' },
+    ],
+    sort: [
+        { required: false, message: '请输入序号', trigger: 'blur' },
+    ],
+    dictValue: [
+        { required: true, message: '请输入字典值', trigger: 'blur' },
+    ],
 
+}
+const secondformRules = {
+    dictName: [
+        { required: true, message: '请输入名称', trigger: 'blur' },
+    ],
+    sort: [
+        { required: true, message: '请输入序号', trigger: 'blur' },
+    ],
+    dictValue: [
+        { required: true, message: '请输入字典值', trigger: 'blur' },
+    ],
+
+}
 const taskTitle = ref('')
 const openEdit = (type, row) => {
     
@@ -257,8 +280,11 @@ const formLabelAlign = ref({
 
 
 //新增一级科目
+const priceformref = ref(null)
 const saveparentClick = async ()=>{
-    const { error, code, msg } = await submitDictionary({
+    const res = await formValidate(priceformref.value)
+    if (res) {
+        const { error, code, msg } = await submitDictionary({
         type:tabsType.value,
         dictName:priceform.value?.dictName,
         id:menuKey.value || null,
@@ -273,25 +299,32 @@ const saveparentClick = async ()=>{
     } else {
         window.$message?.warning(msg)
     }
+    }
+ 
 }
 //新增二级级科目
+const secondformref = ref(null)
 const savechilidClick = async ()=>{
-    const { error, code, msg } = await submitDictionary({
-        type:tabsType.value,
-        dictName:formLabelAlign.value?.dictName,
-        id:formLabelAlign.value.id || null,
-        parentId:menuKey.value,
-        sort:formLabelAlign.value?.sort,
-        dictValue:formLabelAlign.value?.dictValue,
-    })
-   
-    if (!error && code === 200) {
-        window.$message?.success(msg)
-        editTaskModal.value = false
-        getChildListData()
-    } else {
-        window.$message?.warning(msg)
+    const res = await formValidate(secondformref.value)
+    if (res) {
+        const { error, code, msg } = await submitDictionary({
+            type:tabsType.value,
+            dictName:formLabelAlign.value?.dictName,
+            id:formLabelAlign.value.id || null,
+            parentId:menuKey.value,
+            sort:formLabelAlign.value?.sort,
+            dictValue:formLabelAlign.value?.dictValue,
+        })
+    
+        if (!error && code === 200) {
+            window.$message?.success(msg)
+            editTaskModal.value = false
+            getChildListData()
+        } else {
+            window.$message?.warning(msg)
+        }
     }
+
 }
 //获取一级科目
 const getParentListData = async ()=>{