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