feat()字典映射
parent
744c5c6da2
commit
22708ed023
|
@ -66,3 +66,17 @@ export function selectDictData(data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
// 删除
|
||||
export function deleteDictType(dictType) {
|
||||
return request({
|
||||
url: '/system/dicts/deleteDictType?dictType=' + dictType,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
//详情
|
||||
export function selectDictType(dictType) {
|
||||
return request({
|
||||
url: '/system/dicts/selectDictType?dictType=' + dictType,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
|
|
@ -36,10 +36,15 @@
|
|||
placement="left"
|
||||
width="200"
|
||||
trigger="hover">
|
||||
<el-table :data="dictMap[scope.row.dictionary]">
|
||||
<el-table-column prop="label" label="标签"></el-table-column>
|
||||
<el-table-column prop="val" label="值"></el-table-column>
|
||||
</el-table>
|
||||
<span v-for="item in dictOut" :key="item.dictType">
|
||||
<span v-show="item.dictType == scope.row.dictionary">
|
||||
<el-table :data="item.dictDataList">
|
||||
<el-table-column prop="dictLabel" label="标签"></el-table-column>
|
||||
<el-table-column prop="dictValue" label="值"></el-table-column>
|
||||
</el-table>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<el-tag slot="reference">{{scope.row.dictionary}}</el-tag>
|
||||
</el-popover>
|
||||
</template>
|
||||
|
@ -125,18 +130,22 @@
|
|||
<el-col :span="24">
|
||||
<el-form-item label="字典">
|
||||
<el-select v-model="form.dictionary">
|
||||
<el-option v-for="(value, key) in dictMap" :key="key" :label="key" :value="key"></el-option>
|
||||
<el-option v-for="(val, key) in dictOut" :key="val.dictType" :label="val.dictType" :value="val.dictType"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item>
|
||||
<el-table :data="dictMap[form.dictionary]" striped border>
|
||||
<el-table-column property="label" label="标签"></el-table-column>
|
||||
<el-table-column property="val" label="值"></el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-row v-if="form.dictionary!=null">
|
||||
<el-col :span="24">
|
||||
<el-form-item>
|
||||
<div v-on="selData2(form.dictionary)">
|
||||
<el-table :data="dictMap2.dictDataList">
|
||||
<el-table-column prop="dictLabel" label="标签"></el-table-column>
|
||||
<el-table-column prop="dictValue" label="值"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
@ -153,12 +162,12 @@ import {
|
|||
selNameListStructure,
|
||||
updateListStructure
|
||||
} from '@/api/system/accredit'
|
||||
import data from "@/views/system/dict/data.vue"
|
||||
import { listDictType, selectDictType } from "@/api/system/dicts";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
title: {
|
||||
type: Object
|
||||
type: String
|
||||
},
|
||||
},
|
||||
name: 'OverallAssetStructure',
|
||||
|
@ -180,20 +189,30 @@ export default {
|
|||
dictionary: ''
|
||||
},
|
||||
formStatus: false,
|
||||
tableName: '',
|
||||
dictMap:{
|
||||
"性别(system_sex)": [
|
||||
{ label: '男', val: '1', isEdit: false },
|
||||
{ label: '女', val: '2', isEdit: false },
|
||||
{ label: '未知', val: '0', isEdit: false },
|
||||
],
|
||||
"开关(system_y_n)": [
|
||||
{ label: '是', val: '1', isEdit: false },
|
||||
{ label: '否', val: '0', isEdit: false }
|
||||
],
|
||||
}
|
||||
dictType: '',
|
||||
dictDataList: []
|
||||
},
|
||||
dictMap2:{
|
||||
dictType: '',
|
||||
dictDataList: []
|
||||
},
|
||||
dictOut: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
selData(thanName){
|
||||
selectDictType(thanName).then(res => {
|
||||
this.dictMap = res.data
|
||||
|
||||
})
|
||||
},
|
||||
selData2(thanName){
|
||||
selectDictType(thanName).then(res => {
|
||||
this.dictMap2 = res.data
|
||||
})
|
||||
},
|
||||
update(row) {
|
||||
console.log(row)
|
||||
this.form = row;
|
||||
|
@ -208,7 +227,7 @@ export default {
|
|||
},
|
||||
init() {
|
||||
console.log(this.title)
|
||||
if (this.title === null){
|
||||
if (this.title === undefined){
|
||||
listListstructure().then(res => {
|
||||
this.childrenList = res.data
|
||||
})
|
||||
|
@ -217,7 +236,10 @@ export default {
|
|||
this.childrenList = res.data
|
||||
})
|
||||
}
|
||||
|
||||
listDictType().then(res => {
|
||||
this.dictOut = res.data
|
||||
console.log(this.dictOut)
|
||||
})
|
||||
}
|
||||
},
|
||||
// 生命周期 - 创建完成(可以访问当前this实例)",
|
||||
|
|
|
@ -63,8 +63,10 @@
|
|||
<span>{{val.dictType}}</span>
|
||||
<el-button style="float: right; padding: 3px 0"
|
||||
type="text"
|
||||
@click="val.dictDataList.push({ dictCode:val.dictDataList.dictCode , dictType:val.dictType, dictLabel: null, dictValue: null, isEdit: true })"
|
||||
@click="val.dictDataList.push({ dictCode:0 , dictType:val.dictType, dictLabel: null, dictValue: null, isEdit: true })"
|
||||
>新增</el-button>
|
||||
<el-button style="float: right; padding: 3px 0"
|
||||
@click="delType(val.dictType)">删除字典</el-button>
|
||||
</div>
|
||||
<el-table :data="val.dictDataList" style="width: 100%" height="280px">
|
||||
<el-table-column prop="label" label="标签">
|
||||
|
@ -126,7 +128,7 @@
|
|||
<script>
|
||||
import CountTo from 'vue-count-to'
|
||||
import OverallAssetStructure from './OverallAssetStructure.vue'
|
||||
import { listDictType, indexDictType, indexDictData, deleteDictData, selectDictData } from "@/api/system/dicts"
|
||||
import { listDictType, indexDictType, indexDictData, deleteDictData, selectDictData, deleteDictType } from "@/api/system/dicts"
|
||||
import val from "quill";
|
||||
|
||||
export default {
|
||||
|
@ -168,7 +170,7 @@ export default {
|
|||
selectDictData(row).then(res => {
|
||||
this.dictData = res.data
|
||||
})
|
||||
this.dictData = true
|
||||
row.isEdit = true
|
||||
},
|
||||
editConfirm(row) {
|
||||
console.log(row)
|
||||
|
@ -176,11 +178,18 @@ export default {
|
|||
this.$message.error('字典标签或字典值,不可为空');
|
||||
return;
|
||||
}
|
||||
// indexDictData(row).then(res => {
|
||||
// this.$message.success(res.data)
|
||||
// })
|
||||
indexDictData(row).then(res => {
|
||||
this.$message.success(res.data)
|
||||
})
|
||||
row.isEdit = false;
|
||||
},
|
||||
delType(row) {
|
||||
console.log(row)
|
||||
deleteDictType(row).then(res => {
|
||||
this.$message.success(res.data)
|
||||
})
|
||||
this.init()
|
||||
},
|
||||
delData(row) {
|
||||
deleteDictData(row).then(res => {
|
||||
this.$message.success(res.data)
|
||||
|
|
|
@ -30,7 +30,6 @@ import OverallAssets from "@/views/assets/table/dashboard/OverallAssets.vue";
|
|||
import { selectFrimary } from "@/api/system/accredit";
|
||||
|
||||
export default {
|
||||
name: 'table',
|
||||
components: { OverallAssetStructure, OverallSpecificAssets, OverallAssets },
|
||||
data() {
|
||||
return {
|
||||
|
|
Loading…
Reference in New Issue