From b059305e27b87b446679e523c8df9ad1448d8d99 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 07 三月 2024 11:16:49 +0800
Subject: [PATCH] 销售订单-下载排产单2
---
src/views/quality/rawMaterial/rawMaterial-form.vue | 124 +++++++++++++++++++++++-------
src/views/plan/customerorder/index.vue | 2
src/views/quality/rawMaterial/testValue-select.vue | 64 +++++++++++++++
src/api/plan/customerorder.js | 6
4 files changed, 158 insertions(+), 38 deletions(-)
diff --git a/src/api/plan/customerorder.js b/src/api/plan/customerorder.js
index b6db926..f9b987e 100644
--- a/src/api/plan/customerorder.js
+++ b/src/api/plan/customerorder.js
@@ -266,10 +266,10 @@
export function downloadProduct(data){
return request({
- url: '/mes/plan/customerOrder/downloadProduct',
- method: 'post',
+ url: '/mes/plan/customerOrder/getProduct',
+ method: 'get',
responseType: 'blob',
- data: data
+ params: data
})
}
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 3b0251a..946abab 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -1130,7 +1130,7 @@
this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
return
}
- downloadProduct({ids: ids}).then(res=>{
+ downloadProduct(ids).then(res=>{
if(res.status===200){
transform(res)
}
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index c4c60ab..83fdeb7 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -177,31 +177,58 @@
<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-dropdown>
- <el-input placeholder="妫�娴嬪��"/>
- <i style="line-height: normal;padding: 10px 7px;" class="el-icon-arrow-down el-icon--right"></i>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item>榛勯噾绯�</el-dropdown-item>
- <el-dropdown-item>鐙瓙澶�</el-dropdown-item>
- <el-dropdown-item>铻鸿洺绮�</el-dropdown-item>
- <el-dropdown-item>鍙岀毊濂�</el-dropdown-item>
- <el-dropdown-item>铓典粩鐓�</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
+ <el-select v-model="scope.row.testValueList[index]"
+ ref="testValueSelect"
+ clearable
+ filterable
+ allow-create
+ default-first-option
+ @change="changeState(scope.row)"
+ @blur="onTypeBlur($event)">
+ <el-option label="鏄�" value="鏄�"></el-option>
+ <el-option label="鍚�" value="鍚�"></el-option>
+ </el-select>
+ <!-- <testValueSelect
+ @input1="changeState(scope.row)"
+ :options="[{
+ label:'鏄�',
+ value: '鏄�'
+ },{
+ label:'鍚�',
+ value: '鍚�'
+ }]"
+ v-model="scope.row.testValueList[index]"
+ ></testValueSelect> -->
+ <!-- <div style="display:flex">
+ <el-input
+ ref="testValueInput"
+ clearable
+ @blur.stop="changeState(scope.row)"
+ v-model="scope.row.testValueList[index]"
+ placeholder="璇疯緭鍏ユ娴嬪��"/>
+ <el-dropdown @command="handleCommand" class="dropdown" trigger="click">
+ <i class="el-icon-arrow-down el-icon--right"></i>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item :command="{'index':index,'use':'鏄�',...scope.row}">鏄�</el-dropdown-item>
+ <el-dropdown-item :command="{'index':index,'use':'鍚�',...scope.row}">鍚�</el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ </div> -->
+ <!-- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" -->
+ <!-- @blur.stop="changeState(scope.row)" -->
<!-- <el-autocomplete clearable
- :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
- @blur.stop="changeState(scope.row,scope.$index)"
- @select="changeState(scope.row,scope.$index)"
+ ref="testValueInput"
+ @input="testChange(scope.row)"
+ @blur="changeState(scope.row)"
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-tooltip>
+ <!-- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+ </el-tooltip> -->
</div>
</template>
</el-table-column>
@@ -225,7 +252,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="changeState(scope.row)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
</div>
</template>
</el-table-column>
@@ -415,11 +442,12 @@
import rawMaterialPartDialog from '@/views/common/rawMaterial-part'
import { getStore } from '@/util/store'
import qrCodeApp from '@/views/common/qrCodeApp'
- import transformImage from '@/util/fileTransform'
+ import testValueSelect from './testValue-select'
export default {
components:{
rawMaterialPartDialog,
- qrCodeApp
+ qrCodeApp,
+ testValueSelect
},
computed:{},
data(){
@@ -748,7 +776,7 @@
required: null,
rpId: null,
name: null,
- unit: 'mm',
+ unit: '',
userName: null,
testValue: '',
testValueList: [],
@@ -891,26 +919,53 @@
console.log(e,e.target.tabIndex);
console.log(e.target.value);
},
- changeState(row, index) {
- this.$nextTick(()=>{
+ handleCommand(command){
+ if(command.use && command.use==='鏄�'){
+ command.testValueList[command.index] = '鏄�'
+ }
+ if(command.use && command.use==='鍚�'){
+ command.testValueList[command.index] = '鍚�'
+ }
+ this.changeState(command)
+ },
+ onTypeBlur(event){
+ const enterKeyEvent = new KeyboardEvent('keyup', {
+ key: 'Enter',
+ keyCode: 13,
+ which: 13,
+ bubbles: true
+ });
+
+ // 妯℃嫙鍦ㄨ緭鍏ユ涓婅Е鍙戞寜閿簨浠�
+ this.$refs.testValueSelect.dispatchEvent(enterKeyEvent);
+ },
+ changeState(row) {
+ if(row.use){
+ this.$refs.testValueSelect.$event.target.value = row.use
+ }
+ this.$nextTick(()=>{
+ console.log("blur---",row.testValueList);
+ return
if(row){
let isTrue = true
for(var i=0;i<row.testValueList.length;i++){
let val = row.testValueList[i]
- if(!['鏄�','鍚�'].includes(val)){
- let reg = /(^-?[0-9]{1,6}$)|(^-?[0-9]{1,6}[\.]{1}[0-9]{1,3}$)/
- if(!reg.test(val)){
- row.testValueList = ''
- this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
- isTrue = false
+ 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)){
+ val = null
+ this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+ isTrue = false
+ }
}
- }
+ }
}
if(!isTrue){
return
}
}
- console.log(row.testValueList.join(","));
+ console.log(row.testValueList);
return
if (row.rpId != null && row.rpId != '') {
let val = row.testValueList.join(",")
@@ -1205,6 +1260,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;
diff --git a/src/views/quality/rawMaterial/testValue-select.vue b/src/views/quality/rawMaterial/testValue-select.vue
index 0e814c9..3435f79 100644
--- a/src/views/quality/rawMaterial/testValue-select.vue
+++ b/src/views/quality/rawMaterial/testValue-select.vue
@@ -1,13 +1,71 @@
<!-- 鍘熸潗鏂欐楠�-妫�娴嬪�艰緭鍏ユ缁勪欢 -->
<template>
+ <el-select v-model="selectedValue" @change="handleChange" clearable>
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ ></el-option>
+ <el-input
+ v-model="inputValue"
+ slot="prefix"
+ placeholder="鑷畾涔夎緭鍏�"
+ @input="handleInput"
+ ></el-input>
+ </el-select>
</template>
<script>
export default {
-
+ props:{
+ value: {
+ type: [String, Number],
+ default: ''
+ },
+ options: {
+ type: Array,
+ default: () => []
+ }
+ },
+ data(){
+ return {
+ selectedValue: '',
+ inputValue: '',
+ // options: [{
+ // label:'鏄�',
+ // value: '鏄�'
+ // },{
+ // label:'鍚�',
+ // value: '鍚�'
+ // }]
+ }
+ },
+ created() {
+ this.selectedValue = this.value;
+ },
+ watch: {
+ value(newValue) {
+ this.selectedValue = newValue;
+ }
+ },
+ methods: {
+ handleChange(value) {
+ this.$emit('input1', value);
+ },
+ handleInput(value) {
+ this.$emit('input1', value);
+ }
+ }
}
</script>
-<style>
-
+<style scope>
+ .dropdown{
+ position: relative;
+ right: 30px;
+ top: 5px;
+ color: #C0C4CC;
+ font-size: 14px;
+ }
</style>
--
Gitblit v1.9.3