2021-04-29 15:43:15 +08:00
|
|
|
<template>
|
|
|
|
<el-row>
|
|
|
|
<el-row style="height: 26px;">
|
|
|
|
<span style="line-height: 26px;">
|
|
|
|
{{ $t('dataset.field_edit') }}
|
|
|
|
<span>{{ param.table.name }}</span>
|
|
|
|
</span>
|
|
|
|
<el-row style="float: right">
|
|
|
|
<el-button size="mini" @click="closeEdit">{{ $t('dataset.cancel') }}</el-button>
|
|
|
|
<el-button type="primary" size="mini" @click="saveEdit">{{ $t('dataset.confirm') }}</el-button>
|
|
|
|
</el-row>
|
|
|
|
</el-row>
|
|
|
|
<el-divider />
|
|
|
|
<el-table :data="tableFields" size="mini" :max-height="maxHeight">
|
2021-06-04 15:34:11 +08:00
|
|
|
<el-table-column property="deType" :label="$t('dataset.field_type')" width="140">
|
2021-04-29 15:43:15 +08:00
|
|
|
<template slot-scope="scope">
|
2021-05-11 17:35:48 +08:00
|
|
|
<el-select v-model="scope.row.deType" size="mini" style="display: inline-block;width: 26px;">
|
|
|
|
<el-option
|
|
|
|
v-for="item in fields"
|
|
|
|
:key="item.value"
|
|
|
|
:label="item.label"
|
|
|
|
:value="item.value"
|
|
|
|
>
|
|
|
|
<span style="float: left">
|
|
|
|
<svg-icon v-if="item.value === 0" icon-class="field_text" class="field-icon-text" />
|
|
|
|
<svg-icon v-if="item.value === 1" icon-class="field_time" class="field-icon-time" />
|
|
|
|
<svg-icon v-if="item.value === 2 || item.value === 3" icon-class="field_value" class="field-icon-value" />
|
|
|
|
</span>
|
|
|
|
<span style="float: left; color: #8492a6; font-size: 12px">{{ item.label }}</span>
|
|
|
|
</el-option>
|
|
|
|
</el-select>
|
|
|
|
<span style="margin-left: 8px;">
|
|
|
|
<span v-if="scope.row.deType === 0">
|
|
|
|
<svg-icon v-if="scope.row.deType === 0" icon-class="field_text" class="field-icon-text" />
|
|
|
|
<span class="field-class">{{ $t('dataset.text') }}</span>
|
|
|
|
</span>
|
|
|
|
<span v-if="scope.row.deType === 1">
|
|
|
|
<svg-icon v-if="scope.row.deType === 1" icon-class="field_time" class="field-icon-time" />
|
|
|
|
<span class="field-class">{{ $t('dataset.time') }}</span>
|
|
|
|
</span>
|
|
|
|
<span v-if="scope.row.deType === 2 || scope.row.deType === 3">
|
|
|
|
<svg-icon v-if="scope.row.deType === 2 || scope.row.deType === 3" icon-class="field_value" class="field-icon-value" />
|
|
|
|
<span v-if="scope.row.deType === 2" class="field-class">{{ $t('dataset.value') }}</span>
|
|
|
|
<span v-if="scope.row.deType === 3" class="field-class">{{ $t('dataset.value') + '(' + $t('dataset.float') + ')' }}</span>
|
|
|
|
</span>
|
2021-04-29 15:43:15 +08:00
|
|
|
</span>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2021-06-04 15:34:11 +08:00
|
|
|
<el-table-column property="deExtractType" :label="$t('dataset.origin_field_type')" width="140">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<span>
|
|
|
|
<span v-if="scope.row.deExtractType === 0">
|
|
|
|
<svg-icon v-if="scope.row.deExtractType === 0" icon-class="field_text" class="field-icon-text" />
|
|
|
|
<span class="field-class">{{ $t('dataset.text') }}</span>
|
|
|
|
</span>
|
|
|
|
<span v-if="scope.row.deExtractType === 1">
|
|
|
|
<svg-icon v-if="scope.row.deExtractType === 1" icon-class="field_time" class="field-icon-time" />
|
|
|
|
<span class="field-class">{{ $t('dataset.time') }}</span>
|
|
|
|
</span>
|
2021-06-20 11:38:12 +08:00
|
|
|
<span v-if="scope.row.deExtractType === 2 || scope.row.deExtractType === 3 || scope.row.deExtractType === 4">
|
|
|
|
<svg-icon v-if="scope.row.deExtractType === 2 || scope.row.deExtractType === 3 || scope.row.deExtractType === 4" icon-class="field_value" class="field-icon-value" />
|
|
|
|
<span v-if="scope.row.deExtractType === 2 || scope.row.deExtractType === 4" class="field-class">{{ $t('dataset.value') }}</span>
|
2021-06-04 15:34:11 +08:00
|
|
|
<span v-if="scope.row.deExtractType === 3" class="field-class">{{ $t('dataset.value') + '(' + $t('dataset.float') + ')' }}</span>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
2021-04-29 15:43:15 +08:00
|
|
|
<el-table-column property="name" :label="$t('dataset.field_name')" width="180">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-input v-model="scope.row.name" size="mini" />
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column property="originName" :label="$t('dataset.field_origin_name')" width="180" />
|
|
|
|
<el-table-column property="checked" :label="$t('dataset.field_check')" width="80">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-checkbox v-model="scope.row.checked" />
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
<!--下面这一列占位-->
|
|
|
|
<el-table-column property="" />
|
|
|
|
</el-table>
|
|
|
|
</el-row>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import { fieldList, batchEdit } from '@/api/dataset/dataset'
|
|
|
|
export default {
|
|
|
|
name: 'FieldEdit',
|
|
|
|
props: {
|
|
|
|
param: {
|
|
|
|
type: Object,
|
|
|
|
required: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
maxHeight: 'auto',
|
2021-05-11 17:35:48 +08:00
|
|
|
tableFields: [],
|
|
|
|
fields: [
|
|
|
|
{ label: this.$t('dataset.text'), value: 0 },
|
|
|
|
{ label: this.$t('dataset.time'), value: 1 },
|
|
|
|
{ label: this.$t('dataset.value'), value: 2 },
|
|
|
|
{ label: this.$t('dataset.value') + '(' + this.$t('dataset.float') + ')', value: 3 }
|
|
|
|
]
|
2021-04-29 15:43:15 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
window.onresize = () => {
|
|
|
|
this.calcHeight()
|
|
|
|
}
|
|
|
|
this.calcHeight()
|
|
|
|
this.initField()
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
calcHeight() {
|
|
|
|
const that = this
|
|
|
|
setTimeout(function() {
|
|
|
|
const currentHeight = document.documentElement.clientHeight
|
|
|
|
that.maxHeight = (currentHeight - 56 - 30 - 35 - 26 - 10) + 'px'
|
|
|
|
}, 10)
|
|
|
|
},
|
|
|
|
initField() {
|
|
|
|
fieldList(this.param.table.id).then(response => {
|
|
|
|
this.tableFields = response.data
|
|
|
|
})
|
|
|
|
},
|
|
|
|
saveEdit() {
|
|
|
|
// console.log(this.tableFields)
|
|
|
|
batchEdit(this.tableFields).then(response => {
|
|
|
|
this.closeEdit()
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
closeEdit() {
|
|
|
|
this.$emit('switchComponent', { name: 'ViewTable', param: this.param.table.id })
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.el-divider--horizontal {
|
|
|
|
margin: 12px 0;
|
|
|
|
}
|
|
|
|
span{
|
|
|
|
font-size: 14px;
|
|
|
|
}
|
|
|
|
.field-class{
|
|
|
|
font-size: 12px !important;
|
|
|
|
}
|
2021-05-11 17:35:48 +08:00
|
|
|
.el-select>>>input{
|
|
|
|
padding-right: 10px;
|
|
|
|
}
|
|
|
|
.el-select>>>.el-input__suffix{
|
|
|
|
right: 0;
|
|
|
|
}
|
2021-04-29 15:43:15 +08:00
|
|
|
</style>
|