From a4b23bbf535f10c5ecc31b16bc8177bcfc23e996 Mon Sep 17 00:00:00 2001
From: hailin <1356886193@qq.com>
Date: 星期一, 07 八月 2023 09:44:13 +0800
Subject: [PATCH] 添加原材料检验单第一次

---
 src/components/view/rawInsDetail.vue |  269 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 202 insertions(+), 67 deletions(-)

diff --git a/src/components/view/rawInsDetail.vue b/src/components/view/rawInsDetail.vue
index 716cab0..539c4f9 100644
--- a/src/components/view/rawInsDetail.vue
+++ b/src/components/view/rawInsDetail.vue
@@ -32,6 +32,9 @@
   .raw-detail-info .el-input{
         width: auto;
   }
+  .raw-detail-info.raw-detail-info-edit >>>.el-input__inner{
+    background:#fff;
+  }
   .raw-detail-info >>>.el-input__inner{
     width: 224px;
     height: 32px;
@@ -42,6 +45,12 @@
   }
   .raw-detail-info .el-form-item{
     margin-bottom: 24px;
+  }
+  .raw-detail-info .el-form-item .el-button {
+    height: 32px;
+    border: 1px solid rgba(190, 190, 190, 0.44);
+    box-shadow: 0px 2px 4px rgba(220, 220, 220, 0.41);
+    padding: 0 12px;
   }
 
   /* 妫�楠岄」鐩� */
@@ -70,56 +79,136 @@
         </el-col>
       </el-row>
     </div>
-    <div class="raw-detail-info">
-        <el-form v-model="detail" label-position="right" label-width="120px" >
+    <div class="raw-detail-info" :class="detailId===null?'raw-detail-info-edit':''">
+        <el-form v-model="detailInfo" label-position="right" label-width="120px" >
             <el-row>
                 <el-col :span="7">
                     <el-form-item label="鏉ユ枡鏃ユ湡:">
-                        <el-input></el-input>
+                        <el-input v-if="detailId!==null" :disabled="detailId!==null" v-model="detailInfo.formTime"></el-input>
+                        <el-date-picker
+                          v-else
+                          type="date"
+                          v-model="detailInfo.formTime"
+                          placeholder="閫夋嫨鏃ユ湡">
+                        </el-date-picker>
                     </el-form-item>
                 </el-col>
                 <el-col :span="7">
                     <el-form-item label="瑙勬牸鍨嬪彿:">
-                        <el-input></el-input>
+                        <el-input :disabled="detailId!==null" v-model="detailInfo.specifications"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="7">
                     <el-form-item label="鍘熸潗鏂欑紪鐮�:">
-                        <el-input></el-input>
+                        <el-input :disabled="detailId!==null" v-model="detailInfo.code"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
              <el-row>
                 <el-col :span="7">
                     <el-form-item label="鍘熸潗鏂欏悕绉�:">
-                        <el-input></el-input>
+                        <el-input :disabled="detailId!==null" v-model="detailInfo.name"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="7">
-                    <el-form-item label="鎶ユ鏃ユ湡:">
-                        <el-input></el-input>
+                    <el-form-item label="鏁伴噺:">
+                        <el-input placeholder="璇疯緭鍏ユ楠屾暟閲�" :disabled="detailId!==null" v-model="detailInfo.number"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="7">
                     <el-form-item label="鍗曚綅:">
-                        <el-input></el-input>
+                        <el-input placeholder="璇疯緭鍏ユ楠屽崟浣�" :disabled="detailId!==null" v-model="detailInfo.unit"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col  :span="3">
+                    <el-form-item v-show="detailId===null" label="" label-width="100px">
+                        <el-button  @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
                     </el-form-item>
                 </el-col>
             </el-row>
              <el-row>
+                
                 <el-col :span="7">
-                    <el-form-item label="鏁伴噺:">
-                        <el-input></el-input>
+                    <el-form-item v-show="detailId!==null" label="鎶ユ鏃ユ湡:">
+                        <el-input :disabled="detailId!==null" v-model="detailInfo.createTime"></el-input>
                     </el-form-item>
                 </el-col>
-                <el-col :span="7">
-                    <el-form-item label="鎶ユ浜�:">
-                        <el-input></el-input>
+                <el-col :span="14">
+                    <el-form-item v-show="detailId!==null" label="鎶ユ浜�:">
+                        <el-input :disabled="detailId!==null" v-model="detailInfo.userName"></el-input>
                     </el-form-item>
                 </el-col>
                 
             </el-row>
         </el-form>
+        <!-- <el-form v-show="detailId ===null" v-model="rawInsParams" label-position="right" label-width="120px" >
+            <el-row>
+                <el-col :span="7">
+                    <el-form-item label="璁㈠崟鍙�:">
+                        <el-input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="rawInsParams.orderNumber"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item label="瀹㈡埛鍚嶇О:">
+                        <el-input placeholder="璇疯緭鍏ュ鎴峰悕绉�" v-model="rawInsParams.customerName"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item label="宸ョ▼鍚嶇О:">
+                        <el-input placeholder="璇疯緭鍏ュ伐绋嬪悕绉�"  v-model="rawInsParams.projectName"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+             <el-row>
+                <el-col :span="7">
+                    <el-form-item label="璐ㄩ噺杩芥函鍙�:">
+                        <el-input  placeholder="璇疯緭鍏ヨ川閲忚拷婧彿"  v-model="rawInsParams.qualityTraceability"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item label="椤圭洰鍚嶇О:">
+                        <el-select placeholder="璇疯緭鍏ラ」鐩悕绉�" v-model="rawInsParams.material">
+                          <el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.name"></el-option>
+                        </el-select>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item label="浜у搧缂栫爜:">
+                        <el-input placeholder="浜у搧缂栫爜" disabled  v-model="code"></el-input>
+                    </el-form-item>
+                </el-col>
+                
+            </el-row>
+             <el-row>
+                <el-col :span="7">
+                    <el-form-item label="瑙勬牸鍨嬪彿:">
+                        <el-input  v-model="detailInfo.specificationsModel"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item label="鍗曚綅:">
+                        <el-input placeholder="璇疯緭鍏ュ崟浣�"  v-model="rawInsParams.unit"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col  :span="7">
+                    <el-form-item label="鏁伴噺">
+                      <el-input  placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"  v-model="rawInsParams.qualityTraceability"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+             <el-row>
+                <el-col :span="21">
+                    <el-form-item label="涓绘満宸�:">
+                        <el-input placeholder="璇疯緭鍏ヤ富鏈哄伐"  v-model="rawInsParams.userId"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col  :span="3">
+                    <el-form-item label="" label-width="100px">
+                        <el-button  @click="addNewRawInspect">淇濆瓨鎻愪氦</el-button>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+        </el-form> -->
     </div>
     <div class="title">
       <el-row>
@@ -144,36 +233,43 @@
                 width="212">
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="unit"
                 label="鍗曚綅"
                 width="148">
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="required"
                 label="鏍囧噯"
                 width="254">
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="internal"
                 label="鍐呮帶鍊�"
                 width="291">
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="testValue"
                 label="妫�鏌ュ��"
                 width="371">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.testValue" @blur="changeState(scope.row)"></el-input>
+                </template>
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="deviceName"
                 label="璇曢獙璁惧"
                 width="248"
                 >
             </el-table-column>
             <el-table-column
-                prop="address"
+                prop="testState"
                 label="缁撹"
                  width="98"
                 >
+                <template slot-scope="scope">
+                  <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span>
+                  <span v-show="scope.row.testState==null">鏆傛湭缁撹</span>
+                </template>
             </el-table-column>
     </el-table>
     </div>
@@ -185,31 +281,37 @@
     <div class="raw-conclusion-table">
         <el-table :data="conclusionTable">
             <el-table-column
-                prop="number"
+                prop="code"
                 label="鐗╂枡缂栧彿"
                 width="353">
             </el-table-column>
             <el-table-column
-                prop="number"
+                prop="name"
                 label="鐗╂枡鍚嶇О"
                 width="353">
             </el-table-column>
             <el-table-column
-                prop="number"
+                prop="names"
                 label="妫�楠屽憳"
                 width="542">
+                <template slot-scope="scope">
+                  <span v-for="item in scope.row.names" :key="item.username" :style="{marginRight:'8px'}">{{item}}</span>
+                </template>
             </el-table-column>
             <el-table-column
-                prop="number"
+                prop="testState"
                 label="妫�楠岀粨璁�"
                 width="362">
+                 <template slot-scope="scope">
+                  <span v-show="scope.row.testState!=null" :style="{color: scope.row.testState===1?'#67C23A':'#F56C6C'}">{{scope.row.testState===1?'鍚堟牸':'涓嶅悎鏍�'}}</span>
+                  <span v-show="scope.row.testState==null">鏆傛湭缁撹</span>
+                </template>
             </el-table-column>
              <el-table-column
-                fixed="right"
                 label="鎿嶄綔"
                 width="120">
-                <template slot-scope="scope">
-                    <el-button type="text" size="small">涓婃姤</el-button>
+                <template>
+                    <el-button type="text" size="small" @click.once="submitSave">涓婃姤</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -221,51 +323,84 @@
 import RawIns from './raw-ins.vue'
 export default {
     components:{RawIns},
-    props:['goBack','detail'],
+    props:['goBack','detailId'],
     created(){
-        console.log(this.detail)
+      // 娓呯┖
+      this.detailInfo = {}
+      if(this.detailId){
+        console.log(this.detailId)
+        this.getDetailInfo()
+      }else{
+        this.getOptions()
+      }  
+    },
+    mounted(){
+    },
+    computed:{
+      conclusionTable(){
+        // console.log(this.projectTable)
+        // console.log(this.projectTable.map(item=>item.userName))
+        const conclusion = {}
+        conclusion.name = this.detailInfo.name
+        conclusion.code = this.detailInfo.code
+        conclusion.names= [...new Set(this.projectTable.map(item=>item.userName))]
+        console.log(this.projectTable.filter(item=>item.testState===0))
+        if(this.projectTable.filter(item=>item.testState===null).length){
+          conclusion.testState = null
+          return [conclusion]
+        }
+        if(this.projectTable.filter(item=>item.testState===0).length>0){
+          conclusion.testState= 0
+        }else{
+          conclusion.testState= 1
+        }
+        return [conclusion]
+      },
+      // 浜у搧缂栫爜
+      // code(){
+      //   const material= this.materialOptions.filter(item=>item.name===this.rawInsParams.material)[0]
+      //   return  material && material.code
+      // }
     },
     data() {
         return {
-            conclusionTable:[
-                {number:'鐗╂枡鍚嶇О'}
-            ],
-            projectTable:[
-                {
-            date: '2016-05-02',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }, {
-            date: '2016-05-04',
-            name: '鐜嬪皬铏�',
-            address: '涓婃捣甯�'
-          }
-            ]
+          // 璇︽儏椤靛氨鏄鎯呬俊鎭�
+          detailInfo:{},
+          projectTable:[],
+          // 鏂板缓妫�楠屽崟鍙傛暟瀵硅薄
+          rawInsParams:{},
+          // 椤圭洰鍚嶇Оoptions
+          materialOptions:[]
         }
     },
+    methods:{
+      // 鑾峰彇鎶ユ鍗曡鎯呬俊鎭�
+      async getDetailInfo() {
+        const {data} = await this.$axios.get(this.$api.url.selectRawInspectsListById+`${this.detailId}`,{params:{id:this.detailId}})
+        this.detailInfo  = data
+        this.projectTable = data.rawInsProducts
+        // console.log(this.projectTable)
+      },
+      // 鏂板妫�楠屽崟
+      addNewRawInspect() {
+        console.log(this.detailInfo)
+      },
+      // 淇敼椤圭洰鐨勬娴嬪�兼敼鍙樼粨璁�
+      async changeState(row){
+        // console.log(row)
+        const res = await this.$axios.post(this.$api.url.updaterawInsProduct,{...row},{headers:{'Content-Type':'application/json'}})
+        this.$message.success('鎻愪氦鎴愬姛')
+        this.getDetailInfo()//閲嶆柊鍒锋柊淇℃伅鏁版嵁
+      },
+      async submitSave() {
+        const res = await this.$axios.post(this.$api.url.updateRawInspectsById+`${this.detailId}`)
+        this.$message.success('鎻愪氦鎴愬姛')
+        this.getDetailInfo()
+      },
+      async getOptions() {
+        const {data} = await this.$axios.get(this.$api.url.listMaterial) 
+        this.materialOptions = data
+      }
+     }
 }
 </script>

--
Gitblit v1.9.3