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
黄瑜
VueElementTemplate
Commits
dff3abd8
Commit
dff3abd8
authored
7 years ago
by
王康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
form
parent
3e415d21
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
171 additions
and
73 deletions
+171
-73
HmComplexForm.vue
src/views/haomo/components/forms/HmComplexForm.vue
+171
-73
No files found.
src/views/haomo/components/forms/HmComplexForm.vue
View file @
dff3abd8
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
element-loading-text=
"加载中"
element-loading-text=
"加载中"
: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=
"
rules ||
myRules"
:style=
" formStyle && formStyle.formOptions && formStyle.formOptions.style ||
{width:'100%'}">
:style=
" formStyle && formStyle.formOptions && formStyle.formOptions.style ||
{width:'100%'}">
<el-form-item
v-for=
"column in showUserColumns"
<el-form-item
v-for=
"column in showUserColumns"
v-show=
"!column.hide"
v-show=
"!column.hide"
...
@@ -27,6 +27,7 @@
...
@@ -27,6 +27,7 @@
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
:style=
"formStyle && formStyle.datePicker && formStyle.datePicker.style ||
{width: '70%'}"
:style=
"formStyle && formStyle.datePicker && formStyle.datePicker.style ||
{width: '70%'}"
:ref="column.ref || ''"
:ref="column.ref || ''"
:placeholder="column.placeholder || ''"
:readonly="column.readonly"
:readonly="column.readonly"
:type="column.dateType || 'date'"
:type="column.dateType || 'date'"
align="right" :disabled="column.disabled"
align="right" :disabled="column.disabled"
...
@@ -106,12 +107,14 @@
...
@@ -106,12 +107,14 @@
:name=
"column.param || 'picture'"
:name=
"column.param || 'picture'"
:action=
"column.url || '/api/upload'"
:action=
"column.url || '/api/upload'"
:on-remove=
"handleRemove"
:on-remove=
"handleRemove"
class=
"a"
:limit=
"column.limit || 3"
:limit=
"column.limit || 3"
:on-change=
"column.change || handleChange"
:on-change=
"column.change || handleChange"
:file-list=
"fileList"
:file-list=
"
column.
fileList"
ref=
"upload"
ref=
"upload"
:on-success=
"uploadSuccess"
>
:before-upload=
"column.beforeUpload || beforeUpload"
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
@
click=
"currentFile = column.codeCamel"
:on-success=
"(res, file, fileList)=>
{ return uploadSuccess(res, file, fileList, column.codeCamel, column.fileData)}">
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
class=
"b"
:disabled=
"column.disabled"
>
选取文件
</el-button>
:disabled=
"column.disabled"
>
选取文件
</el-button>
</el-upload>
</el-upload>
<!-- 8树形图 -->
<!-- 8树形图 -->
...
@@ -120,12 +123,13 @@
...
@@ -120,12 +123,13 @@
<div
class=
"hm-form_form_div"
@
mouseenter=
"currentTree = column.codeCamel;treeComponent = column.ref"
v-else-if=
"column.widgetType === 9"
:style=
"formStyle && formStyle.elTree && formStyle.elTree.style ||
{width: '70%'}">
<div
class=
"hm-form_form_div"
@
mouseenter=
"currentTree = column.codeCamel;treeComponent = column.ref"
v-else-if=
"column.widgetType === 9"
:style=
"formStyle && formStyle.elTree && formStyle.elTree.style ||
{width: '70%'}">
<el-tree
:data=
"column.options"
<el-tree
:data=
"column.options"
:ref=
"column.ref || 'tree'"
:ref=
"column.ref || 'tree'"
show-checkbox
:show-checkbox=
"column.checkBox || false"
node-key=
"id"
node-key=
"id"
accordion
:accordion=
"column.accordion || false"
:draggable=
"column.draggable || false"
@
node-click=
"handleNodeChange"
@
node-click=
"handleNodeChange"
@
check-change=
"handleCheckChange"
@
check-change=
"handleCheckChange"
:default-checked-keys=
"
defaultKeys ||
formModel[column.codeCamel]"
:default-checked-keys=
"formModel[column.codeCamel]"
:props=
"column.props || treeProps"
>
:props=
"column.props || treeProps"
>
</el-tree>
</el-tree>
</div>
</div>
...
@@ -197,7 +201,8 @@
...
@@ -197,7 +201,8 @@
<
script
>
<
script
>
import
_
from
'lodash'
import
_
from
'lodash'
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
import
{
paramEncode
}
from
'@/utils'
// import commonApi from '@/api/commonApi'
/**
/**
* 毫末科技的表单组件.
* 毫末科技的表单组件.
*
*
...
@@ -230,7 +235,7 @@
...
@@ -230,7 +235,7 @@
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* default属性可选(复选框不支持),设置默认值,取值规范参考form/videoconferencing.vue
* default属性可选(复选框不支持),设置默认值,取值规范参考form/videoconferencing.vue
* hide属性可选,设置该表单字段是否显示,值为boolean
* hide属性可选,设置该表单字段是否显示,值为boolean
* ref属性树形控件必传,其他可选,用来获取当前表单dom节点
* ref属性树形控件
(值必须与codeCamel相同)
必传,其他可选,用来获取当前表单dom节点
* param属性可选,当表单类型为文件类型时,可传入param字段,值为后台规定必传参数,默认值为picture
* param属性可选,当表单类型为文件类型时,可传入param字段,值为后台规定必传参数,默认值为picture
* accept属性可选,当表单类型为文件类型时,可传入accept字段,限制限制上传文件类型,取值规范参考w3c
* accept属性可选,当表单类型为文件类型时,可传入accept字段,限制限制上传文件类型,取值规范参考w3c
* fileData属性可选,当表单类型为文件类型时,取值为all(表示返回路径+文件名),取值为filePath(表示只返回路径),取值fileName(表示只返回文件名),如果不传,默认只返回路径
* fileData属性可选,当表单类型为文件类型时,取值为all(表示返回路径+文件名),取值为filePath(表示只返回路径),取值fileName(表示只返回文件名),如果不传,默认只返回路径
...
@@ -323,11 +328,12 @@
...
@@ -323,11 +328,12 @@
* 如果需要取消提交,将cancelSubmit值改为true
* 如果需要取消提交,将cancelSubmit值改为true
* type=2,执行组件的重置方法,如果用户传入了method,会作为重置方法的回调函数执行
* type=2,执行组件的重置方法,如果用户传入了method,会作为重置方法的回调函数执行
* type=3,取消,直接执行用户传入的方法
* type=3,取消,直接执行用户传入的方法
* 如果要自定义按钮执行方法,可以不传type
* 示例:[
* 示例:[
* {text: '确定', type: 1, method: method1, beforeSubmit: this.processData},
* {text: '确定', type: 1, method: method1, beforeSubmit: this.processData},
* {text: '重置', type: 2, method: method2},
* {text: '重置', type: 2, method: method2},
* {text: '取消', type: 3, method: method3},
* {text: '取消', type: 3, method: method3},
* {text: '
取消', type: 3,
method: method3}
* {text: '
自定义',
method: method3}
* ]
* ]
*/
*/
buttons
:
{
buttons
:
{
...
@@ -400,14 +406,19 @@
...
@@ -400,14 +406,19 @@
* 函数对象 键为固定值,值为函数
* 函数对象 键为固定值,值为函数
* 属性beforeRender,编辑/修改数据时,请求数据后表单渲染前执行,可对数据进行处理,beforeRender函数接受两个参数
* 属性beforeRender,编辑/修改数据时,请求数据后表单渲染前执行,可对数据进行处理,beforeRender函数接受两个参数
* 第一个参数为请求的数据,第二个参数为表单的绑定对象formModel,该函数需要将请求的数据绑定到formModel,并返回formModel
* 第一个参数为请求的数据,第二个参数为表单的绑定对象formModel,该函数需要将请求的数据绑定到formModel,并返回formModel
* 属性uploadFun,上传文件的回调函数,第一个参数为文件上传成功的返回值response,第二个参数为表单的绑定对象formModel
* 属性uploadFun,上传文件的回调函数,第一个参数为文件上传成功的返回值response,第二个参数为表单的绑定对象formModel,
* 第三个参数为当前删除的文件的详细信息
* 属性removeFun,删除文件的回调函数,第一个参数为当前删除文件的信息file,第二个参数为表单的绑定对象formModel
* 格式为: 属性beforeRender为固定键
* 格式为: 属性beforeRender为固定键
* {
* {
* beforeRender: function(resp.data, formModel) {
* beforeRender: function(resp.data, formModel) {
* do something
* do something
* return formModel
* return formModel
* },
* },
* uploadFun: function(response, formModel) {
* uploadFun: function(response, formModel, file) {
* do something
* },
* removeFun: function(file, formModel) {
* do something
* do something
* }
* }
* }
* }
...
@@ -519,7 +530,6 @@
...
@@ -519,7 +530,6 @@
relateData
:
{},
// 中间表数据
relateData
:
{},
// 中间表数据
Loading
:
true
,
// 加载等待
Loading
:
true
,
// 加载等待
form
:
null
,
form
:
null
,
defaultKeys
:
[],
// 默认选中项
formModel
:
{},
// 双向绑定的数据对象
formModel
:
{},
// 双向绑定的数据对象
formModelDeal
:
{},
// 新建或编辑时,提交之前用户对formModel处理之后的数据对象。原因:以级联表单为例,
formModelDeal
:
{},
// 新建或编辑时,提交之前用户对formModel处理之后的数据对象。原因:以级联表单为例,
// 级联表单v-model绑定的是数组,而往数据库中存储的是数组中的某一个字符串,如果把v-model的值经processData处理之后(数组--->字符串),仍然用formModel接收,Vue监听会报错(expected Array,got string),此时需要用formModealDeal接收并提交,不改变表单绑定的数据对象formModel
// 级联表单v-model绑定的是数组,而往数据库中存储的是数组中的某一个字符串,如果把v-model的值经processData处理之后(数组--->字符串),仍然用formModel接收,Vue监听会报错(expected Array,got string),此时需要用formModealDeal接收并提交,不改变表单绑定的数据对象formModel
...
@@ -645,73 +655,102 @@
...
@@ -645,73 +655,102 @@
}
}
},
},
created
()
{
created
()
{
// this.validate()
// this.$set(this.defaultKeys, 0, 161)
this
.
init
()
this
.
init
()
this
.
getData
()
this
.
getData
()
this
.
getList
()
this
.
getList
()
},
},
methods
:
{
methods
:
{
// 文件上传前的函数
beforeUpload
(
file
)
{
// console.log('组件中的文件上传前', file)
// return false // 如果return false 则文件上传取消
},
// 删除服务器的文件
deleteUploadFile
(
filePath
)
{
// 删除服务器上封面图片的文件
request
(
'delete_file?file_path='
+
filePath
,
{
headers
:
{
'Content-Type'
:
'application/json;charset=UTF-8'
}
}).
then
(
resp
=>
{
console
.
log
(
'服务器上的文件删除了'
,
resp
)
})
},
// 上传文件成功的回调函数
// 上传文件成功的回调函数
uploadSuccess
(
response
,
file
,
fileList
)
{
uploadSuccess
(
response
,
file
,
fileList
,
code
,
fileData
)
{
const
self
=
this
const
self
=
this
console
.
log
(
'上传成功'
)
console
.
log
(
'上传成功'
,
code
,
fileData
,
response
,
file
,
fileList
)
console
.
log
(
response
)
// console.log(self.currentFile)
console
.
log
(
file
)
console
.
log
(
'fileList'
,
fileList
)
console
.
log
(
'formModel'
,
self
.
formModel
)
console
.
log
(
'formModel'
,
self
.
formModel
)
for
(
var
i
=
0
,
len
=
self
.
showUserColumns
.
length
;
i
<
len
;
i
++
)
{
if
(
response
.
visitName
&&
response
.
saveName
)
{
// && !self.showUserColumns[i].edited
// 如果fileData值为all 则存路径+名称
if
(
self
.
showUserColumns
[
i
].
widgetType
===
8
)
{
if
(
fileData
===
'all'
)
{
// self.$set(self.showUserColumns[i], 'edited', true)
self
.
formModel
[
code
].
push
(
response
.
visitName
+
''
+
response
.
fileName
+
'_'
+
response
.
saveName
)
for
(
var
key
in
self
.
formModel
)
{
}
else
if
(
fileData
===
'fileName'
)
{
if
(
key
===
self
.
currentFile
&&
self
.
showUserColumns
[
i
].
codeCamel
===
self
.
currentFile
)
{
self
.
formModel
[
code
].
push
(
response
.
saveName
)
// self.formModel[key] = response.message || response.visitName
}
else
{
// 张家口
self
.
formModel
[
code
].
push
(
response
.
visitName
+
''
+
response
.
fileName
)
// self.formModel[key] = response.visitName + response.fileName
// 通用
if
(
response
.
visitName
&&
response
.
saveName
)
{
// 如果fileData值为all 则存路径+名称
if
(
self
.
showUserColumns
[
i
].
fileData
===
'all'
)
{
// self.formModel[key] = response.visitName + '' + response.fileName + '_' + response.saveName
self
.
formModel
[
key
].
push
(
response
.
visitName
+
''
+
response
.
fileName
+
'_'
+
response
.
saveName
)
}
else
if
(
self
.
showUserColumns
[
i
].
fileData
===
'fileName'
)
{
// self.formModel[key] = response.saveName
self
.
formModel
[
key
].
push
(
response
.
saveName
)
}
else
{
// self.formModel[key] = response.visitName + '' + response.fileName
self
.
formModel
[
key
].
push
(
response
.
visitName
+
''
+
response
.
fileName
)
}
}
else
if
(
response
.
message
)
{
// self.formModel[key] = file.name + '_' + response.message
self
.
formModel
[
key
].
push
(
file
.
name
+
'_'
+
response
.
message
)
// self.formModel[key].push(file.name + '_' + response.message)
}
break
}
}
// break
}
}
}
else
if
(
response
.
message
)
{
self
.
formModel
[
code
].
push
(
response
.
message
+
'_'
+
file
.
name
)
}
}
// for (var i = 0, len = self.showUserColumns.length; i
<
len
;
i
++
)
{
// if (self.showUserColumns[i].widgetType === 8) {
// for (var key in self.formModel) {
// if (key === self.currentFile && self.showUserColumns[i].codeCamel === self.currentFile) {
// if (response.visitName && response.saveName) {
// // 如果fileData值为all 则存路径+名称
// if (self.showUserColumns[i].fileData === 'all') {
// self.formModel[key].push(response.visitName + '' + response.fileName + '_' + response.saveName)
// } else if (self.showUserColumns[i].fileData === 'fileName') {
// self.formModel[key].push(response.saveName)
// } else {
// self.formModel[key].push(response.visitName + '' + response.fileName)
// }
// } else if (response.message) {
// self.formModel[key].push(response.message + '_' + file.name)
// }
// break
// }
// }
// }
// }
// 执行用户的方法
if
(
self
.
funObject
&&
self
.
funObject
.
uploadFun
)
{
if
(
self
.
funObject
&&
self
.
funObject
.
uploadFun
)
{
self
.
funObject
.
uploadFun
(
response
,
self
.
formModel
)
self
.
funObject
.
uploadFun
(
response
,
self
.
formModel
,
file
)
}
}
},
},
uploadClick1
()
{
console
.
log
(
'upload点解十家'
)
},
uploadClick
(
codeCamel
)
{
console
.
log
(
'触发了点击事件'
)
this
.
currentFile
=
codeCamel
console
.
log
(
this
.
currentFile
)
},
// 删除文件时的回调函数
// 删除文件时的回调函数
handleRemove
(
file
,
fileList
)
{
handleRemove
(
file
,
fileList
)
{
const
self
=
this
const
self
=
this
console
.
log
(
'文件删除'
,
file
,
fileList
)
console
.
log
(
'文件删除'
,
file
,
fileList
)
console
.
log
(
'删除前'
,
self
.
formModel
)
console
.
log
(
'删除前'
,
self
.
currentFile
,
self
.
formModel
)
// var reg = new RegExp('^' + file.response.message + '$', 'g')
// console.log(reg)
// 新建时删除服务器中的文件(通知通报的上传接口)
if
(
file
.
response
.
message
)
{
if
(
!
self
.
tableId
)
{
if
(
file
&&
file
.
response
&&
file
.
response
.
message
)
{
self
.
deleteUploadFile
(
file
.
response
.
message
)
}
else
if
(
file
&&
file
.
response
&&
file
.
response
.
fileName
)
{
// 新建时删除服务器中的文件(会议等其他上传接口)
const
path
=
file
.
response
.
visitName
+
file
.
response
.
fileName
self
.
deleteUploadFile
(
path
)
}
}
// 新建时 删除文件 (通知通报的上传接口)
if
(
file
.
response
&&
file
.
response
.
message
)
{
_
.
each
(
self
.
formModel
[
self
.
currentFile
],
function
(
item
,
index
)
{
_
.
each
(
self
.
formModel
[
self
.
currentFile
],
function
(
item
,
index
)
{
if
(
_
.
endsWith
(
item
,
file
.
response
.
message
))
{
if
(
_
.
endsWith
(
item
,
file
.
response
.
message
))
{
self
.
$delete
(
self
.
formModel
[
self
.
currentFile
],
index
)
self
.
$delete
(
self
.
formModel
[
self
.
currentFile
],
index
)
}
}
})
})
}
else
if
(
file
.
response
.
fileName
)
{
}
else
if
(
file
.
response
&&
file
.
response
.
fileName
)
{
// (会议等其他上传接口)
_
.
each
(
self
.
formModel
[
self
.
currentFile
],
function
(
item
,
index
)
{
_
.
each
(
self
.
formModel
[
self
.
currentFile
],
function
(
item
,
index
)
{
if
(
_
.
endsWith
(
item
,
file
.
response
.
fileName
))
{
if
(
_
.
endsWith
(
item
,
file
.
response
.
fileName
))
{
self
.
$delete
(
self
.
formModel
[
self
.
currentFile
],
index
)
self
.
$delete
(
self
.
formModel
[
self
.
currentFile
],
index
)
...
@@ -721,6 +760,19 @@
...
@@ -721,6 +760,19 @@
})
})
}
}
// 编辑时 删除文件
if
(
file
.
status
===
'success'
)
{
_
.
each
(
self
.
formModel
[
self
.
currentFile
],
function
(
item
,
index
)
{
if
(
_
.
endsWith
(
item
,
file
.
name
)
||
_
.
endsWith
(
item
,
file
.
url
))
{
self
.
$delete
(
self
.
formModel
[
self
.
currentFile
],
index
)
}
})
}
// 删除文件时 执行用户的方法
if
(
self
.
funObject
&&
self
.
funObject
.
removeFun
)
{
self
.
funObject
.
removeFun
(
file
,
self
.
formModel
)
}
// self.formModel[self.currentFile] = ''
// self.formModel[self.currentFile] = ''
console
.
log
(
'删除后'
,
self
.
formModel
)
console
.
log
(
'删除后'
,
self
.
formModel
)
},
},
...
@@ -730,14 +782,17 @@
...
@@ -730,14 +782,17 @@
// console.log('自己的')
// console.log('自己的')
},
},
// 树形选择器
// 树形选择器
handleCheckChange
(
data
,
checked
,
indeterminate
)
{
handleCheckChange
(
data
,
checked
,
indeterminate
,
aaa
)
{
const
self
=
this
const
self
=
this
console
.
log
(
'handleCheckChange函数'
)
console
.
log
(
'handleCheckChange函数'
)
// console.log(data)
// console.log(checked)
// console.log(indeterminate)
console
.
log
(
aaa
)
// console.log(this.$refs.tree[0].getCheckedNodes(true))
// console.log(this.$refs.tree[0].getCheckedNodes(true))
// console.log('当前选择的codecamel:', self.currentTree)
// console.log('当前选择的codecamel:', self.currentTree)
// console.log('当前选择的tree组件', self.treeComponent)
// console.log('当前选择的tree组件', self.treeComponent)
console
.
log
(
self
.
$refs
[
self
.
treeComponent
][
0
].
getCheckedKeys
(
true
))
// console.log(self.$refs[self.treeComponent][0].getCheckedKeys(true))
// console.log('默认选中', self.defaultKeys)
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
)
{
...
@@ -758,7 +813,7 @@
...
@@ -758,7 +813,7 @@
},
},
// 树形选择器
// 树形选择器
handleNodeChange
(
data
,
node
,
com
)
{
handleNodeChange
(
data
,
node
,
com
)
{
console
.
log
(
com
)
//
console.log(com)
},
},
treeCheck
(
data1
,
data2
)
{
treeCheck
(
data1
,
data2
)
{
console
.
log
(
this
.
currentTree
)
console
.
log
(
this
.
currentTree
)
...
@@ -947,8 +1002,6 @@
...
@@ -947,8 +1002,6 @@
// 如果只是单表
// 如果只是单表
}
else
if
(
resp
.
data
.
length
>
0
)
{
}
else
if
(
resp
.
data
.
length
>
0
)
{
console
.
log
(
'单表查询'
,
resp
.
data
)
console
.
log
(
'单表查询'
,
resp
.
data
)
self
.
defaultKeys
.
push
(
parseInt
(
resp
.
data
[
0
].
departmentId
))
console
.
log
(
self
.
defaultKeys
)
var
formArray
=
_
.
keys
(
self
.
formModel
)
// 提取formModel的属性到数组
var
formArray
=
_
.
keys
(
self
.
formModel
)
// 提取formModel的属性到数组
if
(
resp
.
data
[
0
].
superior
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
))
{
if
(
resp
.
data
[
0
].
superior
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
))
{
self
.
formModel
=
_
.
pick
(
resp
.
data
[
0
].
superior
,
formArray
)
// 根据数组中的属性提取出data中对应的数据
self
.
formModel
=
_
.
pick
(
resp
.
data
[
0
].
superior
,
formArray
)
// 根据数组中的属性提取出data中对应的数据
...
@@ -962,6 +1015,7 @@
...
@@ -962,6 +1015,7 @@
// console.log('获取到数据', self.formModel)
// console.log('获取到数据', self.formModel)
// 处理返回来的数据
// 处理返回来的数据
console
.
log
(
'getList处理多选前'
,
self
.
formModel
)
console
.
log
(
'getList处理多选前'
,
self
.
formModel
)
_
.
each
(
self
.
columns
,
function
(
item
,
index
)
{
_
.
each
(
self
.
columns
,
function
(
item
,
index
)
{
// 下拉框多选时将字符串转为数组 column.widgetType === 3 && !column.options
// 下拉框多选时将字符串转为数组 column.widgetType === 3 && !column.options
if
(
item
.
widgetType
===
2
&&
item
.
multiple
===
true
)
{
if
(
item
.
widgetType
===
2
&&
item
.
multiple
===
true
)
{
...
@@ -992,11 +1046,25 @@
...
@@ -992,11 +1046,25 @@
})
})
}
}
// 树形控件、文件上传,将请求回来的字符串放数组中
// 树形控件、文件上传,将请求回来的字符串放数组中
if
(
item
.
widgetType
===
9
||
item
.
widgetType
===
8
||
item
.
widgetType
===
10
)
{
if
(
item
.
widgetType
===
8
||
item
.
widgetType
===
10
)
{
_
.
forEach
(
self
.
formModel
,
function
(
value
,
key
)
{
if
(
item
.
codeCamel
===
key
)
{
// console.log(11111, self.formModel[key])
self
.
formModel
[
key
]
=
self
.
formModel
[
key
].
split
(
','
)
}
})
}
// 树形控件、文件上传,将请求回来的字符串放数组中
if
(
item
.
widgetType
===
9
)
{
_
.
forEach
(
self
.
formModel
,
function
(
value
,
key
)
{
_
.
forEach
(
self
.
formModel
,
function
(
value
,
key
)
{
if
(
item
.
codeCamel
===
key
)
{
if
(
item
.
codeCamel
===
key
)
{
// let str1 = ''
// let str2 = ''
// str1 = self.formModel[key].split(',')[0]
// str2 = self.formModel[key].split(',')[1]
// console.log(11111, self.formModel[key])
// console.log(11111, self.formModel[key])
self
.
formModel
[
key
]
=
self
.
formModel
[
key
].
split
(
','
)
self
.
formModel
[
key
]
=
self
.
formModel
[
key
].
split
(
','
)
self
.
$refs
[
key
][
0
].
setCheckedKeys
(
self
.
formModel
[
key
])
}
}
})
})
}
}
...
@@ -1004,7 +1072,7 @@
...
@@ -1004,7 +1072,7 @@
}
}
console
.
log
(
'getList'
,
self
.
formModel
)
console
.
log
(
'getList'
,
self
.
formModel
)
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
console
.
log
(
error
)
console
.
error
(
error
)
})
})
},
},
// 初始化
// 初始化
...
@@ -1065,6 +1133,9 @@
...
@@ -1065,6 +1133,9 @@
*/
*/
onSubmit
(
callback
,
processData
)
{
onSubmit
(
callback
,
processData
)
{
const
self
=
this
const
self
=
this
// 提交上传文件到服务器
// console.log(self.$refs.upload[0])
// self.$refs.upload[0].submit()
console
.
log
(
'点击了提交函数'
,
self
.
formModel
)
console
.
log
(
'点击了提交函数'
,
self
.
formModel
)
// 如果所有值都为空 禁止提交
// 如果所有值都为空 禁止提交
if
(
self
.
isEmpty
(
self
.
formModel
))
{
if
(
self
.
isEmpty
(
self
.
formModel
))
{
...
@@ -1076,11 +1147,11 @@
...
@@ -1076,11 +1147,11 @@
}
}
// 提交之前对表单数据进行处理
// 提交之前对表单数据进行处理
self
.
formModelDeal
=
processData
?
processData
(
self
.
formModel
,
self
.
isCancel
)
:
self
.
formModel
self
.
formModelDeal
=
processData
?
processData
(
self
.
formModel
,
self
.
isCancel
)
:
self
.
formModel
console
.
log
(
'表单数据经过了处理'
,
self
.
formModel
)
console
.
log
(
'表单数据经过了处理'
,
self
.
formModel
Deal
)
// 如果在processData中禁止提交了,显示提示信息
// 如果在processData中禁止提交了,显示提示信息
if
(
self
.
isCancel
.
cancelSubmit
)
{
if
(
self
.
isCancel
.
cancelSubmit
)
{
console
.
log
(
'取消提交'
)
console
.
log
(
'取消提交'
)
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
&&
self
.
tips
.
otherError
&&
!
self
.
isEmptyObject
(
self
.
tips
.
otherError
)
)
{
self
.
$message
({
self
.
$message
({
message
:
self
.
tips
.
otherError
.
text
,
message
:
self
.
tips
.
otherError
.
text
,
type
:
'error'
type
:
'error'
...
@@ -1150,7 +1221,7 @@
...
@@ -1150,7 +1221,7 @@
callback
(
resp
.
data
,
self
.
formModelDeal
)
callback
(
resp
.
data
,
self
.
formModelDeal
)
}
}
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
console
.
log
(
err
)
console
.
error
(
err
)
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
self
.
$message
({
self
.
$message
({
message
:
self
.
tips
.
editError
.
text
,
message
:
self
.
tips
.
editError
.
text
,
...
@@ -1230,7 +1301,7 @@
...
@@ -1230,7 +1301,7 @@
// console.log('部分属性', self.partPropModel)
// console.log('部分属性', self.partPropModel)
}
}
// 发送新建请求
// 发送新建请求
console
.
log
(
'请求之前'
,
self
.
formModel
)
console
.
log
(
'请求之前'
,
self
.
formModel
Deal
)
request
(
self
.
schema
.
modelUnderscorePlural
+
'/new'
,
{
request
(
self
.
schema
.
modelUnderscorePlural
+
'/new'
,
{
method
:
'post'
,
method
:
'post'
,
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
},
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
},
...
@@ -1315,13 +1386,23 @@
...
@@ -1315,13 +1386,23 @@
const
url
=
_
.
keys
(
self
.
refers
)[
0
]
+
's'
+
'/create/batch'
const
url
=
_
.
keys
(
self
.
refers
)[
0
]
+
's'
+
'/create/batch'
// const string = self.transformRequest(self.foreignArray)
// const string = self.transformRequest(self.foreignArray)
const
string
=
JSON
.
stringify
(
self
.
foreignArray
)
const
string
=
JSON
.
stringify
(
self
.
foreignArray
)
request
.
post
(
url
+
'?params='
+
string
,
{
request
(
url
,
{
headers
:
{
'Content-Type'
:
'application/json;charset=UTF-8'
}
method
:
'POST'
,
data
:
{
params
:
string
},
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
},
transformRequest
:
paramEncode
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
console
.
log
(
'批量创建成功'
,
resp
.
data
)
console
.
log
(
'批量创建成功'
,
resp
.
data
)
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
console
.
log
(
'批量创建失败'
,
error
)
console
.
log
(
'批量创建失败'
,
error
)
})
})
// request.post(url + '?params=' + string, {
// headers: { 'Content-Type': 'application/json;charset=UTF-8' }
// }).then(resp => {
// console.log('批量创建成功', resp.data)
// }).catch(error => {
// console.log('批量创建失败', error)
// })
}
}
// 提示信息
// 提示信息
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
...
@@ -1338,7 +1419,7 @@
...
@@ -1338,7 +1419,7 @@
self
.
currentFile
=
''
self
.
currentFile
=
''
self
.
currentTree
=
''
self
.
currentTree
=
''
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
console
.
log
(
err
)
console
.
error
(
err
)
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
self
.
$message
({
self
.
$message
({
message
:
self
.
tips
.
newError
.
text
,
message
:
self
.
tips
.
newError
.
text
,
...
@@ -1389,6 +1470,23 @@
...
@@ -1389,6 +1470,23 @@
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
(
self
.
formModel
,
self
.
formModelDeal
)
callback
(
self
.
formModel
,
self
.
formModelDeal
)
}
}
console
.
log
(
self
.
formModel
,
self
.
formModelDeal
)
// console.log('id', self.tableId)
// 如果是新建时点了取消 删除服务器上的文件
if
(
!
self
.
tableId
)
{
_
.
each
(
self
.
showUserColumns
,
function
(
item
,
key
)
{
if
(
item
.
widgetType
===
8
)
{
_
.
each
(
self
.
formModel
[
item
.
codeCamel
],
function
(
str
,
k
)
{
const
i
=
str
.
indexOf
(
'_'
)
let
path
=
''
if
(
i
>
0
)
{
path
=
str
.
slice
(
0
,
i
)
self
.
deleteUploadFile
(
path
)
}
})
}
})
}
// self.close()
// self.close()
},
},
close
()
{
close
()
{
...
...
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