From 86180d1e80a0cc6faf147495d7e78bfeaf329214 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 13 六月 2024 18:04:01 +0800
Subject: [PATCH] 小功能修复
---
src/components/do/b1-ins-order/add.vue | 4
src/components/do/b1-ins-order/cable-config.vue | 255 +++++++++++++++++++++++++++++++++++++++++---------
src/components/view/a5-capacity-scope.vue | 11 +-
3 files changed, 217 insertions(+), 53 deletions(-)
diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index c247a92..d3e75ff 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -957,7 +957,7 @@
return a
})),
pairing: JSON.stringify(this.bsm2Val2)
- })
+ })
}).then(res => {
this.saveLoad = false
if (res.code == 201) return
@@ -1113,6 +1113,8 @@
this.sample.insProduct = []
this.sample.id = this.count
this.sample.childSampleList = []
+ this.sample.insulating = null
+ this.sample.sheath = null
this.sampleList.push(this.HaveJson(this.sample))
this.count++
}
diff --git a/src/components/do/b1-ins-order/cable-config.vue b/src/components/do/b1-ins-order/cable-config.vue
index 652cb96..897a0b6 100644
--- a/src/components/do/b1-ins-order/cable-config.vue
+++ b/src/components/do/b1-ins-order/cable-config.vue
@@ -7,47 +7,67 @@
<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;">
+ <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 class="search_thing" v-if="currentTab=='缁濈紭'">
<div class="search_label">鑺暟锛�</div>
<el-input size="small" placeholder="璇疯緭鍏�" clearable
- v-model="vaule0"></el-input>
+ v-model="insulating.num"></el-input>
</div>
- <el-button size="small" type="primary"@click="openAdd" style="margin-left: 20px;margin-right: 20px;" v-if="currentTab=='缁濈紭'">
- 纭� 瀹�</el-button>
- <div class="search_thing">
+ <div class="search_thing" v-if="currentTab=='缁濈紭'">
<div class="search_label">妫�楠屾爣鍑嗭細</div>
- <el-select v-model="vaule0" placeholder="璇烽�夋嫨妫�楠屾爣鍑�" size="small"
- clearable>
- <el-option v-for="item in standardList" :key="item.value" :label="item.label" :value="item.value">
+ <el-select v-model="insulating.standardMethodListId" 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>
- <div class="search_thing" style="padding-left: 30px;">
- <el-button size="small" type="primary"@click="openAdd">淇� 瀛�</el-button>
+ <div class="search_thing" v-if="currentTab=='鎶ゅ'">
+ <div class="search_label">妫�楠屾爣鍑嗭細</div>
+ <el-select v-model="sheath.standardMethodListId" 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>
</div>
<div class="table">
- <ValueTable ref="ValueTable"
- :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
- :componentData="componentData" :key="upIndex" />
+ <el-table class="el-table" ref="productTable" :data="productList" height="100%" tooltip-effect="dark" border
+ @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
+ :row-class-name="tableRowClassName" @select-all="handleAll">
+ <el-table-column type="selection" width="65" :selectable="selectable"></el-table-column>
+ <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
+ show-overflow-tooltip></el-table-column>
+ <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" min-width="130" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
+ </el-table-column>
+ <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="price" label="鍗曚环" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="section" label="鍖洪棿" min-width="120" show-overflow-tooltip></el-table-column>
+ <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px">
+ <template slot-scope="scope">
+ <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
+ :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)"
+ v-if="active==1&&isAskOnlyRead"></el-input>
+ <span v-else>{{ scope.row.ask }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
</div>
</div>
</template>
<script>
-import ValueTable from '../../tool/value-table.vue'
+import { Tree } from 'element-ui'
export default {
- components: {
- ValueTable
- },
props: {
active: {
type: Number,
@@ -59,42 +79,167 @@
standardList:[],
vaule0:'',
currentTab:'缁濈紭',
- componentData: {
- entity: {
- number: null,
- department: null,
- laboratory: null,
- orderBy: {
- field: 'id',
- order: 'desc'
- }
- },
- isIndex: true,
- showSelect: true,
- select: true,
- do: [],
- tagField: {},
- linkEvent: {
- },
- selectField: {
- laboratory: {
- select: []
- },
- unit: {
- select: []
- },
-
- },
- requiredAdd: [],
- requiredUp: []
- },
upIndex:0,
+ productList: [],
+ productIds: [],
+ sample: [],
+ tree: '',
+ standards: [],
+ insulating: {
+ standardMethodListId: null,
+ insProduct: [],
+ num: 1
+ },
+ sheath: {
+ standardMethodListId: null,
+ insProduct: []
+ },
+ isAskOnlyRead: false
}
+ },
+ 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){
+ 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
+ }
+ }
+ })
+ let obj = this.$parent.addObj
+ this.tree = obj.factory + ' - ' + obj.laboratory + ' - ' + obj.sampleType + ' - ' + obj.sample
+ this.selectsStandardMethodByFLSSM2()
+ this.productList = this.insulating.insProduct
+ setTimeout(() => {
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ }, 200)
},
methods: {
outConfig() {
this.$parent.cableConfigShow = false
},
+ selectProduct(val) {
+ this.productIds = []
+ val.forEach(a => {
+ this.productIds.push(a.id)
+ })
+ },
+ upProductSelect(selection, row) {
+ row.state = row.state == 1 ? 0 : 1
+ },
+ handleAll(e) {
+ if (e.length > 0) {
+ this.productList.map(m => {
+ m.state = 1
+ return m
+ })
+ } else {
+ this.productList.map(m => {
+ m.state = 0
+ return m
+ })
+ }
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout()
+ })
+ },
+ tableRowClassName({
+ row,
+ rowIndex
+ }) {
+ if (row.state === 0) {
+ return 'warning-row';
+ }
+ return '';
+ },
+ selectable() {
+ if (this.active > 1) {
+ return false
+ } else {
+ return true
+ }
+ },
+ selectsStandardMethodByFLSSM2() {
+ this.standards = []
+ this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+ tree: this.tree
+ }).then(res => {
+ this.standards = res.data.standardMethodList
+ })
+ },
+ methodChange(val) {
+ if (val === null || val === '') return
+ let standard = this.standards.find(a => a.id === val)
+ if(standard!=null && standard.code==='濮旀墭瑕佹眰'){
+ this.isAskOnlyRead = true
+ }else{
+ this.isAskOnlyRead = false
+ }
+ this.$axios.post(this.$api.standardTree.selectStandardProductList, {
+ model: this.$parent.addObj.model,
+ standardMethodListId: val,
+ factory: this.tree + ' - '
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ }
+ }).then(res => {
+ res.data.forEach(a => {
+ a.state = 0
+ })
+ if(this.currentTab==='缁濈紭'){
+ this.insulating.insProduct = res.data
+ }else if(this.currentTab==='鎶ゅ'){
+ this.sheath.insProduct = res.data
+ }
+ this.productList = res.data
+ setTimeout(() => {
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ }, 200)
+ })
+ },
+ toggleSelection(row) {
+ this.$refs.productTable.toggleRowSelection(row, true);
+ },
+ save(){
+ if(this.insulating.insProduct.length === 0 && this.sheath.insProduct.length === 0){
+ this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
+ return
+ }
+ if(this.insulating.insProduct.length !== 0){
+ if(this.insulating.num === null || this.insulating.num === '' || this.insulating.num <= 0){
+ this.$message.error('缂哄皯鑺暟鏃犳硶淇濆瓨')
+ return
+ }
+ }
+ this.sample.forEach(a=>{
+ a.insulating = this.insulating
+ a.sheath = this.sheath
+ })
+ this.$message.success('宸蹭繚瀛�')
+ },
+ changeTab(val){
+ if(val==='缁濈紭'){
+ this.productList = this.insulating.insProduct
+ }else if(val==='鎶ゅ'){
+ this.productList = this.sheath.insProduct
+ }
+ setTimeout(() => {
+ this.productList.forEach(a => {
+ if (a.state == 1) this.toggleSelection(a)
+ })
+ }, 200)
+ }
}
}
</script>
@@ -146,3 +291,21 @@
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: #bababa;
+ }
+</style>
diff --git a/src/components/view/a5-capacity-scope.vue b/src/components/view/a5-capacity-scope.vue
index 48f9b5e..0d6894c 100644
--- a/src/components/view/a5-capacity-scope.vue
+++ b/src/components/view/a5-capacity-scope.vue
@@ -516,7 +516,7 @@
if (power[i].menuMethod == 'selectTestObjectList') {
select += 2
}
- if (this.radio === '0') {
+ if (radio === '0') {
if (power[i].menuMethod == 'upItemParameter') {
up = true
}
@@ -526,7 +526,9 @@
if (power[i].menuMethod == 'addItemParameter') {
add = true
}
-
+ if (power[i].menuMethod == 'importData') {
+ inPower = true
+ }
} else {
if (power[i].menuMethod == 'upTestObject') {
up = true
@@ -540,12 +542,9 @@
if (power[i].menuMethod == 'selectProductListByObjectId') {
product = true
}
- if (power[i].menuMethod == 'importData') {
- inPower = true
- }
}
}
- if (this.radio === '0') {
+ if (radio === '0') {
if (!del) {
this.itemParameterData.do.splice(1, 1)
}
--
Gitblit v1.9.3