Browse Source

元数据管理

master
xuhuajiao 2 years ago
parent
commit
1d62bf9319
  1. 12
      src/assets/styles/yxk-admin.scss
  2. 120
      src/views/system/metadata/form.vue
  3. 12
      src/views/system/metadata/index.vue

12
src/assets/styles/yxk-admin.scss

@ -136,10 +136,10 @@
margin-left: 0 !important; margin-left: 0 !important;
margin-right: 0 !important; margin-right: 0 !important;
} }
.container-left{
// margin-right: 20px;
// @include box_padding;
}
// .container-left{
// // margin-right: 20px;
// // @include box_padding;
// }
.container-left, .container-left,
.container-right, .container-right,
.container-wrap, .container-wrap,
@ -908,7 +908,7 @@
} }
// 著录界面表单 // 著录界面表单
.des-form{
// .des-form{
// .el-form-item__label{ // .el-form-item__label{
// font-weight: normal; // font-weight: normal;
// color: $desPreviewColor; // color: $desPreviewColor;
@ -982,7 +982,7 @@
// line-height: 36px; // line-height: 36px;
// } // }
// } // }
}
// }
// 提示框-dialog // 提示框-dialog
.tip-dialog{ .tip-dialog{
.el-dialog{ .el-dialog{

120
src/views/system/metadata/form.vue

@ -3,26 +3,26 @@
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title"> <el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible="crud.status.cu > 0" :title="crud.status.title">
<div class="setting-dialog"> <div class="setting-dialog">
<el-form ref="form" inline :model="form" :rules="rules" size="small" label-width="100px"> <el-form ref="form" inline :model="form" :rules="rules" size="small" label-width="100px">
<el-form-item label="" prop="filterItem">
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" /> <el-input v-model="form.name" />
</el-form-item> </el-form-item>
<el-form-item label="参照标准类型" prop="filterItem">
<el-select v-model="form.filterItem" style="width: 225px;">
<el-form-item label="参照标准类型" prop="frameworkType">
<el-select v-model="form.frameworkType" style="width: 225px;">
<el-option v-for="item in selectOptions" :key="item.value" :label="item.label" :value="item.label" /> <el-option v-for="item in selectOptions" :key="item.value" :label="item.label" :value="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="参照标准号" prop="filterItem">
<el-input v-model="form.name" />
<el-form-item label="参照标准号" prop="frameworkNum">
<el-input v-model="form.frameworkNum" />
</el-form-item> </el-form-item>
<el-form-item label="参照标准名" prop="filterItem">
<el-input v-model="form.name" />
<el-form-item label="参照标准名" prop="frameworkName">
<el-input v-model="form.frameworkName" />
</el-form-item> </el-form-item>
<el-form-item label="标准范围说明" prop="filterItem">
<el-input v-model="form.description" rows="5" type="textarea" style="width: 594px;" />
<el-form-item label="标准范围说明" prop="remark">
<el-input v-model="form.remark" rows="5" type="textarea" style="width: 594px;" />
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-form-item label="默认方案" prop="filterItem">
<el-radio-group v-model="form.isTop">
<el-form-item label="默认方案" prop="defaultPlan">
<el-radio-group v-model="form.defaultPlan">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
<el-radio label="0"></el-radio> <el-radio label="0"></el-radio>
</el-radio-group> </el-radio-group>
@ -38,11 +38,11 @@
</template> </template>
<script> <script>
import { getCategoryTree } from '@/api/category/category'
// import { getCategoryTree } from '@/api/category/category'
import { form } from '@crud/crud' import { form } from '@crud/crud'
import CRUD from '@crud/crud' import CRUD from '@crud/crud'
const defaultForm = { id: null, parentName: null, cnName: null, code: null, packing: '1', isType: null, makeType: 'piece', remark: null, templateId: null }
const defaultForm = { id: null, name: null, frameworkType: null, frameworkNum: null, frameworkName: null, remark: null, defaultPlan: null }
export default { export default {
mixins: [ mixins: [
form(function() { form(function() {
@ -62,36 +62,27 @@ export default {
pid: null, pid: null,
isAdd: false, isAdd: false,
rules: { rules: {
parentLevel: [
{ required: true, message: '所属父级不可为空', trigger: 'blur' }
],
cnName: [
name: [
{ required: true, message: '名称不可为空', trigger: 'blur' } { required: true, message: '名称不可为空', trigger: 'blur' }
], ],
isType: [
{ required: true, message: '节点类型不可为空', trigger: 'change' }
],
code: [
{ required: true, message: '编码不可为空', trigger: 'blur' }
],
packing: [
{ required: true, message: '请选择是否装盒', trigger: 'change' }
],
makeType: [
{ required: true, message: '请选择装盒类型', trigger: 'change' }
defaultPlan: [
{ required: true, message: '请选择是否为默认方案', trigger: 'change' }
] ]
}, },
selectOptions: [ selectOptions: [
{ {
value: '1', value: '1',
label: '门类'
label: '国家标准'
}, },
{ {
value: '2', value: '2',
label: '文件夹'
label: '行业标准'
},
{
value: '3',
label: '其他'
} }
], ],
templateTree: [],
selectedTemplateNode: {} selectedTemplateNode: {}
} }
}, },
@ -99,60 +90,7 @@ export default {
this.getSelectOptions() this.getSelectOptions()
}, },
methods: { methods: {
// option
beforeToAdd() {
this.form.isType = null
if (this.selectedCategory.isType === 1) {
this.selectOptions.forEach(item => {
if (item.value === 4) {
item.typeState = true
} else {
item.typeState = false
}
})
} else if (this.selectedCategory.isType === 2) {
this.selectOptions.forEach(item => {
if (item.value !== 3) {
item.typeState = true
} else {
item.typeState = false
}
})
this.form.isType = 3
} else if (this.selectedCategory.isType === 3) {
this.selectOptions.forEach(item => {
if (item.value !== 4) {
item.typeState = true
} else {
item.typeState = false
}
})
this.form.isType = 4
}
},
[CRUD.HOOK.beforeSubmit]() { [CRUD.HOOK.beforeSubmit]() {
if (this.form.templateId) {
this.form.children = [this.selectedTemplateNode]
} else {
this.form.children = null
}
},
updateTemplateValue(node, instanceId) {
this.selectedTemplateNode = node
},
changeType() {
this.isAdd = this.form.isType === '1'
// if (this.form.isType === 6) {
// // this.crudDict.getDicts()
// this.getTemplateTree()
// } else {
// this.form.dicExplain = null
// }
},
getTemplateTree() {
getCategoryTree().then(res => {
this.templateTree = res
})
}, },
getSelectOptions() { getSelectOptions() {
// getCategoryType().then(res => { // getCategoryType().then(res => {
@ -164,21 +102,13 @@ export default {
// }) // })
// } // }
// }) // })
},
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
}
return {
id: node.id,
label: node.cnName,
children: node.children,
isDisabled: node.isType !== 2 && node.isType !== 3 && node.isType !== 5
}
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-dialog{
padding: 0 16px;
}
</style> </style>

12
src/views/system/metadata/index.vue

@ -10,13 +10,13 @@
<i class="iconfont icon-xinzeng" /> <i class="iconfont icon-xinzeng" />
新增 新增
</el-button> </el-button>
<el-button v-permission="permission.edit" size="mini" :disabled="selectedTreeItem.isType === 1" @click="crud.toEdit(crud.selections[0])">
<el-button v-permission="permission.edit" size="mini" :disabled="selectedTreeItem.isType === 1" @click="crud.toEdit(selectedTreeItem)">
<i class="iconfont icon-bianji" /> <i class="iconfont icon-bianji" />
编辑 编辑
</el-button> </el-button>
</template> </template>
<template v-slot:right> <template v-slot:right>
<el-button v-permission="permission.del" size="mini" :loading="crud.delAllLoading" :disabled="selectedTreeItem.isType === 1" @click="toDelete(crud.selections)">
<el-button v-permission="permission.del" size="mini" :loading="crud.delAllLoading" :disabled="selectedTreeItem.isType === 1" @click="toDelete(selectedTreeItem)">
<i class="iconfont icon-shanchu" /> <i class="iconfont icon-shanchu" />
删除 删除
</el-button> </el-button>
@ -56,6 +56,7 @@
<component :is="comName" :selected-tree-item="selectedTreeItem" /> <component :is="comName" :selected-tree-item="selectedTreeItem" />
</div> </div>
</div> </div>
<eform ref="eform" />
<el-dialog class="tip-dialog" title="提示" :visible.sync="deleteVisible" :before-close="handleClose"> <el-dialog class="tip-dialog" title="提示" :visible.sync="deleteVisible" :before-close="handleClose">
<div class="setting-dialog"> <div class="setting-dialog">
<div class="tip-content"> <div class="tip-content">
@ -77,16 +78,17 @@ import crudCategory from '@/api/category/category'
import CRUD, { presenter, header } from '@crud/crud' import CRUD, { presenter, header } from '@crud/crud'
import baseInfo from './baseInfo/index' import baseInfo from './baseInfo/index'
import arcTableList from './dataList/index' import arcTableList from './dataList/index'
import eform from './form'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import dataJson from './data.json' import dataJson from './data.json'
export default { export default {
name: 'MetaData', name: 'MetaData',
components: { crudOperation, baseInfo, arcTableList },
components: { crudOperation, baseInfo, arcTableList, eform },
cruds() { cruds() {
return [ return [
CRUD({ CRUD({
title: '元数据', url: 'api/archives-type/menu',
title: '方案', url: 'api/archives-type/menu',
crudMethod: { ...crudCategory }, crudMethod: { ...crudCategory },
optShow: { optShow: {
add: false, add: false,
@ -140,6 +142,8 @@ export default {
this.expandParents(node.parent) this.expandParents(node.parent)
} }
}, },
[CRUD.HOOK.beforeToAdd](crud, form, btn) {
},
[CRUD.HOOK.afterRefresh]() { [CRUD.HOOK.afterRefresh]() {
let currentKey let currentKey
if (localStorage.getItem('currentMetaDataKey')) { if (localStorage.getItem('currentMetaDataKey')) {

Loading…
Cancel
Save