Browse Source

新增自定义节点修改

duy 10 months ago
parent
commit
43c6d8e7ae
1 changed files with 140 additions and 55 deletions
  1. 140 55
      src/views/data-fill/wbs.vue

+ 140 - 55
src/views/data-fill/wbs.vue

@@ -833,13 +833,40 @@
             widths="720px"
             @save="addNodeClickCur"
         >
-            <div>节点名称:</div>
+            <!-- <div>节点名称:</div>
             <el-input
                 v-model="nodeNameinput"
                 placeholder="请输入节点名称"
                 size="large"
                 style="margin-top: 15px"
-            />
+            /> -->
+
+            <el-form
+                ref="formWaterNodeRef"
+                :model="formWaterNodeModel"
+                :rules="formWaterNodeRules"
+                label-width="auto"
+                size="large"
+                label-position="left"
+            >
+                <el-form-item label="节点名称" prop="nodeName">
+                    <el-input
+                        v-model="formWaterNodeModel.nodeName"
+                        placeholder="请输入节点名称"
+                    />
+                </el-form-item>
+
+                <el-form-item label="节点类型" prop="nodeType">
+                    <el-select v-model="formWaterNodeModel.nodeType" block>
+                        <el-option
+                            v-for="item in nodeTypeData"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                        />
+                    </el-select>
+                </el-form-item>
+            </el-form>
         </hc-new-dialog>
         <!-- 新增自定义节点-数字化文件 -->
         <hc-new-dialog
@@ -856,6 +883,7 @@
                 :rules="formDataNodeRules"
                 label-width="auto"
                 size="large"
+                label-position="left"
             >
                 <el-form-item label="节点名称" prop="nodeName">
                     <el-input
@@ -881,51 +909,81 @@
                     </el-radio-group>
                 </el-form-item>
 
-                <el-form-item
-                    label="标准分类"
-                    prop="className"
-                    v-if="formDataNodeModel.isClassifition === 1"
-                >
-                    <el-select
-                        v-model="formDataNodeModel.className"
-                        block
-                        @change="changeStandType"
-                    >
-                        <el-option
-                            v-for="item in standardTypeOptions"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value"
-                        />
-                    </el-select>
-                </el-form-item>
-                <el-form-item
-                    label="单位名称"
-                    prop="unitName"
-                    v-if="formDataNodeModel.isClassifition === 1"
-                >
-                    <el-select v-model="formDataNodeModel.unitName" block>
-                        <el-option
-                            v-for="item in unitNameOptions"
-                            :key="item.value"
-                            :label="item.dictValue"
-                            :value="item.dictKey"
-                        />
-                    </el-select>
-                </el-form-item>
-                <el-form-item
-                    prop="excellentNum"
-                    label="优良个数"
-                    v-if="formDataNodeModel.isClassifition === 1"
-                >
-                    <el-input-number
-                        v-model="formDataNodeModel.excellentNum"
-                        placeholder="请输入优良个数"
-                        :controls="false"
-                        :min="0"
-                        :precision="0"
-                    />
-                </el-form-item>
+                <el-row :gutter="24">
+                    <el-col :span="12">
+                        <el-form-item
+                            label="标准分类"
+                            prop="className"
+                            v-if="formDataNodeModel.isClassifition === 1"
+                        >
+                            <el-select
+                                v-model="formDataNodeModel.className"
+                                block
+                                @change="changeStandType"
+                            >
+                                <el-option
+                                    v-for="item in standardTypeOptions"
+                                    :key="item.value"
+                                    :label="item.label"
+                                    :value="item.value"
+                                />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item
+                            label="单元名称"
+                            prop="unitName"
+                            v-if="formDataNodeModel.isClassifition === 1"
+                        >
+                            <el-select
+                                v-model="formDataNodeModel.unitName"
+                                block
+                            >
+                                <el-option
+                                    v-for="item in unitNameOptions"
+                                    :key="item.value"
+                                    :label="item.dictValue"
+                                    :value="item.dictKey"
+                                />
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row :gutter="24">
+                    <el-col :span="12">
+                        <el-form-item
+                            prop="unitNum"
+                            label="单元个数"
+                            v-if="formDataNodeModel.isClassifition === 1"
+                        >
+                            <el-input-number
+                                v-model="formDataNodeModel.unitNum"
+                                placeholder="请输入单元个数"
+                                :controls="false"
+                                :min="0"
+                                :precision="0"
+                                class="w-100"
+                            />
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="12">
+                        <el-form-item
+                            prop="excellentNum"
+                            label="优良个数"
+                            v-if="formDataNodeModel.isClassifition === 1"
+                        >
+                            <el-input-number
+                                v-model="formDataNodeModel.excellentNum"
+                                placeholder="请输入优良个数"
+                                :controls="false"
+                                :min="0"
+                                :precision="0"
+                                class="w-100"
+                            />
+                        </el-form-item>
+                    </el-col>
+                </el-row>
             </el-form>
         </hc-new-dialog>
 
@@ -2111,21 +2169,39 @@ const isCustom = ref(null);
 //新增自定义节点
 const addNodeModalCus = ref(false);
 const addNodeLoadingCus = ref(false);
+//新增自定义节点(水利工程)
 const nodeNameinput = ref("");
+const formWaterNodeRef = ref(null);
+const formWaterNodeModel = ref({
+    nodeName: "",
+    nodeType: null,
+});
+const formWaterNodeRules = {
+    nodeName: {
+        required: true,
+        trigger: "blur",
+        message: "请输入节点名称",
+    },
 
+    nodeType: {
+        required: true,
+        trigger: "blur",
+        message: "请选择节点类型",
+    },
+};
 //新增自定义节点-数字化文件
 
 const addNodeModalData = ref(false);
 const addNodeLoadingData = ref(false);
 const formDataNodeRef = ref(null);
 const formDataNodeModel = ref({
-    title: "",
+    nodeName: "",
     nodeType: null,
     isClassifition: 0,
     className: "",
     unitName: "",
-
-    excellentNum: 0,
+    unitNum: 1,
+    excellentNum: 1,
 });
 const standardTypeOptions = ref([]);
 const getStandardTypeOptions = async () => {
@@ -2199,11 +2275,18 @@ const formDataNodeRules = {
         trigger: "blur",
         message: "请输入优良个数",
     },
+    unitNum: {
+        required: true,
+        trigger: "blur",
+        message: "请输入单元个数",
+    },
 };
 
 const addNodeClickData = async () => {
+    const validate = await formValidate(formDataNodeRef.value);
+    if (!validate) return;
     //发起请求
-    addNodeClickData.value = true;
+    addNodeLoadingData.value = true;
     const { error, code, msg } = await wbsApi.saveCustomAddContractNode({
         nodeName: formDataNodeModel.value.nodeName,
         nodeType: formDataNodeModel.value?.nodeType || "",
@@ -2216,7 +2299,7 @@ const addNodeClickData = async () => {
         excellentNum: formDataNodeModel.value?.excellentNum || 0,
     });
     //判断状态
-    addNodeClickData.value = false;
+    addNodeLoadingData.value = false;
     if (!error && code === 200) {
         window?.$message?.success("新增成功");
         addNodeModalData.value = false;
@@ -2285,14 +2368,16 @@ const addNodeClick = async () => {
     }
 };
 const addNodeClickCur = async () => {
+    const validate = await formValidate(formWaterNodeRef.value);
+    if (!validate) return;
     //发起请求
     addNodeLoadingCus.value = true;
     const { error, code, msg } = await wbsApi.saveCustomAddContractNode({
-        nodeName: nodeNameinput.value,
-        nodeType: nodeDataInfo.value?.nodeType || "",
+        nodeName: formWaterNodeModel.value.nodeName,
+        nodeType: formWaterNodeModel.value?.nodeType || "",
 
         nodeClass: 1, //1水利化工程,2数字化文件
-        partitionCode: nodeDataInfo.value?.partitionCode || "",
+
         primaryKeyId: nodeDataInfo.value?.primaryKeyId || "",
     });
     //判断状态