Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
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
中汽测评-信息安全测评系统
web
Commits
b119838c
Commit
b119838c
authored
Mar 12, 2024
by
jiaxu.yan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 70521 70520 70537 70536 70535 70534
parent
d2a31c8f
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
199 additions
and
243 deletions
+199
-243
custom-words.txt
.cspell/custom-words.txt
+1
-0
.env.development
.env.development
+2
-1
.env.production
.env.production
+3
-1
.env.staging
.env.staging
+2
-1
.graphgl
.graphgl
+0
-11
client.graphql
src/api/graphql/client.graphql
+21
-0
main.js
src/main.js
+2
-2
index.vue
src/views/processing/archivedTask/index.vue
+85
-74
index.vue
src/views/processing/processed-review/index.vue
+7
-5
index.vue
src/views/processing/unprocessed-review/index.vue
+3
-1
index.vue
src/views/processing/viewRetentionFile/index.vue
+0
-102
index.vue
src/views/setting/testMatrix/useCaseDetails/index.vue
+17
-2
index.vue
src/views/task/on/index.vue
+7
-5
vue.config.js
vue.config.js
+49
-38
No files found.
.cspell/custom-words.txt
View file @
b119838c
...
...
@@ -10,6 +10,7 @@ cartype
cascader
chexing
Chexingdialog
cnpm
colspan
commandstats
commitlint
...
...
.env.development
View file @
b119838c
...
...
@@ -10,5 +10,6 @@ VUE_APP_BASE_API = '/dev-api'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 图片服务器地址
VUE_APP_IMAGE_API = http://49.232.167.247:
22037
VUE_APP_IMAGE_API = http://49.232.167.247:
443
VUE_APP_CLIENT_API = /client-api
.env.production
View file @
b119838c
...
...
@@ -8,4 +8,6 @@ ENV = 'production'
VUE_APP_BASE_API = '/prod-api'
# 图片服务器地址
VUE_APP_IMAGE_API =''
VUE_APP_IMAGE_API ='/'
VUE_APP_CLIENT_API = 'http://10.12.48.78:22032/usecase'
.env.staging
View file @
b119838c
...
...
@@ -7,5 +7,6 @@ ENV = 'staging'
# 中汽研安全检测平台管理系统/开发环境
VUE_APP_BASE_API = 'http://49.232.167.247:22032'
# 图片服务器地址
VUE_APP_IMAGE_API =
http://49.232.167.247:22037
VUE_APP_IMAGE_API =
'http://49.232.167.247:22032'
VUE_APP_CLIENT_API = 'http://10.12.48.78:22032/usecase'
.graphgl
deleted
100644 → 0
View file @
d2a31c8f
module.exports = {
configureWebpack: {
module: {
rules: [ // or "loaders" for webpack 1.x
{ test: /\.graphql|gql?$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader' }
]
},
}
}
src/api/graphql/client.graphql
View file @
b119838c
query
GetSuiteList
(
$offset
:
Int
=
0
,
$limit
:
Int
=
20
,
$search
:
String
=
""
)
{
suiteList
:
getUserCustomCaseSuiteList
(
teamId
:
"team_items;1"
search
:
{
offset
:
{
offset
:
$offset
,
limit
:
$limit
},
searchField
:
"name"
,
search
:
$search
}
)
{
count
list
:
resultList
{
id
name
lawType
:
layType
style
descriptionInfo
canModify
caseCount
updateTime
createTime
createUser
createUserId
}
}
}
src/main.js
View file @
b119838c
...
...
@@ -122,7 +122,7 @@ Vue.use(Element, {
Vue
.
config
.
productionTip
=
false
// 导入apollo-boost模块实例化AolloClient
// 导入apollo-boost模块实例化A
p
olloClient
import
ApolloClient
from
'apollo-boost'
;
import
VueApollo
from
'vue-apollo'
...
...
@@ -132,7 +132,7 @@ Vue.use(VueApollo);
// 请求graphql使用的apollo API
const
apolloClient
=
new
ApolloClient
({
// 服务端Url
uri
:
'/query'
,
//
uri
:
process
.
env
.
VUE_APP_CLIENT_API
+
"/query"
,
//
});
...
...
src/views/processing/archivedTask/index.vue
View file @
b119838c
<
template
>
<page-standard>
<el-form
v-show=
"showSearch"
ref=
"queryForm"
:model=
"queryParams"
size=
"small"
:inline=
"true"
>
<el-form-item
label=
"检验依据"
>
<el-select
v-model=
"queryParams.ask"
clearable
style=
"width: 100%"
@
change=
"loadData"
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"status"
label=
"任务编号"
>
<el-input
v-model=
"queryParams.deptName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
prop=
"status"
label=
"任务名称"
>
<el-input
v-model=
"queryParams.deptName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
prop=
"status"
label=
"车辆型号"
>
<el-input
v-model=
"queryParams.deptName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
prop=
"status"
label=
"检验项目"
>
<el-select
v-model=
"queryParams.taskStatus"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in dict.type.system_task_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
<el-form
ref=
"queryForm"
:model=
"queryParams"
size=
"small"
:inline=
"true"
>
<template
v-if=
"showSearch"
>
<el-form-item
label=
"检验依据"
>
<el-select
v-model=
"queryParams.standardId"
clearable
style=
"width: 100%"
@
change=
"loadData"
>
<el-option
v-for=
"(item, key) in standardList"
:key=
"key"
:value=
"item.id"
:label=
"item.name"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"status"
label=
"任务编号"
>
<el-input
v-model=
"queryParams.taskNo"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
查询
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"status"
label=
"任务名称"
>
<el-input
v-model=
"queryParams.taskName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
prop=
"status"
label=
"车辆型号"
>
<el-input
v-model=
"queryParams.productModel"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
prop=
"status"
label=
"检验项目"
>
<el-select
v-model=
"queryParams.inspectionItem"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in dict.type.inspection_item"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
查询
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</
template
>
<!-- <el-form-item>
<right-toolbar
:show-search.sync="showSearch"
@queryTable="loadData"
></right-toolbar>
</el-form-item> -->
</el-form>
<div
v-loading=
"loading"
>
<
template
v-if=
"tableData.length"
>
...
...
@@ -113,11 +115,11 @@
<div
class=
"cell-label"
>
任务周期
</div>
<div
class=
"cell-value"
>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskBeginTime
)
}}
{{
item
.
taskBeginTime
}}
</div>
<div
class=
"w-100"
style=
"text-align: center"
>
~
</div>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskEndTime
)
}}
{{
item
.
taskEndTime
}}
</div>
</div>
</div>
...
...
@@ -245,8 +247,9 @@
</template>
<
script
>
import
page
from
'@/mixins/page'
import
{
mapGetters
}
from
'vuex'
export
default
{
dicts
:
[
'sys
tem_task_status'
,
'sys_scene_type'
,
'task_type
'
],
dicts
:
[
'sys
_scene_type'
,
'task_type'
,
'inspection_item
'
],
mixins
:
[
page
],
data
()
{
return
{
...
...
@@ -255,7 +258,15 @@ export default {
tableData
:
[]
}
},
computed
:
{
...
mapGetters
([
'userId'
,
'standardList'
])
},
watch
:
{},
created
()
{
this
.
$store
.
dispatch
(
'standard/setStandardList'
)
},
methods
:
{
/* 跳转到问卷详情*/
goNext
(
url
)
{
...
...
src/views/processing/processed-review/index.vue
View file @
b119838c
...
...
@@ -82,7 +82,9 @@
:key=
"index"
class=
"task-card-box"
>
<div
class=
"inspection-standard"
>
检验依据:《
{{
item
.
name
}}
》
</div>
<div
class=
"inspection-standard"
>
检验依据:
{{
item
.
standardNo
}}
《
{{
item
.
name
}}
》
</div>
<div
class=
"card-content"
>
<div
class=
"card-cell"
>
<div
class=
"cell-label"
>
任务编号
</div>
...
...
@@ -106,20 +108,20 @@
<div
class=
"cell-label"
>
车辆型号
</div>
<div
class=
"cell-value"
:title=
"item.
taskName ? item.taskName
: '---'"
:title=
"item.
productModel ? item.productModel
: '---'"
>
{{
item
.
taskName
?
item
.
taskName
:
'---'
}}
{{
item
.
productModel
?
item
.
productModel
:
'---'
}}
</div>
</div>
<div
class=
"card-cell"
>
<div
class=
"cell-label"
>
任务周期
</div>
<div
class=
"cell-value"
>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskBeginTime
)
}}
{{
item
.
taskBeginTime
}}
</div>
<div
class=
"w-100"
style=
"text-align: center"
>
~
</div>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskEndTime
)
}}
{{
item
.
taskEndTime
}}
</div>
</div>
</div>
...
...
src/views/processing/unprocessed-review/index.vue
View file @
b119838c
...
...
@@ -82,7 +82,9 @@
:key=
"index"
class=
"task-card-box"
>
<div
class=
"inspection-standard"
>
检验依据:《
{{
item
.
name
}}
》
</div>
<div
class=
"inspection-standard"
>
检验依据:
{{
item
.
standardNo
}}
《
{{
item
.
name
}}
》
</div>
<div
class=
"card-content"
>
<div
class=
"card-cell"
>
<div
class=
"cell-label"
>
任务编号
</div>
...
...
src/views/processing/viewRetentionFile/index.vue
deleted
100644 → 0
View file @
d2a31c8f
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
<span>
企业留档文件(所属任务:广汽丰田体系审查)
</span>
<el-button
icon=
"el-icon-back"
class=
"back-btn"
type=
"text"
@
click=
"handleBack"
>
返回
</el-button>
<el-button
class=
"back-btn"
icon=
"el-icon-download"
type=
"primary"
>
下载文件
</el-button>
</div>
<!-- table部分 -->
<table
border=
"1"
>
<thead>
<tr>
<th
class=
"one-column"
rowspan=
"2"
>
文件名称
</th>
<th
class=
"two-column"
>
文件目录
</th>
<th
class=
"three-column"
>
标准章节
</th>
<th
class=
"four-column"
>
标准要求
</th>
<th
class=
"five-column"
>
审查要点
</th>
</tr>
</thead>
<tbody>
<tr>
<td
class=
"one-column"
rowspan=
"2"
>
文件
</td>
<td
class=
"two-column"
>
1.1-1.5
</td>
<td
class=
"three-column"
>
5.1
</td>
<td
class=
"four-column"
>
车辆制造商应具备车辆全生命周期的汽车信息安全管理体系
</td>
<td
class=
"five-column"
>
车辆制造商是否建立汽车信息安全管理体系
</td>
</tr>
<tr>
<td
class=
"two-column"
>
1.6
</td>
<td
class=
"three-column"
>
5.1
</td>
<td
class=
"four-column"
>
车辆制造商应具备车辆全生命周期的汽车信息安全管理体系
</td>
<td
class=
"five-column"
>
车辆制造商是否针对正式发布的汽车信息安全管理体系进行了试运行
</td>
</tr>
</tbody>
</table>
</el-card>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{}
},
methods
:
{
handleBack
()
{
this
.
$router
.
go
(
-
1
)
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.app-container
{
.back-btn
{
margin-left
:
10px
;
float
:
right
;
}
}
table
{
border-collapse
:
collapse
;
width
:
100%
;
}
th
,
td
{
border
:
1px
solid
black
;
padding
:
8px
;
text-align
:
left
;
width
:
300px
;
}
.five-column
{
width
:
350px
;
}
.four-column
{
width
:
350px
;
}
.three-column
{
width
:
300px
;
}
.two-column
{
width
:
150px
;
}
.one-column
{
width
:
200px
;
}
</
style
>
src/views/setting/testMatrix/useCaseDetails/index.vue
View file @
b119838c
...
...
@@ -13,15 +13,30 @@
</
template
>
<
script
>
import
{
GetSuiteList
}
from
'@/api/graphql/client.graphql'
export
default
{
name
:
'Index'
,
data
()
{
return
{
id
:
this
.
$route
.
query
,
url
:
'http
://10.12.48.80:8089
/car/caseManage/case/casePublishDetail/case_items;375'
url
:
'http
s://10.12.48.78/usecase
/car/caseManage/case/casePublishDetail/case_items;375'
}
},
mounted
()
{}
mounted
()
{
this
.
getSuiteList
()
},
methods
:
{
getSuiteList
()
{
this
.
$apollo
.
query
({
fetchPolicy
:
'no-cache'
,
query
:
GetSuiteList
})
.
then
(
res
=>
{
console
.
log
(
res
)
})
}
}
}
</
script
>
...
...
src/views/task/on/index.vue
View file @
b119838c
...
...
@@ -93,7 +93,9 @@
:key=
"index"
class=
"task-card-box"
>
<div
class=
"inspection-standard"
>
检验依据:《
{{
item
.
name
}}
》
</div>
<div
class=
"inspection-standard"
>
检验依据:
{{
item
.
standardNo
}}
《
{{
item
.
name
}}
》
</div>
<div
v-if=
"item.taskStatus !== 'FINISH'"
class=
"card-content"
>
<div
class=
"card-cell"
>
<div
class=
"cell-label"
>
任务编号
</div>
...
...
@@ -371,20 +373,20 @@
<div
class=
"cell-label"
>
车辆型号
</div>
<div
class=
"cell-value"
:title=
"item.
taskName ? item.taskName
: '---'"
:title=
"item.
productModel ? item.productModel
: '---'"
>
{{
item
.
taskName
?
item
.
taskName
:
'---'
}}
{{
item
.
productModel
?
item
.
productModel
:
'---'
}}
</div>
</div>
<div
class=
"card-cell"
>
<div
class=
"cell-label"
>
任务周期
</div>
<div
class=
"cell-value"
>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskBeginTime
)
}}
{{
item
.
taskBeginTime
}}
</div>
<div
class=
"w-100"
style=
"text-align: center"
>
~
</div>
<div
class=
"w-100"
>
{{
parseTime
(
item
.
taskEndTime
)
}}
{{
item
.
taskEndTime
}}
</div>
</div>
</div>
...
...
vue.config.js
View file @
b119838c
...
...
@@ -40,7 +40,14 @@ module.exports = {
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
}
}
},
[
process
.
env
.
VUE_APP_CLIENT_API
]:
{
target
:
`http://10.12.48.78:443/usecase`
,
changeOrigin
:
true
,
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_CLIENT_API
]:
''
}
},
},
disableHostCheck
:
true
,
// port: port,
...
...
@@ -104,46 +111,50 @@ module.exports = {
symbolId
:
'icon-[name]'
})
.
end
()
config
.
module
.
rule
(
'graphql'
)
.
test
(
/
\.
graphql$/
)
.
use
(
'graphql-tag/loader'
)
.
loader
(
'graphql-tag/loader'
)
.
end
();
config
.
when
(
process
.
env
.
NODE_ENV
!==
'development'
,
config
=>
{
config
.
plugin
(
'ScriptExtHtmlWebpackPlugin'
)
.
after
(
'html'
)
.
use
(
'script-ext-html-webpack-plugin'
,
[{
// `runtime` must same as runtimeChunk name. default is `runtime`
inline
:
/runtime
\.
.*
\.
js$/
}])
.
end
()
config
.
plugin
(
'ScriptExtHtmlWebpackPlugin'
)
.
after
(
'html'
)
.
use
(
'script-ext-html-webpack-plugin'
,
[{
// `runtime` must same as runtimeChunk name. default is `runtime`
inline
:
/runtime
\.
.*
\.
js$/
}])
.
end
()
config
.
optimization
.
splitChunks
({
chunks
:
'all'
,
cacheGroups
:
{
libs
:
{
name
:
'chunk-libs'
,
test
:
/
[\\/]
node_modules
[\\/]
/
,
priority
:
10
,
chunks
:
'initial'
// only package third parties that are initially dependent
},
elementUI
:
{
name
:
'chunk-elementUI'
,
// split elementUI into a single package
test
:
/
[\\/]
node_modules
[\\/]
_
?
element-ui
(
.*
)
/
,
// in order to adapt to cnpm
priority
:
20
// the weight needs to be larger than libs and app or it will be packaged into libs or app
},
commons
:
{
name
:
'chunk-commons'
,
test
:
resolve
(
'src/components'
),
// can customize your rules
minChunks
:
3
,
// minimum common number
priority
:
5
,
reuseExistingChunk
:
true
}
}
})
config
.
optimization
.
runtimeChunk
(
'single'
),
{
from
:
path
.
resolve
(
__dirname
,
'./public/robots.txt'
),
//防爬虫文件
to
:
'./'
//到根目录下
config
.
optimization
.
splitChunks
({
chunks
:
'all'
,
cacheGroups
:
{
libs
:
{
name
:
'chunk-libs'
,
test
:
/
[\\/]
node_modules
[\\/]
/
,
priority
:
10
,
chunks
:
'initial'
// only package third parties that are initially dependent
},
elementUI
:
{
name
:
'chunk-elementUI'
,
// split elementUI into a single package
test
:
/
[\\/]
node_modules
[\\/]
_
?
element-ui
(
.*
)
/
,
// in order to adapt to cnpm
priority
:
20
// the weight needs to be larger than libs and app or it will be packaged into libs or app
},
commons
:
{
name
:
'chunk-commons'
,
test
:
resolve
(
'src/components'
),
// can customize your rules
minChunks
:
3
,
// minimum common number
priority
:
5
,
reuseExistingChunk
:
true
}
}
})
config
.
optimization
.
runtimeChunk
(
'single'
),
{
from
:
path
.
resolve
(
__dirname
,
'./public/robots.txt'
),
//防爬虫文件
to
:
'./'
//到根目录下
}
})
}
}
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