added ESlint 语法检测

This commit is contained in:
何秀钢
2021-06-02 14:11:45 +08:00
parent 3932a8fbf3
commit 2f0465a1a1
94 changed files with 5031 additions and 4790 deletions
@@ -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>