diff --git a/src/main/webapp/WEB-INF/manager/mdiy/diy-model/form.ftl b/src/main/webapp/WEB-INF/manager/mdiy/diy-model/form.ftl
new file mode 100644
index 00000000..cb94dbd5
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mdiy/diy-model/form.ftl
@@ -0,0 +1,308 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mdiy/diy-model/index.ftl b/src/main/webapp/WEB-INF/manager/mdiy/diy-model/index.ftl
new file mode 100644
index 00000000..f862d3de
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mdiy/diy-model/index.ftl
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mdiy/diy.ftl b/src/main/webapp/WEB-INF/manager/mdiy/diy.ftl
new file mode 100644
index 00000000..e08312c8
--- /dev/null
+++ b/src/main/webapp/WEB-INF/manager/mdiy/diy.ftl
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl b/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
index c0a3944a..fa3d3042 100644
--- a/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
+++ b/src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
@@ -1,152 +1,152 @@
-
-
-
-
-
- 回复内容
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 从素材库选择
-
-
-
- 新建图片
-
-
-
-
-
- 从素材库选择
-
-
-
- 新建图文
-
-
-
-
-
-
+
+
+
+
+
+ 回复内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 从素材库选择
+
+
+
+ 新建图片
+
+
+
+
+
+ 从素材库选择
+
+
+
+ 新建图文
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/static/mdiy/css/model-form.css b/src/main/webapp/static/mdiy/css/model-form.css
new file mode 100644
index 00000000..bc187eb4
--- /dev/null
+++ b/src/main/webapp/static/mdiy/css/model-form.css
@@ -0,0 +1,249 @@
+/*
+*这里的值严格按照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-form {
+ width: 100%;
+ height: 100%;
+}
+.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 .ms-editor-type-layout {
+ background: #fff;
+ min-width: 15%;
+ padding: 20px;
+ border-right: 1px solid #e6e6e6;
+}
+.ms-mdiy-model-form .ms-editor-type-layout ul {
+ margin: 0;
+ padding: 0;
+ display: flex;
+ justify-content: space-between;
+ flex-wrap: wrap;
+}
+.ms-mdiy-model-form .ms-editor-type-layout ul 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 ul li i {
+ color: #999;
+ margin-right: 5px;
+}
+.ms-mdiy-model-form .ms-editor-body-layout {
+ background: #fff;
+ margin: 8px;
+}
+.ms-mdiy-model-form .ms-editor-attr-layout {
+ background: #fff;
+ min-width: 20%;
+ padding: 20px;
+}
+.ms-mdiy-model-form .ms-editor-attr-layout .ms-header-title {
+ border-left: 1px solid #e6e6e6;
+}
+.ms-mdiy-model-form .ms-editor-attr-layout .ms-editor-attr {
+ 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 .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;
+}
diff --git a/src/main/webapp/static/mdiy/css/model-list.css b/src/main/webapp/static/mdiy/css/model-list.css
new file mode 100644
index 00000000..7c4659cb
--- /dev/null
+++ b/src/main/webapp/static/mdiy/css/model-list.css
@@ -0,0 +1,141 @@
+/*
+*这里的值严格按照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%;
+}
diff --git a/src/main/webapp/static/mdiy/less/model-form.less b/src/main/webapp/static/mdiy/less/model-form.less
new file mode 100644
index 00000000..fb1f5444
--- /dev/null
+++ b/src/main/webapp/static/mdiy/less/model-form.less
@@ -0,0 +1,103 @@
+@import "../../ms-admin/4.7.0/less/app.less";
+//表单页
+.ms-mdiy-model-form {
+ .ms-width-height(100%);
+ .el-container {
+ height: 100%;
+ }
+ .ms-row {
+ button {
+ margin-left: 10px;
+ }
+ }
+ .ms-header-title {
+ margin-bottom: 15px;
+ }
+ //左侧自定义表单项
+ .ms-editor-type-layout {
+ background: #fff;
+ min-width: 15%;
+ padding: 20px;
+ border-right: 1px solid @borderColor;
+ ul {
+ .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 {
+ color: #999;
+ margin-right: 5px;
+ }
+ }
+ }
+ }
+ //中间排序
+ .ms-editor-body-layout {
+ background: #fff;
+ margin: 8px;
+ }
+ //右侧选项属性
+ .ms-editor-attr-layout {
+ background: #fff;
+ min-width: 20%;
+ padding: 20px;
+ .ms-header-title {
+ border-left: 1px solid @borderColor;
+ }
+ .ms-editor-attr {
+ 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;
+ }
+ //下拉排序添加选项
+ .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
diff --git a/src/main/webapp/static/mdiy/less/model-list.less b/src/main/webapp/static/mdiy/less/model-list.less
new file mode 100644
index 00000000..980bf673
--- /dev/null
+++ b/src/main/webapp/static/mdiy/less/model-list.less
@@ -0,0 +1,4 @@
+@import "../../ms-admin/4.7.0/less/app.less";
+.ms-mdiy-model-list {
+ width: 100%;
+}
\ No newline at end of file