|
@@ -1,6 +1,13 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-button size="small" type="primary" @click="onShow">新 建</el-button>
|
|
|
+ <el-dropdown @command="onShow">
|
|
|
+ <el-button type="primary" size="small">
|
|
|
+ 新建
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item :command="item.value" v-for="item in itemTypeList()" :key="item.value">{{ item.remarks }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
<el-drawer
|
|
|
title="新建主阀"
|
|
|
:visible.sync="drawer"
|
|
@@ -9,136 +16,7 @@
|
|
|
append-to-body
|
|
|
:show-close="false">
|
|
|
<div class="drawer__panel">
|
|
|
- <el-row>
|
|
|
- <el-form :model="form" :rules="rules" ref="form" size="mini" label-position="right">
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="主阀料号" label-width="80px" prop="itemno">
|
|
|
- <el-input v-model="form.itemno" autocomplete="off" placeholder="请输入主阀料号"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="名称" label-width="80px" prop="itemname">
|
|
|
- <el-input v-model="form.itemname" autocomplete="off" placeholder="请输入名称"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀门类型" label-width="80px" prop="valvetype">
|
|
|
- <el-select v-model="form.valvetype" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in itemTypeList()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="公称通径" label-width="80px" prop="caliber">
|
|
|
- <el-select v-model="form.caliber" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in caliber()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="公称压力" label-width="80px" prop="pressure">
|
|
|
- <el-select v-model="form.pressure" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in pressure()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="连接方式" label-width="80px" prop="connection">
|
|
|
- <el-select v-model="form.connection" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in connection()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀体材质" label-width="80px" prop="bodymaterial">
|
|
|
- <el-select v-model="form.bodymaterial" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in bodymaterial()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀板材质" label-width="80px" prop="valveplatematerial">
|
|
|
- <el-select v-model="form.valveplatematerial" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in valveplatematerial()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀杆材质" label-width="80px" prop="stemmaterial">
|
|
|
- <el-select v-model="form.stemmaterial" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in stemmaterial()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀座材质" label-width="80px" prop="plinthmaterial">
|
|
|
- <el-select v-model="form.plinthmaterial" style="width:100%" placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="item in plinthmaterial()"
|
|
|
- :label="item.remarks"
|
|
|
- :value="item.value"
|
|
|
- :key="item.index"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀门扭矩" label-width="80px" prop="torque">
|
|
|
- <el-input v-model="form.torque" autocomplete="off" placeholder="请输入阀门扭矩"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="法兰号" label-width="80px" prop="flh">
|
|
|
- <el-input v-model="form.flh" autocomplete="off" placeholder="请输入法兰号"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="阀杆尺寸" label-width="80px" prop="stemsize">
|
|
|
- <el-input v-model="form.stemsize" autocomplete="off" placeholder="请输入阀杆尺寸"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="价格" label-width="80px" prop="marketprice">
|
|
|
- <el-input v-model="form.marketprice" autocomplete="off" placeholder="请输入价格"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-form>
|
|
|
- </el-row>
|
|
|
+ <customForm ref="form" :formname="type" v-if="drawer"></customForm>
|
|
|
</div>
|
|
|
<div class="fixed__btn__panel">
|
|
|
<el-button size="small" @click="drawer = false" class="normal-btn-width">取 消</el-button>
|
|
@@ -149,72 +27,16 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import customForm from '@/components/customForm/customForm'
|
|
|
import {mapGetters} from "vuex";
|
|
|
export default {
|
|
|
- inject:['itemTypeList','caliber','pressure','connection','bodymaterial','valveplatematerial','stemmaterial','plinthmaterial'],
|
|
|
+ components:{customForm},
|
|
|
+ inject:['itemTypeList'],
|
|
|
data () {
|
|
|
return {
|
|
|
drawer:false,
|
|
|
- visible1:false,
|
|
|
- timer:null,
|
|
|
- isDisabled:false,
|
|
|
- isSelectPhone:'',
|
|
|
- selectType:[],
|
|
|
- rules:{
|
|
|
- itemno: [
|
|
|
- { required: true, message: '请输入主阀料号', trigger: 'blur' },
|
|
|
- ],
|
|
|
- marketprice: [
|
|
|
- { required: true, message: '请输入价格', trigger: 'blur' },
|
|
|
- { pattern:/^([1-9][0-9]*)+(\.[0-9]{1,2})?$/,message:'请输入数字(最多两位小数)',trigger:'blur'}
|
|
|
- ],
|
|
|
- itemname: [
|
|
|
- { required: true, message: '请输入名称', trigger: 'blur' }
|
|
|
- ],
|
|
|
- valvetype: [
|
|
|
- { required: true, message: '请选择阀门类型', trigger: 'change' }
|
|
|
- ],
|
|
|
- caliber: [
|
|
|
- { required: true, message: '请选择公称通径', trigger: 'change' },
|
|
|
- ],
|
|
|
- pressure: [
|
|
|
- { required: true, message: '请选择公称压力', trigger: 'change' }
|
|
|
- ],
|
|
|
- connection: [
|
|
|
- { required: true, message: '请选择连接方式', trigger: 'change' }
|
|
|
- ],
|
|
|
- bodymaterial: [
|
|
|
- { required: true, message: '请选择阀体材质', trigger: 'change' }
|
|
|
- ],
|
|
|
- valveplatematerial: [
|
|
|
- { required: true, message: '请选择阀板材质', trigger: 'change' }
|
|
|
- ],
|
|
|
- stemmaterial: [
|
|
|
- { required: true, message: '请选择阀杆材质', trigger: 'change' }
|
|
|
- ],
|
|
|
- plinthmaterial: [
|
|
|
- { required: true, message: '请选择阀座材质', trigger: 'change' }
|
|
|
- ],
|
|
|
- },
|
|
|
- form:{
|
|
|
- "itemid": 0,
|
|
|
- "plm_itemextendid": 0,
|
|
|
- "itemno": "",
|
|
|
- "itemname": "",
|
|
|
- "marketprice": '',
|
|
|
- "valvetype": "",
|
|
|
- "caliber": "", //公称通径
|
|
|
- "pressure": "", //公称压力
|
|
|
- "connection": "",
|
|
|
- "bodymaterial": "",
|
|
|
- "valveplatematerial": "",
|
|
|
- "stemmaterial": "",
|
|
|
- "plinthmaterial": "",
|
|
|
- "torque": "",
|
|
|
- "flh": "",
|
|
|
- "stemsize": ""
|
|
|
- },
|
|
|
- options:[],
|
|
|
+ type:'',
|
|
|
+ valvetype:''
|
|
|
}
|
|
|
},
|
|
|
computed:{
|
|
@@ -225,25 +47,26 @@ export default {
|
|
|
watch: {
|
|
|
drawer (val) {
|
|
|
if (!val) {
|
|
|
- this.$refs.form.resetFields()
|
|
|
- this.isSelectPhone = ''
|
|
|
}
|
|
|
+ },
|
|
|
+ type (val) {
|
|
|
+ this.valvetype = this.itemTypeList().filter(v => v.value == val)[0].remarks
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
- onShow () {
|
|
|
+ onShow (type) {
|
|
|
+ this.type = type
|
|
|
this.drawer = true
|
|
|
},
|
|
|
onSubmit () {
|
|
|
- this.$refs['form'].validate((valid) => {
|
|
|
- if (!valid) return false
|
|
|
+ this.$refs.form.validateFields(()=>{
|
|
|
+ let form = Object.assign({},this.$refs.form.form,{"itemid": 0,"plm_itemextendid": 0,valvetype:this.valvetype})
|
|
|
this.$store.commit('setLoading',true)
|
|
|
this.$api.requested({
|
|
|
id:2024060116124902,
|
|
|
- content: this.form
|
|
|
+ content: form
|
|
|
}).then(res=>{
|
|
|
this.tool.showMessage(res,() => {
|
|
|
- this.$refs.form.resetFields()
|
|
|
this.$store.dispatch('changeDetailDrawer',true)
|
|
|
this.$router.push({path:'/itemDetail',query:{id:res.data.itemid,rowindex:res.data.rowindex}})
|
|
|
this.drawer = false
|
|
@@ -252,9 +75,9 @@ export default {
|
|
|
})
|
|
|
this.$store.commit('setLoading',false)
|
|
|
})
|
|
|
- });
|
|
|
- },
|
|
|
+ })
|
|
|
},
|
|
|
+ },
|
|
|
|
|
|
}
|
|
|
|