Commit 47c885b2 by 刘泽志

功能完善

parent daf149b9
import request from "@/utils/request";
import request from '@/utils/request'
const prefix = '/data/dict'
......@@ -53,3 +53,16 @@ export function deleteDict(dictId) {
params:{dictId}
})
}
/**
* 查询机构
* @param param
* @returns {*}
*/
export function searchArea(param) {
return request({
url: `${prefix}/area`,
method: 'get',
params:param
})
}
<template>
<div class="container">
<el-form inline label-width="80px">
<el-form-item label="字段名">
<el-input v-model="queryParam.fieldName" class="mr input" clearable placeholder="输入名称搜索"
<el-form-item label="区域编码">
<el-input v-model="queryParam.value" class="mr input" clearable placeholder="输入编码搜索"
size="small"
/>
</el-form-item>
<el-form-item label="字段类型">
<el-input v-model="queryParam.fieldType" class="mr input" clearable placeholder="输入名称搜索"
size="small"
/>
</el-form-item>
<el-form-item label="字段注释">
<el-input v-model="queryParam.fieldComment" class="mr input" clearable placeholder="输入名称搜索"
<el-input v-model="queryParam.label" class="mr input" clearable placeholder="输入名称搜索"
size="small"
/>
</el-form-item>
......@@ -22,63 +17,55 @@
>
查询
</el-button>
<el-button class="mr" size="mini" type="success" @click="addMetaFieldDialog">
<el-button class="mr" size="mini" type="success" @click="addAreaDialog">
新增
</el-button>
<el-button class="mr" size="mini" type="success" @click="errFieldCheck">
异常字段检测
</el-button>
</el-form-item>
</el-form>
<el-table v-loading="queryLoading" :data="metaFieldList" border max-height="500" stripe>
<el-table-column :show-overflow-tooltip="true" align="center" label="字段名" prop="fieldName" width="400"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="字段类型" prop="fieldType"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="字段注释" prop="fieldComment"/>
<el-table v-loading="queryLoading" :data="areaList" border max-height="500" stripe>
<el-table-column type="index" />
<el-table-column :show-overflow-tooltip="true" align="center" label="编码" prop="value" width="200"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="区域名称" prop="label" width="300"/>
<el-table-column :show-overflow-tooltip="true" align="center" label="备注" prop="remarks"/>
<el-table-column align="center" label="操作" show-overflow-tooltip width="150">
<template slot-scope="scope">
<el-button circle icon="el-icon-edit" plain size="small" type="primary"
@click.stop="editMetaFieldDialog(scope.row)"
@click.stop="editAreaDialog(scope.row)"
></el-button>
<el-button circle icon="el-icon-delete" plain size="small" type="danger"
@click.stop="deleteMetaRule(scope.row)"
@click.stop="deleteArea(scope.row)"
></el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="queryParam.total > 0" :limit.sync="queryParam.pageSize" :page.sync="queryParam.pageNum"
:total="queryParam.total" @pagination="queryMetaFieldList"
:total="queryParam.total" @pagination="queryAreaList"
/>
<!--字段增改-->
<el-dialog :close-on-click-modal="false" :title="metaFieldDialog.title" :visible.sync="metaFieldDialog.show"
<el-dialog :close-on-click-modal="false" :title="areaDialog.title" :visible.sync="areaDialog.show"
append-to-body width="400px"
>
<el-form ref="metaFieldForm" :model="metaFieldDialog.data" label-width="80px">
<el-form-item label="字段名" prop="fieldName" required>
<el-input v-model="metaFieldDialog.data.fieldName" maxlength="30" show-word-limit size="small" type="text"/>
<el-form ref="areaForm" :model="areaDialog.data" label-width="80px">
<el-form-item label="区域编码" prop="value" required>
<el-input v-model="areaDialog.data.value" :disabled="areaDialog.title === '编辑区域'" maxlength="30" show-word-limit size="small" type="text"/>
</el-form-item>
<el-form-item label="字段类型" prop="fieldType" required>
<el-input v-model="metaFieldDialog.data.fieldType" placeholder="例如 VARCHAR2(64) ,NUMBER(8,1), DATE(7)等等" size="small"/>
<!-- <el-select v-model="metaFieldDialog.data.fieldType" size="small" style="width: 160px">
</el-select>-->
</el-form-item>
<el-form-item label="指标名称" prop="fieldComment" required>
<el-input v-model="metaFieldDialog.data.fieldComment" size="small"/>
<el-form-item label="区域名称" prop="label" required>
<el-input v-model="areaDialog.data.label" size="small"/>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="metaFieldDialog.data.remarks" placeholder="备注" type="textarea"/>
<el-input v-model="areaDialog.data.remarks" placeholder="备注" type="textarea"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitMetaField">确 定</el-button>
<el-button @click="metaFieldDialog.show = false">取 消</el-button>
<el-button type="primary" @click="submitArea">确 定</el-button>
<el-button @click="areaDialog.show = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import * as DataField from '@/api/emport/DataField'
import * as DictData from '@/api/emport/DictData'
export default {
name: 'Field',
......@@ -88,13 +75,12 @@ export default {
pageNum: 1,
pageSize: 20,
total: 0,
fieldName: '',
fieldType: '',
fieldComment: ''
value: '',
label: '',
},
queryLoading: false,
metaFieldList: [],
metaFieldDialog: {
areaList: [],
areaDialog: {
title: '',
show: false,
data: {}
......@@ -102,15 +88,15 @@ export default {
}
},
created() {
this.queryMetaFieldList()
this.queryAreaList()
},
methods: {
// 查询元字段信息
queryMetaFieldList() {
queryAreaList() {
this.queryLoading = true
DataField.queryMetaField({ ...this.queryParam }).then(res => {
DictData.searchArea({ ...this.queryParam }).then(res => {
if (res.code === 200) {
this.metaFieldList = res.rows
this.areaList = res.rows
this.queryParam.total = res.total
}
}).finally(_ => this.queryLoading = false)
......@@ -119,48 +105,35 @@ export default {
clearPageToSearch() {
this.queryParam.total = 0
this.queryParam.pageNum = 1
this.queryMetaFieldList()
},
// 异常字段检测
errFieldCheck(){
this.queryParam.total = 0
this.queryParam.pageNum = 1
this.queryLoading = true
DataField.queryMetaField({
total: 0,
pageNum: 1,
errorType: 'length'
}).then(res => {
if (res.code === 200) {
this.metaFieldList = res.rows
this.queryParam.total = res.total
}
}).finally(_ => this.queryLoading = false)
this.queryAreaList()
},
// 打开添加弹框
addMetaFieldDialog() {
this.metaFieldDialog.title = '新增字段'
this.metaFieldDialog.data = {}
this.metaFieldDialog.show = true
addAreaDialog() {
this.areaDialog.title = '新增区域'
this.areaDialog.data = {
type: 'area'
}
this.areaDialog.show = true
},
// 打开编辑弹框
editMetaFieldDialog(data) {
this.metaFieldDialog.title = '编辑字段'
this.metaFieldDialog.data = { ...data }
this.metaFieldDialog.show = true
editAreaDialog(data) {
this.areaDialog.title = '编辑区域'
this.areaDialog.data = { ...data }
this.areaDialog.show = true
},
// 删除字段
deleteMetaRule(data) {
this.$confirm(`是否删除字段 ${data.fieldName} ?`, '删除',
deleteArea(data) {
this.$confirm(`是否删除区域 ${data.label} ?`, '删除',
{
type: 'warning',
confirmButtonText: '确定',
cancelButtonText: '取消',
beforeClose: (action, instance, done) => {
if (action === 'confirm') {
DataField.deleteMetaField(data.id).then(res => {
DictData.deleteDict(data.id).then(res => {
this.$message.success("删除成功")
done()
this.queryMetaFieldList()
this.queryAreaList()
})
} else {
done()
......@@ -170,18 +143,20 @@ export default {
)
},
// 提交字段信息
submitMetaField() {
this.$refs.metaFieldForm.validate(validate => {
submitArea() {
this.$refs.areaForm.validate(validate => {
if (validate) {
if (this.metaFieldDialog.title === '新增字段') {
DataField.addMetaField(this.metaFieldDialog.data).then(res => {
this.metaFieldDialog.show = false
this.queryMetaFieldList()
if (this.areaDialog.title === '新增区域') {
DictData.addDict(this.areaDialog.data).then(res => {
this.$message.success("新增成功")
this.areaDialog.show = false
this.queryAreaList()
})
} else {
DataField.updateMetaField(this.metaFieldDialog.data).then(res => {
this.metaFieldDialog.show = false
this.queryMetaFieldList()
DictData.updateDict(this.areaDialog.data).then(res => {
this.$message.success("修改成功")
this.areaDialog.show = false
this.queryAreaList()
})
}
}
......
......@@ -961,7 +961,13 @@ export default {
// 触发导入
triggerImport() {
if (this.queryForm.file) {
let template = this.templateList.find(item => item.orgName === this.queryForm.orgName)
if (template){
this.$refs.upload.submit()
}else {
this.$message.warning('没有此类型的模板,请选择其它的数据类型')
}
} else {
this.$message.warning('请选择一个文件')
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment