From 1b86547ddc47a96e86eb376d0a381814ad621fd0 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 22 二月 2024 08:13:31 +0800
Subject: [PATCH] 提交产品界面

---
 north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java |    9 +-
 north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java       |   57 ++++++++++---
 north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue                |  118 +++++++++++++++++++++++++---
 3 files changed, 151 insertions(+), 33 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
index 8d8982b..864fae8 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -1,4 +1,8 @@
 <script setup>
+import request from "@/utils/request"
+import deepClone from "@/utils/deepClone";
+import {ElMessage} from "element-plus";
+import {ref} from "vue";
 const disposeList = $ref([
   '褰╅噳',
   '钂欑爞',
@@ -23,7 +27,41 @@
     '涓┖',
     '鍖呰'
 ])
+let BasicData = ref({
+  stuffColor:null,
+  stuffCraft:null,
+  stuffLowE:null,
+  stuffPosition:null,
+  stuffThickness:null,
+  InterlayerType:null,
+  InterlayerThickness:null,
+  InterlayerColor:null
 
+})
+let stuff = ref({
+  thickness:'',
+  color:'',
+  craft:'',
+  position:'',
+  lowE:''
+})
+let processChecked = ref([])
+
+request.get(`/basicData/BasicDataByType/product`).then((res) => {
+  if(res.code==200){
+    console.log(res.data)
+    BasicData.value = res.data
+  }else{
+    ElMessage.warning(res.msg)
+  }
+})
+
+const reset = () => {
+  processChecked.value=[]
+  Object.keys(stuff.value).forEach((item,index)=>{
+    stuff.value[item]=''
+  })
+}
 </script>
 
 <template>
@@ -39,27 +77,57 @@
 <!--          <el-col :span="6"></el-col>-->
           <el-col :span="4">
             <div class="grid-content ep-bg-purple" >
-              <el-select size="small" clearable placeholder="*鍘氬害:" />
+              <el-select v-model="stuff.thickness" size="small" clearable placeholder="*鍘氬害:" >
+                <el-option v-for="item in BasicData.stuffThickness"
+                           :key="item.id"
+                           :label="item.basicName"
+                           :value="item.basicName"
+                />
+              </el-select>
+            </div>
+          </el-col>
+          <el-col :span="5">
+            <div class="grid-content ep-bg-purple" >
+              <el-select v-model="stuff.color" size="small" clearable placeholder="*棰滆壊:"  filterable>
+                <el-option v-for="item in BasicData.stuffColor"
+                           :key="item.id"
+                           :label="item.basicName"
+                           :value="item.basicName"
+                />
+              </el-select>
             </div>
           </el-col>
           <el-col :span="4">
             <div class="grid-content ep-bg-purple" >
-              <el-select size="small" clearable placeholder="*棰滆壊:" />
-            </div>
-          </el-col>
-          <el-col :span="6">
-            <div class="grid-content ep-bg-purple" >
-              <el-select size="small" clearable placeholder="*宸ヨ壓灞炴��:" />
+              <el-select v-model="stuff.craft" size="small" clearable placeholder="*宸ヨ壓灞炴��:" >
+                <el-option v-for="item in BasicData.stuffCraft"
+                           :key="item.id"
+                           :label="item.basicName"
+                           :value="item.basicName"
+                />
+              </el-select>
             </div>
           </el-col>
           <el-col :span="4">
             <div class="grid-content ep-bg-purple" >
-              <el-select size="small"  clearable placeholder="浣嶇疆:" />
+              <el-select v-model="stuff.position" size="small"  clearable placeholder="浣嶇疆:" >
+                <el-option v-for="item in BasicData.stuffPosition"
+                           :key="item.id"
+                           :label="item.basicName"
+                           :value="item.basicName"
+                />
+              </el-select>
             </div>
           </el-col>
           <el-col :span="6">
             <div class="grid-content ep-bg-purple" >
-              <el-select size="small"  clearable placeholder="LOW-E闈�:" />
+              <el-select v-model="stuff.lowE" size="small"  clearable placeholder="LOW-E闈�:" >
+                <el-option v-for="item in BasicData.stuffLowE"
+                           :key="item.id"
+                           :label="item.basicName"
+                           :value="item.basicName"
+                />
+              </el-select>
             </div>
           </el-col>
         </el-row>
@@ -90,8 +158,9 @@
       </div>
       <div class="line"/>
       <div class="glass-process">
-        <h5>鏉愭枡灞炴��</h5>
+        <h5>宸ヨ壓灞炴��</h5>
         <el-checkbox
+            v-model="processChecked"
             v-for="item in processList"
             :label="item"
             class="glass-process-checkbox"
@@ -126,15 +195,33 @@
           <el-select
               size="small"
               style="width: 100px"
-              clearable placeholder="*澶瑰眰鍘氬害:" />
+              clearable placeholder="*澶瑰眰鍘氬害:" >
+            <el-option v-for="item in BasicData.InterlayerThickness"
+                       :key="item.id"
+                       :label="item.basicName"
+                       :value="item.basicName"
+            />
+          </el-select>
           <el-select
               size="small"
               style="width: 100px"
-              clearable placeholder="*绫诲瀷:" />
+              clearable placeholder="*绫诲瀷:" >
+            <el-option v-for="item in BasicData.InterlayerType"
+                       :key="item.id"
+                       :label="item.basicName"
+                       :value="item.basicName"
+            />
+          </el-select>
           <el-select
               size="small"
               style="width: 100px"
-              clearable placeholder="*棰滆壊:" />
+              clearable placeholder="*棰滆壊:" >
+            <el-option v-for="item in BasicData.InterlayerColor"
+                       :key="item.id"
+                       :label="item.basicName"
+                       :value="item.basicName"
+            />
+          </el-select>
           <el-button
               size="small"
               type="primary"
@@ -153,12 +240,13 @@
             </el-col>
             <el-col :span="13">
               <div class="grid-content ep-bg-purple" >
-                <el-input size="small" disabled  />
+                <el-input :value="stuff.thickness+stuff.color+stuff.craft+stuff.position+stuff.lowE" size="small" disabled  />
               </div>
             </el-col>
             <el-col :span="3">
               <div class="grid-content ep-bg-purple" >
                 <el-button
+                    @click="reset"
                     size="small"
                     type="primary"
                     round>閲嶇疆</el-button>
@@ -175,7 +263,7 @@
             </el-col>
             <el-col :span="13">
               <div class="grid-content ep-bg-purple" >
-                <el-input size="small" disabled  />
+                <el-input :value="processChecked.join('->')" size="small" disabled  />
               </div>
             </el-col>
             <el-col :span="3">
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java
index aabb990..dbc54a8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/BasicDataController.java
@@ -3,10 +3,7 @@
 import com.example.erp.common.Result;
 import com.example.erp.service.sd.BasicDateService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Map;
 
@@ -19,4 +16,8 @@
     public Result getOrderBasicData(){
         return Result.seccess(basicDateService.getOrderBasicData());
     }
+    @GetMapping("/BasicDataByType/{type}")
+    public Result getBasicDataByType(@PathVariable String type){
+        return Result.seccess(basicDateService.getBasicDataByType(type));
+    }
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java
index f388f6e..7fab758 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/BasicDateService.java
@@ -22,24 +22,11 @@
     //鑾峰彇璁㈠崟鍩烘湰鏁版嵁
 public Map<String, List<Object>> getOrderBasicData() {
         //鑾峰彇璁㈠崟鍩烘湰鏁版嵁绫诲瀷
-        List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType("order");
-        //鑾峰彇璁㈠崟鍩烘湰鏁版嵁
-        List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData("order");
         //鍒涘缓Map瀵硅薄
         Map<String, List<Object>> orderBasicDataMap = new HashMap<>(); ;
         //鍒涘缓List瀵硅薄
+        orderBasicDataMap = getBasicDataByType("order");
 
-        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁绫诲瀷
-        for(String item :orderBasicDataType){
-            List<Object> orderBasicDataList = new ArrayList<>();
-            //灏嗙被鍨嬪拰List瀵硅薄鏀惧叆Map涓�
-            orderBasicDataMap.put(item,orderBasicDataList);
-        }
-        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁
-        for (BasicData item : orderBasicData){
-            //灏嗘暟鎹斁鍏ist涓�
-            orderBasicDataMap.get(item.getBasicCategory()).add(item);
-        }
 
         //鑾峰彇瀹㈡埛鍒楄〃
         List<Object> orderBasicDataList = new ArrayList<>();
@@ -53,4 +40,46 @@
         //杩斿洖Map瀵硅薄
         return orderBasicDataMap;
     }
+
+//    public Map<String, List<Object>> getBasicDataByType(String type) {
+//        List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType(type);
+//        //鑾峰彇璁㈠崟鍩烘湰鏁版嵁
+//        List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData(type);
+//        //鍒涘缓Map瀵硅薄
+//        Map<String, List<Object>> orderBasicDataMap = new HashMap<>(); ;
+//        //鍒涘缓List瀵硅薄
+//
+//        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁绫诲瀷
+//        for(String item :orderBasicDataType){
+//            List<Object> orderBasicDataList = new ArrayList<>();
+//            //灏嗙被鍨嬪拰List瀵硅薄鏀惧叆Map涓�
+//            orderBasicDataMap.put(item,orderBasicDataList);
+//        }
+//        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁
+//        for (BasicData item : orderBasicData){
+//            //灏嗘暟鎹斁鍏ist涓�
+//            orderBasicDataMap.get(item.getBasicCategory()).add(item);
+//        }
+//        return orderBasicDataMap;
+//    }
+
+    public Map<String, List<Object>> getBasicDataByType(String type){
+        List<String> orderBasicDataType = basicDateMapper.getOrderBasicDataType(type);
+        List<BasicData> orderBasicData = basicDateMapper.getOrderBasicData(type);
+        Map<String, List<Object>> BasicDataMap = new HashMap<>(); ;
+        //鍒涘缓List瀵硅薄
+
+        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁绫诲瀷
+        for(String item :orderBasicDataType){
+            List<Object> orderBasicDataList = new ArrayList<>();
+            //灏嗙被鍨嬪拰List瀵硅薄鏀惧叆Map涓�
+            BasicDataMap.put(item,orderBasicDataList);
+        }
+        //閬嶅巻璁㈠崟鍩烘湰鏁版嵁
+        for (BasicData item : orderBasicData){
+            //灏嗘暟鎹斁鍏ist涓�
+            BasicDataMap.get(item.getBasicCategory()).add(item);
+        }
+        return BasicDataMap;
+    }
 }

--
Gitblit v1.8.0