Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
car-database-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
中汽研标准应用数据库
car-database-web
Commits
78e23eaf
Commit
78e23eaf
authored
Sep 11, 2024
by
zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(检测内容/实施细则): 测试用例库并入实施细则,逻辑更新。
parent
2f0a1d41
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
820 additions
and
594 deletions
+820
-594
standard.js
src/api/standard/standard.js
+8
-0
chapterOption.vue
src/components/Page/chapterOption.vue
+291
-237
getters.js
src/store/getters.js
+4
-0
standard.js
src/store/modules/standard.js
+23
-0
index.vue
src/views/setting/standardPoint/index.vue
+0
-1
detailModel.vue
src/views/setting/standardTerms/components/detailModel.vue
+138
-98
index.vue
src/views/setting/standardTerms/index.vue
+356
-258
No files found.
src/api/standard/standard.js
View file @
78e23eaf
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
src/components/Page/chapterOption.vue
View file @
78e23eaf
...
@@ -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=
"defaultExp
andI
ds"
:default-expanded-keys=
"defaultExp
en
ds"
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
([
'standard
Obj
'
])
},
},
watch
:
{
watch
:
{
'$store.getters.
s
tandard'
:
{
'$store.getters.
initS
tandard'
:
{
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
>
src/store/getters.js
View file @
78e23eaf
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
...
...
src/store/modules/standard.js
View file @
78e23eaf
...
@@ -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
:
''
,
...
...
src/views/setting/standardPoint/index.vue
View file @
78e23eaf
...
@@ -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
)
...
...
src/views/setting/standardTerms/components/detailModel.vue
View file @
78e23eaf
<
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
{
...
...
src/views/setting/standardTerms/index.vue
View file @
78e23eaf
...
@@ -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
.
standard
Obj
.
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.standard
Obj
'
:
{
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
.
list
Url
,
url
:
this
.
listNew
Url
,
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
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment