Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VueElementTemplate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
HireTest
VueElementTemplate
Commits
f8956faa
Commit
f8956faa
authored
7 years ago
by
王康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
form
parent
82cd051d
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1437 additions
and
276 deletions
+1437
-276
HmComplexForm.vue
src/views/haomo/components/forms/HmComplexForm.vue
+58
-52
index.vue
src/views/haomo/components/forms/index.vue
+1379
-224
No files found.
src/views/haomo/components/forms/HmComplexForm.vue
View file @
f8956faa
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
:label-width=
"formStyle && formStyle.formOptions && formStyle.formOptions.labelWidth || '163px'"
:label-width=
"formStyle && formStyle.formOptions && formStyle.formOptions.labelWidth || '163px'"
:model=
"formModel"
:model=
"formModel"
:rules=
"myRules"
:rules=
"myRules"
:style=
" formStyle && formStyle.formOptions && formStyle.formOptions.style ||
{width:'100%'}">
:style=
" formStyle && formStyle.formOptions && formStyle.formOptions.style ||
{width:'100%'
,border:'1px solid red'
}">
<el-form-item
v-for=
"column in showUserColumns"
<el-form-item
v-for=
"column in showUserColumns"
v-show=
"!column.hide"
v-show=
"!column.hide"
:key=
"column.id"
:key=
"column.id"
...
@@ -41,6 +41,7 @@
...
@@ -41,6 +41,7 @@
:ref=
"column.ref || ''"
:ref=
"column.ref || ''"
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
@
change=
"column.change && column.change($event, formModel)"
@
change=
"column.change && column.change($event, formModel)"
@
focus=
"column.focus && column.focus($event, formModel)"
:style=
"formStyle && formStyle.select && formStyle.select.style ||
{width: '70%'}"
:style=
"formStyle && formStyle.select && formStyle.select.style ||
{width: '70%'}"
:multiple="column.multiple"
:multiple="column.multiple"
:disabled="column.disabled"
:disabled="column.disabled"
...
@@ -84,7 +85,7 @@
...
@@ -84,7 +85,7 @@
<quill-editor
v-else-if=
"column.widgetType === 5"
<quill-editor
v-else-if=
"column.widgetType === 5"
:ref=
"column.ref || ''"
:disabled=
"column.disabled"
:ref=
"column.ref || ''"
:disabled=
"column.disabled"
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
:style=
"formStyle && formStyle.quillEditor && formStyle.quillEditor.style ||
{width:'70%'}"
:style=
"formStyle && formStyle.quillEditor && formStyle.quillEditor.style ||
{width:
'70%'}"
:options="column.options || editorOption"
:options="column.options || editorOption"
@blur="onEditorBlur($event)"
@blur="onEditorBlur($event)"
@focus="onEditorFocus($event)"
@focus="onEditorFocus($event)"
...
@@ -117,15 +118,16 @@
...
@@ -117,15 +118,16 @@
<!-- 8树形图 -->
<!-- 8树形图 -->
<!--:default-expanded-keys="[2, 3]"-->
<!--:default-expanded-keys="[2, 3]"-->
<!--:default-checked-keys="[5]"-->
<!--:default-checked-keys="[5]"-->
<div
class=
"hm-form_form_div"
@
mouseenter=
"currentTree = column.codeCamel
"
v-else-if=
"column.widgetType === 9"
:style=
"formStyle && formStyle.quillEditor && formStyle.quillEditor.style ||
{width:'70%'}
">
<div
class=
"hm-form_form_div"
@
mouseenter=
"currentTree = column.codeCamel
;treeComponent = column.ref"
v-else-if=
"column.widgetType === 9
"
>
<el-tree
:data=
"column.options"
<el-tree
:data=
"column.options"
ref=
"tree
"
:ref=
"column.ref || 'tree'
"
show-checkbox
show-checkbox
node-key=
"id"
node-key=
"id"
accordion
@
node-click=
"handleNodeChange"
@
node-click=
"handleNodeChange"
@
check-change=
"handleCheckChange"
@
check-change=
"handleCheckChange"
:default-expanded-keys=
'column.expanded'
:default-expanded-keys=
"column.expanded || []"
:default-checked-keys=
'column.checked'
:default-checked-keys=
"column.checked || []"
:props=
"defaultProps"
>
:props=
"defaultProps"
>
</el-tree>
</el-tree>
</div>
</div>
...
@@ -154,7 +156,7 @@
...
@@ -154,7 +156,7 @@
@change="column.change
&&
column.change($event,formModel)">
</el-input>
@change="column.change
&&
column.change($event,formModel)">
</el-input>
</el-form-item>
</el-form-item>
<!--按钮-->
<!--按钮-->
<el-form-item
v-if=
"buttons && buttons.length > 0"
style=
"margin-top: 40px"
>
<el-form-item
v-if=
"buttons && buttons.length > 0"
class=
"hm-form_btn"
style=
"margin-top: 40px"
>
<el-col
:span=
"24/buttons.length"
v-for=
"(btn,key) in buttons"
:key=
"key"
>
<el-col
:span=
"24/buttons.length"
v-for=
"(btn,key) in buttons"
:key=
"key"
>
<el-button
v-if=
"btn.type === 1"
<el-button
v-if=
"btn.type === 1"
type=
"primary"
type=
"primary"
...
@@ -215,7 +217,7 @@
...
@@ -215,7 +217,7 @@
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* default属性可选(复选框不支持),设置默认值,取值规范参考form/videoconferencing.vue
* default属性可选(复选框不支持),设置默认值,取值规范参考form/videoconferencing.vue
* hide属性可选,设置该表单字段是否显示,值为boolean
* hide属性可选,设置该表单字段是否显示,值为boolean
* ref属性可选,用来获取当前表单dom节点
* ref属性
树形控件必传,其他
可选,用来获取当前表单dom节点
* param属性可选,当表单类型为文件类型时,可传入param字段,值为后台规定必传参数,默认值为picture
* param属性可选,当表单类型为文件类型时,可传入param字段,值为后台规定必传参数,默认值为picture
* accept属性可选,当表单类型为文件类型时,可传入accept字段,限制限制上传文件类型,取值规范参考w3c
* accept属性可选,当表单类型为文件类型时,可传入accept字段,限制限制上传文件类型,取值规范参考w3c
* fileData属性可选,当表单类型为文件类型时,取值为all(表示返回路径+文件名),取值为filePath(表示只返回路径),取值fileName(表示只返回文件名),如果不传,默认只返回路径
* fileData属性可选,当表单类型为文件类型时,取值为all(表示返回路径+文件名),取值为filePath(表示只返回路径),取值fileName(表示只返回文件名),如果不传,默认只返回路径
...
@@ -492,7 +494,8 @@
...
@@ -492,7 +494,8 @@
// }
// }
return
{
return
{
currentFile
:
''
,
// 上传文件时当前选中的codeComel值
currentFile
:
''
,
// 上传文件时当前选中的codeComel值
currentTree
:
''
,
// 当前选中的树形菜单
currentTree
:
''
,
// 当前选中的树形菜单的codeCamel
treeComponent
:
''
,
// 当前的树形菜单组件
foreignArray
:
[],
// 批量创建或删除的多条外表数据
foreignArray
:
[],
// 批量创建或删除的多条外表数据
nativeFormModel
:
{},
// 有外表时 本表数据 从formModel中提取
nativeFormModel
:
{},
// 有外表时 本表数据 从formModel中提取
foreighId
:
''
,
// 外表id即 与本表某个id对应
foreighId
:
''
,
// 外表id即 与本表某个id对应
...
@@ -538,41 +541,34 @@
...
@@ -538,41 +541,34 @@
]
]
}
}
},
},
data2
:
[{
data2
:
[
{
id
:
1
,
id
:
1
,
label
:
'一级 1'
,
label
:
'公诉处'
,
children
:
[{
children
:
[
{
id
:
4
,
id
:
4
,
label
:
'二级 1-1'
,
label
:
'刘云山'
children
:
[{
}
id
:
9
,
]
label
:
'三级 1-1-1'
},
},
{
{
id
:
10
,
label
:
'三级 1-1-2'
}]
}]
},
{
id
:
2
,
id
:
2
,
label
:
'一级 2'
,
label
:
'监察部'
,
children
:
[{
children
:
[
id
:
5
,
{
id
:
5
,
label
:
'毛晓东'
},
label
:
'二级 2-1'
{
id
:
6
,
label
:
'方建国'
}
},
{
]
id
:
6
,
},
label
:
'二级 2-2'
{
}]
},
{
id
:
3
,
id
:
3
,
label
:
'一级 3'
,
label
:
'办公室'
,
children
:
[{
children
:
[
id
:
7
,
{
id
:
7
,
label
:
'司马南'
},
label
:
'二级 3-1'
{
id
:
8
,
label
:
'褚随山'
}
},
{
]
id
:
8
,
}
label
:
'二级 3-2'
],
}]
}],
defaultProps
:
{
defaultProps
:
{
children
:
'children'
,
children
:
'children'
,
label
:
'label'
label
:
'label'
...
@@ -699,9 +695,11 @@
...
@@ -699,9 +695,11 @@
// console.log(data, checked, indeterminate)
// console.log(data, checked, indeterminate)
const
self
=
this
const
self
=
this
console
.
log
(
'handleCheckChange函数'
)
console
.
log
(
'handleCheckChange函数'
)
console
.
log
(
this
.
$refs
.
tree
[
0
].
getCheckedNodes
(
true
))
// console.log(this.$refs.tree[0].getCheckedNodes(true))
console
.
log
(
this
.
$refs
.
tree
[
0
].
getCheckedKeys
(
true
))
console
.
log
(
'当前选择的codecamel:'
,
self
.
currentTree
)
console
.
log
(
'currentTree:'
,
self
.
currentTree
)
console
.
log
(
'当前选择的tree组件'
,
self
.
treeComponent
)
console
.
log
(
self
.
$refs
[
self
.
treeComponent
][
0
].
getCheckedKeys
(
true
))
// console.log(this.$refs.treeComponent[1].getCheckedKeys(true))
for
(
var
i
=
0
,
len
=
self
.
showUserColumns
.
length
;
i
<
len
;
i
++
)
{
for
(
var
i
=
0
,
len
=
self
.
showUserColumns
.
length
;
i
<
len
;
i
++
)
{
// && !self.showUserColumns[i].edited
// && !self.showUserColumns[i].edited
if
(
self
.
showUserColumns
[
i
].
widgetType
===
9
)
{
if
(
self
.
showUserColumns
[
i
].
widgetType
===
9
)
{
...
@@ -712,7 +710,7 @@
...
@@ -712,7 +710,7 @@
// 张家口
// 张家口
// self.formModel[key] = response.visitName + response.fileName
// self.formModel[key] = response.visitName + response.fileName
// org
// org
self
.
formModel
[
key
]
=
self
.
$refs
.
tree
[
0
].
getCheckedKeys
(
true
)
self
.
formModel
[
key
]
=
self
.
$refs
[
self
.
treeComponent
]
[
0
].
getCheckedKeys
(
true
)
break
break
}
}
}
}
...
@@ -964,7 +962,8 @@
...
@@ -964,7 +962,8 @@
init
()
{
init
()
{
const
self
=
this
const
self
=
this
if
(
self
.
columns
&&
self
.
columns
.
length
)
{
if
(
self
.
columns
&&
self
.
columns
.
length
)
{
self
.
showUserColumns
=
_
.
cloneDeep
(
self
.
columns
)
// self.showUserColumns = _.cloneDeep(self.columns)
self
.
showUserColumns
=
self
.
columns
// console.log(504, self.showUserColumns)
// console.log(504, self.showUserColumns)
// console.log(514, self.formModel)
// console.log(514, self.formModel)
// 处理传来的表单字段
// 处理传来的表单字段
...
@@ -1040,6 +1039,7 @@
...
@@ -1040,6 +1039,7 @@
type
:
'error'
type
:
'error'
})
})
}
}
self
.
isCancel
.
cancelSubmit
=
false
return
return
}
}
...
@@ -1301,7 +1301,7 @@
...
@@ -1301,7 +1301,7 @@
}
}
})
})
}
}
self
.
close
()
//
self.close()
}
else
{
}
else
{
console
.
log
(
'提交失败!!'
)
console
.
log
(
'提交失败!!'
)
self
.
$message
({
self
.
$message
({
...
@@ -1335,7 +1335,7 @@
...
@@ -1335,7 +1335,7 @@
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
()
callback
()
}
}
this
.
close
()
//
this.close()
},
},
// 取消的回调函数
// 取消的回调函数
cancel
(
callback
)
{
cancel
(
callback
)
{
...
@@ -1343,7 +1343,7 @@
...
@@ -1343,7 +1343,7 @@
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
(
self
.
formModel
)
callback
(
self
.
formModel
)
}
}
self
.
close
()
//
self.close()
},
},
close
()
{
close
()
{
this
.
$emit
(
'formVisible'
)
this
.
$emit
(
'formVisible'
)
...
@@ -1380,4 +1380,10 @@
...
@@ -1380,4 +1380,10 @@
.hm-form
.hm-form_form_div
::-webkit-scrollbar
{
.hm-form
.hm-form_form_div
::-webkit-scrollbar
{
display
:
none
;
display
:
none
;
}
}
/*.hm-form .el-tree{*/
/*border-radius: 4px;*/
/*border: 1px solid red;*/
/*height: 150px;*/
/*overflow-y: auto;*/
/*}*/
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
src/views/haomo/components/forms/index.vue
View file @
f8956faa
This diff is collapsed.
Click to expand it.
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