From f71832a6389efa2f851b8b7bd7a615ed2d3250e4 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 28 三月 2024 13:16:16 +0800
Subject: [PATCH] 完成模具页面
---
src/views/quality/rawMaterial/rawMaterial-form.vue | 273 ++++++++++++++++++++++++++++++------------------------
1 files changed, 153 insertions(+), 120 deletions(-)
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 2e84932..ea50871 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -3,7 +3,7 @@
<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 && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2>
+ <h2 v-if="(resultVal!=null && resultVal!='') && dataForm.id!=null">鏌ョ湅-鍘熸潗鏂欐楠�</h2>
<h2 v-else>缂栬緫-鍘熸潗鏂欐楠�</h2>
</div>
<div class="btn-group header-right">
@@ -32,12 +32,12 @@
<el-button
slot="append"
icon="el-icon-search"
- :disabled="resultVal!=null"
+ :disabled="(resultVal!=null && resultVal!='')"
@click="queryCode"></el-button>
<el-button
slot="append"
icon="el-icon-full-screen"
- :disabled="resultVal!=null"
+ :disabled="(resultVal!=null && resultVal!='')"
@click="Turnonthecamera"></el-button>
</el-input>
</el-form-item>
@@ -86,27 +86,34 @@
</el-col>
<el-col :span="6">
<el-form-item label="鏁伴噺" prop="number">
- <el-input v-model="dataForm.number" :disabled="resultVal!=null" />
+ <el-input v-model="dataForm.number" :disabled="(resultVal!=null && resultVal!='')" />
</el-form-item>
</el-col>
</el-row>
<el-row>
+ <el-col :span="6">
+ <el-form-item label="鎶ユ鏃ユ湡" prop="startTime">
+ <el-date-picker
+ :disabled="dataForm.id!=null"
+ v-model="dataForm.startTime"
+ type="datetime"
+ format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ placeholder="鎶ユ鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </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="椤圭洰鍚嶇О" v-if="dataForm.id!=null">
<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-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-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-row>
</el-form>
@@ -172,29 +179,23 @@
<el-table-column prop="testValue" label="妫�娴嬪��" min-width="160" v-for="(item,index) in empiricalValueAdd" :key="index">
<template slot-scope="scope">
<div v-if="!scope.row.children">
- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
- <!-- <el-autocomplete clearable
- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)"
- @blur="changeState(scope.row,scope.$index)"
- v-model="scope.row.testValueList[index]"
- :fetch-suggestions="querySearch"
- placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
- <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down" slot="suffix"></i>
- <template slot-scope="{ item }">
- <div>{{ item.value }}</div>
- </template>
- </el-autocomplete> -->
-
- <el-select style="width:100%" filterable
- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)"
- v-model="scope.row.testValueList[index]"
- placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��"
- @change="changeState(scope.row,scope.$index)"
- @blur="selectBlur"
- >
- <el-option label="鏄�" value="鏄�"/>
- <el-option label="鍚�" value="鍚�"/>
- </el-select>
+ <!-- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" -->
+ <!-- @input="$nextTick(()=>{checkTestValues(scope.row)})" -->
+ <!-- @blur.capture.native="changeState(scope.row)" -->
+ <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+ <el-autocomplete clearable
+ cache="false"
+ ref="testValueInput"
+ @blur="checkTestValues(scope.row,'blur',$event)"
+ @select="checkTestValues(scope.row,'select',$event)"
+ :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
+ v-model="scope.row.testValueList[index]"
+ :fetch-suggestions="querySearch"
+ placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
+ <template slot-scope="{ item }">
+ <div>{{ item.value }}</div>
+ </template>
+ </el-autocomplete>
</el-tooltip>
</div>
</template>
@@ -202,7 +203,7 @@
<el-table-column prop="deviceName" label="璇曢獙璁惧" min-width="200">
<template slot-scope="scope">
<div v-if="!scope.row.children">
- <el-select ref="" :disabled="dataForm!=null && resultVal!=null" style="width:60%"
+ <el-select ref="" :disabled="dataForm!=null && (resultVal!=null && resultVal!='')" style="width:60%"
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.code +'-'+ item.name"></el-option>
@@ -211,7 +212,7 @@
size="small"
slot="append"
icon="el-icon-full-screen"
- :disabled="dataForm!=null && resultVal!=null"
+ :disabled="dataForm!=null && (resultVal!=null && resultVal!='')"
@click="codeDevice(scope.row,scope.$index)"></el-button>
</div>
</template>
@@ -219,7 +220,7 @@
<el-table-column prop="note" label="妫�楠屾弿杩�" width="160" >
<template slot-scope="scope">
<div v-if="!scope.row.children">
- <el-input @blur="changeState(scope.row, scope.$index)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&resultVal!=null)" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
+ <el-input @blur="checkTestValues(scope.row,'blur',$event)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
</div>
</template>
</el-table-column>
@@ -254,10 +255,10 @@
element-loading-text="璇风◢绛夛紝鏂囦欢涓婁紶涓�"
>
<el-upload
- :disabled="dataForm.rawInsNo==null || resultVal!=null"
+ :disabled="dataForm.rawInsNo==null || (resultVal!=null && resultVal!='')"
drag
ref="upload"
- action="/mes/rawInsProduct/upload"
+ action="/mes/attachment/upload"
:auto-upload="true"
:headers="headers"
:before-upload="submitUpload"
@@ -272,7 +273,6 @@
</div>
</el-upload>
</div>
-
<el-table :data="processConfigFileTableData" height="260px">
<el-table-column
prop="rawInsNo"
@@ -309,7 +309,7 @@
@click="delProcessConfigFile(scope.row)"
type="text"
size="small"
- :disabled="resultVal!=null"
+ :disabled="(resultVal!=null && resultVal!='')"
>鍒犻櫎</el-button
>
<el-button
@@ -338,13 +338,13 @@
<el-table-column prop="userName" label="妫�楠屽憳"></el-table-column>
<el-table-column prop="judgeState" label="妫�楠岀粨璁�">
<template slot-scope="scope">
- <el-tag type="success" v-if="scope.row.testState == '1'">鍚堟牸</el-tag>
- <el-tag type="danger" v-else-if="scope.row.testState == '0'">涓嶅悎鏍�</el-tag>
+ <el-tag type="success" v-if="scope.row.testState == 1">鍚堟牸</el-tag>
+ <el-tag type="danger" v-else-if="scope.row.testState == 0">涓嶅悎鏍�</el-tag>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔">
<template>
- <el-button type="text" :disabled="resultVal!=null && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button>
+ <el-button type="text" :disabled="(resultVal!=null && resultVal!='') && dataForm.id!=null" @click="showDialog()" size="small">涓婃姤</el-button>
</template>
</el-table-column>
</el-table>
@@ -402,18 +402,19 @@
getObj,
updateRawInsProduct,
updateRawInspectsById,
- getProcessConfigFiles,
- downloadProcessConfigFile,
- deleteProcessConfigFile,
updateDeviceById, chooseIFS} from '@/api/quality/rawMaterial'
+ import {
+ getProcessConfigFiles,
+ deleteProcessConfigFile,
+ downloadProcessConfigFile
+ } from '@/api/quality/attachment'
import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
import { getStore } from '@/util/store'
import qrCodeApp from '@/views/common/qrCodeApp'
- import transformImage from '@/util/fileTransform'
export default {
components:{
rawMaterialPartDialog,
- qrCodeApp
+ qrCodeApp,
},
computed:{},
data(){
@@ -425,8 +426,9 @@
Authorization: 'Bearer ' + getStore({ name: 'access_token' })
},
paramData: {
- rawInsNo: '',
- lineNumber: ''
+ no: '',
+ lineNumber: '',
+ type: 0
},
row: null,
proIndex: 0,
@@ -478,7 +480,8 @@
testState: ''
}],
dataRule: {
- code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }]
+ code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }],
+ startTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'blur' }]
},
deviceList: [],
}
@@ -490,12 +493,12 @@
},
created(){
this.dataForm.id = this.$route.query.id
- this.resultVal = this.$route.query.resultVal
+ this.resultVal = this.$route.params.resultVal
if(this.resultVal == null){
let val = sessionStorage.getItem("raw-resultVal-"+this.dataForm.id)
val == undefined ? null : this.resultVal=val
}
- this.init()
+ this.init(this.dataForm.id)
this.getDeviceList()
},
watch:{
@@ -521,8 +524,9 @@
},
getConfigFiles() {
const param = {
- rawInsNo: this.dataForm.rawInsNo,
- lineNumber: this.dataForm.id
+ no: this.dataForm.rawInsNo,
+ lineNumber: this.dataForm.id,
+ type: 0
}
getProcessConfigFiles(param).then((res) => {
this.processConfigFileTableData = res.data.data
@@ -548,7 +552,7 @@
})
},
submitUpload() {
- this.paramData.rawInsNo = this.dataForm.rawInsNo
+ this.paramData.no = this.dataForm.rawInsNo
this.paramData.lineNumber = this.dataForm.id
this.progrecessFileLoading = true
},
@@ -741,7 +745,7 @@
required: null,
rpId: null,
name: null,
- unit: 'mm',
+ unit: '',
userName: null,
testValue: '',
testValueList: [],
@@ -768,7 +772,7 @@
}
updateRawInsProduct(obj).then(res=>{
if(res.data.code === 0){
- this.init()
+ this.init(this.dataForm.id)
}
})
}
@@ -792,9 +796,9 @@
}
}
},
- init(){
- if(this.dataForm.id){
- getObj(this.dataForm.id).then(res=>{
+ init(id){
+ if(id){
+ getObj(id).then(res=>{
let data = res.data.data
this.dataForm.rawInsNo = data.rawInsNo
this.dataForm.name = data.name
@@ -881,51 +885,61 @@
}
},
selectBlur(e){
- console.log(e);
+ console.log(e,e.target.tabIndex);
+ console.log(e.target.value);
},
- changeState(row, index) {
- console.log(row.testValueList);
- return
- this.$nextTick(()=>{
- if(row){
- let isTrue = true
- for(var i=0;i<row.testValueList.length;i++){
- let val = row.testValueList[i]
- let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
- if(!reg.test(val) && !['鏄�','鍚�'].includes(val)){
- row.testValueList[i] = null
- this.$message.error("璇疯緭鍏ユ暟瀛楁垨閫夋嫨鏄惁")
+ checkTestValues(row,currentOption,event){
+ if(row){
+ let isTrue = true
+ if(currentOption==='blur'){
+ let targetVal = event.target.value
+ if( (targetVal && ['鏄�','鍚�'].includes(targetVal)) || !targetVal){
isTrue = false
- }
- }
- if(!isTrue){
- return
- }
+ }else{
+ for(var i=0;i<row.testValueList.length;i++){
+ let val = row.testValueList[i]
+ if(val != '' && val != null){
+ if(!['鏄�','鍚�'].includes(val)){
+ let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
+ if(!reg.test(val)){
+ row.testValueList[i] = ''
+ event.target.value = ''
+ this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+ isTrue = false
+ }
+ }
+ }
+ }
+ }
+ }
+ if(!isTrue){
+ return
+ }
+ this.changeState(row)
}
- if (row.rpId != null && row.rpId != '') {
- let val = row.testValueList.join(",")
- if (val === undefined || val === '' || val === null) {
- return
- }
- console.log(val);
- console.log(...row.testValueList);
- let obj = {
- deviceId: row.deviceId,
- rpId: row.rpId,
- testValue: val,
- note: row.note
- }
- console.log(obj);
- return
- updateRawInsProduct(obj).then(res => {
- if (res.data.code == 0) {
- this.$message.success("鏇存柊鎴愬姛")
- } else {
- this.$message.error("鏇存柊澶辫触")
+ },
+ changeState(row) {
+ this.$nextTick(()=>{
+ if (row.rpId != null && row.rpId != '') {
+ let val = row.testValueList.join(",")
+ if (val === undefined || val === '' || val === null) {
+ return
}
- this.init()
- })
- }
+ let obj = {
+ deviceId: row.deviceId,
+ rpId: row.rpId,
+ testValue: val,
+ note: row.note
+ }
+ updateRawInsProduct(obj).then(res => {
+ if (res.data.code == 0) {
+ this.$message.success("鏇存柊鎴愬姛")
+ } else {
+ this.$message.error("鏇存柊澶辫触")
+ }
+ this.init(this.dataForm.id)
+ })
+ }
})
},
// 鍒犻櫎瀛愰」鐩�
@@ -942,7 +956,11 @@
let childrenIndex = this.list[i].children.findIndex(el =>{
return el.iid == row.iid
})
- this.list[i].children.splice(childrenIndex,1)
+ if(this.list[i].children.length<2){
+ this.list.splice(i,1)
+ }else{
+ this.list[i].children.splice(childrenIndex,1)
+ }
}
},
//娣诲姞瀛愰」鐩�
@@ -954,7 +972,7 @@
required: null,
rpId: null,
name: null,
- unit: 'mm',
+ unit: '',
userName: null,
testValue: null,
testValueList: [],
@@ -964,18 +982,26 @@
row.children.push(obj)
},
save(){
- let data = this.dataForm
- this.list.forEach(item=>{
- item.children.forEach(c=>{
- c.testValue=c.testValueList.join(",")
- })
- })
- data.rawInsProducts = this.list
- addRawInspects(data).then(res=>{
- this.$message.success("淇濆瓨鎴愬姛")
- this.$router.go(-1)
- }).catch(error=>{
- this.$message.error(error)
+ this.$refs.dataForm.validate(valid=>{
+ if(valid){
+ const _than = this
+ let data = this.dataForm
+ this.list.forEach(item=>{
+ item.children.forEach(c=>{
+ c.testValue=c.testValueList.join(",")
+ })
+ })
+ data.rawInsProducts = this.list
+ addRawInspects(data).then(res=>{
+ this.$message.success("淇濆瓨鎴愬姛")
+ // this.$router.go(-1)
+ }).catch(error=>{
+ this.$message.error(error)
+ })
+ _than.$nextTick(()=>{
+ _than.init(Number(res.data.msg))
+ })
+ }
})
},
getDeviceList(){
@@ -1187,6 +1213,13 @@
border: 1px solid #e4e7ed;
border-bottom: none;
}
+.dropdown{
+ position: relative;
+ right: 30px;
+ top: 5px;
+ color: #C0C4CC;
+ font-size: 14px;
+}
@media (max-width: 767px) {
.pad-addcol-btn{
font-size:12px;
--
Gitblit v1.9.3