| @ -0,0 +1,120 @@ | |||||
| <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> | |||||