From 000b6f8c42b1eb52a75d3fdf58a950a26bfe18f6 Mon Sep 17 00:00:00 2001
From: 86134 <aa>
Date: 星期二, 07 十一月 2023 17:35:54 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before

---
 src/api/quality/processInspect.js                                    |   18 
 src/api/quality/unqualifiedprocess.js                                |   18 
 src/views/equipment/equipment/index.vue                              |   12 
 src/views/quality/processconfiguration/index.vue                     |  105 ++---
 src/views/common/rawMaterial-part.vue                                |    2 
 src/views/quality/finishedProductInspection/index.vue                |   14 
 src/api/quality/rawMaterial.js                                       |    9 
 src/views/quality/finishedProductInspection/finishedProduct-form.vue |   43 +
 src/views/common/ztt-table.vue                                       |    3 
 src/views/quality/processInspect/processInspect-form.vue             |  613 +++++++++++++++++++++----------
 src/views/quality/rawMaterial/rawMaterial-form.vue                   |  103 ++--
 /dev/null                                                            |   93 ----
 src/api/quality/finishedProduct.js                                   |    9 
 package.json                                                         |    3 
 src/views/quality/processInspect/index.vue                           |   12 
 src/views/quality/rawMaterial/index.vue                              |   83 ++--
 16 files changed, 664 insertions(+), 476 deletions(-)

diff --git a/package.json b/package.json
index 6fea7ba..fd460e9 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,8 @@
     "vue-quill-editor": "3.0.6",
     "vue-router": "^3.0.2",
     "vuedraggable": "^2.24.3",
-    "vuex": "^3.0.1"
+    "vuex": "^3.0.1",
+    "xlsx-style": "^0.8.13"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "~3.8.0",
diff --git a/src/api/quality/finishedProduct.js b/src/api/quality/finishedProduct.js
index 0badd57..cb8ce52 100644
--- a/src/api/quality/finishedProduct.js
+++ b/src/api/quality/finishedProduct.js
@@ -60,4 +60,13 @@
     method: 'post',
     params: obj
   })
+}
+
+export function exportExaminationProducts(query) {
+  return request({
+    url: '/mes/qualityFinishedInspect/exportExcel',
+    method: 'get',
+    responseType : 'blob',
+    params: query
+  })
 }
\ No newline at end of file
diff --git a/src/api/quality/processInspect.js b/src/api/quality/processInspect.js
index 8968102..acccc59 100644
--- a/src/api/quality/processInspect.js
+++ b/src/api/quality/processInspect.js
@@ -77,4 +77,20 @@
         method: 'post',
         params: obj
     })
-}
\ No newline at end of file
+}
+
+export function selectDevice() {
+  return request({
+    url: '/mes/qualityProcessInsProduct/selectDevice',
+    method: 'get',
+  })
+}
+
+export function exportProcessInsProduct(query) {
+  return request({
+    url: '/mes/qualityProcessInspect/exportExcel',
+    method: 'get',
+    responseType : 'blob',
+    params: query
+  })
+}
diff --git a/src/api/quality/rawMaterial.js b/src/api/quality/rawMaterial.js
index 6985610..74c5001 100644
--- a/src/api/quality/rawMaterial.js
+++ b/src/api/quality/rawMaterial.js
@@ -77,5 +77,12 @@
   })
 }
 
-
+export function exportRawMaterial(data) {
+  return request({
+    url: '/mes/rawInspect/export',
+    method: 'get',
+    responseType: 'blob',
+    params: data
+  })
+}
 
diff --git a/src/api/quality/unqualifiedprocess.js b/src/api/quality/unqualifiedprocess.js
index 729751c..e3702a0 100644
--- a/src/api/quality/unqualifiedprocess.js
+++ b/src/api/quality/unqualifiedprocess.js
@@ -8,6 +8,15 @@
   })
 }
 
+export function exportData(query) {
+  return request({
+    url: '/mes/qualityInspectUnaccepted/export',
+    method: 'get',
+    responseType: 'blob',
+    params: query
+  })
+}
+
 export function pullInsUnapi(query) {
   return request({
     url: '/mes/qualityInspectUnaccepted/pullInsUn',
@@ -199,3 +208,12 @@
     method: 'get'
   })
 }
+
+export function UnqualifiedDisposal(query) {
+  return request({
+    url: '/mes/qualityInspectUnaccepted/export',
+    method: 'get',
+    responseType : 'blob',
+    params: query
+  })
+}
\ No newline at end of file
diff --git a/src/views/common/rawMaterial-part.vue b/src/views/common/rawMaterial-part.vue
index 9a29d28..16ba844 100644
--- a/src/views/common/rawMaterial-part.vue
+++ b/src/views/common/rawMaterial-part.vue
@@ -210,9 +210,7 @@
         this.$parent.costPlannedAmountChange(this.currentRow)
       },
       handleCurrentChange(row) {
-        console.log(row);
         this.currentRow = row
-        console.log(this.currentRow);
       },
       handleSelectionChange(val) {
         // 澶氳閫変腑
diff --git a/src/views/common/ztt-table.vue b/src/views/common/ztt-table.vue
index 5750421..8f65553 100644
--- a/src/views/common/ztt-table.vue
+++ b/src/views/common/ztt-table.vue
@@ -819,6 +819,7 @@
             this.isCleanInfo = true
           }
         }
+        this.$emit("queryParam",this.queryParam)
       },
       deep: true
     },
@@ -936,7 +937,7 @@
       }
     },
     getDataList(selectedId) {
-      this.dataListLoading = true
+      // this.dataListLoading = true
       var criteria = {}
       criteria.dateTimeFilters = this.dateTimeFilters
       criteria.multiSearchFilter = this.multiSearchFilter
diff --git a/src/views/equipment/equipment/index.vue b/src/views/equipment/equipment/index.vue
index 59fead3..f65ac9d 100644
--- a/src/views/equipment/equipment/index.vue
+++ b/src/views/equipment/equipment/index.vue
@@ -198,12 +198,12 @@
             type: 'primary',
             fun: this.addOrUpdateHandle
           },
-          {
-            text: '鍚屾',
-            type: 'primary',
-            loading: false,
-            fun: this.pullEquipFun
-          }
+          // {
+          //   text: '鍚屾',
+          //   type: 'primary',
+          //   loading: false,
+          //   fun: this.pullEquipFun
+          // }
         ],
         operator: [
           {
diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
index 34cd401..0eb8bdd 100644
--- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue
+++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue
@@ -96,25 +96,41 @@
                         <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column>
                         <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
                             width="240" style="text-align: center;">
+                            
                             <template slot-scope="scope">
-                                <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" 
-                                class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
-                                    placement="top-start">
-                                    <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]"
-                                        @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
-                                    <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span>
+                                <el-col v-if="scope.row.itype === '1'">
+                                    <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" 
+                                        class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+                                            placement="top-start">
+                                            <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]"
+                                                @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
+                                            <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span>
                                     </el-tooltip>
+                                </el-col>
+                                <el-col v-else>
+                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
+                                            class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+                                            <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨">
+                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
+                                                    :value="item.value">
+                                                </el-option>
+                                            </el-select>
+                                            <span v-if="resultVal != null && processInspectVo.id != null"
+                                                v-text="scope.row.empiricalValueAddss[index]"></span>
+                                        </el-tooltip>
+                                    </el-col>
                             </template>
                         </el-table-column>
                         <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250">
                             <template slot-scope="scope">
                                 <span v-if="resultVal!=null && processInspectVo.id!=null" v-text="scope.row.ename"></span>
                                 <div v-else>
-                                    <el-select style="width:100%" v-model="scope.row.eId" 
+                                    <el-input  v-model="scope.row.eId"  v-if="scope.row.iname != null" placeholder="璇疯緭鍏ヨ澶囧彿"></el-input>
+                                    <!-- <el-select style="width:100%" v-model="scope.row.eId" 
                                     v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)">
                                         <el-option v-for="(item,index) in deviceList" 
                                         :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
-                                    </el-select>
+                                    </el-select> -->
                                 </div>
                             </template>
                         </el-table-column>
@@ -175,6 +191,13 @@
 export default {
     data() {
         return {
+            dataVal: [{
+                label: '鏄�',
+                value: '鏄�'
+            }, {
+                label: '鍚�',
+                value: '鍚�'
+            }],
             resultVal: null,
             deviceList: [],
             hasChildren: true,
@@ -220,6 +243,7 @@
         this.init()
     },
     methods: {
+        
         submitSave(){
             let pro = 0
             this.inspectionItems.forEach(item => {
@@ -323,7 +347,8 @@
         },
         getDeviceList(){
             selectDevice(null).then(res=>{
-                this.deviceList = res.data.data
+                // this.deviceList = res.data.data
+                console.log(res);
             })
         },
         updateDevice(row,index){
diff --git a/src/views/quality/finishedProductInspection/index.vue b/src/views/quality/finishedProductInspection/index.vue
index 674a317..3647ffc 100644
--- a/src/views/quality/finishedProductInspection/index.vue
+++ b/src/views/quality/finishedProductInspection/index.vue
@@ -20,7 +20,8 @@
     import ttable from '@/views/common/ztt-table.vue'
     import * as fecha from 'element-ui/lib/utils/date'
 	import finishedProductInspectionAdd from './finishedProduct-form'
-    import { page,deletePro } from '@/api/quality/finishedProduct'
+    import { page,deletePro,exportExaminationProducts } from '@/api/quality/finishedProduct'
+    import { transform } from '@/util/fileTransform'
 	export default {
 		components: {
 			finishedProductInspectionAdd,
@@ -151,6 +152,8 @@
                     },
                     {
                         text: '瀵煎嚭',
+                        type: 'primary',
+                        fun: this.exportExcel
                     }
                     ],
                     operator: [{
@@ -174,6 +177,15 @@
 		},
 		created() { },
 		methods: {
+            exportExcel(){
+                console.log("============");
+                let queryParam=this.$refs.finishedProduct.getQueryParam();
+                delete queryParam.criteria
+                console.log(queryParam);
+                exportExaminationProducts(queryParam).then((res)=>{
+                    transform(res)
+                })
+            },
 			deleteHandle(row){
 				console.log(row.id)
 				this.$confirm('纭鍒犻櫎璇ユ暟鎹悧锛�', '鎻愮ず', {
diff --git a/src/views/quality/processInspect/index.vue b/src/views/quality/processInspect/index.vue
index fdc05d8..b1b35e5 100644
--- a/src/views/quality/processInspect/index.vue
+++ b/src/views/quality/processInspect/index.vue
@@ -20,7 +20,8 @@
     import ttable from '@/views/common/ztt-table.vue'
     import * as fecha from 'element-ui/lib/utils/date'
 	import processInspectForm from './processInspect-form'
-    import { page,deleteById } from '@/api/quality/processInspect'
+    import { transform } from '@/util/fileTransform'
+    import { page,deleteById,exportProcessInsProduct } from '@/api/quality/processInspect'
 	export default {
 		components: {
 			processInspectForm,
@@ -153,6 +154,7 @@
                     },
                     {
                         text: '瀵煎嚭',
+                        fun: this.exportExcel
                     }
                     ],
                     operator: [{
@@ -172,6 +174,14 @@
 		},
 		created() { },
 		methods: {
+            exportExcel(){
+                let queryParam=this.$refs.processInspect.getQueryParam();
+                delete queryParam.criteria
+                console.log(queryParam);
+                exportProcessInsProduct(queryParam).then((res)=>{
+                    transform(res)
+                })
+            },
 			deleteHandle(row){
 				this.$confirm('纭鍒犻櫎璇ユ暟鎹悧锛�', '鎻愮ず', {
 				confirmButtonText: '纭畾',
diff --git a/src/views/quality/processInspect/processInspect-form.vue b/src/views/quality/processInspect/processInspect-form.vue
index c3adbb9..19a9326 100644
--- a/src/views/quality/processInspect/processInspect-form.vue
+++ b/src/views/quality/processInspect/processInspect-form.vue
@@ -4,45 +4,46 @@
         <div class="page-header">
             <div class="header-left">
                 <a @click="$router.go(-1)"><i class="icon-btn-back"></i></a>
-                <h2 v-if="resultVal != null && processInspectVo.id!=null">鏌ョ湅-杩囩▼妫�楠屽崟</h2>
+                <h2 v-if="resultVal != null && processInspectVo.id != null">鏌ョ湅-杩囩▼妫�楠屽崟</h2>
                 <h2 v-else>缂栬緫-杩囩▼妫�楠屽崟</h2>
             </div>
             <div class="btn-group header-right">
-                <el-button @click="addTestProject" v-if="processInspectVo.id==null">鐢熸垚妫�楠岄」鐩�</el-button>
+                <el-button @click="addTestProject" v-if="processInspectVo.id == null">鐢熸垚妫�楠岄」鐩�</el-button>
             </div>
         </div>
         <div class="page-main">
             <div class="finishedProduct-basic">
-                <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" 
-                label-position="right" label-width="120px" style="width: 100%" size="small">
+                <el-form :model="processInspectVo" ref="addInspectionform" class="l-mes" label-position="right"
+                    label-width="120px" style="width: 100%" size="small">
                     <div class="formwrapper">
                         <el-row>
                             <el-col :span="6">
                                 <el-form-item label="璁㈠崟鍙凤細">
                                     <el-input @blur="selectInfoByOrderId" :disabled="processInspectVo.id != null"
-                                    v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
+                                        v-model="processInspectVo.orderNumber" placeholder="璇疯緭鍏ヨ鍗曞彿" autocomplete="off" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="浜у搧鍚嶇О锛�">
-                                    <el-select style="width: 100%" @change="changeOptionsSamplename" :disabled="processInspectVo.id != null"
-                                        v-model="processInspectVo.material" size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
-                                        <el-option v-for="(item,index) in optionsSamplename" :key="index" :label="item.material"
-                                            :value="item.materialCode">
+                                    <el-select style="width: 100%" @change="changeOptionsSamplename"
+                                        :disabled="processInspectVo.id != null" v-model="processInspectVo.material"
+                                        size="small" placeholder="璇烽�夋嫨浜у搧鍚嶇О">
+                                        <el-option v-for="(item, index) in optionsSamplename" :key="index"
+                                            :label="item.material" :value="item.materialCode">
                                         </el-option>
                                     </el-select>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="浜у搧缂栫爜锛�">
-                                    <el-input disabled v-model="processInspectVo.materialCode"
-                                        placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" autocomplete="off" />
+                                    <el-input disabled v-model="processInspectVo.materialCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�"
+                                        autocomplete="off" />
                                 </el-form-item>
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="瑙勬牸鍨嬪彿锛�">
-                                    <el-input disabled v-model="processInspectVo.specs"
-                                        placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�" autocomplete="off" />
+                                    <el-input disabled v-model="processInspectVo.specs" placeholder="璇疯緭鍏ヨ鏍煎瀷鍙�"
+                                        autocomplete="off" />
                                 </el-form-item>
                             </el-col>
                         </el-row>
@@ -51,7 +52,7 @@
                                 <el-form-item label="宸ュ簭鍚嶇О">
                                     <el-select style="width: 100%" :disabled="processInspectVo.id != null"
                                         v-model="processInspectVo.technologyOperationId" size="small" placeholder="璇烽�夋嫨宸ュ簭">
-                                        <el-option v-for="(item,index) in technologyList" :key="index" :label="item.name"
+                                        <el-option v-for="(item, index) in technologyList" :key="index" :label="item.name"
                                             :value="item.technologyOperationId">
                                         </el-option>
                                     </el-select>
@@ -59,16 +60,16 @@
                             </el-col>
                             <el-col :span="6">
                                 <el-form-item label="鍗曚綅锛�">
-                                    <el-input disabled v-model="processInspectVo.unit"
-                                        placeholder="璇疯緭鍏ュ崟浣�" autocomplete="off" />
+                                    <el-input disabled v-model="processInspectVo.unit" placeholder="璇疯緭鍏ュ崟浣�"
+                                        autocomplete="off" />
                                 </el-form-item>
                             </el-col>
                         </el-row>
                         <el-row>
                             <el-col :span="6">
                                 <el-form-item label="鏁伴噺锛�">
-                                    <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�"
-                                        autocomplete="off" :disabled="processInspectVo.id != null" />
+                                    <el-input v-model="processInspectVo.quantity" placeholder="璇疯緭鍏ユ暟閲�" autocomplete="off"
+                                        :disabled="processInspectVo.id != null" />
                                 </el-form-item>
                             </el-col>
                         </el-row>
@@ -86,34 +87,60 @@
                 <el-row style="width:100%;">
                     <el-col :span="24">
                         <el-table border :data="inspectionItems" height="400"
-                            :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" 
-                            :cell-style="{textAlign:'center'}" row-key="iid" default-expand-all
-                            style="width: 100%" ref="table" :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
+                            :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }"
+                            :cell-style="{ textAlign: 'center' }" row-key="iid" default-expand-all style="width: 100%"
+                            ref="table" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
                             <el-table-column type="index" label="搴忓彿" width="60"></el-table-column>
-                            <el-table-column label="椤圭洰" prop="father" width="240" ></el-table-column>
-                            <el-table-column prop="iname" label="鎸囨爣" width="240" ></el-table-column>
-                            <el-table-column prop="iunit" label="鍗曚綅" width="240" ></el-table-column>
-                            <el-table-column prop="required" label="鏍囧噯鍊�" width="240" ></el-table-column>
-                            <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index" label="妫�娴嬪��"
-                                width="240" style="text-align: center;">
+                            <el-table-column label="椤圭洰" prop="father" width="240"></el-table-column>
+                            <el-table-column prop="iname" label="鎸囨爣" width="240"></el-table-column>
+                            <el-table-column prop="iunit" label="鍗曚綅" width="240"></el-table-column>
+                            <el-table-column prop="required" label="鏍囧噯鍊�" width="240"></el-table-column>
+                            <el-table-column prop="inspectionValue" v-for="(item, index) in empiricalValueAdd" :key="index"
+                                label="妫�娴嬪��" width="240" style="text-align: center;">
                                 <template slot-scope="scope">
-                                        <el-tooltip v-if="scope.row.iname!=null" :disabled="scope.row.eId != null" 
-                                        class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
-                                            placement="top-start">
-                                            <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]"
+                                    <el-col v-if="scope.row.itype === '1'">
+                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
+                                            class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+                                            <el-input :disabled="scope.row.eId == null"
+                                                v-model="scope.row.empiricalValueAddss[index]"
                                                 @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input>
-                                            <span v-if="resultVal != null && processInspectVo.id!=null" v-text="scope.row.empiricalValueAddss[index]"></span>
+                                            <span v-if="resultVal != null && processInspectVo.id != null"
+                                                v-text="scope.row.empiricalValueAddss[index]"></span>
                                         </el-tooltip>
+                                    </el-col>
+                                    <el-col v-else>
+                                        <el-tooltip v-if="scope.row.iname != null" :disabled="scope.row.eId != null"
+                                            class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+                                            <!-- <el-input :disabled="scope.row.eId == null"
+                                                v-model="scope.row.empiricalValueAddss[index]"
+                                                @blur="changeState(scope.row, index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> -->
+                                            <el-select style="width: 100%;" @change="changeState(scope.row, index)" :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" placeholder="璇烽�夋嫨">
+                                                <el-option v-for="item in dataVal" :key="item.value" :label="item.label"
+                                                    :value="item.value">
+                                                </el-option>
+                                            </el-select>
+                                            <span v-if="resultVal != null && processInspectVo.id != null"
+                                                v-text="scope.row.empiricalValueAddss[index]"></span>
+                                        </el-tooltip>
+                                    </el-col>
                                 </template>
                             </el-table-column>
                             <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="250">
                                 <template slot-scope="scope">
-                                    <span v-if="resultVal != null && scope.row.iname != null" v-text="scope.row.ename"></span>
+                                    <span v-if="resultVal != null && scope.row.iname != null"
+                                        v-text="scope.row.ename"></span>
                                     <div v-else>
+<<<<<<< HEAD
                                         <el-select style="width:100%" v-model="scope.row.eId" 
                                         v-if="scope.row.iname != null" filterable @change="updateDevice(scope.row,scope.$index)">
                                             <el-option v-for="(item,index) in deviceList" 
                                             :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
+=======
+                                        <el-select style="width:100%" v-model="scope.row.eId" v-if="scope.row.iname != null"
+                                            filterable @change="updateDevice(scope.row, scope.$index)">
+                                            <el-option v-for="(item, index) in deviceList" :key="index" :value="item.id"
+                                                :label="item.code + '-' + item.name"></el-option>
+>>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a
                                         </el-select>
                                     </div>
                                 </template>
@@ -135,7 +162,7 @@
 
                             <el-table-column label="缁撹" fixed="right" min-width="100">
                                 <template slot-scope="scope">
-                                    <div v-if="scope.row.iname!=null">
+                                    <div v-if="scope.row.iname != null">
                                         <span style="color: #34BD66;" v-if="scope.row.iresult == 1">鍚堟牸</span>
                                         <span style="color: #E84738;" v-else-if="scope.row.iresult == 0">涓嶅悎鏍�</span>
                                         <span v-else>鏆傛棤缁撹</span>
@@ -153,8 +180,8 @@
                 <el-row style="width:100%;">
                     <el-col :span="24">
                         <el-table border height="90" :data="inspectionResultForm"
-                        :header-cell-style="{textAlign:'center',color:'black',backgroundColor:'#fafafa'}" 
-                        :cell-style="{textAlign:'center'}">
+                            :header-cell-style="{ textAlign: 'center', color: 'black', backgroundColor: '#fafafa' }"
+                            :cell-style="{ textAlign: 'center' }">
                             <el-table-column prop="materialCode" label="鐗╂枡缂栧彿"></el-table-column>
                             <el-table-column prop="material" label="鐗╂枡鍚嶇О"></el-table-column>
                             <el-table-column prop="userName" label="妫�楠屽憳"></el-table-column>
@@ -164,9 +191,10 @@
                                     <el-tag type="danger" v-if="scope.row.result == '0'">涓嶅悎鏍�</el-tag>
                                 </template>
                             </el-table-column>
-                            <el-table-column  label="鎿嶄綔">
+                            <el-table-column label="鎿嶄綔">
                                 <template>
-                                    <el-button type="text" :disabled="resultVal != null && processInspectVo.id!=null"  @click="submitSave()" size="small">涓婃姤</el-button>
+                                    <el-button type="text" :disabled="resultVal != null && processInspectVo.id != null"
+                                        @click="submitSave()" size="small">涓婃姤</el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
@@ -175,49 +203,57 @@
             </div>
         </div>
     </div>
-    </template>
+</template>
     
-    <script>
-    import { 
-        chooseMater,
-        addProcess,
-        queryById,
-        updateDeviceBypppId,
-        updateProcessInsProduct,
-        updateProcessInspectsById,
-     } from '@/api/quality/processInspect'
-    import { selectDevice } from '@/api/quality/rawMaterial'
-    export default {
-        data() {
-            return {
-                resultVal: null,
-                technologyList: [],
-                deviceList: [],
-                hasChildren: true,
-                optionsSamplename: [],
-                // 娣诲姞鍒�
-                empiricalValueAdd: 1,
-                // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
-                empiricalValueAddMaxNumber: 0,
-                processInspectVo: {
-                    id: null,
-                    material: null,
-                    materialCode: null,
-                    orderNumber: "ZTTIC20230001",
-                    quantity: null,
-                    specs: null,
-                    unit: null,
-                    technologyOperationId: null
-                },
-                inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
-                inspectionResultForm: [],
-            }
-        },
-        watch: {
-        },
-        beforeUpdate(){
-          this.$nextTick(()=>{
+<script>
+import {
+    chooseMater,
+    addProcess,
+    queryById,
+    updateDeviceBypppId,
+    updateProcessInsProduct,
+    updateProcessInspectsById,
+} from '@/api/quality/processInspect'
+import { selectDevice } from '@/api/quality/processInspect'
+export default {
+    data() {
+        return {
+            dataVal: [{
+                label: '鏄�',
+                value: '鏄�'
+            }, {
+                label: '鍚�',
+                value: '鍚�'
+            }],
+            resultVal: null,
+            technologyList: [],
+            deviceList: [],
+            hasChildren: true,
+            optionsSamplename: [],
+            // 娣诲姞鍒�
+            empiricalValueAdd: 1,
+            // 缂栬緫鏃跺瓨鍌ㄦ渶闀跨殑鍒楁暟瀛楋紝鍋氬垹闄ゅ垽鏂�
+            empiricalValueAddMaxNumber: 0,
+            processInspectVo: {
+                id: null,
+                material: null,
+                materialCode: null,
+                orderNumber: "ZTTIC20230001",
+                quantity: null,
+                specs: null,
+                unit: null,
+                technologyOperationId: null
+            },
+            inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍�
+            inspectionResultForm: [],
+        }
+    },
+    watch: {
+    },
+    beforeUpdate() {
+        this.$nextTick(() => {
             this.$refs.table.doLayout();
+<<<<<<< HEAD
           })
         },
         created() {
@@ -243,59 +279,148 @@
                                 return obj.iresult == 0;
                         })
                         pro+=arr.length
+=======
+        })
+    },
+    created() {
+    },
+    mounted() {
+        this.getDeviceList()
+        this.processInspectVo.id = this.$route.query.id
+        this.resultVal = this.$route.query.resultVal
+        if (this.resultVal == null) {
+            let val = sessionStorage.getItem("process-resultVal-" + this.processInspectVo.id);
+            val == undefined ? this.resultVal = null : this.resultVal = val
+        }
+        this.init()
+    },
+    methods: {
+        submitSave() {
+            let pro = 0
+            console.log(this.inspectionItems);
+            this.inspectionItems.forEach(item => {
+                if (item.children) {
+                    let arr = item.children.filter(obj => {
+                        return obj.iresult == 0;
+                    })
+                    pro += arr.length
+                }
+            })
+            if (pro > 0) {
+                this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
+                    confirmButtonText: '纭畾',
+                    cancelButtonText: '鍙栨秷',
+                    inputPattern: /^\d+$/,
+                    inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
+                }).then(({ value }) => {
+                    let data = {
+                        id: this.processInspectVo.id,
+                        number: value
+>>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a
                     }
-                })
-                if (pro > 0) {
-                    this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', {
-                        confirmButtonText: '纭畾',
-                        cancelButtonText: '鍙栨秷',
-                        inputPattern: /^\d+$/,
-                        inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�'
-                    }).then(({ value }) => {
-                        let data = {
-                            id: this.processInspectVo.id,
-                            number: value
-                        }
-                        updateProcessInspectsById(data).then(res => {
-                            let data = res.data.data
-                            if(data){
-                                if(data.indexOf("鎴愬姛")>0){
-                                    this.$message.success(data);
-                                    this.checkTestState()
-                                }else{
-                                    this.$message.warning(data);
-                                }
-                                return
-                            }
-                        });
-                    }).catch(() => {});
-                }else{
-                    updateProcessInspectsById({id:this.processInspectVo.id,number:0}).then(res => {
+                    updateProcessInspectsById(data).then(res => {
                         let data = res.data.data
-                        if(data){
-                            if(data.indexOf("鎴愬姛") > 0){
+                        if (data) {
+                            if (data.indexOf("鎴愬姛") > 0) {
                                 this.$message.success(data);
                                 this.checkTestState()
-                            }else{
+                            } else {
                                 this.$message.warning(data);
                             }
                             return
                         }
                     });
+                }).catch(() => { });
+            } else {
+                updateProcessInspectsById({ id: this.processInspectVo.id, number: 0 }).then(res => {
+                    let data = res.data.data
+                    if (data) {
+                        if (data.indexOf("鎴愬姛") > 0) {
+                            this.$message.success(data);
+                            this.checkTestState()
+                        } else {
+                            this.$message.warning(data);
+                        }
+                        return
+                    }
+                });
+            }
+            this.init()
+        },
+        checkTestState() {
+            let resultVal = '1'
+            this.inspectionItems.forEach(item => {
+                if (item.children) {
+                    item.children.forEach(obj => {
+                        if (obj.iresult == 0) {
+                            resultVal = '0'
+                        }
+                    })
                 }
-                this.init()
-            },
-            checkTestState(){
-                let resultVal = '1'
-                this.inspectionItems.forEach(item=>{
-                    if(item.children){
-                        item.children.forEach(obj=>{
-                            if(obj.iresult == 0){
-                                resultVal = '0'
-                            }
-                        })
+            })
+            this.resultVal = resultVal
+            this.inspectionResultForm[0].result = resultVal
+            sessionStorage.setItem("process-resultVal-" + this.processInspectVo.id, resultVal)
+        },
+        init() {
+            let id = this.processInspectVo.id
+            if (id != null) {
+                queryById(id).then(res => {
+                    let result = res.data.data
+                    this.processInspectVo.orderNumber = result.orderNumber
+                    this.processInspectVo.materialCode = result.materialCode
+                    this.processInspectVo.material = result.material
+                    this.processInspectVo.technologyOperationId = result.technologyOperationName
+                    this.processInspectVo.specs = result.specs
+                    this.processInspectVo.unit = result.punit
+                    this.processInspectVo.quantity = result.quantity
+                    let userList = []
+                    result.children.forEach(item => {
+                        item.iid = Math.random()
+                        if (item.children != undefined) {
+                            item.children.forEach(obj => {
+                                let arr = []
+                                if (obj.userName) {
+                                    userList.push(obj.userName)
+                                }
+                                if (obj.inspectionValue) {
+                                    arr = obj.inspectionValue.split(",")
+                                }
+                                obj.empiricalValueAddss = arr
+                                if (arr.length > this.empiricalValueAdd) {
+                                    this.empiricalValueAdd = arr.length
+                                }
+                            })
+                        }
+                    })
+                    this.inspectionItems = result.children
+                    this.inspectionResultForm = [{
+                        materialCode: result.materialCode,
+                        material: result.material,
+                        userName: Array.from(new Set(userList)).join(","),
+                        result: this.resultVal == null ? '' : this.resultVal,
+                    }]
+                }).catch(error => {
+                    console.log(error)
+                })
+            }
+        },
+        getDeviceList() {
+            selectDevice(null).then(res => {
+                this.deviceList = res.data.data
+            })
+        },
+        updateDevice(row, index) {
+            updateDeviceBypppId({ deviceId: row.eId, ppid: row.iid }).then(res => {
+                this.inspectionItems.forEach(obj => {
+                    console.log(obj);
+                    if (obj.children) {
+                        obj.children[index - 1].inspectionValue = null
+                        obj.children[index - 1].iresult = null
+                        obj.children[index - 1].empiricalValueAddss = []
                     }
                 })
+<<<<<<< HEAD
                 this.resultVal = resultVal
                 this.inspectionResultForm[0].result = resultVal
                 sessionStorage.setItem("process-resultVal-"+this.processInspectVo.id,resultVal)
@@ -466,90 +591,172 @@
             // 鍒犻櫎妫�楠屽�煎垪
             clickDeleteInspectionColumn() {
                 if (this.empiricalValueAdd - 1 === 0) {
-                } else {
-                    if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
-                        this.empiricalValueAdd = this.empiricalValueAdd - 1;
-                        this.inspectionItems.forEach(i => {
-                            i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
-                        });
-                    }
+=======
+            }).catch(error => {
+                console.log(error)
+            })
+        },
+        //浜у搧鍚嶇О锛岄�夋嫨
+        changeOptionsSamplename(val) {
+            let sample = this.optionsSamplename.filter(o => {
+                return o.materialCode == val
+            })[0]
+            this.processInspectVo.materialCode = sample.materialCode
+            this.processInspectVo.specs = sample.specs
+            this.processInspectVo.unit = sample.unit
+            this.processInspectVo.material = sample.material
+            this.technologyList = sample.children
+        },
+        changeState(row, index) {
+            if (row.iid != null && row.iid != '') {
+                let str = ""
+                row.empiricalValueAddss.forEach(e => {
+                    str += e + ","
+                })
+                str = str.slice(0, -1);
+                if (str === undefined || str === '' || str === null) {
+                    return
                 }
-            },
-            // 娣诲姞妫�楠屽�煎垪
-            clickAddInspectionColumn() {
-                this.empiricalValueAdd = this.empiricalValueAdd + 1;
+                let obj = {
+                    devideId: row.eId,
+                    ppid: row.iid,
+                    inspectionValue: str
+                }
+                updateProcessInsProduct(obj).then(res => {
+                    if (res.data.code == 0) {
+                        this.$message.success("鏇存柊鎴愬姛")
+                    } else {
+                        this.$message.error("鏇存柊澶辫触")
+                    }
+                    this.init()
+                })
             }
         },
-    }
-    </script>
+        addTestProject() {
+            let val = this.processInspectVo
+            addProcess(val).then(res => {
+                let id = res.data.data
+                if (id != null) {
+                    queryById(id).then(response => {
+                        console.log(response.data.data.children)
+                        let proList = response.data.data.children
+                        proList.forEach(item => {
+                            item.iid = Math.random();
+                            if (item.children != undefined) {
+                                item.children.forEach(obj => {
+                                    obj.empiricalValueAddss = []
+                                })
+                            }
+                        })
+                        this.inspectionItems = proList
+                    }).catch(error => {
+                        console.log(error);
+                    })
+                }
+            }).catch(error => {
+                console.log(error)
+            })
+        },
+        selectInfoByOrderId() {
+            chooseMater({
+                orderNumber: this.processInspectVo.orderNumber
+            }).then(res => {
+                if (res.data.data != null) {
+                    this.optionsSamplename = res.data.data.children
+>>>>>>> c36b81234cff45a92a096a94e844041cc1a31f2a
+                } else {
+                    this.$message({
+                        message: '娌℃湁璇ヨ鍗曞彿锛�',
+                        type: 'warning'
+                    });
+                    this.optionsSamplename = []
+                    this.processInspectVo.materialCode = null
+                    this.processInspectVo.material = null
+                    this.processInspectVo.specs = null
+                    this.processInspectVo.unit = null
+                }
+            })
+        },
+        // 鍒犻櫎妫�楠屽�煎垪
+        clickDeleteInspectionColumn() {
+            if (this.empiricalValueAdd - 1 === 0) {
+            } else {
+                if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) {
+                    this.empiricalValueAdd = this.empiricalValueAdd - 1;
+                    this.inspectionItems.forEach(i => {
+                        i.empiricalValueAddss.splice(this.empiricalValueAdd, 1);
+                    });
+                }
+            }
+        },
+        // 娣诲姞妫�楠屽�煎垪
+        clickAddInspectionColumn() {
+            this.empiricalValueAdd = this.empiricalValueAdd + 1;
+        }
+    },
+}
+</script>
     
-    <style scoped>
-    .finishedProduct-detail {
-      width: 100%;
-      height: 470px;
-      padding: 10px 20px;
-      display: flex;
-      border: 1px solid #ddd;
-      background-color: #fff;
-      margin-top: 10px;
-      box-sizing: border-box;
-      flex-wrap: wrap;
-    }
-    
-    .finishedProduct-result {
-      width: 100%;
-      height: 150px;
-      padding: 10px 20px;
-      display: flex;
-      border: 1px solid #ddd;
-      background-color: #fff;
-      margin-top: 10px;
-      box-sizing: border-box;
-      flex-wrap: wrap;
-    }
-    
-    .finishedProduct-basic {
-      background-color: #fff;
-      height: 155px;
-      display: flex;
-      flex-wrap: wrap;
-      padding: 10px 20px;
-      border: 1px solid #ddd;
-      box-sizing: border-box;
-    }
-    /*鑷畾涔塪isabled鐘舵�佷笅checkbox鐨勬牱寮�*/
-    .completeproductstructure-checkout
-      .el-checkbox__input.is-disabled.is-checked
-      .el-checkbox__inner {
-      background-color: #006eff;
-      border-color: #006eff;
-    }
-    
-    .completeproductstructure-checkout
-      .el-checkbox__input.is-disabled.is-checked
-      + span.el-checkbox__label {
-      color: #006eff;
-      border-color: #006eff;
-    }
-    
-    .completeproductstructure-checkout
-      .el-checkbox__input.is-disabled
-      .el-checkbox__inner {
-      background-color: #ffffff;
-      cursor: pointer;
-    }
-    
-    .completeproductstructure-checkout
-      .el-checkbox__input.is-disabled
-      + span.el-checkbox__label {
-      color: #606266;
-      cursor: pointer;
-    }
-    
-    .completeproductstructure-checkout .el-checkbox__inner::after {
-      border: 1px solid #fff !important;
-      border-left: 0 !important;
-      border-top: 0 !important;
-      cursor: pointer !important;
-    }
-    </style>
\ No newline at end of file
+<style scoped>
+.finishedProduct-detail {
+    width: 100%;
+    height: 470px;
+    padding: 10px 20px;
+    display: flex;
+    border: 1px solid #ddd;
+    background-color: #fff;
+    margin-top: 10px;
+    box-sizing: border-box;
+    flex-wrap: wrap;
+}
+
+.finishedProduct-result {
+    width: 100%;
+    height: 150px;
+    padding: 10px 20px;
+    display: flex;
+    border: 1px solid #ddd;
+    background-color: #fff;
+    margin-top: 10px;
+    box-sizing: border-box;
+    flex-wrap: wrap;
+}
+
+.finishedProduct-basic {
+    background-color: #fff;
+    height: 155px;
+    display: flex;
+    flex-wrap: wrap;
+    padding: 10px 20px;
+    border: 1px solid #ddd;
+    box-sizing: border-box;
+}
+
+/*鑷畾涔塪isabled鐘舵�佷笅checkbox鐨勬牱寮�*/
+.completeproductstructure-checkout .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
+    background-color: #006eff;
+    border-color: #006eff;
+}
+
+.completeproductstructure-checkout .el-checkbox__input.is-disabled.is-checked+span.el-checkbox__label {
+    color: #006eff;
+    border-color: #006eff;
+}
+
+.completeproductstructure-checkout .el-checkbox__input.is-disabled .el-checkbox__inner {
+    background-color: #ffffff;
+    cursor: pointer;
+}
+
+.completeproductstructure-checkout .el-checkbox__input.is-disabled+span.el-checkbox__label {
+    color: #606266;
+    cursor: pointer;
+}
+
+.completeproductstructure-checkout .el-checkbox__inner::after {
+    border: 1px solid #fff !important;
+    border-left: 0 !important;
+    border-top: 0 !important;
+    cursor: pointer !important;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue
index ab26a76..e608a41 100644
--- a/src/views/quality/processconfiguration/index.vue
+++ b/src/views/quality/processconfiguration/index.vue
@@ -3,14 +3,13 @@
     <basic-container>
       <ttable
         :table="table"
-        :resultData="resultData"
-        @change ="costPlannedAmountChange"
         @handleSelectionChange="handleSelectionChange"
         :uploadInfo="uploadInfo"
         :isShowHide="true"
         :prelang="prelang"
         :options="options"
         :ajaxFun="ajaxFun"
+        @queryParam="getQueryParam($event)"
         ref="processconfiguration"
       >
         <template #toolbar></template>
@@ -65,7 +64,7 @@
                 </div>
             </el-form>
             <span slot="footer" >
-                <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
+                <el-button @click="WayCancel()">鍙� 娑�</el-button>
                 <el-button type="primary" @click="WaySure()">纭� 瀹�</el-button>
             </span>
         </el-dialog>
@@ -74,16 +73,21 @@
 </template>
 
 <script>
-import { UnqualifiedList,pullInsUnapi,AuditSuggestion
+import { 
+  UnqualifiedList,
+  pullInsUnapi,
+  AuditSuggestion,
+  exportData
 } from '@/api/quality/unqualifiedprocess'
 import TableForm from './table-form'
 import { mapGetters } from 'vuex'
 // import { remote } from '@/api/admin/dict'
+import { transform } from '@/util/fileTransform'
 import ttable from '@/views/common/ztt-table.vue'
 export default {
   data() {
     return {
-      resultData:[],
+      queryParam: {},
       checkList: "",
       // WayIdea:'',
       UserId:{},
@@ -259,43 +263,13 @@
           //     return this.processModeOptions
           //   }
           // },
-          //鍙戣捣浜�
-            // {
-            //   minWidth: '200',
-            //   prop: 'originator',
-            //   label: '鍙戣捣浜�',
-            //   sort: true,
-            //   isTrue: true,
-            //   isSearch: true,
-            //   searchInfoType: 'text'
-            // },
-          // 瀹℃牳浜�
-          // {
-          //   minWidth: '140',
-          //   prop: 'examiner',
-          //   label: '瀹℃牳浜�',
-          //   sort: true,
-          //   isTrue: true,
-          //   isSearch: true,
-          //   searchInfoType: 'text'
-          // },
-          // 澶勭悊浜�
-          // {
-          //   minWidth: '120',
-          //   prop: 'handler',
-          //   label: '澶勭悊浜�',
-          //   sort: true,
-          //   isTrue: true,
-          //   isSearch: true,
-          //   searchInfoType: 'text'
-          // },
         
         ],
         toolbar: [
           {
             text: '瀵煎嚭',
             type: 'primary',
-            fun: this.handleExcel
+            fun: this.handleExport
           },
         ],
         operator: [
@@ -342,34 +316,34 @@
     // this.getType()
   },
   methods: {
-    async costPlannedAmountChange(value){
-            this.resultData= value
-        },
-    
-      handleExcel() {
-        console.log(this.resultData);
-        console.log(this.table.column);
-        let arr = this.table.column.filter(item => item.isTrue == true).map(item => {
-                    return{
-                        prop:item.prop,
-                        label:item.label
-                }
-            })
-        let opt = {
-          title: '鏂囨。鏍囬',
-          column: [{
-            label:'涓嶅悎鏍煎缃�',
-            prop:'header',
-            children:arr
-          }],
-          data: this.resultData
+    getQueryParam(data){
+      this.queryParam = data
+    },
+    handleExport(){
+      exportData(this.queryParam).then(res=>{
+          console.log(res)
+          this.downloadFun(res)
+      }).catch(error=>{
+          console.log(error);
+      })
+    },
+    downloadFun(result){
+        if(result == null || result == undefined){
+            return;
         }
-        this.$Export.excel({
-          title: opt.title,
-          columns: opt.column,
-          data: opt.data
-        });
-      },
+        var nameList = result.headers['content-disposition'];
+        nameList = decodeURI(nameList);
+        var fileName = nameList.split('=')[1];
+        const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+        const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣
+        const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+        downloadElement.href = href
+        downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕
+        document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂
+        downloadElement.click() // 鐐瑰嚮涓嬭浇
+        document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+        window.URL.revokeObjectURL(href)
+    },
     //瀹℃牳缁撴灉
     AuditResult(row){
       this.UserId = row.id
@@ -377,6 +351,11 @@
       this.dialogVisible = true;
 
     },
+    WayCancel(){
+      this.dialogVisible = false
+      this.checkList = null
+      this.WayIdea = null
+    },
     WaySure(){
       AuditSuggestion({id:this.UserId,way:this.checkList}).then(
         res =>{
diff --git a/src/views/quality/rawMaterial/ExportMaterial.vue b/src/views/quality/rawMaterial/ExportMaterial.vue
deleted file mode 100644
index 131802e..0000000
--- a/src/views/quality/rawMaterial/ExportMaterial.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-<template>
-    <div style="width:400px">
-   <el-button type="primary" @click="handleExcel">涓嬭浇 excel</el-button>
-   <el-button type="success" @click="handleExcel1">涓嬭浇 澶氱骇琛ㄥごexcel</el-button>
-  </div>
-    
-  </template>
-  
-  <script>
-  export default {
-    name: 'HelloWorld',
-    data(){
-      return {}
-    },
-    methods: {
-       handleExcel() {
-        let opt = {
-          title: '鏂囨。鏍囬',
-          column: [{
-            label: '鏍囬',
-            prop: 'title'
-          }],
-          data: [{
-            title: "娴嬭瘯鏁版嵁1"
-          }, {
-            title: "娴嬭瘯鏁版嵁2"
-          }]
-        }
-        console.log(this.$Export);
-        this.$Export.excel({
-          title: opt.title ,
-          columns: opt.column,
-          data: opt.data
-        });
-      },
-      handleExcel1() {
-        let opt = {
-          title: '鏂囨。鏍囬',
-          column: [{
-            label:'澶氱骇琛ㄥご',
-            prop:'header',
-            children:[
-              {
-                label: '鏍囬1',
-                prop: 'title1'
-              },{
-                label: '鏍囬2',
-                prop: 'title2'
-              }
-            ]
-          }],
-          data: [{
-            title1: "娴嬭瘯鏁版嵁1",
-            title2: "娴嬭瘯鏁版嵁2"
-          }, {
-            title1: "娴嬭瘯鏁版嵁2",
-            title2: "娴嬭瘯鏁版嵁2"
-          }]
-        }
-        this.$Export.excel({
-          title: opt.title,
-          columns: opt.column,
-          data: opt.data
-        });
-      }
-    },
-  
-    props: {
-      msg: String
-      
-      
-    }
-  }
-  </script>
-  
-  <!-- Add "scoped" attribute to limit CSS to this component only -->
-  <style scoped>
-  h3 {
-    margin: 40px 0 0;
-  }
-  ul {
-    list-style-type: none;
-    padding: 0;
-  }
-  li {
-    display: inline-block;
-    margin: 0 10px;
-  }
-  a {
-    color: #42b983;
-  }
-  </style>
-  
\ No newline at end of file
diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index 44a4618..297bd4e 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -20,13 +20,15 @@
             <ttable 
             :table="table"
             :resultData="resultData"
-            @change ="costPlannedAmountChange"
             @handleSelectionChange="handleSelectionChange"
             :prelang="prelang"
             :options="options"
             :ajaxFun="ajaxFun"
+            @queryParam="getQueryParam($event)"
             ref="rawMaterialTable">
-            <template #toolbar></template>
+            <template #toolbar>
+                <el-button @click="exportRawMaterial" type="primary" >瀵煎嚭</el-button>
+            </template>
             </ttable>
         </basic-container>
         <!-- 寮圭獥, 鏂板 / 淇敼 -->
@@ -38,15 +40,15 @@
     </div>
 </template>
 <script>
-import ExportMaterial from './ExportMaterial.vue'
 import ttable from '@/views/common/ztt-table.vue'
-import { getRawInspectList,delObj } from '@/api/quality/rawMaterial'
+import { getRawInspectList,delObj,exportRawMaterial } from '@/api/quality/rawMaterial'
 import RawMaterialForm from './rawMaterial-form'
 import * as fecha from 'element-ui/lib/utils/date'
 import { mapGetters } from 'vuex'
   export default {
     data() {
         return {
+            queryParam: {},
             resultData:[],
             addOrUpdateVisible: false,
             type: [1],
@@ -64,14 +66,13 @@
                 isRefresh: true, // 鏄惁鏄剧ず鍒锋柊鎸夐挳
                 isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳H
                 isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
-                defaultOrderBy: { column: 'formTime', direction: 'desc' },
+                defaultOrderBy: { column: 'createTime', direction: 'desc' },
             },
             table: {
                 total: 0,
                 currentPage: 1,
                 pageSize: 20,
                 data: [],
-                isExport:true,
                 // 鏍囬
                 column: [
                     {
@@ -139,6 +140,7 @@
                         prop: 'createTime',
                         label: '鎶ユ鏃ユ湡',
                         isTrue: true,
+                        sort: true,
                         isSearch: true,
                         searchInfoType: 'text',
                         formatter: this.formatDateTime,
@@ -190,13 +192,7 @@
                     text: '鏂板',
                     type: 'primary',
                     fun: this.addOrUpdateHandle
-                },
-                {
-                    text: '瀵煎嚭',
-                    type: 'primary',
-                    fun: this.handleExcel
-                }
-                ],
+                }],
                 operator: [{
                     text: '浣滃簾',
                     type: 'text',
@@ -214,10 +210,17 @@
             StateList: [{label:'鍏ㄩ儴',value:''},{label:'宸插悎鏍�',value:'1'},{label:'涓嶅悎鏍�',value:'0'}],
         }
     },
+    // props:{
+    //     queryParam:{
+    //         type: Object,
+    //         default: ()=>{
+    //             return {}
+    //         }
+    //     }
+    // },
     components: {
         ttable,
         RawMaterialForm,
-        ExportMaterial,
     },
     created() {
 
@@ -226,34 +229,34 @@
         ...mapGetters(['permissions'])
     },
     methods:{
-        async costPlannedAmountChange(value){
-            this.resultData= value
+        getQueryParam(data){
+            this.queryParam = data
         },
-    
-      handleExcel() {
-        console.log(this.resultData);
-        console.log(this.table.column);
-        let arr = this.table.column.filter(item => item.isTrue == true).map(item => {
-                    return{
-                        prop:item.prop,
-                        label:item.label
-                }
+        exportRawMaterial(){
+            exportRawMaterial(this.queryParam).then(res=>{
+                console.log(res)
+                this.downloadFun(res)
+            }).catch(error=>{
+                console.log(error);
             })
-        let opt = {
-          title: '鏂囨。鏍囬',
-          column: [{
-            label:'',
-            prop:'header',
-            children:arr
-          }],
-          data: this.resultData
-        }
-        this.$Export.excel({
-          title: opt.title,
-          columns: opt.column,
-          data: opt.data
-        });
-      },
+        },
+        downloadFun(result){
+            if(result == null || result == undefined){
+                return;
+            }
+            var nameList = result.headers['content-disposition'];
+            nameList = decodeURI(nameList);
+            var fileName = nameList.split('=')[1];
+            const blob = new Blob([result.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
+            const downloadElement = document.createElement('a') // 鏂板缓涓�涓狣OM鑺傜偣
+            const href = window.URL.createObjectURL(blob) // 鍒涘缓涓嬭浇鐨勯摼鎺�
+            downloadElement.href = href
+            downloadElement.download = fileName // 涓嬭浇鍚庢枃浠跺悕
+            document.body.appendChild(downloadElement) // 灏嗘柊澧炵殑鑺傜偣鎸傝浇鍒伴〉闈笂
+            downloadElement.click() // 鐐瑰嚮涓嬭浇
+            document.body.removeChild(downloadElement) // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(href)
+        },
         // 鍒犻櫎
         deleteHandle(row) {
         this.$confirm('鏄惁纭鍒犻櫎璇ユ暟鎹細' + row.code , '鎻愮ず', {
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index b5923d0..400e09e 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -75,23 +75,24 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="6">
+                  <el-form-item  prop="projectName" label="椤圭洰鍚嶇О">
+                    <el-tooltip :disabled="dataForm.projectName==null" :content="dataForm.projectName">
+                      <el-input v-model="dataForm.projectName" disabled ></el-input>
+                    </el-tooltip>
+                  </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="6">
                   <el-form-item label="鎶ユ鏃ユ湡" prop="createTime" v-if="dataForm.id!=null">
                       <el-input v-model="dataForm.createTime" disabled />
                   </el-form-item>
-                </el-col>
-            </el-row>
-            <el-row>
+              </el-col>
               <el-col :span="6">
                 <el-form-item label="鎶ユ浜�" prop="createUser" v-if="dataForm.id!=null">
                       <el-input v-model="dataForm.createUser" disabled />
                 </el-form-item>
               </el-col>
-              <el-col :span="6">
-                <el-form-item prop="projectName" label="椤圭洰鍚嶇О">
-                <el-input v-model="dataForm.projectName" disabled >
-                </el-input>
-                </el-form-item>
-            </el-col>
             </el-row>
         </el-form>
       </div>
@@ -113,14 +114,23 @@
                 :data="list" border style="width: 100%;" height="400">
                   <el-table-column type="index" label="搴忓彿" width="60">
                   </el-table-column>
-
+                  <el-table-column prop="father" label="妫�楠岄」鐩�" width="260">
+                    <template slot-scope="scope">
+                      <el-input :disabled="dataForm.id != null" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="note" label="妫�楠屾弿杩�" width="260">
+                    <template slot-scope="scope">
+                      <el-input :disabled="dataForm.id != null" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
+                    </template>
+                  </el-table-column>
                   <el-table-column prop="name" label="椤圭洰" width="260">
                     <template slot-scope="scope">
                       <el-select v-if="projectList.length > 0" :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name"
                       filterable allow-create placeholder="璇疯緭鍏ユ垨閫夋嫨椤圭洰鍚嶇О" style="width:100%" @change="changeName(scope.$index,scope.row)">
                         <el-option v-for="(item,index) in projectList" :key="index" :label="item.name" :value="item.name"/>
                     </el-select>  
-                      <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="list.name"
+                      <el-input v-else :disabled="dataForm.id != null" class="inline-input" v-model="scope.row.name"
                         placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
                     </template>
                   </el-table-column>
@@ -140,18 +150,19 @@
                   <el-table-column prop="testValue" label="妫�娴嬪��" min-width="260" v-for="(item, index) in empiricalValueAdd"
                     :key="index">
                     <template slot-scope="scope">
-                      <el-tooltip :disabled="scope.row.equipmentId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
+                      <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�"
                         placement="top-start">
 
                         <!-- <el-input :disabled="scope.row.equipmentId == null ||  (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.testValueList[index]"
                           @blur="updateTestValue(scope.row,index)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> -->
 
                         <el-autocomplete
-                          :disabled="scope.row.equipmentId == null ||  (dataForm.id!=null&&resultVal!=null)"
+                          style="width:100%"
+                          :disabled="scope.row.deviceId == null ||  (dataForm.id!=null&&resultVal!=null)"
                           class="inline-input"
                           v-model="scope.row.testValueList[index]"
                           :fetch-suggestions="querySearch"
-                          placeholder="璇疯緭鍏ュ唴瀹�"
+                          placeholder="璇疯緭鍏ユ娴嬪��"
                           @select="handleSelect"
                         ></el-autocomplete>
 
@@ -162,9 +173,9 @@
                   <el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="260">
                     <template slot-scope="scope">
                         <el-select :disabled="resultVal!=null && dataForm.id!=null" style="width:100%" 
-                        v-model="scope.row.equipmentId" filterable @change="updateDevice(scope.row,scope.$index)">
+                        v-model="scope.row.deviceId" filterable @change="updateDevice(scope.row,scope.$index)">
                             <el-option v-for="(item,index) in deviceList" 
-                            :key="index" :value="item.id" :label="item.number +'-'+ item.name"></el-option>
+                            :key="index" :value="item.id" :label="item.code +'-'+ item.name"></el-option>
                         </el-select>
                     </template>
                   </el-table-column>
@@ -223,17 +234,12 @@
           <span>涓嶅悎鏍兼暟閲�:</span>
           <el-input type="number" v-model="unqualifiedNum" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺"/>
         </el-col>
-        <el-col>
-          <span>瀹炴鏁伴噺:</span>
-          <el-input type="number" placeholder="璇疯緭鍏ュ疄妫�鏁伴噺" v-model="fiedNum"/>
-        </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="submitSave()">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <!-- <rawMaterialPartDialog :currentRow ="currentRow" @costPlannedAmountChange="costPlannedAmountChange"/> -->
   </div>
 </template>
 
@@ -246,7 +252,6 @@
   updateRawInspectsById,
   updateDeviceById, } from '@/api/quality/rawMaterial'
   import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
-import { log } from 'util'
 export default {
     // props:['currentRow'],
     computed:{},
@@ -255,9 +260,8 @@
     },
     data(){
         return{
-          currentRow:[],
-          userlist:[],
-            fiedNum: null,
+            currentRow:[],
+            userlist:[],
             unqualifiedNum: null,
             dialogVisible:false,
             resultVal: null,
@@ -282,7 +286,7 @@
                 number: '',
                 supplier: '',
                 rawInsProducts: [{
-                  equipmentId: 0,
+                  deviceId: 0,
                   name: '',
                   required: '',
                   testValue: '',
@@ -320,30 +324,18 @@
       this.init()
       this.getDeviceList()
       this.restaurants = this.loadAll();
-      // this.costPlannedAmountChange()
+      
+      console.log(this.dataForm);
     },
     watch:{
       dialogVisible(newVal){
         if(newVal){
           this.unqualifiedNum = null
-          this.fiedNum = null
         }
       },
       
     },
     methods:{
-      //椤圭洰
-      // xxxx(){
-      //   console.log(currentRow);
-      // },
-      // 浜嬩欢澶勭悊鍑芥暟
-        // costPlannedAmountChange(value) {
-        //   console.log("==>");
-        //   console.log(value.rawInsProducts);
-        //   this.userlist = value.rawInsProducts
-        //   this.list = this.userlist
-        //   console.log(this.list);
-        // },
       querySearch(queryString, cb) {
         var restaurants = this.restaurants;
         var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
@@ -373,7 +365,6 @@
       },
       // 纭鍥炶皟
       selectPart(param, nodePart, index) {
-        console.log("鎴愬姛--",param);
         if (typeof param !== 'undefined') {
           this.dataForm.code = param.code
           this.dataForm.name = param.name
@@ -385,21 +376,20 @@
           this.dataForm.message = param.message
           this.dataForm.projectName = param.projectName
           this.projectList = param.rawInsProducts == null ? [] : param.rawInsProducts
-          // param.rawInsProducts.forEach(item=>{
-          //   this.list.push(item)
-          // })
+          param.rawInsProducts.forEach(o=>{
+            this.clickAddLine(o)
+          })
         }
       },
       queryCode(){
         this.paramObj = {
           code: this.dataForm.code
         }
-        console.log(this.paramObj);
         this.showPart = true
       },
       updateDevice(row,index){
         if(this.dataForm.id != null){
-          updateDeviceById({equiomentId:row.equipmentId,rpId:row.rpId}).then(res=>{
+          updateDeviceById({deviceId:row.deviceId,rpId:row.rpId}).then(res=>{
             this.list[index].testValue = ''
             this.list[index].testState = null
             this.list[index].testValueList = []
@@ -436,24 +426,24 @@
         let data = {
           id: this.dataForm.id,
           number: this.unqualifiedNum,
-          toLocationNo: this.fiedNum
+          // toLocationNo: this.fiedNum
         }
         updateRawInspectsById(data).then(res => {
           if(res.data.code == 0){
             sessionStorage.setItem("raw-resultVal-"+this.dataForm.id,res.data.data)
             this.$message.success("涓婃姤鎴愬姛");
             this.dialogVisible = false
+            this.checkTestState()
           }
         });
-        this.checkTestState()
       },
       addTeatValueColumn(){
         this.empiricalValueAdd = this.empiricalValueAdd + 1;
       },
       // 娣诲姞琛�
-      clickAddLine() {
+      clickAddLine(row) {
         let obj = {
-          equipmentId: null,
+          deviceId: null,
           name: "",
           required: "",
           testValue: "",
@@ -461,6 +451,11 @@
           testState: null,
           testValueList: [],
         };
+        if(row!=undefined){
+          obj.name = row.name
+          obj.unit = row.unit
+          obj.required = row.required
+        }
         this.list.push(obj);
       },
       // 鍒犻櫎琛�
@@ -482,7 +477,7 @@
           return
         }
         let obj = {
-          equiomentId: row.equipmentId,
+          deviceId: row.deviceId,
           rpId: row.rpId,
           testValue: row.testValueList.join(",")
         }
@@ -508,9 +503,9 @@
             this.dataForm.unit = data.runit
             this.dataForm.supplier = data.supplier
             this.dataForm.number = data.number
+            this.dataForm.projectName = data.projectName
             this.dataForm.createTime = data.creatTime
             this.dataForm.createUser = data.createUser
-            // this.dataForm.judgeState = data.judgeState
             let userNameList = []
             this.list = []
             data.children.forEach(item=>{
@@ -523,7 +518,7 @@
                 }
               }
               this.list.push({
-                equipmentId: item.equiomentId,
+                deviceId: item.deviceId,
                 deviceName: item.deviceName,
                 name: item.rpName,
                 required: item.required,
@@ -562,7 +557,7 @@
         })
       },
       getDeviceList(){
-        selectDevice(null).then(res=>{
+        selectDevice().then(res=>{
           this.deviceList = res.data.data
         })
       },

--
Gitblit v1.9.3