系统功能板块setup改造完成

This commit is contained in:
piexlmax
2021-12-30 20:48:57 +08:00
parent 512e91e2bc
commit 8c2b6b2bc0
7 changed files with 564 additions and 535 deletions

View File

@@ -30,7 +30,6 @@
style="width:100%"
placeholder="请选择field数据类型"
clearable
@change="getDbfdOptions"
>
<el-option
v-for="item in typeOptions"
@@ -79,103 +78,109 @@
</div>
</template>
<script>
<script setup>
import { toLowerCase, toSQLLine } from '@/utils/stringFun'
import { getSysDictionaryList } from '@/api/sysDictionary'
import warningBar from '@/components/warningBar/warningBar.vue'
import { ref, defineProps, defineExpose } from 'vue-demi'
const props = defineProps({
dialogMiddle: {
type: Object,
default: function() {
return {}
}
}
})
const middleDate = ref({})
const dictOptions = ref([])
const typeSearchOptions = ref([
{
label: '=',
value: '='
},
{
label: '<>',
value: '<>'
},
{
label: '>',
value: '>'
},
{
label: '<',
value: '<'
},
{
label: 'LIKE',
value: 'LIKE'
}
])
const typeOptions = ref([
{
label: '字符串',
value: 'string'
},
{
label: '整型',
value: 'int'
},
{
label: '布尔值',
value: 'bool'
},
{
label: '浮点型',
value: 'float64'
},
{
label: '时间',
value: 'time.Time'
}
])
const rules = ref({
fieldName: [
{ required: true, message: '请输入field英文名', trigger: 'blur' }
],
fieldDesc: [
{ required: true, message: '请输入field中文名', trigger: 'blur' }
],
fieldJson: [
{ required: true, message: '请输入field格式化json', trigger: 'blur' }
],
columnName: [
{ required: true, message: '请输入数据库字段', trigger: 'blur' }
],
fieldType: [
{ required: true, message: '请选择field数据类型', trigger: 'blur' }
]
})
const init = async() => {
middleDate.value = props.dialogMiddle
const dictRes = await getSysDictionaryList({
page: 1,
pageSize: 999999
})
dictOptions.value = dictRes.data.list
}
init()
const autoFill = () => {
middleDate.value.fieldJson = toLowerCase(middleDate.value.fieldName)
middleDate.value.columnName = toSQLLine(middleDate.value.fieldJson)
}
const fieldDialogFrom = ref(null)
defineExpose({ fieldDialogFrom })
</script>
<script>
export default {
name: 'FieldDialog',
components: { warningBar },
props: {
dialogMiddle: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
middleDate: {},
dictOptions: [],
typeSearchOptions: [
{
label: '=',
value: '='
},
{
label: '<>',
value: '<>'
},
{
label: '>',
value: '>'
},
{
label: '<',
value: '<'
},
{
label: 'LIKE',
value: 'LIKE'
}
],
typeOptions: [
{
label: '字符串',
value: 'string'
},
{
label: '整型',
value: 'int'
},
{
label: '布尔值',
value: 'bool'
},
{
label: '浮点型',
value: 'float64'
},
{
label: '时间',
value: 'time.Time'
}
],
rules: {
fieldName: [
{ required: true, message: '请输入field英文名', trigger: 'blur' }
],
fieldDesc: [
{ required: true, message: '请输入field中文名', trigger: 'blur' }
],
fieldJson: [
{ required: true, message: '请输入field格式化json', trigger: 'blur' }
],
columnName: [
{ required: true, message: '请输入数据库字段', trigger: 'blur' }
],
fieldType: [
{ required: true, message: '请选择field数据类型', trigger: 'blur' }
]
}
}
},
async created() {
this.middleDate = this.dialogMiddle
const dictRes = await getSysDictionaryList({
page: 1,
pageSize: 999999
})
this.dictOptions = dictRes.data.list
},
methods: {
autoFill() {
this.middleDate.fieldJson = toLowerCase(this.middleDate.fieldName)
this.middleDate.columnName = toSQLLine(this.middleDate.fieldJson)
},
}
name: 'FieldDialog'
}
</script>