Commit b119838c authored by jiaxu.yan's avatar jiaxu.yan

fix: 70521 70520 70537 70536 70535 70534

parent d2a31c8f
......@@ -10,6 +10,7 @@ cartype
cascader
chexing
Chexingdialog
cnpm
colspan
commandstats
commitlint
......
......@@ -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
......@@ -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'
......@@ -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'
module.exports = {
configureWebpack: {
module: {
rules: [ // or "loaders" for webpack 1.x
{ test: /\.graphql|gql?$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader' }
]
},
}
}
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
}
}
}
......@@ -122,7 +122,7 @@ Vue.use(Element, {
Vue.config.productionTip = false
// 导入apollo-boost模块实例化AolloClient
// 导入apollo-boost模块实例化ApolloClient
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", //
});
......
<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: ['system_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) {
......
......@@ -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>
......
......@@ -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>
......
<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>
......@@ -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: 'https://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>
......
......@@ -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>
......
......@@ -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: './' //到根目录下
}
})
}
}
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