Commit 78e23eaf authored by zhang's avatar zhang

(检测内容/实施细则): 测试用例库并入实施细则,逻辑更新。

parent 2f0a1d41
import request from '@/utils/request' import request from '@/utils/request'
import { method } from 'lodash'
//获取标准库分页 //获取标准库分页
export function getStandardList(data) { export function getStandardList(data) {
...@@ -16,3 +17,10 @@ export function getReviewStandardList(data){ ...@@ -16,3 +17,10 @@ export function getReviewStandardList(data){
data data
}) })
} }
export function getStandardListNew(){
return request({
url:'/standard/getStandardListNew',
method: 'post'
})
}
\ No newline at end of file
...@@ -38,17 +38,26 @@ empty ...@@ -38,17 +38,26 @@ empty
v-loading="loading" v-loading="loading"
:data="tableData" :data="tableData"
:props="defaultProps" :props="defaultProps"
:default-expanded-keys="defaultExpandIds" :default-expanded-keys="defaultExpends"
node-key="key" node-key="key"
bordered bordered
@node-click="handleNodeClick" @node-click="handleNodeClick"
@node-expand="handleNodeExpand" @node-expand="handleNodeExpand"
@node-collapse="handleNodeCollapse" @node-collapse="handleNodeCollapse"
> >
<span :class="{'clickChange':node.isCurrent}" style="display: flex; justify-content:center;align-items: center;" slot-scope="{ node,data }" > <span
<span >{{data.label}}</span> :class="{ clickChange: node.isCurrent }"
style="
display: flex;
justify-content: center;
align-items: center;
"
slot-scope="{ node, data }"
>
<span>{{
data.label || data.type || data.chapter || data.standardNo
}}</span>
</span> </span>
</el-tree> </el-tree>
</ul> </ul>
</div> </div>
...@@ -73,9 +82,10 @@ empty ...@@ -73,9 +82,10 @@ empty
// import request from '@/utils/request' // import request from '@/utils/request'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import request from '@/utils/request' import request from '@/utils/request'
import {getReviewStandardList} from '@/api/standard/standard.js' import { getReviewStandardList } from '@/api/standard/standard.js'
import { forEach } from 'lodash'; import { forEach } from 'lodash'
import standard from '../../store/modules/standard'; import { getStandardListNew } from '@/api/standard/standard.js'
import standard from '../../store/modules/standard'
export default { export default {
name: 'standardOption', name: 'standardOption',
props: { props: {
...@@ -84,124 +94,81 @@ export default { ...@@ -84,124 +94,81 @@ export default {
data() { data() {
return { return {
//listUrl: '/review/standard/list', //listUrl: '/review/standard/list',
queryParams: { tableData: [],
pageNum: 1, loading: false,
pageSize: 99, expandedList: [],
chapter: '', clickChange: false,
standardId: this.$store.getters.standard,
type: 'system'
},
tableData:[],
loading:false,
expandedList:[],
clickChange:false,
defaultExpandIds: [], defaultExpandIds: [],
// reviewTypeList: [ // 类型列表 defaultProps: {
// { // node格式设置
// label: '体系审查',
// type:'system'
// },
// {
// label: '车型审查',
// type:'car'
// },
// {
// label: '车型试验',
// type:'test'
// }
// ],
defaultProps: { // node格式设置
children: 'children', children: 'children',
label: 'label', label: 'label'
// isLeaf: (data, node) => { // isLeaf: (data, node) => {
// if (node.level === 2 || data.length == 1) { // if (node.level === 2 || data.length == 1) {
// return true // return true
// } // }
// } // }
}, },
count:0 checkedkeys: [],
defaultExpends: [],
standard: {}
} }
}, },
created() { created() {
this.$store.dispatch('standard/setStandardList')
if (this.standardList.length > 0) {
this.selectStandard(this.standardList[0])
}
this.loadData() this.loadData()
}, },
computed: { computed: {
...mapGetters(['standard', 'standardList']) ...mapGetters(['standardObj'])
}, },
watch: { watch: {
'$store.getters.standard': { '$store.getters.initStandard': {
handler(newVal, oldVal) { handler(newVal, oldVal) {
this.queryParams.standardId = newVal if (newVal.id != this.standard.id) {
this.count++
if(this.count<=1){
this.loadData() this.loadData()
} }
}
}, },
'$store.getters.standard_type': { deep: true
handler(newVal, oldVal) {
this.queryParams.type = newVal
}
},
'$store.getters.standard_chapter':{
handler(newVal, oldVal) {
this.queryParams.chapter = newVal
}
} }
}, },
methods: { methods: {
search() { handleNodeClick(node, data) {
this.queryParams.pageNum = 1 if (data.isCurrent) {
this.$store.dispatch('standard/setStandardList', this.queryParams.name)
},
selectStandard(value) {
this.$store.dispatch('standard/setStandard',value)
this.loadData()
},
handleNodeClick(node,data){
if(data.isCurrent){
node.isCurrent = true node.isCurrent = true
} }
if(data.isLeaf){ if (data.isLeaf) {
this.queryParams.chapter = node.chapter
this.queryParams.type = node.type
let standard = { let standard = {
id:node.id, id: data.data.standardId,
name:node.label, standardNo: data.parent.parent.data.standardNo,
type:node.type, name: data.parent.parent.data.name,
chapter: data.level == 1 ? ' ' : node.label type: data.parent.data.value,
chapter: node.chapter
} }
this.$store.dispatch('standard/setStandard', standard) this.$store.dispatch('standard/setStandardObj', standard)
} }
if(data.level == 2){ if (data.level == 2) {
this.queryParams.type = node.type
let standard = { let standard = {
id:node.id, id: data.parent.data.id,
name:node.label, standardNo: data.parent.data.standardNo,
type:node.type, name: data.parent.data.name,
type: node.value,
chapter: '' chapter: ''
} }
this.$store.dispatch('standard/setStandard', standard) this.$store.dispatch('standard/setStandardObj', standard)
} }
document.documentElement.scrollTop = 0
//this.$store.dispatch('standard/setStandard', standard) //this.$store.dispatch('standard/setStandard', standard)
}, },
handleNodeExpand(node){ handleNodeExpand(node) {
let flag = false let flag = false
this.defaultExpandIds.some(item => { this.defaultExpandIds.some(item => {
if (item === node.key) { // 判断当前节点是否存在, 存在不做处理 if (item === node.key) {
// 判断当前节点是否存在, 存在不做处理
flag = true flag = true
return true return true
} }
}) })
if (!flag) { // 不存在则存到数组里 if (!flag) {
// 不存在则存到数组里
this.defaultExpandIds.push(node.key) this.defaultExpandIds.push(node.key)
} }
}, },
...@@ -218,7 +185,7 @@ export default { ...@@ -218,7 +185,7 @@ export default {
removeChildrenIds(data) { removeChildrenIds(data) {
const ts = this const ts = this
if (data.children) { if (data.children) {
data.children.forEach(function(item) { data.children.forEach(function (item) {
const index = ts.defaultExpandIds.indexOf(item.key) const index = ts.defaultExpandIds.indexOf(item.key)
if (index > 0) { if (index > 0) {
ts.defaultExpandIds.splice(index, 1) ts.defaultExpandIds.splice(index, 1)
...@@ -228,78 +195,152 @@ export default { ...@@ -228,78 +195,152 @@ export default {
} }
}, },
async loadData(){ normalizeTreeData(data) {
this.loading = true return data.map(node => {
this.tableData = [] if (node.typeList) {
console.log(this.standardList) node.children = this.normalizeTreeData(node.typeList)
for(let i = 0; i < this.standardList.length ; i++ ){ delete node.typeList
let data = { }
standardId: this.standardList[i].id, if (node.reviewStandardChapterListResponses) {
standardNo: this.standardList[i].standardNo node.children = this.normalizeTreeData(
} node.reviewStandardChapterListResponses
await getReviewStandardList(data).then(res=>{ )
if(res.code === 200){ delete node.reviewStandardChapterListResponses
let typeList = res.data.typeList }
forEach(typeList,(item,index)=>{ return node
item.isCurrent = false,
item.id = this.standardList[i].id
item.children = item.reviewStandardChapterListResponses
forEach(item.children,(c)=>{
c.label = c.chapter
}) })
},
/**
* 任务:
* 1.chapter去重
* 2.将类型映射位中文可渲染形式
*/
async loadData() {
this.loading = true
getStandardListNew().then(res => {
this.tableData = res.data
this.tableData = this.normalizeTreeData(this.tableData)
forEach(this.tableData, (t1, index) => {
t1.key = index + '_' + t1.id
forEach(t1.children, (t2, index) => {
t2.key = index + '_' + t1.id + '_' + t2.type
switch (t2.type) {
case 'system':
t2.type = '体系审查'
t2.value = 'system'
break
case 'car':
t2.type = '车型审查'
t2.value = 'car'
break
case 'test':
t2.type = '车型实验'
t2.value = 'test'
break
}
let cache = [] let cache = []
forEach(item.children,(p)=>{// 去重 forEach(t2.children, (p, index) => {
if(cache.find(c=>c.label == p.label)){ // 去重
}else{ if (cache.find(c => c.chapter == p.chapter)) {
item.length = 1 } else {
cache.push({ cache.push({
label:p.label, standardId: t1.id,
chapter:p.label, chapter: p.chapter,
isCurrent:false, key: index + '_' + t1.id + '_' + t2.type + '_' + p.chapter
id:this.standardList[i].id,
type:item.type
}) })
} }
}) })
item.children = cache t2.children = cache
})
switch(item.type){ })
case 'system': this.$nextTick(function () {
item.label='体系审查' this.defaultExpends.push(this.tableData[0].key)
break; this.$refs.tree.setCurrentKey(this.tableData[0].children[0].key)
case 'car': let standard = {
item.label='车型审查' id: this.tableData[0].id,
break; type: this.tableData[0].children[0].value
case 'test':
item.label='车型实验'
break;
} }
let standardObj = {
id: this.tableData[0].id,
type: this.tableData[0].children[0].value,
name:'',
chapter: '',
standardNo: ''
}
this.$store.dispatch('standard/setInitStandard', standard)
this.$store.dispatch('standard/setStandardObj', standardObj)
this.standard = standard
}) })
let obj = { })
id:this.standardList[i].id, //console.log(this.standardList)
label:this.standardList[i].standardNo, // for(let i = 0; i < this.standardList.length ; i++ ){
children:typeList, // let data = {
isCurrent:false // standardId: this.standardList[i].id,
} // standardNo: this.standardList[i].standardNo
this.tableData.push(obj) // }
//let chapters = res.rows // await getReviewStandardList(data).then(res=>{
// if(res.code === 200){
// let typeList = res.data.typeList
// forEach(typeList,(item,index)=>{
// item.isCurrent = false,
// item.id = this.standardList[i].id
// item.children = item.reviewStandardChapterListResponses
// forEach(item.children,(c)=>{
// c.label = c.chapter
// })
// let cache = []
// forEach(item.children,(p)=>{// 去重
// if(cache.find(c=>c.label == p.label)){
// }else{
// item.length = 1
// cache.push({
// label:p.label,
// chapter:p.label,
// isCurrent:false,
// id:this.standardList[i].id,
// type:item.type
// })
// }
// })
// item.children = cache
// obj.children.forEach(t=>{ // switch(item.type){
// if(t.type == this.queryParams.type){ // case 'system':
// t.children = cache // item.label='体系审查'
// break;
// case 'car':
// item.label='车型审查'
// break;
// case 'test':
// item.label='车型实验'
// break;
// } // }
// }) // })
// let obj = {
// id:this.standardList[i].id,
// label:this.standardList[i].standardNo,
// children:typeList,
// isCurrent:false
// }
// //this.tableData.push(obj)
// //let chapters = res.rows
// page.push(obj) // // obj.children.forEach(t=>{
// this.tableData = page // // if(t.type == this.queryParams.type){
// console.log(this.standardList) // // t.children = cache
// this.loading = false // // }
} // // })
})
} // // page.push(obj)
// // this.tableData = page
// // console.log(this.standardList)
// // this.loading = false
// }
// })
// }
this.loading = false this.loading = false
} }
} }
...@@ -363,59 +404,72 @@ export default { ...@@ -363,59 +404,72 @@ export default {
font-weight: bold; font-weight: bold;
} }
.tree { .tree {
padding: 10px 10px; padding: 10px 10px;
::v-deep .el-tree-node{ // 节点样式 ::v-deep .el-tree-node {
// 节点样式
position: relative; position: relative;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
} }
::v-deep .is-leaf::before{ // 叶子节点箭头样式设置:不显示 ::v-deep .is-leaf::before {
// 叶子节点箭头样式设置:不显示
opacity: 0; opacity: 0;
} }
::v-deep .el-tree-node__content { // 节点内容样式设置 ::v-deep .el-tree-node__content {
// 节点内容样式设置
width: 100%; width: 100%;
height: 30px; height: 30px;
//display: flex; //display: flex;
//justify-content: space-between; //justify-content: space-between;
margin-top: 5px; margin-top: 5px;
color:black; color: black;
font-size: 13px; font-size: 13px;
border-radius: 5px; border-radius: 5px;
} }
::v-deep .el-tree-node__content:hover { // 节点内容样式设置 ::v-deep .el-tree-node__content:hover {
// 节点内容样式设置
background-color: #f0f7ff; background-color: #f0f7ff;
} }
::v-deep .el-tree-node__content .el-tree-node__expand-icon { // 节点箭头样式设置 ::v-deep .el-tree-node__content .el-tree-node__expand-icon {
// 节点箭头样式设置
color: black; color: black;
} }
::v-deep .el-tree-node__children{ // 子节点样式设置 ::v-deep .el-tree-node__children {
// 子节点样式设置
transition: all 0.5s; transition: all 0.5s;
} }
::v-deep .el-tree-node__children .el-tree-node__content{// 子节点内容样式设置 ::v-deep .el-tree-node__children .el-tree-node__content {
// 子节点内容样式设置
width: 200px; width: 200px;
background-color: white; background-color: white;
} }
::v-deep .el-tree-node__children .el-tree-node__content:hover{// 子节点内容样式设置 ::v-deep .el-tree-node__children .el-tree-node__content:hover {
// 子节点内容样式设置
background-color: #f0f7ff; background-color: #f0f7ff;
} }
::v-deep .el-tree-node__children .el-tree-node__children .el-tree-node__content .el-tree-node__expand-icon{ ::v-deep
.el-tree-node__children
.el-tree-node__children
.el-tree-node__content
.el-tree-node__expand-icon {
opacity: 0; opacity: 0;
} }
::v-deep .el-tree-label{ // 树中显示标题(label)设置 ::v-deep .el-tree-label {
// 树中显示标题(label)设置
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
} }
::v-deep .el-tree-content{ // 树中显示内容(content)设置 ::v-deep .el-tree-content {
// 树中显示内容(content)设置
font-size: 13px; font-size: 13px;
} }
::v-deep .clickChange{ ::v-deep .clickChange {
color:blue; color: blue;
}
} }
}
} }
</style> </style>
import standard from "./modules/standard"
const getters = { const getters = {
sidebar: state => state.app.sidebar, sidebar: state => state.app.sidebar,
size: state => state.app.size, size: state => state.app.size,
...@@ -21,6 +23,8 @@ const getters = { ...@@ -21,6 +23,8 @@ const getters = {
standard_type: state => state.standard.standard_type, standard_type: state => state.standard.standard_type,
standard_chapter: state => state.standard.standard_chapter, standard_chapter: state => state.standard.standard_chapter,
standard_name: state => state.standard.standard_name, standard_name: state => state.standard.standard_name,
standardObj: state=>state.standard.standardObj,
initStandard: state=>state.standard.initStandard,
standardList: state => state.standard.standardList, standardList: state => state.standard.standardList,
testScenarioList: state => state.testScenario.testScenarioList, testScenarioList: state => state.testScenario.testScenarioList,
dept: state => state.user.dept dept: state => state.user.dept
......
...@@ -6,6 +6,17 @@ const standard = { ...@@ -6,6 +6,17 @@ const standard = {
standard_name: '', standard_name: '',
standard_type:'', standard_type:'',
standard_chapter:'', standard_chapter:'',
standardObj:{
id:'',
name: '',
type:'',
chapter:'',
standardNo: ''
},
initStandard:{
id:'',
type:'',
},
standardList: [] standardList: []
}, },
...@@ -24,6 +35,12 @@ const standard = { ...@@ -24,6 +35,12 @@ const standard = {
}, },
SET_STANDARDCHAPTER: (state,chapter) => { SET_STANDARDCHAPTER: (state,chapter) => {
state.standard_chapter = chapter state.standard_chapter = chapter
},
SET_STANDARD_OBJ: (state,standardObj)=>{
state.standardObj = standardObj
},
SET_INITSTANDARD: (state,initStandard)=>{
state.initStandard = initStandard
} }
}, },
...@@ -34,6 +51,12 @@ const standard = { ...@@ -34,6 +51,12 @@ const standard = {
commit('SET_STANDARDTYPE', standard.type) commit('SET_STANDARDTYPE', standard.type)
commit('SET_STANDARDCHAPTER', standard.chapter) commit('SET_STANDARDCHAPTER', standard.chapter)
}, },
setStandardObj({commit},standardObj){
commit('SET_STANDARD_OBJ',standardObj)
},
setInitStandard({commit},initStandard){
commit('SET_INITSTANDARD',initStandard)
},
setStandardList({ commit }, name) { setStandardList({ commit }, name) {
getStandardList({ getStandardList({
keyWord: name ? name : '', keyWord: name ? name : '',
......
...@@ -275,7 +275,6 @@ ...@@ -275,7 +275,6 @@
downPdf(row,name) { downPdf(row,name) {
console.log('row', row) console.log('row', row)
if(name=='name'){ if(name=='name'){
console.log(process.env.VUE_APP_IMAGE_API + row.file)
window.open(process.env.VUE_APP_IMAGE_API + row.file) window.open(process.env.VUE_APP_IMAGE_API + row.file)
}else if(name=='keypointname'){ }else if(name=='keypointname'){
window.open(process.env.VUE_APP_IMAGE_API + row.keypointFile) window.open(process.env.VUE_APP_IMAGE_API + row.keypointFile)
......
<template> <template>
<el-dialog
<el-dialog title="检验内容" :visible.sync="dialogManger.dialogVisible" width="60%"> title="检验内容"
:visible.sync="dialogManger.dialogVisible"
width="60%"
>
<el-form class="form" :model="dialogManger" :inline="true"> <el-form class="form" :model="dialogManger" :inline="true">
<el-form-item class="title"> <el-form-item class="title">
<span style="width: 500px;">标准信息</span> <span style="width: 500px">标准信息</span>
</el-form-item> </el-form-item>
<el-form-item label="标准号" :label-width="formLabelWidth"> <el-form-item label="标准号" :label-width="formLabelWidth">
<el-input class="input" disabled v-model="dialogManger.source.standard.standard.standardNo" autocomplete="off" :title="dialogManger.source.standard.standard.standardNo"></el-input> <el-input
class="input"
disabled
v-model="dialogManger.source.standard.standardNo"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准名称" :label-width="formLabelWidth"> <el-form-item label="标准名称" :label-width="formLabelWidth">
<el-input class="input" disabled v-model="dialogManger.source.standard.standard.name" autocomplete="off" :title="dialogManger.source.standard.standard.name"></el-input> <el-input
class="input"
disabled
v-model="dialogManger.source.standard.name"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准章节" :label-width="formLabelWidth"> <el-form-item label="标准章节" :label-width="formLabelWidth">
<el-input class="input" disabled v-model="dialogManger.source.standard.chapter" autocomplete="off" :title="dialogManger.source.standard.chapter"></el-input> <el-input
class="input"
disabled
v-model="dialogManger.source.standard.chapter"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="审查类型" :label-width="formLabelWidth"> <el-form-item label="审查类型" :label-width="formLabelWidth">
<el-input class="input" disabled v-model="dialogManger.source.standard.type" autocomplete="off" :title="dialogManger.source.standard.type"></el-input> <el-input
class="input"
disabled
v-model="dialogManger.source.standard.type"
autocomplete="off"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标准要求" :label-width="formLabelWidth"> <el-form-item label="标准要求" :label-width="formLabelWidth">
<el-input <el-input
class="textarea" class="textarea"
disabled disabled
resize="none" resize="none"
:autosize="{minRows:4,maxRows:6}" :autosize="{ minRows: 4, maxRows: 6 }"
type="textarea" type="textarea"
v-model="dialogManger.source.standard.text" v-model="dialogManger.source.standard.text"
:title="dialogManger.source.standard.text" autocomplete="off"
autocomplete="off"></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form class="form" :model="dialogManger" title="'审查信息'" style="margin-top: 10px;"> <el-form
class="form"
:model="dialogManger"
title="'审查信息'"
style="margin-top: 10px"
>
<el-form-item class="title"> <el-form-item class="title">
<span style="width: 500px;">审查信息</span> <span style="width: 500px">审查信息</span>
</el-form-item> </el-form-item>
<el-form-item label="审查要点" :label-width="formLabelWidth"> <el-form-item label="审查要点" :label-width="formLabelWidth">
<el-input class="textarea" <el-input
class="textarea"
disabled disabled
resize="none" resize="none"
:autosize="{minRows:1,maxRows:6}" :autosize="{ minRows: 1, maxRows: 6 }"
type="textarea" type="textarea"
v-model="dialogManger.source.judge.content" v-model="dialogManger.source.judge.content"
autocomplete="off" autocomplete="off"
:title="dialogManger.source.judge.content"> >
</el-input> </el-input>
</el-form-item> </el-form-item>
<div v-for="(item,index) in dialogManger.source.judge.reviewDetailsList" > <div v-for="(item, index) in dialogManger.source.judge.reviewDetailsList">
<el-form-item label="审查细则" :label-width="formLabelWidth"> <el-form-item label="审查细则" :label-width="formLabelWidth">
<el-input <el-input
class="textarea" class="textarea"
disabled disabled
resize="none" resize="none"
:autosize="{minRows:1,maxRows:6}" :autosize="{ minRows: 1, maxRows: 6 }"
type="textarea" type="textarea"
v-model="item.text" v-model="item.text"
autocomplete="off" autocomplete="off"
:title="item.text"> >
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="关联场景" :label-width="formLabelWidth"> <el-form-item label="关联场景" :label-width="formLabelWidth">
...@@ -63,30 +92,31 @@ ...@@ -63,30 +92,31 @@
class="textarea" class="textarea"
disabled disabled
resize="none" resize="none"
:autosize="{minRows:4,maxRows:6}" :autosize="{ minRows: 4, maxRows: 6 }"
type="textarea" type="textarea"
v-model="item.reviewSceneList" v-model="item.reviewSceneList"
:title="item.reviewSceneList" autocomplete="off"
autocomplete="off"></el-input> ></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="dialogManger.dialogVisible = false">确 定</el-button> <el-button type="primary" @click="dialogManger.dialogVisible = false"
>确 定</el-button
>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
export default { export default {
name:'', name: '',
data(){ data() {
return { return {
titleWidth:'500px', titleWidth: '500px',
formLabelWidth: '120px' formLabelWidth: '120px'
} }
}, },
props: { props: {
dialogManger: { dialogManger: {
type: Object, type: Object,
...@@ -94,23 +124,33 @@ data(){ ...@@ -94,23 +124,33 @@ data(){
return { return {
dialogVisible: false, dialogVisible: false,
refreshList: false, refreshList: false,
source: {}, source: {
standard: {
name: '',
standardNo:'',
chapter: '',
type:'',
text:'',
},
judge:{
content:'',
reviewDetailsList:[]
}
},
dialogEditId: undefined dialogEditId: undefined
} }
} }
} }
}, },
methods:{ methods: {
cancel(){ cancel() {
this.dialogManger.dialogVisible = false this.dialogManger.dialogVisible = false
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.form .title{ .form .title {
width: 600px; width: 600px;
margin-right: 50px; margin-right: 50px;
color: blue; color: blue;
...@@ -118,18 +158,18 @@ data(){ ...@@ -118,18 +158,18 @@ data(){
border-left: blue solid 6px; border-left: blue solid 6px;
padding-left: 10px; padding-left: 10px;
} }
.form .input{ .form .input {
width: 250px; width: 250px;
} }
.form .textarea{ .form .textarea {
width: 630px; width: 630px;
} }
::v-deep .el-dialog__body{ ::v-deep .el-dialog__body {
height: 70vh; height: 70vh;
overflow: auto; overflow: auto;
} }
.input ::v-deep .el-input__inner { .input ::v-deep .el-input__inner {
color: black; color: black;
} }
.textarea ::v-deep .el-textarea__inner { .textarea ::v-deep .el-textarea__inner {
......
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
type="primary" type="primary"
icon="el-icon-search" icon="el-icon-search"
size="mini" size="mini"
:disabled=" buttonDisibled"
@click="handleQuery" @click="handleQuery"
>查询</el-button >查询</el-button
> >
...@@ -68,9 +69,16 @@ ...@@ -68,9 +69,16 @@
type="default" type="default"
icon="el-icon-refresh" icon="el-icon-refresh"
size="mini" size="mini"
:disabled=" buttonDisibled"
@click="reset" @click="reset"
>重置</el-button >重置</el-button
> >
<el-button
type="text"
:icon=" this.expandAll ? 'el-icon-caret-bottom' : 'el-icon-caret-top' "
@click="onShrinkUnfold"
>{{ this.expandAll ? '收缩' : '展开' }}</el-button
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
...@@ -151,29 +159,40 @@ ...@@ -151,29 +159,40 @@
:props="defaultProps" :props="defaultProps"
bordered bordered
@node-click="handleNodeClick" @node-click="handleNodeClick"
:default-checked-keys="checkedkeys"
> >
<!-- node:节点信息(由defaultProps定义) data: 当前节点包含的数据对象 --> <!-- node:节点信息(由defaultProps定义) data: 当前节点包含的数据对象 -->
<span slot-scope="{ node,data }" style="display: flex;width: 1100px;;justify-content: space-between"> <span
slot-scope="{ node, data }"
style="display: flex; width: 1100px; justify-content: space-between"
>
<div> <div>
<span class="el-tree-label">{{ node.label | ellipsis }}</span> <span v-if="node.level == 1" class="el-tree-label">标准要求</span>
<span v-else class="el-tree-label">审查要点</span>
<!-- 多个空格 --> <!-- 多个空格 -->
<span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span> <span
<span v-if="data.chapter" class="el-tree-content"> {{ data.chapter+"\u00a0"+data.content | ellipsis }}</span> v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"
<span v-else class="el-tree-content"> {{ data.content | ellipsis }}</span> ></span>
<span v-if="data.chapter" class="el-tree-content">
{{ (data.chapter + '\u00a0' + data.text) | ellipsis }}</span
>
<span v-else class="el-tree-content">
{{ data.text | ellipsis }}</span
>
</div> </div>
<!-- 当三级树为审查要点时将详情图标向左移动20px --> <!-- 当二级树为审查要点时将详情图标向左移动20px -->
<span v-if="data.label == '审查要点' " style="margin-right: 30px;" > <span v-if="node.level == 2" style="margin-right: 30px">
<page-button <page-button
v-hasPermi="['setting:standardTerms:content']" v-hasPermi="['setting:standardTerms:content']"
icon="doc-search" icon="doc-search"
title="检验内容" title="检验内容"
@click.native="handleUpdate(data)" @click.native="handleUpdate(data, node)"
></page-button> ></page-button>
</span> </span>
</span> </span>
</el-tree> </el-tree>
<pagination <pagination
style="height: 50px;" style="height: 50px"
v-show="total > 0" v-show="total > 0"
:total="total" :total="total"
:background="false" :background="false"
...@@ -222,21 +241,23 @@ import { listInspection } from '../../../api/setting/standardTerms' ...@@ -222,21 +241,23 @@ import { listInspection } from '../../../api/setting/standardTerms'
import detailModel from './components/detailModel.vue' import detailModel from './components/detailModel.vue'
import standard from '../../../store/modules/standard' import standard from '../../../store/modules/standard'
import { parse } from 'postcss' import { parse } from 'postcss'
import stan from 'highlight.js/lib/languages/stan'
export default { export default {
// 绑定组件 // 绑定组件
components: { components: {
'vehiclemodel-dialog': vehicleModelDialog, 'vehiclemodel-dialog': vehicleModelDialog,
'document-review-dialog': documentReviewDialog, 'document-review-dialog': documentReviewDialog,
'detail-model':detailModel 'detail-model': detailModel
}, },
dicts: ['sys_scene_type'], dicts: ['sys_scene_type'],
mixins: [page], mixins: [page],
data() { data() {
return { return {
listUrl: '/review/standard/list', // 获取章节数据信息路径 listUrl: '/review/standard/list', // 获取章节数据信息路径
modelData:[], // 储存原始获取的数据 modelData: [], // 储存原始获取的数据
chapterOptions:[], // 储存章节选项 chapterOptions: [], // 储存章节选项
reviewTypeList: [ // 类型列表 reviewTypeList: [
// 类型列表
{ {
label: '体系审查', label: '体系审查',
value: 'system' value: 'system'
...@@ -250,7 +271,8 @@ export default { ...@@ -250,7 +271,8 @@ export default {
value: 'test' value: 'test'
} }
], ],
defaultProps: { // node格式设置 defaultProps: {
// node格式设置
children: 'children', children: 'children',
label: 'label', label: 'label',
isLeaf: (data, node) => { isLeaf: (data, node) => {
...@@ -258,75 +280,90 @@ export default { ...@@ -258,75 +280,90 @@ export default {
return true return true
} }
} }
}, },
listNewUrl:'/review/standard/listNew', listNewUrl: '/review/standard/listNew',
showSearch: true, // 是否显示搜索框 showSearch: true, // 是否显示搜索框
tableData: [], // 储存最终处理后的数据信息 tableData: [], // 储存最终处理后的数据信息
queryParams: { // 条件参数,储存用于搜索的条件 queryParams: {
chapter: this.$store.getters.standard_chapter, // 条件参数,储存用于搜索的条件
chapter: this.$store.getters.standardObj.chapter,
text: '', text: '',
name:'', name: '',
standardNo:'', standardNo: '',
pageNum:1, pageNum: 1,
pageSize:10, pageSize: 10,
standardId: this.$store.getters.standard, standardId: this.$store.getters.standardObj.id || '',
type:this.$store.getters.standard_type || 'system' type: this.$store.getters.standardObj.type || ''
}, },
searchQueryParams:{ searchQueryParams: {
chapter:'', chapter: '',
text:'' text: ''
}, },
detailModelManager:{ // 传递参数,储存传递给弹窗的信息 detailModelManager: {
// 传递参数,储存传递给弹窗的信息
dialogVisible:false, // 弹窗是否显现 dialogVisible: false, // 弹窗是否显现
refreshList: false, refreshList: false,
source: { // 数据源 source: {
judge:{}, // 标准信息 standard: {
standard:{ // 审查信息 name: '',
standard:{ standardNo:'',
standardNo:'4869' chapter: '',
} type:'',
} text:'',
},
dialogEditId: ''
}, },
vehicleModelDialogManger: { judge:{
dialogVisible: false, content:'',
refreshList: false, reviewDetailsList:[]
source: {}, }
dialogEditId: ''
}, },
documentReviewDialogManger: {
dialogVisible: false,
refreshList: false,
source: {},
dialogEditId: '' dialogEditId: ''
}, },
refreshList: false, // vehicleModelDialogManger: {
count:0 // dialogVisible: false,
// refreshList: false,
// source: {},
// dialogEditId: ''
// },
// documentReviewDialogManger: {
// dialogVisible: false,
// refreshList: false,
// source: {},
// dialogEditId: ''
// },
checkedkeys:[],
buttonDisibled: false,
expandAll:false,
handleClick: null,
refreshList: false
} }
}, },
created () {
this.loadData()
},
watch: { watch: {
// 公共组件左侧标准全局变量选中 // 公共组件左侧标准全局变量选中
'$store.getters.standard': { '$store.getters.standardObj': {
handler(newVal, oldVal) { handler(newVal, oldVal) {
this.queryParams.standardId = newVal if(newVal.id == oldVal.id && newVal.type == oldVal.type && newVal.chapter == oldVal.chapter && newVal.name == oldVal.name){
console.log(newVal) console.log(true)
}else{
this.queryParams.standardId = newVal.id
this.queryParams.type = newVal.type
this.queryParams.chapter = newVal.chapter
this.queryParams.name = newVal.name
this.loadData() this.loadData()
} }
// console.log(newVal)
// if(newVal){
// this.queryParams.chapter = newVal.chapter || '5.1'
// this.queryParams.standardId = newVal.id || ''
// this.queryParams.type = newVal.type || 'system'
// this.queryParams.standardNo = 'GB 44495-2024'
// this.loadData()
// }
}, },
'$store.getters.standard_type': { deep: true
handler(newVal, oldVal) {
this.queryParams.type = newVal
this.loadData()
}
},
'$store.getters.standard_chapter': {
handler(newVal, oldVal) {
this.queryParams.chapter = newVal
this.loadData()
}
}, },
refreshList(val) { refreshList(val) {
if (val) { if (val) {
...@@ -336,188 +373,237 @@ export default { ...@@ -336,188 +373,237 @@ export default {
}, },
'vehicleModelDialogManger.refreshList'(val) { 'vehicleModelDialogManger.refreshList'(val) {
if (val) { if (val) {
this.loadData() //this.loadData()
this.vehicleModelDialogManger.refreshList = false this.vehicleModelDialogManger.refreshList = false
} }
} }
}, },
filters: { // 过滤器:当字符串超过64位时,之后的字符用...代替 filters: {
ellipsis (value) { // 过滤器:当字符串超过64位时,之后的字符用...代替
ellipsis(value) {
if (!value) return '' if (!value) return ''
if (value.length > 55) { if (value.length > 60) {
return value.slice(0, 55) + '...' return value.slice(0, 60) + '...'
} }
return value return value
} }
}, },
computed: { // 获取store储存数据 computed: {
...mapGetters(['standard', 'standardList','standard_type']) // 获取store储存数据
}, ...mapGetters(['standard', 'standardList', 'standardObj'])
created () { // 进入页面时获取数据
this.loadData()
}, },
methods: { methods: {
printNode(node){ printNode(node) {
console.log(node) console.log(node)
}, },
handleNodeClick(data) { handleNodeClick() {
console.log(data); console.log(123)
},
normalizeTreeData(data){
return data.map(node =>{
if(node.keyPointList){
node.children = this.normalizeTreeData(node.keyPointList)
delete node.keyPointList
}
return node
})
}, },
async loadData() { async loadData() {
console.log(this.queryParams)
this.loading = true this.loading = true
await request({ await request({
url: this.listUrl, url:this.listNewUrl,
method: 'post', method: 'post',
data: this.queryParams data: this.queryParams
}).then(res=>{
this.tableData = res.rows
this.tableData = this.normalizeTreeData(this.tableData)
this.total = res.total
}) })
.then(async res => {
if (res.code === 200) {
this.modelData = res.rows // 储存原始数据
// res.rows[0].carReviewStatus = 'FINISH'
// res.rows[0].reviewStatus = 'SIGNED'
// res.rows[0].carReviewStatus = 'FINISH'
if(res.rows=='' || !res.rows){
this.tableData = []
this.loading = false this.loading = false
}else{ // await request({
this.loading = true // 开始执行加载动画 // url: this.listUrl,
this.tableData = [] // 初始化结果数据容器 // method: 'post',
let page = [] // 临时结果容器 // data: this.queryParams
let tempData = res.rows // 临时数据 // })
// for(let i = 0 ; i < tempData.length ; i++){ // 处理数据,将临时数据的每条数据处理为模板对象,之后放入临时结果容器中 // .then(async res => {
// // 模板对象格式 // if (res.code === 200) {
// let obj = { // this.modelData = res.rows // 储存原始数据
// label:tempData[i].chapter,// 章节信息 // console.log(res.rows)
// content:' ',// 章节内容(当章节下只有一个标准要求时用到) // if(res.rows=='' || !res.rows){
// length:0,// 章节所包含的标准要求的数量 // this.tableData = []
// children:[] // 章节所包含的具体的标准要求信息 // this.loading = false
// } // }else{
// page.push(obj) // this.loading = true // 开始执行加载动画
// } // this.tableData = [] // 初始化结果数据容器
let cache = [] // 去重后结果容器 // let page = [] // 临时结果容器
let tempOptions = [] // 临时章节选项容器 // let tempData = res.rows // 临时数据
// // for(let i = 0 ; i < tempData.length ; i++){ // 处理数据,将临时数据的每条数据处理为模板对象,之后放入临时结果容器中
// // // 模板对象格式
if(this.chapterOptions.length < tempOptions.length || this.chapterOptions.length == 0){ // // let obj = {
this.chapterOptions = tempOptions // // label:tempData[i].chapter,// 章节信息
} // // content:' ',// 章节内容(当章节下只有一个标准要求时用到)
// // length:0,// 章节所包含的标准要求的数量
// // children:[] // 章节所包含的具体的标准要求信息
// // }
// // page.push(obj)
// // }
// let cache = [] // 去重后结果容器
// let tempOptions = [] // 临时章节选项容器
let count = 0 // if(this.chapterOptions.length < tempOptions.length || this.chapterOptions.length == 0){
// 继续加工数据,对page容器中的每条数据pageItem处理 // this.chapterOptions = tempOptions
forEach(tempData,async (tempDataItem)=>{ // 对临时数据tempData中每条数据tempDataItem处理 // }
// 当pageItem和tempDataItem章节属性匹配时,将tempDataItem数据进行模板化并储存到page容器中
count++
let obj = {
index:count,
id:tempDataItem.id,
label:'标准要求',
chapter:tempDataItem.chapter,
content:tempDataItem.text,
children:[]
}
// 异步处理 // let count = 0
await listInspection({id:tempDataItem.id}).then(res=>{// 根据tempDataItem的id搜索详细数据 // // 继续加工数据,对page容器中的每条数据pageItem处理
if(res.code == 200){ // forEach(tempData,async (tempDataItem)=>{ // 对临时数据tempData中每条数据tempDataItem处理
let temp = res.data // // 当pageItem和tempDataItem章节属性匹配时,将tempDataItem数据进行模板化并储存到page容器中
forEach(temp,(pointItem)=>{ // count++
forEach(pointItem,(pointDeepItem)=>{ // let obj = {
pointDeepItem.label = '审查要点' // index:count,
pointDeepItem.content = pointDeepItem.text // id:tempDataItem.id,
pointDeepItem.quireId = tempDataItem.id // label:'标准要求',
pointDeepItem.type = tempDataItem.type // chapter:tempDataItem.chapter,
obj.children.push(pointDeepItem) // content:tempDataItem.text,
}) // children:[]
}) // }
this.loading = false // 加载动画结束
}
page.push(obj)
page = page.sort(function(a,b){
return a.index - b.index
})
})
// page=page.sort(function(a,b){ // // 异步处理
// await listInspection({id:tempDataItem.id}).then(res=>{// 根据tempDataItem的id搜索详细数据
// if(res.code == 200){
// let temp = res.data
// forEach(temp,(pointItem)=>{
// forEach(pointItem,(pointDeepItem)=>{
// pointDeepItem.label = '审查要点'
// pointDeepItem.content = pointDeepItem.text
// pointDeepItem.quireId = tempDataItem.id
// pointDeepItem.type = tempDataItem.type
// pointDeepItem.name = tempDataItem.name
// pointDeepItem.standardNo = tempDataItem.standardNo
// obj.children.push(pointDeepItem)
// })
// })
// this.loading = false // 加载动画结束
// }
// page.push(obj)
// page = page.sort(function(a,b){
// return a.index - b.index // return a.index - b.index
// }) // })
}) // })
this.tableData = page // 将临时数据容器赋给结果数据容器
//this.tableData = res.rows
this.total = res.total
}
} // // page=page.sort(function(a,b){
// // return a.index - b.index
// // })
// })
// this.tableData = page // 将临时数据容器赋给结果数据容器
// console.log(page)
// //this.tableData = res.rows
// this.total = res.total
// }
}) // }
.catch(error => {
if (error.msg) {
this.$message.error(error.msg)
}
this.loading = false
})
// })
// .catch(error => {
// if (error.msg) {
// this.$message.error(error.msg)
// }
// this.loading = false
// })
}, },
reset() { reset() {
this.$store.dispatch('standard/setStandard','') this.buttonDisibled = true
this.searchQueryParams.chapter = '' setTimeout(()=>{
this.buttonDisibled = false
},2000)
this.searchQueryParams.text = '' this.searchQueryParams.text = ''
this.searchQueryParams.chapter = ''
this.queryParams.type = this.$store.getters.initStandard.type
this.queryParams.standardId = this.$store.getters.initStandard.id
this.queryParams.text = ''
this.queryParams.chapter = '' this.queryParams.chapter = ''
this.queryParams.standard = ''
this.queryParams.testMethod = ''
this.queryParams.name = ''
this.queryParams.standardNo = '' this.queryParams.standardNo = ''
this.queryParams.type = ''
this.loadData()
},
handleQuery(){
this.$store.dispatch('standard/setStandard','')
this.queryParams.chapter = this.searchQueryParams.chapter
this.queryParams.standard = ''
this.queryParams.testMethod = ''
this.queryParams.name = '' this.queryParams.name = ''
this.queryParams.standardNo = '' let standard = {
this.queryParams.type = '' type:''
}
this.$store.dispatch('standard/setInitStandard', standard)
//this.loadData()
},
handleQuery() {
this.buttonDisibled = true
setTimeout(()=>{
this.buttonDisibled = false
},2000)
this.queryParams.text = this.searchQueryParams.text this.queryParams.text = this.searchQueryParams.text
this.loadData() let obj = {
id:this.$store.getters.standardObj.id,
type: this.$store.getters.standardObj.type,
chapter: this.searchQueryParams.chapter
}
this.$store.dispatch('standard/setStandardObj', obj)
}, },
handleUpdate(node) { // 查看检验内容 data:标准信息 node:审查信息 async onShrinkUnfold() {
let data = this.modelData.find((item)=>item.id === node.quireId) // 获取当前审查信息 this.expandAll = !this.expandAll
let standard = this.standardList.find((item)=>item.id == this.standard)// 获取当前审查信息的standard信息 this.changeTreeNodeStatus(this.$refs.tree.store.root)
if(standard){ },
data.standard = standard changeTreeNodeStatus (node) {
}else{ node.expanded = this.expandAll
data.standard = '--' for (let i = 0; i < node.childNodes.length; i++) {
// 改变节点的自身expanded状态
node.expanded = this.expandAll
// 遍历子节点
if (node.childNodes[i].childNodes.length > 0) {
this.changeTreeNodeStatus(node.childNodes[i])
} }
let review = this.reviewTypeList.find((item)=>item.value == node.type)
if(review){
data.type = review.label
}else{
data.type = ''
} }
// 获取当前审查信息的类型 },
node.content = node.content.trim() // 去空格 async handleUpdate(node, Ddata) {
this.detailModelManager.source.standard = data // 赋值传递弹窗 // 查看检验内容 data:标准信息 node:审查信息
this.detailModelManager.source.judge = node await request({
url:'/review/standard/getDetailsAll',
method: 'post',
data:{
keypointId: node.id
}
}).then(res=>{
let temp = res.data
let parent = Ddata.parent.data
let standard = {
name: parent.name,
standardNo: parent.standardNo,
chapter: parent.chapter,
type:parent.type == 'system' ? '体系审查' : parent.type == 'car' ? '车型审查' : parent.type == 'test' ? '车型实验' : '' ,
text:parent.text
}
// 当点击审查信息时,将审查信息中的关联场景拼接为字符串,如果已经为字符串了则不做更改,当关联场景没有数据时以"--"代替 forEach(temp.reviewDetailsList, detail => {
forEach(node.reviewDetailsList,(detail)=>{ if (typeof detail.reviewSceneList != 'string') {
if(typeof detail.reviewSceneList != 'string'){
let str = '' let str = ''
forEach(detail.reviewSceneList,(scene)=>{ forEach(detail.reviewSceneList, scene => {
str = str + scene.text + '\n' str = str + scene.text + '\n'
}) })
if(str=='' || !str){ if (str == '' || !str) {
str = '--' str = '--'
} }
detail.reviewSceneList = str detail.reviewSceneList = str
} }
}) })
let data={
content:temp.text,
reviewDetailsList: temp.reviewDetailsList
}
// 获取当前审查信息的类型
this.detailModelManager.source.standard = standard // 赋值传递弹窗
this.detailModelManager.source.judge = data
this.detailModelManager.dialogVisible = true
})
//当点击审查信息时,将审查信息中的关联场景拼接为字符串,如果已经为字符串了则不做更改,当关联场景没有数据时以"--"代替
// if (this.queryParams.type === 'test') { // if (this.queryParams.type === 'test') {
// this.documentReviewDialogManger.dialogVisible = true // this.documentReviewDialogManger.dialogVisible = true
// this.documentReviewDialogManger.dialogEditId = row.id // this.documentReviewDialogManger.dialogEditId = row.id
...@@ -528,7 +614,7 @@ export default { ...@@ -528,7 +614,7 @@ export default {
// this.$refs.vehicleModelDialog.init() // this.$refs.vehicleModelDialog.init()
// } // }
// console.log('dialogEditId', this.vehicleModelDialogManger.dialogEditId) // console.log('dialogEditId', this.vehicleModelDialogManger.dialogEditId)
this.detailModelManager.dialogVisible = true
} }
// handleQuery(){ // handleQuery(){
// this.$store.dispatch('standard/setStandard', this.standardList.find((item)=>item.id == this.queryParams.standardId)) // this.$store.dispatch('standard/setStandard', this.standardList.find((item)=>item.id == this.queryParams.standardId))
...@@ -565,46 +651,58 @@ export default { ...@@ -565,46 +651,58 @@ export default {
// el-tree的样式设置 // el-tree的样式设置
.tree { .tree {
padding: 10px 20px; padding: 10px 20px;
::v-deep .el-tree-node{ // 节点样式 ::v-deep .el-tree-node {
// 节点样式
position: relative; position: relative;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
} }
::v-deep .is-leaf::before{ // 叶子节点箭头样式设置:不显示 ::v-deep .is-leaf::before {
// 叶子节点箭头样式设置:不显示
opacity: 0; opacity: 0;
} }
::v-deep .el-tree-node__content { // 节点内容样式设置 ::v-deep .el-tree-node__content {
// 节点内容样式设置
width: 100%; width: 100%;
height: 40px; height: 40px;
//display: flex; //display: flex;
//justify-content: space-between; //justify-content: space-between;
margin-top: 10px; margin-top: 10px;
color:black; color: black;
font-size: large; font-size: large;
border-radius: 5px; border-radius: 5px;
background-color: #f0f7ff; background-color: #f0f7ff;
} }
::v-deep .el-tree-node__content .el-tree-node__expand-icon { // 节点箭头样式设置 ::v-deep .el-tree-node__content .el-tree-node__expand-icon {
// 节点箭头样式设置
color: black; color: black;
} }
::v-deep .el-tree-node__children{ // 子节点样式设置 ::v-deep .el-tree-node__children {
// 子节点样式设置
transition: all 0.5s; transition: all 0.5s;
} }
::v-deep .el-tree-node__children .el-tree-node__content{// 子节点内容样式设置 ::v-deep .el-tree-node__children .el-tree-node__content {
// 子节点内容样式设置
height: 30px; height: 30px;
margin: 5px 0; margin: 5px 0;
background-color: white; background-color: white;
} }
::v-deep .el-tree-node__children .el-tree-node__children .el-tree-node__content .el-tree-node__expand-icon{ ::v-deep
.el-tree-node__children
.el-tree-node__children
.el-tree-node__content
.el-tree-node__expand-icon {
opacity: 0; opacity: 0;
} }
::v-deep .el-tree-label{ // 树中显示标题(label)设置 ::v-deep .el-tree-label {
// 树中显示标题(label)设置
text-align: center; text-align: center;
font-size: 13px; font-size: 13px;
font-weight: bold; font-weight: bold;
} }
::v-deep .el-tree-content{ // 树中显示内容(content)设置 ::v-deep .el-tree-content {
// 树中显示内容(content)设置
font-size: 14px; font-size: 14px;
} }
} }
......
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