Commit 7b7f99a0 authored by jiaxu.yan's avatar jiaxu.yan

Merge branch 'develop' into developer/yanjiaxu

# Conflicts:
#	src/views/processing/archivedTask/index.vue
#	src/views/processing/processed-review/index.vue
#	src/views/processing/unprocessed-review/index.vue
#	src/views/task/on/index.vue
parents 39d2537c 551b5a38
......@@ -392,3 +392,6 @@ aside {
.el-input__inner {
font-family: 微软雅黑;
}
.el-tabs__item{
font-size: 16px;
}
......@@ -79,28 +79,28 @@
.orange {
color: #f9a221;
}
.taskLeader {
width:120px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.standard-box {
display: flex;
justify-content: space-between;
align-items: center;
align-items: start;
width: calc(100% - 40px);
.standard-left {
display: flex;
justify-content: flex-start;
align-items: center;
width: 60vw;
flex: 1;
padding-left: 10px;
}
.standard-title {
width: calc(70% - 40px);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
// width: calc(70% - 40px);
line-height: 18px;
}
.standard {
color: #1a6fd7;
margin: 0 10px;
white-space: nowrap;
display: inline;
}
.iconfont {
width: 24px;
......
......@@ -123,8 +123,12 @@ export default {
}
.el-collapse-item__header {
background-color: #f2f2f2 !important;
height: 40px;
height: auto;
padding-left:13px;
display: flex;
align-items: flex-start;
padding: 10px;
line-height: 18px;
}
.el-collapse-item__content {
padding: 0 !important;
......
......@@ -133,6 +133,7 @@ export default {
// const regex = /[\s~`!@#$%^&*()\-_=+[\]{}|;:'",<>/?]/
const regex = /[~`!@#$%^&*=[\]{}|;:'",<>/?]/
const result = regex.test(file.name)
if (result === true) {
this.fileList = []
// this.$refs.imageUpload.clearFiles()
......@@ -141,6 +142,7 @@ export default {
let isImg = false
if (this.fileType.length) {
let fileExtension = ''
if (file.name.lastIndexOf('.') > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1)
}
......@@ -149,6 +151,7 @@ export default {
if (fileExtension && fileExtension.indexOf(type) > -1) return true
return false
})
console.log(isImg)
} else {
isImg = file.type.indexOf('image') > -1
}
......
......@@ -26,6 +26,7 @@
>
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar" />
<div class="user-name">{{ name }}</div>
<i class="el-icon-caret-bottom" />
</div>
<el-dropdown-menu slot="dropdown">
......@@ -50,7 +51,7 @@ import Breadcrumb from '@/components/Breadcrumb'
import TopNav from '@/components/TopNav'
import Hamburger from '@/components/Hamburger'
import QuickNew from '@/components/QuickNew'
import avatar from '@/assets/images/touxiang.png'
// import avatar from '@/assets/images/touxiang.png'
// import QuickNew from '@/components/QuickNew'
// import MessageWaring from '@/components/MessageWaring'
export default {
......@@ -63,11 +64,10 @@ export default {
},
data() {
return {
avatar
}
},
computed: {
...mapGetters(['sidebar', 'device']),
...mapGetters(['sidebar', 'device', 'name','avatar']),
setting: {
get() {
return this.$store.state.settings.showSettings
......@@ -177,7 +177,19 @@ export default {
.avatar-wrapper {
margin-top: 5px;
position: relative;
display: flex;
align-items: flex;
.user-name {
line-height: 40px;
font-size: 14px;
font-weight: bold;
max-width: 100px;
margin: 0 10px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.user-avatar {
cursor: pointer;
width: 40px;
......
......@@ -3,6 +3,7 @@ import Vue from 'vue'
import Cookies from 'js-cookie'
import Element from 'element-ui'
import "@/utils/el-components.js"
import './assets/styles/element-variables.scss'
import '@/assets/styles/index.scss' // global css
import '@/assets/styles/ruoyi.scss' // ruoyi css
......@@ -17,6 +18,7 @@ import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from '@/api/system/dict/data'
import { getConfigKey } from '@/api/system/config'
import {
getDictData,
parseTime,
......
......@@ -19,6 +19,7 @@ const getters = {
companyFiles: state => state.processing.companyFiles,
standard: state => state.standard.standard,
standardList: state => state.standard.standardList,
testScenarioList: state => state.testScenario.testScenarioList
testScenarioList: state => state.testScenario.testScenarioList,
dept: state => state.user.dept
}
export default getters
......@@ -8,7 +8,8 @@ const user = {
name: '',
avatar: '',
roles: [],
permissions: []
permissions: [],
dept: {}
},
mutations: {
......@@ -29,6 +30,9 @@ const user = {
},
SET_PERMISSIONS: (state, permissions) => {
state.permissions = permissions
},
SET_DEPT: (state, dept) => {
state.dept = dept
}
},
......@@ -71,8 +75,9 @@ const user = {
commit('SET_ROLES', ['ROLE_DEFAULT'])
}
commit('SET_ID', user.userId)
commit('SET_NAME', user.userName)
commit('SET_NAME', user.nickName)
commit('SET_AVATAR', avatar)
commit('SET_DEPT', res.user.dept)
resolve(res)
})
.catch(error => {
......
import Vue from 'vue'
import ElementUI from 'element-ui';
Vue.component('el-input', {
extends: ElementUI.Input,
created() {
this.$on('change', (value) => {
this.$emit('input', value.replace(/\s+/g,""))
})
}
})
......@@ -92,7 +92,7 @@ export default {
codeUrl: '',
loginForm: {
username: 'admin',
password: 'admin123',
password: '123456@a',
rememberMe: false,
code: '',
uuid: ''
......
......@@ -82,8 +82,8 @@
<div>
<div class="form-review-questionnaire">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">审查表单概要</span>
<!-- <span class="title-i"></span>
<span class="title-content">审查表单概要</span> -->
<div class="control-btns">
<div class="control-btn" @click="openAll()">
<!-- <svg-icon class="iconfont" icon-class="tag_zhankai"></svg-icon> -->
......@@ -118,8 +118,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -158,8 +158,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -461,6 +461,7 @@ export default {
this.selectedScenario.length === 0
) {
this.$message.error('请至少选择一个场景!')
return
}
carTaskSubmit(formData).then(res => {
if (res.code === 200) {
......
......@@ -47,8 +47,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -15,25 +15,27 @@
<div class="task-item">
<span class="task-label">任务编号:</span>
<span class="task-content">
{{ task.taskNo }}
{{ taskDetail.taskNo }}
</span>
</div>
<div class="task-item">
<span class="task-label">任务名称:</span>
<span class="task-content">
{{ task.taskName }}
{{ taskDetail.taskName }}
</span>
</div>
<div class="task-item">
<span class="task-label">委托单位:</span>
<span class="task-content">
{{ task.entrustedUnit }}
{{ taskDetail.entrustedUnit }}
</span>
</div>
<div class="task-item">
<span class="task-label">任务状态:</span>
<span class="task-content">
{{ getDictData(dict.type.task_test_status, task.taskStatus) }}
{{
getDictData(dict.type.task_test_status, taskDetail.taskStatus)
}}
</span>
</div>
</div>
......@@ -153,8 +155,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准要求:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......@@ -268,6 +270,7 @@ export default {
reviewSceneChangeTasks: {},
detailsList: []
},
taskDetail: {},
ruleForm: {
enterpriseLeader: '',
inspectionLeader: '',
......@@ -338,7 +341,8 @@ export default {
getTestDetail() {
this.loading = true
testDetail({ taskId: this.$route.query.id }).then(res => {
this.tableData = res.data
this.taskDetail = res.data
this.tableData = res.data.modelTestTaskViewResponseList
this.loading = false
this.openAll()
})
......
......@@ -125,8 +125,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准要求:</div>
<div class="standard-title">
<div class="standard">标准要求:</div>
{{ item.chapter + item.text }}
</div>
</div>
......@@ -229,7 +229,8 @@ export default {
async getTestDetail(id) {
this.loading = true
const res = await testDetail({ taskId: id })
this.model = res.data
this.model = res.data.modelTestTaskViewResponseList
this.loading = false
},
/** 全部展开 */
......
......@@ -48,25 +48,25 @@
<div class="task-item">
<span class="task-label">任务编号:</span>
<span class="task-content">
{{ task.taskNo }}
{{ taskDetail.taskNo }}
</span>
</div>
<div class="task-item">
<span class="task-label">任务名称:</span>
<span class="task-content">
{{ task.taskName }}
{{ taskDetail.taskName }}
</span>
</div>
<div class="task-item">
<span class="task-label">委托单位:</span>
<span class="task-content">
{{ task.entrustedUnit }}
{{ taskDetail.entrustedUnit }}
</span>
</div>
<div class="task-item">
<span class="task-label">任务状态:</span>
<span class="task-content">
{{ getDictData(dict.type.task_test_status, task.taskStatus) }}
{{ getDictData(dict.type.task_test_status, taskDetail.taskStatus) }}
</span>
</div>
</div> -->
......@@ -75,8 +75,8 @@
<div>
<div class="form-review-questionnaire">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">审查表单概要</span>
<!-- <span class="title-i"></span>
<span class="title-content">审查表单概要</span> -->
<div class="control-btns">
<div class="control-btn" @click="openAll()">
<icon-park
......@@ -116,7 +116,7 @@
</div>
</div>
<div class="standard-result">
<el-button type="text" @click="testmMthod(item)"
<el-button type="text" @click.stop="testmMthod(item)"
>标准测试方法</el-button
>
</div>
......@@ -193,6 +193,7 @@ export default {
open: false,
tableData: [],
activeNames: [],
taskDetail: {},
model: {
systemReviewTask: {},
reviewSceneChangeTasks: {},
......@@ -240,7 +241,8 @@ export default {
getTestDetail() {
this.loading = true
testDetail({ taskId: this.$route.query.id }).then(res => {
this.tableData = res.data
this.taskDetail = res.data
this.tableData = res.data.modelTestTaskViewResponseList
this.loading = false
this.openAll()
})
......
......@@ -64,6 +64,7 @@
:scroll-x="'1500px'"
:default-sort="{ prop: 'createTime', order: 'descending' }"
:data="tableData"
@sort-change="sort_change"
>
<el-table-column type="index" width="55" label="序号" align="center">
<template slot-scope="scope">
......@@ -99,6 +100,7 @@
prop="publishDate"
label="发布日期"
min-width="100"
show-overflow-tooltip
align="left"
>
<template slot-scope="scope">
......@@ -157,6 +159,7 @@
prop="createBy"
label="创建人员"
min-width="130"
show-overflow-tooltip
align="left"
>
</el-table-column>
......@@ -171,23 +174,6 @@
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column
v-if="view == 1"
label="操作"
align="center"
min-width="90"
fixed="right"
class-name="fixed-width"
>
<template slot-scope="scope">
<page-button
style="margin: 0 auto"
icon="edit"
title="修改"
@click.native="handleUpdate(scope.row.id)"
></page-button>
</template>
</el-table-column>
</el-table>
<yan-dialog
:dialog-manger="dialogManger"
......@@ -223,14 +209,20 @@ export default {
refreshList: false,
dialogEditId: 0
},
queryParams: {
pageNum: 1,
pageSize: 10,
taskId: this.$route.query.id,
isAsc: 'desc',
orderByColumn: 'createTime'
},
refreshList: false,
baseUrl: process.env.VUE_APP_IMAGE_API,
listUrl: '/review/enterprise/archive/findEnterpriseArchiveByTaskId',
// 表格loading状态
tableLoading: false,
// 表格数据
tableData: [],
view: ''
tableData: []
}
},
watch: {
......@@ -243,15 +235,24 @@ export default {
},
created() {
this.queryParams.taskId = this.$route.query.id
this.view = this.$route.query.view
},
methods: {
sort_change(column, prop, order) {
this.queryParams.pageNum = 1 // 排序后返回第一页
if (column.order) {
this.queryParams.isAsc = column.order === 'ascending' ? 'asc' : 'desc'
this.queryParams.orderByColumn = column.prop
this.loadData()
}
},
resetQuery() {
// this.refs.queryForm.restForm() this.resetForm("queryForm");
this.queryParams = {
pageNum: this.queryParams.pageNum,
pageSize: this.queryParams.pageSize,
taskId: this.$route.query.id
taskId: this.$route.query.id,
isAsc: this.queryParams.isAsc,
orderByColumn: this.queryParams.orderByColumn
}
this.handleQuery()
},
......
......@@ -163,8 +163,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -55,8 +55,8 @@
<div>
<div class="form-review-questionnaire">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">审查表单概要</span>
<!-- <span class="title-i"></span>
<span class="title-content">审查表单概要</span> -->
<div class="control-btns">
<div class="control-btn" @click="openAll()">
<icon-park
......
......@@ -163,8 +163,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -47,8 +47,8 @@
<span slot="title" style="width: 100%">
<div class="standard-box">
<div class="standard-left">
<div class="standard">标准:</div>
<div class="standard-title">
<div class="standard">标准:</div>
{{ item.chapter + item.text }}
</div>
</div>
......
......@@ -42,7 +42,7 @@
placeholder="请输入企业联系人"
/>
</el-form-item>
<el-form-item label="联系电话" prop="contactNumber">
<el-form-item label="联系电话" prop="contactNumber">
<el-input v-model="model.contactNumber" placeholder="请输入联系电话" />
</el-form-item>
</el-form>
......
......@@ -88,7 +88,11 @@
<span>{{ scope.row.input || '--' }}</span>
</template>
</el-table-column>
<el-table-column label="用例描述" align="left" prop="description" />
<el-table-column label="用例描述" align="left" prop="description">
<template slot-scope="scope">
<span>{{ scope.row.description || '--' }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="更新人员" align="left" prop="updateBy" />-->
<!-- <el-table-column-->
<!-- label="更新时间"-->
......
......@@ -82,6 +82,22 @@
<el-table-column
prop="deptName"
label="部门名称"
show-overflow-tooltip
width="260"
align="left"
></el-table-column>
<el-table-column
prop="address"
label="地址"
show-overflow-tooltip
width="260"
align="left"
></el-table-column>
<el-table-column
prop="postcode"
label="邮政编码"
show-overflow-tooltip
width="260"
align="left"
></el-table-column>
......@@ -225,6 +241,19 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="地址" prop="address">
<el-input v-model="form.address" placeholder="请输入地址" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮政编码" prop="postcode">
<el-input v-model="form.postcode" placeholder="请输入邮政编码" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
......@@ -280,6 +309,10 @@ export default {
parentId: [
{ required: true, message: '上级部门不能为空', trigger: 'blur' }
],
address: [{ required: true, message: '地址不能为空', trigger: 'blur' }],
postcode: [
{ required: true, message: '邮政编码不能为空', trigger: 'blur' }
],
deptName: [
{ required: true, message: '部门名称不能为空', trigger: 'blur' }
],
......@@ -341,6 +374,8 @@ export default {
leader: undefined,
phone: undefined,
email: undefined,
address: undefined,
postcode: undefined,
status: '0'
}
this.resetForm('form')
......
......@@ -3,6 +3,7 @@
<div class="user-info-head" @click="editCropper()">
<img :src="options.img" title="点击上传头像" class="img-circle img-lg" />
</div>
<el-dialog
:title="title"
:visible.sync="open"
......@@ -90,11 +91,12 @@ import store from '@/store'
import { VueCropper } from 'vue-cropper'
import { uploadAvatar } from '@/api/system/user'
import { debounce } from '@/utils'
import avatar from '@/assets/images/touxiang.png'
export default {
components: { VueCropper },
data() {
return {
avatar,
// 是否显示弹出层
open: false,
// 是否显示cropper
......@@ -102,7 +104,7 @@ export default {
// 弹出层标题
title: '修改头像',
options: {
img: store.getters.avatar, // 裁剪图片的地址
img: store.getters.avatar, // 裁剪图片的地址
autoCrop: true, // 是否默认生成截图框
autoCropWidth: 200, // 默认生成截图框宽度
autoCropHeight: 200, // 默认生成截图框高度
......@@ -163,7 +165,7 @@ export default {
}
}
},
// 上传图片
// 上传图片
uploadImg() {
this.$refs.cropper.getCropBlob(data => {
const formData = new FormData()
......
......@@ -80,7 +80,8 @@ export default {
submit() {
this.$refs['form'].validate(valid => {
if (valid) {
updateUserProfile(this.form).then(response => {
updateUserProfile(this.form).then(async response => {
await this.$store.dispatch('GetInfo')
this.$modal.msgSuccess('修改成功')
this.user.phonenumber = this.form.phonenumber
this.user.email = this.form.email
......
......@@ -183,7 +183,14 @@
>
<el-table-column label="姓名" align="left" prop="nickName">
<template slot-scope="{ row }">
<span v-if="row.userId !== ''">{{ row.nickName }}</span>
<span v-if="row.userId !== ''">
<span v-show="row.status.toString() === '1'"
>{{ row.name }}(已停用)</span
>
<span v-show="row.status.toString() === '0'">{{
row.name
}}</span>
</span>
<el-select
v-else
v-model="userId"
......@@ -886,10 +893,12 @@ export default {
console.log('修改', row)
console.log('this.userList', this.userList)
console.log('this.tableData', this.tableData)
// 取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
if (row.status === '0') {
// 取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
}
this.tableData.find(
item => item.userId.toString() === row.userId.toString()
).userId = ''
......@@ -937,19 +946,25 @@ export default {
confirmButtonClass: 'queryBtn'
}).then(() => {
// 把当前人取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
this.tableData = this.tableData.map((item, index) => {
if (index === 0) {
return { ...item, isLeader: 1 }
} else {
return { ...item, isLeader: 0 }
}
})
if (row.status === '0') {
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
this.tableData = this.tableData.map((item, index) => {
if (index === 0) {
return { ...item, isLeader: 1 }
} else {
return { ...item, isLeader: 0 }
}
})
} else {
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
}
})
},
handleNameChange(value) {
......@@ -959,8 +974,10 @@ export default {
this.tableData.forEach(data => {
if (data.userId === '') {
data.nickName = selectData.nickName
data.name = selectData.nickName
data.userId = selectData.userId
data.dept = selectData.dept
data.status = '0'
}
})
// 已被选择的人做禁用
......
......@@ -175,7 +175,14 @@
>
<el-table-column label="姓名" align="left" prop="nickName">
<template slot-scope="{ row }">
<span v-if="row.userId !== ''">{{ row.nickName }}</span>
<span v-if="row.userId !== ''">
<span v-show="row.status.toString() === '1'"
>{{ row.name }}(已停用)</span
>
<span v-show="row.status.toString() === '0'">{{
row.name
}}</span>
</span>
<el-select
v-else
v-model="userId"
......@@ -933,10 +940,12 @@ export default {
console.log('修改', row)
console.log('this.userList', this.userList)
console.log('this.tableData', this.tableData)
// 取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
if (row.status === '0') {
// 取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
}
this.tableData.find(
item => item.userId.toString() === row.userId.toString()
).userId = ''
......@@ -984,19 +993,25 @@ export default {
confirmButtonClass: 'queryBtn'
}).then(() => {
// 把当前人取消禁用
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
this.tableData = this.tableData.map((item, index) => {
if (index === 0) {
return { ...item, isLeader: 1 }
} else {
return { ...item, isLeader: 0 }
}
})
if (row.status === '0') {
this.userList.find(
item => item.userId.toString() === row.userId.toString()
).disabled = false
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
this.tableData = this.tableData.map((item, index) => {
if (index === 0) {
return { ...item, isLeader: 1 }
} else {
return { ...item, isLeader: 0 }
}
})
} else {
this.tableData = this.tableData.filter(
item => item.userId !== row.userId
)
}
})
},
handleNameChange(value) {
......@@ -1006,8 +1021,10 @@ export default {
this.tableData.forEach(data => {
if (data.userId === '') {
data.nickName = selectData.nickName
data.name = selectData.nickName
data.userId = selectData.userId
data.dept = selectData.dept
data.status = '0'
}
})
// 已被选择的人做禁用
......
......@@ -205,13 +205,15 @@
>
<el-table-column label="姓名" align="left" prop="nickName">
<template slot-scope="{ row }">
<span>{{ row.name }}</span>
<span v-if="row.status.toString() === '1'"
>{{ row.name }}(已停用)</span
>
<span v-else>{{ row.name }}</span>
</template>
</el-table-column>
<el-table-column label="组内角色" align="left" prop="role">
<template slot-scope="{ row }">
<span v-if="row.userId === ''">-</span>
<!-- <span v-else>{{ row.dept.deptName }}</span>-->
<span v-else-if="row.isLeader === 1"> 组长 </span>
<span v-else-if="row.isLeader === 0"> 组员 </span>
</template>
......
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