<template>
|
|
<div>
|
|
<div style="display: flex;">
|
|
<el-select v-model="type" :placeholder="$t('form.placeholderSelect')" @change="typeChange" style="width: 200px;">
|
|
<el-option :label="$t('page.business.resource.resource.common.tj')" :value="1"></el-option>
|
|
<el-option :label="$t('page.business.resource.resource.common.zl')" :value="3"></el-option>
|
|
</el-select>
|
|
<template v-if="type == 1">
|
|
<el-input v-model="srz" :placeholder="$t('form.placeholderInput')" maxlength="20" @change="inputChange">
|
|
<template slot="append">{{ dw||'' }}
|
|
</template>
|
|
</el-input>
|
|
</template>
|
|
<template v-if="type == 3">
|
|
<div>
|
|
<el-input v-model="tpName" :placeholder="$t('form.xztp')" readonly @click.native="showSelectBalance"
|
|
style="width: 80px;" />
|
|
</div>
|
|
<div>
|
|
<el-input v-model="tpz" :placeholder="$t('form.placeholderInput')" maxlength="20" @change="tpzChange">
|
|
<template slot="append">{{ tpdw||'' }}
|
|
</template>
|
|
</el-input>
|
|
</div>
|
|
<div>
|
|
<el-button type="primary" @click="getBalanceValue">{{ $t('form.hqz') }}</el-button>
|
|
</div>
|
|
</template>
|
|
</div>
|
|
<SelectInstrumentDialog ref="selectInstrumentDialog" @change="selectInstrumentChange" />
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import SelectInstrumentDialog from '@/views/business/comps/select/SelectInstrumentDialog';
|
|
import { getBalance } from "@/utils/tpph";
|
|
export default {
|
|
name: "SelectBalanceValue",
|
|
components: { SelectInstrumentDialog },
|
|
props: {
|
|
value: {
|
|
type: [Number, String],
|
|
default: ''
|
|
},
|
|
selectkey: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
dw: {
|
|
type: String,
|
|
default: ''
|
|
},
|
|
},
|
|
watch: {
|
|
value: {
|
|
immediate: true,
|
|
handler(v) {
|
|
this.tpz = v || ''
|
|
}
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
type: '',
|
|
srz: '',
|
|
tpName: '',
|
|
tpz: '',
|
|
tpdw: '',
|
|
yq: {}
|
|
};
|
|
},
|
|
mounted() {
|
|
},
|
|
methods: {
|
|
showSelectBalance() {
|
|
this.$refs.selectInstrumentDialog.show()
|
|
},
|
|
selectInstrumentChange(val, row) {
|
|
this.tpName = row.mc
|
|
this.yq = row
|
|
},
|
|
async getBalanceValue() {
|
|
if (!this.yq || !this.yq.bh) {
|
|
this.$message.error('请选择仪器')
|
|
return
|
|
}
|
|
this.tpz = ''
|
|
let x = await getBalance({ yq: this.yq, dw: null })
|
|
if (x && x.success) {
|
|
this.tpz = x.value
|
|
this.tpdw = x.unit
|
|
} else {
|
|
this.$message.error(x.message || '获取值失败')
|
|
}
|
|
this.tpzChange()
|
|
},
|
|
tpzChange() {
|
|
this.$emit('change', { tpz: this.tpz, dw: this.tpdw,selectkey:this.selectkey})
|
|
this.$emit('input', this.tpz)
|
|
},
|
|
inputChange() {
|
|
this.$emit('change', { tpz: this.srz, dw: this.dw,selectkey:this.selectkey })
|
|
this.$emit('input', this.srz)
|
|
},
|
|
typeChange(){
|
|
this.$emit('change', null)
|
|
this.$emit('input', null)
|
|
this.srz=null
|
|
this.tpz=null
|
|
this.tpdw=null
|
|
}
|
|
}
|
|
};
|
|
</script>
|