Commit e5653215 authored by 刘怀志's avatar 刘怀志

feat(已办任务/待办任务--车型): init

parent 9b61e8c1
// ESlint 检查配置 // ESlint 检查配置
module.exports = { module.exports = {
root: true, root: true,
parserOptions: { parserOptions: {
parser: 'babel-eslint', parser: 'babel-eslint',
sourceType: 'module', sourceType: 'module',
ecmaVersion: 2020 ecmaVersion: 2020
}, },
env: { env: {
browser: true, browser: true,
node: true, node: true,
es6: true, es6: true,
}, },
extends: ['plugin:vue/recommended', 'eslint:recommended', extends: ['plugin:vue/recommended', 'eslint:recommended',
'plugin:prettier/recommended'], 'plugin:prettier/recommended'],
// add your custom rules here // add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue //it is base on https://github.com/vuejs/eslint-config-vue
rules: { rules: {
"vue/max-attributes-per-line": [2, { "vue/max-attributes-per-line": [1, {
"singleline": 10, "singleline": 10,
"multiline": { "multiline": {
"max": 1, "max": 1,
"allowFirstLine": false "allowFirstLine": false
} }
}], }],
"vue/singleline-html-element-content-newline": "off", "vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off", "vue/multiline-html-element-content-newline":"off",
"vue/name-property-casing": ["error", "PascalCase"], "vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off", "vue/no-v-html": "off",
'accessor-pairs': 2, 'accessor-pairs': 2,
'arrow-spacing': [2, { 'arrow-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'block-spacing': [2, 'always'], 'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', { 'brace-style': [2, '1tbs', {
'allowSingleLine': true 'allowSingleLine': true
}], }],
'camelcase': [0, { 'camelcase': [0, {
'properties': 'always' 'properties': 'always'
}], }],
'comma-dangle': [2, 'never'], 'comma-dangle': [2, 'never'],
'comma-spacing': [2, { 'comma-spacing': [2, {
'before': false, 'before': false,
'after': true 'after': true
}], }],
'comma-style': [2, 'last'], 'comma-style': [2, 'last'],
'constructor-super': 2, 'constructor-super': 2,
'curly': [2, 'multi-line'], 'curly': [2, 'multi-line'],
'dot-location': [2, 'property'], 'dot-location': [2, 'property'],
'eol-last': 2, 'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}], 'eqeqeq': ["error", "always", {"null": "ignore"}],
'generator-star-spacing': [2, { 'generator-star-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'handle-callback-err': [2, '^(err|error)$'], 'handle-callback-err': [2, '^(err|error)$'],
'indent': [2, 2, { 'indent': [2, 2, {
'SwitchCase': 1 'SwitchCase': 1
}], }],
'jsx-quotes': [2, 'prefer-single'], 'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, { 'key-spacing': [2, {
'beforeColon': false, 'beforeColon': false,
'afterColon': true 'afterColon': true
}], }],
'keyword-spacing': [2, { 'keyword-spacing': [2, {
'before': true, 'before': true,
'after': true 'after': true
}], }],
'new-cap': [2, { 'new-cap': [2, {
'newIsCap': true, 'newIsCap': true,
'capIsNew': false 'capIsNew': false
}], }],
'new-parens': 2, 'new-parens': 2,
'no-array-constructor': 2, 'no-array-constructor': 2,
'no-caller': 2, 'no-caller': 2,
'no-console': 'off', 'no-console': 'off',
'no-class-assign': 2, 'no-class-assign': 2,
'no-cond-assign': 2, 'no-cond-assign': 2,
'no-const-assign': 2, 'no-const-assign': 2,
'no-control-regex': 0, 'no-control-regex': 0,
'no-delete-var': 2, 'no-delete-var': 2,
'no-dupe-args': 2, 'no-dupe-args': 2,
'no-dupe-class-members': 2, 'no-dupe-class-members': 2,
'no-dupe-keys': 2, 'no-dupe-keys': 2,
'no-duplicate-case': 2, 'no-duplicate-case': 2,
'no-empty-character-class': 2, 'no-empty-character-class': 2,
'no-empty-pattern': 2, 'no-empty-pattern': 2,
'no-eval': 2, 'no-eval': 2,
'no-ex-assign': 2, 'no-ex-assign': 2,
'no-extend-native': 2, 'no-extend-native': 2,
'no-extra-bind': 2, 'no-extra-bind': 2,
'no-extra-boolean-cast': 2, 'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'], 'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2, 'no-fallthrough': 2,
'no-floating-decimal': 2, 'no-floating-decimal': 2,
'no-func-assign': 2, 'no-func-assign': 2,
'no-implied-eval': 2, 'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'], 'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2, 'no-invalid-regexp': 2,
'no-irregular-whitespace': 2, 'no-irregular-whitespace': 2,
'no-iterator': 2, 'no-iterator': 2,
'no-label-var': 2, 'no-label-var': 2,
'no-labels': [2, { 'no-labels': [2, {
'allowLoop': false, 'allowLoop': false,
'allowSwitch': false 'allowSwitch': false
}], }],
'no-lone-blocks': 2, 'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2, 'no-mixed-spaces-and-tabs': 2,
'no-multi-spaces': 2, 'no-multi-spaces': 2,
'no-multi-str': 2, 'no-multi-str': 2,
'no-multiple-empty-lines': [2, { 'no-multiple-empty-lines': [2, {
'max': 1 'max': 1
}], }],
'no-native-reassign': 2, 'no-native-reassign': 2,
'no-negated-in-lhs': 2, 'no-negated-in-lhs': 2,
'no-new-object': 2, 'no-new-object': 2,
'no-new-require': 2, 'no-new-require': 2,
'no-new-symbol': 2, 'no-new-symbol': 2,
'no-new-wrappers': 2, 'no-new-wrappers': 2,
'no-obj-calls': 2, 'no-obj-calls': 2,
'no-octal': 2, 'no-octal': 2,
'no-octal-escape': 2, 'no-octal-escape': 2,
'no-path-concat': 2, 'no-path-concat': 2,
'no-proto': 2, 'no-proto': 2,
'no-redeclare': 2, 'no-redeclare': 2,
'no-regex-spaces': 2, 'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'], 'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2, 'no-self-assign': 2,
'no-self-compare': 2, 'no-self-compare': 2,
'no-sequences': 2, 'no-sequences': 2,
'no-shadow-restricted-names': 2, 'no-shadow-restricted-names': 2,
'no-spaced-func': 2, 'no-spaced-func': 2,
'no-sparse-arrays': 2, 'no-sparse-arrays': 2,
'no-this-before-super': 2, 'no-this-before-super': 2,
'no-throw-literal': 2, 'no-throw-literal': 2,
'no-trailing-spaces': 2, 'no-trailing-spaces': 2,
'no-undef': 2, 'no-undef': 2,
'no-undef-init': 2, 'no-undef-init': 2,
'no-unexpected-multiline': 2, 'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2, 'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, { 'no-unneeded-ternary': [2, {
'defaultAssignment': false 'defaultAssignment': false
}], }],
'no-unreachable': 2, 'no-unreachable': 2,
'no-unsafe-finally': 2, 'no-unsafe-finally': 2,
'no-unused-vars': [2, { 'no-unused-vars': [2, {
'vars': 'all', 'vars': 'all',
'args': 'none' 'args': 'none'
}], }],
'no-useless-call': 2, 'no-useless-call': 2,
'no-useless-computed-key': 2, 'no-useless-computed-key': 2,
'no-useless-constructor': 2, 'no-useless-constructor': 2,
'no-useless-escape': 0, 'no-useless-escape': 0,
'no-whitespace-before-property': 2, 'no-whitespace-before-property': 2,
'no-with': 2, 'no-with': 2,
'one-var': [2, { 'one-var': [2, {
'initialized': 'never' 'initialized': 'never'
}], }],
'operator-linebreak': [2, 'after', { 'operator-linebreak': [2, 'after', {
'overrides': { 'overrides': {
'?': 'before', '?': 'before',
':': 'before' ':': 'before'
} }
}], }],
'padded-blocks': [2, 'never'], 'padded-blocks': [2, 'never'],
'quotes': [2, 'single', { 'quotes': [2, 'single', {
'avoidEscape': true, 'avoidEscape': true,
'allowTemplateLiterals': true 'allowTemplateLiterals': true
}], }],
'semi': [2, 'never'], 'semi': [2, 'never'],
'semi-spacing': [2, { 'semi-spacing': [2, {
'before': false, 'before': false,
'after': true 'after': true
}], }],
'space-before-blocks': [2, 'always'], 'space-before-blocks': [2, 'always'],
'space-before-function-paren': [2, 'never'], 'space-before-function-paren': [2, 'never'],
'space-in-parens': [2, 'never'], 'space-in-parens': [2, 'never'],
'space-infix-ops': 2, 'space-infix-ops': 2,
'space-unary-ops': [2, { 'space-unary-ops': [2, {
'words': true, 'words': true,
'nonwords': false 'nonwords': false
}], }],
'spaced-comment': [2, 'always', { 'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}], }],
'template-curly-spacing': [2, 'never'], 'template-curly-spacing': [2, 'never'],
'use-isnan': 2, 'use-isnan': 2,
'valid-typeof': 2, 'valid-typeof': 2,
'wrap-iife': [2, 'any'], 'wrap-iife': [2, 'any'],
'yield-star-spacing': [2, 'both'], 'yield-star-spacing': [2, 'both'],
'yoda': [2, 'never'], 'yoda': [2, 'never'],
'prefer-const': 2, 'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': [2, 'always', { 'object-curly-spacing': [2, 'always', {
objectsInObjects: false objectsInObjects: false
}], }],
'array-bracket-spacing': [2, 'never'] 'array-bracket-spacing': [2, 'never']
} }
} }
...@@ -24,5 +24,30 @@ module.exports = [ ...@@ -24,5 +24,30 @@ module.exports = [
total: 10 total: 10
} }
} }
},
// get taskCarType
{
url: '/taskCarType',
type: 'get',
response: config => {
const temp = []
for (let i = 0; i < 10; i++) {
temp.push({
startTime: '@date',
missionNo: '@word',
tit: '一汽丰田体系审查',
owener: '@cname',
'costTimeOne|0-12': 1,
'costTimeTwo|0-12': 1,
'progressOne|0-100': 1,
'progressTwo|0-100': 1
})
}
return {
rows: temp,
code: 200,
total: 10
}
}
} }
] ]
<template> <template>
<page-standard> <page-standard>
<div slot="tab"> <div slot="tab">
<el-radio-group v-model="queryParams.type"> <el-radio-group v-model="pageType">
<el-radio-button <el-radio-button
v-for="dict in dict.type.sys_detailed_classification" v-for="dict in dict.type.task_type"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
> >
...@@ -104,6 +104,12 @@ ...@@ -104,6 +104,12 @@
<el-button type="success">查看审查报告</el-button> <el-button type="success">查看审查报告</el-button>
<el-button type="success">查看企业留档文件</el-button> <el-button type="success">查看企业留档文件</el-button>
<el-button type="success">查看车企文件库</el-button> <el-button type="success">查看车企文件库</el-button>
<el-button v-if="!isSysReview" type="success"
>查看车型检验记录</el-button
>
<el-button v-if="!isSysReview" type="success"
>查看车型评测报告</el-button
>
</div> </div>
</div> </div>
</el-card> </el-card>
...@@ -121,15 +127,22 @@ ...@@ -121,15 +127,22 @@
<script> <script>
import page from '@/mixins/page' import page from '@/mixins/page'
export default { export default {
dicts: ['sys_job_status', 'sys_scene_type', 'sys_detailed_classification'], dicts: ['sys_job_status', 'sys_scene_type', 'task_type'],
mixins: [page], mixins: [page],
data() { data() {
return { return {
pageType: '1',
listUrl: '/tasklist', listUrl: '/tasklist',
showSearch: true, showSearch: true,
tableData: [] tableData: []
} }
}, },
computed: {
isSysReview() {
console.log(this.pageType)
return this.pageType === '1'
}
},
watch: {}, watch: {},
methods: {} methods: {}
} }
......
<template> <template>
<page-standard> <page-standard>
<div slot="tab"> <div slot="tab">
<el-radio-group v-model="queryParams.type"> <el-radio-group v-model="pageType">
<el-radio-button <el-radio-button
v-for="dict in dict.type.sys_detailed_classification" v-for="dict in dict.type.task_type"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
> >
...@@ -92,20 +92,57 @@ ...@@ -92,20 +92,57 @@
{{ item.owener ? item.owener : '---' }} {{ item.owener ? item.owener : '---' }}
</div> </div>
</div> </div>
<div class="card-cell"> <div v-if="!isSysReview" class="card-cell">
<div class="cell-lable">子任务内容</div>
<div class="cell-value">
<div>
<el-link type="primary">查看车型审查问卷</el-link>
</div>
<div>
<el-link type="primary">查看车型检验方案</el-link>
</div>
</div>
</div>
<div v-if="!isSysReview" class="card-cell">
<div class="cell-lable">子任务状态</div>
<div class="cell-value">
<div v-if="item.costTimeOne === 0" class="cell-value">● 未开始</div>
<div v-else class="cell-value yellow">
● 已耗时({{ item.costTimeOne }}小时)
</div>
<div v-if="item.costTimeTwo === 0" class="cell-value">● 未开始</div>
<div v-else class="cell-value yellow">
● 已耗时({{ item.costTimeTwo }}小时)
</div>
</div>
</div>
<div v-if="!isSysReview" class="card-cell">
<div class="cell-lable">子任务完成进度</div>
<el-progress
class="cell-progress"
:stroke-width="12"
:percentage="item.progressOne"
></el-progress>
<el-progress
class="cell-progress"
:stroke-width="12"
:percentage="item.progressTwo"
></el-progress>
</div>
<div v-if="isSysReview" class="card-cell">
<div class="cell-lable">任务状态</div> <div class="cell-lable">任务状态</div>
<div v-if="item.costTime === 0" class="cell-value">● 未开始</div> <div v-if="item.costTime === 0" class="cell-value">● 未开始</div>
<div v-else class="cell-value yellow"> <div v-else class="cell-value yellow">
● 已耗时({{ item.costTime }}小时) ● 已耗时({{ item.costTime }}小时)
</div> </div>
</div> </div>
<div class="card-cell"> <div v-if="isSysReview" class="card-cell">
<div class="cell-lable">审查问卷</div> <div class="cell-lable">审查问卷</div>
<div class="cell-value"> <div class="cell-value">
<el-link type="primary">填写问卷</el-link> <el-link type="primary">填写问卷</el-link>
</div> </div>
</div> </div>
<div class="card-cell"> <div v-if="isSysReview" class="card-cell">
<div class="cell-lable">完成进度</div> <div class="cell-lable">完成进度</div>
<el-progress <el-progress
class="cell-progress" class="cell-progress"
...@@ -169,16 +206,28 @@ ...@@ -169,16 +206,28 @@
<script> <script>
import page from '@/mixins/page' import page from '@/mixins/page'
export default { export default {
dicts: ['sys_job_status', 'sys_scene_type', 'sys_detailed_classification'], dicts: ['sys_job_status', 'sys_scene_type', 'task_type'],
mixins: [page], mixins: [page],
data() { data() {
return { return {
pageType: '1', // 代办任务类型 1-体系审查 其他-车型测评
listUrl: '/tasklist', listUrl: '/tasklist',
showSearch: true, showSearch: true,
tableData: [] tableData: []
} }
}, },
watch: {}, computed: {
isSysReview() {
console.log(this.pageType)
return this.pageType === '1'
}
},
watch: {
pageType(newValue) {
this.listUrl = newValue === '1' ? '/tasklist' : '/taskCarType'
this.loadData()
}
},
methods: {} methods: {}
} }
</script> </script>
......
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