From e7751b3399787843964f9bcfa5461194df0f7c22 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 08 三月 2024 15:21:43 +0800
Subject: [PATCH] 工艺-BOM:bom导出
---
src/views/quality/rawMaterial/rawMaterial-form.vue | 126 ++++++++++++-----------------------------
src/views/plan/customerorder/index.vue | 2
src/api/technology/completeproductstructure.js | 9 +++
src/views/technology/completeproductstructure/index.vue | 25 ++++++++
4 files changed, 71 insertions(+), 91 deletions(-)
diff --git a/src/api/technology/completeproductstructure.js b/src/api/technology/completeproductstructure.js
index 2f31570..383537a 100644
--- a/src/api/technology/completeproductstructure.js
+++ b/src/api/technology/completeproductstructure.js
@@ -90,3 +90,12 @@
data: obj
})
}
+
+export function exportBom(obj) {
+ return request({
+ url: '/mes/bom/exportBom',
+ method: 'post',
+ data: obj,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/plan/customerorder/index.vue b/src/views/plan/customerorder/index.vue
index 946abab..d87d035 100644
--- a/src/views/plan/customerorder/index.vue
+++ b/src/views/plan/customerorder/index.vue
@@ -586,7 +586,7 @@
sort: true,
isTrue: true,
isSearch: true,
- searchInfoType: 'text',
+ searchInfoType: 'date',
formatter: this.formatDutyDate,
},
{
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 1cbd198..768325d 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -177,58 +177,22 @@
<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-select
- v-model="scope.row.testValueList[index]"
- ref="testValueSelect"
- id="testValueSelect"
- clearable
- filterable
- @change="changeState(scope.row)"
- @blur="onTypeBlur($event,scope.row,scope.$index,index)">
- <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
- ref="testValueInput"
- @input="testChange(scope.row)"
- @blur="changeState(scope.row)"
- v-model="scope.row.testValueList[index]"
- :fetch-suggestions="querySearch"
- placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
- <template slot-scope="{ item }">
- <div>{{ item.value }}</div>
- </template>
- </el-autocomplete> -->
- <!-- <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
- </el-tooltip> -->
+ <el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
+ <el-autocomplete clearable
+ cache="false"
+ ref="testValueInput"
+ @input="$nextTick(()=>{checkTestValues(scope.row)})"
+ @blur="$nextTick(()=>{changeState(scope.row)})"
+ 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>
</el-table-column>
@@ -919,48 +883,32 @@
console.log(e,e.target.tabIndex);
console.log(e.target.value);
},
- 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,row,rowIndex,index){
- console.log("澶辩劍",event,row,rowIndex,index);
- console.log(event.target.value);
- console.log(this.list[rowIndex-1]);
+ checkTestValues(row){
+ if(row){
+ let isTrue = true
+ 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] = null
+ this.$message.error("璇疯緭鍏�6浣嶆暟瀛楁垨閫夋嫨鏄惁")
+ isTrue = false
+ }
+ }
+ }
+ }
+ if(!isTrue){
+ return
+ }
+
+ }
},
changeState(row) {
- if(row.use){
- this.$refs.testValueSelect.$event.target.value = row.use
- }
+ console.log("鏇存柊--銆�",row.testValueList[0]);
+ return
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(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);
- return
if (row.rpId != null && row.rpId != '') {
let val = row.testValueList.join(",")
if (val === undefined || val === '' || val === null) {
diff --git a/src/views/technology/completeproductstructure/index.vue b/src/views/technology/completeproductstructure/index.vue
index 8af0091..3a79e2b 100644
--- a/src/views/technology/completeproductstructure/index.vue
+++ b/src/views/technology/completeproductstructure/index.vue
@@ -21,11 +21,13 @@
fetchList,
delObj,
addByStructure,
+ exportBom
} from '@/api/technology/completeproductstructure'
import ttable from '@/views/common/ztt-table.vue'
import { mapGetters } from 'vuex'
import { changeState } from '../../../api/technology/completeproductstructure'
import { remote } from '@/api/admin/dict'
+import { transform } from '@/util/fileTransform'
export default {
data() {
@@ -292,7 +294,14 @@
permitArr: [],
fun: ()=>{this.deleteAll()},
})
- }
+ }
+ this.table.toolbar.push({
+ text: 'BOM瀵煎嚭',
+ type:'primary',
+ disabled: false,
+ permitArr: [],
+ fun: ()=>{this.exportBomFun()},
+ })
if(this.permissions.technology_completeproductstructure_del){
this.table.operator = [
{
@@ -317,6 +326,20 @@
}
},
methods: {
+ exportBomFun(){
+ let ids = this.multipleSelection.map(ele=>ele.id)
+ if(ids.length<1){
+ this.$message.error("璇烽�夋嫨涓�鏉℃暟鎹�")
+ return
+ }
+ exportBom(ids).then(res=>{
+ if(res.status===200){
+ transform(res)
+ }
+ }).catch(error=>{
+ console.error(error)
+ })
+ },
getBomTypeDbOptions() {
remote('bom_type_db').then((response) => {
if (response.data.code === 0) {
--
Gitblit v1.9.3