1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <template>
- <div class="bs-theme-wrap">
- <el-input
- v-model="datasetNameStr"
- placeholder="请选择数据集"
- readonly
- @focus="openDataSetDialog"
- >
- <el-button
- slot="append"
- icon="el-icon-search"
- @click="openDataSetDialog"
- />
- </el-input>
- <DataSetDialog
- ref="dataSetDialog"
- v-bind="$attrs"
- :multiple="multiple"
- :ds-value="dsValue"
- @getDsId="getDsId"
- @getSelectDs="getSelectDs"
- >
- <template #dataSetSelect>
- <slot name="dataSetSelect" />
- </template>
- </DataSetDialog>
- </div>
- </template>
- <script>
- import DataSetDialog from './dataSetSetting.vue'
- export default {
- name: 'Index',
- components: { DataSetDialog },
- props: {
- config: {
- type: Object,
- default: () => {
- }
- },
- datasetName: {
- type: String,
- default: ''
- },
- multiple: {
- type: Boolean,
- default: false
- },
- dsValue: {
- type: [Array, Object],
- default: () => ([])
- }
- },
- data () {
- return {
- }
- },
- computed: {
- datasetNameStr () {
- return this.datasetName || this.dsValue?.map(ds => ds.name).join(',')
- }
- },
- methods: {
- openDataSetDialog () {
- this.$refs.dataSetDialog.dataSetVisible = true
- },
- getDsId (dsId) {
- this.$emit('getDsId', dsId)
- },
- getSelectDs (selectDs) {
- this.$emit('getSelectDs', selectDs)
- if (selectDs.datasetType === 'metrics') {
- this.$emit('getMetricsList', JSON.parse(selectDs.data))
- // 选择数据集时修改当前数据集的状态(指标域或者其他数据集)
- this.$emit('changeIsMetrics', true, selectDs.datasetType)
- } else {
- this.$emit('changeIsMetrics', false, selectDs.datasetType)
- }
- }
- }
- }
- </script>
- <style scoped>
- </style>
|