@ -1,4 +1,5 @@ |
|||
NODE_ENV=production |
|||
# VUE_APP_API_SERVER = http://120.27.18.76/api |
|||
VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api |
|||
VUE_APP_NODE_ENV=prod:uat |
|||
VUE_APP_PUBLIC_PATH=epmet-oper |
|||
@ -0,0 +1,4 @@ |
|||
NODE_ENV=production |
|||
VUE_APP_API_SERVER = https://epdc-shibei.elinkservice.cn/api |
|||
VUE_APP_NODE_ENV=shibei_prod |
|||
VUE_APP_PUBLIC_PATH=epmet-oper |
|||
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.1 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 8.4 MiB |
|
After Width: | Height: | Size: 13 MiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 393 KiB |
|
After Width: | Height: | Size: 417 B |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
@ -1,11 +1,11 @@ |
|||
// 变量 |
|||
@import "~@/element-ui/theme-variables.scss"; |
|||
@import "./variables.scss"; |
|||
@import '~@/element-ui/theme-variables.scss'; |
|||
@import './variables.scss'; |
|||
// 公共 |
|||
@import "./normalize.scss"; |
|||
@import "./common.scss"; |
|||
@import './normalize.scss'; |
|||
@import './common.scss'; |
|||
// 页面 |
|||
@import "./pages/login.scss"; |
|||
@import "./pages/404.scss"; |
|||
@import './pages/login.scss'; |
|||
@import './pages/404.scss'; |
|||
// 模块 |
|||
@import "./modules/home.scss"; |
|||
@import './modules/home.scss'; |
|||
|
|||
@ -0,0 +1,67 @@ |
|||
//新增 |
|||
.el-button--add { |
|||
color: #fff; |
|||
background-color: #22c1c3; |
|||
border-color: #22c1c3; |
|||
} |
|||
.el-button--add:hover { |
|||
color: #fff; |
|||
background-color: #05b1b4; |
|||
border-color: #05b1b4; |
|||
} |
|||
.el-button--add:focus { |
|||
color: #fff; |
|||
background-color: #22c1c3; |
|||
border-color: #22c1c3; |
|||
} |
|||
|
|||
//删除、导入 |
|||
.el-button--delete { |
|||
color: #fff; |
|||
background-color: #fe6252; |
|||
border-color: #fe6252; |
|||
} |
|||
.el-button--delete:hover { |
|||
color: #fff; |
|||
background-color: #fe6252; |
|||
border-color: #fe6252; |
|||
} |
|||
.el-button--delete:focus { |
|||
color: #fff; |
|||
background-color: #fe6252; |
|||
border-color: #fe6252; |
|||
} |
|||
|
|||
//重置、导出 |
|||
.el-button--reset { |
|||
color: #fff; |
|||
background-color: #feb349; |
|||
border-color: #feb349; |
|||
} |
|||
.el-button--reset:hover { |
|||
color: #fff; |
|||
background-color: #feb349; |
|||
border-color: #feb349; |
|||
} |
|||
.el-button--reset:focus { |
|||
color: #fff; |
|||
background-color: #feb349; |
|||
border-color: #feb349; |
|||
} |
|||
|
|||
//查询、确定 |
|||
.el-button--search:hover { |
|||
color: #fff; |
|||
background-color: #3e8ef7; |
|||
border-color: #3e8ef7; |
|||
} |
|||
.el-button--search:focus { |
|||
color: #fff; |
|||
background-color: #3e8ef7; |
|||
border-color: #3e8ef7; |
|||
} |
|||
.el-button--search { |
|||
color: #fff; |
|||
background-color: #3e8ef7; |
|||
border-color: #3e8ef7; |
|||
} |
|||
@ -1,61 +1,141 @@ |
|||
.el-button--green { |
|||
color: #fff; |
|||
background-color: #22c1c3; |
|||
border-color: #22c1c3; |
|||
} |
|||
.el-button--green:hover { |
|||
color: #fff; |
|||
background-color: #05b1b4; |
|||
border-color: #05b1b4; |
|||
} |
|||
.el-button--green:focus { |
|||
color: #fff; |
|||
background-color: #22c1c3; |
|||
border-color: #22c1c3; |
|||
} |
|||
|
|||
.el-button--yellow:hover { |
|||
color: #fff; |
|||
background-color: #fa9200; |
|||
border-color: #fa9200; |
|||
} |
|||
.el-button--yellow:focus { |
|||
color: #fff; |
|||
background-color: #feb349; |
|||
border-color: #feb349; |
|||
} |
|||
.el-button--yellow { |
|||
color: #fff; |
|||
background-color: #feb349; |
|||
border-color: #feb349; |
|||
} |
|||
.el-button--blue:focus { |
|||
color: #fff; |
|||
background-color: #2195fe; |
|||
border-color: #2195fe; |
|||
} |
|||
.el-button--blue:hover { |
|||
color: #fff; |
|||
background-color: #0083fd; |
|||
border-color: #0083fd; |
|||
} |
|||
.el-button--blue { |
|||
color: #fff; |
|||
background-color: #2195fe; |
|||
border-color: #2195fe; |
|||
} |
|||
.el-button--red:focus { |
|||
color: #fff; |
|||
background-color: #fe6252; |
|||
border-color: #fe6252; |
|||
} |
|||
.el-button--red:hover { |
|||
color: #fff; |
|||
background-color: #fd341e; |
|||
border-color: #fd341e; |
|||
} |
|||
.el-button--red { |
|||
color: #fff; |
|||
background-color: #fe6252; |
|||
border-color: #fe6252; |
|||
//查询、确定 |
|||
.diy-button--search { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
.diy-button--search:hover { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
.diy-button--search:focus { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
|
|||
//重置、导出 |
|||
.diy-button--reset { |
|||
color: #fff !important; |
|||
background-color: #feb349 !important; |
|||
border-color: #feb349 !important; |
|||
} |
|||
.diy-button--reset:hover { |
|||
color: #fff !important; |
|||
background-color: #feb349 !important; |
|||
border-color: #feb349 !important; |
|||
} |
|||
.diy-button--reset:focus { |
|||
color: #fff !important; |
|||
background-color: #feb349 !important; |
|||
border-color: #feb349 !important; |
|||
} |
|||
|
|||
//新增 |
|||
.diy-button--add { |
|||
color: #fff !important; |
|||
background-color: #22c1c3 !important; |
|||
border-color: #22c1c3 !important; |
|||
} |
|||
.diy-button--add:hover { |
|||
color: #fff !important; |
|||
background-color: #22c1c3 !important; |
|||
border-color: #22c1c3 !important; |
|||
} |
|||
.diy-button--add:focus { |
|||
color: #fff !important; |
|||
background-color: #22c1c3 !important; |
|||
border-color: #22c1c3 !important; |
|||
} |
|||
|
|||
//删除、导入 |
|||
.diy-button--delete { |
|||
color: #fff !important; |
|||
background-color: #fe6252 !important; |
|||
border-color: #fe6252 !important; |
|||
} |
|||
.diy-button--delete:hover { |
|||
color: #fff !important; |
|||
background-color: #fe6252 !important; |
|||
border-color: #fe6252 !important; |
|||
} |
|||
.diy-button--delete:focus { |
|||
color: #fff !important; |
|||
background-color: #fe6252 !important; |
|||
border-color: #fe6252 !important; |
|||
} |
|||
//下载模板 |
|||
.diy-button--export { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
.diy-button--export:hover { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
.diy-button--export:focus { |
|||
color: #fff !important; |
|||
background-color: #3e8ef7 !important; |
|||
border-color: #3e8ef7 !important; |
|||
} |
|||
.diy-button--qrcode { |
|||
color: #fff !important; |
|||
background-color: #4ec591 !important; |
|||
border-color: #4ec591 !important; |
|||
} |
|||
//列表上方操作按钮,其他按钮 |
|||
.diy-button--more { |
|||
color: #fff !important; |
|||
background-color: #23c1c4 !important; |
|||
border-color: #23c1c4 !important; |
|||
} |
|||
|
|||
//table按钮样式 |
|||
|
|||
//查看 |
|||
.div-table-button--detail { |
|||
color: #3e8ef7 !important; |
|||
text-decoration: underline !important; |
|||
} |
|||
|
|||
//修改 |
|||
.div-table-button--edit { |
|||
color: #00a7a9 !important; |
|||
text-decoration: underline !important; |
|||
} |
|||
|
|||
//删除 |
|||
.div-table-button--delete { |
|||
color: #d51010 !important; |
|||
text-decoration: underline !important; |
|||
} |
|||
|
|||
//查看 |
|||
.div-table-button--detail--noline { |
|||
color: #3e8ef7 !important; |
|||
} |
|||
|
|||
//更多 |
|||
.div-table-button--more { |
|||
color: #333333 !important; |
|||
text-decoration: underline !important; |
|||
} |
|||
|
|||
//修改 |
|||
.div-table-button--edit--noline { |
|||
color: #00a7a9 !important; |
|||
} |
|||
|
|||
//删除 |
|||
.div-table-button--delete--noline { |
|||
color: #d51010 !important; |
|||
} |
|||
|
|||
// |
|||
.div-table-button--qr { |
|||
color: #4ec591 !important; |
|||
text-decoration: underline !important; |
|||
} |
|||
|
|||
@ -0,0 +1,42 @@ |
|||
@import "../../c/config"; |
|||
@import "../../c/function"; |
|||
|
|||
.m-design { |
|||
img { |
|||
display: block; |
|||
width: 100%; |
|||
} |
|||
} |
|||
|
|||
.m-sidebar { |
|||
position: fixed; |
|||
right: 0; |
|||
top: 50%; |
|||
transform: translateY(-50%); |
|||
width: 100px; |
|||
.wrap { |
|||
background-color: rgba(#037, 0.6); |
|||
transform: translateX(50px); |
|||
transition: all ease 0.3s; |
|||
cursor: pointer; |
|||
border-radius: 4px; |
|||
box-shadow: 0 0 10px 1px #fff; |
|||
&:hover { |
|||
transform: translateX(0); |
|||
background-color: rgba(#037, 0.9); |
|||
} |
|||
.nav { |
|||
color: rgba(#fff, 0.8); |
|||
text-align: center; |
|||
font-size: 14px; |
|||
line-height: 40px; |
|||
&:hover { |
|||
color: #fff; |
|||
} |
|||
&.z-on { |
|||
color: #ffa; |
|||
font-weight: bold; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,128 @@ |
|||
.epidemic-form { |
|||
.item_width_1 { |
|||
width: 560px; |
|||
|
|||
::v-deep .el-textarea__inner { |
|||
padding-bottom: 20px; |
|||
} |
|||
::v-deep .el-input__count { |
|||
right: 20px; |
|||
line-height: 12px; |
|||
} |
|||
} |
|||
.item_width_2 { |
|||
width: 220px; |
|||
} |
|||
.item_width_3 { |
|||
width: 180px; |
|||
} |
|||
|
|||
.btn-selperson { |
|||
margin-left: 20px; |
|||
} |
|||
|
|||
.form_div_btn { |
|||
margin-top: 20px; |
|||
text-align: center; |
|||
} |
|||
} |
|||
|
|||
.main_tab { |
|||
margin: 10px 35px; |
|||
} |
|||
|
|||
.div_main { |
|||
width: 100%; |
|||
|
|||
.div_search { |
|||
background: #ffffff; |
|||
border-radius: 4px; |
|||
padding: 30px 20px 5px; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
} |
|||
|
|||
.list_item_width_1 { |
|||
width: 170px; |
|||
} |
|||
} |
|||
|
|||
.div_table { |
|||
background: #ffffff; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
border-radius: 4px; |
|||
margin-top: 15px; |
|||
padding: 10px; |
|||
position: relative; |
|||
|
|||
.div_btn { |
|||
margin-top: 10px; |
|||
margin-left: 10px; |
|||
display: flex; |
|||
|
|||
.btn_upload { |
|||
margin-left: 10px; |
|||
display: flex; |
|||
} |
|||
} |
|||
.table { |
|||
margin-top: 20px; |
|||
} |
|||
|
|||
.div_notice { |
|||
position: absolute; |
|||
left: 15px; |
|||
bottom: 0; |
|||
} |
|||
} |
|||
|
|||
.div-mult-form { |
|||
margin-top: 20px; |
|||
|
|||
.div_person { |
|||
display: flex; |
|||
font-size: 14px; |
|||
padding-bottom: 20px; |
|||
|
|||
.person_title { |
|||
text-align: right; |
|||
flex: 0 0 100px; |
|||
|
|||
line-height: 36px; |
|||
padding: 0 12px 0 0; |
|||
} |
|||
|
|||
.tag_item { |
|||
margin-right: 10px; |
|||
margin-top: 10px; |
|||
} |
|||
.tag_tip { |
|||
margin-top: 10px; |
|||
color: #9c9c9c; |
|||
} |
|||
} |
|||
} |
|||
.div-mult-table { |
|||
position: relative; |
|||
padding: 0 20px; |
|||
|
|||
.div_selcount{ |
|||
position: absolute; |
|||
bottom:10px; |
|||
left:30px; |
|||
} |
|||
} |
|||
|
|||
.div_dialog_table { |
|||
padding: 10px; |
|||
|
|||
.table { |
|||
margin-top: 20px; |
|||
} |
|||
} |
|||
|
|||
.twoline { |
|||
display: -webkit-box; |
|||
-webkit-box-orient: vertical; |
|||
-webkit-line-clamp: 2; |
|||
overflow: hidden; |
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
.div_form { |
|||
margin: 20px 50px; |
|||
} |
|||
.form_item { |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
font-size: 15px; |
|||
|
|||
.item_title { |
|||
text-align: right; |
|||
|
|||
flex: 0 0 150px; |
|||
line-height: 36px; |
|||
} |
|||
|
|||
.item_content { |
|||
margin-left: 30px; |
|||
line-height: 36px; |
|||
} |
|||
|
|||
.attach_item { |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
margin-left: 30px; |
|||
line-height: 36px; |
|||
|
|||
.attach_item_name { |
|||
margin-left: 10px; |
|||
color: #3e8ef7; |
|||
text-decoration: underline; |
|||
} |
|||
.attach_item_name:hover { |
|||
cursor: pointer; |
|||
color: #1461c7; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_btn { |
|||
margin-top: 15px; |
|||
display: flex; |
|||
width: 100%; |
|||
justify-content: center; |
|||
|
|||
.btn_right { |
|||
margin-left: 50px; |
|||
} |
|||
} |
|||
@ -0,0 +1,62 @@ |
|||
@import "../c/anime"; |
|||
@import "../c/config"; |
|||
@import "../c/function"; |
|||
|
|||
.m-notice { |
|||
position: fixed; |
|||
z-index: 10000; |
|||
bottom: 0; |
|||
right: 0; |
|||
background-color: #fff; |
|||
box-shadow: 0 0 10px 0 rgba(#000, 0.1); |
|||
width: 500px; |
|||
height: 300px; |
|||
box-sizing: border-box; |
|||
padding: 25px; |
|||
|
|||
.header { |
|||
margin-bottom: 20px; |
|||
font-size: 24px; |
|||
font-weight: bold; |
|||
color: #3e8ef7; |
|||
} |
|||
.type { |
|||
margin-bottom: 10px; |
|||
font-size: 20px; |
|||
font-weight: bold; |
|||
color: #333; |
|||
} |
|||
.content { |
|||
@include toeM(2); |
|||
margin-bottom: 10px; |
|||
font-size: 16px; |
|||
color: #333; |
|||
line-height: 30px; |
|||
} |
|||
.date { |
|||
margin-bottom: 30px; |
|||
font-size: 16px; |
|||
color: #999; |
|||
line-height: 30px; |
|||
} |
|||
.operate { |
|||
display: flex; |
|||
justify-content: space-around; |
|||
|
|||
.btn { |
|||
box-sizing: border-box; |
|||
padding: 0 20px; |
|||
width: 180px; |
|||
text-align: center; |
|||
font-size: 20px; |
|||
color: #3e8ef7; |
|||
line-height: 40px; |
|||
cursor: pointer; |
|||
|
|||
&.z-stress { |
|||
background-color: #3e8ef7; |
|||
color: #fff; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,499 @@ |
|||
.div_top { |
|||
margin-left: 10px; |
|||
height: 35px; |
|||
.router_line { |
|||
width: 212px; |
|||
height: 1px; |
|||
border: 1px solid #ffffff; |
|||
opacity: 0.09; |
|||
/* opacity: 0.09; */ |
|||
} |
|||
.div_router { |
|||
margin-top: 5px; |
|||
font-size: 16px; |
|||
|
|||
.router_parents { |
|||
color: #a0c3d9; |
|||
|
|||
.arrow { |
|||
padding: 0 5px; |
|||
} |
|||
} |
|||
.router_parents:hover { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.router_child { |
|||
color: #ffffff; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_content { |
|||
display: flex; |
|||
|
|||
.div_map { |
|||
box-sizing: border-box; |
|||
width: 100%; |
|||
// padding: 10px 5px 13px; |
|||
// margin-top: 8px; |
|||
height: calc(88vh - 15px); |
|||
color: #fff; |
|||
// background: url('../../../img/modules/visual/warning-box.png') no-repeat |
|||
// center; |
|||
// background-size: 100% 100%; |
|||
} |
|||
|
|||
.div_data { |
|||
flex: 0 0 562px; |
|||
margin-left: 12px; |
|||
|
|||
.div_search { |
|||
width: 100%; |
|||
height: 56px; |
|||
text-align: center; |
|||
background-color: #011168; |
|||
border-radius: 4px 0 0 4px; |
|||
border: none; |
|||
box-shadow: 0 0 10px inset #1a5afd; |
|||
font-size: 18px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
opacity: 0.7; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
.div_search_left { |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
.icon { |
|||
display: flex; |
|||
align-items: center; |
|||
margin-left: 29px; |
|||
|
|||
> img { |
|||
width: 24px; |
|||
height: 24px; |
|||
} |
|||
} |
|||
|
|||
> span { |
|||
line-height: 56px; |
|||
margin-left: 10px; |
|||
} |
|||
} |
|||
|
|||
.btn { |
|||
text-align: center; |
|||
flex: 0 0 113px; |
|||
height: 56px; |
|||
background: linear-gradient(90deg, #1a5afd, #26c4ff); |
|||
font-size: 20px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
line-height: 56px; |
|||
border-radius: 0 4px 4px 0; |
|||
} |
|||
} |
|||
|
|||
.div_search:hover { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.div_info { |
|||
box-sizing: border-box; |
|||
width: 100%; |
|||
margin-top: 21px; |
|||
height: calc(88vh - 87px); |
|||
color: #fff; |
|||
background: url('../../../img/modules/visual/warning-box.png') no-repeat |
|||
center; |
|||
background-size: 100% 100%; |
|||
// padding: 45px 21px 35px 24px; |
|||
|
|||
.info_loading { |
|||
margin-top: 50px; |
|||
} |
|||
.info_tip { |
|||
padding: 31px 0 0 19px; |
|||
display: flex; |
|||
> img { |
|||
height: 34px; |
|||
width: 46px; |
|||
} |
|||
|
|||
.tip_title { |
|||
line-height: 34px; |
|||
margin-left: 7px; |
|||
font-size: 22px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #ffffff; |
|||
} |
|||
} |
|||
|
|||
.info_list { |
|||
margin-top: 9px; |
|||
|
|||
.item { |
|||
.item_line { |
|||
margin-top: 13px; |
|||
margin-left: 24px; |
|||
width: 517px; |
|||
height: 0px; |
|||
border: 1px dotted #1797ff31; |
|||
border-width: 0.5px; |
|||
} |
|||
.last_line { |
|||
border: 1px dotted #1797ff00; |
|||
} |
|||
.list_item { |
|||
display: flex; |
|||
padding: 18px 59px 0; |
|||
justify-content: space-between; |
|||
|
|||
.list_item_col { |
|||
flex: 0 0 240px; |
|||
display: flex; |
|||
|
|||
> img { |
|||
height: 76px; |
|||
width: 76px; |
|||
} |
|||
|
|||
.item_content { |
|||
margin-left: 10px; |
|||
height: 76px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
|
|||
.item_label { |
|||
font-size: 18px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
} |
|||
.item_count { |
|||
margin-top: 10px; |
|||
font-size: 28px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #00fffc; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
::v-deep .el-popper { |
|||
padding: 0px; |
|||
} |
|||
// |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_info { |
|||
/deep/ .el-scrollbar__wrap { |
|||
overflow-x: hidden !important; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_community_info { |
|||
box-sizing: border-box; |
|||
flex: 0 0 calc(100vw - 620px); |
|||
// width: calc(100vw - 560px); |
|||
|
|||
height: calc(88vh - 10px); |
|||
color: #fff; |
|||
background: url('../../../img/modules/visual/warning-box.png') no-repeat |
|||
center; |
|||
background-size: 100% 100%; |
|||
|
|||
.div_select { |
|||
margin-top: 28px; |
|||
margin-left: 24px; |
|||
display: flex; |
|||
.customer_select { |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
|
|||
> span { |
|||
width: auto; |
|||
font-size: 22px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #ffffff; |
|||
line-height: 34px; |
|||
} |
|||
} |
|||
> img { |
|||
height: 34px; |
|||
width: 46px; |
|||
} |
|||
|
|||
.tip_title { |
|||
line-height: 34px; |
|||
margin-left: 12px; |
|||
font-size: 22px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #ffffff; |
|||
} |
|||
} |
|||
|
|||
.div_room_bar { |
|||
box-sizing: border-box; |
|||
|
|||
margin-top: 9px; |
|||
height: calc(88vh - 120px); |
|||
} |
|||
|
|||
.div_room { |
|||
// height: calc(88vh - 40px); |
|||
// margin-top: 9px; |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
justify-content: flex-start; |
|||
margin: 0 21px 0 21px; |
|||
|
|||
.item:hover { |
|||
cursor: pointer; |
|||
} |
|||
.item_sel { |
|||
box-shadow: 0 0 10px inset #1a5afd; |
|||
} |
|||
.item { |
|||
background-color: #011168; |
|||
margin-top: 12px; |
|||
width: 244px; |
|||
height: 190px; |
|||
border: 1px solid #037ddc; |
|||
border-radius: 8px; |
|||
text-align: center; |
|||
margin-left: 11px; |
|||
position: relative; |
|||
|
|||
// &:first-child { |
|||
// margin-left: 0; |
|||
// } |
|||
|
|||
.housename { |
|||
margin-top: 70px; |
|||
font-size: 24px; |
|||
font-family: PingFang SC; |
|||
font-weight: 500; |
|||
color: #ffffff; |
|||
// line-height: 180px; |
|||
} |
|||
|
|||
.icon_party { |
|||
position: absolute; |
|||
top: 13px; |
|||
left: 18px; |
|||
} |
|||
|
|||
.icon_category { |
|||
position: absolute; |
|||
bottom: 14px; |
|||
left: 9px; |
|||
// margin-left: 7px; |
|||
|
|||
> img { |
|||
margin-left: 5px; |
|||
width: 21px; |
|||
height: 20px; |
|||
} |
|||
} |
|||
.div_user:hover { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.div_user { |
|||
position: absolute; |
|||
bottom: 10px; |
|||
right: 11px; |
|||
width: 88px; |
|||
height: 30px; |
|||
background: #073082; |
|||
border-radius: 15px; |
|||
|
|||
> img { |
|||
width: 10px; |
|||
height: 6px; |
|||
margin-left: 4px; |
|||
} |
|||
|
|||
> span { |
|||
font-size: 14px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
line-height: 30px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_room::after { |
|||
content: ''; |
|||
flex: 1; |
|||
} |
|||
} |
|||
|
|||
.user_list { |
|||
position: relative; |
|||
z-index: 10; |
|||
|
|||
background: #020340; |
|||
border: 1px solid #0a359b; |
|||
border-radius: 4px; |
|||
box-shadow: 0 0 10px inset #1a5afd; |
|||
|
|||
.user_item { |
|||
padding: 13px 8px 0 14px; |
|||
font-size: 16px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
|
|||
.user_item_content { |
|||
display: flex; |
|||
// justify-content: space-between; |
|||
align-items: center; |
|||
|
|||
.name { |
|||
max-width: 80%; |
|||
text-align: left; |
|||
} |
|||
|
|||
> img { |
|||
margin-left: auto; |
|||
|
|||
margin-top: 4px; |
|||
width: 8px; |
|||
height: 12px; |
|||
} |
|||
} |
|||
|
|||
.item_line { |
|||
margin-top: 9px; |
|||
width: 70px; |
|||
height: 0px; |
|||
border: 1px dotted #1797ff31; |
|||
border-width: 0.5px; |
|||
} |
|||
.last_line { |
|||
border: 1px dotted #1797ff00; |
|||
} |
|||
} |
|||
} |
|||
.div_agency_tran { |
|||
transition: width 2s ease-out, opacity 1s ease-in, visibility 1s ease-in; |
|||
width: 0; |
|||
height: 470px; |
|||
z-index: 1000; |
|||
position: absolute; |
|||
top: 50px; |
|||
right: 600px; |
|||
box-sizing: border-box; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
|
|||
.div_agency_list { |
|||
width: 320px; |
|||
height: 470px; |
|||
color: #fff; |
|||
background: url('../../../img/modules/visual/box-2.png') no-repeat center; |
|||
background-size: 100% 100%; |
|||
padding: 45px 20px 35px 20px; |
|||
|
|||
.agency_main { |
|||
height: 100%; |
|||
position: relative; |
|||
} |
|||
|
|||
.agency_main { |
|||
/deep/ .el-scrollbar__wrap { |
|||
overflow-x: hidden !important; |
|||
} |
|||
} |
|||
|
|||
.no-data-img { |
|||
text-align: center; |
|||
margin-top: 50px; |
|||
margin-left: 15px; |
|||
} |
|||
.agency_list { |
|||
.agency_item { |
|||
// height: 60px; |
|||
padding: 15px 0; |
|||
font-size: 17px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #ffffff; |
|||
// line-height: 50px; |
|||
padding-left: 12px; |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
// padding-top: 15px; |
|||
|
|||
.agency_item_name { |
|||
// line-height: 20px; |
|||
} |
|||
} |
|||
|
|||
.agency_item_on { |
|||
background: #08216c; |
|||
border-radius: 2px; |
|||
} |
|||
|
|||
.agency_item:hover { |
|||
cursor: pointer; |
|||
background-color: #011168; |
|||
border-radius: 4px 0 0 4px; |
|||
border: none; |
|||
box-shadow: 0 0 10px inset #1a5afd; |
|||
border-radius: 2px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.arrow_tip { |
|||
margin-right: -2px; |
|||
> img { |
|||
width: 21px; |
|||
height: 176px; |
|||
} |
|||
} |
|||
.arrow_tip:hover { |
|||
cursor: pointer; |
|||
} |
|||
} |
|||
|
|||
.div_agency_tran-fade-in { |
|||
width: 341px; |
|||
opacity: 1; |
|||
visibility: 1; |
|||
} |
|||
.div_agency_tran-fade-out { |
|||
visibility: 0; |
|||
opacity: 1; |
|||
width: 0; |
|||
right: 575px; |
|||
} |
|||
// .div_agency_list-fade-in { |
|||
// width: 341px; |
|||
// opacity: 1; |
|||
// visibility: 1; |
|||
// } |
|||
// .div_agency_list-fade-out { |
|||
// visibility: 0; |
|||
// opacity: 0; |
|||
// width: 0; |
|||
// } |
|||
@ -0,0 +1,66 @@ |
|||
.div_search { |
|||
display: flex; |
|||
|
|||
.resi-cell { |
|||
display: flex; |
|||
align-items: center; |
|||
.resi-cell-label { |
|||
width: 70px; |
|||
box-sizing: border-box; |
|||
margin-right: 15px; |
|||
text-align: right; |
|||
// line-height: 32; |
|||
} |
|||
|
|||
.resi-cell-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_table_item { |
|||
margin-top: 20px; |
|||
position: relative; |
|||
} |
|||
.div_del { |
|||
position: absolute; |
|||
left: 10px; |
|||
bottom: 0; |
|||
} |
|||
.div_search { |
|||
display: flex; |
|||
|
|||
.resi-cell { |
|||
display: flex; |
|||
align-items: center; |
|||
.resi-cell-label { |
|||
width: 70px; |
|||
box-sizing: border-box; |
|||
margin-right: 15px; |
|||
text-align: right; |
|||
// line-height: 32; |
|||
} |
|||
|
|||
.resi-cell-input { |
|||
width: 180px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.div_btn { |
|||
display: flex; |
|||
margin-top: 20px; |
|||
|
|||
.btn_upload { |
|||
margin-left: 10px; |
|||
display: flex; |
|||
} |
|||
} |
|||
|
|||
.el-row { |
|||
/* margin-bottom: 20px; */ |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
margin-top: 10px; |
|||
margin-right: 50px; |
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
.item_width_1 { |
|||
width: 500px; |
|||
} |
|||
.item_width_2 { |
|||
width: 400px; |
|||
} |
|||
.item_width_3 { |
|||
margin-left: 10px; |
|||
width: 200px; |
|||
} |
|||
.item_width_4 { |
|||
width: 200px; |
|||
} |
|||
|
|||
.div_map { |
|||
margin-top: 10px; |
|||
} |
|||
|
|||
.div_btn { |
|||
margin-top: 20px; |
|||
text-align: center; |
|||
} |
|||
.el-tabs { |
|||
margin: 0 20px; |
|||
} |
|||
.el-upload__tip { |
|||
color: rgb(155, 155, 155); |
|||
margin: 0; |
|||
} |
|||
.form { |
|||
margin-top: 30px; |
|||
} |
|||
@ -0,0 +1,344 @@ |
|||
.warning-box{ |
|||
padding: 0 21px 20px 24px |
|||
} |
|||
.no-data{ |
|||
margin-top:50px; |
|||
display:flex; |
|||
justify-content: center; |
|||
} |
|||
.card-title { |
|||
|
|||
display: flex; |
|||
align-items: center; |
|||
cursor: pointer; |
|||
.title-icon { |
|||
display: block; |
|||
width: 46px; |
|||
height: 34px; |
|||
box-sizing: border-box; |
|||
margin-right: 6px; |
|||
} |
|||
::v-deep .el-dropdown { |
|||
font-size: 18px; |
|||
color: #fff; |
|||
font-weight: 800; |
|||
} |
|||
.title-time { |
|||
display: flex; |
|||
align-items: center; |
|||
box-sizing: border-box; |
|||
margin-left: 30px; |
|||
font-size: 14px; |
|||
color: #fff; |
|||
.title-time-label { |
|||
margin-right: 10px; |
|||
} |
|||
::v-deep .el-date-editor--month { |
|||
width: 100px; |
|||
.el-input__inner { |
|||
width: 100px; |
|||
height: 24px; |
|||
box-sizing: border-box; |
|||
padding: 0; |
|||
font-size: 14px; |
|||
color: #fff; |
|||
line-height: 24px; |
|||
text-align: center; |
|||
background: #06186d; |
|||
border: 1px solid #1a64cc; |
|||
border-radius: 2px; |
|||
} |
|||
.el-input__prefix { |
|||
display: none; |
|||
} |
|||
.el-input__suffix { |
|||
right: 0; |
|||
.el-input__icon { |
|||
line-height: 24px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.title-label { |
|||
font-size: 20px; |
|||
font-weight: 800; |
|||
::v-deep .el-input { |
|||
width: 180px; |
|||
.el-input__inner { |
|||
font-size: 18px; |
|||
// font-weight: 800; |
|||
color: #fff; |
|||
background: #06186d; |
|||
border: 1px solid #1a64cc; |
|||
} |
|||
.el-icon-arrow-down::before { |
|||
content: "\e790"; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
.card-left-title { |
|||
margin-top: 20px; |
|||
position: relative; |
|||
padding-left: 40px; |
|||
font-size: 16px; |
|||
font-weight: 500; |
|||
color: #fff; |
|||
} |
|||
.card-left-title::after { |
|||
content: ""; |
|||
position: absolute; |
|||
top: 5%; |
|||
left: 20px; |
|||
width: 12px; |
|||
height: 12px; |
|||
box-sizing: border-box; |
|||
|
|||
background: #2865fa; |
|||
border-radius: 50%; |
|||
} |
|||
.card-echart { |
|||
min-height: 500px; |
|||
display: flex; |
|||
margin-top: 10px; |
|||
height: 100%; |
|||
.card-left { |
|||
position: relative; |
|||
flex-grow:0; |
|||
flex-shrink:0; |
|||
width:50%; |
|||
|
|||
height: 100%; |
|||
.div-chart{ |
|||
display: flex; |
|||
width: 100%; |
|||
.echart-wr{ |
|||
flex-shrink: 0; |
|||
height: 420px; |
|||
width: 70%; |
|||
} |
|||
.div-tip{ |
|||
flex-shrink: 0; |
|||
width: 30%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
margin-left:20px; |
|||
margin-top: -23px; |
|||
|
|||
display: flex; |
|||
justify-content: center; |
|||
|
|||
.legend_item { |
|||
margin-top: 30px; |
|||
.item_name { |
|||
margin-left: 5px; |
|||
font-size: 10px; |
|||
font-family: PingFang SC; |
|||
font-weight: 500; |
|||
color: #eff0f1; |
|||
} |
|||
|
|||
> img { |
|||
margin-top: -10px; |
|||
width: 80px; |
|||
height: 10px; |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
.div-tip2{ |
|||
flex-shrink: 0; |
|||
width: 30%; |
|||
display: flex; |
|||
flex-direction: column; |
|||
justify-content: center; |
|||
margin-left:20px; |
|||
margin-top: -23px; |
|||
|
|||
display: flex; |
|||
justify-content: center; |
|||
.cz-tip{ |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
margin-top: 30px; |
|||
|
|||
.cz-tip-dot { |
|||
margin-top:2px; |
|||
width: 20px; |
|||
height: 10px; |
|||
background: #ff7800; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
>span{ |
|||
margin-left:10px; |
|||
} |
|||
} |
|||
|
|||
.ld-tip{ |
|||
display: flex; |
|||
justify-content: flex-start; |
|||
margin-top: 30px; |
|||
|
|||
.ld-tip-dot{ |
|||
margin-top:2px; |
|||
width: 20px; |
|||
height: 10px; |
|||
background: #00E5ED; |
|||
border-radius: 4px; |
|||
} |
|||
>span{ |
|||
margin-left:10px; |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
} |
|||
|
|||
.pie-table{ |
|||
margin-top:0px; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items:center; |
|||
|
|||
|
|||
} |
|||
|
|||
.loading-status{ |
|||
width: 100%; |
|||
display: flex; |
|||
justify-content: center; |
|||
margin-top: 200px; |
|||
|
|||
|
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
.card-table{ |
|||
margin:37px 70px 0; |
|||
|
|||
.table_item{ |
|||
padding:31px 60px 36px 30px; |
|||
|
|||
.item_name{ |
|||
|
|||
font-size: 18px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #FFFFFF; |
|||
|
|||
>img{ |
|||
width:25px; |
|||
height:14px; |
|||
padding-right: 10px; |
|||
} |
|||
} |
|||
|
|||
.item_name:hover{ |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.item_data{ |
|||
margin-top:31px; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
} |
|||
|
|||
.item_left{ |
|||
align-items: center; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
flex-grow:0; |
|||
flex-shrink:0; |
|||
|
|||
} |
|||
.item_right{ |
|||
align-items: center; |
|||
display: flex; |
|||
justify-content: space-around; |
|||
flex-grow:0; |
|||
flex-shrink:0; |
|||
// margin-left:250px; |
|||
} |
|||
|
|||
} |
|||
|
|||
.item_dark{ |
|||
background: #082586; |
|||
opacity: 0.85; |
|||
} |
|||
} |
|||
|
|||
.pie-table-total{ |
|||
margin-left:40px; |
|||
.pie-table-total-count{ |
|||
min-width: 98px; |
|||
text-align: center; |
|||
font-size: 40px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #FFFFFF; |
|||
} |
|||
|
|||
.zz{ |
|||
font-size: 35px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #FAC126; |
|||
} |
|||
|
|||
.cz{ |
|||
font-size: 35px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #45D97F; |
|||
} |
|||
|
|||
.xz{ |
|||
font-size: 35px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #2865FA; |
|||
} |
|||
|
|||
.colorwhite{ |
|||
font-size: 35px; |
|||
font-family: PingFang SC; |
|||
font-weight: bold; |
|||
color: #ffffff; |
|||
} |
|||
|
|||
.pie-table-title{ |
|||
margin-top:7px; |
|||
text-align: center; |
|||
font-size:10px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #FFFFFF; |
|||
min-width:62px; |
|||
} |
|||
|
|||
.table-table-title{ |
|||
margin-top:2px; |
|||
} |
|||
} |
|||
|
|||
.pie-table-line{ |
|||
margin-left:40px; |
|||
height:30px; |
|||
width:1px; |
|||
background-color: #1797FF; |
|||
opacity: 0.5; |
|||
} |
|||
|
|||
.table-table-line{ |
|||
|
|||
} |
|||
|
|||
@ -0,0 +1,71 @@ |
|||
@import "../../c/config"; |
|||
@import "../../c/function"; |
|||
@import "./c/common"; |
|||
|
|||
.m-pop { |
|||
@include shield; |
|||
background-color: rgba(#000, 0.9); |
|||
overflow-y: auto; |
|||
|
|||
.wrap { |
|||
position: relative; |
|||
margin: 120px auto; |
|||
width: 1180px; |
|||
|
|||
.title { |
|||
padding: 10px; |
|||
font-size: 22px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #ffffff; |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
img { |
|||
display: block; |
|||
margin-right: 5px; |
|||
} |
|||
span { |
|||
display: block; |
|||
} |
|||
} |
|||
|
|||
.btn-close { |
|||
position: absolute; |
|||
top: -15px; |
|||
right: -15px; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.content { |
|||
margin-top: 20px; |
|||
min-height: 500px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.m-pagination { |
|||
box-sizing: border-box; |
|||
margin-top: 20px; |
|||
width: 100%; |
|||
height: 40px; |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
|
|||
/deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { |
|||
background: #0266d1; |
|||
color: #000d3f; |
|||
} |
|||
|
|||
/deep/ .el-pagination .el-pager li { |
|||
background: #002e74; |
|||
} |
|||
|
|||
/deep/ .el-pagination .btn-prev { |
|||
background: #002e74; |
|||
} |
|||
|
|||
/deep/ .el-pagination .btn-next { |
|||
background: #002e74; |
|||
} |
|||
} |
|||
@ -0,0 +1,153 @@ |
|||
.warning-box { |
|||
box-sizing: border-box; |
|||
// width: 1881px; |
|||
width: 100%; |
|||
// height: 100%; |
|||
min-height: 100%; |
|||
margin: 0 auto; |
|||
color: #999; |
|||
// background: url("../../../img/modules/visual/warning-box.png") no-repeat center; |
|||
background-size: 100% 100%; |
|||
padding: 25px 21px 35px 24px; |
|||
|
|||
&-top { |
|||
display: flex; |
|||
// justify-content: space-around; |
|||
justify-content: flex-start; |
|||
flex-wrap: wrap; |
|||
min-height: 190px; |
|||
|
|||
.top-item { |
|||
box-sizing: border-box; |
|||
width: 280px; |
|||
height: 190px; |
|||
padding: 10px 22px 14px 21px; |
|||
border-radius: 8px; |
|||
margin-right: 15px; |
|||
margin-bottom: 15px; |
|||
background-color: #fff; |
|||
|
|||
&-img { |
|||
display: flex; |
|||
align-items: center; |
|||
|
|||
img { |
|||
width: 78px; |
|||
height: 78px; |
|||
margin-right: 16px; |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.top-item-left { |
|||
display: flex; |
|||
flex-direction: column; |
|||
|
|||
span { |
|||
display: inline-block; |
|||
} |
|||
|
|||
span:nth-child(1) { |
|||
font-size: 18px; |
|||
font-weight: 400; |
|||
color: #333333; |
|||
} |
|||
|
|||
span:nth-child(2) { |
|||
font-size: 28px; |
|||
font-weight: bold; |
|||
color: #2194fe; |
|||
margin-top: 10px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
&-num { |
|||
width: 100%; |
|||
display: flex; |
|||
position: relative; |
|||
flex-direction: column; |
|||
align-items: space-between; |
|||
// border: 1px solid red; |
|||
|
|||
.num-item { |
|||
position: relative; |
|||
width: 100%; |
|||
height: 35px; |
|||
display: flex; |
|||
border-radius: 4px; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
padding: 0 10px 0 29px; |
|||
cursor: pointer; |
|||
|
|||
&::after { |
|||
display: block; |
|||
content: ""; |
|||
width: 8px; |
|||
height: 8px; |
|||
background: #f5f502; |
|||
border-radius: 50%; |
|||
position: absolute; |
|||
left: 12px; |
|||
top: 50%; |
|||
transform: translate(0, -50%); |
|||
} |
|||
|
|||
&:nth-of-type(2) { |
|||
&::after { |
|||
background: #fb500d; |
|||
} |
|||
} |
|||
|
|||
div:nth-child(1) { |
|||
font-size: 16px; |
|||
font-family: PingFang SC; |
|||
font-weight: 400; |
|||
color: #333333; |
|||
} |
|||
|
|||
div:nth-child(2) { |
|||
// width: 70%; |
|||
display: flex; |
|||
font-size: 20px; |
|||
font-family: PingFang SC; |
|||
font-weight: 500; |
|||
color: #333; |
|||
|
|||
.right-icon { |
|||
width: 10px; |
|||
height: 14px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.num-item-active { |
|||
background-color: #f0f3f7; |
|||
} |
|||
|
|||
.num-item:nth-child(2) { |
|||
margin-top: 10px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
&-bottom { |
|||
box-sizing: border-box; |
|||
width: 100%; |
|||
height: calc(100% - 300px); |
|||
padding: 35px 40px; |
|||
min-height: 300px; |
|||
margin-top: 30px; |
|||
background-color: #fff; |
|||
|
|||
.pagination { |
|||
box-sizing: border-box; |
|||
margin-top: 20px; |
|||
width: 100%; |
|||
height: 40px; |
|||
display: flex; |
|||
justify-content: flex-end; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,141 @@ |
|||
.bg-caiji { |
|||
|
|||
background-color: rgba(189, 214, 255, 0.89); |
|||
height: 100%; |
|||
width: 100vw; |
|||
padding: 20px; |
|||
|
|||
.title { |
|||
text-align: center; |
|||
font-size: 20px; |
|||
} |
|||
|
|||
.main { |
|||
padding-top: 20px; |
|||
// font-size: 40px; |
|||
|
|||
.content { |
|||
border-radius: 5px; |
|||
|
|||
background-color: rgba(255, 255, 255, 0.787); |
|||
|
|||
.member_title { |
|||
padding: 10px; |
|||
font-size: 14px; |
|||
} |
|||
} |
|||
.content1 { |
|||
margin-top: 20px; |
|||
} |
|||
|
|||
.line { |
|||
border: 1px solid #e4e4e48e; |
|||
} |
|||
} |
|||
|
|||
.div-btn { |
|||
margin-top: 30px; |
|||
padding-bottom: 20px; |
|||
display: flex; |
|||
justify-content: center; |
|||
|
|||
.btn { |
|||
width: 150px; |
|||
font-size: 16px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.picker_content { |
|||
color: rgb(59, 59, 59); |
|||
} |
|||
|
|||
.bg-caiji-success { |
|||
background: url("../../assets/img/caiji-bc.png") no-repeat; |
|||
background-size: 100% 100%; |
|||
height: 100vh; |
|||
width: 100vw; |
|||
text-align: center; |
|||
|
|||
.title { |
|||
// background-color: rgba(189, 214, 255, 0.89); |
|||
padding-top:30px; |
|||
font-size: 18px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #333333; |
|||
display: flex; |
|||
height:25px; |
|||
align-items: center; |
|||
justify-content: center; |
|||
|
|||
>img{ |
|||
width:27px; |
|||
height:25px; |
|||
} |
|||
.title_name{ |
|||
margin-left:5px; |
|||
margin-top:5px; |
|||
} |
|||
} |
|||
|
|||
.div_tip{ |
|||
text-align: center; |
|||
margin-top:35px; |
|||
font-size: 18px; |
|||
font-family: PingFang SC; |
|||
font-weight: 800; |
|||
color: #2E78E2; |
|||
line-height: 26px; |
|||
} |
|||
|
|||
.div_content{ |
|||
|
|||
margin:20px 10px 30px 10px; |
|||
padding:20px 16px; |
|||
background: #FFFFFF; |
|||
border-radius: 10px; |
|||
font-size: 16px; |
|||
font-family: Source Han Serif SC; |
|||
font-weight: 400; |
|||
color: #333333; |
|||
|
|||
text-align: left; |
|||
|
|||
.content_long{ |
|||
display: flex; |
|||
justify-content: left; |
|||
align-items: flex-start; |
|||
|
|||
.content_title{ |
|||
min-width: 85px; |
|||
// flex:0 0 85px; |
|||
flex-shrink: 0; |
|||
text-align: right; |
|||
} |
|||
} |
|||
|
|||
.marginT10{ |
|||
margin-top:10px; |
|||
} |
|||
} |
|||
|
|||
.main { |
|||
margin-top: 100px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
align-items: center; |
|||
justify-content: center; |
|||
|
|||
.icon-success { |
|||
font-size: 40px; |
|||
// width: 20px; |
|||
// height: 20px; |
|||
} |
|||
|
|||
.success-content { |
|||
margin-top: 10px; |
|||
font-size: 25px; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,98 @@ |
|||
/*--------------------------------------------------------------- |
|||
| 请求接口封装 | |
|||
---------------------------------------------------------------*/ |
|||
import axios from "axios"; |
|||
import curry from "dai-js/tools/curry"; |
|||
import { Message } from "element-ui"; |
|||
|
|||
const request = curry( |
|||
(method, url, data = {}, headers = {}, progress = () => {}) => { |
|||
return new Promise((reslove) => { |
|||
let returnIniData = { |
|||
httpCode: "", |
|||
data: {}, |
|||
msg: "", |
|||
code: "", |
|||
}; |
|||
|
|||
// 添加服务器端URL
|
|||
function processUrl(url) { |
|||
if (url.indexOf("http://") > -1 || url.indexOf("https://") > -1) { |
|||
return url; |
|||
} |
|||
return process.env.VUE_APP_API_SERVER + url; |
|||
} |
|||
|
|||
url = processUrl(url); |
|||
|
|||
const succFn = (res) => { |
|||
// log(`[request成功] ${url}`, data, res);
|
|||
let retData = { |
|||
...returnIniData, |
|||
...res.data, |
|||
httpCode: res.statusCode, |
|||
}; |
|||
// if(typeof Vue.$afterRequestHook == 'function'){
|
|||
// retData = Vue.$afterRequestHook(retData);
|
|||
// }
|
|||
if (res.data.code > 8000 && res.data.code < 10000) { |
|||
Message.error(res.data.msg); |
|||
} |
|||
if (res.code == 10005 || res.code == 10006 || res.code == 10007) { |
|||
// 10005 token为空 10006登陆超时 10007别处登录
|
|||
console.log("登录失效"); |
|||
Message.error(res.data.msg); |
|||
return next({ |
|||
name: "login", |
|||
}); |
|||
} |
|||
|
|||
reslove(retData); |
|||
}; |
|||
|
|||
const failFn = (err) => { |
|||
// log(`[request失败] ${url}`, data, err);
|
|||
|
|||
reslove( |
|||
Object.assign({}, returnIniData, { |
|||
httpCode: "9999", //访问出现意外
|
|||
msg: "网络错误", |
|||
}) |
|||
); |
|||
}; |
|||
|
|||
if (method.toUpperCase() == "POST") { |
|||
axios |
|||
.post(url, data, { |
|||
headers, |
|||
responseType: "json", |
|||
// progress,
|
|||
// credentials: false,
|
|||
}) |
|||
.then(succFn) |
|||
.catch(failFn); |
|||
} else { |
|||
axios |
|||
.get(url, { |
|||
params: data, |
|||
headers, |
|||
responseType: "json", |
|||
// credentials: true,
|
|||
}) |
|||
.then(succFn) |
|||
.catch(failFn); |
|||
} |
|||
}); |
|||
} |
|||
); |
|||
|
|||
export const requestGet = request("get"); |
|||
|
|||
export const requestPost = request("post"); |
|||
|
|||
export default { |
|||
install(Vue) { |
|||
Vue.prototype.$requestGet = requestGet; |
|||
Vue.prototype.$requestPost = requestPost; |
|||
}, |
|||
}; |
|||
@ -0,0 +1,50 @@ |
|||
/** |
|||
* 构造树型结构数据 |
|||
* @param {*} data 数据源 |
|||
* @param {*} id id字段 默认 'id' |
|||
* @param {*} parentId 父节点字段 默认 'parentId' |
|||
* @param {*} children 孩子节点字段 默认 'children' |
|||
*/ |
|||
export function handleTree(data, id, parentId, children) { |
|||
let config = { |
|||
id: id || 'id', |
|||
parentId: parentId || 'parentId', |
|||
childrenList: children || 'children' |
|||
}; |
|||
|
|||
var childrenListMap = {}; |
|||
var nodeIds = {}; |
|||
var tree = []; |
|||
|
|||
for (let d of data) { |
|||
let parentId = d[config.parentId]; |
|||
if (childrenListMap[parentId] == null) { |
|||
childrenListMap[parentId] = []; |
|||
} |
|||
nodeIds[d[config.id]] = d; |
|||
childrenListMap[parentId].push(d); |
|||
} |
|||
|
|||
for (let d of data) { |
|||
let parentId = d[config.parentId]; |
|||
if (nodeIds[parentId] == null) { |
|||
tree.push(d); |
|||
} |
|||
} |
|||
|
|||
for (let t of tree) { |
|||
adaptToChildrenList(t); |
|||
} |
|||
|
|||
function adaptToChildrenList(o) { |
|||
if (childrenListMap[o[config.id]] !== null) { |
|||
o[config.childrenList] = childrenListMap[o[config.id]]; |
|||
} |
|||
if (o[config.childrenList]) { |
|||
for (let c of o[config.childrenList]) { |
|||
adaptToChildrenList(c); |
|||
} |
|||
} |
|||
} |
|||
return tree; |
|||
} |
|||
@ -0,0 +1,87 @@ |
|||
<template> |
|||
<div v-loading="loading"> |
|||
<el-checkbox |
|||
:indeterminate="isIndeterminate" |
|||
v-model="checkAll" |
|||
@change="handleCheckAllChange">全选</el-checkbox> |
|||
<div style="margin: 15px 0;"></div> |
|||
<el-checkbox-group v-if="boxList.length > 0" v-model="checkedList" @change="handleChange"> |
|||
<div v-for="n in boxList" :key="n.itemId" class="mb10"> |
|||
<el-checkbox :label="n.itemId">{{n.label}}</el-checkbox> |
|||
</div> |
|||
</el-checkbox-group> |
|||
<div v-else class="no-data">暂无数据</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'checkBox', |
|||
model: { |
|||
prop: 'value', |
|||
event: 'change' |
|||
}, |
|||
props: { |
|||
value: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
list: { |
|||
type: Array, |
|||
default: () => [] |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
boxList: [], |
|||
checkAll: false, |
|||
checkedList: [], |
|||
isIndeterminate: false, |
|||
pid: '', |
|||
loading: false |
|||
} |
|||
}, |
|||
created() { |
|||
this.boxList = this.list.filter(item => item.itemType != 'inputRange') |
|||
console.log('cehck-bo----', this.list) |
|||
this.pid = this.list[0].itemGroupId |
|||
}, |
|||
methods: { |
|||
handleCheckAllChange(val) { |
|||
|
|||
this.checkedList = val ? this.boxList.map(item => item.itemId) : []; |
|||
this.isIndeterminate = false; |
|||
|
|||
this.$emit('change', { list: this.filterArr(this.checkedList), pid: this.pid }) |
|||
}, |
|||
handleChange(value) { |
|||
console.log('value----', value) |
|||
let checkedCount = value.length; |
|||
this.checkAll = checkedCount === this.boxList.length; |
|||
this.isIndeterminate = checkedCount > 0 && checkedCount < this.boxList.length; |
|||
this.$emit('change', { list: this.filterArr(this.checkedList), pid: this.pid }) |
|||
}, |
|||
filterArr(arr) { |
|||
let list = [] |
|||
arr.forEach(item => { |
|||
this.boxList.forEach(n => { |
|||
if (item === n.itemId) list.push(n) |
|||
}) |
|||
}) |
|||
return list |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.mb10 { |
|||
margin-bottom: 10px; |
|||
} |
|||
.no-data { |
|||
padding-top: 30px; |
|||
font-size: 14px; |
|||
text-align: center; |
|||
color: #999; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,94 @@ |
|||
<template> |
|||
<div class="right-wr scroll-h" :id="'wrItems' + id"> |
|||
<div v-for="(n, i) in list" :key="n.itemId" class="right-item"> |
|||
<div class="item-label">{{ n.label }}</div> |
|||
<div class="item-btn"> |
|||
<el-tag type="danger" class="mr10" @click="handleDelItem(n, i)"> |
|||
<i class="el-icon-delete"></i> |
|||
</el-tag> |
|||
<el-tag type="primary"> |
|||
<i class="el-icon-rank"></i> |
|||
</el-tag> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Sortable from 'sortablejs' |
|||
export default { |
|||
name: 'DragItems', |
|||
props: { |
|||
list: { |
|||
type: Array, |
|||
default: () => [] |
|||
}, |
|||
id: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dragList: [] |
|||
} |
|||
}, |
|||
mounted() { |
|||
|
|||
// this.dragSort() |
|||
}, |
|||
watch: { |
|||
list: { |
|||
handler(val) { |
|||
this.dragList = val.filter(item => item.itemType != 'inputRange') |
|||
}, |
|||
deep: true |
|||
} |
|||
}, |
|||
methods: { |
|||
handleDelItem(item, i) { |
|||
this.$emit('del', { item, index: i}) |
|||
}, |
|||
dragSort () { |
|||
const el = document.getElementById(`wrItems${this.id}`) |
|||
this.sortTable = Sortable.create(el, { |
|||
group: 'right-item', |
|||
ghostClass: 'sortable-ghost', // Class name for the drop placeholder, |
|||
chosenClass: 'sortable-choose', |
|||
animation: 500, |
|||
delay: 0, |
|||
onEnd: evt => { |
|||
console.log('evt----', evt) |
|||
const targetRow = this.list.splice(evt.oldIndex, 1)[0] |
|||
this.list.splice(evt.newIndex, 0, targetRow) |
|||
this.$emit('drag', this.list) |
|||
} |
|||
}) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.right-wr { |
|||
max-height: calc(80vh - 270px); |
|||
overflow: auto; |
|||
.right-item { |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: space-between; |
|||
cursor: pointer; |
|||
padding: 10px 30px; |
|||
|
|||
} |
|||
} |
|||
.sortable-choose { |
|||
background: #eee; |
|||
} |
|||
.mr10 { |
|||
margin-right: 10px; |
|||
} |
|||
.mb10 { |
|||
margin-bottom: 10px; |
|||
} |
|||
</style> |
|||
@ -0,0 +1,10 @@ |
|||
diff a/src/views/components/editResi.vue b/src/views/components/editResi.vue (rejected hunks) |
|||
@@ -235,7 +235,7 @@ |
|||
v-else-if="n.itemType === 'cascader'" |
|||
v-model.trim="form[n.columnName]" |
|||
:options="n.options" |
|||
- :props="{ checkStrictly: true }" |
|||
+ :props="{ checkStrictly: false }" |
|||
:disabled="disabled" |
|||
clearable |
|||
size="small" |
|||
@ -0,0 +1,126 @@ |
|||
<template> |
|||
<el-form :model="inputForm" :rules="rules" class="demo-form-inline"> |
|||
<div class="flex-div"> |
|||
<el-form-item prop="start"> |
|||
<el-input |
|||
v-model="inputForm.start" |
|||
class="wd50" |
|||
size="small" |
|||
:type="inputType" |
|||
clearable |
|||
placeholder="请输入" |
|||
@change="handleChange" |
|||
/> |
|||
</el-form-item> |
|||
<div>-</div> |
|||
<el-form-item prop="end"> |
|||
<el-input |
|||
v-model="inputForm.end" |
|||
class="wd50" |
|||
size="small" |
|||
:type="inputType" |
|||
clearable |
|||
placeholder="请输入" |
|||
@change="handleChange" |
|||
@blur="handleBlur" |
|||
/> |
|||
</el-form-item> |
|||
</div> |
|||
|
|||
</el-form> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'inputRange', |
|||
model: { |
|||
prop: 'value', |
|||
event: 'change' |
|||
}, |
|||
props: { |
|||
value: { |
|||
type: Object, |
|||
default: () => { |
|||
return { |
|||
start: '', |
|||
end: '' |
|||
} |
|||
} |
|||
}, |
|||
type: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
}, |
|||
data() { |
|||
let checkAge = (rule, value, callback) => { |
|||
if (value === '') { |
|||
callback(new Error('请输入内容')) |
|||
} else { |
|||
if (value < this.inputForm.start) { |
|||
callback(new Error('结束值不能小于开始值')) |
|||
} |
|||
callback() |
|||
} |
|||
} |
|||
return { |
|||
inputForm: {...this.value}, |
|||
rules: { |
|||
end: [ |
|||
{ validator: checkAge, trigger: 'blur' } |
|||
], |
|||
} |
|||
} |
|||
}, |
|||
computed: { |
|||
inputType() { |
|||
if (this.type == 'num') return 'number' |
|||
} |
|||
}, |
|||
watch: { |
|||
'value.start'(val) { |
|||
this.inputForm.start = val |
|||
}, |
|||
'value.end'(val) { |
|||
this.inputForm.end = val |
|||
}, |
|||
}, |
|||
methods: { |
|||
handleChange(val) { |
|||
// if () |
|||
this.$emit('change', { ...this.inputForm}) |
|||
}, |
|||
handleBlur() { |
|||
|
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.flex-div { |
|||
display: flex; |
|||
align-items: center; |
|||
max-width: 200px; |
|||
} |
|||
// .wd50 { |
|||
// // width: 45%; |
|||
// } |
|||
.demo-form-inline { |
|||
::v-deep { |
|||
.el-form-item { |
|||
flex: 1; |
|||
width: 40%; |
|||
margin: 0; |
|||
} |
|||
input::-webkit-outer-spin-button, |
|||
input::-webkit-inner-spin-button { |
|||
-webkit-appearance: none; |
|||
} |
|||
input[type='number']{ |
|||
-moz-appearance: textfield; |
|||
} |
|||
} |
|||
} |
|||
|
|||
</style> |
|||
@ -1,154 +1,157 @@ |
|||
/* eslint-disable */ |
|||
<template> |
|||
<textarea :id="tinymceId" |
|||
style="visibility: hidden;" /> |
|||
<textarea :id="tinymceId" style="visibility: hidden" /> |
|||
</template> |
|||
|
|||
<script> |
|||
import loadTinymce from '@/utils/loadTinymce' |
|||
import { plugins, toolbar } from './config' |
|||
import { debounce } from 'throttle-debounce' |
|||
import Cookie from 'js-cookie' |
|||
import loadTinymce from "@/utils/loadTinymce"; |
|||
import { plugins, toolbar } from "./config"; |
|||
import { debounce } from "throttle-debounce"; |
|||
import Cookie from "js-cookie"; |
|||
// import constants from '@/utils/constants' |
|||
import nextTick from "dai-js/tools/nextTick"; |
|||
|
|||
let num = 1 |
|||
let num = 1; |
|||
|
|||
export default { |
|||
name: 'Tinymce', |
|||
name: "Tinymce", |
|||
props: { |
|||
id: { |
|||
type: String, |
|||
default: () => { |
|||
num === 10000 && (num = 1) |
|||
return `tinymce${+new Date()}${num++}` |
|||
} |
|||
num === 10000 && (num = 1); |
|||
return `tinymce${+new Date()}${num++}`; |
|||
}, |
|||
}, |
|||
value: { |
|||
default: '' |
|||
default: "", |
|||
}, |
|||
customerId: { |
|||
type: String, |
|||
default: '' |
|||
} |
|||
default: "", |
|||
}, |
|||
}, |
|||
data () { |
|||
data() { |
|||
return { |
|||
tinymceId: this.id |
|||
} |
|||
tinymceId: this.id, |
|||
}; |
|||
}, |
|||
mounted () { |
|||
|
|||
loadTinymce(tinymce => { |
|||
let token = this.getUserToken() |
|||
mounted() { |
|||
loadTinymce((tinymce) => { |
|||
let token = this.getUserToken(); |
|||
// let uploadUrl = '1111' |
|||
let uploadUrl = window.SITE_CONFIG['apiURL'] + '/oss/file/function/upload' |
|||
let uploadUrl = |
|||
window.SITE_CONFIG["apiURL"] + "/oss/file/function/upload"; |
|||
|
|||
// :data="{customerId:customerId}" |
|||
// let uploadUrl = constants.userUploadUrl |
|||
// eslint-disable-next-line global-require |
|||
require('./zh_CN') |
|||
require("./zh_CN"); |
|||
let conf = { |
|||
selector: `#${this.tinymceId}`, |
|||
language: 'zh_CN', |
|||
menubar: 'false', |
|||
skin_url: '/' + process.env.VUE_APP_PUBLIC_PATH + '/tinymce/skins/ui/tduck', |
|||
content_style: 'p {margin:3px 0; border:0px; padding:0px}', |
|||
content_css: '/' + process.env.VUE_APP_PUBLIC_PATH + '/tinymce/skins/content/tduck', |
|||
cache_suffix: '?v=0.0.1', |
|||
language: "zh_CN", |
|||
menubar: "false", |
|||
skin_url: |
|||
"/" + process.env.VUE_APP_PUBLIC_PATH + "/tinymce/skins/ui/tduck", |
|||
content_style: "p {margin:3px 0; border:0px; padding:0px}", |
|||
content_css: |
|||
"/" + |
|||
process.env.VUE_APP_PUBLIC_PATH + |
|||
"/tinymce/skins/content/tduck", |
|||
cache_suffix: "?v=0.0.1", |
|||
plugins, |
|||
toolbar, |
|||
toolbar_drawer: 'sliding', |
|||
toolbar_mode: 'sliding', |
|||
toolbar_drawer: "sliding", |
|||
toolbar_mode: "sliding", |
|||
height: 400, |
|||
// fontsize_formats: "8pt 10pt 12pt 14pt 18pt 24pt 36pt", |
|||
branding: false, |
|||
object_resizing: false, |
|||
end_container_on_empty_block: true, |
|||
powerpaste_word_import: 'clean', |
|||
powerpaste_word_import: "clean", |
|||
// code_dialog_height: 450, |
|||
// code_dialog_width: 1000, |
|||
// autoresize_max_height: 450, // 编辑区域的最大高度 |
|||
// autoresize_min_height: 350, //编辑区域的最小高度 |
|||
advlist_bullet_styles: 'square', |
|||
advlist_number_styles: 'default', |
|||
default_link_target: '_blank', |
|||
advlist_bullet_styles: "square", |
|||
advlist_number_styles: "default", |
|||
default_link_target: "_blank", |
|||
link_title: false, |
|||
statusbar: false, |
|||
nonbreaking_force_tab: true, |
|||
// images_upload_url: uploadUrl, |
|||
images_upload_handler: function (blobInfo, succFun, failFun) { |
|||
var xhr, formData |
|||
var file = blobInfo.blob()// 转化为易于理解的file对象 |
|||
xhr = new XMLHttpRequest() |
|||
xhr.withCredentials = false |
|||
xhr.open('POST', uploadUrl) |
|||
xhr.setRequestHeader('token', token) |
|||
var xhr, formData; |
|||
var file = blobInfo.blob(); // 转化为易于理解的file对象 |
|||
xhr = new XMLHttpRequest(); |
|||
xhr.withCredentials = false; |
|||
xhr.open("POST", uploadUrl); |
|||
xhr.setRequestHeader("token", token); |
|||
xhr.onload = function () { |
|||
|
|||
var json |
|||
var json; |
|||
if (xhr.status != 200) { |
|||
failFun('HTTP Error: ' + xhr.status) |
|||
return |
|||
failFun("HTTP Error: " + xhr.status); |
|||
return; |
|||
} |
|||
json = JSON.parse(xhr.responseText) |
|||
if (!json || typeof json.data.url != 'string') { |
|||
failFun('Invalid JSON: ' + xhr.responseText) |
|||
return |
|||
json = JSON.parse(xhr.responseText); |
|||
if (!json || typeof json.data.url != "string") { |
|||
failFun("Invalid JSON: " + xhr.responseText); |
|||
return; |
|||
} |
|||
|
|||
succFun(json.data.url) |
|||
} |
|||
formData = new FormData() |
|||
succFun(json.data.url); |
|||
}; |
|||
formData = new FormData(); |
|||
|
|||
formData.append('file', file, file.name)// 此处与源文档不一样 |
|||
formData.append("file", file, file.name); // 此处与源文档不一样 |
|||
// formData.append('customerId', '111') |
|||
xhr.send(formData) |
|||
} |
|||
} |
|||
conf = Object.assign(conf, this.$attrs) |
|||
conf.init_instance_callback = editor => { |
|||
|
|||
if (this.value) editor.setContent(this.value) |
|||
this.vModel(editor) |
|||
} |
|||
xhr.send(formData); |
|||
}, |
|||
}; |
|||
conf = Object.assign(conf, this.$attrs); |
|||
conf.init_instance_callback = (editor) => { |
|||
if (this.value) editor.setContent(this.value); |
|||
this.vModel(editor); |
|||
}; |
|||
|
|||
tinymce.init(conf) |
|||
}) |
|||
tinymce.init(conf); |
|||
}); |
|||
}, |
|||
destroyed () { |
|||
this.destroyTinymce() |
|||
destroyed() { |
|||
this.destroyTinymce(); |
|||
}, |
|||
methods: { |
|||
vModel (editor) { |
|||
vModel(editor) { |
|||
// 控制连续写入时setContent的触发频率 |
|||
const debounceSetContent = debounce(250, editor.setContent) |
|||
this.$watch('value', (val, prevVal) => { |
|||
const debounceSetContent = debounce(250, editor.setContent); |
|||
this.$watch("value", (val, prevVal) => { |
|||
if (editor && val !== prevVal && val !== editor.getContent()) { |
|||
if (typeof val !== 'string') val = val.toString() |
|||
debounceSetContent.call(editor, val) |
|||
if (typeof val !== "string") val = val.toString(); |
|||
debounceSetContent.call(editor, val); |
|||
} |
|||
}) |
|||
}); |
|||
|
|||
editor.on('change keyup undo redo', () => { |
|||
this.$emit('input', editor.getContent()) |
|||
}) |
|||
editor.on('blur', () => { |
|||
this.$emit('blur') |
|||
}) |
|||
editor.on("change keyup undo redo", () => { |
|||
this.$emit("input", editor.getContent()); |
|||
}); |
|||
editor.on("blur", () => { |
|||
this.$emit("blur"); |
|||
}); |
|||
console.log('init_instance_callback1111111111') |
|||
}, |
|||
getUserToken () { |
|||
let token = localStorage.getItem('token') |
|||
getUserToken() { |
|||
let token = localStorage.getItem("token"); |
|||
// console.log('获取token', token) |
|||
// return this.$store.getters['user/isLogin'] |
|||
return token |
|||
return token; |
|||
}, |
|||
destroyTinymce () { |
|||
if (!window.tinymce) return |
|||
const tinymce = window.tinymce.get(this.tinymceId) |
|||
destroyTinymce() { |
|||
if (!window.tinymce) return; |
|||
const tinymce = window.tinymce.get(this.tinymceId); |
|||
if (tinymce) { |
|||
tinymce.destroy() |
|||
tinymce.destroy(); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||