From 3115fcc80036ec4bfe3a2cd1128c5fdc82a01f42 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 28 四月 2026 16:38:27 +0800
Subject: [PATCH] limsTable表格自适应高度&手动下单调整
---
src/views/business/productOrder/components/addOrder.vue | 136 +++++++++++++++++++++++++++++----------------
1 files changed, 87 insertions(+), 49 deletions(-)
diff --git a/src/views/business/productOrder/components/addOrder.vue b/src/views/business/productOrder/components/addOrder.vue
index 47d61ec..e391217 100644
--- a/src/views/business/productOrder/components/addOrder.vue
+++ b/src/views/business/productOrder/components/addOrder.vue
@@ -268,6 +268,8 @@
<el-input v-model="specialStandardMethod" :disabled="!isSpecial" clearable size="small"></el-input>
<el-button v-show="active==1" size="small" style="margin-left: 10px"
type="primary" @click="editSpecial">缂栬緫</el-button>
+ <el-button v-show="active==1" size="small" type="primary" @click="handleSplitCountNum">鎷嗗垎</el-button>
+ <el-button v-show="active==1" :disabled="sampleList.length<=1" size="small" type="danger" @click="handleDeleteSplitCountNum">鍒犻櫎鎷嗗垎</el-button>
</div>
</div>
<el-table ref="sampleTable" :data="sampleList" border class="el-table sampleTable" highlight-current-row
@@ -277,18 +279,18 @@
<el-table-column align="center" label="搴忓彿" type="index" width="65"></el-table-column>
<el-table-column align="center" label="鏍峰搧鍚嶇О" min-width="100" prop="sample">
<template slot-scope="scope">
- <el-input v-model="scope.row.sample" :disabled="active>1" clearable size="small"></el-input>
+ <el-input v-model="scope.row.sample" :disabled="active>1 || scope.$index !== 0" clearable size="small"></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="鏍峰搧缂栧彿" min-width="100" prop="sampleCode">
<template slot-scope="scope">
- <el-input v-model="scope.row.sampleCode" :disabled="active>1" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+ <el-input v-model="scope.row.sampleCode" :disabled="active>1 || scope.$index !== 0" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
size="small"></el-input>
</template>
</el-table-column>
<el-table-column align="center" label="鏍峰搧鍨嬪彿" min-width="60" prop="model">
<template slot-scope="scope">
- <el-select v-model="scope.row.model" :disabled="active>1" allow-create default-first-option filterable
+ <el-select v-model="scope.row.model" :disabled="active>1 || scope.$index !== 0" allow-create default-first-option filterable
placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" @change="handleChangeModel">
<el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value">
</el-option>
@@ -315,7 +317,7 @@
<el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId">
<template slot-scope="scope">
<el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1"
- :loading="methodLoad" :readonly="active>1" clearable placeholder="妫�楠屾爣鍑�"
+ :loading="methodLoad" :readonly="active>1 || scope.$index !== 0" clearable placeholder="妫�楠屾爣鍑�"
size="small" style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus">
<el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
</el-option>
@@ -416,12 +418,12 @@
<el-table-column label="鍖洪棿" min-width="120" prop="section" 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&&active==1" label="鎿嶄綔" width="100">
- <template slot-scope="scope">
- <el-button v-if="!scope.row.repetitionTag" size="small" type="text" @click="addProductList(productList,scope.row,scope.$index)">鎻掑叆琛�</el-button>
- <el-button v-if="!!scope.row.repetitionTag&&scope.row.delete" size="small" type="text" @click="deleteProductList(scope.$index,productList)">鍒犻櫎</el-button>
- </template>
- </el-table-column>
+<!-- <el-table-column v-if="isSpecial&&active==1" label="鎿嶄綔" width="100">-->
+<!-- <template slot-scope="scope">-->
+<!-- <el-button v-if="!scope.row.repetitionTag" size="small" type="text" @click="addProductList(productList,scope.row,scope.$index)">鎻掑叆琛�</el-button>-->
+<!-- <el-button v-if="!!scope.row.repetitionTag&&scope.row.delete" size="small" type="text" @click="deleteProductList(scope.$index,productList)">鍒犻櫎</el-button>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
</el-table>
</div>
</div>
@@ -429,7 +431,7 @@
<div v-if="selectUserDia" class="body">
<lims-table :tableData="tableData1" :column="column1"
:isSelection="true" :handleSelectionChange="selectMethod"
- @pagination="pagination1" height="400px" key="tableData1"
+ @pagination="pagination1" :height="400" key="tableData1"
:page="page1" :tableLoading="tableLoading1"></lims-table>
</div>
<span slot="footer" class="dialog-footer">
@@ -904,6 +906,37 @@
this.getInfo();
},
methods: {
+ // 鎷嗗垎
+ handleSplitCountNum () {
+ if(!this.sampleList || this.sampleList.length===0){
+ this.$message.error("璇峰厛閫夋嫨鏍峰搧")
+ return
+ }
+ this.sample.joinName = null
+ this.sample.joinModel = null
+ this.sample.joinNum = 1
+ // 涓ゆ潯鏁版嵁淇濇寔涓�鑷�
+ this.sample.sample = this.sampleList[0].sample
+ this.sample.model = this.sampleList[0].model
+ this.sample.unit = this.sampleList[0].unit
+ this.sample.modelNum = this.sampleList[0].modelNum
+ this.sample.standardMethodListId = this.sampleList[0].standardMethodListId
+ this.sample.insProduct = this.sampleList[0].insProduct
+ this.sample.id = this.count
+ this.sample.childSampleList = this.sampleList[0].childSampleList
+ this.sample.insulating = null
+ this.sample.sheath = null
+ this.sampleList.push(this.HaveJson(this.sample))
+ this.sampleList.forEach(item => {
+ item.quantity = 1
+ })
+ this.count++
+ },
+ //鍒犻櫎鎷嗗垎琛�
+ handleDeleteSplitCountNum(){
+ this.count--;
+ this.sampleList.pop()
+ },
getInfo() {
this.selectStandardTreeList()
this.getAuthorizedPerson();
@@ -961,14 +994,14 @@
},
changeProductList0(){
this.productList0.forEach(a=>{
- let obj = this.productList.find(m => {
- if(a.repetitionTag){
- return m.id === a.id&&m.repetitionTag == a.repetitionTag
- }else{
- return m.id === a.id&&!m.repetitionTag
- }
- })
-
+ // let obj = this.productList.find(m => {
+ // if(a.repetitionTag){
+ // return m.id === a.id&&m.repetitionTag == a.repetitionTag
+ // }else{
+ // return m.id === a.id&&!m.repetitionTag
+ // }
+ // })
+ let obj = this.productList.find(m => m.id == a.id)
if(obj){
a.state = obj.state
a.section = obj.section
@@ -1695,10 +1728,10 @@
this.$set(row, 'sectionCopy', row.section)
}
}
- if (row.ask.includes('[')) {
+ if (row.ask && row.ask.includes('[')) {
this.$set(row, 'askCopy', row.ask)
}
- if (row.tell.includes('[')) {
+ if (row.tell && row.tell.includes('[')) {
this.$set(row, 'tellCopy', row.tell)
}
let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1)
@@ -1969,24 +2002,35 @@
},
// 瑕佹眰鍊煎彉鍖栨椂
requestChange(e, row,type) {
- //this.currentMethod 褰撳墠鏍峰搧id
- this.sampleList.forEach(item=>{
- if(item.id == this.currentMethod.id){
- item.insProduct.forEach(i=>{
- if(i.id == row.id){
- if(row.repetitionTag){
- if(row.repetitionTag==i.repetitionTag){
- i[type] = e
- }
- }else{
- if(!i.repetitionTag){
- i[type] = e
- }
- }
+ this.sampleList.map(item => {
+ if (this.sampleIds.indexOf(item.id) > -1) {
+ item.insProduct.map(m => {
+ if (m.id == row.id) {
+ m[type] = e;
}
+ return m;
})
}
+ return item
})
+ //this.currentMethod 褰撳墠鏍峰搧id
+ // this.sampleList.forEach(item=>{
+ // if(item.id == this.currentMethod.id){
+ // item.insProduct.forEach(i=>{
+ // if(i.id == row.id){
+ // if(row.repetitionTag){
+ // if(row.repetitionTag==i.repetitionTag){
+ // i[type] = e
+ // }
+ // }else{
+ // if(!i.repetitionTag){
+ // i[type] = e
+ // }
+ // }
+ // }
+ // })
+ // }
+ // })
},
selectStandardMethods() {
selectStandardMethodEnum().then(res => {
@@ -2001,7 +2045,12 @@
}
},
selectable0(row,index) {
- if (this.active > 1||row.repetitionTag) {
+ // if (this.active > 1||row.repetitionTag) {
+ // return false
+ // } else {
+ // return true
+ // }
+ if (this.active > 1) {
return false
} else {
return true
@@ -2028,18 +2077,12 @@
this.$set(p, 'sectionCopy', p.section)
}
}
- if (p.ask.includes('[')) {
+ if (p.ask && p.ask.includes('[')) {
this.$set(p, 'askCopy', p.ask)
}
- if (p.tell.includes('[')) {
+ if (p.tell && p.tell.includes('[')) {
this.$set(p, 'tellCopy', p.tell)
}
- // if (p.manHour.includes('[')) {
- // this.$set(p, 'manHourCopy', p.manHour)
- // }
- // if (p.price.includes('[')) {
- // this.$set(p, 'priceCopy', p.price)
- // }
if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) {
if (p.sectionCopy.indexOf('[') > -1) {
p.bsmRow = this.HaveJson(p)
@@ -2072,11 +2115,6 @@
return item
})
}
- this.productList.forEach(item => {
- if (item.id == row.id) {
- item.state = row.state;
- }
- })
this.changeProductList0()
this.currentMethod.insProduct = this.productList0
this.getProNum()
--
Gitblit v1.9.3