Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
MCMS
Commits
11306435
Commit
11306435
authored
Feb 16, 2019
by
ms-dev
Browse files
结构更新
parent
28f9a324
Changes
7
Hide whitespace changes
Inline
Side-by-side
src/main/webapp/WEB-INF/manager/mdiy/diy-model/form.ftl
deleted
100644 → 0
View file @
28f9a324
<
link
rel="stylesheet" href="../../../static/mdiy/css/model-form.css">
<
div
id="model-form" class="ms-mdiy-model-form" v-if="modelListVue.href == '表单'">
<el-container>
<el-header class="ms-header" height="50px">
<el-row class="ms-row">
<el-button class="ms-fr" type="success" size="small" icon="el-icon-back" @click="modelListVue.href = '列表'">返回</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-plus">保存</el-button>
</el-row>
</el-header>
<el-container>
<el-aside class="ms-editor-type-layout">
<div class="ms-header-title">自定义表单项</div>
<div id="ms-type-list" class="ms-type-list">
<li v-for="type in typeList" :data-type="type.id" :data-title="type.title" @click="formItemList.push(
{
type
:
type
.id
,
title
:
type
.title
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
}
)">
<i class="iconfont" :class="type.icon"></i>
<span v-text="type.title"></span>
</li>
</div>
</el-aside>
<el-main class="ms-editor-body-layout">
<el-form id="ms-input-list" size="mini" class="form">
<!--控件类型下拉-->
<!--绑定一个自增长ID否则富文本会无法渲染-->
<el-form-item @click.native="formItemActive = formItem;formItemActive.id = index" class="ms-form-item" :class="
{
'
active
'
:
formItemActive
==
formItem
}
" :label="formItem.title" :label-width="'90px'" v-for="(formItem,index) in formItemList">
<!--单行-->
<el-input v-if="formItem.type == '1' && formItem.fieldType != '1-2' && formItem.fieldType != '1-3'" maxlength="20" type="text" v-model="formItem.default" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
<!--多行-->
<el-input v-if="formItem.fieldType == '1-2'" maxlength="20" type="textarea" :rows="4" v-model="formItem.default" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
<div v-show="formItem.fieldType == '1-3'" style="width: 100%;">
<script :id="'ms-ueditor-'+formItemActive.id" type="text/plain" name="taskDescription"></script>
</div>
<!--号码-->
<el-input v-if="formItem.type == '2'" maxlength="11" type="text" v-model="formItem.default" placeholder="选填,1-11,数字" autocomplete="off"></el-input>
<!--金额-->
<el-input class="unit-input" v-if="formItem.type == '3'" maxlength="20" type="number" v-model="formItem.default" placeholder="选填" autocomplete="off">
<template :slot="formItem.fieldType == '3-1'?'prepend':'append'">
{{
formItem
.unit
}}
</template>
</el-input>
<!--数值-->
<el-input v-if="formItem.type == '4'" max="9999" type="number" v-model="formItem.default" placeholder="选填,数字" autocomplete="off"></el-input>
<!--日期和时间-->
<el-date-picker v-if="formItem.type == '5' && formItem.fieldType != '5-2' && formItem.fieldType != '5-3'" style="width: 100%;" v-model="formItem.default" type="datetime" placeholder="选择日期时间">
</el-date-picker>
<!--仅日期-->
<el-date-picker v-if="formItem.fieldType == '5-2'" style="width: 100%;" v-model="formItem.default" type="date" placeholder="选择日期">
</el-date-picker>
<!--仅时间-->
<el-time-picker v-if="formItem.fieldType == '5-3'" style="width: 100%;" v-model="formItem.default" placeholder="选择时间">
</el-time-picker>
<!--选项-->
<!--单选-->
<template v-if="formItem.type == '6' && formItem.fieldType != '6-2'">
<el-radio v-for="(down,index) in formItem.downList" v-model="formItem.downActive" :label="index">
{{
down
.value
}}
</el-radio>
</template>
<!--多选-->
<el-checkbox-group v-model="formItem.downActiveList" v-if="formItem.fieldType == '6-2'">
<el-checkbox v-for="(down,index) in formItem.downList" :label="index">
{{
down
.value
}}
</el-checkbox>
</el-checkbox-group>
<!--下拉菜单-->
<!--单选-->
<el-select style="width: 100%;" v-model="formItem.downActive" placeholder="请选择" v-if="formItem.type == '7' && formItem.fieldType != '7-2'">
<el-option v-for="(down,index) in formItem.downList" :value="index" :label="down.value">
</el-option>
</el-select>
<!--多选-->
<el-select style="width: 100%;" multiple v-model="formItem.downActiveList" placeholder="请选择" v-if="formItem.fieldType == '7-2'">
<el-option v-for="(down,index) in formItem.downList" :value="index" :label="down.value">
</el-option>
</el-select>
<!--上传图片-->
<el-upload v-if="formItem.type == '8'" action="https://jsonplaceholder.typicode.com/posts/" multiple>
<el-button icon="el-icon-upload">上传附件</el-button>
</el-upload>
<!--上传附件-->
<el-upload v-if="formItem.type == '9'" action="https://jsonplaceholder.typicode.com/posts/" multiple list-type="picture-card">
<i class="el-icon-plus"></i>
</el-upload>
<!--删除按钮-->
<el-button class="del-but" type="text" @click.stop="formItemList.splice(index,1)">删除</el-button>
</el-form-item>
</el-form>
</el-main>
<el-aside class="ms-editor-attr-layout">
<div id="ms-editor-attr" class="ms-editor-attr">
<el-form label-position="top" size="mini" class="form">
<!--字段名-->
<el-form-item label="标题" :label-width="'70px'">
<el-input maxlength="5" v-model="formItemActive.title" placeholder="选填,1-5,字符" autocomplete="off"></el-input>
</el-form-item>
<!--数字类型-->
<!--数值-->
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.type === '4'">
<el-input max="9999" type="number" v-model="formItemActive.default" placeholder="选填,数字" autocomplete="off"></el-input>
</el-form-item>
<!--时间类型-->
<el-form-item label="字段类型" :label-width="'70px'" v-if="formItemActive.type === '5'">
<el-radio v-model="formItemActive.fieldType" label="5-1">日期和时间</el-radio>
<el-radio v-model="formItemActive.fieldType" label="5-2">仅日期</el-radio>
<el-radio v-model="formItemActive.fieldType" label="5-3">仅时间</el-radio>
</el-form-item>
<!--日期和时间-->
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.type === '5' && formItemActive.fieldType != '5-2' && formItemActive.fieldType != '5-3'">
<el-date-picker style="width: 100%;" v-model="formItemActive.default" type="datetime" placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<!--仅日期-->
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.fieldType == '5-2'">
<el-date-picker style="width: 100%;" v-model="formItemActive.default" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<!--仅时间-->
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.fieldType == '5-3'">
<el-time-picker style="width: 100%;" v-model="formItemActive.default" placeholder="选择时间">
</el-time-picker>
</el-form-item>
<!--字符串类型-->
<!--文本-->
<el-form-item label="字段类型" :label-width="'70px'" v-if="formItemActive.type === '1'">
<el-radio v-model="formItemActive.fieldType" label="1-1">单行</el-radio>
<el-radio v-model="formItemActive.fieldType" label="1-2">多行</el-radio>
<el-radio v-model="formItemActive.fieldType" label="1-3">带格式</el-radio>
</el-form-item>
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.type === '1'">
<!--输入框判断选中的是多行还是单行-->
<el-input v-if="formItemActive.fieldType != '1-2' && formItemActive.fieldType != '1-3'" maxlength="20" type="text" v-model="formItemActive.default" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
<el-input v-if="formItemActive.fieldType == '1-2' || formItemActive.fieldType == '1-3'" maxlength="20" type="textarea" :rows="4" v-model="formItemActive.default" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
</el-form-item>
<!--号码-->
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.type === '2'">
<el-input maxlength="11" type="text" v-model="formItemActive.default" placeholder="选填,1-11,数字" autocomplete="off"></el-input>
</el-form-item>
<!--金额-->
<el-form-item label="单位" :label-width="'70px'" v-if="formItemActive.type === '3'">
<el-input autocomplete="off" placeholder="选填" maxlength="20" type="text" v-model="formItemActive.unit" class="input-with-select">
<el-select v-model="formItemActive.fieldType" slot="append" placeholder="请选择">
<el-option label="前缀" value="3-1"></el-option>
<el-option label="后缀" value="3-2"></el-option>
</el-select>
</el-input>
</el-form-item>
<el-form-item label="保留几位小数" :label-width="'70px'" v-if="formItemActive.type === '3'">
<el-input min="0" max="9" type="number" v-model="formItemActive.data4" placeholder="选填,数字" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive.type === '3'">
<el-input max="9999" type="number" v-model="formItemActive.default" placeholder="选填,数字" autocomplete="off"></el-input>
</el-form-item>
<!--选项和下拉菜单-->
<el-form-item label="字段类型" :label-width="'70px'" v-if="formItemActive.type === '6' || formItemActive.type === '7'">
<el-radio v-model="formItemActive.fieldType" :label="formItemActive.type+'-1'">单选</el-radio>
<el-radio v-model="formItemActive.fieldType" :label="formItemActive.type+'-2'">多选</el-radio>
</el-form-item>
<el-form-item label="添加选项" :label-width="'70px'" v-show="(formItemActive.type === '6' || formItemActive.type === '7') && (formItemActive.fieldType == formItemActive.type+'-1' || formItemActive.fieldType == formItemActive.type+'-2')">
<ul class="ms-down-list" id="ms-down-list">
<!--单选-->
<li class="ms-down-item" v-for="(down,index) in formItemActive.downList" v-show="formItemActive.fieldType == formItemActive.type+'-1'">
<i class="iconfont icon-tuodong"></i>
<el-radio class="ms-radio" v-model="formItemActive.downActive" :label="index">默认</el-radio>
<el-input maxlength="20" class="ms-input" v-model="down.value" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
<i class="el-icon-delete" @click="formItemActive.downList.splice(index,1)"></i>
</li>
<!--多选-->
<el-checkbox-group id="ms-down-checkbox-list" v-model="formItemActive.downActiveList" v-show="formItemActive.fieldType == formItemActive.type+'-2'">
<li class="ms-down-item" v-for="(down,index) in formItemActive.downList">
<i class="iconfont icon-tuodong"></i>
<el-checkbox class="ms-radio" :label="index">默认</el-checkbox>
<el-input maxlength="20" class="ms-input" v-model="down.value" placeholder="选填,1-20,字符" autocomplete="off"></el-input>
<i class="el-icon-delete" @click="formItemActive.downList.splice(index,1)"></i>
</li>
</el-checkbox-group>
<div class="ms-plus" @click="formItemActive.downList.push(
{}
)" v-if="formItemActive.fieldType == formItemActive.type+'-1' || formItemActive.fieldType == formItemActive.type+'-2'">
<i class="el-icon-plus"></i>添加
</div>
</ul>
</el-form-item>
<!--上传图片-->
<el-form-item label="图片数量限制" :label-width="'70px'" v-if="formItemActive.type === '9'">
<el-input max="9" type="number" v-model="formItemActive.default" placeholder="选填,数字" autocomplete="off"></el-input>
</el-form-item>
<!--上传附件-->
<!--<el-form-item label="默认值" :label-width="'70px'" v-if="formItemActive === '3-7'">
</el-form-item>-->
<!--设置-->
<el-form-item label="设置" :label-width="'70px'">
<el-checkbox-group v-model="formItemActive.set">
<el-checkbox label="必填"></el-checkbox>
<el-checkbox label="唯一" v-if="formItemActive.type != 5"></el-checkbox>
</el-checkbox-group>
</el-form-item>
<!--说明-->
<el-form-item label="填写说明" :label-width="'70px'">
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="formItemActive.explain">
</el-input>
</el-form-item>
</el-form>
<div class="footer">
<el-button size="mini" type="primary">保存</el-button>
</div>
</div>
</el-aside>
</el-container>
</el-container>
</
div
>
<
script
>
var modelFormVue = new Vue(
{
el
:
"#model-form"
,
data
:
{
typeList
:
[
{
title
:
"文本"
,
icon
:
"icon-guidang"
,
id
:
"1"
,
},
{
title
:
"号码"
,
icon
:
"icon-plus-numberfill"
,
id
:
"2"
,
},
{
title
:
"金额"
,
icon
:
"icon-jine"
,
id
:
"3"
,
},
{
title
:
"数值"
,
icon
:
"icon-sifaleizhibanshi"
,
id
:
"4"
,
},
{
title
:
"日期和时间"
,
icon
:
"icon-riqi"
,
id
:
"5"
,
},
{
title
:
"选项"
,
icon
:
"icon-shaixuan"
,
id
:
"6"
,
},
{
title
:
"下拉菜单"
,
icon
:
"icon-xiala"
,
id
:
"7"
,
},
{
title
:
"附件"
,
icon
:
"icon-fujian"
,
id
:
"8"
,
},
{
title
:
"图片"
,
icon
:
"icon-tupian"
,
id
:
"9"
,
}
]
,
//右侧表单项类型
formItemList
:
[
{
title
:
"文本"
,
//标题
value
:
""
,
//内容
type
:
"1"
,
//表单项的类型
downList
:
[]
,
//下拉列表
downActiveList
:
[]
,
//多选列表
set
:
[]
,
//设置
unit
:
''
,
//金额单位
fieldType
:
''
,
//字段类型
},
{
title
:
"号码"
,
value
:
""
,
type
:
"2"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"金额"
,
value
:
""
,
type
:
"3"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"数值"
,
value
:
""
,
type
:
"4"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"日期和时间"
,
value
:
""
,
type
:
"5"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"选项"
,
value
:
""
,
type
:
"6"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"下拉菜单"
,
value
:
""
,
type
:
"7"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"附件"
,
value
:
""
,
type
:
"8"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
{
title
:
"图片"
,
value
:
""
,
type
:
"9"
,
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
}
]
,
//表单项列表
formItemActive
:
{
downList
:
[]
,
downActiveList
:
[]
,
set
:
[]
,
unit
:
''
,
fieldType
:
''
,
},
//选中表单项
},
computed
:
{
//辅助监听对象的属性
fieldType
()
{
return
this
.formItemActive.fieldType
;
}
},
watch
:
{
//监听切换表单字段类型
fieldType
:
function
(
data
)
{
//监听如果切换到发布选项卡
if
(
data
==
'
1-3
'
)
{
let
that
=
this
;
//富文本加载
var
URL
=
window
.UEDITOR_HOME_URL
||
"http://mpm.mingsoft.net/static/plugins/ueditor/1.4.3.1/"
;
if
(
this
.formItemActive.editor
==
null
)
{
//保存这个示例以免在次执行
this
.formItemActive.editor
=
UE
.getEditor
(
'
ms-ueditor-
'
+
this
.formItemActive.id
,
{
toolbars
:
[
['
fullscreen
'
,
'
undo
'
,
'
redo
'
,
'|'
,
'
bold
'
,
'
italic
'
,
'
underline
'
,
'
strikethrough
'
,
'
removeformat
'
,
'
blockquote
'
,
'|'
,
'
forecolor
'
,
'
backcolor
'
,
'
insertorderedlist
'
,
'
insertunorderedlist
'
,
'|'
,
'
attachment
'
,
'
simpleupload
'
,
'
link
'
]
]
,
imageScaleEnabled
:
true
,
//
服务器统一请求接口路径
serverUrl
:
URL
+
"jsp/msController.jsp?jsonConfig=%7BvideoUrlPrefix:'http://mpm.mingsoft.net/',fileUrlPrefix:'http://mpm.mingsoft.net/',imageUrlPrefix:'http://mpm.mingsoft.net/',imagePathFormat:'/upload/pm/editor/%7Btime%7D',filePathFormat:'/upload/pm/editor/%7Btime%7D',videoPathFormat:'/upload/pm/editor/%7Btime%7D'%7D"
,
autoHeightEnabled
:
true
,
autoFloatEnabled
:
true
,
scaleEnabled
:
false
,
compressSide
:
0
,
maxImageSideLength
:
2000
,
maximumWords
:
80000
,
zIndex
:
10000
,
elementPathEnabled
:
false
,
wordCount
:
false
,
initialFrameWidth
:
'
100
%'
,
initialFrameHeight
:
160
,
})
;
}
}
},
//监听切换表单元素
formItemActive
:
function
(
data
)
{
//切换控件类型时
if
(
data
.type
==
'
6
'
||
data
.type
==
'
7
'
)
{
this
.
$nextTick
(
function
()
{
if
(
this
.downListSortable
==
null
)
{
this
.downListSortable
=
new
S
ortable
(
document
.getElementById
(
"ms-down-list"
),
{
animation
:
150
,
draggable
:
'
.ms-down-item
'
,
handle
:
'
.icon-tuodong
'
,
//设置只有小图标可以拖动
ghostClass
:
'
sortable-ghost
'
,
//设置拖动时候显示的样式
})
;
}
if
(
this
.downListCheckboxSortable
==
null
)
{
this
.downListCheckboxSortable
=
new
S
ortable
(
document
.getElementById
(
"ms-down-checkbox-list"
),
{
animation
:
150
,
draggable
:
'
.ms-down-item
'
,
handle
:
'
.icon-tuodong
'
,
//设置只有小图标可以拖动
ghostClass
:
'
sortable-ghost
'
,
//设置拖动时候显示的样式
})
;
}
})
}
}
},
methods
:
{},
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mdiy/diy-model/index.ftl
deleted
100644 → 0
View file @
28f9a324
<
link
rel="stylesheet" href="../../../static/mdiy/css/model-list.css">
<
div
id="model-list" class="ms-mdiy-model-list" v-if="href == '列表'">
<el-container>
<el-header class="ms-header" height="50px">
<el-row>
<el-button size="small" icon="el-icon-plus" type="primary">保存</el-button>
<el-button type="danger" size="small" icon="el-icon-delete">删除</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
</el-row>
</el-header>
<el-container>
<el-header class="ms-tr ms-header">
<el-select v-model="value" placeholder="请选择" size="small">
</el-select>
<el-button size="small" icon="el-icon-search" type="primary">查询</el-button>
</el-header>
<el-main>
<el-table :data="tableData" border style="width: 100%">
<el-table-column label="规则名">
<template slot-scope="scope">
<el-button type="text" v-text="scope.row.data" @click="href='表单'"></el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="发送对象">
</el-table-column>
</el-table>
</el-main>
</el-container>
</el-container>
</
div
>
<
script
>
var modelListVue = new Vue(
{
el
:
"#model-list"
,
data
:
{
value
:
""
,
//
tableData
:
[
{
data
:
'项目玩法'
,
name
:
'王小虎'
,
},
{
data
:
'综合评估'
,
name
:
'王小虎'
,
},
{
data
:
'产权出售'
,
name
:
'王小虎'
,
},
{
data
:
'兵不匹配移动端'
,
name
:
'王小虎'
,
}
]
,
href
:
'列表'
,
//切换页面
addInputType
:
{},
//添加中的表单项
},
watch
:
{
href
:
function
(
data
)
{
var
that
=
this
;
if
(
data
==
'表单'
)
{
this
.
$nextTick
(
function
()
{
new
S
ortable
(
document
.getElementById
(
"ms-type-list"
),
{
group
:
{
name
:
'
shared
'
,
pull
:
'
clone
'
,
ghostClass
:
'
sortable-ghost
'
,
//设置拖动时候显示的样式
},
animation
:
150
,
sort
:
false
,
onStart
:
function
(
event
)
{
//准备拖动时保存拖动选项的数据
that
.addInputType
=
{
type
:
event
.item.dataset.type
,
title
:
event
.item.dataset.title
,
downList
:
[]
,
//下拉列表
downActiveList
:
[]
,
//多选列表
set
:
[]
,
//设置
unit
:
''
,
//金额单位
fieldType
:
''
,
//字段类型
}
;
},
})
;
new
S
ortable
(
document
.getElementById
(
"ms-input-list"
),
{
group
:
{
name
:
'
shared
'
,
pull
:
false
,
ghostClass
:
'
sortable-ghost
'
,
//设置拖动时候显示的样式
},
animation
:
150
,
onAdd
:
function
(
event
)
{
//拖动成功后删除拖动过来的元素
event
.item.parentNode.removeChild
(
event
.item
)
;
//想素组添加拖动过来的选项选项
modelFormVue
.formItemList.splice
(
event
.newIndex
,
0
,
that
.addInputType
)
;
},
})
;
})
}
}
},
methods
:
{},
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mdiy/diy.ftl
deleted
100644 → 0
View file @
28f9a324
<!
DOCTYPE
html>
<
html
>
<head>
<meta charset="UTF-8">
<title></title>
<!--#include virtual="../include/head-file.ftl" -->
</head>
<body>
<!--#include virtual="diy-model/index.ftl" -->
<!--#include virtual="diy-model/form.ftl" -->
</body>
</
html
>
\ No newline at end of file
src/main/webapp/static/mdiy/css/model-form.css
deleted
100644 → 0
View file @
28f9a324
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html
,
body
{
min-height
:
100vh
;
width
:
100vw
;
background-color
:
#eee
;
margin
:
0
;
display
:
flex
;
font-weight
:
initial
!important
;
font-size
:
14px
!important
;
color
:
#333
!important
;
}
html
*,
body
*
{
text-decoration
:
none
!important
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
sans-serif
;
box-sizing
:
border-box
;
}
.ms-ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
display
:
block
;
}
.ms-align-center
{
display
:
flex
;
align-items
:
center
;
}
input
::-webkit-input-placeholder
,
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-size
:
12px
;
color
:
#999
;
resize
:
none
;
}
*
::-webkit-scrollbar
{
width
:
8px
;
height
:
8px
;
}
/*定义滚动条轨道 内阴影+圆角*/
*
::-webkit-scrollbar-track
{
border-radius
:
10px
;
/*滚动条的背景区域的圆角*/
background-color
:
#eee
;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
/*滚动条的圆角*/
background-color
:
#e6e6e6
;
/*滚动条的背景颜色*/
}
.ms-container
{
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
padding
:
14px
;
background
:
#fff
;
}
.ms-header
{
padding
:
10px
;
margin
:
0
;
border-bottom
:
1px
solid
#ddd
;
background
:
#fff
;
height
:
50px
;
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
padding
:
20px
0
;
text-align
:
right
;
}
.ms-fr
{
float
:
right
;
}
.ms-tr
{
text-align
:
right
;
}
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
}
.ms-weixin-dialog
.el-dialog__header
{
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#e6e6e6
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-header-select
{
font-size
:
0
;
}
.ms-header-select
>
.el-select
:nth-of-type
(
2
)
{
margin
:
0
10px
;
}
.el-submenu
.el-menu-item.is-active
{
border-radius
:
4px
;
}
.el-card
,
.el-message
{
border-radius
:
0
!important
;
}
.sortable-ghost
{
opacity
:
0.3
;
background
:
#ccc
!important
;
border-color
:
transparent
!important
;
color
:
transparent
!important
;
}
.sortable-ghost
*
{
background
:
#ccc
!important
;
border-color
:
transparent
!important
;
color
:
transparent
!important
;
}
.ms-mdiy-model-form
{
width
:
100vw
;
height
:
100vh
;
}
.ms-mdiy-model-form
.el-container
{
height
:
100%
;
}
.ms-mdiy-model-form
.ms-row
button
{
margin-left
:
10px
;
}
.ms-mdiy-model-form
.ms-header-title
{
margin-bottom
:
15px
;
}
.ms-mdiy-model-form
.el-checkbox-group
{
font-size
:
inherit
!important
;
}
.ms-mdiy-model-form
.ms-editor-type-layout
{
background
:
#fff
;
min-width
:
15%
;
padding
:
20px
;
border-right
:
1px
solid
#e6e6e6
;
}
.ms-mdiy-model-form
.ms-editor-type-layout
.ms-type-list
{
margin
:
0
;
padding
:
0
;
display
:
flex
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
}
.ms-mdiy-model-form
.ms-editor-type-layout
.ms-type-list
li
{
width
:
calc
(
50%
-
5px
);
margin
:
0
0
5px
0
;
padding
:
5px
;
list-style
:
none
;
background
:
#E6F7FF
;
border
:
1px
solid
#e6e6e6
;
cursor
:
pointer
;
}
.ms-mdiy-model-form
.ms-editor-type-layout
.ms-type-list
li
i
{
font-weight
:
initial
;
font-size
:
1em
;
color
:
#999
;
margin
:
0
5px
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
{
background
:
#fff
;
margin
:
8px
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.ms-form-item
{
padding
:
6px
20px
6px
20px
;
border
:
1px
solid
transparent
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.ms-form-item
.unit-input
{
width
:
calc
(
100%
-
41px
)
!important
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.ms-form-item
.el-form-item__content
{
display
:
flex
;
align-items
:
flex-start
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.ms-form-item
.el-form-item__content
.del-but
{
visibility
:
hidden
;
padding-left
:
20px
;
margin-left
:
auto
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.ms-form-item
.el-radio
{
line-height
:
inherit
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.active
{
border-color
:
#0099ff
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.active
.del-but
{
visibility
:
visible
!important
;
}
.ms-mdiy-model-form
.ms-editor-body-layout
.sortable-ghost
{
margin-bottom
:
18px
;
min-height
:
40px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
{
background
:
#fff
;
min-width
:
20%
;
display
:
flex
;
flex-wrap
:
wrap
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-header-title
{
border-left
:
1px
solid
#e6e6e6
;
width
:
100%
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
{
width
:
100%
;
display
:
flex
;
flex-direction
:
column
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
{
padding
:
15px
;
height
:
calc
(
100vh
-
200px
);
overflow
:
auto
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.el-form-item__label
{
line-height
:
1.4em
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.el-form-item
{
margin-bottom
:
14px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.el-form-item
.input-with-select
.el-input-group__append
{
width
:
90px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.el-form-item
.input-with-select
.el-input-group__append
.el-input
input
{
background-color
:
#fff
;
border-top
:
1px
solid
#dcdfe6
;
border-bottom
:
1px
solid
#dcdfe6
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
{
margin
:
0
;
padding
:
0
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
{
display
:
flex
;
align-items
:
center
;
list-style
:
none
;
margin-bottom
:
12px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
i
{
cursor
:
pointer
;
font-size
:
14px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
i
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
.ms-input
,
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
.ms-radio
,
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
li
.icon-tuodong
{
margin-right
:
6px
;
line-height
:
initial
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
.ms-plus
{
cursor
:
pointer
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
.ms-plus
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.form
.ms-down-list
.ms-plus
i
{
margin-right
:
6px
;
}
.ms-mdiy-model-form
.ms-editor-attr-layout
.ms-editor-attr
.footer
{
margin-top
:
auto
;
border-top
:
1px
solid
#e6e6e6
;
height
:
60px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
padding-right
:
10px
;
}
src/main/webapp/static/mdiy/css/model-list.css
deleted
100644 → 0
View file @
28f9a324
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html
,
body
{
min-height
:
100vh
;
width
:
100vw
;
background-color
:
#eee
;
margin
:
0
;
display
:
flex
;
font-weight
:
initial
!important
;
font-size
:
14px
!important
;
color
:
#333
!important
;
}
html
*,
body
*
{
text-decoration
:
none
!important
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
sans-serif
;
box-sizing
:
border-box
;
}
.ms-ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
display
:
block
;
}
.ms-align-center
{
display
:
flex
;
align-items
:
center
;
}
input
::-webkit-input-placeholder
,
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-size
:
12px
;
color
:
#999
;
resize
:
none
;
}
*
::-webkit-scrollbar
{
width
:
8px
;
height
:
8px
;
}
/*定义滚动条轨道 内阴影+圆角*/
*
::-webkit-scrollbar-track
{
border-radius
:
10px
;
/*滚动条的背景区域的圆角*/
background-color
:
#eee
;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
/*滚动条的圆角*/
background-color
:
#e6e6e6
;
/*滚动条的背景颜色*/
}
.ms-container
{
margin
:
12px
;
height
:
calc
(
100%
-
24px
);
padding
:
14px
;
background
:
#fff
;
}
.ms-header
{
padding
:
10px
;
margin
:
0
;
border-bottom
:
1px
solid
#ddd
;
background
:
#fff
;
height
:
50px
;
}
.ms-header
button
{
height
:
30px
;
}
.ms-pagination
{
padding
:
20px
0
;
text-align
:
right
;
}
.ms-fr
{
float
:
right
;
}
.ms-tr
{
text-align
:
right
;
}
.ms-weixin-content
{
width
:
calc
(
100%
-
140px
);
}
.ms-weixin-dialog
.el-dialog__header
{
height
:
55px
;
box-sizing
:
border-box
;
padding
:
10px
10px
25px
10px
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.ms-weixin-dialog
.el-dialog__header
.el-dialog__title
{
font-weight
:
bold
;
font-size
:
14px
;
color
:
#333
;
}
.ms-weixin-dialog
.el-dialog__footer
{
border-top
:
1px
solid
#e6e6e6
;
padding
:
15px
!important
;
}
.ms-hover
{
cursor
:
pointer
;
}
.ms-hover
:hover
{
color
:
#0099ff
;
background
:
#fff
;
border-color
:
#0099ff
;
}
.ms-header-select
{
font-size
:
0
;
}
.ms-header-select
>
.el-select
:nth-of-type
(
2
)
{
margin
:
0
10px
;
}
.el-submenu
.el-menu-item.is-active
{
border-radius
:
4px
;
}
.el-card
,
.el-message
{
border-radius
:
0
!important
;
}
.ms-mdiy-model-list
{
width
:
100%
;
}
src/main/webapp/static/mdiy/less/model-form.less
deleted
100644 → 0
View file @
28f9a324
@import "../../ms-admin/4.7.0/less/app.less";
//表单页
.ms-mdiy-model-form {
.ms-width-height(100vw, 100vh);
.el-container {
height: 100%;
}
.ms-row {
button {
margin-left: 10px;
}
}
.ms-header-title {
margin-bottom: 15px;
}
.el-checkbox-group {
font-size: inherit !important;
}
//左侧自定义表单项
.ms-editor-type-layout {
background: #fff;
min-width: 15%;
padding: 20px;
border-right: 1px solid @borderColor;
.ms-type-list {
.ms-margin-padding(0);
.ms-flex();
flex-wrap: wrap;
li {
width: ~'calc(50% - 5px)';
.ms-margin-padding(0 0 5px 0, 5px);
list-style: none;
background: #E6F7FF;
border: 1px solid @borderColor;
cursor: pointer;
i {
.ms-font(1em, #999);
margin: 0 5px;
}
}
}
}
//中间排序
.ms-editor-body-layout {
background: #fff;
margin: 8px;
.ms-form-item {
padding: 6px 20px 6px 20px;
border: 1px solid transparent;
//单位输入框
.unit-input {
width: ~'calc(100% - 41px)' !important;
}
.el-form-item__content {
display: flex;
align-items: flex-start;
.del-but {
visibility: hidden;
padding-left: 20px;
margin-left: auto;
}
}
.el-radio {
line-height: inherit;
}
}
//选中的表单元素
.active {
border-color: @themeColor;
.del-but {
visibility: visible !important;
}
}
//表单颜色默认下边距
.sortable-ghost {
margin-bottom: 18px;
min-height: 40px;
}
}
//右侧选项属性
.ms-editor-attr-layout {
background: #fff;
min-width: 20%;
display: flex;
flex-wrap: wrap;
.ms-header-title {
border-left: 1px solid @borderColor;
width: 100%;
}
.ms-editor-attr {
width: 100%;
display: flex;
flex-direction: column;
.form {
padding: 15px;
height: ~'calc(100vh - 200px)';
overflow: auto;
.el-form-item__label {
line-height: 1.4em;
}
.el-form-item {
margin-bottom: 14px;
.input-with-select {
.el-input-group__append {
width: 90px;
.el-input {
input {
background-color: #fff;
border-top: 1px solid #dcdfe6;
border-bottom: 1px solid #dcdfe6;
}
}
}
}
}
//下拉排序添加选项
.ms-down-list {
.ms-margin-padding(0);
li {
.ms-align-center;
list-style: none;
margin-bottom: 12px;
i {
cursor: pointer;
.ms-hover;
font-size: 14px;
}
.ms-input,
.ms-radio,
.icon-tuodong {
margin-right: 6px;
line-height: initial;
}
}
.ms-plus {
.ms-hover;
i {
margin-right: 6px;
}
}
}
}
.footer {
margin-top: auto;
border-top: 1px solid @borderColor;
height: 60px;
.ms-align-center;
justify-content: flex-end;
padding-right: 10px;
}
}
}
}
\ No newline at end of file
src/main/webapp/static/mdiy/less/model-list.less
deleted
100644 → 0
View file @
28f9a324
@import "../../ms-admin/4.7.0/less/app.less";
.ms-mdiy-model-list {
width: 100%;
}
\ No newline at end of file
Write
Preview
Supports
Markdown
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