提交 c61b6f79 authored 作者: CRS's avatar CRS

new

上级 2fa4d062
......@@ -128,7 +128,7 @@ export default {
this.$server.getRolefindAll().then((res) => { // 数据请求
if (res.data.code === 200) {
this.roleList = res.data.data;
this.$server.getUnitfindAll().then((res) => { // 数据请求
this.$server.getUnitFindAll().then((res) => { // 数据请求
if (res.data.code === 200) {
this.unitList = res.data.data;
if (this.$route.params.value !== undefined) { // 角色页面跳转过来所带参数
......
......@@ -46,8 +46,9 @@
</p>
</el-col>
<el-col :span="10">
<div class="upload">
<img src="./img/upload.png">
<div class="upload" @click="uploadHeadImg">
<img :src="imageUrl" style="width: 100px;"/>
<input type="file" accept="image/*" @change="handleFile" class="hiddenInput"/>
<p>上传个人照片</p>
</div>
<div class="jump">
......@@ -75,7 +76,7 @@ export default {
status: 0
},
fileList: [],
dialogImageUrl: ''
imageUrl: require('./img/upload.png')
}
},
created() {
......@@ -101,6 +102,21 @@ export default {
}
},
methods: {
// 打开上传功能
uploadHeadImg() {
this.$el.querySelector('.hiddenInput').click();
},
// 将头像显示
handleFile(e) {
let $target = e.target || e.srcElement
let file = $target.files[0]
let reader = new FileReader()
reader.onload = (data) => {
let res = data.target || data.srcElement
this.imageUrl = res.result
}
reader.readAsDataURL(file)
}
},
components: {
},
......@@ -150,6 +166,9 @@ export default {
.personPage .content .upload p{
margin-top: 10px;
}
.personPage .hiddenInput{
display: none;
}
.personPage .content .jump{
display: inline-block;
vertical-align: top;
......
<template>
<div class="complaintDetail">
<el-row>
<el-col :span="24">
<div class="content">
<p class="title">投诉详情</p>
<div class="selectedList">
<p class="selected">
<span>投诉人:</span>
<el-input v-model="name" :disabled="true"></el-input>
</p>
<p class="selected">
<span>投诉时间:</span>
<el-input v-model="time" :disabled="true"></el-input>
</p>
<p class="selected">
<span>最近回复时间:</span>
<el-input v-model="replytime" :disabled="true"></el-input>
</p>
</div>
<div class="selectedList">
<p class="selected">
<span>投诉对象:</span>
<el-input v-model="objectVal" :disabled="true"></el-input>
</p>
<p class="selected">
<span>投诉单位:</span>
<el-input v-model="unitVal" :disabled="true"></el-input>
</p>
<p class="selected">
<span>投诉项目:</span>
<el-input v-model="projectVal" :disabled="true"></el-input>
</p>
</div>
<div class="selectedList">
<p class="selected">
<span>投诉类型:</span>
<el-input v-model="typeVal" :disabled="true"></el-input>
</p>
<p class="selected" v-show="valueAll.target === '硬件产品' || valueAll.target === '软件产品'">
<span>产品名称:</span>
<el-input v-model="unitVal" :disabled="true"></el-input>
</p>
<p class="selected">
<span>联系电话:</span>
<el-input v-model="phone" :disabled="true"></el-input>
</p>
<p class="selected blank" v-show="valueAll.target !== '硬件产品' && valueAll.target !== '软件产品'"></p>
</div>
<div class="textarea">
<p class="selected" style="display: flex">
<span>投诉内容:</span>
<el-input
type="textarea"
:rows="2"
:disabled="true"
v-model="content">
</el-input>
</p>
</div>
<p class="line"></p>
<div class="reply">
<span>回复列表:</span>
<span class="replyList"></span>
</div>
<p style="text-align: center;margin-top: 100px;">
<span class="button" @click="submit">确定</span>
</p>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data () {
return {
name: '', // 投诉人
time: '', // 投诉时间
replytime: '', // 回复时间
objectVal: '', // 对象值
unitVal: '', // 单位值
projectVal: '', // 项目值
typeVal: '', // 类型值
productVal: '', // 产品名称
phone: '', // 联系电话
content: '', // 投诉内容
valueAll: {
target: 0
}
}
},
created() {
},
mounted(){
// let val = this.$store.getters.getSidebar;
// if (val[val.length - 1].path !== 'complaintDetail') {
// val.push(
// {
// name: '投诉详情',
// path: 'complaintDetail'
// }
// )
// this.$store.commit('changeSidebar', val);
// }
this.$server.getUnitFindAll().then(res => {
console.log(res.data.data)
this.unit = res.data.data;
})
let value = this.$route.params.value;
if (value !== '' || value !== undefined) {
console.log(value);
this.name = value.userName;
this.time = value.time;
this.replytime = value.replyTime;
this.objectVal = value.target;
this.unitVal = value.unitName;
this.projectVal = value.projectName;
this.typeVal = value.type;
this.productVal = value.produceName;
this.phone = value.phone;
this.content = value.content;
this.valueAll = value;
}
},
methods: {
// 确定
submit() {
this.$router.push({name: 'complaint'});
}
},
components: {
},
watch: {
}
}
</script>
<style scoped>
.complaintDetail{
background: #ebf0f8;
width: 100%;
}
.complaintDetail .content{
margin: 40px;
padding: 0 60px 0 60px;
height: 841px;
background: #fff;
overflow: hidden;
}
.complaintDetail .content .title{
padding: 30px 0 0 0;
font-size: 20px;
color: #233b6e;
}
.complaintDetail .content .selectedList{
display: flex;
justify-content: space-between;
margin-top: 30px;
}
.complaintDetail .textarea{
margin-top: 50px;
}
.complaintDetail .content .blank{
width: 390px;
}
.complaintDetail .selected>span{
font-size: 18px;
line-height: 40px;
color: #666;
display: inline-block;
width: 124px;
text-align: right;
}
.complaintDetail .content .button{
display: inline-block;
width: 100px;
height: 34px;
line-height: 34px;
text-align: center;
background: #4877e6;
cursor: pointer;
border-radius: 2px;
color: #fff;
font-size: 18px;
}
.complaintDetail .content .button:hover{
background: rgba(72,119,230,.6);
}
.complaintDetail .content .line {
margin: 40px 0 40px 0;
height: 1px;
background: rgba(72,119,230,0.2);
}
.complaintDetail .content .reply{
font-size: 18px;
color: #666;
justify-content: space-between;
}
.complaintDetail .content .reply>span:nth-child(1){
width: 124px;
display: inline-block;
text-align: right;
vertical-align: top;
}
.complaintDetail .content .replyList{
display: inline-block;
width: 89%;
height: 100px;
background: #f5f8fd;
border: 1px solid rgba(8, 104, 157, .3);
border-radius: 2px;
}
.complaintDetail .selected>>>.el-input{
width: 270px;
}
.complaintDetail .selected>>>.el-input.is-disabled .el-input__inner{
border: 1px solid rgba(8, 104, 157, .3);
background: #f5f8fd;
font-size: 18px;
color: #333;
}
.complaintDetail .selected>>>.el-textarea{
width: 89%;
}
.complaintDetail .selected>>>.el-textarea textarea{
max-height: 70px;
min-height: 70px;
height: 70px;
font-size: 18px;
color: #333;
font-family: 'Regular';
border: 1px solid rgba(8, 104, 157, .3);
background: #f5f8fd;
}
</style>
......@@ -74,6 +74,54 @@ export default new Router({
name: 'personPage',
component: resolve => require(['../components/basicInformation/person/personPage.vue'], resolve)
},
// 基础资料管理-单位管理
{
path: '/company',
name: 'company',
component: resolve => require(['../components/basicInformation/company/company.vue'], resolve)
},
// 基础资料管理-单位信息
{
path: '/companyDetails',
name: 'companyDetails',
component: resolve => require(['../components/basicInformation/company/companyDetails.vue'], resolve)
},
// 基础资料管理-单位信息
{
path: '/product',
name: 'product',
component: resolve => require(['../components/admittance/product/product.vue'], resolve)
},
// 投诉列表-客户端
{
path: '/complaint',
name: 'complaint',
component: resolve => require(['../components/complaint/complaint/complaint.vue'], resolve)
},
// 新增投诉
{
path: '/addComplaint',
name: 'addComplaint',
component: resolve => require(['../components/complaint/complaint/addComplaint.vue'], resolve)
},
// 投诉详情
{
path: '/complaintDetail',
name: 'complaintDetail',
component: resolve => require(['../components/complaint/complaint/complaintDetail.vue'], resolve)
},
// 投诉列表-管理端
{
path: '/complaintManagement',
name: 'complaintManagement',
component: resolve => require(['../components/complaint/complaintManagement/complaintManagement.vue'], resolve)
},
// 投诉详情-管理端
{
path: '/complaintManagementDetail',
name: 'complaintManagementDetail',
component: resolve => require(['../components/complaint/complaintManagement/complaintManagementDetail.vue'], resolve)
},
]
}
]
......
......@@ -60,6 +60,54 @@ const server = {
method: 'post',
data: data
});
}
},
postComplainSearch(data) { // 投诉查询分页-管理端
return axios('/complain/search', {
method: 'post',
data: data
});
},
postComplainSearchSelf(data) { // 投诉查询分页-客户端
return axios('/complain/searchSelf', {
method: 'post',
data: data
});
},
postComplainAdd(data) { // 新增投诉
return axios('/complain/add', {
method: 'post',
data: data
});
},
getProduceFindAll() { // 获取所有产品列表
return axios('/produce/findAll', {
method: 'get'
});
},
postComplainUpdate(data) { // 新增投诉
return axios('/complain/update', {
method: 'put',
data: data
});
},
postUnitAdd(data) { // 新建单位
return axios('/unit/add', {
method: 'post',
data: data
});
},
postUserLogin(data) { // 用户登录
return axios('/user/login', {
method: 'post',
data: data
});
},
postUnitLoad(data) { // 单位导入
return axios('/unit/upload', {
method: 'post',
data: data,
headers: {'Content-Type': 'multipart/form-data'}
});
},
}
export default server;
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论