added ESlint 语法检测
This commit is contained in:
@@ -2,15 +2,15 @@
|
||||
<div>
|
||||
<span style="color:red">搜索时如果条件为LIKE只支持字符串</span>
|
||||
<el-form
|
||||
:model="dialogMiddle"
|
||||
ref="fieldDialogFrom"
|
||||
:model="dialogMiddle"
|
||||
label-width="120px"
|
||||
label-position="left"
|
||||
:rules="rules"
|
||||
>
|
||||
<el-form-item label="Field名称" prop="fieldName">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="dialogMiddle.fieldName" autocomplete="off"></el-input>
|
||||
<el-input v-model="dialogMiddle.fieldName" autocomplete="off" />
|
||||
</el-col>
|
||||
<el-col :offset="1" :span="2">
|
||||
<el-button @click="autoFill">自动填充</el-button>
|
||||
@@ -18,22 +18,22 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="Field中文名" prop="fieldDesc">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="dialogMiddle.fieldDesc" autocomplete="off"></el-input>
|
||||
<el-input v-model="dialogMiddle.fieldDesc" autocomplete="off" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="FieldJSON" prop="fieldJson">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="dialogMiddle.fieldJson" autocomplete="off"></el-input>
|
||||
<el-input v-model="dialogMiddle.fieldJson" autocomplete="off" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据库字段名" prop="columnName">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="dialogMiddle.columnName" autocomplete="off"></el-input>
|
||||
<el-input v-model="dialogMiddle.columnName" autocomplete="off" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据库字段描述" prop="comment">
|
||||
<el-col :span="6">
|
||||
<el-input v-model="dialogMiddle.comment" autocomplete="off"></el-input>
|
||||
<el-input v-model="dialogMiddle.comment" autocomplete="off" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="Field数据类型" prop="fieldType">
|
||||
@@ -41,15 +41,15 @@
|
||||
<el-select
|
||||
v-model="dialogMiddle.fieldType"
|
||||
placeholder="请选择field数据类型"
|
||||
@change="getDbfdOptions"
|
||||
clearable
|
||||
@change="getDbfdOptions"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
@@ -57,8 +57,8 @@
|
||||
<el-form-item label="数据库字段类型" prop="dataType">
|
||||
<el-col :span="8">
|
||||
<el-select
|
||||
:disabled="!dialogMiddle.fieldType"
|
||||
v-model="dialogMiddle.dataType"
|
||||
:disabled="!dialogMiddle.fieldType"
|
||||
placeholder="请选择数据库字段类型"
|
||||
clearable
|
||||
>
|
||||
@@ -67,13 +67,13 @@
|
||||
:key="item.label"
|
||||
:label="item.label"
|
||||
:value="item.label"
|
||||
></el-option>
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="数据库字段长度" prop="dataTypeLong">
|
||||
<el-col :span="8">
|
||||
<el-input placeholder="自定义类型必须指定长度" :disabled="!dialogMiddle.dataType" v-model="dialogMiddle.dataTypeLong"></el-input>
|
||||
<el-input v-model="dialogMiddle.dataTypeLong" placeholder="自定义类型必须指定长度" :disabled="!dialogMiddle.dataType" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label="Field查询条件" prop="fieldSearchType">
|
||||
@@ -84,37 +84,39 @@
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="关联字典" prop="dictType">
|
||||
<el-col :span="8">
|
||||
<el-select :disabled="dialogMiddle.fieldType!='int'" v-model="dialogMiddle.dictType" placeholder="请选择字典" clearable>
|
||||
<el-select v-model="dialogMiddle.dictType" :disabled="dialogMiddle.fieldType!=='int'" placeholder="请选择字典" clearable>
|
||||
<el-option
|
||||
v-for="item in dictOptions"
|
||||
:key="item.type"
|
||||
:label="`${item.type}(${item.name})`"
|
||||
:value="item.type"
|
||||
></el-option>
|
||||
/>
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getDict } from "@/utils/dictionary";
|
||||
import { toSQLLine , toLowerCase } from "@/utils/stringFun.js";
|
||||
import { getSysDictionaryList } from "@/api/sysDictionary";
|
||||
import { getDict } from '@/utils/dictionary'
|
||||
import { toLowerCase, toSQLLine } from '@/utils/stringFun'
|
||||
import { getSysDictionaryList } from '@/api/sysDictionary'
|
||||
|
||||
export default {
|
||||
name: "FieldDialog",
|
||||
name: 'FieldDialog',
|
||||
props: {
|
||||
dialogMiddle: {
|
||||
type: Object,
|
||||
default: function() {
|
||||
return {};
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -124,92 +126,89 @@ export default {
|
||||
dictOptions: [],
|
||||
typeSearchOptions: [
|
||||
{
|
||||
label: "=",
|
||||
value: "="
|
||||
label: '=',
|
||||
value: '='
|
||||
},
|
||||
{
|
||||
label: "<>",
|
||||
value: "<>"
|
||||
label: '<>',
|
||||
value: '<>'
|
||||
},
|
||||
{
|
||||
label: ">",
|
||||
value: ">"
|
||||
label: '>',
|
||||
value: '>'
|
||||
},
|
||||
{
|
||||
label: "<",
|
||||
value: "<"
|
||||
label: '<',
|
||||
value: '<'
|
||||
},
|
||||
{
|
||||
label: "LIKE",
|
||||
value: "LIKE"
|
||||
label: 'LIKE',
|
||||
value: 'LIKE'
|
||||
}
|
||||
],
|
||||
typeOptions: [
|
||||
{
|
||||
label: "字符串",
|
||||
value: "string"
|
||||
label: '字符串',
|
||||
value: 'string'
|
||||
},
|
||||
{
|
||||
label: "整型",
|
||||
value: "int"
|
||||
label: '整型',
|
||||
value: 'int'
|
||||
},
|
||||
{
|
||||
label: "布尔值",
|
||||
value: "bool"
|
||||
label: '布尔值',
|
||||
value: 'bool'
|
||||
},
|
||||
{
|
||||
label: "浮点型",
|
||||
value: "float64"
|
||||
label: '浮点型',
|
||||
value: 'float64'
|
||||
},
|
||||
{
|
||||
label: "时间",
|
||||
value: "time.Time"
|
||||
label: '时间',
|
||||
value: 'time.Time'
|
||||
}
|
||||
],
|
||||
rules: {
|
||||
fieldName: [
|
||||
{ required: true, message: "请输入field英文名", trigger: "blur" }
|
||||
{ required: true, message: '请输入field英文名', trigger: 'blur' }
|
||||
],
|
||||
fieldDesc: [
|
||||
{ required: true, message: "请输入field中文名", trigger: "blur" }
|
||||
{ required: true, message: '请输入field中文名', trigger: 'blur' }
|
||||
],
|
||||
fieldJson: [
|
||||
{ required: true, message: "请输入field格式化json", trigger: "blur" }
|
||||
{ required: true, message: '请输入field格式化json', trigger: 'blur' }
|
||||
],
|
||||
columnName: [
|
||||
{ required: true, message: "请输入数据库字段", trigger: "blur" }
|
||||
{ required: true, message: '请输入数据库字段', trigger: 'blur' }
|
||||
],
|
||||
fieldType: [
|
||||
{ required: true, message: "请选择field数据类型", trigger: "blur" }
|
||||
{ required: true, message: '请选择field数据类型', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
autoFill(){
|
||||
this.dialogMiddle.fieldJson = toLowerCase(this.dialogMiddle.fieldName)
|
||||
this.dialogMiddle.columnName = toSQLLine(this.dialogMiddle.fieldJson)
|
||||
},
|
||||
async getDbfdOptions() {
|
||||
this.dialogMiddle.dataType = ""
|
||||
this.dialogMiddle.dataTypeLong = ""
|
||||
this.dialogMiddle.fieldSearchType = ""
|
||||
this.dialogMiddle.dictType = ""
|
||||
if (this.dialogMiddle.fieldType) {
|
||||
const res = await getDict(this.dialogMiddle.fieldType);
|
||||
this.dbfdOptions = res;
|
||||
}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
const dictRes = await getSysDictionaryList({
|
||||
page: 1,
|
||||
pageSize: 999999
|
||||
});
|
||||
})
|
||||
|
||||
this.dictOptions = dictRes.data.list
|
||||
},
|
||||
};
|
||||
methods: {
|
||||
autoFill() {
|
||||
this.dialogMiddle.fieldJson = toLowerCase(this.dialogMiddle.fieldName)
|
||||
this.dialogMiddle.columnName = toSQLLine(this.dialogMiddle.fieldJson)
|
||||
},
|
||||
async getDbfdOptions() {
|
||||
this.dialogMiddle.dataType = ''
|
||||
this.dialogMiddle.dataTypeLong = ''
|
||||
this.dialogMiddle.fieldSearchType = ''
|
||||
this.dialogMiddle.dictType = ''
|
||||
if (this.dialogMiddle.fieldType) {
|
||||
this.dbfdOptions = await getDict(this.dialogMiddle.fieldType)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss">
|
||||
</style>
|
||||
|
||||
@@ -1,58 +1,54 @@
|
||||
<template>
|
||||
<div class="previewCode">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane :label="key" :name="key" v-for="(item,key) in previewCode" :key="key">
|
||||
<div style="background:#fff;padding:0 20px" :id="key"></div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div class="previewCode">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane v-for="(item,key) in previewCode" :key="key" :label="key" :name="key">
|
||||
<div :id="key" style="background:#fff;padding:0 20px" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import marked from "marked"
|
||||
import hljs from "highlight.js";
|
||||
import marked from 'marked'
|
||||
import hljs from 'highlight.js'
|
||||
// import 'highlight.js/styles/atelier-cave-light.css';
|
||||
import 'highlight.js/styles/atelier-plateau-light.css';
|
||||
import 'highlight.js/styles/atelier-plateau-light.css'
|
||||
export default {
|
||||
props:{
|
||||
previewCode:{
|
||||
type:Object,
|
||||
default(){
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
activeName: "",
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
marked.setOptions({
|
||||
renderer: new marked.Renderer(),
|
||||
highlight: function(code) {
|
||||
return hljs.highlightAuto(code).value;
|
||||
},
|
||||
pedantic: false,
|
||||
gfm: true,
|
||||
tables: true,
|
||||
breaks: false,
|
||||
sanitize: false,
|
||||
smartLists: true,
|
||||
smartypants: false,
|
||||
xhtml: false
|
||||
}
|
||||
);
|
||||
for(const key in this.previewCode){
|
||||
if(this.activeName == ""){
|
||||
this.activeName = key
|
||||
}
|
||||
document.getElementById(key).innerHTML = marked(this.previewCode[key])
|
||||
}
|
||||
props: {
|
||||
previewCode: {
|
||||
type: Object,
|
||||
default() {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
marked.setOptions({
|
||||
renderer: new marked.Renderer(),
|
||||
highlight: function(code) {
|
||||
return hljs.highlightAuto(code).value
|
||||
},
|
||||
pedantic: false,
|
||||
gfm: true,
|
||||
tables: true,
|
||||
breaks: false,
|
||||
sanitize: false,
|
||||
smartLists: true,
|
||||
smartypants: false,
|
||||
xhtml: false
|
||||
}
|
||||
)
|
||||
for (const key in this.previewCode) {
|
||||
if (this.activeName === '') {
|
||||
this.activeName = key
|
||||
}
|
||||
document.getElementById(key).innerHTML = marked(this.previewCode[key])
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user