Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
enterprise-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
enterprise-platform
Commits
b91b948e
Commit
b91b948e
authored
Oct 12, 2023
by
王晓旭
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改新闻的上传,修改反馈管理
parent
da13f514
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
328 additions
and
59 deletions
+328
-59
enterprise-manager-ui/admin/src/components/AreaSelect.vue
enterprise-manager-ui/admin/src/components/AreaSelect.vue
+26
-2
enterprise-manager-ui/admin/src/components/Editor.vue
enterprise-manager-ui/admin/src/components/Editor.vue
+88
-12
enterprise-manager-ui/admin/src/components/tools/TableButtons.vue
...se-manager-ui/admin/src/components/tools/TableButtons.vue
+6
-2
enterprise-manager-ui/admin/src/views/company/drawershow.vue
enterprise-manager-ui/admin/src/views/company/drawershow.vue
+24
-3
enterprise-manager-ui/admin/src/views/company/list.vue
enterprise-manager-ui/admin/src/views/company/list.vue
+1
-1
enterprise-manager-ui/admin/src/views/feedback/drawershow.vue
...rprise-manager-ui/admin/src/views/feedback/drawershow.vue
+146
-32
enterprise-manager-ui/admin/src/views/feedback/list.vue
enterprise-manager-ui/admin/src/views/feedback/list.vue
+2
-2
enterprise-manager-ui/admin/src/views/product/drawershow.vue
enterprise-manager-ui/admin/src/views/product/drawershow.vue
+18
-0
enterprise-manager-ui/admin/src/views/staff/drawershow.vue
enterprise-manager-ui/admin/src/views/staff/drawershow.vue
+4
-4
enterprise-manager-ui/admin/src/views/staff/list.vue
enterprise-manager-ui/admin/src/views/staff/list.vue
+5
-1
enterprise-manager-ui/admin/vue.config.js
enterprise-manager-ui/admin/vue.config.js
+8
-0
No files found.
enterprise-manager-ui/admin/src/components/AreaSelect.vue
View file @
b91b948e
...
@@ -147,6 +147,11 @@ export default {
...
@@ -147,6 +147,11 @@ export default {
areaFlag
:
false
,
areaFlag
:
false
,
streetFlag
:
false
,
streetFlag
:
false
,
communityFlag
:
false
,
communityFlag
:
false
,
provinceName
:
''
,
cityName
:
''
,
areaName
:
''
,
streetName
:
''
,
communityName
:
''
}
}
},
},
...
@@ -209,6 +214,11 @@ export default {
...
@@ -209,6 +214,11 @@ export default {
this
.
streetCode
=
''
this
.
streetCode
=
''
this
.
communityCode
=
''
this
.
communityCode
=
''
this
.
cityName
=
''
this
.
areaName
=
''
this
.
streetName
=
''
this
.
communityName
=
''
var
split
=
val
.
split
(
"
&
"
);
var
split
=
val
.
split
(
"
&
"
);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
...
@@ -230,6 +240,11 @@ export default {
...
@@ -230,6 +240,11 @@ export default {
this
.
areaCode
=
''
this
.
areaCode
=
''
this
.
streetCode
=
''
this
.
streetCode
=
''
this
.
communityCode
=
''
this
.
communityCode
=
''
this
.
areaName
=
''
this
.
streetName
=
''
this
.
communityName
=
''
var
split
=
val
.
split
(
"
&
"
);
var
split
=
val
.
split
(
"
&
"
);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
...
@@ -250,6 +265,9 @@ export default {
...
@@ -250,6 +265,9 @@ export default {
this
.
streetCode
=
''
this
.
streetCode
=
''
this
.
communityCode
=
''
this
.
communityCode
=
''
this
.
streetName
=
''
this
.
communityName
=
''
var
split
=
val
.
split
(
"
&
"
);
var
split
=
val
.
split
(
"
&
"
);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
...
@@ -271,6 +289,9 @@ export default {
...
@@ -271,6 +289,9 @@ export default {
this
.
fetchData
(
this
.
communityList
,
this
.
streetCode
)
this
.
fetchData
(
this
.
communityList
,
this
.
streetCode
)
this
.
streetFlag
=
true
this
.
streetFlag
=
true
this
.
communityCode
=
''
this
.
communityCode
=
''
this
.
communityName
=
''
var
split
=
val
.
split
(
"
&
"
);
var
split
=
val
.
split
(
"
&
"
);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
"
input
"
,
split
[
1
]);
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
this
.
$emit
(
'
addressSelect
'
,
split
[
1
])
...
@@ -289,7 +310,6 @@ export default {
...
@@ -289,7 +310,6 @@ export default {
},
},
// 社区修改,拉取社区列表
// 社区修改,拉取社区列表
changeCommunity
(
val
)
{
changeCommunity
(
val
)
{
console
.
log
(
"
changeCommunity
"
,
val
)
this
.
fetchData
(
this
.
communityList
,
this
.
streetCode
)
this
.
fetchData
(
this
.
communityList
,
this
.
streetCode
)
this
.
communityFlag
=
true
this
.
communityFlag
=
true
var
split
=
val
.
split
(
"
&
"
);
var
split
=
val
.
split
(
"
&
"
);
...
@@ -318,24 +338,29 @@ export default {
...
@@ -318,24 +338,29 @@ export default {
if
(
area
.
areaLevel
==
'
1
'
){
if
(
area
.
areaLevel
==
'
1
'
){
//省
//省
this
.
provinceCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
provinceCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
provinceName
=
area
.
name
this
.
fetchData
(
this
.
provinceList
,
pid
)
this
.
fetchData
(
this
.
provinceList
,
pid
)
return
return
}
else
if
(
area
.
areaLevel
==
'
2
'
){
}
else
if
(
area
.
areaLevel
==
'
2
'
){
//市
//市
this
.
cityCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
cityCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
cityName
=
area
.
name
this
.
fetchData
(
this
.
cityList
,
pid
)
this
.
fetchData
(
this
.
cityList
,
pid
)
}
else
if
(
area
.
areaLevel
==
'
3
'
){
}
else
if
(
area
.
areaLevel
==
'
3
'
){
//区县
//区县
this
.
areaCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
areaCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
areaName
=
area
.
name
this
.
fetchData
(
this
.
areaList
,
pid
)
this
.
fetchData
(
this
.
areaList
,
pid
)
}
else
if
(
area
.
areaLevel
==
'
4
'
){
}
else
if
(
area
.
areaLevel
==
'
4
'
){
//街道
//街道
let
pid
=
area
.
pid
+
"
&
"
+
area
.
areaCode
let
pid
=
area
.
pid
+
"
&
"
+
area
.
areaCode
this
.
streetName
=
area
.
name
this
.
fetchData
(
this
.
streetList
,
pid
)
this
.
fetchData
(
this
.
streetList
,
pid
)
this
.
streetCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
streetCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
}
else
if
(
area
.
areaLevel
==
'
5
'
){
}
else
if
(
area
.
areaLevel
==
'
5
'
){
//社区
//社区
this
.
fetchData
(
this
.
communityList
,
pid
)
this
.
fetchData
(
this
.
communityList
,
pid
)
this
.
communityName
=
area
.
name
this
.
communityCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
this
.
communityCode
=
area
.
iid
+
"
&
"
+
area
.
areaCode
}
}
this
.
$post
(
"
/base/area/list
"
,
{
iid
:
area
.
pid
}).
then
((
res
)
=>
{
this
.
$post
(
"
/base/area/list
"
,
{
iid
:
area
.
pid
}).
then
((
res
)
=>
{
...
@@ -356,7 +381,6 @@ export default {
...
@@ -356,7 +381,6 @@ export default {
immediate
:
true
,
immediate
:
true
,
handler
(
newVal
)
{
handler
(
newVal
)
{
if
(
newVal
)
{
if
(
newVal
)
{
this
.
addressCodeToList
(
newVal
)
this
.
addressCodeToList
(
newVal
)
}
else
{
}
else
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
enterprise-manager-ui/admin/src/components/Editor.vue
View file @
b91b948e
<
template
>
<
template
>
<div>
<el-upload
v-show=
"isshow"
name=
"file"
list-type=
"picture-card"
class=
"avatar-uploader2"
:data=
"
{filename:'infomation'}"
:show-upload-list="false"
:action="uploadFileUrl"
:before-upload="beforeUpload"
:on-success="uploadSuccessEdit"
>
</el-upload>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
<div
class=
"editor"
ref=
"editor"
:style=
"styles"
></div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -34,6 +49,8 @@ export default {
...
@@ -34,6 +49,8 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
isshow
:
false
,
uploadFileUrl
:
"
/enterprise/file/commonupload
"
,
// 上传的地址
Quill
:
null
,
Quill
:
null
,
currentValue
:
""
,
currentValue
:
""
,
options
:
{
options
:
{
...
@@ -42,18 +59,32 @@ export default {
...
@@ -42,18 +59,32 @@ export default {
debug
:
"
warn
"
,
debug
:
"
warn
"
,
modules
:
{
modules
:
{
// 工具栏配置
// 工具栏配置
toolbar
:
[
toolbar
:{
[
"
bold
"
,
"
italic
"
,
"
underline
"
,
"
strike
"
],
// 加粗 斜体 下划线 删除线
container
:[
[
"
blockquote
"
,
"
code-block
"
],
// 引用 代码块
[
"
bold
"
,
"
italic
"
,
"
underline
"
,
"
strike
"
],
// 加粗 斜体 下划线 删除线
[{
list
:
"
ordered
"
},
{
list
:
"
bullet
"
}],
// 有序、无序列表
[
"
blockquote
"
,
"
code-block
"
],
// 引用 代码块
[{
indent
:
"
-1
"
},
{
indent
:
"
+1
"
}],
// 缩进
[{
list
:
"
ordered
"
},
{
list
:
"
bullet
"
}],
// 有序、无序列表
[{
size
:
[
"
small
"
,
false
,
"
large
"
,
"
huge
"
]
}],
// 字体大小
[{
indent
:
"
-1
"
},
{
indent
:
"
+1
"
}],
// 缩进
[{
header
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
// 标题
[{
size
:
[
"
small
"
,
false
,
"
large
"
,
"
huge
"
]
}],
// 字体大小
[{
color
:
[]
},
{
background
:
[]
}],
// 字体颜色、字体背景颜色
[{
header
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
// 标题
[{
align
:
[]
}],
// 对齐方式
[{
color
:
[]
},
{
background
:
[]
}],
// 字体颜色、字体背景颜色
[
"
clean
"
],
// 清除文本格式
[{
align
:
[]
}],
// 对齐方式
[
"
link
"
,
"
image
"
,
"
video
"
]
// 链接、图片、视频
[
"
clean
"
],
// 清除文本格式
],
[
"
link
"
,
"
image
"
,
"
video
"
]
// 链接、图片、视频
],
handlers
:
{
"
image
"
:
function
(
value
)
{
if
(
value
)
{
// 调用element的图片上传组件
document
.
querySelector
(
'
.avatar-uploader2 input
'
).
click
()
}
else
{
this
.
quill
.
format
(
'
image
'
,
false
)
}
}
}
}
},
},
placeholder
:
"
请输入内容
"
,
placeholder
:
"
请输入内容
"
,
readOnly
:
this
.
readOnly
,
readOnly
:
this
.
readOnly
,
...
@@ -92,6 +123,51 @@ export default {
...
@@ -92,6 +123,51 @@ export default {
this
.
Quill
=
null
;
this
.
Quill
=
null
;
},
},
methods
:
{
methods
:
{
// 上传图片成功
uploadSuccessEdit
(
res
,
file
)
{
// res为图片服务器返回的数据
// 获取富文本组件实例
let
quill
=
this
.
Quill
// 如果上传成功
if
(
res
.
code
==
1
)
{
// 获取光标所在位置
let
length
=
quill
.
getSelection
().
index
;
// 插入图片 res.data.url为服务器返回的图片地址
quill
.
insertEmbed
(
length
,
'
image
'
,
res
.
url
)
// quill.insertEmbed(length, 'image','https://02c4e834b47bd7c8.jomoxc.com:9082/fs6ca4aaf6.a.bdydns.com/0/bjh/news/5ed45c62f6d447320a096e85187dcc24.gif?r=BzcbRhcCTngfXBtDNFsvRw0nHEIFTAg0QVYXAGlUJwFALQpBFxdUMgsBTQ5wBCtfC3dbAVcKUTZfDE4IfgN8UVgnDFVWDE8wBlMAMwpYB1wPZgBFHQMlUiNY&xcid=3042c042cee643c3b324dcf1d0aefe2f&max_age=2592000&xcsched=1572413558&xclogid=5361435651673602026&xauzkey=mngx_d1cd221672f72b38bac902fc48026343_1697182784&f_ver=v1&bcecdn_trace_info=FGEFXgoaW3UDT0wOMgF6S0NhHxReGhk0C1taEAAzClgHXA9mAEUdAyVSI1g%3D')
// 调整光标到最后
quill
.
setSelection
(
length
+
1
)
}
else
{
this
.
$message
.
error
(
'
图片插入失败
'
)
}
// loading动画消失
this
.
quillUpdateImg
=
false
},
handleChange
(
info
)
{
console
.
log
(
info
);
// if (info.file.status === 'done') {
// // Get this url from response in real world.
// if(info.file.response && info.file.response.code == 1){
// let imgurl = `${BASE_URL}/${info.file.response.data}`
// let quill = this.$refs.myTextEditor.quill
// // 获取光标所在位置
// let length = quill.getSelection().index;
// // 插入图片,res为服务器返回的图片链接地址
// quill.insertEmbed(length, 'image', imgurl)
// }
// }
},
beforeUpload
(
file
)
{
const
isJpgOrPng
=
file
.
type
===
'
image/jpeg
'
||
file
.
type
===
'
image/png
'
||
file
.
type
===
'
image/gif
'
;
if
(
!
isJpgOrPng
)
{
this
.
$message
.
error
(
'
请上传jpeg、png或gif格式的图片
'
);
}
return
isJpgOrPng
;
},
init
()
{
init
()
{
const
editor
=
this
.
$refs
.
editor
;
const
editor
=
this
.
$refs
.
editor
;
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
this
.
Quill
=
new
Quill
(
editor
,
this
.
options
);
...
...
enterprise-manager-ui/admin/src/components/tools/TableButtons.vue
View file @
b91b948e
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<el-button
v-if=
'!noView'
type=
"text"
icon=
"el-icon-view"
size=
'mini'
@
click=
'$emit("view", row)'
title=
"查看"
>
查看
</el-button>
<el-button
v-if=
'!noView'
type=
"text"
icon=
"el-icon-view"
size=
'mini'
@
click=
'$emit("view", row)'
title=
"查看"
>
查看
</el-button>
<span>
</span>
<span>
</span>
<Confirm
@
confirm=
'$emit("del", row.id)'
message=
'确定要删除该条记录吗?'
>
<Confirm
@
confirm=
'$emit("del", row.id)'
message=
'确定要删除该条记录吗?'
>
<el-button
v-if=
'!noDel'
type=
"text"
icon=
"el-icon-delete"
size=
'mini'
title=
"删除"
>
删除
</el-button>
<el-button
v-if=
'!noDel'
type=
"text"
icon=
"el-icon-delete"
size=
'mini'
class=
"del"
title=
"删除"
>
删除
</el-button>
</Confirm>
</Confirm>
</span>
</span>
</
template
>
</
template
>
...
@@ -49,5 +49,9 @@ export default {
...
@@ -49,5 +49,9 @@ export default {
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
.del{
color: red !important;
}
</
style
>
enterprise-manager-ui/admin/src/views/company/drawershow.vue
View file @
b91b948e
...
@@ -26,10 +26,9 @@
...
@@ -26,10 +26,9 @@
:span=
"24"
:span=
"24"
label=
"经营地址"
label=
"经营地址"
prop=
"businessAdress"
prop=
"businessAdress"
v-model=
"form.businessAdress"
placeholder=
"请输入经营地址"
placeholder=
"请输入经营地址"
>
>
<area-select
v-model=
"form.areaCode"
@
addressSelect=
"addressSelect"
></area-select>
<area-select
ref=
"areaselect"
v-model=
"form.areaCode"
@
addressSelect=
"addressSelect"
></area-select>
</Field>
</Field>
<!--
<Field
label=
"所在地"
prop=
"location"
v-model=
"form.location"
placeholder=
"请输入所在地"
/>
-->
<!--
<Field
label=
"所在地"
prop=
"location"
v-model=
"form.location"
placeholder=
"请输入所在地"
/>
-->
...
@@ -125,7 +124,7 @@
...
@@ -125,7 +124,7 @@
</el-row>
</el-row>
<el-form-item
v-if=
"pageInfo.type!='view'"
class=
"formbtns"
>
<el-form-item
v-if=
"pageInfo.type!='view'"
class=
"formbtns"
>
<el-button
type=
"primary"
@
click=
"
submitForm
"
icon=
"el-icon-circle-check-outline"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"
hanndleSubmit
"
icon=
"el-icon-circle-check-outline"
>
保存
</el-button>
<el-button
@
click=
"open=false"
icon=
"el-icon-circle-close-outline"
>
取消
</el-button>
<el-button
@
click=
"open=false"
icon=
"el-icon-circle-close-outline"
>
取消
</el-button>
</el-form-item>
</el-form-item>
</Field>
</Field>
...
@@ -241,6 +240,28 @@ export default {
...
@@ -241,6 +240,28 @@ export default {
},
},
methods
:
{
methods
:
{
hanndleSubmit
(){
this
.
form
.
businessAdress
=
this
.
$refs
.
areaselect
.
provinceName
+
this
.
$refs
.
areaselect
.
cityName
+
this
.
$refs
.
areaselect
.
areaName
+
this
.
$refs
.
areaselect
.
streetName
+
this
.
$refs
.
areaselect
.
communityName
+
this
.
form
.
location
// 检查知识产权list中类型不能为空
if
(
this
.
companyPatentsList
&&
this
.
companyPatentsList
.
length
>
0
){
let
isNull
=
false
this
.
companyPatentsList
.
forEach
((
item
)
=>
{
if
(
!
item
.
intellectPropertyType
)
{
isNull
=
true
}
})
if
(
isNull
){
this
.
$confirm
(
'
知识产权类型不能为空
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
type
:
'
warning
'
,
showCancelButton
:
false
,
//是否显示取消按钮
showClose
:
false
,
//是否显示关闭按钮
})
return
;
}
}
this
.
submitForm
()
},
addressSelect
(
val
)
{
addressSelect
(
val
)
{
console
.
log
(
"
addressSelect
"
,
val
);
console
.
log
(
"
addressSelect
"
,
val
);
},
},
...
...
enterprise-manager-ui/admin/src/views/company/list.vue
View file @
b91b948e
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
row
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
);
}
}
}
}
...
...
enterprise-manager-ui/admin/src/views/feedback/drawershow.vue
View file @
b91b948e
...
@@ -5,57 +5,120 @@
...
@@ -5,57 +5,120 @@
:visible.sync=
"open"
:visible.sync=
"open"
:direction=
"direction"
:direction=
"direction"
:destroy-on-close=
"true"
:destroy-on-close=
"true"
size=
"50%"
>
size=
"80%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<div
class=
"drawer"
>
<el-row>
<div
class=
"card drleft"
>
<Field
label=
"标题"
prop=
"title"
v-model=
"form.title"
type=
"textarea"
placeholder=
"请输入标题"
/>
<div
class=
"lefttitle"
>
建议内容
</div>
<Field
label=
"内容"
><editor
v-model=
"form.content"
:min-height=
"256"
/></Field>
<div
class=
"diyhang"
>
<Field
label=
"是否公开 "
prop=
"isShow"
v-model=
"form.isShow"
type=
"select"
:enumData=
"dict.isShow"
placeholder=
"请选择是否公开 "
/>
<div
class=
"jyitem"
>
<Field
label=
"反馈人姓名"
prop=
"feedbackName"
v-model=
"form.feedbackName"
placeholder=
"请输入反馈人姓名"
/>
<div
class=
"leftlabel"
>
真实姓名
</div>
<Field
label=
"单位名称"
prop=
"companyName"
v-model=
"form.companyName"
placeholder=
"请输入单位名称"
/>
<div
class=
"leftanser"
>
{{
form
.
feedbackName
}}
</div>
<Field
label=
"联系方式"
prop=
"contactInfo"
v-model=
"form.contactInfo"
placeholder=
"请输入联系方式"
/>
</div>
<Field
label=
"身份证号"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号"
/>
<div
class=
"jyitem"
>
<Field
label=
"地址"
prop=
"address"
v-model=
"form.address"
placeholder=
"请输入地址"
/>
<div
class=
"leftlabel"
>
联系电话
</div>
<Field
label=
"邮箱地址"
prop=
"email"
v-model=
"form.email"
placeholder=
"请输入邮箱地址"
/>
<div
class=
"leftanser"
>
{{
form
.
contactInfo
}}
</div>
<Field
label=
"是否回复 "
prop=
"reply"
v-model=
"form.reply"
type=
"select"
:enumData=
"dict.reply"
placeholder=
"请选择是否回复 "
/>
</div>
<Field
label=
"回复人"
prop=
"replyPerson"
v-model=
"form.replyPerson"
placeholder=
"请输入回复人"
/>
<div
class=
"jyitem"
>
<Field
label=
"回复"
><editor
v-model=
"form.replyContent"
:min-height=
"256"
/></Field>
<div
class=
"leftlabel"
>
邮箱地址
</div>
<Field
label=
"所属部门"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
<div
class=
"leftanser"
>
{{
form
.
email
}}
</div>
<Field
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
</div>
<Field
label=
"反馈类型 "
prop=
"feedbackType"
v-model=
"form.feedbackType"
type=
"select"
:enumData=
"dict.feedbackType"
placeholder=
"请选择反馈类型 "
/>
<div
class=
"jyitem"
>
<Field
label=
"附件名称,多个逗号分割"
prop=
"fileName"
v-model=
"form.fileName"
placeholder=
"请输入附件名称,多个逗号分割"
/>
<div
class=
"leftlabel"
>
单位名称
</div>
<Field
label=
"附件地址,多个逗号分割"
><fileUpload
v-model=
"form.filePath"
prePath=
"/file/fileupload"
/></Field>
<div
class=
"leftanser"
>
{{
form
.
companyName
}}
</div>
<Field
label=
"回复附件名称,多个逗号分割"
prop=
"replyFileName"
v-model=
"form.replyFileName"
placeholder=
"请输入回复附件名称,多个逗号分割"
/>
</div>
<Field
label=
"回复附件地址,多个逗号分割"
><fileUpload
v-model=
"form.replyFilePath"
prePath=
"/file/fileupload"
/></Field>
</div>
<Field
label=
"回复时间"
prop=
"replyTime"
v-model=
"form.replyTime"
type=
"date"
/>
<Field
label=
"处理人id"
prop=
"processId"
v-model=
"form.processId"
placeholder=
"请输入处理人id"
/>
<div
class=
"jyitem"
>
<Field
label=
"处理人名称"
prop=
"processName"
v-model=
"form.processName"
placeholder=
"请输入处理人名称"
/>
<div
class=
"leftlabel"
>
用户备注
</div>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<div
class=
"leftanser"
>
{{
form
.
remark
}}
</div>
<Field
label=
"处理意见"
prop=
"processComments"
v-model=
"form.processComments"
placeholder=
"请输入处理意见"
/>
</div>
<Field
label=
"处理时间"
prop=
"processTime"
v-model=
"form.processTime"
type=
"date"
/>
<div
class=
"jyitem"
>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<div
class=
"leftlabel"
>
具体内容
</div>
<div
class=
"leftanser"
>
{{
form
.
content
}}
</div>
</div>
<div
class=
"jyitem"
>
<div
class=
"leftlabel"
>
附件
</div>
<!--
<Field
label=
"附件名称,多个逗号分割"
prop=
"fileName"
v-model=
"form.fileName"
placeholder=
"请输入附件名称,多个逗号分割"
/>
<Field
label=
"附件地址,多个逗号分割"
><fileUpload
v-model=
"form.filePath"
prePath=
"/file/fileupload"
/></Field>
-->
</div>
<div
class=
"jyitem"
>
<div
class=
"leftlabel"
>
提交日期
</div>
<div
class=
"leftanser"
>
{{
createTime
}}
</div>
</div>
</div>
<div
class=
"card drright"
>
<div
class=
"righttitle"
>
建议答复
</div>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
:span=
"23"
label=
"所属部门"
type=
"select"
prop=
"deptId"
v-model=
"form.deptId"
placeholder=
"请输入所属部门"
/>
</el-row>
<!--
<el-row>
<Field
:span=
"23"
label=
"所属部门名称"
prop=
"deptName"
v-model=
"form.deptName"
placeholder=
"请输入所属部门名称"
/>
</el-row>
-->
<el-row>
<Field
:span=
"23"
label=
"回复内容"
type=
"textarea"
prop=
"replyContent"
v-model=
"form.replyContent"
placeholder=
"请输入回复内容"
/>
</el-row>
<!--
<el-row>
<Field
:span=
"23"
label=
"回复附件名称,多个逗号分割"
prop=
"replyFileName"
v-model=
"form.replyFileName"
placeholder=
"请输入回复附件名称,多个逗号分割"
/>
</el-row>
-->
<el-row>
<Field
:span=
"23"
label=
"选择附件"
><fileUpload
v-model=
"form.replyFilePath"
prePath=
"/file/fileupload"
/></Field>
</el-row>
<el-row>
<Field
:span=
"23"
label=
"是否公开 "
prop=
"isShow"
v-model=
"form.isShow"
type=
"select"
:enumData=
"dict.isShow"
placeholder=
"请选择是否公开 "
/>
</el-row>
<!--
<Field
label=
"标题"
prop=
"title"
v-model=
"form.title"
type=
"textarea"
placeholder=
"请输入标题"
/>
-->
<!--
<Field
label=
"身份证号"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号"
/>
-->
<!--
<Field
label=
"地址"
prop=
"address"
v-model=
"form.address"
placeholder=
"请输入地址"
/>
<Field
label=
"是否回复 "
prop=
"reply"
v-model=
"form.reply"
type=
"select"
:enumData=
"dict.reply"
placeholder=
"请选择是否回复 "
/>
<Field
label=
"回复人"
prop=
"replyPerson"
v-model=
"form.replyPerson"
placeholder=
"请输入回复人"
/>
<Field
label=
"回复"
><editor
v-model=
"form.replyContent"
:min-height=
"256"
/></Field>
<Field
label=
"反馈类型 "
prop=
"feedbackType"
v-model=
"form.feedbackType"
type=
"select"
:enumData=
"dict.feedbackType"
placeholder=
"请选择反馈类型 "
/>
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
<Field
label=
"回复时间"
prop=
"replyTime"
v-model=
"form.replyTime"
type=
"date"
/>
</el-form>
<Field
label=
"处理人id"
prop=
"processId"
v-model=
"form.processId"
placeholder=
"请输入处理人id"
/>
<Field
label=
"处理人名称"
prop=
"processName"
v-model=
"form.processName"
placeholder=
"请输入处理人名称"
/>
<Field
label=
"处理状态"
prop=
"processStatus"
v-model=
"form.processStatus"
type=
"select"
:enumData=
"dict.processStatus"
placeholder=
"请选择处理状态"
/>
<Field
label=
"处理意见"
prop=
"processComments"
v-model=
"form.processComments"
placeholder=
"请输入处理意见"
/>
<Field
label=
"处理时间"
prop=
"processTime"
v-model=
"form.processTime"
type=
"date"
/>
-->
</el-row>
<!--
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
-->
</el-form>
</div>
</div>
<div
class=
"footbtn"
>
<el-button
type=
"primary"
@
click=
'submitForm'
icon=
'el-icon-circle-check-outline'
>
确认
</el-button>
<el-button
@
click=
'()=>
{open = false}' icon='el-icon-circle-close-outline'>取消
</el-button>
</div>
</el-drawer>
</el-drawer>
</
template
>
</
template
>
<
script
>
<
script
>
import
moment
from
'
moment
'
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
export
default
{
name
:
"
FeedbackDetail
"
,
name
:
"
FeedbackDetail
"
,
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{
components
:
{
},
watch
:{
form
(
newval
){
if
(
newval
.
createTime
){
this
.
createTime
=
moment
(
newval
.
createTime
).
format
(
'
yyyy-MM-DD
'
)
}
else
{
this
.
createTime
=
'
--
'
}
}
},
},
created
()
{
created
()
{
this
.
changePath
(
"
feedback
"
)
this
.
changePath
(
"
feedback
"
)
},
},
data
()
{
data
()
{
return
{
return
{
createTime
:
''
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 弹出层标题
// 弹出层标题
...
@@ -216,3 +279,54 @@ export default {
...
@@ -216,3 +279,54 @@ export default {
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
.footbtn{
height: 100px;
display: flex;
justify-content: center;
align-items: center;
}
.drawer{
min-height: calc(100% - 100px);
width: 100%;
background: rgba(220, 220, 220, 0.466);
display: flex;
justify-content: space-between;
padding: 20px;
.drright{
.righttitle{
font-weight: 600;
margin:8px 0 20px;
color: red;
}
}
.drleft{
.jyitem{
display: flex;
flex-direction: column;
justify-content: center;
.leftlabel{
color: #0377FF;
font-weight: 600;
margin:8px 0;
}
}
.diyhang{
display: flex;
justify-content: space-between;
}
.lefttitle{
font-size: 16px;
font-weight: 600;
margin-bottom: 10px;
}
}
.card{
width: calc( 50% - 10px);
background: #ffffff;
border-radius: 25px;
padding: 20px;
}
}
</
style
>
\ No newline at end of file
enterprise-manager-ui/admin/src/views/feedback/list.vue
View file @
b91b948e
<
template
>
<
template
>
<div
class=
"page"
>
<div
class=
"page"
>
<LayoutTable
ref=
"layouttable"
:data=
"tableData"
:config=
"tableConfig"
>
<LayoutTable
ref=
"layouttable"
:data=
"tableData"
:config=
"tableConfig"
notDel
notAdd
>
<!-- 热门0为非热门1为热门 -->
<!-- 热门0为非热门1为热门 -->
<div
slot=
"table-search-left"
class=
"onlyhot"
>
<div
slot=
"table-search-left"
class=
"onlyhot"
>
<el-checkbox
<el-checkbox
...
@@ -142,7 +142,7 @@
...
@@ -142,7 +142,7 @@
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
row
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
el
-
button
type
=
"
text
"
icon
=
"
el-icon-edit
"
size
=
'
mini
'
onClick
=
{()
=>
{
this
.
toEdit
(
row
)}}
title
=
"
详情
"
>
详情
<
/el-button
>
);
);
}
}
}
}
...
...
enterprise-manager-ui/admin/src/views/product/drawershow.vue
View file @
b91b948e
...
@@ -170,6 +170,24 @@
...
@@ -170,6 +170,24 @@
// 选中短视频
// 选中短视频
this
.
form
.
productPicPath
=
''
this
.
form
.
productPicPath
=
''
}
}
// 检查常见问题list中问题不能为空
if
(
this
.
productQuestionList
&&
this
.
productQuestionList
.
length
>
0
){
let
isNull
=
false
this
.
productQuestionList
.
forEach
((
item
)
=>
{
if
(
!
item
.
question
)
{
isNull
=
true
}
})
if
(
isNull
){
this
.
$confirm
(
'
常见问题项的问题标题不能为空
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
type
:
'
warning
'
,
showCancelButton
:
false
,
//是否显示取消按钮
showClose
:
false
,
//是否显示关闭按钮
})
return
;
}
}
this
.
submitForm
()
this
.
submitForm
()
},
},
// 修改宣传形式
// 修改宣传形式
...
...
enterprise-manager-ui/admin/src/views/staff/drawershow.vue
View file @
b91b948e
...
@@ -8,14 +8,14 @@
...
@@ -8,14 +8,14 @@
size=
"50%"
>
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<el-row>
<Field
:span=
"20"
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
:span=
"20"
label=
"员工姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入员工姓名"
/>
<Field
:span=
"20"
label=
"所属公司"
prop=
"companyIds"
v-model=
"form.companyIds"
:multiple=
"true"
type=
"select"
:enum-data=
"dict.companyId"
placeholder=
"请输入所属公司"
/>
<Field
:span=
"20"
label=
"所属公司"
prop=
"companyIds"
v-model=
"form.companyIds"
:multiple=
"true"
type=
"select"
:enum-data=
"dict.companyId
s
"
placeholder=
"请输入所属公司"
/>
<Field
:span=
"20"
label=
"职位"
prop=
"positionId"
v-model=
"form.positionId"
type=
"select"
:enum-data=
"dict.positionId"
placeholder=
"请输入职位ID"
/>
<Field
:span=
"20"
label=
"职位"
prop=
"positionId"
v-model=
"form.positionId"
type=
"select"
:enum-data=
"dict.positionId"
placeholder=
"请输入职位ID"
/>
<Field
:span=
"20"
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
:span=
"20"
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
:span=
"20"
label=
"员工状态"
type=
"select"
prop=
"staffStatus"
v-model=
"form.staffStatus"
:enum-data=
"dict.staffStatus"
placeholder=
"请输入员工状态"
/>
<Field
:span=
"20"
label=
"头像"
prop=
"photoPath"
placeholder=
"请输入照片"
><imageUpload
v-model=
"form.photoPath"
prePath=
"/file/preview"
/>
</Field>
<Field
:span=
"20"
label=
"头像"
prop=
"photoPath"
placeholder=
"请输入照片"
><imageUpload
v-model=
"form.photoPath"
prePath=
"/file/preview"
/>
</Field>
<Field
:span=
"20"
label=
"邮件地址"
prop=
"email"
v-model=
"form.email"
placeholder=
"请输入邮件地址"
/>
<Field
:span=
"20"
label=
"邮件地址"
prop=
"email"
v-model=
"form.email"
placeholder=
"请输入邮件地址"
/>
<Field
:span=
"20"
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<Field
:span=
"20"
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-row>
...
...
enterprise-manager-ui/admin/src/views/staff/list.vue
View file @
b91b948e
...
@@ -87,12 +87,16 @@
...
@@ -87,12 +87,16 @@
{
label
:
"
最近更新时间
"
,
prop
:
"
updateTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
最近更新时间
"
,
prop
:
"
updateTime
"
,
formatter
:
this
.
formatterDate
},
{
label
:
"
更新人员
"
,
prop
:
"
updateUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
更新人员
"
,
prop
:
"
updateUserId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工状态
"
,
prop
:
"
staffStatus
"
,
formatter
:
this
.
formatter
},
{
{
label
:
"
操作
"
,
label
:
"
操作
"
,
width
:
240
,
width
:
240
,
formatter
:
row
=>
{
formatter
:
row
=>
{
return
(
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
div
>
<
span
>
<
/span
>
<
table
-
buttons
noAdd
noView
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
<
/div
>
);
);
}
}
}
}
...
...
enterprise-manager-ui/admin/vue.config.js
View file @
b91b948e
...
@@ -24,6 +24,14 @@ module.exports = {
...
@@ -24,6 +24,14 @@ module.exports = {
secure
:
false
,
secure
:
false
,
cookieDomainRewrite
:
"
localhost
"
,
cookieDomainRewrite
:
"
localhost
"
,
},
},
"
/file
"
:
{
// target: "http://test.office.com:11073",
// target: 'http://8.136.255.30:11078',
target
:
'
http://192.168.0.98:11086
'
,
changeOrigin
:
true
,
secure
:
false
,
cookieDomainRewrite
:
"
localhost
"
,
},
},
},
},
},
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment