| @ -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> | |||