Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
9
912project
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
CRS
912project
Commits
c61b6f79
提交
c61b6f79
authored
3月 04, 2020
作者:
CRS
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
new
上级
2fa4d062
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
357 行增加
和
5 行删除
+357
-5
person.vue
src/components/basicInformation/person/person.vue
+1
-1
personPage.vue
src/components/basicInformation/person/personPage.vue
+22
-3
addComplaint.vue
src/components/complaint/complaint/addComplaint.vue
+0
-0
complaint.vue
src/components/complaint/complaint/complaint.vue
+0
-0
complaintDetail.vue
src/components/complaint/complaint/complaintDetail.vue
+237
-0
click.png
src/components/complaint/complaint/img/click.png
+0
-0
clickN.png
src/components/complaint/complaint/img/clickN.png
+0
-0
complaintManagement.vue
...nts/complaint/complaintManagement/complaintManagement.vue
+0
-0
complaintManagementDetail.vue
...mplaint/complaintManagement/complaintManagementDetail.vue
+0
-0
click.png
src/components/complaint/complaintManagement/img/click.png
+0
-0
clickN.png
src/components/complaint/complaintManagement/img/clickN.png
+0
-0
index.js
src/router/index.js
+48
-0
server.js
src/services/server.js
+49
-1
没有找到文件。
src/components/basicInformation/person/person.vue
浏览文件 @
c61b6f79
...
...
@@ -128,7 +128,7 @@ export default {
this
.
$server
.
getRolefindAll
().
then
((
res
)
=>
{
// 数据请求
if
(
res
.
data
.
code
===
200
)
{
this
.
roleList
=
res
.
data
.
data
;
this
.
$server
.
getUnit
f
indAll
().
then
((
res
)
=>
{
// 数据请求
this
.
$server
.
getUnit
F
indAll
().
then
((
res
)
=>
{
// 数据请求
if
(
res
.
data
.
code
===
200
)
{
this
.
unitList
=
res
.
data
.
data
;
if
(
this
.
$route
.
params
.
value
!==
undefined
)
{
// 角色页面跳转过来所带参数
...
...
src/components/basicInformation/person/personPage.vue
浏览文件 @
c61b6f79
...
...
@@ -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
;
...
...
src/components/complaint/complaint/addComplaint.vue
0 → 100644
浏览文件 @
c61b6f79
差异被折叠。
点击展开。
src/components/complaint/complaint/complaint.vue
0 → 100644
浏览文件 @
c61b6f79
差异被折叠。
点击展开。
src/components/complaint/complaint/complaintDetail.vue
0 → 100644
浏览文件 @
c61b6f79
<
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
>
src/components/complaint/complaint/img/click.png
0 → 100644
浏览文件 @
c61b6f79
534 Bytes
src/components/complaint/complaint/img/clickN.png
0 → 100644
浏览文件 @
c61b6f79
453 Bytes
src/components/complaint/complaintManagement/complaintManagement.vue
0 → 100644
浏览文件 @
c61b6f79
差异被折叠。
点击展开。
src/components/complaint/complaintManagement/complaintManagementDetail.vue
0 → 100644
浏览文件 @
c61b6f79
差异被折叠。
点击展开。
src/components/complaint/complaintManagement/img/click.png
0 → 100644
浏览文件 @
c61b6f79
534 Bytes
src/components/complaint/complaintManagement/img/clickN.png
0 → 100644
浏览文件 @
c61b6f79
453 Bytes
src/router/index.js
浏览文件 @
c61b6f79
...
...
@@ -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
)
},
]
}
]
...
...
src/services/server.js
浏览文件 @
c61b6f79
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论