|
@@ -1,228 +1,200 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <div>
|
|
|
|
|
- <el-tabs v-model="activePosition">
|
|
|
|
|
- <el-tab-pane label="选光头" name="光头" :disabled="isEdit && activePosition!='光头'">
|
|
|
|
|
- <div class="dialog-content">
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">搜索:</div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- placeholder="名称/料号"
|
|
|
|
|
- v-model="guangtouParam.content.where.condition"
|
|
|
|
|
- clearable
|
|
|
|
|
- @clear="Search('guangtouParam')"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @keyup.enter.native="Search('guangtouParam')">
|
|
|
|
|
- </el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">驱动方式:</div>
|
|
|
|
|
- <MySelect :isClear="false" @click="guangtouChange();Search('guangtouParam','drivetype');resultArr=[]" :options="drivetype" v-model="guangtouParam.content.where.drivetype"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">公称通径:</div>
|
|
|
|
|
- <el-select filterable v-model="guangtouParam.content.where.caliber" placeholder="请选择公称通径" size="small" style="width:100%" clearable @change="Search('guangtouParam','caliber')">
|
|
|
|
|
- <el-option v-for="item in caliber" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">公称压力:</div>
|
|
|
|
|
- <el-select filterable @change="Search('guangtouParam','nominalpressure')" :disabled="!guangtouParam.content.where.caliber" v-model="guangtouParam.content.where.nominalpressure" placeholder="请选择公称压力" size="small" style="width:100%" clearable>
|
|
|
|
|
- <el-option v-for="item in nominalpressure" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">连接方式:</div>
|
|
|
|
|
- <MySelect @click="Search('guangtouParam','connection')" :disabled="!guangtouParam.content.where.nominalpressure" :options="connection" v-model="guangtouParam.content.where.connection"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">阀体材质:</div>
|
|
|
|
|
- <el-select filterable @change="Search('guangtouParam','bodymaterial')" :disabled="!guangtouParam.content.where.connection" v-model="guangtouParam.content.where.bodymaterial" placeholder="请选择阀体材质" size="small" style="width:100%" clearable>
|
|
|
|
|
- <el-option v-for="item in bodymaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">阀杆材质:</div>
|
|
|
|
|
- <el-select filterable @change="Search('guangtouParam','stemmaterial')" :disabled="!guangtouParam.content.where.bodymaterial" v-model="guangtouParam.content.where.stemmaterial" placeholder="请选择阀杆材质" size="small" style="width:100%" clearable>
|
|
|
|
|
- <el-option v-for="item in stemmaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">阀座材质:</div>
|
|
|
|
|
- <el-select filterable @change="Search('guangtouParam','plinthmaterial')" :disabled="!guangtouParam.content.where.stemmaterial" v-model="guangtouParam.content.where.plinthmaterial" placeholder="请选择阀座材质" size="small" style="width:100%" clearable>
|
|
|
|
|
- <el-option v-for="item in plinthmaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="drawer__panel">
|
|
|
|
|
+ <div class="my-steps">
|
|
|
|
|
+ <el-steps size="small" :active="active" finish-status="finish">
|
|
|
|
|
+ <el-step v-for="(item,index) in items" :key="index" process-status="wait">
|
|
|
|
|
+ <span @click="stepsClick(item.value)" slot="title">{{item.title}}</span>
|
|
|
|
|
+ </el-step>
|
|
|
|
|
+ </el-steps>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="product-info">
|
|
|
|
|
+ <div class="title">配置概要</div>
|
|
|
|
|
+ <div class="info-content">
|
|
|
|
|
+ <div class="info-item" style="width: 50%;margin-bottom: 16px">
|
|
|
|
|
+ <div class="info-title">
|
|
|
|
|
+ <div class="title">光头</div>
|
|
|
|
|
+ <span v-show="!!resultArr[0]" @click="active=1;resultArr=[];fujianArr=[];items.splice(2,1);isEdit=true">
|
|
|
|
|
+ <img src="@/assets/重选.svg" alt="">
|
|
|
|
|
+ 重选
|
|
|
|
|
+ </span>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- <!--光头-->
|
|
|
|
|
- <MyTable :height="tableHeight" ref="guangtouRef" :noQuery="true" :layout="tool.tabelCol($route.name)['guangtouTable'].tablecols" :param="guangtouParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
- <template v-slot:customcol="scope">
|
|
|
|
|
- <p>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-slot:opreation="scope">
|
|
|
|
|
- <i class="el-icon-check" style="color: #3874f6;" v-if="scope.data.isSelect"></i>
|
|
|
|
|
- <el-button type="text" size="mini" @click="selectTarget(scope.data,'主阀')" :disabled="!guangtouParam.content.where.drivetype" v-else >选择</el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </MyTable>
|
|
|
|
|
|
|
+ <div class="name" v-if="resultArr[0]">{{ resultArr[0].itemname}}</div>
|
|
|
|
|
+ <div class="name" v-else>暂无</div>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-tab-pane>
|
|
|
|
|
-
|
|
|
|
|
- <el-tab-pane label="选执行器" name="执行器" :disabled="isEdit && activePosition!='执行器'">
|
|
|
|
|
- <div class="dialog-content">
|
|
|
|
|
-
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">光头:</div>
|
|
|
|
|
- <MySelect
|
|
|
|
|
- v-if="resultArr.length"
|
|
|
|
|
- :higit="true"
|
|
|
|
|
- :options="[{
|
|
|
|
|
- remarks:`${resultArr[0].itemname}`,value:`${resultArr[0].itemid}`
|
|
|
|
|
- }]"
|
|
|
|
|
- v-model="gangtou"
|
|
|
|
|
- :isClear="false"
|
|
|
|
|
- >
|
|
|
|
|
- <el-button slot="custom" type="text" size="mini" @click="activePosition='光头';isFujianShow=false;resultArr=[]">重选</el-button>
|
|
|
|
|
- </MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="info-item" style="width: 50%;">
|
|
|
|
|
+ <div class="info-title">
|
|
|
|
|
+ <div class="title">执行器</div>
|
|
|
|
|
+ <span v-show="!!resultArr[1]" @click="active=2;resultArr.splice(1);fujianArr=[];isEdit=true">
|
|
|
|
|
+ <img src="@/assets/重选.svg" alt="">
|
|
|
|
|
+ 重选
|
|
|
|
|
+ </span>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">执行器:</div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- placeholder="型号/料号"
|
|
|
|
|
- v-model="excelParam.content.where.condition1"
|
|
|
|
|
- clearable
|
|
|
|
|
- @clear="Search('excelParam')"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @keyup.enter.native="Search('excelParam')">
|
|
|
|
|
- </el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <div class="item" v-if="guangtouParam.content.where.drivetype!='气动'">
|
|
|
|
|
- <div class="label">减速箱:</div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- placeholder="型号/料号"
|
|
|
|
|
- v-model="excelParam.content.where.condition2"
|
|
|
|
|
- clearable
|
|
|
|
|
- @clear="Search('excelParam')"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @keyup.enter.native="Search('excelParam')">
|
|
|
|
|
- </el-input>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="name" v-if="resultArr[1]">{{ resultArr[1].itemname}} {{ guangtouParam.content.where.drivetype == '电动' ? ` + 减速箱:${resultArr[1].gearboxname}` : '' }}</div>
|
|
|
|
|
+ <div class="name" v-else>暂无</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="info-item" style="width: 100%;">
|
|
|
|
|
+ <div class="info-title">
|
|
|
|
|
+ <div class="title">辅件</div>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
- <div class="option-line" v-if="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">驱动方式:</div>
|
|
|
|
|
- <MySelect :isClear="false" :options="[{remarks:'气动调节',value:'气动调节'},{remarks:'气动开关',value:'气动开关'}]" v-model="excelParam.content.where.drivetype"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div style="display: flex" v-if="fujianArr.length">
|
|
|
|
|
+ <el-tag size="small" closable v-for="item in fujianArr" :key="item.itemid" style="margin-right: 10px" @close="handleClose(item);isEdit=true">{{ item.itemname }}:{{ item.model }}</el-tag>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="name" v-else>暂无</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!--选光头-->
|
|
|
|
|
+ <div class="dialog-content" v-show="active == 1">
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">搜索:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ placeholder="名称/料号"
|
|
|
|
|
+ v-model="guangtouParam.content.where.condition"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @clear="Search('guangtouParam')"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ @keyup.enter.native="Search('guangtouParam')">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">驱动方式:</div>
|
|
|
|
|
+ <MySelect :isClear="false" @click="guangtouChange" :options="drivetype" v-model="guangtouParam.content.where.drivetype"></MySelect>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">公称通径:</div>
|
|
|
|
|
+ <el-select filterable v-model="guangtouParam.content.where.caliber" placeholder="请选择公称通径" size="small" style="width:100%" clearable @change="Search('guangtouParam','caliber')">
|
|
|
|
|
+ <el-option v-for="item in caliber" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">公称压力:</div>
|
|
|
|
|
+ <el-select filterable @change="Search('guangtouParam','nominalpressure')" :disabled="!guangtouParam.content.where.caliber" v-model="guangtouParam.content.where.nominalpressure" placeholder="请选择公称压力" size="small" style="width:100%" clearable>
|
|
|
|
|
+ <el-option v-for="item in nominalpressure" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">品牌:</div>
|
|
|
|
|
- <MySelect @click="Search('excelParam','actuatorbrand')" :options="actuatorbrand" v-model="excelParam.content.where.actuatorbrand"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">连接方式:</div>
|
|
|
|
|
+ <MySelect @click="Search('guangtouParam','connection')" :disabled="!guangtouParam.content.where.nominalpressure" :options="connection" v-model="guangtouParam.content.where.connection"></MySelect>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="option-line" v-show="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">功能:</div>
|
|
|
|
|
- <MySelect :disabled="!excelParam.content.where.actuatorbrand" @click="Search('excelParam','func')" :options="func" v-model="excelParam.content.where.func"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">阀体材质:</div>
|
|
|
|
|
+ <el-select filterable @change="Search('guangtouParam','bodymaterial')" :disabled="!guangtouParam.content.where.connection" v-model="guangtouParam.content.where.bodymaterial" placeholder="请选择阀体材质" size="small" style="width:100%" clearable>
|
|
|
|
|
+ <el-option v-for="item in bodymaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">阀杆材质:</div>
|
|
|
|
|
+ <el-select filterable @change="Search('guangtouParam','stemmaterial')" :disabled="!guangtouParam.content.where.bodymaterial" v-model="guangtouParam.content.where.stemmaterial" placeholder="请选择阀杆材质" size="small" style="width:100%" clearable>
|
|
|
|
|
+ <el-option v-for="item in stemmaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">阀座材质:</div>
|
|
|
|
|
+ <el-select filterable @change="Search('guangtouParam','plinthmaterial')" :disabled="!guangtouParam.content.where.stemmaterial" v-model="guangtouParam.content.where.plinthmaterial" placeholder="请选择阀座材质" size="small" style="width:100%" clearable>
|
|
|
|
|
+ <el-option v-for="item in plinthmaterial" :key="item.value" :value="item.value" :label="item.remarks"></el-option>
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!--光头-->
|
|
|
|
|
+ <MyTable :height="tableHeight" ref="guangtouRef" :layout="tool.tabelCol($route.name)['guangtouTable'].tablecols" :param="guangtouParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
|
|
+ <p>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
|
|
+ <el-button type="text" size="mini" @click="selectTarget(scope.data,'主阀')" :disabled="!guangtouParam.content.where.drivetype">选择</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </MyTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!--选执行器-->
|
|
|
|
|
+ <div class="dialog-content" v-show="active == 2">
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">执行器:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ placeholder="型号/料号"
|
|
|
|
|
+ v-model="excelParam.content.where.condition1"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @clear="Search('excelParam')"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ @keyup.enter.native="Search('excelParam')">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="option-line" v-show="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">结构:</div>
|
|
|
|
|
- <MySelect :disabled="!excelParam.content.where.func" @click="Search('excelParam','bodystructure')" :options="bodystructure" v-model="excelParam.content.where.bodystructure"></MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="item" v-if="guangtouParam.content.where.drivetype!='气动'">
|
|
|
|
|
+ <div class="label">减速箱:</div>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ placeholder="型号/料号"
|
|
|
|
|
+ v-model="excelParam.content.where.condition2"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @clear="Search('excelParam')"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ @keyup.enter.native="Search('excelParam')">
|
|
|
|
|
+ </el-input>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <!--执行器-->
|
|
|
|
|
- <MyTable :height="tableHeight" :noQuery="true" ref="excelRef" :layout="guangtouParam.content.where.drivetype=='电动'?tool.tabelCol($route.name)['excelTable1'].tablecols:tool.tabelCol($route.name)['excelTable2'].tablecols" :param="excelParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
- <template v-slot:customcol="scope">
|
|
|
|
|
- <p v-if="scope.column.columnname == 'matchratio'" style="color:red">{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
- <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-slot:opreation="scope">
|
|
|
|
|
- <i class="el-icon-check" style="color: #3874f6;" v-if="scope.data.isSelect"></i>
|
|
|
|
|
- <el-button type="text" size="mini" @click="selectTarget(scope.data,'执行器')" v-else>选择</el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </MyTable>
|
|
|
|
|
|
|
+ <div class="option-line" v-if="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">驱动方式:</div>
|
|
|
|
|
+ <MySelect :isClear="false" :options="[{remarks:'气动调节',value:'气动调节'},{remarks:'气动开关',value:'气动开关'}]" v-model="excelParam.content.where.drivetype"></MySelect>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-tab-pane>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <el-tab-pane label="选辅件" name="辅件" :disabled="isEdit && activePosition!='辅件'" v-if="isFujianShow">
|
|
|
|
|
- <div class="dialog-content">
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">光头:</div>
|
|
|
|
|
- <MySelect
|
|
|
|
|
- v-if="resultArr.length"
|
|
|
|
|
- :higit="true"
|
|
|
|
|
- :options="[{remarks:`${resultArr[0].itemname}`,value:`${resultArr[0].itemid}`}]"
|
|
|
|
|
- v-model="gangtou"
|
|
|
|
|
- :isClear="false"
|
|
|
|
|
- >
|
|
|
|
|
- <el-button slot="custom" type="text" size="mini" @click="activePosition='光头';isFujianShow=false;resultArr=[];fujianArr=[]">重选</el-button>
|
|
|
|
|
- </MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label">执行器:</div>
|
|
|
|
|
- <MySelect
|
|
|
|
|
- v-if="resultArr.length>=2"
|
|
|
|
|
- :higit="true"
|
|
|
|
|
- :options="[{remarks:resultArr[1].actuatormodel||resultArr[1].itemname,value:resultArr[1].itemid}]"
|
|
|
|
|
- v-model="excel"
|
|
|
|
|
- :isClear="false"
|
|
|
|
|
- >
|
|
|
|
|
- <el-button slot="custom" type="text" size="mini" @click="activePosition='执行器';resultArr.splice(1);fujianArr=[]">重选</el-button>
|
|
|
|
|
- </MySelect>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="option-line">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">品牌:</div>
|
|
|
|
|
+ <MySelect @click="Search('excelParam','actuatorbrand')" :options="actuatorbrand" v-model="excelParam.content.where.actuatorbrand"></MySelect>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="option-line">
|
|
|
|
|
- <div class="item">
|
|
|
|
|
- <div class="label" style="width:50px !important">辅件:</div>
|
|
|
|
|
- <div style="display: flex">
|
|
|
|
|
- <el-tag size="small" closable v-for="item in fujianArr" :key="item.itemid" style="margin-right: 10px" @close="handleClose(item)">{{ item.model }}:{{ item.itemname }}</el-tag>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="option-line" v-show="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">功能:</div>
|
|
|
|
|
+ <MySelect :disabled="!excelParam.content.where.actuatorbrand" @click="Search('excelParam','func')" :options="func" v-model="excelParam.content.where.func"></MySelect>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <!--辅件-->
|
|
|
|
|
- <MyTable :noQuery="true" ref="fujianRef" :height="tableHeight" :layout="tool.tabelCol($route.name)['itemList'].tablecols" :param="fujianParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
- <template v-slot:customcol="scope">
|
|
|
|
|
- <p>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
- </template>
|
|
|
|
|
- <template v-slot:opreation="scope">
|
|
|
|
|
- <el-button type="text" size="mini" @click="selectTarget(scope.data,'辅件')" :disabled="loading">选择</el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </MyTable>
|
|
|
|
|
|
|
+ <div class="option-line" v-show="guangtouParam.content.where.drivetype=='气动'">
|
|
|
|
|
+ <div class="item">
|
|
|
|
|
+ <div class="label">结构:</div>
|
|
|
|
|
+ <MySelect :disabled="!excelParam.content.where.func" @click="Search('excelParam','bodystructure')" :options="bodystructure" v-model="excelParam.content.where.bodystructure"></MySelect>
|
|
|
</div>
|
|
</div>
|
|
|
- </el-tab-pane>
|
|
|
|
|
- </el-tabs>
|
|
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="dialog-footer">
|
|
|
|
|
- <el-button size="small" @click="close" class="normal-btn-width">取 消</el-button>
|
|
|
|
|
- <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width" v-if="activePosition == '辅件'" :disabled="$refs.fujianRef.list.length!= 0">确认</el-button>
|
|
|
|
|
|
|
+ <!--执行器-->
|
|
|
|
|
+ <MyTable :height="tableHeight" :noQuery="true" ref="excelRef" :layout="guangtouParam.content.where.drivetype=='电动'?tool.tabelCol($route.name)['excelTable1'].tablecols:tool.tabelCol($route.name)['excelTable2'].tablecols" :param="excelParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
|
|
+ <p v-if="scope.column.columnname == 'matchratio'" style="color:red">{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
+ <p v-else>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
|
|
+ <el-button type="text" size="mini" @click="selectTarget(scope.data,'执行器')" :disabled="(loading) || (guangtouParam.content.where.drivetype=='电动' && resultArr.length == 2)">选择</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </MyTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!--选辅件-->
|
|
|
|
|
+ <div class="dialog-content" v-show="active == 3">
|
|
|
|
|
+ <MyTable :noQuery="true" ref="fujianRef" :height="tableHeight" :layout="tool.tabelCol($route.name)['itemList'].tablecols" :param="fujianParam" :opwidth="200" :custom="true" style="margin-top: 25px">
|
|
|
|
|
+ <template v-slot:customcol="scope">
|
|
|
|
|
+ <p>{{scope.column.data[scope.column.columnname]}}</p>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-slot:opreation="scope">
|
|
|
|
|
+ <el-button type="text" size="mini" @click="selectTarget(scope.data,'辅件')" :disabled="loading">选择</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </MyTable>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="fixed__btn__panel">
|
|
|
|
|
+ <el-button size="small" @click="close()" class="normal-btn-width">取 消</el-button>
|
|
|
|
|
+ <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width" v-if="active == 3" :disabled="$refs.fujianRef.list.length!= 0">确认</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
@@ -230,19 +202,23 @@
|
|
|
<script>
|
|
<script>
|
|
|
import MySelect from '@/optionSystem/FProductManage/modules/select.vue'
|
|
import MySelect from '@/optionSystem/FProductManage/modules/select.vue'
|
|
|
import MyTable from '@/optionSystem/FProductManage/modules/table.vue'
|
|
import MyTable from '@/optionSystem/FProductManage/modules/table.vue'
|
|
|
|
|
+import Steps from '@/optionSystem/FProductManage/modules/Steps.vue'
|
|
|
export default {
|
|
export default {
|
|
|
- components:{MySelect,MyTable},
|
|
|
|
|
|
|
+ components:{MySelect,MyTable,Steps},
|
|
|
props:['data'],
|
|
props:['data'],
|
|
|
inject:['valvetype','resultArrs'],
|
|
inject:['valvetype','resultArrs'],
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
- tableHeight:'200px',
|
|
|
|
|
|
|
+ items: [
|
|
|
|
|
+ {title:'选光头',value:'光头'},
|
|
|
|
|
+ {title:'选执行器',value:'执行器'},
|
|
|
|
|
+ ],
|
|
|
|
|
+ active:1,
|
|
|
|
|
+ tableHeight:'400px',
|
|
|
isEdit:false,
|
|
isEdit:false,
|
|
|
excel:'',
|
|
excel:'',
|
|
|
gangtou:'',
|
|
gangtou:'',
|
|
|
resultArr:[],
|
|
resultArr:[],
|
|
|
- activePosition:'光头',
|
|
|
|
|
-
|
|
|
|
|
caliber:[],
|
|
caliber:[],
|
|
|
nominalpressure:[],
|
|
nominalpressure:[],
|
|
|
connection:[],
|
|
connection:[],
|
|
@@ -255,7 +231,6 @@ export default {
|
|
|
bodystructure:[],
|
|
bodystructure:[],
|
|
|
func:[],
|
|
func:[],
|
|
|
guangtouList:[],
|
|
guangtouList:[],
|
|
|
- isFujianShow:false,//辅件是否显示
|
|
|
|
|
form: {
|
|
form: {
|
|
|
"itemid": 0,
|
|
"itemid": 0,
|
|
|
"plm_itemextendid": 0,
|
|
"plm_itemextendid": 0,
|
|
@@ -292,7 +267,7 @@ export default {
|
|
|
"id": 20240718162102,
|
|
"id": 20240718162102,
|
|
|
"content": {
|
|
"content": {
|
|
|
"pageNumber": 1,
|
|
"pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
|
|
|
|
+ "pageSize": 9999999,
|
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
|
"where": {
|
|
"where": {
|
|
|
"condition": "",
|
|
"condition": "",
|
|
@@ -312,7 +287,7 @@ export default {
|
|
|
"content": {
|
|
"content": {
|
|
|
"itemid": "",//光头id
|
|
"itemid": "",//光头id
|
|
|
"pageNumber": 1,
|
|
"pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
|
|
|
|
+ "pageSize": 9999999,
|
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
|
"where": {
|
|
"where": {
|
|
|
"condition1": "",
|
|
"condition1": "",
|
|
@@ -348,6 +323,8 @@ export default {
|
|
|
methods: {
|
|
methods: {
|
|
|
init () {
|
|
init () {
|
|
|
this.guangtouChange(this.data.filter.mainvalve.drivetype)
|
|
this.guangtouChange(this.data.filter.mainvalve.drivetype)
|
|
|
|
|
+ console.log(this.data.filter.mainvalve);
|
|
|
|
|
+
|
|
|
Object.keys(this.data.filter.mainvalve).forEach(v => {
|
|
Object.keys(this.data.filter.mainvalve).forEach(v => {
|
|
|
this.guangtouParam.content.where[v] = this.data.filter.mainvalve[v]
|
|
this.guangtouParam.content.where[v] = this.data.filter.mainvalve[v]
|
|
|
})
|
|
})
|
|
@@ -355,11 +332,13 @@ export default {
|
|
|
this.excelParam.content.where[v] = this.data.filter.actuator[v]
|
|
this.excelParam.content.where[v] = this.data.filter.actuator[v]
|
|
|
})
|
|
})
|
|
|
if (this.guangtouParam.content.where.drivetype == '气动') {
|
|
if (this.guangtouParam.content.where.drivetype == '气动') {
|
|
|
- this.isFujianShow = true
|
|
|
|
|
|
|
+ this.items.push({title:'选辅件',value:'辅件'})
|
|
|
this.fujianArr = this.data.filter.other.fujianArr
|
|
this.fujianArr = this.data.filter.other.fujianArr
|
|
|
}
|
|
}
|
|
|
this.$refs.guangtouRef.listData(() => {
|
|
this.$refs.guangtouRef.listData(() => {
|
|
|
if (!this.$refs.guangtouRef.list.length) return
|
|
if (!this.$refs.guangtouRef.list.length) return
|
|
|
|
|
+ console.log(this.$refs.guangtouRef.list[0]);
|
|
|
|
|
+
|
|
|
this.nominalpressure = this.$refs.guangtouRef.list[0].option.nominalpressure
|
|
this.nominalpressure = this.$refs.guangtouRef.list[0].option.nominalpressure
|
|
|
this.connection = this.$refs.guangtouRef.list[0].option.connection
|
|
this.connection = this.$refs.guangtouRef.list[0].option.connection
|
|
|
this.bodymaterial = this.$refs.guangtouRef.list[0].option.bodymaterial
|
|
this.bodymaterial = this.$refs.guangtouRef.list[0].option.bodymaterial
|
|
@@ -381,10 +360,14 @@ export default {
|
|
|
}, 1000);
|
|
}, 1000);
|
|
|
},
|
|
},
|
|
|
close () {
|
|
close () {
|
|
|
- this.activePosition = '光头'
|
|
|
|
|
|
|
+ this.active = 1
|
|
|
this.guangtouParam.content.where.drivetype = '电动'
|
|
this.guangtouParam.content.where.drivetype = '电动'
|
|
|
this.resultArr = []
|
|
this.resultArr = []
|
|
|
this.fujianArr = []
|
|
this.fujianArr = []
|
|
|
|
|
+ this.items = [
|
|
|
|
|
+ {title:'选光头',value:'光头'},
|
|
|
|
|
+ {title:'选执行器',value:'执行器'},
|
|
|
|
|
+ ]
|
|
|
this.isEdit = false
|
|
this.isEdit = false
|
|
|
this.$emit('close')
|
|
this.$emit('close')
|
|
|
},
|
|
},
|
|
@@ -492,7 +475,7 @@ export default {
|
|
|
"content": {
|
|
"content": {
|
|
|
"itemid": 0,//光头id
|
|
"itemid": 0,//光头id
|
|
|
"pageNumber": 1,
|
|
"pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
|
|
|
|
+ "pageSize": 9999999,
|
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
|
"where": {
|
|
"where": {
|
|
|
"condition1": "",
|
|
"condition1": "",
|
|
@@ -513,7 +496,7 @@ export default {
|
|
|
"id": 20240718162302,
|
|
"id": 20240718162302,
|
|
|
"content": {
|
|
"content": {
|
|
|
"pageNumber": 1,
|
|
"pageNumber": 1,
|
|
|
- "pageSize": 20,
|
|
|
|
|
|
|
+ "pageSize": 9999999,
|
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
"sa_lectotypecfgid":this.$route.query.id,
|
|
|
"where": {
|
|
"where": {
|
|
|
"condition1": "",
|
|
"condition1": "",
|
|
@@ -590,11 +573,11 @@ export default {
|
|
|
if (type == '主阀') {
|
|
if (type == '主阀') {
|
|
|
this.resultArr[0] = data
|
|
this.resultArr[0] = data
|
|
|
|
|
|
|
|
- if (this.guangtouParam.content.where.drivetype == '气动') {
|
|
|
|
|
- this.isFujianShow = true
|
|
|
|
|
- } else {
|
|
|
|
|
- this.isFujianShow = false
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (this.guangtouParam.content.where.drivetype == '气动' && this.items.length == 2) {
|
|
|
|
|
+ this.items.push({title:'选辅件',value:'辅件'})
|
|
|
|
|
+ } else if (this.guangtouParam.content.where.drivetype == '电动' && this.items.length == 3) {
|
|
|
|
|
+ this.items.splice(2,1)
|
|
|
|
|
+ }
|
|
|
this.guangtouChange(this.guangtouParam.content.where.drivetype)
|
|
this.guangtouChange(this.guangtouParam.content.where.drivetype)
|
|
|
this.excelParam.content.itemid = data.itemid
|
|
this.excelParam.content.itemid = data.itemid
|
|
|
this.excelParam.content.where.torque = data.torque
|
|
this.excelParam.content.where.torque = data.torque
|
|
@@ -609,7 +592,7 @@ export default {
|
|
|
this.func = this.$refs.excelRef.list[0].option.func
|
|
this.func = this.$refs.excelRef.list[0].option.func
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
- this.activePosition = '执行器'
|
|
|
|
|
|
|
+ this.active = 2
|
|
|
} else if (type == '执行器') {
|
|
} else if (type == '执行器') {
|
|
|
this.resultArr[1] = data
|
|
this.resultArr[1] = data
|
|
|
this.resultArr[1].itenname = this.resultArr[1].actuatormodel
|
|
this.resultArr[1].itenname = this.resultArr[1].actuatormodel
|
|
@@ -637,8 +620,8 @@ export default {
|
|
|
|
|
|
|
|
data.itemid = data.actuatorid
|
|
data.itemid = data.actuatorid
|
|
|
data.itemname = data.actuatormodel
|
|
data.itemname = data.actuatormodel
|
|
|
- if (this.isFujianShow) {
|
|
|
|
|
- this.activePosition = '辅件'
|
|
|
|
|
|
|
+ if (this.items.length >= 3) {
|
|
|
|
|
+ this.active = 3
|
|
|
this.$refs.fujianRef.listData()
|
|
this.$refs.fujianRef.listData()
|
|
|
} else {
|
|
} else {
|
|
|
this.onSubmit()
|
|
this.onSubmit()
|
|
@@ -671,6 +654,15 @@ export default {
|
|
|
|
|
|
|
|
this.$refs.fujianRef.listData()
|
|
this.$refs.fujianRef.listData()
|
|
|
},
|
|
},
|
|
|
|
|
+ stepsClick (val) {
|
|
|
|
|
+ if (this.isEdit) return this.$message.warning('已操作过选型单,请按步骤进行!!')
|
|
|
|
|
+ for (let i = 0; i < this.items.length; i++) {
|
|
|
|
|
+ if (val == this.items[i].value) {
|
|
|
|
|
+ this.active = i + 1
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
//选项
|
|
//选项
|
|
|
optionsList () {
|
|
optionsList () {
|
|
|
this.$store.dispatch("optiontypeselect", "caliber").then((res) => {
|
|
this.$store.dispatch("optiontypeselect", "caliber").then((res) => {
|
|
@@ -690,9 +682,80 @@ export default {
|
|
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
|
|
|
|
|
- .product-content {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ .drawer__panel {
|
|
|
|
|
+ padding: 20px 40px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .my-steps {
|
|
|
|
|
+ padding: 0px 68px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .drawer__panel {
|
|
|
|
|
+ font-family: Source Han Sans SC, Source Han Sans SC;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info {
|
|
|
|
|
+ padding: 16px 20px;
|
|
|
|
|
+ border: 1px solid #3874F6;
|
|
|
|
|
+ background: rgba(56, 116, 246, 0.08);
|
|
|
|
|
+ margin-top: 20px;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .title {
|
|
|
|
|
+ margin-bottom: 16px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ color: #333333;
|
|
|
|
|
+ font-size: 16px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-wrap: wrap;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .info-title {
|
|
|
|
|
+ margin-bottom: 8px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-content: center;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .info-title .title {
|
|
|
|
|
+ margin-bottom: 0px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .info-title div {
|
|
|
|
|
+ margin-right: 20px;
|
|
|
|
|
+ font-size: 14px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .info-title span {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #3874F6 !important;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ align-content: center;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .info-title span img {
|
|
|
|
|
+ width: 12px;
|
|
|
|
|
+ height: 12px;
|
|
|
|
|
+ margin-right: 4px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .name {
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #555555;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .names {
|
|
|
|
|
+ font-weight: 400;
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ color: #555555;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .names div {
|
|
|
|
|
+ margin-right: 20px;
|
|
|
|
|
+ }
|
|
|
|
|
+ .product-info .info-content .info-item .names div span {
|
|
|
|
|
+ margin-right: 10px;
|
|
|
|
|
+ }
|
|
|
.product-content .block {
|
|
.product-content .block {
|
|
|
margin-top: 30px;
|
|
margin-top: 30px;
|
|
|
padding-left: 20px;
|
|
padding-left: 20px;
|