初始化机动车管理平台前端

main
dongpengju 6 months ago
parent e13cbdabec
commit c0ff431a91
  1. 2
      .env.development
  2. 2
      .env.staging
  3. 3
      package.json
  4. 14
      src/page/common/pagecomponent/commonfooter.vue
  5. 4
      src/page/common/pagecomponent/commonheader.vue
  6. 12
      src/page/homepage/index.vue
  7. 19
      src/page/logpage/log/login.vue
  8. 32
      src/page/personalpage/commonheader/personalheader.vue
  9. 4
      src/page/personalpage/home/personalcenter.vue
  10. 245
      src/page/personalpage/testcrowd/myparticipate.vue
  11. 3
      src/router/router.js
  12. 5
      vue.config.js

@ -5,7 +5,7 @@ ENV = 'development'
VUE_APP_BASE_API = '/prod-api'
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'
VUE_APP_BASE_TARGET = 'http://127.0.0.1:8089'
# VUE_APP_BASE_TARGET = 'http://192.168.0.129:9999'
# VUE_APP_BASE_TARGET = 'http://172.16.36.180:9999'
# VUE_APP_BASE_TARGET = 'http://172.16.36.176:9998'

@ -2,7 +2,7 @@
ENV = 'development'
# KeySaas测试云平台/开发环境
VUE_APP_BASE_API = '/prod-api'
#VUE_APP_BASE_API = '/prod-api'
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'

@ -37,8 +37,7 @@
"devDependencies": {
"@vue/cli-plugin-babel": "^3.0.0-rc.5",
"@vue/cli-service": "^3.0.0-rc.5",
"vue-template-compiler": "^2.5.16",
"webpack-bundle-analyzer": "^4.10.2"
"vue-template-compiler": "^2.5.16"
},
"postcss": {
"plugins": {

@ -4,24 +4,24 @@
<div style="background: #0a1f33; color: #ffffff; height: 270px; margin-top: -1px">
<div style="display: flex; width: 1200px; margin: 0 auto; height: 180px; justify-content: space-between">
<div style="line-height: 180px">
<el-link :underline="false" @click="openurl('/')">首页</el-link>
<!-- <el-link :underline="false" @click="openurl('/')">首页</el-link>
<el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/market')">工具服务</el-link>
<el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/crowdsourcing')">众包服务</el-link>
<el-divider direction="vertical"></el-divider>
<el-divider direction="vertical"></el-divider> -->
<!-- <el-link :underline="false" @click="stepurl('http://train.keyitest.cn/')">培训学院</el-link> -->
<el-link :underline="false" @click="openurl('/ability')">人才服务</el-link>
<!-- <el-link :underline="false" @click="openurl('/ability')">人才服务</el-link>
<el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/college')">培训服务</el-link>
<el-divider direction="vertical"></el-divider>
<el-divider direction="vertical"></el-divider> -->
<!-- <el-link :underline="false" @click="openurl('/news')">行业动态</el-link>
<el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/employ')">人员聘用</el-link>
<el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/cooperation')">合作伙伴</el-link>
<el-divider direction="vertical"></el-divider> -->
<el-link :underline="false" @click="openurl('/about')">关于我们</el-link>
<!-- <el-link :underline="false" @click="openurl('/about')">关于我们</el-link> -->
<!-- <el-divider direction="vertical"></el-divider>
<el-link :underline="false" @click="openurl('/aboutus/joinus')">加入我们</el-link>
<el-divider direction="vertical"></el-divider>
@ -31,12 +31,12 @@
<el-divider direction="vertical"></el-divider>
</div>
<div style="display: flex; font-size: 14px; cursor: pointer">
<img
<!-- <img
style="width: 100px; height: 100px; margin-top: 40px; margin-right: 35px"
src="/assets/homepage/xcx.jpg"
alt=""
/>
<img style="width: 100px; height: 100px; margin-top: 40px" src="/assets/home/erweima.jpg" alt="" />
<img style="width: 100px; height: 100px; margin-top: 40px" src="/assets/home/erweima.jpg" alt="" /> -->
<div
style="
margin-left: 25px;

@ -96,8 +96,8 @@
</div>
</div>
<div v-else style="display:flex;align-items: center">
<div class="loginbtn" @click="jump('log')">登录</div>
<div class="regbtn" @click="jump('reg')">注册</div>
<!-- <div class="loginbtn" @click="jump('log')">登录</div>
<div class="regbtn" @click="jump('reg')">注册</div> -->
</div>
</div>

@ -12,12 +12,12 @@ export default {
data() {
return {
menulist: [
{ title: '首页', link: '/', highlight: false, isline: true },
{ title: '工具服务', link: '/market', highlight: false, isline: false },
{ title: '众包服务', link: '/crowdsourcing', highlight: false, isline: true },
{ title: '人才服务', link: '/ability', highlight: false, isline: true },
{ title: '培训服务', link: '/college', highlight: false, isline: true },
{ title: '关于我们', link: '/about', highlight: false, isline: true },
// { title: '', link: '/', highlight: false, isline: true },
// { title: '', link: '/market', highlight: false, isline: false },
// { title: '', link: '/crowdsourcing', highlight: false, isline: true },
// { title: '', link: '/ability', highlight: false, isline: true },
// { title: '', link: '/college', highlight: false, isline: true },
// { title: '', link: '/about', highlight: false, isline: true },
],
}
},

@ -44,7 +44,7 @@
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="短信登录" name="smslogin">
<!-- <el-tab-pane label="短信登录" name="smslogin">
<el-form
ref="smsloginForm"
:rules="smsloginnRules"
@ -68,8 +68,7 @@
</el-input>
</el-form-item>
<el-form-item prop="verify" class="verifybtn">
<!-- <el-row :span="24">
<el-col :span="12"> -->
<el-input
maxlength="6"
v-model="smsloginForm.verify"
@ -87,10 +86,9 @@
<span v-show="codeVerify.show">获取验证码</span>
<span v-show="!codeVerify.show" class="count">{{ codeVerify.count }} s</span>
</el-button>
<!-- <span slot="prefix">获取验证码</span> -->
</el-input>
<!-- </el-col>
</el-row> -->
</el-form-item>
<el-form-item class="logbtn">
<el-button :loading="smsloading" type="primary" @click.native.prevent="dosmsloginLogin"
@ -98,7 +96,7 @@
>
</el-form-item>
</el-form>
</el-tab-pane>
</el-tab-pane> -->
<div style="display: flex; justify-content: space-between; font-size: 16px; margin-top: 10px">
<div style="color: #0066eb; cursor: pointer" @click="regnewuser">注册新用户</div>
<div style="color: #999999; cursor: pointer" @click="goretrieve">找回密码</div>
@ -127,7 +125,7 @@
/>
</el-input>
</el-form-item>
<el-form-item prop="regsterverify" class="verifybtn">
<!-- <el-form-item prop="regsterverify" class="verifybtn">
<el-input
maxlength="6"
v-model="regForm.regsterverify"
@ -146,7 +144,7 @@
<span v-show="!regVerify.show" class="count">{{ regVerify.count }} s</span>
</el-button>
</el-input>
</el-form-item>
</el-form-item> -->
<div>
<el-form-item prop="regaccount" style="margin: 20px 0">
<el-input
@ -626,7 +624,8 @@ export default {
// }
this.$store.dispatch('GetInfo').then((userInfo) => {
if (userInfo) {
this.$router.push('/')
// this.$router.push('/')
this.$router.push('/console/myparticipate')
}
})
})

@ -14,7 +14,7 @@
<!-- <img @click="tishou" style="cursor:pointer;height:45px;object-fit:contain" src="/assets/loginreg/logo.png" alt=""> -->
<p @click="tishou" style="font-weight: bold; color: #262626; cursor: pointer; font-size: 20px">
<img src="/assets/loginreg/logo1.png" style="width: 20px; vertical-align: middle" alt="" />
关键测试宝
机动车工具管理平台
</p>
<!-- <el-radio-group v-model="isCollapse" style="margin-bottom: 20px;">
<el-radio-button type='text' :label="false">展开</el-radio-button>
@ -45,7 +45,7 @@
</div>
<div style="display: flex; justify-content: space-between; align-items: center; font-size: 14px">
<div class="permissions" @click="mypermissions('message')">
<!-- <div class="permissions" @click="mypermissions('message')">
<el-badge
:value="messageCount"
:max="100"
@ -55,7 +55,7 @@
<img style="margin-right: 5px" src="/assets/home/xiaoxi.png" alt="" />
</el-badge>
<p style="margin-left: 5px">站内消息</p>
</div>
</div> -->
<el-dropdown
class="avatar-container right-menu-item hover-effect"
trigger="click"
@ -175,14 +175,19 @@
<el-menu-item index="/console/profile">
<span>基本信息</span>
</el-menu-item>
<el-menu-item index="/console/message">
<!-- <el-menu-item index="/console/message">
<span>消息管理</span>
</el-menu-item>
</el-menu-item> -->
</el-menu-item-group>
</el-submenu>
<el-menu-item index="/console/myparticipate">
<!-- <el-menu-item index="/console/myparticipate">
<i class="el-icon-document-copy"></i>
<span>我的众包</span>
</el-menu-item> -->
<el-menu-item index="/console/demand">
<i class="el-icon-s-unfold"></i>
<span>设备列表</span>
</el-menu-item>
<el-submenu index="3">
@ -195,18 +200,15 @@
<i class="el-icon-c-scale-to-original"></i>
<span>我的工具</span>
</el-menu-item>
<el-menu-item index="/console/mytasks">
<!-- <el-menu-item index="/console/mytasks">
<i class="el-icon-s-claim"></i>
<span>测试历史</span>
</el-menu-item>
</el-menu-item> -->
</el-menu-item-group>
</el-submenu>
<el-menu-item index="/console/demand">
<i class="el-icon-s-unfold"></i>
<span>用人记录</span>
</el-menu-item>
<el-menu-item index="/console/account">
<!-- <el-menu-item index="/console/account">
<i class="el-icon-s-shop"></i>
<span slot="title">我的钱包</span>
</el-menu-item>
@ -221,7 +223,7 @@
<el-menu-item index="/console/orders">
<i class="el-icon-s-order"></i>
<span>我的订单</span>
</el-menu-item>
</el-menu-item> -->
</template>
</el-menu>
@ -261,7 +263,7 @@ export default {
this.breadcrumblist.push({ name: '工具市场' }, { name: val.meta.title })
}
if (val.meta.type == 3) {
this.breadcrumblist.push({ name: '测试管理' }, { name: val.meta.title })
this.breadcrumblist.push({ name: 'Ukey工具管理' }, { name: val.meta.title })
}
if (val.meta.type == 4) {
this.breadcrumblist.push({ name: '众包服务' }, { name: val.meta.title })

@ -245,7 +245,7 @@
</el-tabs>
</div>
</div>
<div class="basedata" style="border: 1px solid #dcdfe6; margin-top: 30px; width: 95%">
<!-- <div class="basedata" style="border: 1px solid #dcdfe6; margin-top: 30px; width: 95%">
<div
style="
background: #f5f7fa;
@ -260,7 +260,7 @@
<div style="padding: 33px 48px">
<userUpgrade :user="userinform" v-if="userGetFlag" @setTip="setTip" />
</div>
</div>
</div> -->
</div>
</template>
<script>

@ -4,250 +4,7 @@
<div class="dvied"></div>
<div style="font-weight: bold;color: #333333;font-size: 18px;margin-left:10px">我的众包</div>
</div> -->
<div style="background: #ffffff; border-radius: 4px">
<div class="crowdnum">
<el-tabs v-model="crowdmol" type="border-card" @tab-click="handleClick">
<el-tab-pane label="竞标中" name="competitive"></el-tab-pane>
<el-tab-pane label="实施中" name="effect"></el-tab-pane>
<el-tab-pane label="已完成" name="complete"></el-tab-pane>
</el-tabs>
<!-- <el-radio-group v-model="crowdmol" @change="showDataTypeChage" fill='#0066EB'>
<el-radio-button label="competitive" v-if="competitiveShow">
<div v-if="crowdmol=='competitive'" style="display:flex;align-items:center">
<img src="/assets/personal/fabu1.png" alt="">
<span style="margin-left:6px;color:#FFFFFF">竞标中</span>
</div>
<div v-else style="display:flex;align-items:center">
<img src="/assets/personal/fabu.png" alt="">
<span style="margin-left:6px;color:#4d4d4d">竞标中</span>
</div>
</el-radio-button>
<el-radio-button label="effect">
<div v-if="crowdmol=='effect'" style="display:flex;align-items:center">
<img src="/assets/personal/ceshishenqing 1.png" alt="">
<span style="margin-left:6px;color:#FFFFFF">实施中</span>
</div>
<div v-else style="display:flex;align-items:center">
<img src="/assets/personal/ceshishenqing.png" alt="">
<span style="margin-left:6px;color:#4d4d4d">实施中</span>
</div>
</el-radio-button>
<el-radio-button label="complete">
<div v-if="crowdmol=='complete'" style="display:flex;align-items:center">
<img src="/assets/personal/chenggong.png" alt="">
<span style="margin-left:6px;color:#FFFFFF">已完成</span>
</div>
<div v-else style="display:flex;align-items:center">
<img src="/assets/personal/chenggong 1.png" alt="">
<span style="margin-left:6px;color:#4d4d4d">已完成</span>
</div>
</el-radio-button>
</el-radio-group> -->
<el-table v-loading="loading" :data="crowdData" style="margin-top: 30px">
<el-table-column label="序号" width="100px" align="center">
<template slot-scope="scope">
{{ scope.$index + 1 }}
</template>
</el-table-column>
<!-- <el-table-column label="任务ID" width="90" align="center" key="task_id" prop="task_id"/> -->
<el-table-column label="竞标时间" align="center" key="create_time" prop="create_time">
<template slot-scope="scope">
<span v-if="scope.row.create_time">{{ scope.row.create_time.slice(0, 10) }}</span>
</template>
</el-table-column>
<el-table-column
label="项目名称"
align="center"
key="project_name"
prop="project_name"
:show-overflow-tooltip="true"
width="220px"
/>
<el-table-column label="金额" align="center" key="price" prop="price" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span v-if="scope.row.price == 0">面议</span>
<span v-else>{{ scope.row.price }}</span>
</template>
</el-table-column>
<el-table-column
label="任务类型"
align="center"
key="test_type"
prop="test_type"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>{{
findLabelValueByProp(tasktypelist, scope.row.test_type, 'dictValue', 'dictLabel')
}}</span>
</template>
</el-table-column>
<el-table-column
label="项目工期"
align="center"
key="period"
prop="period"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column
label="技能要求"
align="center"
key="tech_need"
prop="tech_need"
:show-overflow-tooltip="true"
/>
<el-table-column
label="任务状态"
align="center"
key="1"
prop="process_status"
:show-overflow-tooltip="true"
>
<!-- <el-table-column :label="crowdmol=='complete'?'状态':'审核状态'" align="center" key="1" prop="process_status" :show-overflow-tooltip="true"> -->
<template slot-scope="scope">
<div v-if="crowdmol == 'competitive'">
<el-tag
type="warning"
effect="dark"
size="small"
style="width: 68px; padding-left: 12px; padding-right: 12px; cursor: pointer"
>竞标中</el-tag
>
</div>
<div v-if="crowdmol == 'effect'">
<el-tag
v-if="scope.row.status == 1"
type="primary"
effect="dark"
size="small"
style="cursor: pointer"
>实施中</el-tag
>
<el-tag
v-if="scope.row.status == 3"
type="danger"
effect="dark"
size="small"
style="cursor: pointer"
>待验收</el-tag
>
<el-tag
v-if="scope.row.status == 4"
type="warning"
effect="dark"
size="small"
style="cursor: pointer"
>待付款</el-tag
>
</div>
<div v-if="crowdmol == 'complete'">
<el-tag
v-if="scope.row.status == 5"
type="success"
effect="dark"
size="small"
style="cursor: pointer"
>已完成</el-tag
>
<el-tag
v-if="scope.row.status == 2"
type="danger"
effect="dark"
size="small"
style="cursor: pointer"
>竞标失败</el-tag
>
<el-tag
v-if="scope.row.status == 6"
type="danger"
effect="dark"
size="small"
style="cursor: pointer"
>验收不通过</el-tag
>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220px">
<template slot-scope="scope">
<router-link
:to="{
path: '/console/currentcrowd',
query: { id: scope.row.task_id, type: 'competitive' },
}"
class="link-type"
>
<el-button size="mini" type="text" icon="el-icon-key">查看详情 </el-button>
</router-link>
<el-button
style="margin-left: 10px"
@click="openvidib(scope.row)"
v-if="crowdmol == 'effect' && scope.row.status == 1"
size="mini"
type="text"
icon="el-icon-upload2"
>
上传实施结果
</el-button>
<el-button
style="margin-left: 10px"
v-if="crowdmol == 'effect' && scope.row.status == 3"
size="mini"
type="text"
icon="el-icon-upload2"
@click="openvidib(scope.row)"
>
覆盖实施结果
</el-button>
<el-button
style="margin-left: 10px"
@click="goReview(scope.row)"
v-if="scope.row.status == 5 && scope.row.is_comment == 0"
size="mini"
type="text"
>
去评价
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
title="上传实施结果"
:visible.sync="resultOpen"
width="600px"
:close-on-click-modal="false"
append-to-body
class="tooldialog"
@close="closecwc"
>
<el-divider style="margin-bottom: 10px"></el-divider>
<div style="text-align: left; margin-top: 20px">
<nonimage-upload
ref="nonimage"
v-model="resultAttach"
imageType="pdf|doc|docx|zip|rar"
:serverAddr="materialServerAddr"
fileName="实施结果"
:limit="1"
@setImgPath="setImgPath"
/>
</div>
<div style="text-align: center; margin-top: 20px">
<el-button @click="querepeo" style="background: #0066eb; color: #ffffff">确定</el-button>
</div>
</el-dialog>
<!-- 评价弹窗 -->
<reviewDialogVue ref="reviewDialogVuer" @refresh="refreshFn" />
</div>
</div>
</div>
</template>
<script>

@ -54,7 +54,8 @@ const router = new Router({
path: '', component: index,
redirect: '/',
children: [
{ path: '/', component: home, name: 'home', },
{ path: '/', component: login, name: 'login', },
{ path: 'home', component: home, name: 'home', },
{ path: 'login', component: login, name: 'login', },
{ path: 'market', component: toolmarker, name: 'market' },
{ path: 'market/tooldetails', component: tooldetails },

@ -1,6 +1,5 @@
const webpack = require('webpack')
const path = require('path')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
/**
* 配置参考:
* https://cli.vuejs.org/zh/config/
@ -17,7 +16,7 @@ module.exports = {
devServer: {
host: '0.0.0.0',
// port: port,
//port: port,
open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
@ -25,6 +24,7 @@ module.exports = {
// target: `https://www.keyitest.cn/prod-api`,
//target: `http://192.168.1.105:9999`,//之前
target: process.env.VUE_APP_BASE_TARGET,
// target: `http://127.0.0.1:8089`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
@ -52,7 +52,6 @@ module.exports = {
'window.Quill': 'quill/dist/quill.js',
'Quill': 'quill/dist/quill.js'
}),
new BundleAnalyzerPlugin()
],
},

Loading…
Cancel
Save