Commit e501bb20 authored by zhang's avatar zhang
parents 78e23eaf a2a6730f
const Mock = require('mockjs')
const List = []
const count = 100
const baseContent = '<p>I am testing data, I am testing data.</p><p><img src="https://wpimg.wallstcn.com/4c69009c-0fd4-4153-b112-6cb53d1cf943"></p>'
const image_uri = 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3'
for (let i = 0; i < count; i++) {
List.push(Mock.mock({
id: '@increment',
timestamp: +Mock.Random.date('T'),
author: '@first',
reviewer: '@first',
title: '@title(5, 10)',
content_short: 'mock data',
content: baseContent,
forecast: '@float(0, 100, 2, 2)',
importance: '@integer(1, 3)',
'type|1': ['CN', 'US', 'JP', 'EU'],
'status|1': ['published', 'draft'],
display_time: '@datetime',
comment_disabled: true,
pageviews: '@integer(300, 5000)',
image_uri,
platforms: ['a-platform']
}))
}
module.exports = [
{
url: '/article/list',
type: 'get',
response: config => {
const { importance, type, title, page = 1, limit = 20, sort } = config.query
let mockList = List.filter(item => {
if (importance && item.importance !== +importance) return false
if (type && item.type !== type) return false
if (title && item.title.indexOf(title) < 0) return false
return true
})
if (sort === '-id') {
mockList = mockList.reverse()
}
const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1))
return {
code: 20000,
data: {
total: mockList.length,
items: pageList
}
}
}
},
{
url: '/article/detail',
type: 'get',
response: config => {
const { id } = config.query
for (const article of List) {
if (article.id === +id) {
return {
code: 20000,
data: article
}
}
}
}
},
{
url: '/article/pv',
type: 'get',
response: _ => {
return {
code: 20000,
data: {
pvData: [
{ key: 'PC', pv: 1024 },
{ key: 'mobile', pv: 1024 },
{ key: 'ios', pv: 1024 },
{ key: 'android', pv: 1024 }
]
}
}
}
},
{
url: '/article/create',
type: 'post',
response: _ => {
return {
code: 20000,
data: 'success'
}
}
},
{
url: '/article/update',
type: 'post',
response: _ => {
return {
code: 20000,
data: 'success'
}
}
}
]
const Mock = require('mockjs')
const { param2Obj } = require('./utils')
const task = require('./task')
const user = require('./user')
const role = require('./role')
const article = require('./article')
const search = require('./remote-search')
const setting = require('./setting')
const review = require('./review')
const mocks = [...task, ...setting, ...review]
// for front mock
// please use it cautiously, it will redefine XMLHttpRequest,
// which will cause many of your third-party libraries to be invalidated(like progress event).
function mockXHR() {
// mock patch
// https://github.com/nuysoft/Mock/issues/300
Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send
Mock.XHR.prototype.send = function () {
if (this.custom.xhr) {
this.custom.xhr.withCredentials = this.withCredentials || false
if (this.responseType) {
this.custom.xhr.responseType = this.responseType
}
}
this.proxy_send(...arguments)
}
function XHR2ExpressReqWrap(respond) {
return function (options) {
let result = null
if (respond instanceof Function) {
const { body, type, url } = options
// https://expressjs.com/en/4x/api.html#req
result = respond({
method: type,
body: JSON.parse(body),
query: param2Obj(url)
})
} else {
result = respond
}
return Mock.mock(result)
}
}
for (const i of mocks) {
Mock.mock(
new RegExp(i.url),
i.type || 'get',
XHR2ExpressReqWrap(i.response)
)
}
}
module.exports = {
mocks,
mockXHR
}
const chokidar = require('chokidar')
const bodyParser = require('body-parser')
const chalk = require('chalk')
const path = require('path')
const Mock = require('mockjs')
const mockDir = path.join(process.cwd(), 'mock')
function registerRoutes(app) {
let mockLastIndex
const { mocks } = require('./index.js')
const mocksForServer = mocks.map(route => {
return responseFake(route.url, route.type, route.response)
})
for (const mock of mocksForServer) {
app[mock.type](mock.url, mock.response)
mockLastIndex = app._router.stack.length
}
const mockRoutesLength = Object.keys(mocksForServer).length
return {
mockRoutesLength: mockRoutesLength,
mockStartIndex: mockLastIndex - mockRoutesLength
}
}
function unregisterRoutes() {
Object.keys(require.cache).forEach(i => {
if (i.includes(mockDir)) {
delete require.cache[require.resolve(i)]
}
})
}
// for mock server
const responseFake = (url, type, respond) => {
console.log(process.env.VUE_APP_BASE_API);
console.log(url);
return {
url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`),
type: type || 'get',
response(req, res) {
console.log('request invoke:' + req.path)
res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond))
}
}
}
module.exports = app => {
// parse app.body
// https://expressjs.com/en/4x/api.html#req.body
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}))
const mockRoutes = registerRoutes(app)
var mockRoutesLength = mockRoutes.mockRoutesLength
var mockStartIndex = mockRoutes.mockStartIndex
// watch files, hot reload mock server
chokidar.watch(mockDir, {
ignored: /mock-server/,
ignoreInitial: true
}).on('all', (event, path) => {
if (event === 'change' || event === 'add') {
try {
// remove mock routes stack
app._router.stack.splice(mockStartIndex, mockRoutesLength)
// clear routes cache
unregisterRoutes()
const mockRoutes = registerRoutes(app)
mockRoutesLength = mockRoutes.mockRoutesLength
mockStartIndex = mockRoutes.mockStartIndex
console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`))
} catch (error) {
console.log(chalk.redBright(error))
}
}
})
}
const Mock = require('mockjs')
const NameList = []
const count = 100
for (let i = 0; i < count; i++) {
NameList.push(Mock.mock({
name: '@first'
}))
}
NameList.push({ name: 'mock-Pan' })
module.exports = [
// username search
{
url: '/search/user',
type: 'get',
response: config => {
const { name } = config.query
const mockNameList = NameList.filter(item => {
const lowerCaseName = item.name.toLowerCase()
return !(name && lowerCaseName.indexOf(name.toLowerCase()) < 0)
})
return {
code: 20000,
data: { items: mockNameList }
}
}
},
// transaction list
{
url: '/transaction/list',
type: 'get',
response: _ => {
return {
code: 20000,
data: {
total: 20,
'items|20': [{
order_no: '@guid()',
timestamp: +Mock.Random.date('T'),
username: '@name()',
price: '@float(1000, 15000, 0, 2)',
'status|1': ['success', 'pending']
}]
}
}
}
}
]
module.exports = [
{
url: '/wait-list',
type: 'get',
response: config => {
temp = [
{
reviewNo: '20231209001',
reviewType: '新增场景',
type: 1,
sceneCategory: '车型审查',
sceneContent: '制度发布会音频文件',
reviewer: '赵晓东,盖献康,刘佳',
waitingTime: '1天12小时',
createTime: '2023-11-24 10:14:08'
},
{
reviewNo: '20231209002',
reviewType: '修改场景',
type: 2,
sceneCategory: '体系审查',
sceneContent: 'TBOX-蜂窝以太网接口',
reviewer: '赵晓东,尚志伟,闫嘉旭',
waitingTime: '1天13小时',
createTime: '2023-11-22 13:56:34'
},
{
reviewNo: '20231209003',
reviewType: '删除场景',
type: 3,
sceneCategory: '体系审查',
sceneContent: 'TBOX-车辆定位系统',
reviewer: '周朋,李宇涵,李亚涛',
waitingTime: '2天1小时',
createTime: '2023-11-13 17:26:54'
},
{
reviewNo: '20231209004',
reviewType: '修改场景',
type: 2,
sceneCategory: '车型审查',
sceneContent: '发布会车辆制动相关样品',
reviewer: '张鹏伟,李旭,张鑫',
waitingTime: '2天1小时',
createTime: '2023-11-12 14:43:22'
},
{
reviewNo: '20231209005',
reviewType: '删除场景',
type: 3,
sceneCategory: '车型审查',
sceneContent: '保障智能网联汽车时空数据存储文件',
reviewer: '孟同伟,孙钊涵,邵亮',
waitingTime: '3天3小时',
createTime: '2023-11-06 12:45:23'
},
{
reviewNo: '20231209001',
reviewType: '删除场景',
sceneCategory: '车型审查',
sceneContent: '智能网联汽车的访问控制-加密操作硬件',
reviewer: '李旭,孟同伟,张鑫',
waitingTime: '5天5小时',
createTime: '2023-11-02 08:12:56'
}
]
return {
rows: temp,
code: 200,
total: 10
}
}
}
]
const Mock = require('mockjs')
const { deepClone } = require('../utils')
const { asyncRoutes, constantRoutes } = require('./routes.js')
const routes = deepClone([...constantRoutes, ...asyncRoutes])
const roles = [
{
key: 'admin',
name: 'admin',
description: 'Super Administrator. Have access to view all pages.',
routes: routes
},
{
key: 'editor',
name: 'editor',
description: 'Normal Editor. Can see all pages except permission page',
routes: routes.filter(i => i.path !== '/permission')// just a mock
},
{
key: 'visitor',
name: 'visitor',
description: 'Just a visitor. Can only see the home page and the document page',
routes: [{
path: '',
redirect: 'dashboard',
children: [
{
path: 'dashboard',
name: 'Dashboard',
meta: { title: 'dashboard', icon: 'dashboard' }
}
]
}]
}
]
module.exports = [
// mock get all routes form server
{
url: '/routes',
type: 'get',
response: _ => {
return {
code: 20000,
data: routes
}
}
},
// mock get all roles form server
{
url: '/roles',
type: 'get',
response: _ => {
return {
code: 20000,
data: roles
}
}
},
// add role
{
url: '/role',
type: 'post',
response: {
code: 20000,
data: {
key: Mock.mock('@integer(300, 5000)')
}
}
},
// update role
{
url: '/role/[A-Za-z0-9]',
type: 'put',
response: {
code: 20000,
data: {
status: 'success'
}
}
},
// delete role
{
url: '/role/[A-Za-z0-9]',
type: 'delete',
response: {
code: 20000,
data: {
status: 'success'
}
}
}
]
This diff is collapsed.
/**
* 参考https://github.com/nuysoft/Mock/wiki/Syntax-Specification
* */
module.exports = [
// get tasklist
{
url: '/tasklist',
type: 'get',
response: config => {
const temp = [
{
startTime: '--',
missionNo: 'xxxxxxxxx',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTime': 0,
'progress': 0
},
{
startTime: '2020-12-01 10:30 ',
missionNo: 'xxxxxxxxx',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTime': 3,
'progress': 80
},
{
startTime: '2020-12-01 10:30',
missionNo: 'xxxxxxxxx',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTime': 12,
'progress': 90
}
]
return {
rows: temp,
code: 200,
total: 10
}
}
},
{
url: '/finishTasklist',
type: 'get',
response: config => {
const temp = [
{
startTime: '2020-12-01 10:30 ',
missionNo: 'xxxxxxxxx',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTime': 3,
'progress': 80
},
{
startTime: '2020-12-01 10:30',
missionNo: 'xxxxxxxxx',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTime': 12,
'progress': 90
}
]
return {
rows: temp,
code: 200,
total: 10
}
}
},
// get taskCarType
{
url: '/taskCarType',
type: 'get',
response: config => {
const temp = [
{
startTime: '----',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 0,
'costTimeTwo': 0,
'progressOne': 0,
'progressTwo': 0,
docTypeOne:1,
docTypeTwo:2,
},
{
startTime: ' 2020-12-01 10:30',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 12,
'costTimeTwo': 0,
'progressOne': 80,
'progressTwo': 0,
docTypeOne:3,
docTypeTwo:2,
},
{
startTime: ' 2020-12-01 10:30',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 24,
'costTimeTwo': 3,
'progressOne': 90,
'progressTwo': 30,
docTypeOne:4,
docTypeTwo:2,
},
{
startTime: ' 2020-12-01 10:30',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 25,
'costTimeTwo': 1,
'progressOne': 100,
'progressTwo': 30,
docTypeOne:5,
docTypeTwo:6,
},
{
startTime: ' 2020-12-01 10:30',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 49,
'costTimeTwo': 25,
'progressOne': 100,
'progressTwo': 90,
docTypeOne:5,
docTypeTwo:7,
},
{
startTime: ' 2020-12-01 10:30',
missionNo: 'xxxx',
tit: '广汽丰田车型测评1210',
owener: '@cname',
'costTimeOne': 49,
// 'costTimeTwo': 25,
'progressOne': 100,
// 'progressTwo': 90,
docTypeOne:1,
// docTypeTwo:1,
}
]
return {
rows: temp,
code: 200,
total: 10
}
}
},
{
url: '/company/list',
type: 'get',
response: config => {
const temp = []
for (let i = 0; i < 10; i++) {
temp.push({
companyName: 'xxxxx',
address: 'xxxxx',
mailCode: 'xxxxx',
companyPeople: 'xxxxx',
phoneNum: 'xxxxx',
createTime: '2020-11-25 23:26:08'
})
}
return {
rows: temp,
code: 200,
total: 10
}
}
}
]
const tokens = {
admin: 'admin-token',
editor: 'editor-token'
}
const users = {
'admin-token': {
user: {
avatar:''
},
roles: ['editor'],
},
'editor-token': {
roles: ['editor'],
introduction: 'I am an editor',
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
name: 'Normal Editor'
}
}
module.exports = [
// user login
{
url: '/login',
type: 'post',
response: config => {
const { username } = config.body
const token = tokens[username]
// mock error
if (!token) {
return {
code: 60204,
message: 'Account and password are incorrect.'
}
}
return {
code: 200,
token:tokens[username]
}
}
},
// get user info
{
url: '/getInfo\.*',
type: 'get',
response: config => {
const { token } = config.query
const info = users[token]
// mock error
if (!info) {
return {
code: 50008,
message: 'Login failed, unable to get user details.'
}
}
return {
code: 200,
data: info
}
}
},
// user logout
{
url: '/logout',
type: 'post',
response: _ => {
return {
code: 200,
data: 'success'
}
}
},
{
url: '/captchaImage',
type: 'get',
response: _ => {
return {
code: 200,
message: 'Login failed, unable to get user details.'
}
}
}
]
/**
* @param {string} url
* @returns {Object}
*/
function param2Obj(url) {
const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
if (!search) {
return {}
}
const obj = {}
const searchArr = search.split('&')
searchArr.forEach(v => {
const index = v.indexOf('=')
if (index !== -1) {
const name = v.substring(0, index)
const val = v.substring(index + 1, v.length)
obj[name] = val
}
})
return obj
}
/**
* This is just a simple version of deep copy
* Has a lot of edge cases bug
* If you want to use a perfect deep copy, use lodash's _.cloneDeep
* @param {Object} source
* @returns {Object}
*/
function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'deepClone')
}
const targetObj = source.constructor === Array ? [] : {}
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = deepClone(source[keys])
} else {
targetObj[keys] = source[keys]
}
})
return targetObj
}
module.exports = {
param2Obj,
deepClone
}
......@@ -313,7 +313,7 @@
align-items: center;
justify-content: flex-start;
height: 8rem;
// margin-bottom: 2em;
&-img {
width: 100px;
height: 100px;
......
......@@ -69,7 +69,7 @@ const standard = {
}
commit(
'SET_STANDARD_LIST',
res.rows.filter(i => i.standardStatus === 'INFORCE')
res.rows.filter(i => (i.standardStatus === 'INFORCE'||i.standardStatus === 'SOON'))
)
}
})
......
......@@ -205,7 +205,7 @@ export default {
this.bottom = this.bottom.concat(
{
title: '检测方案',
link: '/plan/customized',
link: '/plan/list',
img: require('@/assets/images/home/bottom5.png')
},
{
......@@ -245,7 +245,7 @@ export default {
},
{
title: '权限管理',
link: '/system/role',
link: '/system/dept',
img: require('@/assets/images/home/bottom6.png')
}
)
......
......@@ -179,7 +179,7 @@ export default {
this.$store
.dispatch('Login', this.loginForm)
.then(() => {
this.$router.push({ path: this.redirect || '/' }).catch(() => {})
this.$router.push({ path: '/' }).catch(() => {})
})
.catch(() => {
this.loading = false
......
......@@ -17,7 +17,7 @@
v-for="item in standardList"
:key="item.id"
:label="item.name"
:value="Number(item.id)"
:value="item.id"
>
</el-option>
</el-select>
......@@ -60,7 +60,7 @@
v-for="item in componentSelect"
:key="item.id"
:label="item.enterpriseName"
:value="Number(item.id)"
:value="item.id"
>
</el-option>
</el-select>
......@@ -162,7 +162,7 @@ export default {
} else {
this.handleLoad()
this.form = {
inspectionStandardId: 1,
inspectionStandardId:"1",
inspectionItem: ['trfis']
}
}
......@@ -185,17 +185,15 @@ export default {
})
},
async handleConfirm() {
this.$refs.form.validate(async valid => {
if (valid) {
let form = JSON.parse(JSON.stringify(this.form))
if(form.inspectionItem.indexOf('trfis') !== -1){
const res = await this.$refs.check.getValidateVaule()
form.specifyPlan = JSON.stringify(res.record)
form.useCaseNo = res.codes
}
if (form.inspectionItem.indexOf('trfis') !== -1) {
const res = await this.$refs.check.getValidateVaule()
form.specifyPlan = JSON.stringify(res.record)
form.useCaseNo = res.codes
}
form.inspectionItem = form.inspectionItem.join(',')
add(form).then(res => {
if (res.code == 200) {
......
......@@ -12,7 +12,7 @@
v-for="item in componentSelect"
:key="item.id"
:label="item.enterpriseName"
:value="item.id"
:value="String(item.id)"
>
</el-option>
</el-select>
......@@ -90,7 +90,7 @@
</el-table-column>
<el-table-column
label="检测机构"
prop="testOrganizationName"
prop="deptName"
min-width="200"
align="left"
sortable
......@@ -103,7 +103,7 @@
v-if="scope.row.fileUrl"
>{{ scope.row.testResult }}</el-link
>
<div v-else>___</div>
<div v-else>--</div>
</template>
</el-table-column>
<el-table-column
......@@ -115,33 +115,40 @@
>
<template slot-scope="scope">
<div class="button-bar">
<el-button type="text" @click="goDetail(scope.row.id)">
查看方案</el-button
>
<el-button type="text" @click="handleUpdate(scope.row.id)">
修改</el-button
>
<el-button type="text" @click="handleDelete(scope.row.id)">
删除</el-button
>
<el-upload
ref="fileUpload"
:action="uploadFileUrl"
:limit="1"
:on-success="
res => {
handleUploadSuccess(res, scope.row.id)
}
"
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
>
<el-button type="text" v-if="!scope.row.fileUrl"
>上传结果
</el-button>
<el-button type="text" v-else> 重新上传 </el-button>
</el-upload>
<page-button
icon="preview-open"
title="查看"
@click="goDetail(scope.row.id)"
></page-button>
<page-button
icon="edit"
title="修改"
@click="handleUpdate(scope.row.id)"
></page-button>
<page-button
icon="delete"
title="删除"
@click="handleDelete(scope.row.id)"
></page-button>
<el-upload
ref="fileUpload"
:action="uploadFileUrl"
:limit="1"
:on-success="
res => {
handleUploadSuccess(res, scope.row.id)
}
"
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
>
<page-button
icon="upload-logs"
title="上传结果"
></page-button>
</el-upload>
</div>
</div>
</template>
</el-table-column>
......
......@@ -342,8 +342,6 @@ import DeleteUseCase from './deleteUseCase'
import UpdateUseCase from './updateUseCase'
import { testInitatereview } from '@/api/task/test'
import { color } from 'echarts'
import UserSelect from 'autoprefixer/lib/hacks/user-select'
export default {
name: 'CreateReview',
......
......@@ -148,7 +148,7 @@ export default {
}
</script>
<style lang="scss" scoped>
<style lang="scss" >
.view-review {
.view-review-header {
display: flex;
......
<template>
<page-standard>
<div class="form-signature-confirmation">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">车企基本信息</span>
</div>
</div>
<div class="task-box">
<div class="task-header">
<div class="task-item">
<span class="task-label">企业名称:</span>
<span class="task-content">
{{ model.enterpriseName }}
</span>
</div>
<div class="task-item">
<span class="task-label">企业地址:</span>
<span class="task-content">
{{ model.address }}
</span>
</div>
<div class="task-item">
<span class="task-label">企业邮编:</span>
<span class="task-content">
{{ model.postcode }}
</span>
</div>
<div class="task-item">
<span class="task-label">企业联系人:</span>
<span class="task-content"> {{ model.enterpriseContact }} </span>
</div>
</div>
</div>
<div class="form-signature-confirmation">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">车型检测方案</span>
</div>
</div>
<el-table border :scroll-x="'1500px'" :data="tableData">
<el-table-column type="index" width="55" label="序号" align="center">
</el-table-column>
<el-table-column
label="车辆VIN号"
show-overflow-tooltip
prop="carModel"
min-width="200"
align="left"
>
</el-table-column>
<el-table-column
label="检测机构"
show-overflow-tooltip
prop="deptName"
min-width="200"
align="left"
>
</el-table-column>
<el-table-column
label="检测方案生成时间"
show-overflow-tooltip
prop="createTime"
min-width="200"
align="left"
>
</el-table-column>
<el-table-column
label="操作"
align="center"
min-width="160"
fixed="right"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<div class="button-bar">
<el-button type="text" @click="goDetail(scope.row.id)">
查看方案详情</el-button
>
<el-button type="text" @click="goFile(scope.row.fileUrl)">
查看结果</el-button
>
</div>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:background="false"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="loadData"
>
</pagination>
<!--返回按钮-->
<div class="bottom-btn">
<footer-button type="default" icon="arrow-left" @click="$router.go(-1)">
返回
</footer-button>
</div>
</page-standard>
</template>
<script>
import page from '@/mixins/page'
export default {
mixins: [page],
data() {
return {
model: this.$modelDataSource({
url: '/system/enterprise',
dataKey: 'model',
attributes: {
address: '',
contactNumber: '',
enterpriseContact: '',
enterpriseName: '',
id: 0,
// params: '',
postcode: ''
// remark: ''
}
}),
listUrl: '/Plan/Record/page',
queryParams: {
inspectCarCompanyId: 1
},
showSearch: true,
tableData: []
}
},
methods: {
goDetail(id) {
this.$router.push({
path: '/plan/detail?id=' + id
})
},
goFile(url) {
if (url) {
location.href = process.env.VUE_APP_IMAGE_API + url
} else {
this.$message.error('暂无检测结果')
}
},
handleReturn() {
this.$router.back()
}
},
created() {
this.queryParams.inspectCarCompanyId = this.$route.query.id
this.model.fetch(this.$route.query.id)
}
}
</script>
<style lang="scss" scoped>
.right-content {
width: 100%;
display: flex;
justify-content: flex-end;
.go-back {
margin-left: 100px;
color: #00afff;
display: inline-block;
text-decoration: underline;
cursor: pointer;
}
}
</style>
......@@ -86,6 +86,14 @@
min-width="200"
align="left"
>
<template slot-scope="scope">
<el-link
@click="
$router.push({ path: '/basic/company-view?id=' + scope.row.id })
"
>{{ scope.row.enterpriseName }}</el-link
>
</template>
</el-table-column>
<el-table-column
label="企业地址"
......
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