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 | 256 ++++++++++++++++++++++++++++----------------------
1 files changed, 143 insertions(+), 113 deletions(-)
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 6c08e7a..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 || resultVal!='') && 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 || resultVal!='')"
+ :disabled="(resultVal!=null && resultVal!='')"
@click="queryCode"></el-button>
<el-button
slot="append"
icon="el-icon-full-screen"
- :disabled="(resultVal!=null || resultVal!='')"
+ :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 || resultVal!='')" />
+ <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,31 +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 || resultVal!=''))"
- @input="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 || resultVal!=''))"
- v-model="scope.row.testValueList[index]"
- placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��"
- allow-create
- default-first-option
- @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>
@@ -204,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 || resultVal!='')" 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>
@@ -213,7 +212,7 @@
size="small"
slot="append"
icon="el-icon-full-screen"
- :disabled="dataForm!=null && (resultVal!=null || resultVal!='')"
+ :disabled="dataForm!=null && (resultVal!=null && resultVal!='')"
@click="codeDevice(scope.row,scope.$index)"></el-button>
</div>
</template>
@@ -221,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 || resultVal!=''))" 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>
@@ -256,10 +255,10 @@
element-loading-text="璇风◢绛夛紝鏂囦欢涓婁紶涓�"
>
<el-upload
- :disabled="dataForm.rawInsNo==null || (resultVal!=null || resultVal!='')"
+ :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"
@@ -274,7 +273,6 @@
</div>
</el-upload>
</div>
-
<el-table :data="processConfigFileTableData" height="260px">
<el-table-column
prop="rawInsNo"
@@ -311,7 +309,7 @@
@click="delProcessConfigFile(scope.row)"
type="text"
size="small"
- :disabled="(resultVal!=null || resultVal!='')"
+ :disabled="(resultVal!=null && resultVal!='')"
>鍒犻櫎</el-button
>
<el-button
@@ -340,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 || resultVal!='') && 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>
@@ -404,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(){
@@ -427,8 +426,9 @@
Authorization: 'Bearer ' + getStore({ name: 'access_token' })
},
paramData: {
- rawInsNo: '',
- lineNumber: ''
+ no: '',
+ lineNumber: '',
+ type: 0
},
row: null,
proIndex: 0,
@@ -480,7 +480,8 @@
testState: ''
}],
dataRule: {
- code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }]
+ code:[{ required: true, message: '璇锋壂鎻忛�夋嫨闆朵欢', trigger: 'blur' }],
+ startTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'blur' }]
},
deviceList: [],
}
@@ -492,7 +493,7 @@
},
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
@@ -523,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
@@ -550,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
},
@@ -743,7 +745,7 @@
required: null,
rpId: null,
name: null,
- unit: 'mm',
+ unit: '',
userName: null,
testValue: '',
testValueList: [],
@@ -886,42 +888,59 @@
console.log(e,e.target.tabIndex);
console.log(e.target.value);
},
- changeState(row, index) {
- 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("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
- isTrue = false
+ checkTestValues(row,currentOption,event){
+ if(row){
+ let isTrue = true
+ if(currentOption==='blur'){
+ let targetVal = event.target.value
+ if( (targetVal && ['鏄�','鍚�'].includes(targetVal)) || !targetVal){
+ isTrue = false
+ }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
- }
- }
- if (row.rpId != null && row.rpId != '') {
- let val = row.testValueList.join(",")
- if (val === undefined || val === '' || val === null) {
- return
- }
- 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("鏇存柊澶辫触")
+ if(!isTrue){
+ return
}
- this.init(this.dataForm.id)
- })
- }
+ this.changeState(row)
+ }
+ },
+ changeState(row) {
+ this.$nextTick(()=>{
+ if (row.rpId != null && row.rpId != '') {
+ let val = row.testValueList.join(",")
+ if (val === undefined || val === '' || val === null) {
+ return
+ }
+ 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)
+ })
+ }
+ })
},
// 鍒犻櫎瀛愰」鐩�
delChildren(row,index,isParent) {
@@ -953,7 +972,7 @@
required: null,
rpId: null,
name: null,
- unit: 'mm',
+ unit: '',
userName: null,
testValue: null,
testValueList: [],
@@ -963,22 +982,26 @@
row.children.push(obj)
},
save(){
- 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))
+ 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(){
@@ -1190,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