Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
founder_vue
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
founder_vue
Commits
747a7dff
Commit
747a7dff
authored
Mar 07, 2021
by
蔡嘉凯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
蔡嘉凯 2021_3_7
parent
e2167770
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2976 additions
and
84 deletions
+2976
-84
src/api/caseFocusOnPerson/gzryForm.js
+6
-0
src/components/myFormCommonPage.vue
+2259
-0
src/router/modules/index.js
+1
-1
src/views/caseFocusOnPerson/gzryForm.vue
+710
-83
No files found.
src/api/caseFocusOnPerson/gzryForm.js
0 → 100644
View file @
747a7dff
import
{
post
}
from
"@/utils/http"
;
import
base
from
"@/api/base"
;
//获取关联案件
export
const
getGzGlajList
=
params
=>
post
(
`
${
base
.
alyIP
}
/glaj/getGzGlajList`
,
params
);
src/components/myFormCommonPage.vue
0 → 100644
View file @
747a7dff
<
template
>
<div
id=
"formCommonPage"
>
<div
class=
"formContent"
:style=
"
{ width: autowidth }">
<div
class=
"formHeader"
>
<p
class=
"formTitle"
>
{{
headerTitle
}}
</p>
<div
class=
"divider"
></div>
</div>
<el-form
:rules=
"rules"
:selfUpdate=
"true"
ref=
"formLabelAlign"
label-position=
"right"
label-width=
"170px"
class=
"allForm"
:model=
"formLabelAlign"
>
<el-form-item
:label=
"item.name"
v-for=
"(item, index) in propFormField"
:key=
"index"
:prop=
"item.id"
v-if=
"item.isShow2"
:class=
"'item' + item.col"
:style=
"getFormStyle(item.isBlock)"
>
<!--输入框-->
<el-input
:placeholder=
"item.placeholder"
v-model=
"formLabelAlign[item.id]"
v-if=
"item.type == 'text'"
:disabled=
"item.disabled"
>
</el-input>
<div
class=
"codeTag"
v-if=
"item.type == 'codeTag'"
>
<el-select
v-model=
"formLabelAlign[item.id]"
:placeholder=
"item.placeholder"
:class=
"item.tag"
:multiple=
"item.multiple"
:disabled=
"item.disabled"
popper-class=
"zdyCodeDialog"
:popper-append-to-body=
"false"
empty-text=
"请从弹框中选择数据"
@
visible-change=
"
(val, $event) =>
showCodeTreeDialogTag(val, item, formLabelAlign, item.id)
"
clearable
>
<el-option
v-for=
"item2 in item.codeOptions"
:key=
"item2.id"
:label=
"item2.name"
:value=
"item2.id"
>
</el-option>
</el-select>
<div
class=
"selectTag"
>
<el-tag
v-for=
"tag in selectTag"
:key=
"tag.id"
closable
:type=
"tag.type"
:effect=
"tagId == tag.id ? 'dark' : 'plain'"
style=
"margin-right: 10px; margin-top: 10px; cursor: default"
@
click=
"handleTag(tag.id)"
@
close=
"closeTag(tag.id)"
>
{{
tag
.
name
}}
</el-tag>
</div>
</div>
<!--计数-->
<el-input-number
v-model=
"formLabelAlign[item.id]"
@
change=
"handleNumber"
:min=
"1"
:max=
"10"
v-else-if=
"item.type == 'number'"
:disabled=
"item.disabled"
>
</el-input-number>
<!-- 文字按钮 -->
<!--输入框-最大值与最小值-->
<div
class=
"zdyInputW zdyInputCol2"
v-else-if=
"item.type == 'zdyText'"
>
<el-input
:placeholder=
"item.placeholder"
v-model=
"formLabelAlign[item.id]"
>
</el-input>
<el-input
:placeholder=
"item.placeholder2"
v-model=
"formLabelAlign[item.id]"
style=
"width: calc((100% - 150) / 2)"
>
</el-input>
</div>
<!--文本域-->
<el-input
type=
"textarea"
autosize
:rows=
"2"
:placeholder=
"item.placeholder"
v-model=
"formLabelAlign[item.id]"
v-else-if=
"item.type == 'textarea'"
:disabled=
"item.disabled"
>
</el-input>
<!--日期框-->
<el-date-picker
v-model=
"formLabelAlign[item.id]"
type=
"daterange"
align=
"right"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
v-else-if=
"item.type == 'date'"
:disabled=
"item.disabled"
>
</el-date-picker>
<el-date-picker
v-model=
"formLabelAlign[item.id]"
:disabled=
"item.disabled"
type=
"date"
placeholder=
"选择日期"
style=
"width:100%"
v-else-if=
"item.type == 'dates'"
:class=
"item.date"
>
</el-date-picker>
<!--多选框-->
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'checkbox'"
>
<el-checkbox-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
>
<el-checkbox
v-for=
"(item2, index2) in item.checkboxData"
:label=
"item2"
:key=
"index2"
>
{{
item2
}}
</el-checkbox
>
</el-checkbox-group>
</div>
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'checkboxBotton'"
>
<el-checkbox-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
>
<el-checkbox-button
v-for=
"item2 in item.checkboxData"
:label=
"item2"
:key=
"item2"
>
{{
item2
}}
</el-checkbox-button
>
</el-checkbox-group>
</div>
<!--单选框-->
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'radio'"
>
<el-radio-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
:disabled=
"item.disabled"
>
<el-radio
:label=
"item2.value"
v-for=
"item2 in item.radioData"
:key=
"item2.value"
>
{{
item2
.
name
}}
</el-radio
>
</el-radio-group>
</div>
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'radioBotton'"
>
<el-radio-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
>
<el-radio
:label=
"item2.id"
border
v-for=
"item2 in item.radioData"
:key=
"item2.id"
style=
"margin-right: 6px"
>
{{
item2
.
name
}}
</el-radio>
</el-radio-group>
</div>
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'radios'"
>
<el-radio-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
>
<el-radio
:label=
"item2.id"
v-for=
"item2 in item.radiData"
:key=
"item2.id"
style=
"margin-right: 20px"
>
{{
item2
.
name
}}
</el-radio>
</el-radio-group>
</div>
<!--字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'code'"
>
<el-select
v-model=
"formLabelAlign[item.id]"
:placeholder=
"item.placeholder"
:class=
"item.bj"
:multiple=
"item.multiple"
@
change=
"(val) => selectChanged(val, item)"
clearable
>
<el-option
v-for=
"item2 in item.codeOptions"
:key=
"item2.id"
:label=
"item2.name"
:value=
"item2.id"
>
</el-option>
</el-select>
</div>
<!--树形弹出字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item.type == 'codeTree'"
>
<el-select
v-model=
"formLabelAlign[item.id]"
:placeholder=
"item.placeholder"
:class=
"item.bj"
:multiple=
"item.multiple"
popper-class=
"zdyCodeDialog"
:popper-append-to-body=
"false"
:disabled=
"item.disabled"
style=
"width:100%"
empty-text=
"请从弹框中选择数据"
@
visible-change=
"
(val, $event) =>
showCodeTreeDialog(val, item, formLabelAlign, item.id)
"
clearable
>
<el-option
v-for=
"item2 in item.codeOptions"
:key=
"item2.id"
:label=
"item2.name"
:value=
"item2.id"
>
</el-option>
</el-select>
</div>
<div
v-else-if=
"item.type == 'lazyCodeTree'"
:class=
"item.bj ? 'Inputbj' : ''"
>
<el-cascader
:props=
"item.props"
v-model=
"formLabelAlign[item.id]"
:placeholder=
"item.placeholder"
:show-all-levels=
"false"
>
</el-cascader>
</div>
<!--动态加载的树形字典框-->
<!--文件上传-->
<div
class=
"fj_wrap"
v-else-if=
"item.type == 'xz' && propXsfjbhList.length"
>
<div
class=
"fj_item"
v-for=
"fjitem in propXsfjbhList"
:key=
"fjitem.xxzjbh"
>
<div
class=
"fj_name"
>
<i
class=
"iconfont iconfujian-wenjian"
></i>
<span>
{{
fjitem
.
xsfjDzwjbt
}}
</span>
</div>
<div
class=
"cz"
>
<div
class=
"xz"
@
click=
"down(fjitem)"
>
下载
</div>
</div>
</div>
</div>
<el-upload
class=
"upload-demo item7"
:action=
"item.requestUrl"
:on-change=
"
(flie, fileList) =>
{
handleChange(flie, fileList, item);
}
"
:on-remove="
(flie, fileList) => {
handleRemove(flie, fileList, item);
}
"
:auto-upload="false"
:http-request="httpRequest"
:file-list="fileLists[item.fileId || item.id]"
v-model="formLabelAlign[item.id]"
v-else-if="item.type == 'file'"
>
<el-button
size=
"small"
type=
"primary"
>
选择上传
</el-button>
</el-upload>
<!--判断是否有子集-->
<div
style=
"margin-left: -140px"
v-if=
"item.children"
>
<div>
<el-form-item
:label=
"item2.name"
v-for=
"(item2, index2) in item.children"
:key=
"index2"
:prop=
"item2.id"
:class=
"'item' + item2.col"
v-show=
"item2.flag == formLabelAlign[item.id]"
>
<!--输入框-->
<el-input
:placeholder=
"item2.placeholder"
v-model=
"formLabelAlign[item2.id]"
v-if=
"item2.type == 'text'"
>
</el-input>
<!--输入框-最大值与最小值-->
<div
class=
"zdyInputW zdyInputCol2"
v-else-if=
"item2.type == 'zdyText'"
>
<el-input
:placeholder=
"item2.placeholder"
v-model=
"formLabelAlign[item.id]"
>
</el-input>
—
<el-input
:placeholder=
"item2.placeholder2"
v-model=
"formLabelAlign[item.id]"
style=
"width: calc((100% - 150) / 2)"
>
</el-input>
</div>
<!--文本域-->
<el-input
type=
"textarea"
autosize
:placeholder=
"item2.placeholder"
v-model=
"formLabelAlign[item.id]"
v-else-if=
"item2.type == 'textarea'"
>
</el-input>
<!--日期框-->
<!-- 时间框 -->
<div
v-else-if=
"item2.type == 'date'"
>
<el-date-picker
v-model=
"reakData[item2.id]"
:placeholder=
"item2.placeholder"
format=
"yyyy 年 MM 月 dd 日"
value-format=
"timestamp"
clearable
>
</el-date-picker>
</div>
<el-date-picker
v-model=
"formLabelAlign[item2.id]"
type=
"daterange"
align=
"right"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
v-else-if=
"item2.type == 'date1'"
>
</el-date-picker>
<!--多选框-->
<div
class=
"zdyInputW"
v-else-if=
"item2.type == 'checkbox'"
>
<el-checkbox-group
v-model=
"formLabelAlign[item.id]"
size=
"small"
>
<el-checkbox
v-for=
"item3 in item2.checkboxData"
:label=
"item3"
:key=
"item3"
>
{{
item3
}}
</el-checkbox
>
</el-checkbox-group>
</div>
<!--单选框-->
<div
class=
"zdyInputW"
v-else-if=
"item2.type == 'radio'"
>
<el-radio-group
v-model=
"formLabelAlign[item2.id]"
size=
"small"
>
<el-radio
:label=
"item3.id"
v-for=
"item3 in item2.radioData"
:key=
"item3.id"
>
{{
item
.
name
}}
</el-radio
>
</el-radio-group>
</div>
<!--字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item2.type == 'code'"
>
<el-select
v-model=
"formLabelAlign[item2.id]"
:placeholder=
"item2.placeholder"
:class=
"item2.bj"
:multiple=
"item2.multiple"
@
change=
"(val) => selectChanged(val, item2)"
clearable
>
<el-option
v-for=
"item3 in item2.codeOptions"
:key=
"item3.id"
:label=
"item3.name"
:value=
"item3.id"
>
</el-option>
</el-select>
</div>
<!--树形弹出字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item2.type == 'codeTree'"
>
<el-select
v-model=
"formLabelAlign[item2.id]"
:placeholder=
"item2.placeholder"
:class=
"item2.code"
popper-class=
"zdyCodeDialog"
:popper-append-to-body=
"false"
:multiple=
"item2.multiple"
:disabled=
"item2.disabled"
empty-text=
"请从弹框中选择数据"
@
visible-change=
"
(val, $event) =>
showCodeTreeDialog(val, item2, formLabelAlign, item2.id)
"
clearable
>
<el-option
v-for=
"item3 in item2.codeOptions"
:key=
"item3.id"
:label=
"item3.name"
:value=
"item3.id"
>
</el-option>
</el-select>
</div>
<div
class=
"zdyInputW"
v-else-if=
"item2.type == 'lazyCodeTree'"
:class=
"item2.bj ? 'Inputbj' : ''"
>
<el-cascader
:props=
"item2.props"
v-model=
"formLabelAlign[item2.id]"
:placeholder=
"item2.placeholder"
:show-all-levels=
"false"
>
</el-cascader>
</div>
<!--计数-->
<el-input-number
v-model=
"formLabelAlign[item2.id]"
:min=
"1"
:max=
"10"
v-else-if=
"item2.type == 'number'"
></el-input-number>
</el-form-item>
</div>
</div>
<!--判断是否有可添加得子集-->
<div
class=
"childrenAsAdd"
v-if=
"item.childrenAsAdd"
style=
"width: calc(100% + 140px); margin-left: -140px"
>
<div
v-for=
"(item2, index2) in item.childrenAsAdd"
:key=
"index2"
>
<div
v-if=
"item2.flag == formLabelAlign[item.id] || !item2.flag"
>
<div
v-for=
"(item3, ind) in item2.list"
:key=
"ind"
>
<div
v-if=
"ind == 0"
>
<div
v-for=
"(reakData, realIndex) in formLabelAlign[item2.id]"
:key=
"realIndex"
>
<span
class=
"addName"
v-if=
"item2.name"
>
{{
item2
.
name
.
substring
(
0
,
item2
.
name
.
length
-
1
)
}}{{
realIndex
+
1
}}
:
</span
>
<span
class=
"addContent"
>
<i
:class=
"'zdyicon ' + item2.iconClass"
@
click=
"deleteObj(reakData)"
v-if=
"realIndex != 0"
></i>
<el-form-item
v-for=
"item4 in item3.name"
:label=
"item4.name"
:prop=
"`$
{item2.id}[${realIndex}].${item4.id}`"
:key="item4.id"
:class="'item' + item4.col"
:rules="rules[item2.id + '.' + item4.id]"
>
<!--输入框-->
<el-input
:placeholder=
"item4.placeholder"
v-model=
"reakData[item4.id]"
v-if=
"item4.type == 'text'"
:disabled=
"item4.disabled"
>
<el-button
slot=
"append"
icon=
"el-icon-search"
v-if=
"item4.append"
@
click=
"hxShuju(reakData[item4.id], realIndex)"
></el-button>
</el-input>
<!-- 带按钮输入框 -->
<!-- 带提示输入框 -->
<div
v-else-if=
"item4.type == 'texts'"
style=
"display: flex"
>
<el-input
:placeholder=
"item4.placeholder"
v-model=
"reakData[item4.id]"
@
blur=
"
queryData(reakData[item4.id], item4, realIndex)
"
:disabled=
"item4.disabled"
style=
"width: 249px"
>
</el-input>
<div
style=
"
margin-left: 20px;
color: #fe9200;
line-hight: 40px;
"
v-if=
"
item4.type == 'texts' &&
item4.contents &&
reakData[item4.id]
"
>
<i
class=
"el-icon-info"
></i>
<span>
发现
{{
reakData
.
total
}}
条相关线索
</span>
<span
@
click=
"showData(reakData[item4.id], item4)"
style=
"
color: #222222;
margin-left: 10px;
cursor: pointer;
"
>
点击查看
</span
>
</div>
</div>
<div
class=
"zdyInputW"
v-else-if=
"item4.type == 'lazyCodeTree'"
:class=
"item4.bj ? 'Inputbj' : ''"
>
<el-cascader
:props=
"item4.props"
v-model=
"reakData[item4.id]"
:placeholder=
"item4.placeholder"
:show-all-levels=
"false"
>
</el-cascader>
</div>
<!--字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item4.type == 'code'"
>
<el-select
v-model=
"reakData[item4.id]"
:placeholder=
"item4.placeholder"
:multiple=
"item4.multiple"
clearable
:disabled=
"item4.disabled"
>
<el-option
v-for=
"item5 in item4.codeOptions"
:key=
"item5.id"
:label=
"item5.name"
:value=
"item5.id"
>
</el-option>
</el-select>
</div>
<!--树形弹出字典框-->
<div
class=
"zdyInputW"
v-else-if=
"item4.type == 'codeTree'"
>
<el-select
v-model=
"reakData[item4.id]"
:placeholder=
"item4.placeholder"
popper-class=
"zdyCodeDialog"
:popper-append-to-body=
"false"
:class=
"item4.code"
:multiple=
"item4.multiple"
:disabled=
"item4.disabled"
empty-text=
"请从弹框中选择数据"
@
visible-change=
"
(val, $event) =>
showCodeTreeDialog(
val,
item4,
reakData,
item4.id
)
"
clearable
>
<el-option
v-for=
"item5 in item4.codeOptions"
:key=
"item5.id"
:label=
"item5.name"
:value=
"item5.id"
>
</el-option>
</el-select>
</div>
<!--文本域-->
<el-input
type=
"textarea"
:placeholder=
"item4.placeholder"
v-model=
"reakData[item4.id]"
v-else-if=
"item4.type == 'textarea'"
:disabled=
"item4.disabled"
>
</el-input>
<!-- 时间框 -->
<el-date-picker
v-model=
"reakData[item4.id]"
v-else-if=
"item4.type == 'date'"
:placeholder=
"item4.placeholder"
format=
"yyyy 年 MM 月 dd 日"
value-format=
"timestamp"
clearable
>
</el-date-picker>
<!--日期框-->
<div
v-else-if=
"item4.type == 'date1'"
>
<el-date-picker
v-model=
"reakData[item4.id]"
type=
"daterange"
align=
"right"
unlink-panels
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</div>
</el-form-item>
</span>
</div>
</div>
</div>
<div
class=
"addChildBtn"
v-if=
"item2.noshow != 'xx'"
>
<el-button
type=
"primary"
v-if=
"item2.id != 'sjgzry'"
@
click=
"handelFrom(item2)"
>
<i
class=
"el-icon-plus"
v-if=
"item2.name"
></i
><span
style=
"font-size: 12px"
>
新增
{{
item2
.
name
.
slice
(
0
,
item2
.
name
.
length
-
1
)
}}
</span
>
<i
class=
"el-icon-plus"
v-if=
"!item2.name"
></i
><span
style=
"font-size: 12px"
>
新增
</span>
</el-button>
<el-button
type=
"primary"
v-else-if=
"item2.id == 'sjgzry' && item2.showme"
@
click=
"handelFrom(item2)"
>
<i
class=
"el-icon-plus"
></i
><span
style=
"font-size: 12px"
>
新增
{{
item2
.
name
.
slice
(
0
,
item2
.
name
.
length
-
1
)
}}
</span
>
</el-button>
</div>
</div>
</div>
</div>
</el-form-item>
</el-form>
<div>
<slot
name=
"tbzjfkFj"
></slot>
</div>
</div>
<!--多级或多数据下拉框弹框样式-->
<el-dialog
v-if=
"dialogCodeVisible"
:visible
.
sync=
"dialogCodeVisible"
style=
"z-index: 2020 !important;"
class=
"jyDialog"
:close-on-click-modal=
"false"
@
close=
"codeTreeConfig.props = []"
append-to-body
center
>
<div
slot=
"title"
class=
"header-title"
style=
"
text-align: left;
height: 24px;
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px;
color: #ffffff;
opacity: 1;
"
>
<div>
{{
codeTreeConfig
.
title
}}
</div>
</div>
<el-input
placeholder=
"输入关键字进行过滤"
v-model=
"filterText"
style=
"width: 96% !important"
>
</el-input>
<el-scrollbar
style=
"
height: calc(100% - 42px);
border-bottom: 1px solid #f2f2f2;
border-top: 1px solid #f2f2f2;
"
>
<el-tree
:props=
"codeTreeConfig.props"
node-key=
"id"
ref=
"codeTreeDialog"
:filter-node-method=
"filterNode"
:default-expanded-keys=
"[]"
@
check=
"codeTreeNodeCheck"
@
check-change=
"handleNodeClick"
:data=
"codeTreeConfig.props"
check-strictly
show-checkbox
style=
"min-height: 370px"
>
</el-tree>
</el-scrollbar>
<span
slot=
"footer"
class=
"dialog-footer"
style=
"margin-left: 60%"
>
<el-button
type=
"primary"
@
click=
"forSureSelectCode"
style=
"width: 120px; height: 36px"
>
确 定
</el-button
>
<el-button
@
click=
"
dialogCodeVisible = false;
codeTreeConfig.props = [];
"
style=
"width: 120px; height: 36px"
>
取 消
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
queryCodeByType
}
from
"@/api/xsInput/xsInput.js"
;
import
axios
from
"axios"
;
import
utilTool
from
"@/utils/util.js"
;
const
colNumber
=
0
;
export
default
{
name
:
"formCommonPage"
,
props
:
{
formField
:
{
type
:
Array
,
default
:
()
=>
[],
},
headerTitle
:
String
,
headerTitle2
:
String
,
formLabelAlign
:
{
type
:
Object
,
default
:
()
=>
{},
},
propWith
:
String
,
propxsTitle
:
String
,
propSt
:
String
,
propBottonType
:
String
,
autowidth
:
String
,
outstyle
:
Object
,
rule
:
{
type
:
Object
,
default
:
()
=>
{},
},
propXsfjbhList
:
{
type
:
Array
,
default
:
()
=>
[],
},
isdisabled
:
Boolean
,
isdisabledBj
:
Boolean
,
isdisabledTbzj
:
Boolean
,
isdisabledXdzl
:
Boolean
,
},
data
()
{
return
{
filterText
:
""
,
propFormField
:
this
.
formField
,
fileLists
:
{},
//var cc= {"list1":[],}
bool
:
false
,
disabled
:
false
,
disabledBj
:
false
,
selectTag
:
[],
tagId
:
""
,
search
:
""
,
tableSelect
:
[],
selectId
:
""
,
ednId
:
""
,
propCard
:
{
multiple
:
true
},
rules
:
{},
upFile
:
{},
//多级或多数据下拉框弹框样式(数据量太多时使用这种风格 普通字典还用原来的下拉框)
dialogCodeVisible
:
false
,
//树型字典配置
codeTreeConfig
:
{
//弹框标题
title
:
"案发地区划"
,
//值字段
nodeKey
:
"value"
,
//字典类型
codeType
:
"CODE_XZQH"
,
//绑定的model
realValue
:
null
,
//当前要展示的字段
fieldItem
:
null
,
//codeTree预设
props
:
[],
},
};
},
created
()
{
var
self
=
this
;
if
(
self
.
propSt
==
"zljshc"
)
{
self
.
rules
=
self
.
rule
;
}
self
.
initFields
();
},
methods
:
{
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
label
.
indexOf
(
value
)
!==
-
1
;
},
//带按钮的输入框回显
hxShuju
(
id
,
item
)
{
this
.
$emit
(
"hxShuju"
,
id
,
item
);
},
//附件下载
down
(
fjitem
)
{
var
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
fjitem
.
xxzjbh
);
var
url
=
"/api3/xsxq/xsfjxz"
;
axios
.
post
(
url
,
params
,
{
responseType
:
"arraybuffer"
,
})
.
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
fjitem
.
xsfjDzwjbt
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
},
//数据展示
showData
(
content
,
item
)
{
console
.
log
(
123
);
this
.
$emit
(
"showDatas"
,
content
,
item
);
},
//数据查询
queryData
(
content
,
item
,
index
)
{
this
.
$emit
(
"queryDatas"
,
content
,
item
,
index
);
},
getRowKeys
(
row
)
{
return
row
.
id
;
},
handleCurrentChange
(
val
)
{
this
.
formField
[
12
].
showTable
.
page
.
currentPage
=
val
;
this
.
$parent
.
$parent
.
getSelectUserList
();
},
serachUser
()
{
this
.
$emit
(
"search"
,
this
.
search
);
//子组件向父组件传值
},
handleSelectionChange
(
val
)
{
this
.
tableSelect
=
val
;
const
selectArr
=
[];
val
.
forEach
((
item
)
=>
{
selectArr
.
push
(
item
.
unitcode
);
});
this
.
ednId
=
this
.
$util
.
unique
(
selectArr
);
},
closeTag
(
id
)
{
const
index
=
this
.
formLabelAlign
.
jsdwGajgjgdm
.
findIndex
((
item
)
=>
{
return
item
.
id
==
id
;
});
// this.changeTags(id)
this
.
formLabelAlign
.
jsdwGajgjgdm
.
splice
(
index
,
1
);
},
//同步选择单位
changeLangEvent
(
id
,
name
)
{
var
obj
=
{};
obj
.
id
=
id
;
obj
.
name
=
name
;
this
.
selectTag
.
push
(
obj
);
obj
=
{};
},
//已选单位
changeTags
(
val
,
item
)
{
var
self
=
this
;
// self.selectId = val
// var obj = {}
// var selectArr = this.$refs['cascaderId'][0].getCheckedNodes()
// if (selectArr.length > 0) {
// obj.id = selectArr[selectArr.length - 1].value
// obj.name = selectArr[selectArr.length - 1].label
// self.selectTag.push(obj)
// obj = {}
// }
this
.
$emit
(
"changeTag"
,
val
[
val
.
length
-
1
]);
},
//单位选择
handleTag
(
id
)
{
debugger
;
console
.
log
(
id
);
this
.
tagId
=
id
;
this
.
$emit
(
"changeTag"
,
id
);
},
/**
* 初始化字段(包括表单验证,以及绑定数据的子集配置)
*/
initFields
()
{
var
self
=
this
;
var
ifInitRules
=
false
;
ifInitRules
=
JSON
.
stringify
(
self
.
rules
)
==
"{}"
;
for
(
var
i
=
0
;
i
<
this
.
propFormField
.
length
;
i
++
)
{
//遍历可配置化数组
if
(
ifInitRules
)
{
if
(
this
.
propFormField
[
i
].
prop
)
{
this
.
rules
[
this
.
propFormField
[
i
].
id
]
=
this
.
$rules
[
this
.
propFormField
[
i
].
prop
];
//如果有规则的话 拿到全局的规则 规则是一个数组,数组里是对象 将规则复制到所绑定的对象那个中去,然后每一项绑定对象
}
}
if
(
this
.
propFormField
[
i
].
multiple
===
true
&&
this
.
propFormField
[
i
].
type
===
"code"
)
{
//判断下拉框是否可以多选
// self.formLabelAlign[this.propFormField[i].id] = ""
self
.
$set
(
self
.
formLabelAlign
,
this
.
propFormField
[
i
].
id
,
[]);
//给self.formLabelAlign 给每个匹配到的id属性值 添加一个空数组
}
if
(
this
.
propFormField
[
i
].
type
===
"file"
)
{
//判断文件上传
// self.formLabelAlign[this.propFormField[i].id] = ""
if
(
this
.
propFormField
[
i
].
fileId
)
{
self
.
$set
(
self
.
fileLists
,
this
.
propFormField
[
i
].
fileId
,
[]);
}
else
{
self
.
$set
(
self
.
fileLists
,
this
.
propFormField
[
i
].
id
,
[]);
}
//给self.formLabelAlign 给每个匹配到的id属性值 添加一个空数组
}
if
(
this
.
propFormField
[
i
].
childrenAsAdd
)
{
//遍历可配置化列表的子集
this
.
propFormField
[
i
].
childrenAsAdd
.
forEach
((
item2
)
=>
{
self
.
$set
(
self
.
formLabelAlign
,
item2
.
id
,
[]);
//拿到id对应的值 给添加空数组
item2
.
list
.
forEach
((
val3
,
index3
)
=>
{
var
singleObject
=
{};
val3
.
name
.
forEach
((
val4
)
=>
{
if
(
val4
.
multiple
==
true
&&
val4
.
type
==
"code"
)
{
singleObject
[
val4
.
id
]
=
[];
}
else
{
singleObject
[
val4
.
id
]
=
""
;
}
var
rulesName
=
item2
.
id
+
"."
+
val4
.
id
;
if
(
ifInitRules
)
{
this
.
rules
[
rulesName
]
=
this
.
$rules
[
val4
.
prop
];
}
});
self
.
$set
(
self
.
formLabelAlign
[
item2
.
id
],
index3
,
singleObject
);
});
});
}
if
(
this
.
propFormField
[
i
].
children
)
{
//遍历可配置化列表的子集
this
.
propFormField
[
i
].
children
.
forEach
((
item2
)
=>
{
self
.
$set
(
self
.
formLabelAlign
,
item2
.
id
,
""
);
//拿到id对应的值 给添加空数组
if
(
ifInitRules
)
{
this
.
rules
[
item2
.
id
]
=
this
.
$rules
[
item2
.
prop
];
}
});
}
this
.
$forceUpdate
();
}
},
//点击垃圾桶 删除表单
deleteObj
(
obj
)
{
let
self
=
this
;
self
.
propFormField
.
forEach
((
val
)
=>
{
if
(
val
.
childrenAsAdd
)
{
val
.
childrenAsAdd
.
forEach
((
val2
)
=>
{
self
.
formLabelAlign
[
val2
.
id
].
forEach
((
val3
)
=>
{
if
(
val3
==
obj
)
{
self
.
formLabelAlign
[
val2
.
id
].
splice
(
val2
.
list
.
indexOf
(
val3
),
1
);
this
.
$message
.
success
(
"删除成功"
);
}
});
});
}
});
},
//新增表单数据
handelFrom
(
obj
)
{
let
self
=
this
,
addObj
;
var
addchildren
=
{};
self
.
propFormField
.
forEach
((
val
)
=>
{
if
(
val
.
childrenAsAdd
)
{
val
.
childrenAsAdd
.
forEach
((
val2
,
index2
)
=>
{
//遍历list数组
if
(
val2
==
obj
)
{
//通过比较两个对象是否相等 将formLabelAlign里绑定的数据复制了一份
addObj
=
JSON
.
parse
(
JSON
.
stringify
(
self
.
formLabelAlign
[
val2
.
id
][
0
])
);
//实现深拷贝赋值
for
(
var
val3
in
addObj
)
{
addObj
[
val3
]
=
""
;
}
self
.
$set
(
self
.
formLabelAlign
[
val2
.
id
],
self
.
formLabelAlign
[
val2
.
id
].
length
,
addObj
);
this
.
$message
.
success
(
"新增成功"
);
}
});
}
});
},
submit
(
bllx
)
{
var
button
=
(
document
.
getElementById
(
"caiji"
).
style
.
background
=
"#1a81e1"
);
// 当点提交按钮的时候 按钮颜色改变
// if (this.fileLists.hcbgDzwd || this.fileLists.szqzySmj) {
// if (this.fileLists.hcbgDzwd.length == 0 || this.fileLists.szqzySmj.length == 0) {
// this.$message.error("保存失败,请上传附件");
// return
// }
// }
var
self
=
this
;
this
.
$refs
.
formLabelAlign
.
validate
((
valid
)
=>
{
if
(
valid
)
{
//使用FormData构造函数创建一个空对象
var
params
=
new
FormData
();
//可以通过append()方法来追加数据
this
.
propFormField
.
forEach
((
item
)
=>
{
//1.普通字段处理
if
(
item
.
type
!==
"file"
)
{
//1.1二级字典处理
if
(
item
.
type
==
"lazyCodeTree"
)
{
if
(
item
.
isSt
&&
self
.
formLabelAlign
[
item
.
id
])
{
params
.
append
(
item
.
isSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
else
{
self
.
formLabelAlign
[
item
.
id
]
=
self
.
formLabelAlign
[
item
.
id
]
?
self
.
formLabelAlign
[
item
.
id
][
self
.
formLabelAlign
[
item
.
id
].
length
-
1
]
:
""
;
console
.
log
(
self
.
formLabelAlign
[
item
.
id
]);
//二级字典取到的是一个数组,value : ["111",''112] 拿到数组里的第二个值
if
(
self
.
formLabelAlign
[
item
.
id
])
{
//如果这个有值的话就添加到参数里
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
console
.
log
(
"2)二级字典处"
+
this
.
propSt
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
}
}
else
if
(
item
.
type
==
"date"
||
item
.
type
==
"dates"
)
{
debugger
;
//如果他的类型是date 时间框
if
(
self
.
formLabelAlign
[
item
.
id
])
{
//调用函数 拿到时间格式的字符串
var
time
=
""
;
if
(
item
.
id
!=
"fkqx"
)
{
time
=
utilTool
.
timeStampTurnTime
(
self
.
formLabelAlign
[
item
.
id
]
)
||
""
;
}
else
{
time
=
self
.
formLabelAlign
[
item
.
id
].
substring
(
0
,
10
)
||
""
;
}
if
(
self
.
formLabelAlign
[
item
.
id
])
{
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
time
);
}
}
}
else
if
(
item
.
type
==
"codeTag"
)
{
if
(
self
.
formLabelAlign
[
item
.
id
])
{
if
(
item
.
multiple
)
{
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
][
self
.
formLabelAlign
[
item
.
id
].
length
-
1
]
);
}
else
{
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
}
}
//1.2普通字段处理
else
{
if
(
self
.
formLabelAlign
[
item
.
id
])
{
console
.
log
(
self
.
formLabelAlign
[
item
.
id
]);
if
(
item
.
isSt
&&
self
.
formLabelAlign
[
item
.
id
])
{
params
.
append
(
item
.
isSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
else
if
(
item
.
radioStr
)
{
var
radioParams
=
[];
var
isHas
=
"0"
;
for
(
var
i
=
0
;
i
<
self
.
selectId
.
length
;
i
++
)
{
if
(
self
.
ednId
)
{
isHas
=
self
.
ednId
.
findIndex
((
endItem
)
=>
{
return
endItem
==
self
.
selectId
[
i
];
});
}
if
(
isHas
>=
0
)
{
radioParams
.
push
(
1
);
}
else
{
radioParams
.
push
(
0
);
}
}
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
radioParams
.
toString
()
);
}
else
{
params
.
append
(
self
.
propSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
}
console
.
log
(
"1)普通字段处"
+
this
.
propSt
+
"."
+
item
.
id
,
self
.
formLabelAlign
[
item
.
id
]
);
}
}
//2.有children表单数据处理
if
(
item
.
children
)
{
item
.
children
.
forEach
((
subItem
)
=>
{
if
(
subItem
.
type
!==
"file"
)
{
//1.1二级字典处理
if
(
subItem
.
type
==
"lazyCodeTree"
)
{
if
(
subItem
.
isSt
&&
self
.
formLabelAlign
[
subItem
.
id
])
{
params
.
append
(
subItem
.
isSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
else
{
self
.
formLabelAlign
[
subItem
.
id
]
=
self
.
formLabelAlign
[
subItem
.
id
]
?
self
.
formLabelAlign
[
subItem
.
id
][
self
.
formLabelAlign
[
subItem
.
id
].
length
-
1
]
:
""
;
console
.
log
(
self
.
formLabelAlign
[
subItem
.
id
]);
//二级字典取到的是一个数组,value : ["111",''112] 拿到数组里的第二个值
if
(
self
.
formLabelAlign
[
subItem
.
id
])
{
//如果这个有值的话就添加到参数里
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
console
.
log
(
"2)二级字典处"
+
this
.
propSt
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
}
}
else
if
(
subItem
.
type
==
"date"
||
subItem
.
type
==
"dates"
)
{
//如果他的类型是date 时间框
debugger
;
if
(
self
.
formLabelAlign
[
subItem
.
id
])
{
debugger
;
//调用函数 拿到时间格式的字符串
var
time
=
""
;
if
(
subItem
.
id
!=
"fkqx"
)
{
time
=
utilTool
.
timeStampTurnTime
(
self
.
formLabelAlign
[
subItem
.
id
]
)
||
""
;
}
else
{
time
=
self
.
formLabelAlign
[
subItem
.
id
].
substring
(
0
,
10
)
||
""
;
}
if
(
self
.
formLabelAlign
[
subItem
.
id
])
{
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
time
);
}
}
}
else
if
(
subItem
.
type
==
"codeTag"
)
{
if
(
self
.
formLabelAlign
[
subItem
.
id
])
{
if
(
subItem
.
multiple
)
{
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
][
self
.
formLabelAlign
[
subItem
.
id
].
length
-
1
]
);
}
else
{
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
}
}
//1.2普通字段处理
else
{
if
(
self
.
formLabelAlign
[
subItem
.
id
])
{
console
.
log
(
self
.
formLabelAlign
[
subItem
.
id
]);
if
(
subItem
.
isSt
&&
self
.
formLabelAlign
[
subItem
.
id
])
{
params
.
append
(
subItem
.
isSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
else
if
(
subItem
.
radioStr
)
{
var
radioParams
=
[];
var
isHas
=
"0"
;
for
(
var
i
=
0
;
i
<
self
.
selectId
.
length
;
i
++
)
{
if
(
self
.
ednId
)
{
isHas
=
self
.
ednId
.
findIndex
((
endsubItem
)
=>
{
return
endsubItem
==
self
.
selectId
[
i
];
});
}
if
(
isHas
>=
0
)
{
radioParams
.
push
(
1
);
}
else
{
radioParams
.
push
(
0
);
}
}
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
radioParams
.
toString
()
);
}
else
{
params
.
append
(
self
.
propSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
}
console
.
log
(
"1)普通字段处"
+
this
.
propSt
+
"."
+
subItem
.
id
,
self
.
formLabelAlign
[
subItem
.
id
]
);
}
}
});
}
//2.有childrenAsAdd表单数据处理
if
(
item
.
childrenAsAdd
)
{
item
.
childrenAsAdd
.
forEach
((
subItem
)
=>
{
if
(
subItem
.
flag
==
self
.
formLabelAlign
[
item
.
id
])
{
//如果遍历到的编号和所选择的编号一致
self
.
formLabelAlign
[
subItem
.
id
].
forEach
((
val5
,
index
)
=>
{
//遍历每一个数组的值
for
(
var
ite
in
val5
)
{
//数组里对象 在遍历对象
if
(
val5
[
ite
])
{
//如果有值的话
var
currentc
=
subItem
.
list
[
0
].
name
.
find
((
item
)
=>
{
return
item
.
id
==
ite
;
});
if
(
currentc
&&
currentc
.
type
==
"date"
)
{
if
(
val5
[
ite
])
{
var
time
=
utilTool
.
timeStampTurnTime
(
val5
[
ite
])
||
""
;
params
.
append
(
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
time
);
}
}
else
if
(
currentc
&&
currentc
.
type
==
"code"
&&
currentc
.
multiple
==
true
)
{
if
(
val5
[
ite
].
length
!=
0
)
{
params
.
append
(
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
val5
[
ite
]
);
}
console
.
log
(
"5)政治人员身份"
+
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
val5
[
ite
]
);
}
else
if
(
currentc
&&
currentc
.
type
==
"lazyCodeTree"
)
{
val5
[
ite
]
=
val5
[
ite
]
?
val5
[
ite
][
val5
[
ite
].
length
-
1
]
:
""
;
if
(
val5
[
ite
])
{
//如果这个有值的话就添加到参数里
params
.
append
(
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
val5
[
ite
]
);
}
}
else
{
console
.
log
(
"3)有子级表单数据处理."
+
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
val5
[
ite
]
);
params
.
append
(
subItem
.
id
+
"["
+
index
+
"]."
+
ite
,
val5
[
ite
]
);
}
}
}
});
}
});
}
});
for
(
var
i
=
0
;
i
<
self
.
tableSelect
.
length
;
i
++
)
{
// params.append("xsfj", this.tableSelect[i].raw);
self
.
propFormField
[
9
].
children
[
0
].
showTable
.
tableList
.
forEach
(
(
subItem
)
=>
{
params
.
append
(
"user"
+
"["
+
i
+
"]"
+
"."
+
subItem
.
prop
,
self
.
tableSelect
[
i
][
subItem
.
prop
]
);
}
);
}
for
(
var
fileItem
in
self
.
fileLists
)
{
for
(
var
i
=
0
;
i
<
self
.
fileLists
[
fileItem
].
length
;
i
++
)
{
if
(
self
.
fileLists
[
fileItem
][
i
].
raw
)
{
params
.
append
(
fileItem
,
self
.
fileLists
[
fileItem
][
i
].
raw
);
}
}
}
var
issubmit
=
true
;
if
(
bllx
!=
"0"
)
{
params
.
append
(
"bllx"
,
bllx
);
if
(
bllx
==
"16"
)
{
if
(
self
.
fileLists
.
hcbgDzwd
.
length
==
0
)
{
issubmit
=
false
;
self
.
$message
.
error
(
"保存失败,请填加核查报告电子文档附件"
);
}
else
if
(
self
.
fileLists
.
szqzySmj
.
length
==
0
)
{
issubmit
=
false
;
self
.
$message
.
error
(
"保存失败,请填加三长签字扫描件附件"
);
}
else
{
issubmit
=
true
;
}
}
}
if
(
issubmit
)
{
this
.
$emit
(
"submit"
,
params
);
}
}
else
{
setTimeout
(()
=>
{
this
.
$message
(
"请填写必填字段"
);
return
false
;
},
1000
);
}
});
},
handleRemove
(
file
,
fileList
,
item
)
{
if
(
item
.
fileId
)
{
this
.
fileLists
[
item
.
fileId
]
=
fileList
;
}
else
{
this
.
fileLists
[
item
.
id
]
=
fileList
;
}
},
handleChange
(
file
,
fileList
,
item
)
{
if
(
item
.
fileId
)
{
this
.
fileLists
[
item
.
fileId
].
push
(
file
);
}
else
{
this
.
fileLists
[
item
.
id
].
push
(
file
);
}
this
.
$refs
.
formLabelAlign
.
clearValidate
();
},
httpRequest
(
data
)
{
// console.log(data);
},
handleNumber
()
{},
getCodeDm
(
obj
,
type
)
{
queryCodeByType
({
type
:
type
,
})
.
then
((
res
)
=>
{
// console.log(res.rows)
obj
.
codeOptions
=
res
.
rows
;
//调用字典接口,后台返回的数组赋值给codeOptions 然后在视图上遍历展示
})
.
catch
((
err
)
=>
{
debugger
;
this
.
$message
.
error
(
"数据加载失败"
);
});
},
/**
* 下拉框值改变事件(当有子集时子集的值初始化为空)
*/
selectChanged
(
value
,
item
)
{
var
self
=
this
;
if
(
!
self
.
$route
.
meta
.
isUpdata
)
{
//如果条件为真
if
(
item
.
childrenAsAdd
)
{
//如果有这个子孩子的话,遍历每一项 将每一项的id复制给一个变量
item
.
childrenAsAdd
.
forEach
((
childrenItem
)
=>
{
var
childrenItemName
=
childrenItem
.
id
;
//拿到每个list里的name遍历数组,拿到每个值
childrenItem
.
list
[
0
].
name
.
forEach
((
singleListName
)
=>
{
//拿到所绑定的值 id值 xsglxyr:[{1."",2:"",}]
self
.
formLabelAlign
[
childrenItemName
].
forEach
((
realDataItem
)
=>
{
//如果对象里有多选且类型等于code时,给一个空数组
if
(
singleListName
.
multiple
==
true
&&
singleListName
.
type
==
"code"
)
{
self
.
$set
(
realDataItem
,
singleListName
.
id
,
[]);
}
else
if
(
singleListName
.
type
==
"lazyCodeTree"
||
singleListName
.
type
==
"codeTag"
)
{
//如果等于二级字典时 也给一个空数组,因为他们所绑定的是数组
self
.
$set
(
realDataItem
,
singleListName
.
id
,
[]);
}
else
{
//否则就是一个空字符串
self
.
$set
(
realDataItem
,
singleListName
.
id
,
""
);
}
});
});
});
}
}
},
/**
* 展示字典树弹出框
*/
showCodeTreeDialog
(
value
,
item
,
realFormLableAlign
,
realValueKey
)
{
var
self
=
this
;
if
(
value
)
{
self
.
filterText
=
""
;
self
.
codeTreeConfig
.
nodeKey
=
"value"
;
self
.
codeTreeConfig
.
codeType
=
item
.
codeTree
;
self
.
codeTreeConfig
.
codeId
=
""
;
self
.
codeTreeConfig
.
fieldItem
=
item
;
self
.
codeTreeConfig
.
realFatherValue
=
realFormLableAlign
;
self
.
codeTreeConfig
.
realrValueKey
=
realValueKey
;
//先设置一个默认空值
self
.
codeTreeConfig
.
realValue
=
realFormLableAlign
[
realValueKey
];
self
.
codeTreeConfig
.
title
=
item
.
name
.
substring
(
0
,
item
.
name
.
indexOf
(
":"
)
);
//延迟加载使弹框的z-index值在el-select之上
setTimeout
(()
=>
{
self
.
dialogCodeVisible
=
true
;
},
10
);
let
id
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"user"
)).
unitcode
;
if
(
item
.
xdzljsdw
==
"1"
&&
id
.
substring
(
2
,
12
)
!=
"0000000000"
&&
id
!=
""
)
{
//下达指令接收单位时,判断是否为省级用户,
queryCodeByType
({
type
:
"CODE_UNIT"
,
id
:
id
,
})
.
then
((
res
)
=>
{
self
.
codeTreeConfig
.
props
=
res
.
rows
;
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
}
else
{
let
Filename
=
""
,
grade
=
""
;
grade
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"user"
)).
grade
;
if
(
item
.
id
==
"hczlztdm"
)
{
Filename
=
self
.
codeTreeConfig
.
codeType
+
"_"
+
grade
;
}
else
if
(
item
.
id
==
"hczlztdm_2nd"
)
{
if
(
grade
==
"S"
)
{
Filename
=
self
.
codeTreeConfig
.
codeType
+
"_D"
;
}
else
if
(
grade
==
"D"
)
{
Filename
=
self
.
codeTreeConfig
.
codeType
+
"_X"
;
}
}
else
{
Filename
=
self
.
codeTreeConfig
.
codeType
;
}
axios
.
get
(
`JsonData/
${
Filename
}
.json`
)
.
then
((
res
)
=>
{
self
.
codeTreeConfig
.
props
=
res
.
data
.
rows
;
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
}
}
},
/**
* 展示字典树弹出框
*/
showCodeTreeDialogTag
(
value
,
item
,
realFormLableAlign
,
realValueKey
)
{
debugger
;
if
(
value
)
{
var
self
=
this
;
self
.
codeTreeConfig
.
nodeKey
=
"value"
;
self
.
codeTreeConfig
.
codeType
=
item
.
codeTree
;
self
.
codeTreeConfig
.
codeId
=
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"user"
)).
unitcode
.
substring
(
2
,
12
)
==
"0000000000"
?
""
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
"user"
)).
unitcode
;
self
.
codeTreeConfig
.
fieldItem
=
item
;
self
.
codeTreeConfig
.
realFatherValue
=
realFormLableAlign
;
self
.
codeTreeConfig
.
realrValueKey
=
realValueKey
;
//先设置一个默认空值
self
.
codeTreeConfig
.
realValue
=
realFormLableAlign
[
realValueKey
];
self
.
codeTreeConfig
.
title
=
item
.
name
.
substring
(
0
,
item
.
name
.
indexOf
(
":"
)
);
//延迟加载使弹框的z-index值在el-select之上
setTimeout
(()
=>
{
self
.
dialogCodeVisible
=
true
;
},
10
);
}
},
//获取子节点方法
loadCodeTreeNode
(
node
,
resolve
)
{
var
self
=
this
;
debugger
;
if
(
node
.
level
==
0
||
node
.
data
.
isParent
)
{
var
nodeId
=
node
.
data
?.
value
||
self
.
codeTreeConfig
.
codeId
;
queryCodeByType
({
type
:
self
.
codeTreeConfig
.
codeType
,
id
:
nodeId
,
})
.
then
((
res
)
=>
{
res
.
rows
.
forEach
((
item
)
=>
{
if
(
self
.
codeTreeConfig
.
codeType
==
"CODE_SHCE_XSLYDM"
&&
item
.
isParent
==
true
)
{
item
.
disabled
=
true
;
}
else
{
item
.
disabled
=
false
;
}
});
const
nodes
=
res
.
rows
.
map
((
item
)
=>
({
value
:
item
.
id
,
label
:
item
.
name
,
isParent
:
item
.
isParent
,
leaf
:
!
item
.
isParent
,
disabled
:
item
.
disabled
,
// leaf: level >= 2
}));
// 通过调用resolve将子节点数据返回,通知组件数据加载完成
resolve
(
nodes
);
//val.codeOptions = res.rows;
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
}
else
{
resolve
([]);
}
},
handleNodeClick
(
data
,
checked
)
{
var
self
=
this
;
if
(
!
self
.
codeTreeConfig
.
fieldItem
.
multiple
)
{
if
(
checked
===
true
)
{
self
.
codeTreeConfig
.
codeId
=
data
.
id
;
self
.
$refs
.
codeTreeDialog
.
setCheckedKeys
([
data
.
id
]);
}
else
{
if
(
self
.
codeTreeConfig
.
codeId
===
data
.
id
)
{
self
.
$refs
.
codeTreeDialog
.
setCheckedKeys
([]);
}
}
}
},
//树形字典节点点击事件(用来拦截并控制单选)
codeTreeNodeCheck
(
data
,
checked
,
node
)
{
/*var self = this;
if (!self.codeTreeConfig.fieldItem.multiple) {
this.$refs.codeTreeDialog.setCheckedNodes([data]);
}*/
},
//确定选择当前用户
forSureSelectCode
()
{
var
self
=
this
;
var
thisCodeOptions
=
[];
if
(
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
().
length
!=
0
)
{
if
(
self
.
codeTreeConfig
.
fieldItem
.
multiple
)
{
self
.
$set
(
self
.
codeTreeConfig
.
realFatherValue
,
self
.
codeTreeConfig
.
realrValueKey
,
self
.
$refs
.
codeTreeDialog
.
getCheckedKeys
()
);
var
selectedNodes
=
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
();
for
(
var
i
=
0
;
i
<
selectedNodes
.
length
;
i
++
)
{
thisCodeOptions
.
push
({
id
:
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
()[
i
].
id
,
name
:
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
()[
i
].
label
,
});
}
}
else
{
self
.
$set
(
self
.
codeTreeConfig
.
realFatherValue
,
self
.
codeTreeConfig
.
realrValueKey
,
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
()[
0
].
id
);
thisCodeOptions
.
push
({
id
:
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
()[
0
].
id
,
name
:
self
.
$refs
.
codeTreeDialog
.
getCheckedNodes
()[
0
].
label
,
});
}
self
.
codeTreeConfig
.
fieldItem
.
codeOptions
=
thisCodeOptions
;
if
(
self
.
codeTreeConfig
.
fieldItem
.
type
==
"codeTag"
)
{
self
.
changeTags
(
self
.
$refs
.
codeTreeDialog
.
getCheckedKeys
(),
self
.
codeTreeConfig
.
fieldItem
);
}
}
this
.
$emit
(
"getJsdwGajgjgdm"
,
this
.
formLabelAlign
.
jsdwGajgjgdm
);
self
.
$forceUpdate
();
self
.
dialogCodeVisible
=
false
;
self
.
codeTreeConfig
.
props
=
[];
},
getFormStyle
(
isBlock
)
{
if
(
isBlock
)
{
this
.
colNumber
=
0
;
return
{
display
:
"block"
,
"margin-left"
:
this
.
colNum
%
3
==
2
?
"20px"
:
"0"
,
};
}
else
{
this
.
colNumber
++
;
return
{
display
:
"inline-block"
,
"margin-left"
:
this
.
colNum
%
3
==
2
?
"20px"
:
"0"
,
};
}
},
},
mounted
()
{
//初始化就调用字典的接口
let
self
=
this
;
self
.
propFormField
.
forEach
((
val
)
=>
{
if
(
val
.
type
==
"code"
)
{
//一级
//遍历数组找到每一项里的下拉框调用getCodeDm函数,
self
.
getCodeDm
(
val
,
val
.
codeTree
);
}
else
if
(
val
.
type
==
"radioBotton"
||
val
.
type
==
"radios"
)
{
if
(
val
.
codeTree
)
{
queryCodeByType
({
type
:
val
.
codeTree
,
}).
then
((
res
)
=>
{
val
.
radioData
=
res
.
rows
;
});
}
}
if
(
val
.
children
)
{
//子集
val
.
children
.
forEach
((
val2
)
=>
{
if
(
val2
.
type
==
"code"
)
{
self
.
getCodeDm
(
val2
,
val2
.
codeTree
);
//遍历子集里的类型来判断下拉框,将遍历到的参数拿到给
}
else
if
(
val2
.
type
==
"codeTag"
)
{
queryCodeByType
({
type
:
val2
.
codeTree
,
})
.
then
((
res
)
=>
{
if
(
val2
.
codeOptions
.
length
==
0
)
{
val2
.
codeOptions
=
res
.
rows
.
map
((
item
)
=>
({
value
:
item
.
id
,
label
:
item
.
name
,
isParent
:
item
.
isParent
,
leaf
:
!
item
.
isParent
,
// leaf: level >= 2
}));
}
})
.
catch
((
err
)
=>
{
// console.log(err);
});
val2
.
props
=
{
lazy
:
true
,
checkStrictly
:
true
,
lazyLoad
(
node
,
resolve
)
{
if
(
node
.
data
&&
node
.
data
.
isParent
)
{
queryCodeByType
({
type
:
val2
.
codeTree
,
id
:
node
.
value
,
})
.
then
((
res
)
=>
{
const
nodes
=
res
.
rows
.
map
((
item
)
=>
({
value
:
item
.
id
,
label
:
item
.
name
,
isParent
:
item
.
isParent
,
leaf
:
!
item
.
isParent
,
}));
resolve
(
nodes
);
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
}
else
{
}
},
};
}
else
if
(
val2
.
type
==
"radioBotton"
||
val2
.
type
==
"radios"
)
{
if
(
val2
.
codeTree
)
{
queryCodeByType
({
type
:
val2
.
codeTree
,
}).
then
((
res
)
=>
{
val2
.
radioData
=
res
.
rows
;
});
}
}
});
}
if
(
val
.
childrenAsAdd
)
{
//可添加得子集
val
.
childrenAsAdd
.
forEach
((
val2
)
=>
{
val2
.
list
.
forEach
((
val3
)
=>
{
val3
.
name
.
forEach
((
val4
)
=>
{
if
(
val4
.
type
==
"code"
)
{
self
.
getCodeDm
(
val4
,
val4
.
codeTree
);
}
else
if
(
val4
.
id
==
"tbrxm"
)
{
self
.
bool
=
false
;
}
else
if
(
val4
.
type
==
"codeTag"
)
{
queryCodeByType
({
type
:
val4
.
codeTree
,
})
.
then
((
res
)
=>
{
if
(
val4
.
codeOptions
.
length
==
0
)
{
val4
.
codeOptions
=
res
.
rows
.
map
((
item
)
=>
({
value
:
item
.
id
,
label
:
item
.
name
,
isParent
:
item
.
isParent
,
leaf
:
!
item
.
isParent
,
// leaf: level >= 2
}));
}
})
.
catch
((
err
)
=>
{
// console.log(err);
});
val4
.
props
=
{
lazy
:
true
,
checkStrictly
:
true
,
lazyLoad
(
node
,
resolve
)
{
if
(
node
.
data
&&
node
.
data
.
isParent
)
{
queryCodeByType
({
type
:
val4
.
codeTree
,
id
:
node
.
value
,
})
.
then
((
res
)
=>
{
const
nodes
=
res
.
rows
.
map
((
item
)
=>
({
value
:
item
.
id
,
label
:
item
.
name
,
isParent
:
item
.
isParent
,
leaf
:
!
item
.
isParent
,
}));
resolve
(
nodes
);
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
}
else
{
}
},
};
}
});
});
});
}
});
},
watch
:
{
filterText
(
val
)
{
this
.
$refs
.
codeTreeDialog
.
filter
(
val
);
},
formLabelAlign
:
{
handler
(
newName
,
oldName
)
{
if
(
this
.
formLabelAlign
.
hasOwnProperty
(
"editing"
))
{
for
(
var
i
=
0
;
i
<
this
.
formField
.
length
;
i
++
)
{
if
(
this
.
formField
[
i
].
type
==
"file"
)
{
if
(
this
.
formField
[
i
].
fileId
)
{
this
.
fileLists
[
this
.
formField
[
i
].
fileId
]
=
this
.
formLabelAlign
[
this
.
formField
[
i
].
id
];
}
else
{
this
.
fileLists
[
this
.
formField
[
i
].
id
]
=
this
.
formLabelAlign
[
this
.
formField
[
i
].
id
];
}
}
}
}
},
deep
:
true
,
},
// rules: {
// handler: function (val) {
// this.$forceUpdate();
// },
// immediate: true,
// deep: true,
// },
},
};
</
script
>
<
style
lang=
"scss"
>
#formCommonPage
{
font-family
:
Microsoft
YaHei
;
}
.el-form-item__content
{
margin-left
:
160px
!important
;
}
.el-dialog__header
{
background
:
#1a81e1
;
}
.el-form-item__label
{
width
:
144px
!important
;
padding-right
:
0
;
font-size
:
14px
;
color
:
#666666
;
opacity
:
1
;
}
.allForm
{
.el-input
{
width
:
220px
;
}
.el-textarea
{
width
:
620px
;
.el-textarea__inner
{
height
:
72px
!important
;
}
}
.el-input__inner
{
height
:
36px
;
}
}
.el-dialog__headerbtn
.el-dialog__close
{
color
:
#fff
;
}
/*覆盖ui库得样式,在scoped里没效果*/
#formCommonPage
.el-date-editor--daterange.el-input__inner
,
#formCommonPage
,
#formCommonPage
.el-select
.el-cascader
{
line-height
:
36px
;
border-radius
:
2px
;
/* width: 90%; */
width
:
360px
;
}
#formCommonPage
.el-upload-list__item
{
width
:
auto
;
width
:
372px
;
height
:
37px
;
display
:
inline-block
;
margin-right
:
15px
;
}
#formCommonPage
.el-date-editor
.el-cascader
.el-range-input
{
background
:
#f4f6f7
;
}
#formCommonPage
.zdyInputCol2
.el-input__inner
{
width
:
100%
;
}
#formCommonPage
.el-form-item
{
/* margin: 12px 0; */
margin-top
:
8px
;
margin-bottom
:
0
!important
;
}
/* #formCommonPage .item1 {
margin: 8px 0;
} */
.el-upload-list__item
.el-icon-close
{
top
:
9px
;
right
:
13px
;
}
#formCommonPage
.el-upload-list__item
{
/* width: auto; */
display
:
inline-block
;
margin-right
:
12px
;
width
:
280px
;
height
:
40px
;
}
.el-input-number
{
width
:
150px
;
}
.el-form-item.is-error
.el-input__inner
{
border
:
1px
solid
#f2f2f2
;
}
.el-upload-list__item-name
{
line-height
:
36px
;
padding-left
:
20px
;
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#333333
;
}
#formCommonPage
.el-date-editor.el-range-editor
{
width
:
85%
;
}
.itemchildtext
.el-textarea__inner
{
background-color
:
#fff
;
width
:
520px
;
height
:
70px
!important
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
}
.itemtextarea
.el-textarea__inner
{
background
:
#f4f6f7
;
width
:
600px
;
height
:
96px
!important
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
}
.itemxsdet
.el-textarea__inner
{
background
:
#f4f6f7
;
width
:
600px
;
height
:
76px
!important
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
}
.itemhcbg
.el-textarea__inner
{
background
:
#f4f6f7
;
width
:
720px
;
height
:
96px
!important
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
}
.addContent
.el-form-item__label
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:
#666666
;
opacity
:
1
;
}
.Inputbj
.el-input--suffix
.el-input__inner
{
background-color
:
#f4f6f7
;
width
:
360px
;
width
:
100%
;
}
.iteminput
.el-input--suffix
.el-input__inner
{
background-color
:
#f4f6f7
;
width
:
320px
;
}
</
style
>
<
style
scoped
lang=
"scss"
>
$
-header-bg
:
#1a81e1
;
$
-header-height
:
60px
;
$
-header-fontSize
:
18px
;
#formCommonPage
{
width
:
100%
;
.formContent
{
margin
:
0
auto
;
width
:
1280px
;
padding-top
:
20px
;
/deep/#caiji.el-button.grey
{
background
:
#c8c9cc
!important
;
}
.formHeader
{
margin
:
0
52px
;
.formTitle
{
font-size
:
20px
;
line-height
:
26px
;
font-weight
:
bold
;
color
:
#343a3f
;
}
.divider
{
margin-top
:
12px
;
border-bottom
:
solid
1px
#d4d4d4
;
}
}
.allForm
{
margin-top
:
8px
;
margin-bottom
:
24px
;
}
.addChildBtn
{
margin
:
12px
0
0px
0
;
.el-button
{
text-align
:
left
;
text-indent
:
24px
;
background
:
rgba
(
255
,
218
,
185
,
0.2
);
border-radius
:
4px
;
color
:
#fe9200
;
border
:
none
;
width
:
929px
;
margin-left
:
140px
;
}
}
.iconfankuixuanzhong
{
margin-right
:
3px
;
}
.dormitoryData
{
margin-bottom
:
20px
;
}
.item3
{
display
:
inline-block
;
width
:
45%
;
.el-input
.el-input--suffix
{
width
:
100%
;
}
}
.item4
{
width
:
100%
;
}
.item2
,
.zdycol2
{
display
:
inline-block
;
width
:
max-content
;
}
.item5
{
width
:
45%
;
display
:
block
;
}
.item6
{
width
:
45%
;
display
:
inline-block
;
}
.item8
{
width
:
109%
;
display
:
inline-block
;
}
.item1
,
.zdycol1
{
display
:
inline-block
;
width
:
100%
;
}
.item1col2
{
display
:
inline-block
;
.el-select
{
width
:
360px
;
height
:
36px
;
}
}
#caiji
{
margin-left
:
189px
;
width
:
168px
;
height
:
48px
;
margin-top
:
28px
;
margin-bottom
:
40px
;
background
:
#1a81e1
;
border-radius
:
4px
;
}
.zdyInputW
{
width
:
100%
;
height
:
40px
;
.lazydate
{
width
:
100%
;
}
.lazysjdq
{
line-height
:
36px
;
background
:
#f4f6f7
;
border-radius
:
2px
;
/* width: 90%; */
width
:
360px
;
}
.el-cascader
{
width
:
85%
;
}
}
.zdyInputCol2
{
width
:
90%
;
.el-input
{
width
:
calc
((
100%
-
24px
)
/
2
);
}
}
.childrenAsAdd
{
.el-select
{
width
:
100%
;
}
.item2
,
.item1
{
margin
:
12px
0
;
margin-top
:
14px
;
}
.addName
{
display
:
inline-block
;
width
:
128px
;
text-align
:
right
;
vertical-align
:
top
;
font-size
:
14px
;
color
:
#fe9200
;
line-height
:
100px
;
padding
:
0
12px
0
0
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
}
.addContent
{
width
:
929px
;
display
:
inline-block
;
background
:
#fafafa
;
border-radius
:
4px
;
padding-bottom
:
24px
;
position
:
relative
;
margin-top
:
16px
;
.el-input,
.el-select,
el-date-editor
{
width
:
85%
;
}
.zdyicon
{
position
:
absolute
;
right
:
20px
;
top
:
5px
;
font-size
:
16px
;
color
:
#8c97a0
;
cursor
:
pointer
;
}
}
}
.day
{
width
:
100%
;
}
.codeTag
.tag
{
width
:
100%
;
}
}
}
.fj_wrap
{
display
:
flex
;
flex-wrap
:
wrap
;
//
width
:
calc
(
100%
-
130px
);
.fe_title
{
width
:
calc
(
100%
-
130px
);
line-height
:
40px
;
min-width
:
116px
;
}
.fj_item
{
background
:
#fcfcfd
;
width
:
400px
;
margin-right
:
20px
;
margin-top
:
10px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
height
:
40px
;
.fj_name
{
margin-left
:
20px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
cursor
:
default
;
color
:
#333
;
i
{
margin-right
:
5px
;
color
:
#ffa456
;
}
span
{
color
:
#333333
;
}
}
.cz
{
color
:
$
base-color
;
display
:
flex
;
width
:
60px
;
justify-content
:
space-between
;
&:hover
{
cursor
:
pointer
;
}
}
}
}
</
style
>
src/router/modules/index.js
View file @
747a7dff
...
...
@@ -320,7 +320,7 @@ export default [
auth
:
"5"
,
isUpdata
:
false
},
component
:
()
=>
import
(
"@/views/caseFocusOnPerson/gzry
Edit
.vue"
)
component
:
()
=>
import
(
"@/views/caseFocusOnPerson/gzry
Form
.vue"
)
},
{
path
:
"/caseStatistics"
,
...
...
src/views/caseFocusOnPerson/gzryForm.vue
View file @
747a7dff
<
template
>
<div
class=
"xsform"
v-loading=
"loading"
>
<form-commonPage
:formField=
"formField"
:headerTitle=
"headerTitle"
:formLabelAlign=
"formLabelAlign"
:rule=
"rules"
:propSt=
"st"
@
submit=
'callSubmit'
class=
"callForm"
>
<span
slot=
"button"
>
采集入库
</span>
</form-commonPage>
<div
class=
"xsform"
v-loading=
"loading"
>
<div
class=
"header"
>
<i
class=
"iconfont iconzonghedangan"
></i
><span>
{{
isAlter
?
"修改"
:
"新增"
}}
公职人员信息
</span>
<div
class=
"divider"
></div>
</div>
<div
class=
"main"
>
<form-commonPage
:formField=
"formField"
:headerTitle=
"(isAlter ? '修改' : '新增') + '公职人员信息'"
:formLabelAlign=
"formLabelAlign"
:rule=
"rules"
:propSt=
"st"
class=
"callForm"
>
</form-commonPage>
<div
class=
"relateCaseForm"
>
<div
class=
"relateTitle"
>
<p
class=
"formTitle"
>
{{
isAlter
?
"修改"
:
"添加"
}}
关联案件
</p>
<div
class=
"divider"
></div>
</div>
<div
class=
"relateHeader"
>
<span
class=
"name"
>
主犯姓名:
</span
><el-input
class=
"search"
v-model=
"nameSearch"
><template
#
append
><el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"getRelatedCase()"
>
查询
</el-button
></
template
></el-input
>
<span
class=
"tips"
>
按主犯姓名查询案件添加
</span>
</div>
<div
class=
"relateMain"
>
<el-table
class=
"tableFooter"
:data=
"relatedCaseData.rows"
>
<el-table-column
label=
"操作"
width=
"157"
>
</el-table-column>
<el-table-column
prop=
"laAjmc"
label=
"案件名称"
width=
"261"
>
</el-table-column>
<el-table-column
prop=
"xxzjbh"
label=
"案件编号"
width=
"261"
>
</el-table-column>
<el-table-column
prop=
"zztm"
label=
"组织头目"
width=
"261"
>
</el-table-column>
<el-table-column
prop=
"sjdqXzqhdm"
label=
"涉及地区"
>
</el-table-column>
</el-table>
<div
class=
"footer"
>
<div
style=
"display: inline-block;"
>
<el-select
v-model=
"row"
@
change=
"getRelatedCase()"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
<span
style=
"font-size: 12px"
>
共有{{ relatedCaseData.total }}条查询记录
</span
>
<div
class=
"right"
>
<el-pagination
@
current-change=
"getRelatedCase()"
:page-size=
"row"
:current-page
.
sync=
"curPage"
layout=
"prev, pager, next"
:total=
"relatedCaseData.total"
>
</el-pagination>
</div>
</div>
</div>
<div
class=
"relateFooter"
>
<el-button
class=
"submitBtn"
@
click=
"callSubmit(formLabelAlign)"
>
提交
</el-button
>
<el-button
class=
"saveBtn"
>
保存
</el-button>
</div>
</div>
</div>
</div>
</template>
<
script
>
import
FormCommonPage
from
"@c/
f
ormCommonPage.vue"
;
import
FormCommonPage
from
"@c/
myF
ormCommonPage.vue"
;
import
{
queryCodeByType
}
from
"@/api/xsInput/xsInput.js"
;
import
{
getGzGlajList
}
from
"@/api/caseFocusOnPerson/gzryForm.js"
;
import
{
getGzryBybh
,
updateAjGzry
}
from
"@/api/caseFocusOnPerson/gzry"
;
import
{
addGzry
}
from
"@/api/caseFocusOnPerson/gzry"
;
export
default
{
name
:
"callForm"
,
components
:
{
FormCommonPage
:
FormCommonPage
FormCommonPage
:
FormCommonPage
,
},
data
()
{
data
()
{
return
{
headerTitle
:
"公职人员录入"
,
loading
:
false
,
rules
:
{},
formLabelAlign
:
{
},
st
:
'gzry'
,
formLabelAlign
:
{},
st
:
"gzry"
,
formField
:
[
{
name
:
"涉及地区:"
,
...
...
@@ -45,6 +116,7 @@ export default {
codeTree
:
"CODE_XZQH"
,
col
:
"2"
,
bj
:
"Inputbj"
,
isBlock
:
true
,
},
{
name
:
"姓名:"
,
...
...
@@ -67,7 +139,7 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请选择性别"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"出生日期:"
,
...
...
@@ -77,20 +149,10 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请选择出生日期"
,
col
:
"2"
},
{
name
:
"证件号码:"
,
id
:
"zjhm"
,
type
:
"text"
,
value
:
""
,
isShow2
:
true
,
prop
:
"emptyAbleIdentity"
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"
证件类型
:"
,
name
:
"
常用证件
:"
,
id
:
"cyzjdm"
,
type
:
"codeTree"
,
prop
:
"checkEmpty"
,
...
...
@@ -99,9 +161,20 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请选择"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"证件号码:"
,
id
:
"zjhm"
,
type
:
"text"
,
value
:
""
,
isShow2
:
true
,
prop
:
"emptyAbleIdentity"
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"涉案成员身份:"
,
id
:
"cysfdm"
,
type
:
"codeTree"
,
...
...
@@ -111,7 +184,7 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请选择"
,
col
:
"2"
col
:
"2"
,
},
// {
// name: "涉案成员身份:",
...
...
@@ -134,27 +207,27 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"职务
名称
:"
,
name
:
"职务:"
,
id
:
"zwmc"
,
type
:
"text"
,
prop
:
"checkEmpty"
,
value
:
""
,
isShow2
:
true
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"级别
名称
:"
,
name
:
"级别:"
,
id
:
"jbmc"
,
type
:
"text"
,
value
:
""
,
isShow2
:
true
,
prop
:
"checkEmpty"
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"身份信息:"
,
...
...
@@ -177,7 +250,7 @@ export default {
value
:
""
,
isShow2
:
true
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"案件定性:"
,
...
...
@@ -247,7 +320,7 @@ export default {
bj
:
"Inputbj"
,
},
{
name
:
"纪委部门未反馈:"
,
name
:
"纪委
监察
部门未反馈:"
,
id
:
"jwbmwfkPdbz"
,
ids
:
"jwbmwfkPdbz"
,
type
:
"codeTree"
,
...
...
@@ -268,17 +341,18 @@ export default {
isShow2
:
true
,
prop
:
"checkEmpty"
,
placeholder
:
"请选择出生日期"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"犯罪事实:"
,
name
:
"
认定
犯罪事实:"
,
id
:
"fzssJyqk"
,
type
:
"text"
,
type
:
"text
area
"
,
value
:
""
,
isShow2
:
true
,
placeholder
:
"请输入"
,
prop
:
"checkEmpty"
,
col
:
"2"
col
:
"2"
,
isBlock
:
true
,
},
{
name
:
"备注:"
,
...
...
@@ -288,7 +362,7 @@ export default {
prop
:
"checkEmpty"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
col
:
"2"
,
},
{
name
:
"级别代码:"
,
...
...
@@ -359,30 +433,434 @@ export default {
codeTree
:
"CODE_SHCE_JZDM"
,
col
:
"2"
,
bj
:
"Inputbj"
,
}
}
,
],
codeData
:
[],
//线索来源字典
queryArr
:
[]
queryArr
:
[],
relatedCaseData
:
{
rows
:
[],
total
:
0
},
row
:
1
,
options
:
[
{
label
:
"每页1条"
,
value
:
1
,
},
{
label
:
"每页5条"
,
value
:
5
,
},
{
label
:
"每页10条"
,
value
:
10
,
},
{
label
:
"每页15条"
,
value
:
15
,
},
],
curPage
:
1
,
nameSearch
:
""
,
isAlter
:
false
,
};
},
created
()
{
created
()
{
this
.
initFields
();
this
.
getFormData
();
},
methods
:
{
//初始化表单
initFields
()
{
initFields
()
{
var
self
=
this
;
for
(
var
i
=
0
;
i
<
this
.
formField
.
length
;
i
++
)
{
//遍历可配置化数组
if
(
this
.
formField
[
i
].
prop
)
{
this
.
rules
[
this
.
formField
[
i
].
id
]
=
this
.
$rules
[
this
.
formField
[
i
].
prop
];
this
.
rules
[
this
.
formField
[
i
].
id
]
=
this
.
$rules
[
this
.
formField
[
i
].
prop
];
//如果有规则的话 拿到全局的规则 规则是一个数组,数组里是对象 将规则复制到所绑定的对象那个中去,然后每一项绑定对象
}
}
},
//获取关联案件
getRelatedCase
()
{
getGzGlajList
({
page
:
this
.
curPage
,
rows
:
this
.
row
,
zztm
:
this
.
nameSearch
,
}).
then
((
res
)
=>
{
this
.
relatedCaseData
=
res
.
data
;
});
},
getFormData
()
{
let
id
=
this
.
$route
.
query
.
xxzjbh
;
if
(
!
id
)
{
return
;
}
this
.
isAlter
=
true
;
var
self
=
this
;
var
entityName
=
"gzry"
;
getGzryBybh
({
xxzjbh
:
id
,
}).
then
((
res
)
=>
{
var
result
=
res
.
data
;
self
.
formField
.
forEach
((
fieldItem
)
=>
{
var
fieldVale
;
if
(
entityName
)
{
if
(
result
[
entityName
]
&&
fieldItem
.
id
)
{
fieldVale
=
result
[
entityName
][
fieldItem
.
id
];
}
else
{
fieldVale
=
result
[
fieldItem
.
id
];
}
}
if
(
fieldItem
.
multiple
===
true
&&
fieldItem
.
type
===
"code"
)
{
if
(
fieldVale
)
{
if
(
typeof
fieldVale
==
"string"
)
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
fieldVale
.
split
(
","
)
);
}
else
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
fieldVale
);
}
}
else
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[]);
}
}
else
if
(
fieldItem
.
type
==
"datearea"
)
{
if
(
entityName
)
{
if
(
result
[
entityName
])
{
if
(
result
[
entityName
][
fieldItem
.
id_1
]
&&
result
[
entityName
][
fieldItem
.
id_1
]
)
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
entityName
][
fieldItem
.
id_1
],
result
[
entityName
][
fieldItem
.
id_2
],
]);
}
else
{
if
(
result
[
entityName
][
fieldItem
.
id_1
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
entityName
][
fieldItem
.
id_1
],
null
,
]);
}
if
(
result
[
entityName
][
fieldItem
.
id_2
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
null
,
result
[
entityName
][
fieldItem
.
id_2
],
]);
}
}
}
else
{
if
(
result
[
fieldItem
.
id_1
]
&&
result
[
fieldItem
.
id_1
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
fieldItem
.
id_1
],
result
[
fieldItem
.
id_2
],
]);
}
else
{
if
(
result
[
fieldItem
.
id_1
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
fieldItem
.
id_1
],
null
,
]);
}
if
(
result
[
fieldItem
.
id_2
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
null
,
result
[
fieldItem
.
id_2
],
]);
}
}
}
}
else
{
if
(
result
[
fieldItem
.
id_1
]
&&
result
[
fieldItem
.
id_1
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
fieldItem
.
id_1
],
result
[
fieldItem
.
id_2
],
]);
}
else
{
if
(
result
[
fieldItem
.
id_1
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
result
[
fieldItem
.
id_1
],
null
,
]);
}
if
(
result
[
fieldItem
.
id_2
])
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[
null
,
result
[
fieldItem
.
id_2
],
]);
}
}
}
}
else
if
(
fieldItem
.
type
==
"file"
)
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
[]);
if
(
result
[
fieldItem
.
id
])
{
result
[
fieldItem
.
id
].
forEach
((
fileItem
,
fileIndex
)
=>
{
const
fileObj
=
{
name
:
fileItem
.
xsfjDzwjbt
,
url
:
fileItem
.
xsfjDzwjwz
,
xxzjbh
:
fileItem
.
xxzjbh
,
};
self
.
$set
(
self
.
formLabelAlign
[
fieldItem
.
id
],
fileIndex
,
fileObj
);
});
}
}
else
if
(
fieldItem
.
type
==
"checkboxBotton"
)
{
if
(
fieldVale
==
1
)
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
true
);
}
else
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
false
);
}
}
else
if
(
fieldItem
.
type
==
"lazyCodeTree"
)
{
queryCodeByType
({
type
:
fieldItem
.
codeTree
,
id
:
fieldVale
,
grade
:
"prev"
,
})
.
then
((
codRes
)
=>
{
var
codeArry
=
[];
var
realCodeResult
=
[];
for
(
var
j
=
0
;
j
<
codRes
.
data
.
length
;
j
++
)
{
var
singleRow
=
codRes
.
data
[
j
];
if
(
singleRow
.
children
)
{
codeArry
.
push
(
singleRow
.
id
);
self
.
getChildrenCode
(
codeArry
,
singleRow
);
}
}
codeArry
.
push
(
fieldVale
);
self
.
$set
(
fieldItem
,
"type"
,
"xsss"
);
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
codeArry
);
//改变类型使级联控件重新加载
setTimeout
(()
=>
{
self
.
$set
(
fieldItem
,
"type"
,
"lazyCodeTree"
);
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
codeArry
);
},
5
);
})
.
catch
((
err
)
=>
{
// console.log(err);
});
}
else
if
(
fieldItem
.
type
==
"codeTree"
)
{
axios
.
get
(
`JsonData/
${
fieldItem
.
codeTree
}
.json`
)
.
then
((
codRes
)
=>
{
let
value
=
this
.
queryTree
(
codRes
.
data
.
data
.
rows
,
fieldVale
)[
0
];
console
.
log
(
value
);
fieldItem
.
codeOptions
=
[{
id
:
fieldVale
,
name
:
value
}];
})
.
catch
((
err
)
=>
{});
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
fieldVale
);
}
else
{
self
.
$set
(
self
.
formLabelAlign
,
fieldItem
.
id
,
fieldVale
);
}
//有子集的情况
if
(
fieldItem
.
childrenAsAdd
)
{
//遍历可配置化列表的子集
fieldItem
.
childrenAsAdd
.
forEach
((
childrenIdem
)
=>
{
self
.
$set
(
self
.
formLabelAlign
,
childrenIdem
.
id
,
[]);
var
realChildrenData
=
result
[
childrenIdem
.
id
];
if
(
realChildrenData
&&
realChildrenData
.
length
>
0
)
{
realChildrenData
.
forEach
((
realChildrenItem
,
childrenIndex
)
=>
{
var
singleObject
=
{};
var
dateFields
=
[];
var
dateAreaFieldsItem
=
[];
var
lazyLoadCodeFields
=
[];
var
fileFields
=
[];
if
(
childrenIdem
.
list
&&
childrenIdem
.
list
.
length
>
0
&&
childrenIdem
.
list
[
0
].
name
)
{
dateFields
=
childrenIdem
.
list
[
0
].
name
.
filter
(
(
fieldItem
)
=>
{
return
fieldItem
.
type
==
"dates"
;
}
);
dateFields
=
dateFields
.
map
((
fieldItem
)
=>
{
return
fieldItem
.
id
;
});
dateAreaFieldsItem
=
childrenIdem
.
list
[
0
].
name
.
filter
(
(
fieldItem
)
=>
{
return
fieldItem
.
type
==
"datearea"
;
}
);
lazyLoadCodeFields
=
childrenIdem
.
list
[
0
].
name
.
filter
(
(
fieldItem
)
=>
{
return
fieldItem
.
type
==
"lazyCodeTree"
;
}
);
lazyLoadCodeFields
=
dateFields
.
map
((
fieldItem
)
=>
{
return
fieldItem
.
id
;
});
fileFields
=
childrenIdem
.
list
[
0
].
name
.
filter
(
(
fieldItem
)
=>
{
return
fieldItem
.
type
==
"file"
;
}
);
fileFields
=
fileFields
.
map
((
fieldItem
)
=>
{
return
fieldItem
.
id
;
});
}
for
(
var
key
in
realChildrenItem
)
{
if
(
dateFields
.
indexOf
(
key
)
>=
0
)
{
//过滤时间
if
(
realChildrenItem
[
key
])
{
//singleObject[key] = realChildrenItem[key]
singleObject
[
key
]
=
new
Date
(
realChildrenItem
[
key
]);
}
else
{
singleObject
[
key
]
=
""
;
}
}
else
if
(
lazyLoadCodeFields
.
indexOf
(
key
)
>=
0
)
{
}
else
if
(
fileFields
.
indexOf
(
key
)
>=
0
)
{
// singleObject[key] = realChildrenItem[key]
if
(
key
==
"flwsfj"
&&
realChildrenItem
[
"flwsHx"
])
{
singleObject
[
key
]
=
[];
realChildrenItem
[
"flwsHx"
].
forEach
(
(
realFileItem
,
realFileIndex
)
=>
{
const
fileObj
=
{
name
:
realFileItem
.
flwsDzwjbt
,
url
:
realFileItem
.
flwsDzwjwz
,
xxzjbh
:
realFileItem
.
xxzjbh
,
};
singleObject
[
key
].
push
(
fileObj
);
}
);
}
else
{
singleObject
[
key
]
=
[];
}
}
else
{
singleObject
[
key
]
=
realChildrenItem
[
key
];
}
}
debugger
;
dateAreaFieldsItem
.
forEach
((
dateAreaItem
)
=>
{
singleObject
[
dateAreaItem
.
id
]
=
[];
if
(
dateAreaItem
.
id_1
&&
realChildrenItem
[
dateAreaItem
.
id_1
]
)
{
singleObject
[
dateAreaItem
.
id
][
0
]
=
new
Date
(
realChildrenItem
[
dateAreaItem
.
id_1
]
);
}
if
(
dateAreaItem
.
id_2
&&
realChildrenItem
[
dateAreaItem
.
id_2
]
)
{
singleObject
[
dateAreaItem
.
id
][
1
]
=
new
Date
(
realChildrenItem
[
dateAreaItem
.
id_2
]
);
}
});
childrenIdem
.
list
[
0
].
name
.
forEach
((
currentField
)
=>
{
if
(
currentField
.
type
==
"lazyCodeTree"
)
{
queryCodeByType
({
type
:
currentField
.
codeTree
,
id
:
realChildrenItem
[
currentField
.
id
],
grade
:
"prev"
,
})
.
then
((
codRes
)
=>
{
var
codeArry
=
[];
var
realCodeResult
=
[];
for
(
var
j
=
0
;
j
<
codRes
.
data
.
length
;
j
++
)
{
var
singleRow
=
codRes
.
data
[
j
];
if
(
singleRow
.
children
)
{
codeArry
.
push
(
singleRow
.
id
);
self
.
getChildrenCode
(
codeArry
,
singleRow
);
}
}
codeArry
.
push
(
realChildrenItem
[
currentField
.
id
]);
self
.
$set
(
self
.
formLabelAlign
[
childrenIdem
.
id
][
childrenIndex
],
currentField
.
id
,
codeArry
);
//改变类型使级联控件重新加载
self
.
$set
(
currentField
,
"type"
,
"lazyCodeTree2"
);
setTimeout
(()
=>
{
self
.
$set
(
currentField
,
"type"
,
"lazyCodeTree"
);
self
.
$set
(
self
.
formLabelAlign
[
childrenIdem
.
id
][
childrenIndex
],
currentField
.
id
,
codeArry
);
},
5
);
})
.
catch
((
err
)
=>
{
// console.log(err);
});
}
else
if
(
currentField
.
type
==
"codeTree"
)
{
axios
.
get
(
`JsonData/
${
currentField
.
codeTree
}
.json`
)
.
then
((
codRes
)
=>
{
let
value
=
this
.
queryTree
(
codRes
.
data
.
data
.
rows
,
realChildrenItem
[
currentField
.
id
]
)[
0
];
currentField
.
codeOptions
=
[
{
id
:
realChildrenItem
[
currentField
.
id
],
name
:
value
,
},
];
})
.
catch
((
err
)
=>
{});
self
.
$set
(
self
.
formLabelAlign
,
currentField
.
id
,
realChildrenItem
[
currentField
.
id
]
);
}
});
singleObject
=
$
.
extend
(
true
,
singleObject
,
self
.
formLabelAlign
[
childrenIdem
.
id
][
childrenIndex
]
);
self
.
$set
(
self
.
formLabelAlign
[
childrenIdem
.
id
],
childrenIndex
,
singleObject
);
});
}
else
{
var
singleObject
=
{};
childrenIdem
.
list
[
0
].
name
.
forEach
((
val4
)
=>
{
if
(
(
val4
.
multiple
==
true
&&
val4
.
type
==
"code"
)
||
val4
.
type
==
"lazyCodeTree"
)
{
singleObject
[
val4
.
id
]
=
[];
}
else
{
singleObject
[
val4
.
id
]
=
""
;
}
});
self
.
$set
(
self
.
formLabelAlign
[
childrenIdem
.
id
],
0
,
singleObject
);
}
});
}
self
.
$forceUpdate
();
});
self
.
$forceUpdate
();
setTimeout
(()
=>
{
self
.
loading
=
false
;
},
1000
);
});
},
// 搜索树状数据中的 ID
queryTree
(
tree
,
id
)
{
const
tmp
=
[]
// 路径数组
queryTree
(
tree
,
id
)
{
const
tmp
=
[]
;
// 路径数组
const
FindPos
=
(
sourceTree
,
sourceId
)
=>
{
if
(
sourceTree
.
id
==
sourceId
)
{
tmp
.
push
(
sourceTree
.
label
);
...
...
@@ -390,39 +868,40 @@ export default {
}
else
{
if
(
sourceTree
.
children
&&
sourceTree
.
children
.
length
!=
0
)
{
sourceTree
.
children
.
forEach
((
item
)
=>
{
if
(
item
.
id
===
sourceId
)
{
// 寻找到指定的元素节点
if
(
item
.
id
===
sourceId
)
{
// 寻找到指定的元素节点
tmp
.
push
(
item
.
label
);
FindPos
(
tree
,
sourceTree
.
id
)
// 继续寻找上层元素的位置
}
else
{
// 当前继续寻找别的子项
FindPos
(
item
,
sourceId
)
FindPos
(
tree
,
sourceTree
.
id
);
// 继续寻找上层元素的位置
}
else
{
// 当前继续寻找别的子项
FindPos
(
item
,
sourceId
);
}
})
})
;
}
}
}
};
tree
.
forEach
((
item2
)
=>
{
FindPos
(
item2
,
id
);
})
return
tmp
.
reverse
()
})
;
return
tmp
.
reverse
()
;
},
//提交
callSubmit
(
params
)
{
addGzry
(
params
).
then
(
res
=>
{
callSubmit
(
params
)
{
addGzry
(
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"保存成功"
);
window
.
opener
.
location
.
reload
();
window
.
close
()
this
.
$router
.
push
({
path
:
'/gzryQuery'
,
})
window
.
close
()
;
this
.
$router
.
push
({
path
:
"/gzryQuery"
});
}
else
{
this
.
$message
.
error
(
"保存失败"
);
}
})
})
;
},
/**
* 获取子字典数据
*/
getChildrenNode
(
singleRo
,
fieldVale
)
{
* 获取子字典数据
*/
getChildrenNode
(
singleRo
,
fieldVale
)
{
var
self
=
this
;
var
resultItem
=
null
;
singleRo
.
children
.
forEach
((
childrenItem
)
=>
{
...
...
@@ -430,15 +909,15 @@ export default {
resultItem
=
childrenItem
;
}
if
(
childrenItem
.
children
&&
childrenItem
.
children
.
length
>
0
)
{
resultItem
=
self
.
getChildrenNode
(
childrenItem
,
fieldVale
)
resultItem
=
self
.
getChildrenNode
(
childrenItem
,
fieldVale
)
;
}
});
return
resultItem
return
resultItem
;
},
/**
* 获取子字典数据
*/
getChildrenCode
(
codeArry
,
singleRo
)
{
* 获取子字典数据
*/
getChildrenCode
(
codeArry
,
singleRo
)
{
var
self
=
this
;
singleRo
.
children
.
forEach
((
childrenItem
)
=>
{
if
(
childrenItem
.
children
)
{
...
...
@@ -447,15 +926,14 @@ export default {
}
});
},
},
watch
:
{
'formLabelAlign.sfdm'
:
{
handler
(
newName
,
oldName
)
{
"formLabelAlign.sfdm"
:
{
handler
(
newName
,
oldName
)
{
var
self
=
this
;
debugger
if
(
newName
==
'0102'
)
{
debugger
debugger
;
if
(
newName
==
"0102"
)
{
debugger
;
self
.
formField
[
21
].
isShow2
=
true
;
self
.
formField
[
22
].
isShow2
=
true
;
self
.
formField
[
23
].
isShow2
=
true
;
...
...
@@ -474,11 +952,11 @@ export default {
// deep: true,
// immediate: true
},
}
}
,
};
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
>
.xsform
{
height
:
100%
;
padding-top
:
72px
;
...
...
@@ -487,5 +965,154 @@ export default {
background-attachment
:
scroll
;
max-height
:
calc
(
100vh
-
100px
);
overflow-y
:
scroll
;
.header
{
background
:
#0070f4
;
line-height
:
56px
;
color
:
#fff
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
position
:
fixed
;
top
:
0
;
width
:
100%
;
z-index
:
99
;
i
{
margin-left
:
120px
;
font-size
:
24px
;
}
span
{
margin-left
:
16px
;
font-size
:
20px
;
}
}
.main
{
width
:
1280px
;
margin
:
0
auto
;
border-radius
:
8px
;
background-color
:
#ffffff
;
.relateCaseForm
{
margin
:
0
52px
;
padding
:
16px
0
36px
0
;
overflow
:
hidden
;
.relateTitle
{
.formTitle
{
font-size
:
20px
;
line-height
:
26px
;
font-weight
:
bold
;
color
:
#343a3f
;
}
.divider
{
margin-top
:
12px
;
border-bottom
:
solid
1px
#d4d4d4
;
}
}
.relateHeader
{
line-height
:
40px
;
margin-top
:
16px
;
.name
{
margin-left
:
33px
;
font-size
:
14px
;
color
:
#222222
;
}
.search
{
margin-left
:
16px
;
width
:
max-content
;
.el-input__inner
{
width
:
260px
;
height
:
40px
;
}
.el-button
{
width
:
96px
;
height
:
40px
;
background
:
#0081fc
;
border-color
:
#0081fc
;
color
:
#ffffff
;
}
}
.tips
{
margin-left
:
36px
;
font-size
:
14px
;
color
:
#ffac38
;
}
}
.relateMain
{
border
:
1px
solid
#e6e6e6
;
margin-top
:
24px
;
.el-table
th
{
padding
:
0
!important
;
background-color
:
#f2f2f2
;
color
:
#333333
;
font-weight
:
bold
;
.cell
{
padding
:
0
0
0
20px
;
}
}
.el-table
td
,
.el-table
th
{
height
:
48px
;
padding
:
2px
;
border-right
:
none
;
}
.footer
{
width
:
1175px
;
height
:
48px
;
margin
:
0px
auto
;
//
border
:
1px
solid
#e6e6e6
;
//
border-top
:
none
;
}
.footer
.el-select
{
width
:
104px
;
margin
:
10px
24px
10px
20px
;
}
.footer
.el-select
.el-input__inner
{
height
:
28px
;
}
.footer
.el-select
.el-input
.el-select__caret
{
line-height
:
28px
;
}
.footer
.right
{
float
:
right
;
margin
:
11px
14px
11px
0px
;
}
.footer
.el-pagination
button
{
min-width
:
20px
!important
;
height
:
20px
;
text-align
:
center
;
background-color
:
#f1f3f6
;
}
.footer
.el-pagination
.btn-next
,
.el-pagination
.btn-prev
{
margin
:
3px
7px
;
padding
:
0px
;
}
}
.relateFooter
{
margin-top
:
16px
;
.el-button
{
width
:
150px
;
height
:
40px
;
float
:
right
;
margin
:
0
10px
;
}
.saveBtn
{
background-color
:
#fe9200
;
font-size
:
15px
;
color
:
#ffffff
;
}
.submitBtn
{
background-color
:
#0070f4
;
font-size
:
15px
;
color
:
#ffffff
;
}
}
}
}
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment