Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
53e480dc
authored
2023-07-19 10:25:49 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
style:字典信息
1 parent
0b4d2be6
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1039 additions
and
1004 deletions
src/views/jkfw/ptjk/components/addDialog.vue
src/views/jkfw/ptjk/ptjk.vue
src/views/login/index.vue
src/views/lpb/index.vue
src/views/registerBook/bdcqldjml.vue
src/views/registerBook/bdcqljqtsx.vue
src/views/registerBook/cfdj.vue
src/views/registerBook/diyaq.vue
src/views/registerBook/diyiq.vue
src/views/registerBook/djbFrame.vue
src/views/registerBook/djbFrameall.vue
src/views/registerBook/djbfm.vue
src/views/system/dictionaries/components/editDialog.vue
src/views/jkfw/ptjk/components/addDialog.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:50:23
-->
<
template
>
<dialogBox
:title=
"editFlag ? '编辑接口信息' : '新增接口信息'"
@
submitForm=
"submitForm"
saveButton=
"保存"
width=
"50%"
:isFullscreen=
"false"
@
closeDialog=
"closeDialog"
v-model=
"value"
>
...
...
@@ -26,7 +31,7 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"接口方式:"
prop=
"interfaceMethod"
>
<el-select
v-model=
"ruleForm.interfaceMethod"
class=
"width100"
placeholder=
"请选择"
>
<el-option
v-for=
"item in interfaceMethods"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
<el-option
v-for=
"item in interfaceMethods"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -58,115 +63,115 @@
</
template
>
<
script
>
import
{
addSysInterface
,
editSysInterface
}
from
"@/api/ptjk.js"
export
default
{
components
:
{
},
computed
:
{
},
props
:
{
value
:
{
type
:
Boolean
,
default
:
false
},
editFlag
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
//表单提交数据
interfaceMethods
:
[
'webapi'
,
'webservice'
],
interfaceTypes
:
[
{
'label'
:
'工作流服务平台'
,
'value'
:
'1'
},
{
'label'
:
'权限平台'
,
'value'
:
'2'
},
{
'label'
:
'定时器服务'
,
'value'
:
'3'
},
{
'label'
:
'其他第三方平台'
,
'value'
:
'4'
},
],
ruleForm
:
{
interfaceCode
:
''
,
interfaceService
:
''
,
interfaceDescription
:
''
,
interfaceApi
:
''
,
interfaceMethod
:
''
,
interfaceType
:
''
,
interfaceKey
:
''
,
},
rules
:
{
interfaceCode
:
[
{
required
:
true
,
message
:
'接口代码不能为空'
,
trigger
:
'blur'
}
],
interfaceService
:
[
{
required
:
true
,
message
:
'接口服务名称不能为空'
,
trigger
:
'blur'
}
],
interfaceApi
:
[
{
required
:
true
,
message
:
'接口api地址不能为空'
,
trigger
:
'blur'
}
],
interfaceMethod
:
[
{
required
:
true
,
message
:
'接口方式不能为空'
,
trigger
:
'change'
}
],
interfaceType
:
[
{
required
:
true
,
message
:
'入库编号不能为空'
,
trigger
:
'change'
}
import
{
addSysInterface
,
editSysInterface
}
from
"@/api/ptjk.js"
export
default
{
components
:
{
},
computed
:
{
},
props
:
{
value
:
{
type
:
Boolean
,
default
:
false
},
editFlag
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
//表单提交数据
interfaceMethods
:
[
'webapi'
,
'webservice'
],
interfaceTypes
:
[
{
'label'
:
'工作流服务平台'
,
'value'
:
'1'
},
{
'label'
:
'权限平台'
,
'value'
:
'2'
},
{
'label'
:
'定时器服务'
,
'value'
:
'3'
},
{
'label'
:
'其他第三方平台'
,
'value'
:
'4'
},
],
},
}
},
methods
:
{
//表单提交
submitForm
()
{
let
that
=
this
;
that
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
editFlag
){
this
.
editInterface
();
}
else
{
this
.
addInterface
();
}
}
else
{
// console.log('error submit!!');
return
false
;
}
});
ruleForm
:
{
interfaceCode
:
''
,
interfaceService
:
''
,
interfaceDescription
:
''
,
interfaceApi
:
''
,
interfaceMethod
:
''
,
interfaceType
:
''
,
interfaceKey
:
''
,
},
rules
:
{
interfaceCode
:
[
{
required
:
true
,
message
:
'接口代码不能为空'
,
trigger
:
'blur'
}
],
interfaceService
:
[
{
required
:
true
,
message
:
'接口服务名称不能为空'
,
trigger
:
'blur'
}
],
interfaceApi
:
[
{
required
:
true
,
message
:
'接口api地址不能为空'
,
trigger
:
'blur'
}
],
interfaceMethod
:
[
{
required
:
true
,
message
:
'接口方式不能为空'
,
trigger
:
'change'
}
],
interfaceType
:
[
{
required
:
true
,
message
:
'入库编号不能为空'
,
trigger
:
'change'
}
],
},
}
},
//新增接口
addInterface
(){
addSysInterface
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
==
200
){
this
.
$message
.
success
(
"保存成功"
);
this
.
closeDialog
();
this
.
$parent
.
queryClick
();
}
else
{
this
.
$message
.
error
(
res
.
message
)
methods
:
{
//表单提交
submitForm
()
{
let
that
=
this
;
that
.
$refs
.
ruleForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
editFlag
)
{
this
.
editInterface
();
}
else
{
this
.
addInterface
();
}
}
else
{
// console.log('error submit!!');
return
false
;
}
});
},
//新增接口
addInterface
()
{
addSysInterface
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功"
);
this
.
closeDialog
();
this
.
$parent
.
queryClick
();
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
},
//编辑接口
editInterface
()
{
},
//编辑接口
editInterface
()
{
editSysInterface
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"编辑成功"
);
this
.
closeDialog
();
this
.
$parent
.
queryClick
();
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"编辑成功"
);
this
.
closeDialog
();
this
.
$parent
.
queryClick
();
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
},
//获取详情
getDetailInfo
(
item
){
this
.
ruleForm
=
item
},
//关闭弹窗
closeDialog
()
{
this
.
$emit
(
"input"
,
false
);
this
.
ruleForm
=
{
interfaceCode
:
''
,
interfaceService
:
''
,
interfaceDescription
:
''
,
interfaceApi
:
''
,
interfaceMethod
:
''
,
interfaceType
:
''
,
interfaceKey
:
''
,
},
//获取详情
getDetailInfo
(
item
)
{
this
.
ruleForm
=
item
},
//关闭弹窗
closeDialog
()
{
this
.
$emit
(
"input"
,
false
);
this
.
ruleForm
=
{
interfaceCode
:
''
,
interfaceService
:
''
,
interfaceDescription
:
''
,
interfaceApi
:
''
,
interfaceMethod
:
''
,
interfaceType
:
''
,
interfaceKey
:
''
,
}
}
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/mixin.scss"
;
</
style
>
...
...
src/views/jkfw/ptjk/ptjk.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:50:36
-->
<
template
>
<div
class=
"from-clues"
>
<!-- 表单部分 -->
...
...
@@ -37,72 +42,72 @@
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
'vuex'
import
table
from
"@/utils/mixin/table"
import
{
datas
,
sendThis
}
from
"./ptjkdata"
import
{
getSysInterfaceList
}
from
'@/api/ptjk.js'
import
addDialog
from
"./components/addDialog.vue"
import
retrieveDialog
from
"./components/retrieveDialog.vue"
export
default
{
name
:
"ptjk"
,
components
:
{
addDialog
,
retrieveDialog
},
mixins
:
[
table
],
mounted
()
{
sendThis
(
this
);
this
.
queryClick
()
},
computed
:
{
...
mapGetters
([
'dictData'
])
},
data
()
{
return
{
addDialog
:
false
,
retrieveDialog
:
false
,
editFlag
:
false
,
queryForm
:
{
ywly
:
""
,
qllx
:
""
,
djlx
:
""
,
ywh
:
""
,
},
tableData
:
{
total
:
0
,
columns
:
datas
.
columns
(),
data
:
[],
},
};
},
methods
:
{
queryClick
()
{
this
.
$startLoading
()
getSysInterfaceList
({
...
this
.
ruleForm
,
...
this
.
pageData
},
{
'target'
:
'#ptjkLoading'
}).
then
(
res
=>
{
this
.
$endLoading
()
if
(
res
.
code
==
200
)
{
let
{
total
,
records
}
=
res
.
result
this
.
tableData
.
total
=
total
;
this
.
tableData
.
data
=
records
?
records
:
[]
}
})
import
{
mapGetters
}
from
'vuex'
import
table
from
"@/utils/mixin/table"
import
{
datas
,
sendThis
}
from
"./ptjkdata"
import
{
getSysInterfaceList
}
from
'@/api/ptjk.js'
import
addDialog
from
"./components/addDialog.vue"
import
retrieveDialog
from
"./components/retrieveDialog.vue"
export
default
{
name
:
"ptjk"
,
components
:
{
addDialog
,
retrieveDialog
},
mixins
:
[
table
],
mounted
()
{
sendThis
(
this
);
this
.
queryClick
()
},
//打开新增
openDialog
()
{
this
.
editFlag
=
false
;
this
.
addDialog
=
true
;
computed
:
{
...
mapGetters
([
'dictData'
])
},
//打开编辑
editInterface
(
item
)
{
this
.
editFlag
=
true
;
this
.
addDialog
=
true
;
this
.
$refs
.
addDialog
.
getDetailInfo
(
item
);
data
()
{
return
{
addDialog
:
false
,
retrieveDialog
:
false
,
editFlag
:
false
,
queryForm
:
{
ywly
:
""
,
qllx
:
""
,
djlx
:
""
,
ywh
:
""
,
},
tableData
:
{
total
:
0
,
columns
:
datas
.
columns
(),
data
:
[],
},
};
},
//打开调试窗口
tuneInterface
(
item
)
{
this
.
retrieveDialog
=
true
;
this
.
$refs
.
retrieveDialog
.
getDetailInfo
(
item
);
methods
:
{
queryClick
()
{
this
.
$startLoading
()
getSysInterfaceList
({
...
this
.
ruleForm
,
...
this
.
pageData
},
{
'target'
:
'#ptjkLoading'
}).
then
(
res
=>
{
this
.
$endLoading
()
if
(
res
.
code
==
200
)
{
let
{
total
,
records
}
=
res
.
result
this
.
tableData
.
total
=
total
;
this
.
tableData
.
data
=
records
?
records
:
[]
}
})
},
//打开新增
openDialog
()
{
this
.
editFlag
=
false
;
this
.
addDialog
=
true
;
},
//打开编辑
editInterface
(
item
)
{
this
.
editFlag
=
true
;
this
.
addDialog
=
true
;
this
.
$refs
.
addDialog
.
getDetailInfo
(
item
);
},
//打开调试窗口
tuneInterface
(
item
)
{
this
.
retrieveDialog
=
true
;
this
.
$refs
.
retrieveDialog
.
getDetailInfo
(
item
);
}
}
}
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/public.scss"
;
@import
"~@/styles/public.scss"
;
</
style
>
...
...
src/views/login/index.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:50:45
-->
<
template
>
<div
id=
"login"
>
<div
class=
"login-content-wrap"
>
...
...
@@ -16,14 +21,12 @@
placeholder=
"请输入账号"
v-model=
"userInfo.username"
@
focus=
"reduceBorder('user')"
@
blur=
"addBorder('user')"
/>
@
blur=
"addBorder('user')"
/>
<span
class=
"warning"
v-show=
"warning.user"
>
账号不能为空
</span>
</div>
<div
class=
"login-user user-mt"
:class=
"
{ 'select-border': change.pass }"
>
:class=
"
{ 'select-border': change.pass }">
<img
class=
"user-icon"
src=
"./images/password.svg"
/>
<input
type=
"password"
...
...
@@ -32,8 +35,7 @@
v-model=
"userInfo.password"
v-show=
"!selectEye"
@
focus=
"reduceBorder('pass')"
@
blur=
"addBorder('pass')"
/>
@
blur=
"addBorder('pass')"
/>
<input
type=
"text"
class=
"user-input"
...
...
@@ -41,26 +43,22 @@
v-model=
"userInfo.password"
v-show=
"selectEye"
@
focus=
"reduceBorder('pass')"
@
blur=
"addBorder('pass')"
/>
@
blur=
"addBorder('pass')"
/>
<img
class=
"password-eye"
src=
"./images/open.svg"
@
click=
"selectEyes"
v-show=
"selectEye"
/>
v-show=
"selectEye"
/>
<img
class=
"password-eye"
src=
"./images/close.svg"
@
click=
"selectEyes"
v-show=
"!selectEye"
/>
v-show=
"!selectEye"
/>
<span
class=
"warning"
v-show=
"warning.pass"
>
密码不能为空
</span>
</div>
<div
class=
"login-user login-valid"
:class=
"
{ 'select-border': change.valid }"
>
:class=
"
{ 'select-border': change.valid }">
<img
class=
"user-icon"
src=
"./images/valid.svg"
/>
<input
type=
"text"
...
...
@@ -68,14 +66,12 @@
placeholder=
"请输入验证码"
v-model=
"userInfo.captchaCode"
@
focus=
"reduceBorder('valid')"
@
blur=
"addBorder('valid')"
/>
@
blur=
"addBorder('valid')"
/>
<img
class=
"valid-img"
:src=
"codeSrc"
alt=
"暂无验证码"
@
click=
"reloadCaptcha"
/>
@
click=
"reloadCaptcha"
/>
<span
class=
"warning"
v-show=
"warning.valid"
>
验证码不能为空
</span>
</div>
<div
id=
"loginBtn"
class=
"login-btn"
@
click=
"goHome"
>
登录
</div>
...
...
@@ -85,302 +81,302 @@
</div>
</
template
>
<
script
>
import
axios
from
"axios"
;
export
default
{
data
()
{
return
{
// 用户名
selectIcon
:
true
,
// 用户名
selectEye
:
false
,
userInfo
:
{
import
axios
from
"axios"
;
export
default
{
data
()
{
return
{
// 用户名
username
:
""
,
// 密码
password
:
""
,
// 重定向地址
redirectUrl
:
""
,
// 验证码key
captchaKey
:
""
,
// 验证码值
captchaCode
:
""
,
},
//边框
change
:
{
user
:
false
,
pass
:
false
,
valid
:
false
},
// 提示语
warning
:
{
user
:
false
,
pass
:
false
,
valid
:
false
,
},
// 验证码图片地址
codeSrc
:
""
};
},
mounted
()
{
this
.
initPage
();
this
.
userInfo
.
redirectUrl
=
localStorage
.
getItem
(
"dj-location"
);
this
.
reloadCaptcha
()
let
self
=
this
;
document
.
onkeydown
=
function
(
e
)
{
//按下回车提交
let
key
=
window
.
event
.
keyCode
;
//事件中keycode=13为回车事件
if
(
key
==
13
)
{
self
.
goHome
();
}
};
},
methods
:
{
// 更新验证码
reloadCaptcha
(){
axios
.
get
(
window
.
_config
.
services
.
management
+
"/management/captcha?format=json"
).
then
(
res
=>
{
if
(
res
.
data
.
status
===
1
)
{
this
.
userInfo
.
captchaKey
=
res
.
data
.
content
[
'dubhe.captcha'
]
this
.
codeSrc
=
res
.
data
.
content
.
image
}
})
selectIcon
:
true
,
// 用户名
selectEye
:
false
,
userInfo
:
{
// 用户名
username
:
""
,
// 密码
password
:
""
,
// 重定向地址
redirectUrl
:
""
,
// 验证码key
captchaKey
:
""
,
// 验证码值
captchaCode
:
""
,
},
//边框
change
:
{
user
:
false
,
pass
:
false
,
valid
:
false
},
// 提示语
warning
:
{
user
:
false
,
pass
:
false
,
valid
:
false
,
},
// 验证码图片地址
codeSrc
:
""
};
},
// 初始化
initPage
()
{
let
userInfo
=
localStorage
.
getItem
(
"userInfo"
)
&&
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
));
if
(
userInfo
)
{
this
.
userInfo
.
username
=
userInfo
.
username
;
this
.
userInfo
.
password
=
userInfo
.
password
;
}
mounted
()
{
this
.
initPage
();
this
.
userInfo
.
redirectUrl
=
localStorage
.
getItem
(
"dj-location"
);
this
.
reloadCaptcha
()
let
self
=
this
;
document
.
onkeydown
=
function
(
e
)
{
//按下回车提交
let
key
=
window
.
event
.
keyCode
;
//事件中keycode=13为回车事件
if
(
key
==
13
)
{
self
.
goHome
();
}
};
},
goHome
()
{
if
(
this
.
userInfo
.
username
&&
this
.
userInfo
.
password
)
{
axios
.
post
(
window
.
_config
.
services
.
management
+
"/management/cas/login"
,
this
.
userInfo
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
status
===
1
)
{
if
(
response
.
data
.
content
.
location
)
{
window
.
location
.
href
=
response
.
data
.
content
.
location
;
methods
:
{
// 更新验证码
reloadCaptcha
()
{
axios
.
get
(
window
.
_config
.
services
.
management
+
"/management/captcha?format=json"
).
then
(
res
=>
{
if
(
res
.
data
.
status
===
1
)
{
this
.
userInfo
.
captchaKey
=
res
.
data
.
content
[
'dubhe.captcha'
]
this
.
codeSrc
=
res
.
data
.
content
.
image
}
})
},
// 初始化
initPage
()
{
let
userInfo
=
localStorage
.
getItem
(
"userInfo"
)
&&
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
));
if
(
userInfo
)
{
this
.
userInfo
.
username
=
userInfo
.
username
;
this
.
userInfo
.
password
=
userInfo
.
password
;
}
},
goHome
()
{
if
(
this
.
userInfo
.
username
&&
this
.
userInfo
.
password
)
{
axios
.
post
(
window
.
_config
.
services
.
management
+
"/management/cas/login"
,
this
.
userInfo
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
status
===
1
)
{
if
(
response
.
data
.
content
.
location
)
{
window
.
location
.
href
=
response
.
data
.
content
.
location
;
}
}
else
{
this
.
$message
.
error
(
response
.
data
.
message
);
}
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
this
.
$message
.
error
(
error
.
message
);
});
}
else
{
return
}
},
selectEyes
()
{
this
.
selectEye
=
!
this
.
selectEye
;
},
//获取焦点
reduceBorder
(
type
)
{
this
.
change
[
type
]
=
true
},
addBorder
(
type
)
{
//失去焦点
switch
(
type
)
{
case
"user"
:
this
.
change
.
user
=
false
;
if
(
!
this
.
userInfo
.
username
)
{
this
.
warning
.
user
=
true
;
}
else
{
this
.
$message
.
error
(
response
.
data
.
message
)
;
this
.
warning
.
user
=
false
;
}
})
.
catch
((
error
)
=>
{
console
.
log
(
error
);
this
.
$message
.
error
(
error
.
message
);
});
}
else
{
return
break
;
case
"pass"
:
this
.
change
.
pass
=
false
;
if
(
!
this
.
userInfo
.
password
)
{
this
.
warning
.
pass
=
true
;
}
else
{
this
.
warning
.
pass
=
false
;
}
break
;
case
"valid"
:
this
.
change
.
valid
=
false
;
if
(
!
this
.
userInfo
.
captchaCode
)
{
this
.
warning
.
valid
=
true
;
}
else
{
this
.
warning
.
valid
=
false
;
}
break
;
default
:
break
;
}
}
},
selectEyes
()
{
this
.
selectEye
=
!
this
.
selectEye
;
},
//获取焦点
reduceBorder
(
type
)
{
this
.
change
[
type
]
=
true
},
addBorder
(
type
)
{
//失去焦点
switch
(
type
)
{
case
"user"
:
this
.
change
.
user
=
false
;
if
(
!
this
.
userInfo
.
username
)
{
this
.
warning
.
user
=
true
;
}
else
{
this
.
warning
.
user
=
false
;
}
break
;
case
"pass"
:
this
.
change
.
pass
=
false
;
if
(
!
this
.
userInfo
.
password
)
{
this
.
warning
.
pass
=
true
;
}
else
{
this
.
warning
.
pass
=
false
;
}
break
;
case
"valid"
:
this
.
change
.
valid
=
false
;
if
(
!
this
.
userInfo
.
captchaCode
)
{
this
.
warning
.
valid
=
true
;
}
else
{
this
.
warning
.
valid
=
false
;
}
break
;
default
:
break
;
}
}
},
};
};
</
script
>
<
style
lang=
"scss"
scoped
>
input
::placeholder
{
color
:
#878787
;
font-size
:
14px
;
font-family
:
Arial
,
Helvetica
,
sans-serif
}
#login
{
width
:
100vw
;
height
:
100vh
;
background
:
url("./images/login-bg.png")
no-repeat
;
background-size
:
100%
;
overflow
:
hidden
;
position
:
relative
;
.login-content-wrap{
position
:
absolute
;
left
:
50%
;
top
:
calc
(
50%
+
10px
);
transform
:
translate
(
-50%
,
-50%
);
}
.login-logo
{
height
:
70px
;
width
:
100%
;
text-align
:
center
;
position
:
absolute
;
top
:
-140px
;
}
.login-logo
img
{
height
:
100%
;
input
::placeholder
{
color
:
#878787
;
font-size
:
14px
;
font-family
:
Arial
,
Helvetica
,
sans-serif
;
}
.login-con
{
margin
:
0
auto
;
width
:
936px
;
height
:
450px
;
.login-img{
width
:
456px
;
height
:
450px
;
float
:
left
;
box-sizing
:
border-box
;
padding
:
126px
86px
;
background-color
:
#fff
;
position
:
relative
;
&:after{
content
:
""
;
display
:
inline-block
;
width
:
1px
;
height
:
calc
(
100%
-
96px
);
background-image
:
linear-gradient
(
#fff
,
#9AA4C8
,
#fff
);
position
:
absolute
;
right
:
0
;
top
:
48px
;
}
.content
{
width
:
100%
;
height
:
100%
;
background
:
url("./images/login-img.svg")
no-repeat
;
}
#login
{
width
:
100vw
;
height
:
100vh
;
background
:
url("./images/login-bg.png")
no-repeat
;
background-size
:
100%
;
overflow
:
hidden
;
position
:
relative
;
.login-content-wrap
{
position
:
absolute
;
left
:
50%
;
top
:
calc
(
50%
+
10px
);
transform
:
translate
(
-50%
,
-50%
);
}
.login-wrap
{
width
:
480px
;
.login-logo
{
height
:
70px
;
width
:
100%
;
text-align
:
center
;
position
:
absolute
;
top
:
-140px
;
}
.login-logo
img
{
height
:
100%
;
}
.login-con
{
margin
:
0
auto
;
width
:
936px
;
height
:
450px
;
float
:
left
;
box-sizing
:
border-box
;
padding
:
48px
56px
;
background
:
#FFFFFF
;
p{
width
:
80px
;
font-size
:
20px
;
font-weight
:
500
;
color
:
#333333
;
line-height
:
26px
;
.login-img
{
width
:
456px
;
height
:
450px
;
float
:
left
;
box-sizing
:
border-box
;
padding
:
126px
86px
;
background-color
:
#fff
;
position
:
relative
;
&:after{
&:after
{
content
:
""
;
display
:
inline-block
;
height
:
2
px
;
width
:
74px
;
background-
color
:
#CF8933
;
width
:
1
px
;
height
:
calc
(
100%
-
96px
)
;
background-
image
:
linear-gradient
(
#fff
,
#9aa4c8
,
#fff
)
;
position
:
absolute
;
bottom
:
-4px
;
left
:
2px
;
right
:
0
;
top
:
48px
;
}
.content
{
width
:
100%
;
height
:
100%
;
background
:
url("./images/login-img.svg")
no-repeat
;
}
}
.login-wrap
{
width
:
480px
;
height
:
450px
;
float
:
left
;
box-sizing
:
border-box
;
padding
:
48px
56px
;
background
:
#ffffff
;
p
{
width
:
80px
;
font-size
:
20px
;
font-weight
:
500
;
color
:
#333333
;
line-height
:
26px
;
position
:
relative
;
&:after
{
content
:
""
;
display
:
inline-block
;
height
:
2px
;
width
:
74px
;
background-color
:
#cf8933
;
position
:
absolute
;
bottom
:
-4px
;
left
:
2px
;
}
}
}
}
}
.login-user
{
width
:
100%
;
height
:
40px
;
border
:
1px
solid
#E5E5E5
;
box-sizing
:
border-box
;
margin-top
:
34px
;
border-radius
:
2px
;
position
:
relative
;
.user-icon
{
float
:
left
;
margin
:
10px
auto
auto
10px
;
width
:
28px
;
height
:
18px
;
.login-user
{
width
:
100%
;
height
:
40px
;
border
:
1px
solid
#e5e5e5
;
box-sizing
:
border-box
;
margin-top
:
34px
;
border-radius
:
2px
;
position
:
relative
;
.user-icon
{
float
:
left
;
margin
:
10px
auto
auto
10px
;
width
:
28px
;
height
:
18px
;
}
.user-input
{
width
:
80%
;
float
:
left
;
font-size
:
16px
;
outline
:
0
;
border
:
none
;
color
:
#4a4a4a
;
height
:
38px
;
line-height
:
40px
;
}
.password-eye
{
float
:
right
;
width
:
16px
;
height
:
16px
;
margin-right
:
12px
;
margin-top
:
13px
;
cursor
:
pointer
;
}
.warning
{
font-size
:
12px
;
color
:
red
;
position
:
absolute
;
left
:
0
;
bottom
:
-18px
;
}
}
.
user-input
{
width
:
8
0%
;
float
:
left
;
font-size
:
16px
;
outline
:
0
;
border
:
none
;
color
:
#4a4a4a
;
height
:
38px
;
line-height
:
40px
;
.
login-valid
{
width
:
6
0%
;
.valid-img
{
width
:
50%
;
position
:
absolute
;
right
:
-66%
;
top
:
2px
;
cursor
:
pointer
;
}
}
.password-eye
{
float
:
right
;
width
:
16px
;
height
:
16px
;
margin-right
:
12px
;
margin-top
:
13px
;
cursor
:
pointer
;
.user-mt
{
margin-top
:
26px
;
}
.warning
{
font-size
:
12px
;
color
:
red
;
position
:
absolute
;
left
:
0
;
bottom
:
-18px
;
.select-border
{
border
:
1px
solid
rgba
(
0
,
113
,
255
,
1
);
}
}
.login-valid
{
width
:
60%
;
.valid-img{
width
:
50%
;
position
:
absolute
;
right
:
-66%
;
top
:
2px
;
.login-btn
{
width
:
100%
;
height
:
48px
;
background
:
#74a3f5
;
border-radius
:
2px
;
margin
:
0
auto
;
margin-top
:
40px
;
font-size
:
20px
;
font-weight
:
500
;
line-height
:
48px
;
text-align
:
center
;
color
:
#fff
;
cursor
:
pointer
;
}
.reserved-con
{
position
:
absolute
;
bottom
:
0
;
width
:
100%
;
height
:
18px
;
background-color
:
#4971ca
;
}
}
.user-mt
{
margin-top
:
26px
;
}
.select-border
{
border
:
1px
solid
rgba
(
0
,
113
,
255
,
1
);
}
.login-btn
{
width
:
100%
;
height
:
48px
;
background
:
#74A3F5
;
border-radius
:
2px
;
margin
:
0
auto
;
margin-top
:
40px
;
font-size
:
20px
;
font-weight
:
500
;
line-height
:
48px
;
text-align
:
center
;
color
:
#fff
;
cursor
:
pointer
;
}
.reserved-con
{
position
:
absolute
;
bottom
:
0
;
width
:
100%
;
height
:
18px
;
background-color
:
#4971ca
;
}
}
</
style
>
...
...
src/views/lpb/index.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:50:51
-->
<
template
>
<div
class=
"edit"
>
<el-tabs
type=
"card"
v-model=
"activeName"
>
...
...
@@ -9,15 +14,13 @@
v-if=
"activeName == 'first'"
ref=
"tabContent"
:style=
"
{ height: lpbContentHight + 'px' }"
v-show="bjztFlag"
>
v-show="bjztFlag">
<!-- 楼盘表主体 -->
<div
class=
"lp-overview"
:style=
"
{ width: lpbContentwidth + 'px' }">
<lpbContent
ref=
"lpbContent"
:zrzbsm=
"formData.bsm"
:key=
"time"
></lpbContent>
:key=
"time"
></lpbContent>
</div>
<!-- 右侧图例 -->
<div
class=
"lp-legend"
>
...
...
@@ -28,40 +31,34 @@
</div>
<div
:class=
"selectedZt == 'dyzt' ? 'dyzt selectedZt' : 'dyzt'"
@
click=
"selectedZt = 'dyzt'"
>
@
click=
"selectedZt = 'dyzt'"
>
<span>
单元状态
</span>
</div>
<div
:class=
"selectedZt == 'fwxz' ? 'fwxz selectedZt' : 'fwxz'"
@
click=
"selectedZt = 'fwxz'"
>
@
click=
"selectedZt = 'fwxz'"
>
<span>
房屋性质
</span>
</div>
<div
:class=
"selectedZt == 'fwyt' ? 'fwyt selectedZt' : 'fwyt'"
@
click=
"selectedZt = 'fwyt'"
>
@
click=
"selectedZt = 'fwyt'"
>
<span>
房屋用途
</span>
</div>
<div
:class=
"selectedZt == 'qsx' ? 'qsx selectedZt' : 'qsx'"
@
click=
"selectedZt = 'qsx'"
>
@
click=
"selectedZt = 'qsx'"
>
<span>
缺失项
</span>
</div>
</div>
<div
class=
"legendTable-wrap"
:style=
"
{ width: legendToggleFlag ? '200px' : '0' }"
>
:style=
"
{ width: legendToggleFlag ? '200px' : '0' }">
<table
class=
"legendTable"
v-show=
"selectedZt == 'dyzt'"
cellspacing=
"1"
cellpadding=
"1"
border=
"1"
>
border=
"1"
>
<tr>
<th>
状态
</th>
<th>
套数
</th>
...
...
@@ -71,14 +68,11 @@
v-for=
"(item, index) in dyztList"
:key=
"index"
class=
"cp"
@
click=
"handleChoosedH(item.bsms, item.color)"
>
@
click=
"handleChoosedH(item.bsms, item.color)"
>
<td>
<i
class=
"fa fa-circle"
:style=
"
{ backgroundColor: item.color }"
>
</i
>
{{
item
.
name
}}
:style=
"
{ backgroundColor: item.color }">
</i>
{{
item
.
name
}}
</td>
<td>
{{
item
.
ts
}}
</td>
<td>
{{
item
.
mj
}}
</td>
...
...
@@ -90,8 +84,7 @@
v-show=
"selectedZt == 'fwxz'"
cellspacing=
"1"
cellpadding=
"1"
border=
"1"
>
border=
"1"
>
<tr>
<th>
性质
</th>
<th>
套数
</th>
...
...
@@ -101,14 +94,11 @@
v-for=
"(item, index) in fwxzList"
:key=
"index"
class=
"cp"
@
click=
"handleChoosedH(item.bsms, item.color)"
>
@
click=
"handleChoosedH(item.bsms, item.color)"
>
<td>
<i
class=
"fa fa-circle"
:style=
"
{ backgroundColor: item.color }"
>
</i
>
{{
item
.
name
}}
:style=
"
{ backgroundColor: item.color }">
</i>
{{
item
.
name
}}
</td>
<td>
{{
item
.
ts
}}
</td>
<td>
{{
item
.
mj
}}
</td>
...
...
@@ -123,8 +113,7 @@
v-show=
"selectedZt == 'fwyt'"
cellspacing=
"1"
cellpadding=
"1"
border=
"1"
>
border=
"1"
>
<tr>
<th>
用途
</th>
<th>
套数
</th>
...
...
@@ -134,14 +123,11 @@
v-for=
"(item, index) in fwytList"
:key=
"index"
class=
"cp"
@
click=
"handleChoosedH(item.bsms, item.color)"
>
@
click=
"handleChoosedH(item.bsms, item.color)"
>
<td>
<i
class=
"fa fa-circle"
:style=
"
{ backgroundColor: item.color }"
>
</i
>
{{
item
.
name
}}
:style=
"
{ backgroundColor: item.color }">
</i>
{{
item
.
name
}}
</td>
<td>
{{
item
.
ts
}}
</td>
<td>
{{
item
.
mj
}}
</td>
...
...
@@ -156,8 +142,7 @@
v-show=
"selectedZt == 'qsx'"
cellspacing=
"1"
cellpadding=
"1"
border=
"1"
>
border=
"1"
>
<tr>
<th>
数据缺失项
</th>
<th>
套数
</th>
...
...
@@ -167,14 +152,11 @@
v-for=
"(item, index) in qsxList"
:key=
"index"
class=
"cp"
@
click=
"handleChoosedH(item.bsms, item.color)"
>
@
click=
"handleChoosedH(item.bsms, item.color)"
>
<td>
<i
class=
"fa fa-circle"
:style=
"
{ backgroundColor: item.color }"
>
</i
>
{{
item
.
name
}}
:style=
"
{ backgroundColor: item.color }">
</i>
{{
item
.
name
}}
</td>
<td>
{{
item
.
ts
}}
</td>
<td>
0
</td>
...
...
@@ -192,386 +174,386 @@
</
template
>
<
script
>
import
lpbContent
from
"./lpbContent/index"
;
import
selectZrzH
from
"../ywbl/ywsq/components/selectZrzH"
;
import
{
getLpbFwytAndQlxz
,
getLpbQsxtj
,
getLpbTj
}
from
"@/api/lpcx.js"
;
export
default
{
name
:
"lpb"
,
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
import
lpbContent
from
"./lpbContent/index"
;
import
selectZrzH
from
"../ywbl/ywsq/components/selectZrzH"
;
import
{
getLpbFwytAndQlxz
,
getLpbQsxtj
,
getLpbTj
}
from
"@/api/lpcx.js"
;
export
default
{
name
:
"lpb"
,
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
},
},
},
components
:
{
lpbContent
,
selectZrzH
,
},
data
()
{
return
{
activeName
:
"first"
,
bsms
:
[],
dialogVisible
:
false
,
scyclx
:
"0"
,
//1是实测 0是预测
menuType
:
""
,
selectedZt
:
"dyzt"
,
//图例选中项,默认选中单元状态
dyztList
:
[
{
name
:
"未确权"
,
color
:
"#83AAFE"
,
ts
:
"12"
,
mj
:
"1633"
,
},
{
name
:
"已确权"
,
color
:
"#6EDEE1"
,
ts
:
"22"
,
mj
:
"3109"
,
},
{
name
:
"已备案"
,
color
:
"#8ADC88"
,
ts
:
"3"
,
mj
:
"409"
,
},
{
name
:
"预抵押"
,
color
:
"#F2AD67"
,
ts
:
"11"
,
mj
:
"1466"
,
},
{
name
:
"在建抵押"
,
color
:
"#F191C8"
,
ts
:
"13"
,
mj
:
"1792"
,
},
{
name
:
"抵押"
,
color
:
"#FF8282"
,
ts
:
"14"
,
mj
:
"13"
,
},
{
name
:
"查封"
,
color
:
"#D7CECF"
,
ts
:
"9"
,
mj
:
"1436"
,
},
{
name
:
"异议"
,
color
:
"#D4A3EB"
,
ts
:
"34"
,
mj
:
"4342"
,
},
{
name
:
"限制"
,
color
:
"#A5A3FB"
,
ts
:
"2"
,
mj
:
"285"
,
},
],
fwxzList
:
[],
fwytList
:
[],
qsxList
:
[],
legendToggleFlag
:
false
,
lpbContentHight
:
""
,
lpbContentwidth
:
""
,
time
:
""
,
dyztBsmList
:
{},
//单元状态bsmList
bjztFlag
:
true
,
qsztList
:
[],
};
},
created
()
{
window
.
addEventListener
(
"resize"
,
this
.
getHeight
);
console
.
log
(
this
.
formData
);
this
.
getHeight
();
},
mounted
()
{
//获取各项单元状态的户bsm
this
.
getDyztBsmList
();
//获取房屋用途统计数据
this
.
getLpbFwytAndQlxz
();
// 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6
setTimeout
(()
=>
{
this
.
lpbContentwidth
=
(
document
.
documentElement
.
clientWidth
||
document
.
body
.
clientWidth
)
-
340
-
34
-
6
;
},
100
);
},
methods
:
{
/* handleTabClick(event){
if(event.name=="first"){
this.$router.push({
path:"/lpb/index",
})
}else if(event.name=="second"){
this.$router.push({
path:"/ywbl/ywsq/components/selectAllHInfo",
})
}
},*/
//获取高度计算lpb内容区高度
getHeight
()
{
this
.
lpbContentHight
=
window
.
innerHeight
-
190
;
components
:
{
lpbContent
,
selectZrzH
,
},
//图例的展开收起
legendToggle
()
{
this
.
legendToggleFlag
=
!
this
.
legendToggleFlag
;
data
()
{
return
{
activeName
:
"first"
,
bsms
:
[],
dialogVisible
:
false
,
scyclx
:
"0"
,
//1是实测 0是预测
menuType
:
""
,
selectedZt
:
"dyzt"
,
//图例选中项,默认选中单元状态
dyztList
:
[
{
name
:
"未确权"
,
color
:
"#83AAFE"
,
ts
:
"12"
,
mj
:
"1633"
,
},
{
name
:
"已确权"
,
color
:
"#6EDEE1"
,
ts
:
"22"
,
mj
:
"3109"
,
},
{
name
:
"已备案"
,
color
:
"#8ADC88"
,
ts
:
"3"
,
mj
:
"409"
,
},
{
name
:
"预抵押"
,
color
:
"#F2AD67"
,
ts
:
"11"
,
mj
:
"1466"
,
},
{
name
:
"在建抵押"
,
color
:
"#F191C8"
,
ts
:
"13"
,
mj
:
"1792"
,
},
{
name
:
"抵押"
,
color
:
"#FF8282"
,
ts
:
"14"
,
mj
:
"13"
,
},
{
name
:
"查封"
,
color
:
"#D7CECF"
,
ts
:
"9"
,
mj
:
"1436"
,
},
{
name
:
"异议"
,
color
:
"#D4A3EB"
,
ts
:
"34"
,
mj
:
"4342"
,
},
{
name
:
"限制"
,
color
:
"#A5A3FB"
,
ts
:
"2"
,
mj
:
"285"
,
},
],
fwxzList
:
[],
fwytList
:
[],
qsxList
:
[],
legendToggleFlag
:
false
,
lpbContentHight
:
""
,
lpbContentwidth
:
""
,
time
:
""
,
dyztBsmList
:
{},
//单元状态bsmList
bjztFlag
:
true
,
qsztList
:
[],
};
},
//切换房屋状态
handleChoosedH
(
bsms
,
color
)
{
this
.
$refs
.
lpbContent
.
changeChoosed
(
bsms
,
color
);
created
()
{
window
.
addEventListener
(
"resize"
,
this
.
getHeight
);
console
.
log
(
this
.
formData
);
this
.
getHeight
();
},
//获取各项单元状态统计数据
getDyztBsmList
()
{
getLpbTj
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
dyztList
=
res
.
result
;
this
.
dyztList
.
splice
(
1
,
0
,
this
.
dyztList
[
8
]);
this
.
dyztList
.
pop
();
this
.
dyztList
.
forEach
((
item
)
=>
{
item
.
ts
=
item
.
bsms
.
length
;
switch
(
item
.
name
)
{
case
"Qqzt"
:
item
.
color
=
"#6EDEE1"
;
item
.
name
=
"已确权"
;
break
;
case
"Wqqzt"
:
item
.
color
=
"#83AAFE"
;
item
.
name
=
"未确权"
;
break
;
case
"Bazt"
:
item
.
color
=
"#8ADC88"
;
item
.
name
=
"已备案"
;
break
;
case
"Ydyzt"
:
item
.
color
=
"#F2AD67"
;
item
.
name
=
"预抵押"
;
break
;
case
"Zjgcdyzt"
:
item
.
color
=
"#F191C8"
;
item
.
name
=
"在建抵押"
;
break
;
case
"Dyzt"
:
item
.
color
=
"#FF8282"
;
item
.
name
=
"抵押"
;
break
;
case
"Cfzt"
:
item
.
color
=
"#D7CECF"
;
item
.
name
=
"查封"
;
break
;
case
"Yyzt"
:
item
.
color
=
"#D4A3EB"
;
item
.
name
=
"异议"
;
break
;
case
"Xzzt"
:
item
.
color
=
"#A5A3FB"
;
item
.
name
=
"限制"
;
break
;
default
:
break
;
}
});
}
});
mounted
()
{
//获取各项单元状态的户bsm
this
.
getDyztBsmList
();
//获取房屋用途统计数据
this
.
getLpbFwytAndQlxz
();
// 楼盘表绘制区域宽度计算:楼盘表区域宽度-图例宽度34-滚动条宽度6
setTimeout
(()
=>
{
this
.
lpbContentwidth
=
(
document
.
documentElement
.
clientWidth
||
document
.
body
.
clientWidth
)
-
340
-
34
-
6
;
},
100
);
},
// 获取房屋用途和房屋性质及缺失项统计数据
getLpbFwytAndQlxz
()
{
getLpbFwytAndQlxz
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
// this.fwytList = res.result
this
.
fwytList
=
res
.
result
.
fwyt
;
this
.
fwxzList
=
res
.
result
.
qlxz
;
if
(
this
.
fwytList
.
length
>
0
)
{
this
.
fwytList
.
forEach
((
item
)
=>
{
item
.
color
=
"#2591FD"
;
methods
:
{
/* handleTabClick(event){
if(event.name=="first"){
this.$router.push({
path:"/lpb/index",
})
}else if(event.name=="second"){
this.$router.push({
path:"/ywbl/ywsq/components/selectAllHInfo",
})
}
},*/
//获取高度计算lpb内容区高度
getHeight
()
{
this
.
lpbContentHight
=
window
.
innerHeight
-
190
;
},
//图例的展开收起
legendToggle
()
{
this
.
legendToggleFlag
=
!
this
.
legendToggleFlag
;
},
//切换房屋状态
handleChoosedH
(
bsms
,
color
)
{
this
.
$refs
.
lpbContent
.
changeChoosed
(
bsms
,
color
);
},
//获取各项单元状态统计数据
getDyztBsmList
()
{
getLpbTj
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
dyztList
=
res
.
result
;
this
.
dyztList
.
splice
(
1
,
0
,
this
.
dyztList
[
8
]);
this
.
dyztList
.
pop
();
this
.
dyztList
.
forEach
((
item
)
=>
{
item
.
ts
=
item
.
bsms
.
length
;
switch
(
item
.
name
)
{
case
"Qqzt"
:
item
.
color
=
"#6EDEE1"
;
item
.
name
=
"已确权"
;
break
;
case
"Wqqzt"
:
item
.
color
=
"#83AAFE"
;
item
.
name
=
"未确权"
;
break
;
case
"Bazt"
:
item
.
color
=
"#8ADC88"
;
item
.
name
=
"已备案"
;
break
;
case
"Ydyzt"
:
item
.
color
=
"#F2AD67"
;
item
.
name
=
"预抵押"
;
break
;
case
"Zjgcdyzt"
:
item
.
color
=
"#F191C8"
;
item
.
name
=
"在建抵押"
;
break
;
case
"Dyzt"
:
item
.
color
=
"#FF8282"
;
item
.
name
=
"抵押"
;
break
;
case
"Cfzt"
:
item
.
color
=
"#D7CECF"
;
item
.
name
=
"查封"
;
break
;
case
"Yyzt"
:
item
.
color
=
"#D4A3EB"
;
item
.
name
=
"异议"
;
break
;
case
"Xzzt"
:
item
.
color
=
"#A5A3FB"
;
item
.
name
=
"限制"
;
break
;
default
:
break
;
}
});
}
if
(
this
.
fwxzList
.
length
>
0
)
{
this
.
fwxzList
.
forEach
((
item
)
=>
{
item
.
color
=
"#2591FD"
;
item
.
ts
=
item
.
bsms
.
length
;
});
});
},
// 获取房屋用途和房屋性质及缺失项统计数据
getLpbFwytAndQlxz
()
{
getLpbFwytAndQlxz
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
// this.fwytList = res.result
this
.
fwytList
=
res
.
result
.
fwyt
;
this
.
fwxzList
=
res
.
result
.
qlxz
;
if
(
this
.
fwytList
.
length
>
0
)
{
this
.
fwytList
.
forEach
((
item
)
=>
{
item
.
color
=
"#2591FD"
;
item
.
ts
=
item
.
bsms
.
length
;
});
}
if
(
this
.
fwxzList
.
length
>
0
)
{
this
.
fwxzList
.
forEach
((
item
)
=>
{
item
.
color
=
"#2591FD"
;
item
.
ts
=
item
.
bsms
.
length
;
});
}
}
}
});
getLpbQsxtj
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
qsxList
=
[
{
name
:
"坐落"
,
bsms
:
res
.
result
.
zl
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
zl
.
bsms
.
length
,
},
{
name
:
"分层分户图"
,
bsms
:
res
.
result
.
fcfht
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
fcfht
.
bsms
.
length
,
},
{
name
:
"室号"
,
bsms
:
res
.
result
.
shbw
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
shbw
.
bsms
.
length
,
},
];
}
}
);
}
);
getLpbQsxtj
(
this
.
formData
.
bsm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
qsxList
=
[
{
name
:
"坐落"
,
bsms
:
res
.
result
.
zl
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
zl
.
bsms
.
length
,
}
,
{
name
:
"分层分户图"
,
bsms
:
res
.
result
.
fcfht
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
fcfht
.
bsms
.
length
,
}
,
{
name
:
"室号"
,
bsms
:
res
.
result
.
shbw
.
bsms
,
color
:
"#2591FD"
,
ts
:
res
.
result
.
shbw
.
bsms
.
length
,
}
,
];
}
}
);
}
,
},
},
computed
:
{},
destroyed
()
{
window
.
removeEventListener
(
"resize"
,
this
.
getHeight
);
},
watch
:
{
//树结构和图例伸缩时修改楼盘表主要内容区宽度
legendToggleFlag
(
n
)
{
if
(
n
)
{
this
.
lpbContentwidth
-=
204
;
}
else
{
this
.
lpbContentwidth
+=
204
;
}
computed
:
{},
destroyed
()
{
window
.
removeEventListener
(
"resize"
,
this
.
getHeight
);
},
selectedZt
(
n
)
{
this
.
legendToggleFlag
=
true
;
watch
:
{
//树结构和图例伸缩时修改楼盘表主要内容区宽度
legendToggleFlag
(
n
)
{
if
(
n
)
{
this
.
lpbContentwidth
-=
204
;
}
else
{
this
.
lpbContentwidth
+=
204
;
}
},
selectedZt
(
n
)
{
this
.
legendToggleFlag
=
true
;
},
},
},
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
table
{
border-width
:
0
;
border-collapse
:
collapse
;
border-spacing
:
0
;
}
.edit
{
height
:
100%
;
background-color
:
#f4f9ff
;
.tab-content
{
border
:
1px
solid
#dedede
;
border-left
:
0
;
background-color
:
#ffffff
;
display
:
flex
;
&::-webkit-scrollbar
{
width
:
1px
;
}
.lp-tree
{
height
:
100%
;
overflow
:
hidden
;
transition
:
0.5s
;
.treeData
{
margin-top
:
20px
;
margin-left
:
26px
;
float
:
left
;
table
{
border-width
:
0
;
border-collapse
:
collapse
;
border-spacing
:
0
;
}
.edit
{
height
:
100%
;
background-color
:
#f4f9ff
;
.tab-content
{
border
:
1px
solid
#dedede
;
border-left
:
0
;
background-color
:
#ffffff
;
display
:
flex
;
&::-webkit-scrollbar
{
width
:
1px
;
}
}
.w0
{
width
:
0
;
}
.w260
{
width
:
260px
;
}
.lp-overview
{
transition
:
0.5s
;
flex
:
1
;
border
:
1px
solid
rgb
(
236
,
236
,
236
);
border-top
:
0
;
border-bottom
:
0
;
margin-right
:
10px
;
box-sizing
:
border-box
;
}
.lp-legend
{
transition
:
0.5s
;
height
:
100%
;
font-size
:
14px
;
.handleCol
{
width
:
34px
;
float
:
right
;
.lp-tree
{
height
:
100%
;
.btn
{
cursor
:
pointer
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
background-color
:
#5a78de
;
color
:
#fff
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.dyzt
,
.fwxz
,
.fwyt
,
.qsx
{
height
:
122px
;
}
.dyzt
,
.fwxz
,
.fwyt
,
.qsx
{
cursor
:
pointer
;
border-bottom
:
1px
solid
#e6e6e6
;
border-left
:
1px
solid
#e6e6e6
;
span
{
text-align
:
center
;
height
:
100%
;
-webkit-writing-mode
:
vertical-rl
;
writing-mode
:
vertical-rl
;
line-height
:
34px
;
letter-spacing
:
2px
;
}
}
.selectedZt
{
//
background-color
:
#5A78DE
;
color
:
#3d59c4
;
overflow
:
hidden
;
transition
:
0.5s
;
.treeData
{
margin-top
:
20px
;
margin-left
:
26px
;
float
:
left
;
}
}
.legendTable-wrap
{
.w0
{
width
:
0
;
}
.w260
{
width
:
260px
;
}
.lp-overview
{
transition
:
0.5s
;
float
:
right
;
overflow
:
hidden
;
.legendTable
{
margin-top
:
-1px
;
.fa-circle
{
display
:
inline-block
;
width
:
12px
;
height
:
12px
;
border-radius
:
50%
;
vertical-align
:
middle
;
margin-right
:
4px
;
}
tr
{
flex
:
1
;
border
:
1px
solid
rgb
(
236
,
236
,
236
);
border-top
:
0
;
border-bottom
:
0
;
margin-right
:
10px
;
box-sizing
:
border-box
;
}
.lp-legend
{
transition
:
0.5s
;
height
:
100%
;
font-size
:
14px
;
.handleCol
{
width
:
34px
;
float
:
right
;
height
:
100%
;
.btn
{
cursor
:
pointer
;
height
:
40px
;
line-height
:
40px
;
border-color
:
#d8e0ea
!important
;
th
:
first-child
{
width
:
80px
;
text-align
:
center
;
background-color
:
#5a78de
;
color
:
#fff
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.dyzt
,
.fwxz
,
.fwyt
,
.qsx
{
height
:
122px
;
}
.dyzt
,
.fwxz
,
.fwyt
,
.qsx
{
cursor
:
pointer
;
border-bottom
:
1px
solid
#e6e6e6
;
border-left
:
1px
solid
#e6e6e6
;
span
{
text-align
:
center
;
height
:
100%
;
-webkit-writing-mode
:
vertical-rl
;
writing-mode
:
vertical-rl
;
line-height
:
34px
;
letter-spacing
:
2px
;
}
th
{
width
:
60px
;
height
:
40px
;
white-space
:
nowrap
;
background-color
:
#eceef2
;
}
.selectedZt
{
//
background-color
:
#5A78DE
;
color
:
#3d59c4
;
}
}
.legendTable-wrap
{
transition
:
0.5s
;
float
:
right
;
overflow
:
hidden
;
.legendTable
{
margin-top
:
-1px
;
.fa-circle
{
display
:
inline-block
;
width
:
12px
;
height
:
12px
;
border-radius
:
50%
;
vertical-align
:
middle
;
margin-right
:
4px
;
}
t
d
{
t
r
{
height
:
40px
;
text-align
:
center
;
white-space
:
nowrap
;
}
td
:first-child
{
text-align
:
left
;
text-indent
:
2px
;
line-height
:
40px
;
border-color
:
#d8e0ea
!important
;
th
:
first-child
{
width
:
80px
;
}
th
{
width
:
60px
;
height
:
40px
;
white-space
:
nowrap
;
background-color
:
#eceef2
;
}
td
{
height
:
40px
;
text-align
:
center
;
white-space
:
nowrap
;
}
td
:first-child
{
text-align
:
left
;
text-indent
:
2px
;
}
}
}
}
}
}
}
}
</
style
>
...
...
src/views/registerBook/bdcqldjml.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:51:37
-->
<
template
>
<div
class=
"bdcqldjml"
>
<table
class=
"mlTable"
>
...
...
@@ -23,51 +28,51 @@
</
template
>
<
script
>
import
{
getBdcqldjmlByBdcdyid
}
from
"@/api/djbDetail.js"
;
export
default
{
data
()
{
return
{
bdcqlml
:
[],
propsParam
:
this
.
$attrs
,
};
},
mounted
()
{
getBdcqldjmlByBdcdyid
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
bdcqlml
=
res
.
result
;
}
});
},
};
import
{
getBdcqldjmlByBdcdyid
}
from
"@/api/djbDetail.js"
;
export
default
{
data
()
{
return
{
bdcqlml
:
[],
propsParam
:
this
.
$attrs
,
};
},
mounted
()
{
getBdcqldjmlByBdcdyid
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
bdcqlml
=
res
.
result
;
}
});
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.bdcqldjml
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
overflow-y
:
scroll
;
.mlTable
{
width
:
90%
;
margin
:
0
auto
;
color
:
#333
;
border-spacing
:
1px
;
background-color
:
#333
;
.bdcqldjml
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
overflow-y
:
scroll
;
.mlTable
{
width
:
90%
;
margin
:
0
auto
;
color
:
#333
;
border-spacing
:
1px
;
background-color
:
#333
;
.title
{
font-size
:
20px
;
line-height
:
60px
;
font-family
:
serif
;
position
:
relative
;
}
.title
{
font-size
:
20px
;
line-height
:
60px
;
font-family
:
serif
;
position
:
relative
;
}
td
,
th
{
background-color
:
white
;
line-height
:
30px
;
padding
:
0
4px
;
text-align
:
center
;
td
,
th
{
background-color
:
white
;
line-height
:
30px
;
padding
:
0
4px
;
text-align
:
center
;
}
}
}
}
</
style
>
...
...
src/views/registerBook/bdcqljqtsx.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:07
-->
<
template
>
<div
class=
"bdcqljqtsx"
>
<div
class=
"content"
>
...
...
@@ -49,59 +54,59 @@
</
template
>
<
script
>
import
{
getBdcqljqtsx
}
from
"@/api/djbDetail.js"
;
export
default
{
name
:
"bdcqljqtsx"
,
data
()
{
return
{
//传递参数
propsParam
:
this
.
$attrs
,
qlxxList
:
""
,
};
},
mounted
()
{
getBdcqljqtsx
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
,
bdcdyh
:
this
.
propsParam
.
bdcdyh
,
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
qlxxList
=
res
.
result
;
}
});
},
};
import
{
getBdcqljqtsx
}
from
"@/api/djbDetail.js"
;
export
default
{
name
:
"bdcqljqtsx"
,
data
()
{
return
{
//传递参数
propsParam
:
this
.
$attrs
,
qlxxList
:
""
,
};
},
mounted
()
{
getBdcqljqtsx
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
,
bdcdyh
:
this
.
propsParam
.
bdcdyh
,
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
qlxxList
=
res
.
result
;
}
});
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.bdcqljqtsx
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
.content
{
width
:
50%
;
.bdcqljqtsx
{
width
:
100%
;
height
:
100%
;
margin
:
0
auto
;
text-align
:
right
;
color
:
#333
;
font-family
:
"Arial Negreta"
,
"Arial Normal"
,
"Arial"
,
sans-serif
;
font-weight
:
700
;
font-size
:
18px
;
line-height
:
16px
;
background
:
#fff
;
.title
{
font-size
:
32px
;
text-align
:
center
;
padding
:
40px
0
;
line-height
:
34px
;
}
.content
{
width
:
50%
;
height
:
100%
;
margin
:
0
auto
;
text-align
:
right
;
color
:
#333
;
font-family
:
"Arial Negreta"
,
"Arial Normal"
,
"Arial"
,
sans-serif
;
font-weight
:
700
;
font-size
:
18px
;
line-height
:
16px
;
.underline
{
font-size
:
14px
;
font-weight
:
normal
;
text-decoration
:
underline
;
display
:
inline-block
;
.title
{
font-size
:
32px
;
text-align
:
center
;
padding
:
40px
0
;
line-height
:
34px
;
}
.underline
{
font-size
:
14px
;
font-weight
:
normal
;
text-decoration
:
underline
;
display
:
inline-block
;
}
}
}
}
</
style
>
...
...
src/views/registerBook/cfdj.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:13
-->
<
template
>
<div
class=
"djxxTable"
>
<div
class=
"tableBox"
>
...
...
src/views/registerBook/diyaq.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:28
-->
<
template
>
<div
class=
"djxxTable"
>
<div
class=
"tableBox"
>
...
...
src/views/registerBook/diyiq.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:37
-->
<
template
>
<div
class=
"djxxTable"
>
<div
class=
"tableBox"
>
...
...
src/views/registerBook/djbFrame.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:46
-->
<
template
>
<div
class=
"content"
>
<div
class=
"left"
>
...
...
@@ -69,7 +74,7 @@
this
.
componentTag
=
(
r
)
=>
require
.
ensure
([],
()
=>
r
(
require
(
"@/views/registerBook/"
+
form
)));
},
}
,
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/registerBook/djbFrameall.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:59
-->
<
template
>
<div
class=
"content loadingtext"
>
<div
class=
"left"
>
...
...
src/views/registerBook/djbfm.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-19 09:52:42
-->
<
template
>
<div
class=
"djbfm"
>
<br
/><br
/>
...
...
@@ -33,76 +38,76 @@
</
template
>
<
script
>
import
{
getDjbfm
}
from
"@/api/djbDetail.js"
;
import
{
getDjbfm
}
from
"@/api/djbDetail.js"
;
export
default
{
data
()
{
return
{
//传递参数
propsParam
:
this
.
$attrs
,
info
:
{},
};
},
mounted
()
{
this
.
loadData
();
},
methods
:
{
loadData
()
{
getDjbfm
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
info
=
res
.
result
;
}
});
export
default
{
data
()
{
return
{
//传递参数
propsParam
:
this
.
$attrs
,
info
:
{},
};
},
},
};
mounted
()
{
this
.
loadData
();
},
methods
:
{
loadData
()
{
getDjbfm
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
info
=
res
.
result
;
}
});
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.djbfm
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
border-right
:
1px
solid
#ccc
;
line-height
:
45px
;
text-align
:
center
;
font-size
:
18px
;
font-family
:
serif
;
position
:
relative
;
.djbfm
{
width
:
100%
;
height
:
100%
;
background
:
#fff
;
border-right
:
1px
solid
#ccc
;
line-height
:
45px
;
text-align
:
center
;
font-size
:
18px
;
font-family
:
serif
;
position
:
relative
;
font
{
border-bottom
:
1px
solid
#000
;
display
:
inline-block
;
padding
:
0
15px
;
line-height
:
16px
;
}
font
{
border-bottom
:
1px
solid
#000
;
display
:
inline-block
;
padding
:
0
15px
;
line-height
:
16px
;
}
.title
{
height
:
40%
;
display
:
flex
;
font-size
:
38px
;
color
:
#000
;
justify-content
:
center
;
align-items
:
center
;
}
.title
{
height
:
40%
;
display
:
flex
;
font-size
:
38px
;
color
:
#000
;
justify-content
:
center
;
align-items
:
center
;
}
.bottom
{
position
:
absolute
;
bottom
:
0px
;
text-align
:
center
;
width
:
100%
;
left
:
0
;
height
:
100px
;
line-height
:
100px
;
.bottom
{
position
:
absolute
;
bottom
:
0px
;
text-align
:
center
;
width
:
100%
;
left
:
0
;
height
:
100px
;
line-height
:
100px
;
p
{
font-size
:
28px
;
}
p
{
font-size
:
28px
;
}
font
{
font-size
:
24px
;
line-height
:
24px
;
font
{
font-size
:
24px
;
line-height
:
24px
;
}
}
}
}
</
style
>
...
...
src/views/system/dictionaries/components/editDialog.vue
View file @
53e480d
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-1
3 16:42:1
7
* @LastEditTime: 2023-07-1
9 10:23:2
7
-->
<
template
>
<div>
...
...
@@ -69,19 +69,19 @@
},
{
prop
:
'dcode'
,
width
:
'1
0
0'
,
width
:
'1
5
0'
,
label
:
'字典项编码'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
el
-
input
placeholder
=
"字典项编码"
disabled
=
{
this
.
formData
.
isenable
==
2
}
v
-
show
=
{
scope
.
row
.
codeShow
}
v
-
fo
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onFocus
=
{()
=>
{
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
8
'
><
/el-input
>
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
20
'
><
/el-input
>
<
el
-
input
placeholder
=
"字典项编码"
disabled
=
{
this
.
formData
.
isenable
==
2
}
v
-
show
=
{
!
scope
.
row
.
codeShow
}
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onFocus
=
{()
=>
{
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
8
'
><
/el-input
>
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
20
'
><
/el-input
>
<
/div
>
)
}
...
...
@@ -106,17 +106,17 @@
{
prop
:
'normcode'
,
label
:
'部标编码'
,
width
:
'1
0
0'
,
width
:
'1
5
0'
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
el
-
input
placeholder
=
"部标编码"
disabled
=
{
this
.
formData
.
isenable
==
2
}
v
-
show
=
{
scope
.
row
.
normcodeShow
}
v
-
fo
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onFocus
=
{()
=>
{
this
.
itemShowFalse
();
scope
.
row
.
normcodeShow
=
true
;
}}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
8
'
><
/el-input
>
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
20
'
><
/el-input
>
<
el
-
input
placeholder
=
"部标编码"
disabled
=
{
this
.
formData
.
isenable
==
2
}
v
-
show
=
{
!
scope
.
row
.
normcodeShow
}
value
=
{
scope
.
row
[
scope
.
column
.
property
]}
onFocus
=
{()
=>
{
this
.
itemShowFalse
();
scope
.
row
.
normcodeShow
=
true
;
}}
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
8
'
><
/el-input
>
onInput
=
{(
val
)
=>
{
scope
.
row
[
scope
.
column
.
property
]
=
val
;
this
.
itemShowFalse
();
scope
.
row
.
codeShow
=
true
;
}}
maxlength
=
'
20
'
><
/el-input
>
<
/div
>
)
}
...
...
@@ -152,7 +152,7 @@
}
},
{
width
:
'1
3
0'
,
width
:
'1
0
0'
,
label
:
'移动'
,
render
:
(
h
,
scope
)
=>
{
return
(
...
...
@@ -164,7 +164,7 @@
}
},
{
width
:
'1
5
0'
,
width
:
'1
3
0'
,
label
:
'操作'
,
render
:
(
h
,
scope
)
=>
{
return
(
...
...
@@ -324,9 +324,16 @@
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
@import
"~@/styles/dialogBoxheader.scss"
;
/
deep
/
.el-radio-group
{
display
:
flex
;
justify-content
:
center
;
}
/
deep
/
.el-radio
{
margin-right
:
5px
!important
;
display
:
flex
;
}
/
deep
/
.el-radio__label
{
display
:
block
!important
;
}
</
style
>
...
...
Please
register
or
sign in
to post a comment