From 2b2310c50c0a45b2a8fe9964492ee3a96e0f465d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 22 四月 2025 09:46:45 +0800
Subject: [PATCH] 检验任务调整
---
src/views/business/productOrder/components/cable-config.vue | 376 ++++++++++++++++++-----------------------------------
1 files changed, 129 insertions(+), 247 deletions(-)
diff --git a/src/views/business/productOrder/components/cable-config.vue b/src/views/business/productOrder/components/cable-config.vue
index 093c8d7..63afd96 100644
--- a/src/views/business/productOrder/components/cable-config.vue
+++ b/src/views/business/productOrder/components/cable-config.vue
@@ -1,68 +1,46 @@
<template>
- <div class="ins_order_config">
- <div>
- <el-row class="title">
- <el-col :span="6" style="padding-left: 20px;text-align: left;">鐢电紗閰嶇疆</el-col>
- <el-col :span="18" style="text-align: right;">
- <el-button size="medium" @click="outConfig">
- <span style="color: #3A7BFA;">杩� 鍥�</span>
- </el-button>
- <el-button size="medium" type="primary" @click="save">淇� 瀛�</el-button>
- </el-col>
- </el-row>
- </div>
- <div class="search">
- <el-radio-group v-model="currentTab" size="small" style="margin-left: 20px;" @input="changeTab">
- <el-radio-button label="缁濈紭">缁� 缂�</el-radio-button>
-<!-- <el-radio-button label="鎶ゅ">鎶� 濂�</el-radio-button>-->
- </el-radio-group>
- <div v-if="currentTab=='缁濈紭'" class="search_thing">
- <div class="search_label">鑺暟锛�</div>
- <el-select v-model="insulating.num" allow-create
- clearable
- default-first-option
- filterable
- multiple
- size="small">
- <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option>
- </el-select>
+ <div>
+ <div class="search_form">
+ <div v-if="currentTab == '缁濈紭'" style="display: flex">
+ <el-radio-group v-model="currentTab" size="small" style="margin-right: 20px;" @input="changeTab">
+ <el-radio-button label="缁濈紭">缁� 缂�</el-radio-button>
+ </el-radio-group>
+ <el-form :model="insulating" ref="entity" size="small" :inline="true">
+ <el-form-item label="鑺暟" prop="num">
+ <el-select v-model="insulating.num" allow-create clearable default-first-option filterable multiple
+ size="small">
+ <el-option v-for="item in quantityList" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="妫�楠屾爣鍑�" prop="standardMethodListIds">
+ <el-select v-model="insulating.standardMethodListIds" disabled placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
+ @change="(value) => methodChange(value)" multiple>
+ <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
</div>
- <div v-if="currentTab=='缁濈紭'" class="search_thing">
- <div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="insulating.standardMethodListId" disabled placeholder="璇烽�夋嫨妫�楠屾爣鍑�"
- size="small"
- @change="(value)=>methodChange(value)">
- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">
- </el-option>
- </el-select>
+ <div>
+ <el-button size="small" @click="outConfig">杩� 鍥�</el-button>
+ <el-button size="small" type="primary" @click="save">淇� 瀛�</el-button>
</div>
-<!-- <div class="search_thing" v-if="currentTab=='鎶ゅ'">-->
-<!-- <div class="search_label">妫�楠屾爣鍑嗭細</div>-->
-<!-- <el-select v-model="sheath.standardMethodListId" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"-->
-<!-- disabled-->
-<!-- @change="(value)=>methodChange(value)">-->
-<!-- <el-option v-for="item in standards" :key="item.id" :label="item.code" :value="item.id">-->
-<!-- </el-option>-->
-<!-- </el-select>-->
-<!-- </div>-->
</div>
<div class="table">
- <el-table ref="productTable" :data="productList" :row-class-name="tableRowClassName"
- border class="el-table" height="100%"
- style="margin-bottom: 10px;" tooltip-effect="dark" @select="upProductSelect"
- @selection-change="selectProduct" @select-all="handleAll">
+ <el-table ref="productTable" :data="productList" :row-class-name="tableRowClassName" border class="el-table"
+ :height="'calc(100vh - 200px)'" tooltip-effect="dark" @select="upProductSelect"
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" @selection-change="selectProduct"
+ @select-all="handleAll">
<el-table-column :selectable="selectable" type="selection" width="65"></el-table-column>
- <el-table-column label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass" show-overflow-tooltip></el-table-column>
+ <el-table-column label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass"
+ show-overflow-tooltip></el-table-column>
<el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
<div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>妫�楠岄」</span>
- <el-input
- v-if="active==1"
- v-model="inspectionItem"
- placeholder="璇疯緭鍏�"
- size="mini"
- @input="searchFilterList"/>
+ <el-input v-if="active == 1" v-model="inspectionItem" placeholder="璇疯緭鍏�" size="mini"
+ @input="searchFilterList" />
</div>
</template>
</el-table-column>
@@ -70,54 +48,47 @@
<template slot="header" slot-scope="scope">
<div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>妫�楠岄」瀛愰」</span>
- <el-input
- v-if="active==1"
- v-model="inspectionItemSubclass"
- placeholder="璇疯緭鍏�"
- size="mini"
- @input="searchFilterList"/>
+ <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="璇疯緭鍏�" size="mini"
+ @input="searchFilterList" />
</div>
</template>
</el-table-column>
<el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell">
<template slot-scope="scope">
- <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪"
- size="small" type="textarea"></el-input>
+ <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial)" v-model="scope.row.tell"
+ :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪" size="small"
+ type="textarea"></el-input>
<span v-else>
- <template >{{ scope.row.tell }}</template>
- </span>
+ <template>{{ scope.row.tell }}</template>
+ </span>
</template>
</el-table-column>
<el-table-column label="瑕佹眰鍊�" min-width="220px" prop="ask">
<template slot-scope="scope">
- <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鍊�"
- size="small" type="textarea"></el-input>
+ <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial)" v-model="scope.row.ask"
+ :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鍊�" size="small"
+ type="textarea"></el-input>
<span v-else>{{ scope.row.ask }}</span>
</template>
</el-table-column>
- <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip>
+ <el-table-column label="璇曢獙鏉′欢" min-width="140" prop="radius" show-overflow-tooltip>
<template slot-scope="scope">
- <el-input v-if="active==1&&(isAskOnlyRead || isSpecial)&&!scope.row.inspectionItem.includes('楂樻俯鍘嬪姏璇曢獙')" v-model="scope.row.radius" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪"
- size="small" type="textarea">
+ <el-input v-if="active == 1 && (isAskOnlyRead || isSpecial) && !scope.row.inspectionItem.includes('楂樻俯鍘嬪姏璇曢獙')"
+ v-model="scope.row.radius" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪"
+ size="small" type="textarea">
</el-input>
- <el-select v-if="scope.row.inspectionItem.includes('楂樻俯鍘嬪姏璇曢獙') && active == 1" v-model="scope.row.radius" clearable
- placeholder="鏉′欢"
- size="small">
- <el-option v-for="(a,i) in JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option>
+ <el-select v-if="scope.row.inspectionItem.includes('楂樻俯鍘嬪姏璇曢獙') && active == 1" v-model="scope.row.radius"
+ clearable placeholder="鏉′欢" size="small">
+ <el-option v-for="(a, i) in JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option>
</el-select>
- <span v-if="active != 1">{{scope.row.radius}}</span>
+ <span v-if="active != 1">{{ scope.row.radius }}</span>
</template>
</el-table-column>
<el-table-column label="璇曢獙鏂规硶" min-width="120" prop="methodS" show-overflow-tooltip>
<template slot="header" slot-scope="scope">
<div style="display: flex;align-items: center;flex-direction: column;font-size: 14px">
<span>璇曢獙鏂规硶</span>
- <el-input
- v-if="active==1"
- v-model="methodS"
- placeholder="璇疯緭鍏�"
- size="mini"
- @input="searchFilterList"/>
+ <el-input v-if="active == 1" v-model="methodS" placeholder="璇疯緭鍏�" size="mini" @input="searchFilterList" />
</div>
</template>
</el-table-column>
@@ -125,15 +96,14 @@
<el-table-column label="鍗曚环" prop="price" show-overflow-tooltip width="100"></el-table-column>
<el-table-column label="鍖洪棿" min-width="120" prop="section" show-overflow-tooltip></el-table-column>
<el-table-column label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory" show-overflow-tooltip></el-table-column>
- <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory"
- show-overflow-tooltip></el-table-column>
- <el-table-column v-if="isSpecial"
- fixed="right"
- label="鎿嶄綔"
- width="100">
+ <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130"
+ prop="sonLaboratory" show-overflow-tooltip></el-table-column>
+ <el-table-column v-if="isSpecial" fixed="right" label="鎿嶄綔" width="100">
<template slot-scope="scope">
- <el-button type="text" size="small" @click="addProductList(productList,scope.row,scope.$index)" v-if="!scope.row.repetitionTag">鎻掑叆琛�</el-button>
- <el-button type="text" size="small" v-if="!!scope.row.repetitionTag&&scope.row.delete" @click="deleteProductList(scope.$index,productList)">鍒犻櫎</el-button>
+ <el-button type="text" size="small" @click="addProductList(productList, scope.row, scope.$index)"
+ v-if="!scope.row.repetitionTag">鎻掑叆琛�</el-button>
+ <el-button type="text" size="small" v-if="!!scope.row.repetitionTag && scope.row.delete"
+ @click="deleteProductList(scope.$index, productList)">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -142,12 +112,13 @@
</template>
<script>
-import { Tree } from 'element-ui'
+import { selectsStandardMethodByFLSSM, selectStandardProductList } from "@/api/business/rawMaterialOrder";
+
export default {
props: {
active: {
- type: Number,
- default: () => 0
+ type: String,
+ default: () => '0'
},
sampleSelectionList: {
type: Array,
@@ -159,44 +130,37 @@
},
},
data(vm) {
- return {
- standardList:[],
- vaule0:'',
- currentTab:'缁濈紭',
- upIndex:0,
- productList: [],
- productIds: [],
- sample: [],
- tree: '',
- standards: [],
- insulating: {
- standardMethodListId: null,
- insProduct: [],
- num: []
- },
- // sheath: {
- // standardMethodListId: null,
- // insProduct: []
- // },
- isAskOnlyRead: false,
- inspectionItem:null,
- inspectionItemSubclass:null,
- methodS:null,
- filters: [],
- quantityList: [],
- }
+ return {
+ standardList: [],
+ vaule0: '',
+ currentTab: '缁濈紭',
+ upIndex: 0,
+ productList: [],
+ productIds: [],
+ sample: [],
+ tree: '',
+ standards: [],
+ insulating: {
+ standardMethodListIds: [],
+ insProduct: [],
+ num: []
+ },
+ isAskOnlyRead: false,
+ inspectionItem: null,
+ inspectionItemSubclass: null,
+ methodS: null,
+ filters: [],
+ quantityList: [],
+ }
},
mounted() {
this.$parent.sampleIds.forEach(a => {
for (var i = 0; i < this.$parent.sampleList.length; i++) {
if (this.$parent.sampleList[i].id == a) {
this.sample.push(this.$parent.sampleList[i])
- if(this.$parent.sampleList[i].insulating !== undefined && this.$parent.sampleList[i].insulating !== null){
+ if (this.$parent.sampleList[i].insulating !== undefined && this.$parent.sampleList[i].insulating !== null) {
this.insulating = this.$parent.sampleList[i].insulating
}
- // if(this.$parent.sampleList[i].sheath !== undefined && this.$parent.sampleList[i].sheath !== null){
- // this.sheath = this.$parent.sampleList[i].sheath
- // }
break
}
}
@@ -205,7 +169,7 @@
},
methods: {
// 妫�楠岄」鍒楄〃绛涢��
- searchFilterList () {
+ searchFilterList() {
const vtw = {
inspectionItem: this.inspectionItem, // 妫�楠岄」
inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」
@@ -215,7 +179,7 @@
return item
})
if (isHaveValue) {
- for(let i in vtw) {
+ for (let i in vtw) {
if (vtw[i]) {
this.productList = this.productList0.filter((item) => {
return item[i] && item[i].includes(vtw[i])
@@ -226,28 +190,6 @@
// 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹�
this.productList = this.productList0
}
- },
- // 瑕佹眰鍊煎彉鍖栨椂
- requestChange(e, row,type) {
- this.sampleList.map(item => {
- if (this.sampleIds.indexOf(item.id) > -1) {
- item.insProduct.map(i => {
- if(i.id == row.id){
- if(row.repetitionTag){
- if(row.repetitionTag==i.repetitionTag){
- i[type] = e
- }
- }else{
- if(!i.repetitionTag){
- i[type] = e
- }
- }
- }
- return i
- })
- }
- return item
- })
},
outConfig() {
this.$parent.cableConfigShow = false
@@ -277,10 +219,7 @@
this.$refs.productTable.doLayout()
})
},
- tableRowClassName({
- row,
- rowIndex
- }) {
+ tableRowClassName({ row, rowIndex }) {
if (row.state === 0) {
return '';
}
@@ -295,7 +234,7 @@
},
selectsStandardMethodByFLSSM2() {
this.standards = []
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ selectsStandardMethodByFLSSM({
tree: this.$parent.selectTree
}).then(res => {
try {
@@ -303,7 +242,7 @@
let arr = this.selectTree.split('-')
let arr0 = arr.slice(0, arr.length - 1)
let selectTree = arr0.join('-').substring(0, arr0.join('-').length - 1)
- this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ selectsStandardMethodByFLSSM({
tree: selectTree
}).then(ress => {
this.standards = ress.data.standardMethodList
@@ -311,9 +250,9 @@
} else {
this.standards = res.data.standardMethodList
}
- } catch (e) {}
+ } catch (e) { }
})
- this.insulating.standardMethodListId = this.sampleSelectionList[0].standardMethodListId
+ this.insulating.standardMethodListIds = this.sampleSelectionList[0].standardMethodListId
// 鏌ヨ妫�娴嬫爣鍑嗕笅鎷夋閫夐」
if (this.insulating.insProduct.length > 0) {
this.productList = this.insulating.insProduct
@@ -327,27 +266,27 @@
}
},
methodChange(val) {
- if (val === null || val === '') return
+ if (!val || val.length < 1) return
let standard = this.standards.find(a => a.id === val)
- if(standard!=null && standard.code==='鎶�鏈姹�'){
+ if (standard != null && standard.code === '鎶�鏈姹�') {
this.isAskOnlyRead = true
- }else{
+ } else {
this.isAskOnlyRead = false
}
let selectTreeList = this.$parent.selectTree.split(" - ")
- this.$parent.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.$parent.addObj.model)
+ this.$parent.addObj.model && (selectTreeList[selectTreeList.length - 1] = this.$parent.addObj.model)
const model = this.sampleSelectionList[0].model
const modelNum = this.sampleSelectionList[0].modelNum
const cores = this.sampleSelectionList[0].cores
const conductorMaterial = this.sampleSelectionList[0].conductorMaterial
const conductorType = this.sampleSelectionList[0].conductorType
- this.$axios.post(this.$api.standardTree.selectStandardProductList, {
- model: this.$parent.addObj.model?this.$parent.addObj.model:model,
+ selectStandardProductList({
+ model: this.$parent.addObj.model ? this.$parent.addObj.model : model,
modelNum: modelNum,
cores: cores,
conductorMaterial: conductorMaterial,
conductorType: conductorType,
- standardMethodListId: val,
+ standardMethodListIds: val,
factory: selectTreeList.join(" - "),
isCableTag: '1',
}, {
@@ -358,30 +297,23 @@
res.data.forEach(a => {
a.state = 0
})
- // this.insulating.insProduct = res.data
- // this.sheath.insProduct = res.data
this.productList = res.data
})
},
toggleSelection(row) {
this.$refs.productTable.toggleRowSelection(row, true);
},
- save(){
- // if(this.insulating.insProduct.length === 0 && this.sheath.insProduct.length === 0){
- // this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
- // return
- // }
- this.insulating.insProduct = this.productList
- if(this.insulating.insProduct.length !== 0){
- if(this.insulating.num.length === 0){
+ save() {
+ this.insulating.insProduct = this.HaveJson(this.productList)
+ if (this.insulating.insProduct.length !== 0) {
+ if (this.insulating.num.length === 0) {
this.$message.error('缂哄皯鑺暟鏃犳硶淇濆瓨')
return
}
}
- // this.sample.forEach(a=>{
- // a.insulating = this.insulating
- // a.sheath = this.sheath
- // })
+ this.insulating.insProduct.forEach(a => {
+ delete a.id
+ })
if (this.currentTab === '缁濈紭') {
this.sample.forEach(a => {
a.insulating = this.insulating
@@ -390,8 +322,8 @@
this.$emit('goBackAdd')
this.$message.success('宸蹭繚瀛�')
},
- changeTab(val){
- if(val==='缁濈紭'){
+ changeTab(val) {
+ if (val === '缁濈紭') {
this.productList = this.insulating.insProduct
}
setTimeout(() => {
@@ -404,92 +336,42 @@
const property = column['property'];
return row[property] === value;
},
- addProductList(productList,row,index){
- let list = productList.filter(m=>{
- if(m.id==row.id){
+ addProductList(productList, row, index) {
+ let list = productList.filter(m => {
+ if (m.id == row.id) {
m.delete = false
}
- return m.id==row.id
+ return m.id == row.id
})
let num = list.length
let obj = this.HaveJson(row)
obj.repetitionTag = num
obj.delete = true
obj.state = 0
- productList.splice(index+num,0,obj)
+ productList.splice(index + num, 0, obj)
},
- deleteProductList(index,list){
- if(list[index-1]&&list[index-1].repetitionTag){
- list[index-1].delete=true
+ deleteProductList(index, list) {
+ if (list[index - 1] && list[index - 1].repetitionTag) {
+ list[index - 1].delete = true
}
- list.splice(index,1)
+ list.splice(index, 1)
},
}
}
</script>
<style scoped>
-.ins_order_config {
- width: 100%;
- height: 100%;
- overflow-y: auto;
- overflow-x: hidden;
- }
+.search_form {
+ display: flex;
+ justify-content: space-between;
+}
- .ins_order_config::-webkit-scrollbar {
- width: 0;
- }
+.search_input {
+ display: flex;
+ justify-content: space-between;
+}
- .title {
- height: 60px;
- line-height: 60px;
- }
-
- .search {
- background-color: #fff;
- height: 80px;
- display: flex;
- align-items: center;
- }
-
- .search_thing {
- width: 300px;
- display: flex;
- align-items: center;
- }
-
- .search_label {
- width: 100px;
- font-size: 14px;
- text-align: right;
- }
-
- .search_input {
- width: calc(100% - 70px);
- }
- .table {
- margin-top: 10px;
- background-color: #fff;
- width: calc(100% - 40px);
- height: calc(100% - 60px - 80px - 26px - 24px);
- padding: 20px;
- }
-</style>
-<style>
- .ins_order_config .has-gutter .el-table__cell .cell {
- line-height: 30px;
- background-color: #fafafa;
- }
-
- .ins_order_config .has-gutter .el-table__cell {
- background-color: #fafafa !important;
- }
-
- .ins_order_config .el-table__row .cell {
- font-size: 12px;
- }
-
- .ins_order_config .el-table .warning-row .cell {
- color: #3A7BFA;
- }
+>>>.warning-row {
+ color: #1890FF;
+}
</style>
--
Gitblit v1.9.3