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
bf3ed7ac
Commit
bf3ed7ac
authored
May 10, 2018
by
郜超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of 115.28.80.125:softwarefactory/vueelementtemplate
parents
0767217a
aad90771
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
460 additions
and
115 deletions
+460
-115
HmComplexForm.vue
src/views/haomo/components/forms/HmComplexForm.vue
+343
-60
index.vue
src/views/haomo/components/forms/index.vue
+35
-22
HmComplexTable.vue
src/views/haomo/components/tables/HmComplexTable.vue
+81
-32
index.vue
src/views/haomo/components/tables/index.vue
+1
-1
No files found.
src/views/haomo/components/forms/HmComplexForm.vue
View file @
bf3ed7ac
...
@@ -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=
"
r
ules"
:rules=
"
myR
ules"
: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"
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
:prop=
"column.codeCamel"
>
:prop=
"column.codeCamel"
>
<!--el-input
<el-input
v-if=
"column.codeCamel==='password'"
type=
"password"
<!--el-input
<el-input
v-if=
"column.codeCamel==='password'"
type=
"password"
v-model=
"formModel[column.codeCamel]"
></el-input>
-->
v-model=
"formModel[column.codeCamel]"
></el-input>
-->
<!--
2
日期选择 -->
<!--
1
日期选择 -->
<!-- -->
<!-- -->
<el-date-picker
v-if=
"column.widgetType === 6 || column.type === 'datetime' || column.type === 'date'"
<el-date-picker
v-if=
"column.widgetType === 6 || column.type === 'datetime' || column.type === 'date'"
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
...
@@ -36,14 +36,16 @@
...
@@ -36,14 +36,16 @@
:value-format="column.dateFormate || 'yyyy-MM-dd'"
:value-format="column.dateFormate || 'yyyy-MM-dd'"
:picker-options="pickerOptions">
:picker-options="pickerOptions">
</el-date-picker>
</el-date-picker>
<!--
3
下拉框 -->
<!--
2
下拉框 -->
<el-select
v-else-if=
"column.widgetType === 2"
<el-select
v-else-if=
"column.widgetType === 2"
:ref=
"column.ref || ''"
:ref=
"column.ref || ''"
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
@
change=
"column.change && column.change($event)"
@
change=
"column.change && column.change($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"
filterable
:allowCreate="column.allowCreate"
style="width: 50%"
style="width: 50%"
clearable>
clearable>
<el-option
v-for=
"(item,key) in column.options"
<el-option
v-for=
"(item,key) in column.options"
...
@@ -52,7 +54,7 @@
...
@@ -52,7 +54,7 @@
:value=
"item.value"
>
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
<!--
4
文本域 -->
<!--
3
文本域 -->
<el-input
v-else-if=
"column.widgetType === 4"
<el-input
v-else-if=
"column.widgetType === 4"
:ref=
"column.ref || ''"
:ref=
"column.ref || ''"
:readonly=
"column.readonly"
:readonly=
"column.readonly"
...
@@ -60,10 +62,10 @@
...
@@ -60,10 +62,10 @@
v-model="formModel[column.codeCamel]"
v-model="formModel[column.codeCamel]"
type="textarea" :disabled="column.disabled"
type="textarea" :disabled="column.disabled"
:resize="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.resize || 'vertical'"
:resize="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.resize || 'vertical'"
:autosize="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.autosize || { minRows: 4, maxRows:
6
}"
:autosize="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.autosize || { minRows: 4, maxRows:
8
}"
:rows="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.rows || 4" @change="column.change
&&
column.change($event)">
:rows="formStyle
&&
formStyle.textarea
&&
formStyle.textarea.rows || 4" @change="column.change
&&
column.change($event)">
</el-input>
</el-input>
<!--
5
复选框 -->
<!--
4
复选框 -->
<el-checkbox
v-else-if=
"column.widgetType === 3 && !column.options"
<el-checkbox
v-else-if=
"column.widgetType === 3 && !column.options"
v-model=
"formModel[column.codeCamel]"
v-model=
"formModel[column.codeCamel]"
:ref=
"column.ref || ''"
:ref=
"column.ref || ''"
...
@@ -78,40 +80,71 @@
...
@@ -78,40 +80,71 @@
<el-checkbox
v-for=
"option in column.options"
<el-checkbox
v-for=
"option in column.options"
:label=
"option"
:key=
"option"
>
{{
option
}}
</el-checkbox>
:label=
"option"
:key=
"option"
>
{{
option
}}
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
<!--
6
富文本 -->
<!--
5
富文本 -->
<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="editorOption"
:options="
column.options ||
editorOption"
@blur="onEditorBlur($event)"
@blur="onEditorBlur($event)"
@focus="onEditorFocus($event)"
@focus="onEditorFocus($event)"
@change="column.change
&&
column.change($event)"
@change="column.change
&&
column.change($event)"
@ready="onEditorReady($event)">
@ready="onEditorReady($event)">
</quill-editor>
</quill-editor>
<!--
7
单选框 -->
<!--
6
单选框 -->
<el-radio-group
v-else-if=
"column.widgetType === 7"
<el-radio-group
v-else-if=
"column.widgetType === 7"
:disabled=
"column.disabled"
:disabled=
"column.disabled"
@
change=
"column.change && column.change($event)"
:readonly=
"column.readonly"
@
change=
"column.change && column.change($event, formModel)"
v-model=
"formModel[column.codeCamel]"
>
v-model=
"formModel[column.codeCamel]"
>
<el-radio
v-for=
"option in column.options"
<el-radio
v-for=
"option in column.options"
:key=
"option.label"
:label=
"option.label"
>
{{
option
.
value
}}
</el-radio>
:key=
"option.label"
:label=
"option.label"
>
{{
option
.
value
}}
</el-radio>
</el-radio-group>
</el-radio-group>
<!--
8 文件
-->
<!--
7 文件 :multiple="column.multiple || false"
-->
<el-upload
v-else-if=
"column.widgetType === 8"
<el-upload
v-else-if=
"column.widgetType === 8"
:accept=
"column.accept || '*/*'"
:accept=
"column.accept || '*/*'"
:name=
"column.param || 'picture'"
:name=
"column.param || 'picture'"
:action=
" column.url || '/api/upload'"
:action=
" column.url || '/api/upload'"
:on-remove=
"handleRemove"
:on-remove=
"handleRemove"
:limit=
"column.limit || 3"
:on-change=
"column.change || handleChange"
:on-change=
"column.change || handleChange"
:file-list=
"fileList"
:file-list=
"fileList"
:multiple=
"column.multiple"
ref=
"upload"
ref=
"upload"
:on-success=
"uploadSuccess"
>
:on-success=
"uploadSuccess"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
@
click=
"currentFile = column.codeCamel"
:disabled=
"column.disabled"
>
选取文件
</el-button>
:disabled=
"column.disabled"
>
选取文件
</el-button>
</el-upload>
</el-upload>
<!-- 1 普通input ||
{width:'65%'}-->
<!-- 8树形图 -->
<!--:default-expanded-keys="[2, 3]"-->
<!--:default-checked-keys="[5]"-->
<div
@
mouseenter=
"currentTree = column.codeCamel"
v-else-if=
"column.widgetType === 9"
>
<el-tree
:data=
"column.options"
ref=
"tree"
show-checkbox
node-key=
"id"
@
node-click=
"handleNodeChange"
@
check-change=
"handleCheckChange"
:default-expanded-keys=
'column.expanded'
:default-checked-keys=
'column.checked'
:props=
"defaultProps"
>
</el-tree>
</div>
<!-- 9 级联下拉框v-model="formModel[column.codeCamel]"-->
<el-cascader
v-else-if=
"column.widgetType === 10"
expand-trigger=
"hover"
:options=
"column.options"
v-model=
"formModel[column.codeCamel]"
:style=
"formStyle && formStyle.cascader && formStyle.cascader.style ||
{width: '70%'}"
@change="column.change
&&
column.change($event)">
</el-cascader>
<!-- 10 普通input ||
{width:'65%'}-->
<el-input
v-else-if=
"column.widgetType === 1 && column.rule && column.rule.type && column.rule.type === 'number'"
:style=
"formStyle && formStyle.input && formStyle.input.style ||
{width:'70%'}"
v-model.number="formModel[column.codeCamel]"
:disabled="column.disabled"
:readonly="column.readonly"
:ref="column.ref || ''"
@change="column.change
&&
column.change($event,formModel)">
</el-input>
<el-input
v-else
<el-input
v-else
:style=
"formStyle && formStyle.input && formStyle.input.style ||
{width:'70%'}"
:style=
"formStyle && formStyle.input && formStyle.input.style ||
{width:'70%'}"
v-model="formModel[column.codeCamel]"
v-model="formModel[column.codeCamel]"
...
@@ -121,7 +154,7 @@
...
@@ -121,7 +154,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"
>
<el-form-item
v-if=
"buttons && buttons.length > 0"
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"
...
@@ -180,13 +213,14 @@
...
@@ -180,13 +213,14 @@
* codeCamel属性,表示要显示的表单字段, 如果其他字段都不需要传,可以只写codeCamel的值,比如['username','departmentId']
* codeCamel属性,表示要显示的表单字段, 如果其他字段都不需要传,可以只写codeCamel的值,比如['username','departmentId']
* name属性可选,表示自定义的字段名,如果不传,默认为数据库中的字段名,
* name属性可选,表示自定义的字段名,如果不传,默认为数据库中的字段名,
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* change属性可选,值为函数类型,表示input的change事件的执行方法,参数即为input输入内容
* default属性可选(复选框不支持),设置默认值,取值规范参考form/
index
.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
* widgetType属性可选,表示该字段要显示的表单类型(普通输入框、文本域、富文本、下拉框...),不传默认为普通input
* widgetType属性可选,表示该字段要显示的表单类型(普通输入框、文本域、富文本、下拉框...),不传默认为普通input
* 取值1-8(1表示普通输入框,2表示下拉框,3表示复选框,4表示文本域,5表示富文本,6表示日期,7表示单选框,8表示文件上传),
* 取值1-10(1表示普通输入框,2表示普通下拉框,3表示复选框,4表示文本域,5表示富文本,6表示日期,7表示单选框,8表示文件上传,
* 9表示树状控件,10表示级联下拉框),
* 若表单类型为下拉框/复选框/单选框,还需传入options字段,值为数组(数组元素是下拉框/复选框/单选框的选项),
* 若表单类型为下拉框/复选框/单选框,还需传入options字段,值为数组(数组元素是下拉框/复选框/单选框的选项),
* 对于复选框,如果只有一个备选项则不必传options,
* 对于复选框,如果只有一个备选项则不必传options,
* 若表单类型为下拉框,还可传入multiple字段,取值boolean类型,true/false,表示是否多选,默认false
* 若表单类型为下拉框,还可传入multiple字段,取值boolean类型,true/false,表示是否多选,默认false
...
@@ -219,6 +253,36 @@
...
@@ -219,6 +253,36 @@
{ codeCamel: 'password', widgetType: 4 },
{ codeCamel: 'password', widgetType: 4 },
{ name: '新建时间', codeCamel: 'createTime', widgetType: 6, dateType: 'datetime', dateFormate: 'yyyy-MM-dd HH:mm:ss' },
{ name: '新建时间', codeCamel: 'createTime', widgetType: 6, dateType: 'datetime', dateFormate: 'yyyy-MM-dd HH:mm:ss' },
{ name: '登陆id', codeCamel: 'loginid', widgetType: 7, options: ['会员', '访客'] },
{ name: '登陆id', codeCamel: 'loginid', widgetType: 7, options: ['会员', '访客'] },
{ name: '人员', codeCamel: 'people', widgetType: 9,
options:[
{ value: 'zhinan',label: '指南',
children: [
{
value: 'shejiyuanze',label: '设计原则',
children: [
{value: 'yizhi',label: '一致'},
{value: 'fankui',label: '反馈'},
{value: 'xiaolv',label: '效率'},
{value: 'kekong',label: '可控'}
]
}
]
},
{ value: 'zhinan',label: '指南',
children: [
{
value: 'shejiyuanze',label: '设计原则',
children: [
{value: 'yizhi',label: '一致'},
{value: 'fankui',label: '反馈'},
{value: 'xiaolv',label: '效率'},
{value: 'kekong',label: '可控'}
]
}
]
}
]
},
{ name: '选择头像', codeCamel: 'avatar', widgetType: 8 }
{ name: '选择头像', codeCamel: 'avatar', widgetType: 8 }
]
]
*/
*/
...
@@ -242,11 +306,11 @@
...
@@ -242,11 +306,11 @@
* 该函数可以在提交之前对表单数据进行处理,并返回数据;对象isCancel包含一个值为false的属性cancelSubmit
* 该函数可以在提交之前对表单数据进行处理,并返回数据;对象isCancel包含一个值为false的属性cancelSubmit
* 如果需要取消提交,将cancelSubmit值改为true
* 如果需要取消提交,将cancelSubmit值改为true
* type=2,执行组件的重置方法,如果用户传入了method,会作为重置方法的回调函数执行
* type=2,执行组件的重置方法,如果用户传入了method,会作为重置方法的回调函数执行
* type=3,直接执行用户传入的方法
* type=3,取消,直接执行用户传入的方法
* 如果要传入了确定/取消的回调函数,请先传入对应的按钮
* 示例:[
* 示例:[
* {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}
* ]
* ]
*/
*/
...
@@ -271,7 +335,7 @@
...
@@ -271,7 +335,7 @@
required
:
false
required
:
false
},
},
/**
/**
* 用来将本表的外链字段(table_id类似的字段)指向的外链表相关联, 格式为:
*
外查主
用来将本表的外链字段(table_id类似的字段)指向的外链表相关联, 格式为:
* {
* {
* "hm_user": { //外链表 表名 本表所对应的主键表)
* "hm_user": { //外链表 表名 本表所对应的主键表)
* includes:['user_id'] // 与主表所对应的外键
* includes:['user_id'] // 与主表所对应的外键
...
@@ -284,7 +348,7 @@
...
@@ -284,7 +348,7 @@
required
:
false
required
:
false
},
},
/**
/**
* 用来将其他表的外链字段指向本表关联,同时返回数据, 格式为:
*
主查外
用来将其他表的外链字段指向本表关联,同时返回数据, 格式为:
* {
* {
* 'auth_token': { //主键id所对应的外键表 表名1 (本表所对应的外键表)
* 'auth_token': { //主键id所对应的外键表 表名1 (本表所对应的外键表)
* includes: ['user_id'] //外键表的外键字段
* includes: ['user_id'] //外键表的外键字段
...
@@ -317,13 +381,18 @@
...
@@ -317,13 +381,18 @@
required
:
false
required
:
false
},
},
/**
/**
* 编辑时,涉及主查外,返回数据后渲染前对数据进行处理,beforeRender函数接受两个参数,第一个参数为主查外的数据,
* 函数对象 键为固定值,值为函数
* 第二个参数为表单的绑定对象formModel,该函数需要将主查外的数据绑定到formModel,并返回formModel
* 属性beforeRender,编辑/修改数据时,请求数据后表单渲染前执行,可对数据进行处理,beforeRender函数接受两个参数
* 第一个参数为请求的数据,第二个参数为表单的绑定对象formModel,该函数需要将请求的数据绑定到formModel,并返回formModel
* 属性uploadFun,上传文件的回调函数,第一个参数为文件上传成功的返回值response,第二个参数为表单的绑定对象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) {
* do something
* }
* }
* }
* }
*/
*/
...
@@ -365,6 +434,25 @@
...
@@ -365,6 +434,25 @@
formStyle
:
{
formStyle
:
{
type
:
Object
,
type
:
Object
,
required
:
false
required
:
false
},
/**
* 自定义验证规则的第二种方式(第一种是在column数组的对象中传rule)
* 格式为:
* userRules: {
* pass: [
* { validator: validatePass, trigger: 'blur' }
* ],
* checkPass: [
* { validator: validatePass2, trigger: 'blur' }
* ],
* age: [
* { validator: checkAge, trigger: 'blur' }
* ]
* }
*/
rules
:
{
type
:
Object
,
required
:
false
}
}
},
},
data
()
{
data
()
{
...
@@ -402,9 +490,12 @@
...
@@ -402,9 +490,12 @@
// }
// }
// }
// }
return
{
return
{
currentFile
:
''
,
// 上传文件时当前选中的codeComel值
currentTree
:
''
,
// 当前选中的树形菜单
foreignArray
:
[],
// 批量创建或删除的多条外表数据
foreignArray
:
[],
// 批量创建或删除的多条外表数据
nativeFormModel
:
{},
// 有外表时 本表数据 从formModel中提取
nativeFormModel
:
{},
// 有外表时 本表数据 从formModel中提取
foreignFormModel
:
{},
// 字段相同的多条外表数据 从formModel中提取
foreighId
:
''
,
// 外表id即 与本表某个id对应
foreignFormModel
:
{},
// 字段相同的多条外表数据/外表数据 从formModel中提取
foreignForm
:
{},
// 单条外表数据 只包含键,值为空 从foreignFormFields中提取
foreignForm
:
{},
// 单条外表数据 只包含键,值为空 从foreignFormFields中提取
partPropModel
:
{},
// 外表中从属于foreignFormModel的属性 从formModel中提取
partPropModel
:
{},
// 外表中从属于foreignFormModel的属性 从formModel中提取
indirectData
:
''
,
// 间接关联表数据
indirectData
:
''
,
// 间接关联表数据
...
@@ -413,7 +504,7 @@
...
@@ -413,7 +504,7 @@
form
:
null
,
form
:
null
,
formModel
:
{},
// 双向绑定的数据变量
formModel
:
{},
// 双向绑定的数据变量
showUserColumns
:
[],
// 要显示的字段
showUserColumns
:
[],
// 要显示的字段
r
ules
:
{
myR
ules
:
{
// username: [
// username: [
// { validator: validateUsername, trigger: 'change' }
// { validator: validateUsername, trigger: 'change' }
// { required: true, message: '请输入用户名', trigger: 'blur' },
// { required: true, message: '请输入用户名', trigger: 'blur' },
...
@@ -446,6 +537,57 @@
...
@@ -446,6 +537,57 @@
]
]
}
}
},
},
data2
:
[{
id
:
1
,
label
:
'一级 1'
,
children
:
[{
id
:
4
,
label
:
'二级 1-1'
,
children
:
[{
id
:
9
,
label
:
'三级 1-1-1'
},
{
id
:
10
,
label
:
'三级 1-1-2'
}]
}]
},
{
id
:
2
,
label
:
'一级 2'
,
children
:
[{
id
:
5
,
label
:
'二级 2-1'
},
{
id
:
6
,
label
:
'二级 2-2'
}]
},
{
id
:
3
,
label
:
'一级 3'
,
children
:
[{
id
:
7
,
label
:
'二级 3-1'
},
{
id
:
8
,
label
:
'二级 3-2'
}]
}],
defaultProps
:
{
children
:
'children'
,
label
:
'label'
},
cascaderData
:
[
{
value
:
1000
,
label
:
'接通'
,
children
:
[{
label
:
'已报价'
,
value
:
1100
,
children
:
[],
multiple
:
true
// 可忽略项,当为true时该项为多选
}]
}
],
// 日期选项配置
// 日期选项配置
pickerOptions
:
{
pickerOptions
:
{
// disabledDate(time) {
// disabledDate(time) {
...
@@ -489,30 +631,76 @@
...
@@ -489,30 +631,76 @@
// console.log(this.buttons)
// console.log(this.buttons)
},
},
methods
:
{
methods
:
{
// 上传成功的回调函数
// 上传
文件
成功的回调函数
uploadSuccess
(
response
,
file
,
fileList
)
{
uploadSuccess
(
response
,
file
,
fileList
)
{
const
self
=
this
const
self
=
this
// console.log('上传成功')
console
.
log
(
'上传成功'
)
// console.log(response)
console
.
log
(
response
)
// console.log('fileList', fileList)
// 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
++
)
{
for
(
var
i
=
0
,
len
=
self
.
showUserColumns
.
length
;
i
<
len
;
i
++
)
{
if
(
self
.
showUserColumns
[
i
].
widgetType
===
8
&&
!
self
.
showUserColumns
[
i
].
edited
)
{
// && !self.showUserColumns[i].edited
self
.
$set
(
self
.
showUserColumns
[
i
],
'edited'
,
true
)
if
(
self
.
showUserColumns
[
i
].
widgetType
===
8
)
{
// self.$set(self.showUserColumns[i], 'edited', true)
for
(
var
key
in
self
.
formModel
)
{
for
(
var
key
in
self
.
formModel
)
{
if
(
self
.
showUserColumns
[
i
].
codeCamel
===
key
)
{
if
(
key
===
self
.
currentFile
&&
self
.
showUserColumns
[
i
].
codeCamel
===
self
.
currentFile
)
{
// self.formModel[key] = response.message || response.visitName
// 张家口
// self.formModel[key] = response.visitName + response.fileName
// 通用
if
(
response
.
visitName
&&
response
.
saveName
)
{
self
.
formModel
[
key
]
=
response
.
visitName
+
''
+
response
.
saveName
}
else
if
(
response
.
message
)
{
self
.
formModel
[
key
]
=
file
.
name
+
'_'
+
response
.
message
}
break
}
}
// break
}
}
if
(
self
.
funObject
&&
self
.
funObject
.
uploadFun
)
{
self
.
funObject
.
uploadFun
(
response
,
self
.
formModel
)
}
},
mouseenter
()
{
console
.
log
(
222
)
},
// 树形选择器
handleCheckChange
(
data
,
checked
,
indeterminate
)
{
// console.log(data, checked, indeterminate)
const
self
=
this
console
.
log
(
'handleCheckChange函数'
)
console
.
log
(
this
.
$refs
.
tree
[
0
].
getCheckedNodes
(
true
))
console
.
log
(
this
.
$refs
.
tree
[
0
].
getCheckedKeys
(
true
))
console
.
log
(
'currentTree:'
,
self
.
currentTree
)
for
(
var
i
=
0
,
len
=
self
.
showUserColumns
.
length
;
i
<
len
;
i
++
)
{
// && !self.showUserColumns[i].edited
if
(
self
.
showUserColumns
[
i
].
widgetType
===
9
)
{
// self.$set(self.showUserColumns[i], 'edited', true)
for
(
var
key
in
self
.
formModel
)
{
if
(
key
===
self
.
currentTree
&&
self
.
showUserColumns
[
i
].
codeCamel
===
self
.
currentTree
)
{
// self.formModel[key] = response.message || response.visitName
// self.formModel[key] = response.message || response.visitName
// 张家口
// 张家口
// self.formModel[key] = response.visitName + response.fileName
// self.formModel[key] = response.visitName + response.fileName
// org
// org
self
.
formModel
[
key
]
=
response
.
visitName
+
'/'
+
response
.
saveName
self
.
formModel
[
key
]
=
self
.
$refs
.
tree
[
0
].
getCheckedKeys
(
true
)
break
break
}
}
}
}
break
//
break
}
}
}
}
},
},
// 树形选择器
handleNodeChange
(
data
,
node
,
com
)
{
console
.
log
(
com
)
},
treeCheck
(
data1
,
data2
)
{
console
.
log
(
this
.
currentTree
)
},
// inputChange(val) {
// inputChange(val) {
// // console.log(event)
// // console.log(event)
// // console.log(val)
// // console.log(val)
...
@@ -557,6 +745,9 @@
...
@@ -557,6 +745,9 @@
// console.log(file, fileList)
// console.log(file, fileList)
// console.log('自己的')
// console.log('自己的')
},
},
cascaderChange
(
value
)
{
console
.
log
(
value
)
},
// 判断是否一个对象的所有属性都为空
// 判断是否一个对象的所有属性都为空
// 可判断空对象或者属性值为null、空数组、空字符串,属性值为空对象无法判断
// 可判断空对象或者属性值为null、空数组、空字符串,属性值为空对象无法判断
isEmpty
(
obj
)
{
isEmpty
(
obj
)
{
...
@@ -658,33 +849,62 @@
...
@@ -658,33 +849,62 @@
const
filters
=
{}
const
filters
=
{}
const
params
=
{}
const
params
=
{}
filters
[
self
.
schema
.
modelUnderscore
]
=
{
'id'
:
{
'equalTo'
:
self
.
tableId
}}
filters
[
self
.
schema
.
modelUnderscore
]
=
{
'id'
:
{
'equalTo'
:
self
.
tableId
}}
if
(
self
.
refers
)
{
// self.$set(filters, self.schema.modelUnderscore, { 'id': { 'equalTo': self.tableId }})
params
.
filters
=
filters
// 主查外
if
(
self
.
refers
&&
!
self
.
isEmptyObject
(
self
.
refers
))
{
params
.
refers
=
self
.
refers
params
.
refers
=
self
.
refers
}
}
params
.
filters
=
filters
// 外查主
// console.log('params', params)
if
(
self
.
includes
&&
!
self
.
isEmptyObject
(
self
.
includes
))
{
params
.
includes
=
self
.
includes
}
console
.
log
(
'params'
,
params
)
// 获取数据 + '/' + self.tableId
// 获取数据 + '/' + self.tableId
request
(
self
.
schema
.
modelUnderscorePlural
,
{
request
(
self
.
schema
.
modelUnderscorePlural
,
{
params
:
params
params
:
params
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
self
.
Loading
=
false
self
.
Loading
=
false
// console.log(self.formModel)
// console.log(self.formModel)
console
.
log
(
'获取成功'
,
resp
.
data
)
// console.log('获取成功', resp.data)
// 如果联查了外表
// 如果是既有外查主又有主查外
if
(
resp
.
data
.
length
>
0
&&
resp
.
data
[
0
].
superior
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
)
&&
resp
.
data
[
0
].
refers
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
refers
))
{
if
(
resp
.
data
.
length
>
0
&&
resp
.
data
[
0
].
superior
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
)
&&
resp
.
data
[
0
].
refers
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
refers
)
&&
resp
.
data
[
0
].
includes
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
includes
))
{
console
.
log
(
resp
.
data
)
console
.
log
(
'主外联查'
,
resp
.
data
)
// 渲染之前执行用户的beforeRender方法对数据进行处理
if
(
self
.
funObject
&&
!
self
.
isEmptyObject
(
self
.
funObject
))
{
self
.
formModel
=
self
.
funObject
.
beforeRender
(
resp
.
data
,
self
.
formModel
)
}
// 如果是外查主
}
else
if
(
resp
.
data
.
length
>
0
&&
resp
.
data
[
0
].
superior
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
)
&&
resp
.
data
[
0
].
includes
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
includes
))
{
console
.
log
(
'外查主'
,
resp
.
data
)
self
.
foreighId
=
resp
.
data
[
0
].
includes
[
_
.
keys
(
self
.
includes
)[
0
]].
id
// 渲染之前执行用户的beforeRender方法对数据进行处理
if
(
self
.
funObject
&&
!
self
.
isEmptyObject
(
self
.
funObject
))
{
if
(
self
.
funObject
&&
!
self
.
isEmptyObject
(
self
.
funObject
))
{
self
.
formModel
=
self
.
funObject
.
beforeRender
(
resp
.
data
,
self
.
formModel
)
self
.
formModel
=
self
.
funObject
.
beforeRender
(
resp
.
data
,
self
.
formModel
)
}
}
// 如果是主查外
}
else
if
(
resp
.
data
.
length
>
0
&&
resp
.
data
[
0
].
superior
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
superior
)
&&
resp
.
data
[
0
].
refers
!==
undefined
&&
!
self
.
isEmptyObject
(
resp
.
data
[
0
].
refers
))
{
console
.
log
(
'主查外'
,
resp
.
data
)
// 渲染之前执行用户的beforeRender方法对数据进行处理
if
(
self
.
funObject
&&
!
self
.
isEmptyObject
(
self
.
funObject
))
{
self
.
formModel
=
self
.
funObject
.
beforeRender
(
resp
.
data
,
self
.
formModel
)
}
// 如果只是单表
}
else
if
(
resp
.
data
.
length
>
0
)
{
}
else
if
(
resp
.
data
.
length
>
0
)
{
console
.
log
(
'单表查询'
,
resp
.
data
)
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中对应的数据
}
else
{
}
else
{
self
.
formModel
=
_
.
pick
(
resp
.
data
[
0
],
formArray
)
self
.
formModel
=
_
.
pick
(
resp
.
data
[
0
],
formArray
)
}
}
// 渲染之前执行用户的beforeRender方法对数据进行处理
if
(
self
.
funObject
&&
typeof
(
self
.
funObject
.
beforeRender
)
===
'function'
)
{
self
.
formModel
=
self
.
funObject
.
beforeRender
(
resp
.
data
,
self
.
formModel
)
}
// console.log('获取到数据', self.formModel)
// console.log('获取到数据', 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
)
{
...
@@ -781,6 +1001,14 @@
...
@@ -781,6 +1001,14 @@
onSubmit
(
callback
,
processData
)
{
onSubmit
(
callback
,
processData
)
{
const
self
=
this
const
self
=
this
console
.
log
(
'点击了提交函数'
,
self
.
formModel
)
console
.
log
(
'点击了提交函数'
,
self
.
formModel
)
// 如果所有值都为空 禁止提交
if
(
self
.
isEmpty
(
self
.
formModel
))
{
self
.
$message
({
message
:
'不能都为空'
,
type
:
'error'
})
return
}
// 对表单数据进行处理
// 对表单数据进行处理
self
.
formModel
=
processData
?
processData
(
self
.
formModel
,
self
.
isCancel
)
:
self
.
formModel
self
.
formModel
=
processData
?
processData
(
self
.
formModel
,
self
.
isCancel
)
:
self
.
formModel
// console.log(self.formModel)
// console.log(self.formModel)
...
@@ -795,28 +1023,41 @@
...
@@ -795,28 +1023,41 @@
}
}
return
return
}
}
// self.formModel = JSON.stringify(self.formModel)
// var params = _.cloneDeep(self.formModel)
// params = JSON.stringify(params)
// console.log(self.formModel)
// 如果所有值都为空 禁止提交
if
(
self
.
isEmpty
(
self
.
formModel
))
{
self
.
$message
({
message
:
'不能都为空'
,
type
:
'error'
})
return
}
// 验证、提交
// 验证、提交
self
.
$refs
.
form
.
validate
((
valid
)
=>
{
self
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
// console.log('valid通过!')
// console.log('valid通过!')
// 存在tableId 则修改信息
// 存在tableId 则修改信息
if
(
self
.
tableId
)
{
if
(
self
.
tableId
)
{
// 外查主 从formModel中分离本表、外表数据
if
(
self
.
includes
&&
!
self
.
isEmptyObject
(
self
.
includes
))
{
_
.
each
(
self
.
formModel
,
function
(
val
,
idx
)
{
// 后缀带O是非本表 连带查出来的表 并非就是指外表
// if (idx.slice(-1) === 'O') {
// idx = idx.slice(0, idx.length - 1)
// self.foreignFormModel[idx] = val
// } else {
// // 不带后缀是本表
// idx = idx.slice(0, idx.length - 1)
// self.nativeFormModel[idx] = val
// }
if
(
idx
.
slice
(
-
1
)
===
'C'
)
{
idx
=
idx
.
slice
(
0
,
idx
.
length
-
1
)
self
.
nativeFormModel
[
idx
]
=
val
}
else
{
idx
=
idx
.
slice
(
0
,
idx
.
length
-
1
)
self
.
foreignFormModel
[
idx
]
=
val
}
})
}
console
.
log
(
879
,
self
.
nativeFormModel
)
console
.
log
(
880
,
self
.
foreignFormModel
)
// 修改本表数据
request
(
self
.
schema
.
modelUnderscorePlural
+
'/'
+
self
.
tableId
+
'/edit'
,
{
request
(
self
.
schema
.
modelUnderscorePlural
+
'/'
+
self
.
tableId
+
'/edit'
,
{
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'
},
data
:
self
.
f
ormModel
,
data
:
self
.
isEmptyObject
(
self
.
nativeFormModel
)
?
self
.
formModel
:
self
.
nativeF
ormModel
,
transformRequest
:
transformRequest
:
function
(
obj
)
{
function
(
obj
)
{
var
str
=
[]
var
str
=
[]
...
@@ -830,7 +1071,7 @@
...
@@ -830,7 +1071,7 @@
return
str
.
join
(
'&'
)
return
str
.
join
(
'&'
)
}
}
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
console
.
log
(
'修改
成功'
)
console
.
log
(
'修改
本表成功'
,
resp
)
// self.resetForm()
// self.resetForm()
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
self
.
$message
({
self
.
$message
({
...
@@ -838,9 +1079,10 @@
...
@@ -838,9 +1079,10 @@
type
:
'success'
type
:
'success'
})
})
}
}
// self.formModel = {} // 新建完成清空数据
// 修改成功执行用户回调
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
(
resp
.
data
)
callback
(
resp
.
data
,
self
.
formModel
)
}
}
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
console
.
log
(
err
)
console
.
log
(
err
)
...
@@ -851,6 +1093,29 @@
...
@@ -851,6 +1093,29 @@
})
})
}
}
})
})
// 修改本表完成后拿到id再修改外表数据
if
(
self
.
includes
&&
!
self
.
isEmptyObject
(
self
.
includes
)
&&
!
self
.
isEmptyObject
(
self
.
foreignFormModel
))
{
request
(
_
.
keys
(
self
.
includes
)[
0
]
+
's/'
+
self
.
foreighId
+
'/edit'
,
{
method
:
'post'
,
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded;charset=UTF-8'
},
data
:
self
.
foreignFormModel
,
transformRequest
:
function
(
obj
)
{
var
str
=
[]
// 删除空值的属性
obj
=
_
.
omitBy
(
obj
,
function
(
value
)
{
return
value
===
null
// 删除value=null的属性,剩下的返回给新对象
})
for
(
var
p
in
obj
)
{
str
.
push
(
encodeURIComponent
(
p
)
+
'='
+
encodeURIComponent
(
obj
[
p
]))
}
return
str
.
join
(
'&'
)
}
}).
then
(
resp
=>
{
console
.
log
(
'修改外表成功'
,
resp
)
})
}
}
else
{
}
else
{
// 不存在tableId 则创建一条数据
// 不存在tableId 则创建一条数据
// console.log(self.formModel)
// console.log(self.formModel)
...
@@ -1000,10 +1265,13 @@
...
@@ -1000,10 +1265,13 @@
type
:
'success'
type
:
'success'
})
})
}
}
//
self.resetForm()
//
新建成功执行用户回调
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
(
resp
.
data
)
callback
(
resp
.
data
,
self
.
formModel
)
}
}
// 清空上传文件和树形菜单的codeComel
self
.
currentFile
=
''
self
.
currentTree
=
''
}).
catch
(
err
=>
{
}).
catch
(
err
=>
{
console
.
log
(
err
)
console
.
log
(
err
)
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
if
(
self
.
tips
&&
!
self
.
isEmptyObject
(
self
.
tips
)
&&
!
self
.
tips
.
hidde
)
{
...
@@ -1014,6 +1282,7 @@
...
@@ -1014,6 +1282,7 @@
}
}
})
})
}
}
self
.
close
()
}
else
{
}
else
{
console
.
log
(
'提交失败!!'
)
console
.
log
(
'提交失败!!'
)
self
.
$message
({
self
.
$message
({
...
@@ -1047,6 +1316,7 @@
...
@@ -1047,6 +1316,7 @@
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
()
callback
()
}
}
this
.
close
()
},
},
// 取消的回调函数
// 取消的回调函数
cancel
(
callback
)
{
cancel
(
callback
)
{
...
@@ -1054,6 +1324,10 @@
...
@@ -1054,6 +1324,10 @@
if
(
typeof
(
callback
)
===
'function'
)
{
if
(
typeof
(
callback
)
===
'function'
)
{
callback
(
self
.
formModel
)
callback
(
self
.
formModel
)
}
}
self
.
close
()
},
close
()
{
this
.
$emit
(
'formVisible'
)
}
}
}
}
...
@@ -1072,4 +1346,13 @@
...
@@ -1072,4 +1346,13 @@
.hm-form
.ql-toolbar.ql-snow
{
.hm-form
.ql-toolbar.ql-snow
{
padding
:
7px
;
padding
:
7px
;
}
}
.hm-form
.el-input__inner
:hover
{
border-color
:
rgba
(
153
,
153
,
153
,
0.6
);
}
.hm-form
.el-tree
{
border-radius
:
4px
;
border
:
1px
solid
red
;
height
:
150px
;
overflow-y
:
auto
;
}
</
style
>
</
style
>
src/views/haomo/components/forms/index.vue
View file @
bf3ed7ac
...
@@ -6,9 +6,7 @@
...
@@ -6,9 +6,7 @@
:layout=
"layout"
:layout=
"layout"
:tips=
"tips"
:tips=
"tips"
:funObject=
"funObject"
:funObject=
"funObject"
:refers=
"userRefers"
>
:foreignFormFields=
"foreignFormFields"
:relates=
"userRelates"
>
<!-- foreignFormFields 主查外的外表显示字段 和userRefers连用-->
<!-- foreignFormFields 主查外的外表显示字段 和userRefers连用-->
<!-- :relates="userRelates" 中间表和间接关联表-->
<!-- :relates="userRelates" 中间表和间接关联表-->
<!-- :refers="userRefers" 主查外的外表和外键字段 和foreignFormFields;连用-->
<!-- :refers="userRefers" 主查外的外表和外键字段 和foreignFormFields;连用-->
...
@@ -48,15 +46,16 @@
...
@@ -48,15 +46,16 @@
// ]
// ]
},
},
// 2下拉框
// 2下拉框
{
name
:
'用户名称'
,
codeCamel
:
'username'
,
widgetType
:
2
,
multiple
:
false
,
// { name: '用户名称', codeCamel: 'username', widgetType: 2, multiple: false,
change
:
this
.
inputChange
,
// default: [1], 如果开启多选,默认选中项用数组[1]、[1,2,3]
// change: this.selectChange, // default: [1], 如果开启多选,默认选中项用数组[1]、[1,2,3]
options
:
[
// allowCreate: true,
{
value
:
'1'
,
label
:
'企业'
},
// 下拉框的label是选项文字,value是选中值
// options: [
{
value
:
'2'
,
label
:
'代理商'
},
// { value: '1', label: '企业' }, // 下拉框的label是选项文字,value是选中值
{
value
:
'3'
,
label
:
'会员'
},
// { value: '2', label: '代理商' },
{
value
:
'4'
,
label
:
'访客'
}
// { value: '3', label: '会员' },
]
// { value: '4', label: '访客' }
},
// ]
// },
// 3多选 不支持默认值
// 3多选 不支持默认值
{
name
:
'部门ID'
,
codeCamel
:
'departmentId'
,
widgetType
:
3
,
options
:
[
'美女'
,
'帅哥'
],
change
:
this
.
inputChange
},
{
name
:
'部门ID'
,
codeCamel
:
'departmentId'
,
widgetType
:
3
,
options
:
[
'美女'
,
'帅哥'
],
change
:
this
.
inputChange
},
// 4密码
// 4密码
...
@@ -73,9 +72,11 @@
...
@@ -73,9 +72,11 @@
{
label
:
1
,
value
:
'会员'
},
// 单选的value是选项文字,label是选中值
{
label
:
1
,
value
:
'会员'
},
// 单选的value是选项文字,label是选中值
{
label
:
2
,
value
:
'访客'
}
// 如果数据库中存的数据类型是number,label值写number如1,如果为string,label值写string ,如'1'
{
label
:
2
,
value
:
'访客'
}
// 如果数据库中存的数据类型是number,label值写number如1,如果为string,label值写string ,如'1'
],
// default: 1
],
// default: 1
change
:
this
.
inputChange
},
change
:
this
.
inputChange
},
// 8文件 change: this.uploadChange
// 8文件 change: this.uploadChange
{
name
:
'选择头像'
,
codeCamel
:
'avatar'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
,
accept
:
'image/*'
}
// url是后台接口地址
{
name
:
'选择头像'
,
codeCamel
:
'avatar'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
},
// url是后台接口地址
{
name
:
'用户名称'
,
codeCamel
:
'username'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
}
// url是后台接口地址
],
],
// CcSubject示例
// CcSubject示例
showUserColumns2
:
[
showUserColumns2
:
[
...
@@ -105,11 +106,12 @@
...
@@ -105,11 +106,12 @@
includes
:
[
'ccSubjectId'
]
includes
:
[
'ccSubjectId'
]
}
}
},
},
// userIncludes: {
// 外查主
// 'hm_user': {
userIncludes
:
{
// includes: ['user_id']
'hm_user'
:
{
// }
includes
:
[
'user_id'
]
// },
}
},
// 要显示按钮
// 要显示按钮
showUserButtons
:
[
showUserButtons
:
[
{
text
:
'确定'
,
type
:
1
,
method
:
this
.
method1
,
beforeSubmit
:
this
.
processData
},
{
text
:
'确定'
,
type
:
1
,
method
:
this
.
method1
,
beforeSubmit
:
this
.
processData
},
...
@@ -120,7 +122,8 @@
...
@@ -120,7 +122,8 @@
{
text
:
'取消'
,
type
:
3
,
method
:
this
.
method3
}
{
text
:
'取消'
,
type
:
3
,
method
:
this
.
method3
}
],
],
funObject
:
{
funObject
:
{
beforeRender
:
this
.
beforeRender
beforeRender
:
this
.
beforeRender
,
uploadFun
:
this
.
uploadFun
},
},
// showUserButtons: []
// showUserButtons: []
// 布局方式
// 布局方式
...
@@ -143,6 +146,7 @@
...
@@ -143,6 +146,7 @@
datePicker
:
{
style
:
{
width
:
'60%'
}},
datePicker
:
{
style
:
{
width
:
'60%'
}},
input
:
{
style
:
{
width
:
'60%'
}},
input
:
{
style
:
{
width
:
'60%'
}},
select
:
{
style
:
{
width
:
'60%'
}},
select
:
{
style
:
{
width
:
'60%'
}},
cascader
:
{
style
:
{
width
:
'60%'
}},
textarea
:
{
textarea
:
{
style
:
{
width
:
'60%'
},
style
:
{
width
:
'60%'
},
resize
:
'none'
,
resize
:
'none'
,
...
@@ -179,10 +183,13 @@
...
@@ -179,10 +183,13 @@
},
},
methods
:
{
methods
:
{
inputChange
(
val
,
formModel
)
{
inputChange
(
val
,
formModel
)
{
console
.
log
(
val
)
//
console.log(val)
console
.
log
(
formModel
)
//
console.log(formModel)
// formModel.email = val.length
// formModel.email = val.length
},
},
selectChange
(
val
,
formModel
)
{
console
.
log
(
'下拉框change'
,
val
,
formModel
)
},
processData
(
object
,
isCancel
)
{
processData
(
object
,
isCancel
)
{
isCancel
.
cancelSubmit
=
false
// 如果要取消提交,设为true
isCancel
.
cancelSubmit
=
false
// 如果要取消提交,设为true
console
.
log
(
125
,
object
)
console
.
log
(
125
,
object
)
...
@@ -211,6 +218,12 @@
...
@@ -211,6 +218,12 @@
// console.log(111, data)
// console.log(111, data)
// console.log(112, formModel)
// console.log(112, formModel)
return
formModel
return
formModel
},
uploadFun
:
function
(
response
,
formModel
)
{
// console.log(215, response)
// console.log(216, formModel)
// 修改其他表单的值
formModel
.
email
=
response
.
visitName
}
}
}
}
}
}
...
...
src/views/haomo/components/tables/HmComplexTable.vue
View file @
bf3ed7ac
...
@@ -96,11 +96,11 @@
...
@@ -96,11 +96,11 @@
<el-button
class=
"filter-item"
:style=
"titleButtonStyle"
type=
"primary"
v-waves
icon=
"el-icon-close"
v-if=
"multipleSelection.length"
@
click=
"BatchRemove"
>
批量删除
</el-button>
<el-button
class=
"filter-item"
:style=
"titleButtonStyle"
type=
"primary"
v-waves
icon=
"el-icon-close"
v-if=
"multipleSelection.length"
@
click=
"BatchRemove"
>
批量删除
</el-button>
</span>
</span>
<hm-full-calendar
style=
"display: inline;margin-left: 10px;"
:schema=
"HmFullCalendar.calendarSchema"
:demoEvents=
"HmFullCalendar.demoEvents"
v-if=
"HmFullCalendar.calendarSchema"
></hm-full-calendar>
<hm-full-calendar
style=
"display: inline;margin-left: 10px;"
:schema=
"HmFullCalendar.calendarSchema"
:demoEvents=
"HmFullCalendar.demoEvents"
v-if=
"HmFullCalendar.calendarSchema"
></hm-full-calendar>
</el-form>
</el-form>
</div>
</div>
<!-- end 过滤 -->
<!-- end 过滤 -->
<!-- 表格 -->
<!-- 表格 -->
<el-table
:data=
"list"
v-loading=
"listLoading"
element-loading-text=
"给我一点时间"
border
fit
highlight-current-row
:cell-style=
"cellStyle"
ref=
"multipleTable"
<el-table
:data=
"list"
v-loading=
"listLoading"
element-loading-text=
"给我一点时间"
border
fit
highlight-current-row
:cell-style=
"cellStyle"
ref=
"multipleTable"
:style=
"tableStyle"
@
selection-change=
"handleSelectionChange"
@
sort-change=
"sortChange"
@
current-change=
"tableCurrentChange"
>
:style=
"tableStyle"
@
selection-change=
"handleSelectionChange"
@
sort-change=
"sortChange"
@
current-change=
"tableCurrentChange"
>
...
@@ -147,13 +147,16 @@
...
@@ -147,13 +147,16 @@
:formStyle=
"HmComplexForm.formStyle"
:formStyle=
"HmComplexForm.formStyle"
:funObject=
"HmComplexForm.funObject"
:funObject=
"HmComplexForm.funObject"
:refers=
"HmComplexForm.formRefers"
:refers=
"HmComplexForm.formRefers"
:includes=
"HmComplexForm.formIncludes"
:foreignFormFields=
"HmComplexForm.foreignFormFields"
:foreignFormFields=
"HmComplexForm.foreignFormFields"
:relates=
"HmComplexForm.formRelates"
>
:relates=
"HmComplexForm.formRelates"
:rules=
"HmComplexForm.rules"
v-on:formVisible=
'dialogClose'
>
</hm-complex-form>
</hm-complex-form>
</el-dialog>
</el-dialog>
<!-- end 弹窗 -->
<!-- end 弹窗 -->
</div>
</div>
</template>
</template>
...
@@ -166,7 +169,7 @@
...
@@ -166,7 +169,7 @@
import
{
Button
,
Table
,
TableColumn
,
Pagination
,
Loading
}
from
'element-ui'
import
{
Button
,
Table
,
TableColumn
,
Pagination
,
Loading
}
from
'element-ui'
import
HmComplexForm
from
'../forms/HmComplexForm.vue'
import
HmComplexForm
from
'../forms/HmComplexForm.vue'
import
HmFullCalendar
from
'../calendar/HmFullCalendar.vue'
import
HmFullCalendar
from
'../calendar/HmFullCalendar.vue'
/**
/**
* 毫末科技的表格组件.
* 毫末科技的表格组件.
*
*
...
@@ -272,7 +275,7 @@
...
@@ -272,7 +275,7 @@
console
.
warn
(
`传入的columns不符合要求,必须是数组`
)
console
.
warn
(
`传入的columns不符合要求,必须是数组`
)
return
false
return
false
}
}
return
true
return
true
}
}
},
},
...
@@ -394,17 +397,21 @@
...
@@ -394,17 +397,21 @@
formStyle
:
{},
formStyle
:
{},
funObject
:
{},
funObject
:
{},
formRefers
:
{},
formRefers
:
{},
formIncludes
:
{},
foreignFormFields
:
[],
foreignFormFields
:
[],
formRelates
:
[]
formRelates
:
[],
rules
:
{
}
},
},
showOverflowTooltip
:
false
,
// 设置当内容过长被隐藏时显示 tooltip
showOverflowTooltip
:
false
,
// 设置当内容过长被隐藏时显示 tooltip
HmFullCalendar
:
{},
//
HmFullCalendar
:
{},
//
isShowRefresh
:
false
,
isShowRefresh
:
false
,
buttonGroup
:
false
,
buttonGroup
:
false
,
operationWidth
:
0
,
// 操作栏的宽度
operationWidth
:
2
0
,
// 操作栏的宽度
isShowDetail
:
false
,
// 是否显示详情按钮
isShowDetail
:
false
,
// 是否显示详情按钮
definedOperate
:
[],
// 自定义操作
definedOperate
:
[],
// 自定义操作
definedOperation
:
[]
definedOperation
:
[]
}
}
...
@@ -416,18 +423,33 @@
...
@@ -416,18 +423,33 @@
if
(
!
ret
)
{
if
(
!
ret
)
{
return
ret
return
ret
}
}
if
(
!
ret
[
self
.
schema
[
'modelUnderscore'
]])
{
if
(
!
ret
[
self
.
schema
[
'modelUnderscore'
]])
{
return
ret
return
ret
}
}
_
.
map
(
ret
,
function
(
item
)
{
_
.
forEach
(
item
,
function
(
value
,
key
)
{
if
(
value
.
lessThanOrEqualTo
!==
undefined
&&
value
.
greaterThanOrEqualTo
!==
undefined
&&
(
value
.
greaterThanOrEqualTo
===
''
||
value
.
greaterThanOrEqualTo
===
null
)
&&
(
value
.
lessThanOrEqualTo
===
''
||
value
.
lessThanOrEqualTo
===
null
))
{
delete
item
[
key
]
}
if
(
value
.
greaterThanOrEqualTo
!==
undefined
&&
(
value
.
greaterThanOrEqualTo
===
''
||
value
.
greaterThanOrEqualTo
===
null
)
&&
value
.
lessThanOrEqualTo
)
{
delete
item
[
key
].
greaterThanOrEqualTo
}
if
(
value
.
lessThanOrEqualTo
!==
undefined
&&
(
value
.
lessThanOrEqualTo
===
''
||
value
.
lessThanOrEqualTo
===
null
)
&&
value
.
greaterThanOrEqualTo
)
{
delete
item
[
key
].
lessThanOrEqualTo
}
})
})
_
.
each
(
Object
.
keys
(
ret
[
self
.
schema
[
'modelUnderscore'
]]),
function
(
column
)
{
_
.
each
(
Object
.
keys
(
ret
[
self
.
schema
[
'modelUnderscore'
]]),
function
(
column
)
{
const
operValue
=
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
]
const
operValue
=
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
]
if
(
Object
.
keys
(
operValue
)[
0
]
===
'like'
)
{
if
(
Object
.
keys
(
operValue
)[
0
]
===
'like'
)
{
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
=
'%'
+
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
+
'%'
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
=
'%'
+
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
+
'%'
}
}
})
})
return
ret
return
ret
}
}
},
},
...
@@ -435,6 +457,7 @@
...
@@ -435,6 +457,7 @@
// this.validate()
// this.validate()
const
self
=
this
const
self
=
this
if
(
this
.
userDefined
&&
this
.
userDefined
.
pretreatment
)
{
if
(
this
.
userDefined
&&
this
.
userDefined
.
pretreatment
)
{
self
.
init
()
self
.
userDefined
.
pretreatment
().
then
(
function
()
{
self
.
userDefined
.
pretreatment
().
then
(
function
()
{
self
.
init
()
self
.
init
()
self
.
getList
()
self
.
getList
()
...
@@ -457,7 +480,7 @@
...
@@ -457,7 +480,7 @@
if
(
!
item
)
{
if
(
!
item
)
{
return
0
return
0
}
}
if
(
typeof
item
!==
'string'
&&
typeof
item
!==
'object'
)
{
if
(
typeof
item
!==
'string'
&&
typeof
item
!==
'object'
)
{
console
.
error
(
`传入的columns不符合要求,数组元素必须是字符串或对象`
)
console
.
error
(
`传入的columns不符合要求,数组元素必须是字符串或对象`
)
}
}
...
@@ -469,10 +492,10 @@
...
@@ -469,10 +492,10 @@
}
}
})
})
},
},
init
()
{
init
()
{
const
self
=
this
const
self
=
this
self
.
operationWidth
=
0
self
.
operationWidth
=
2
0
// 处理要显示的列
// 处理要显示的列
if
(
!
self
.
columns
||
!
self
.
columns
.
length
)
{
if
(
!
self
.
columns
||
!
self
.
columns
.
length
)
{
_
.
each
(
self
.
schema
[
'columns'
],
function
(
column
)
{
_
.
each
(
self
.
schema
[
'columns'
],
function
(
column
)
{
...
@@ -498,7 +521,7 @@
...
@@ -498,7 +521,7 @@
item
.
isSort
=
item
.
isSort
===
undefined
?
false
:
item
.
isSort
===
true
?
'custom'
:
false
item
.
isSort
=
item
.
isSort
===
undefined
?
false
:
item
.
isSort
===
true
?
'custom'
:
false
})
})
}
}
// 处理过滤条件
// 处理过滤条件
if
(
self
.
filters
)
{
if
(
self
.
filters
)
{
const
tableName
=
self
.
schema
[
'modelUnderscore'
]
const
tableName
=
self
.
schema
[
'modelUnderscore'
]
...
@@ -523,7 +546,7 @@
...
@@ -523,7 +546,7 @@
if
(
self
.
userDefined
)
{
if
(
self
.
userDefined
)
{
self
.
setDefinedOperate
()
self
.
setDefinedOperate
()
}
}
console
.
log
(
request
.
defaults
)
console
.
log
(
request
.
defaults
)
console
.
log
(
`request.defaults.baseURL:
${
request
.
defaults
.
baseURL
}
`
)
console
.
log
(
`request.defaults.baseURL:
${
request
.
defaults
.
baseURL
}
`
)
},
},
...
@@ -534,7 +557,20 @@
...
@@ -534,7 +557,20 @@
self
.
definedOperate
=
self
.
userDefined
.
definedOperate
self
.
definedOperate
=
self
.
userDefined
.
definedOperate
}
}
if
(
self
.
userDefined
.
definedOperation
)
{
if
(
self
.
userDefined
.
definedOperation
)
{
self
.
operationWidth
+=
50
*
self
.
userDefined
.
definedOperation
.
length
_
.
each
(
self
.
userDefined
.
definedOperation
,
function
(
item
,
index
)
{
_
.
each
(
item
.
label
,
function
(
value
)
{
if
(
!
isNaN
(
Number
(
value
)))
{
self
.
operationWidth
+=
8
// 如果是数字+8
}
else
{
self
.
operationWidth
+=
13
// 如果是汉字加13
}
})
if
(
self
.
userDefined
.
definedOperation
.
length
>
1
&&
index
>
1
)
{
self
.
operationWidth
+=
13
// 每添加一条需加上margin
}
else
{
self
.
operationWidth
+=
5
}
})
self
.
definedOperation
=
self
.
userDefined
.
definedOperation
self
.
definedOperation
=
self
.
userDefined
.
definedOperation
}
}
},
},
...
@@ -553,23 +589,23 @@
...
@@ -553,23 +589,23 @@
getList
()
{
getList
()
{
const
self
=
this
const
self
=
this
self
.
listLoading
=
true
self
.
listLoading
=
true
// 处理过滤条件
// 处理过滤条件
let
params
=
JSON
.
parse
(
JSON
.
stringify
(
self
.
listQuery
))
let
params
=
JSON
.
parse
(
JSON
.
stringify
(
self
.
listQuery
))
params
.
filters
=
self
.
filterParams
params
.
filters
=
self
.
filterParams
params
.
filters
=
this
.
deleteFilter
(
params
.
filters
)
params
.
filters
=
this
.
deleteFilter
(
params
.
filters
)
if
(
self
.
includes
)
{
if
(
self
.
includes
)
{
params
.
includes
=
self
.
includes
params
.
includes
=
self
.
includes
}
}
if
(
self
.
refers
)
{
if
(
self
.
refers
)
{
params
.
refers
=
self
.
refers
params
.
refers
=
self
.
refers
}
}
if
(
self
.
userDefined
&&
self
.
userDefined
.
definedParams
)
{
if
(
self
.
userDefined
&&
self
.
userDefined
.
definedParams
)
{
params
=
self
.
userDefined
.
definedParams
(
params
,
self
.
definedOperate
)
params
=
self
.
userDefined
.
definedParams
(
params
,
self
.
definedOperate
)
}
}
request
(
self
.
schema
.
modelUnderscorePlural
,
{
request
(
self
.
schema
.
modelUnderscorePlural
,
{
params
:
params
params
:
params
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
...
@@ -664,6 +700,7 @@
...
@@ -664,6 +700,7 @@
formStyle
:
{},
formStyle
:
{},
funObject
:
{},
funObject
:
{},
formRefers
:
{},
formRefers
:
{},
formIncludes
:
{},
foreignFormFields
:
[],
foreignFormFields
:
[],
formRelates
:
[]
formRelates
:
[]
}
}
...
@@ -681,6 +718,7 @@
...
@@ -681,6 +718,7 @@
self
.
options
.
editData
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
editData
.
formStyle
:
''
self
.
options
.
editData
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
editData
.
formStyle
:
''
self
.
options
.
editData
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
editData
.
funObject
:
''
self
.
options
.
editData
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
editData
.
funObject
:
''
self
.
options
.
editData
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
editData
.
formRefers
:
''
self
.
options
.
editData
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
editData
.
formRefers
:
''
self
.
options
.
editData
.
formIncludes
?
self
.
HmComplexForm
.
formIncludes
=
self
.
options
.
editData
.
formIncludes
:
''
self
.
options
.
editData
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
editData
.
foreignFormFields
:
''
self
.
options
.
editData
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
editData
.
foreignFormFields
:
''
self
.
options
.
editData
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
editData
.
formRelates
:
''
self
.
options
.
editData
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
editData
.
formRelates
:
''
}
}
...
@@ -696,12 +734,13 @@
...
@@ -696,12 +734,13 @@
self
.
options
.
newData
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
newData
.
formStyle
:
''
self
.
options
.
newData
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
newData
.
formStyle
:
''
self
.
options
.
newData
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
newData
.
funObject
:
''
self
.
options
.
newData
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
newData
.
funObject
:
''
self
.
options
.
newData
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
newData
.
formRefers
:
''
self
.
options
.
newData
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
newData
.
formRefers
:
''
self
.
options
.
newData
.
formIncludes
?
self
.
HmComplexForm
.
formIncludes
=
self
.
options
.
newData
.
formIncludes
:
''
self
.
options
.
newData
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
newData
.
foreignFormFields
:
''
self
.
options
.
newData
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
newData
.
foreignFormFields
:
''
self
.
options
.
newData
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
newData
.
formRelates
:
''
self
.
options
.
newData
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
newData
.
formRelates
:
''
}
}
if
(
type
===
'detail'
)
{
if
(
type
===
'detail'
)
{
self
.
dialogName
=
'详情'
self
.
dialogName
=
'详情'
if
(
self
.
options
.
showDetail
.
showUserButtons
)
{
if
(
self
.
options
.
showDetail
.
showUserButtons
)
{
self
.
HmComplexForm
.
showUserButtons
=
self
.
options
.
showDetail
.
showUserButtons
self
.
HmComplexForm
.
showUserButtons
=
self
.
options
.
showDetail
.
showUserButtons
}
}
...
@@ -712,11 +751,17 @@
...
@@ -712,11 +751,17 @@
self
.
options
.
showDetail
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
showDetail
.
formStyle
:
''
self
.
options
.
showDetail
.
formStyle
?
self
.
HmComplexForm
.
formStyle
=
self
.
options
.
showDetail
.
formStyle
:
''
self
.
options
.
showDetail
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
showDetail
.
funObject
:
''
self
.
options
.
showDetail
.
funObject
?
self
.
HmComplexForm
.
funObject
=
self
.
options
.
showDetail
.
funObject
:
''
self
.
options
.
showDetail
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
showDetail
.
formRefers
:
''
self
.
options
.
showDetail
.
formRefers
?
self
.
HmComplexForm
.
formRefers
=
self
.
options
.
showDetail
.
formRefers
:
''
self
.
options
.
showDetail
.
formIncludes
?
self
.
HmComplexForm
.
formIncludes
=
self
.
options
.
showDetail
.
formIncludes
:
''
self
.
options
.
showDetail
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
showDetail
.
foreignFormFields
:
''
self
.
options
.
showDetail
.
foreignFormFields
?
self
.
HmComplexForm
.
foreignFormFields
=
self
.
options
.
showDetail
.
foreignFormFields
:
''
self
.
options
.
showDetail
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
showDetail
.
formRelates
:
''
self
.
options
.
showDetail
.
formRelates
?
self
.
HmComplexForm
.
formRelates
=
self
.
options
.
showDetail
.
formRelates
:
''
self
.
HmComplexForm
.
tableId
=
data
.
id
self
.
HmComplexForm
.
tableId
=
data
.
id
// wk 2018年05月09日11:57:06
if
(
self
.
options
.
showDetail
.
funCallback
)
{
self
.
options
.
showDetail
.
funCallback
(
data
)
}
}
}
self
.
dialogFormVisible
=
true
self
.
dialogFormVisible
=
true
},
},
statusFunc
(
row
,
operation
)
{
statusFunc
(
row
,
operation
)
{
...
@@ -764,7 +809,7 @@
...
@@ -764,7 +809,7 @@
filters
:
{}
filters
:
{}
}
}
this
.
init
()
this
.
init
()
this
.
getList
()
this
.
getList
()
},
},
// 批量删除
// 批量删除
...
@@ -797,7 +842,7 @@
...
@@ -797,7 +842,7 @@
}).
then
(
resp
=>
{
}).
then
(
resp
=>
{
if
(
resp
.
data
.
message
===
'delete success'
)
{
if
(
resp
.
data
.
message
===
'delete success'
)
{
self
.
$message
({
self
.
$message
({
message
:
resp
.
data
.
message
,
message
:
'删除成功'
,
type
:
'success'
type
:
'success'
})
})
self
.
getList
()
self
.
getList
()
...
@@ -820,7 +865,7 @@
...
@@ -820,7 +865,7 @@
}
}
if
(
self
.
options
.
editData
&&
self
.
options
.
editData
.
isShow
)
{
// 判断是否显示编辑按钮
if
(
self
.
options
.
editData
&&
self
.
options
.
editData
.
isShow
)
{
// 判断是否显示编辑按钮
self
.
isShowEditDataButton
=
self
.
options
.
editData
.
isShow
self
.
isShowEditDataButton
=
self
.
options
.
editData
.
isShow
self
.
operationWidth
+=
5
0
self
.
operationWidth
+=
3
0
}
}
if
(
self
.
options
.
showRefresh
)
{
// 判断是否显示刷新按钮
if
(
self
.
options
.
showRefresh
)
{
// 判断是否显示刷新按钮
self
.
isShowRefresh
=
self
.
options
.
showRefresh
self
.
isShowRefresh
=
self
.
options
.
showRefresh
...
@@ -839,14 +884,14 @@
...
@@ -839,14 +884,14 @@
}
}
if
(
self
.
options
.
showDeleteButton
)
{
// 判断是否显示删除按钮
if
(
self
.
options
.
showDeleteButton
)
{
// 判断是否显示删除按钮
self
.
isShowDeleteButton
=
self
.
options
.
showDeleteButton
self
.
isShowDeleteButton
=
self
.
options
.
showDeleteButton
self
.
operationWidth
+=
5
0
self
.
operationWidth
+=
3
0
}
}
if
(
self
.
options
.
buttonGroup
)
{
// 设置按钮是否以按钮组呈现
if
(
self
.
options
.
buttonGroup
)
{
// 设置按钮是否以按钮组呈现
self
.
buttonGroup
=
self
.
options
.
buttonGroup
self
.
buttonGroup
=
self
.
options
.
buttonGroup
}
}
if
(
self
.
options
.
showDetail
&&
self
.
options
.
showDetail
.
isShow
)
{
// 设置按钮是否以按钮组呈现
if
(
self
.
options
.
showDetail
&&
self
.
options
.
showDetail
.
isShow
)
{
// 设置按钮是否以按钮组呈现
self
.
isShowDetail
=
self
.
options
.
showDetail
.
isShow
self
.
isShowDetail
=
self
.
options
.
showDetail
.
isShow
self
.
operationWidth
+=
5
0
self
.
operationWidth
+=
3
0
}
}
if
(
self
.
options
.
showSelection
)
{
// 设置是否显示多选
if
(
self
.
options
.
showSelection
)
{
// 设置是否显示多选
self
.
isShowSelection
=
self
.
options
.
showSelection
self
.
isShowSelection
=
self
.
options
.
showSelection
...
@@ -912,7 +957,7 @@
...
@@ -912,7 +957,7 @@
}
}
}))
}))
},
},
getFilterColumn
(
filter
)
{
getFilterColumn
(
filter
)
{
const
keys
=
Object
.
keys
(
filter
)
const
keys
=
Object
.
keys
(
filter
)
let
column
=
null
let
column
=
null
...
@@ -930,6 +975,10 @@
...
@@ -930,6 +975,10 @@
},
},
getFilterOperTwin
(
filter
)
{
getFilterOperTwin
(
filter
)
{
return
Object
.
keys
(
filter
[
this
.
getFilterColumn
(
filter
)])[
1
]
return
Object
.
keys
(
filter
[
this
.
getFilterColumn
(
filter
)])[
1
]
},
dialogClose
()
{
this
.
dialogFormVisible
=
false
this
.
getList
()
}
}
}
}
}
}
...
...
src/views/haomo/components/tables/index.vue
View file @
bf3ed7ac
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
userFilters
:
[
userFilters
:
[
{
placeholder
:
'过滤手机号'
,
'mobile'
:
{
'like'
:
''
},
isShow
:
true
},
{
placeholder
:
'过滤手机号'
,
'mobile'
:
{
'like'
:
''
},
isShow
:
true
},
{
placeholder
:
'过滤用户名'
,
'username'
:
{
'equalTo'
:
''
},
isShow
:
true
},
{
placeholder
:
'过滤用户名'
,
'username'
:
{
'equalTo'
:
''
},
isShow
:
true
},
{
placeholder
:
[
'安全级别大于'
,
'安全级别小于'
],
'
create_time
'
:
{
'greaterThanOrEqualTo'
:
''
,
'lessThanOrEqualTo'
:
''
},
isShow
:
true
}
{
placeholder
:
[
'安全级别大于'
,
'安全级别小于'
],
'
security_level
'
:
{
'greaterThanOrEqualTo'
:
''
,
'lessThanOrEqualTo'
:
''
},
isShow
:
true
}
],
],
userIncludes
:
{
userIncludes
:
{
'hm_user'
:
{
'hm_user'
:
{
...
...
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