<template>
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :title="$t(title)" @close="onCancel" :visible.sync="visible" append-to-body width="80%">
|
|
<SelectTable ref="selectSjRef" :columns="columns"
|
|
:selectedId="selectedId"
|
|
:searchForm="searchForm"
|
|
:listApi="listApi"
|
|
:selectedCode="selectedCode"
|
|
@radioSelect="handleSelect"/>
|
|
<template slot="footer" class="dialog-footer">
|
|
<el-button @click="onCancel">{{$t('form.cancel')}}</el-button>
|
|
<el-button :disabled="isDisabled" type="primary" @click="onSubmit">{{$t('form.saveConfirm')}}</el-button>
|
|
</template>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script>
|
|
import SelectTable from '@/components/Template/SelectTable.vue';
|
|
import SelectDept from "@/views/business/comps/select/SelectDept";
|
|
import { public_yqList } from '@/api/business/public/public';
|
|
export default {
|
|
name: "SelectInstrumentDialog",
|
|
components: {
|
|
SelectTable,
|
|
SelectDept
|
|
},
|
|
props: {
|
|
type: {
|
|
type: String,
|
|
default: "",
|
|
},
|
|
title: {
|
|
type: String,
|
|
default: "选择仪器",
|
|
},
|
|
selectedCode: {
|
|
type: String,
|
|
default: "bh",
|
|
},
|
|
searchForm: {
|
|
type: Object,
|
|
default: () => {
|
|
return {
|
|
mc: {
|
|
label:'仪器名称',
|
|
},
|
|
bh: {
|
|
label:'仪器编号',
|
|
},
|
|
ly: {
|
|
label:'来源',
|
|
},
|
|
}
|
|
},
|
|
},
|
|
columns: {
|
|
type: Array,
|
|
default: () => [
|
|
{
|
|
prop: 'mc',
|
|
label: '仪器名称',
|
|
},
|
|
{
|
|
prop: 'bh',
|
|
label: '仪器编号',
|
|
},
|
|
{
|
|
prop: 'ly',
|
|
label: '来源(厂家)',
|
|
},
|
|
{
|
|
prop: 'jzrq',
|
|
label: '下次校准时间',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
visible:false,
|
|
listApi:public_yqList,
|
|
selectedId: "",
|
|
currentRow: {},
|
|
}
|
|
},
|
|
computed: {
|
|
isDisabled() {
|
|
return !this.selectedId;
|
|
}
|
|
},
|
|
methods: {
|
|
show(){
|
|
this.visible=true
|
|
setTimeout(() => {
|
|
this.$refs.selectSjRef.show()
|
|
}, 500);
|
|
},
|
|
onCancel() {
|
|
this.visible = false
|
|
this.$emit('cancel');
|
|
},
|
|
onSubmit() {
|
|
let row = this.currentRow;
|
|
this.$emit('change', this.selectedId,row);
|
|
this.visible = false;
|
|
},
|
|
handleSelect(code,row) {
|
|
this.selectedId = code;
|
|
this.currentRow = row;
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.header-row{
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 20px 0;
|
|
}
|
|
</style>
|