Compare commits

...

8 Commits

Author SHA1 Message Date
邹景立
e46be7482a 修改模板文件 2022-03-05 15:31:35 +08:00
邹景立
d54a8edadf 修改后台样式 2022-03-05 15:04:09 +08:00
邹景立
06db981b70 修改后台样式 2022-03-05 14:57:03 +08:00
邹景立
bfda674028 增加 flex 样式 2022-03-05 14:53:10 +08:00
邹景立
78819a055a Update SQL01-数据表结构.sql 2022-03-05 11:12:23 +08:00
邹景立
e3704d9dd8 Update SQL02-数据初始化.sql 2022-03-05 11:04:55 +08:00
邹景立
044ece4f62 Update SQL02-数据初始化.sql 2022-03-05 11:03:29 +08:00
邹景立
dd5b5631d0 Update SQL01-数据表结构.sql 2022-03-05 10:59:22 +08:00
11 changed files with 5154 additions and 8635 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -37,7 +37,7 @@
{if !empty($bases)}
<div class="layui-form-item">
<div class="help-label"><b>角色身份</b>Role Identity</div>
<div class="layui-textarea" style="min-height:auto">
<div class="layui-textarea help-checks">
{foreach $bases as $base}
<label class="think-checkbox">
{if isset($vo.usertype) and $vo.usertype eq $base.code}
@ -53,9 +53,9 @@
{if !empty($authorizes)}
<div class="layui-form-item">
<div class="help-label"><b>访问权限</b>Role Permission</div>
<div class="layui-textarea" style="min-height:auto">
<div class="layui-textarea help-checks">
{if isset($vo.username) and $vo.username eq $superName}
<span class="color-desc">超级用户拥所有访问权限,不需要配置权限。</span>
<span class="color-desc padding-left-5">超级用户拥所有访问权限,不需要配置权限。</span>
{else}{foreach $authorizes as $authorize}
<label class="think-checkbox">
{if in_array($authorize.id, $vo.authorize)}

View File

@ -8,7 +8,7 @@
<!--{notempty name='marks'}-->
<div class="layui-form-item relative block">
<span class="help-label label-required-prev"><b>商品标签</b>Mark Name</span>
<div class="layui-textarea padding-bottom-10" style="min-height:unset">
<div class="layui-textarea help-checks">
{foreach $marks as $mark}{if isset($vo.marks) && is_array($vo.marks) && in_array($mark, $vo.marks)}
<input checked name="marks[]" title="{$mark}" type="checkbox" value="{$mark}">
{else}
@ -34,7 +34,7 @@
<!--{notempty name='payments'}-->
<div class="layui-form-item relative block">
<span class="help-label label-required-prev"><b>支付方式</b>Goods Payment</span>
<div class="layui-textarea padding-bottom-10" style="min-height:unset">
<div class="layui-textarea help-checks">
{foreach $payments as $payment}{if isset($vo.payment) && is_array($vo.payment) && in_array($payment.code, $vo.payment)}
<input checked name="payment[]" title="{$payment.name}" type="checkbox" value="{$payment.code}">
{else}
@ -72,13 +72,18 @@
<th class="text-left" style="width:100%">轮播图片</th>
</tr>
<tr>
<td class="text-center help-images text-top">
<input name="cover" type="hidden" value="{$vo.cover|default=''}">
<script>$('[name="cover"]').uploadOneImage();</script>
<td class="text-center text-top padding-0">
<div class="help-images">
<input name="cover" type="hidden" value="{$vo.cover|default=''}">
<script>$('[name="cover"]').uploadOneImage();</script>
</div>
</td>
<td class="text-left help-images">
<input name="slider" type="hidden" value="{$vo.slider|default=''}">
<script>$('[name="slider"]').uploadMultipleImage();</script>
<td class="text-left padding-0">
<div class="help-images">
<input name="slider" type="hidden" value="{$vo.slider|default=''}">
<script>$('[name="slider"]').uploadMultipleImage();</script>
</div>
</td>
</tr>
</thead>
@ -89,7 +94,7 @@
<div class="layui-clear">
<fieldset>
<legend><span class="layui-badge think-bg-violet">商品返利配置</span></legend>
<div class="layui-form-item">
<div>
{foreach ['非返利商品,其代理不会获得奖励','是返利商品,其代理将会获得奖励'] as $k => $v}
{if (isset($vo.rebate_type) and $vo.rebate_type eq $k) or (empty($vo.rebate_type) and $k eq 0)}
<input checked name="rebate_type" title="{$v}" type="radio" value="{$k}">
@ -100,7 +105,7 @@
</fieldset>
<fieldset>
<legend><span class="layui-badge think-bg-violet">入会礼包配置</span></legend>
<div class="layui-form-item">
<div>
{foreach ['非入会礼包,购买后不会升级等级','是入会礼包,购买后升级会员等级'] as $k=>$v}
{if (isset($vo.vip_entry) and $vo.vip_entry eq $k) or (empty($vo.vip_entry) and $k eq 0)}
<input checked lay-filter="vip_entry" name="vip_entry" title="{$v}" type="radio" value="{$k}">
@ -112,7 +117,7 @@
<!--{notempty name='upgrades'}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">升级用户等级</span></legend>
<label class="layui-form-item">
<label>
<select class="layui-select" lay-filter="vip_upgrade" name="vip_upgrade">
{foreach $upgrades as $upgrade}{if isset($vo.vip_upgrade) and $vo.vip_upgrade eq $upgrade.number}
<option selected value="{$upgrade.number|default=0}">[ {$upgrade.number|default='0'} ] {$upgrade.name|default=''}</option>
@ -126,7 +131,7 @@
<!--{/notempty}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">物流配送发货类型</span></legend>
<div class="layui-form-item">
<div>
{foreach ['虚拟商品,无需物流配送','实物商品,需要物流配送'] as $k=>$v}
{if (isset($vo.truck_type) and $vo.truck_type eq $k) or (empty($vo.truck_type) and $k eq 0)}
<input checked name="truck_type" title="{$v}" type="radio" value="{$k}">
@ -138,7 +143,7 @@
<!--{notempty name='discounts'}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">用户购买折扣方案</span></legend>
<label class="layui-form-item">
<label>
<select class="layui-select" lay-search name="discount_id">
<option value="0"> -- 不设置 --</option>
{foreach $discounts as $discount}{if isset($vo.discount_id) and $vo.discount_id eq $discount.id}
@ -154,7 +159,7 @@
<!--{notempty name='upgrades'}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">限制最低购买等级</span></legend>
<label class="layui-form-item">
<label>
<select class="layui-select" name="limit_low_vip">
<option value="0"> -- 不设置 --</option>
{foreach $upgrades as $upgrade}{if isset($vo.limit_low_vip) and $vo.limit_low_vip eq $upgrade.number}
@ -169,8 +174,8 @@
<!--{/notempty}-->
<fieldset>
<legend><span class="layui-badge think-bg-violet">商品限购数量</span></legend>
<label class="layui-form-item">
<input class="layui-input" data-blur-number="0" name="limit_max_num" placeholder="请输入商品限购数量" value="{$vo.limit_max_num|default=0}">
<label>
<input class="layui-input" type="number" min="0" data-blur-number="0" name="limit_max_num" placeholder="请输入商品限购数量" value="{$vo.limit_max_num|default=0}">
<span class="help-block">限制每人可购买数量(为 0 时不限制)!</span>
</label>
</fieldset>

View File

@ -1,7 +1,7 @@
<style>
.goods-item-box fieldset {
width: 260px;
height: 100px;
height: 80px;
padding: 15px 20px;
display: inline-block;
margin: 0 15px 15px 0;

View File

@ -86,13 +86,14 @@
}
// 通用延时动态
#defaTransition() {
transition: all .2s linear;
-o-transition: all .2s linear;
-moz-transition: all .2s linear;
-webkit-transition: all .2s linear;
#defaTransition(@time:0.2s) {
transition: all @time linear;
-o-transition: all @time linear;
-moz-transition: all @time linear;
-webkit-transition: all @time linear;
}
// 内容主体布局
#bodyLayout() {
> form.layui-form.layui-card {
margin: 0;
@ -102,4 +103,54 @@
padding: 40px 40px 10px 40px;
}
}
}
// Layui 字体图标
#iconLayout(@size:15px) {
font-family: layui-icon !important;
font-size: @size;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// Flex 基础定位
#flex() {
display: -moz-box;
display: -moz-flex;
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
}
// Flex 换行方式
#flexWrap(@type:wrap) {
-ms-flex-wrap: @type;
-webkit-flex-wrap: @type;
flex-wrap: @type;
}
// Flex 垂直方向
#flexAlign(@type) {
-ms-flex-align: @type;
-webkit-box-align: @type;
-webkit-align-items: @type;
align-items: @type;
}
// Flex 横向布局
#flexJustify(@type) {
-ms-flex-pack: @type;
-webkit-box-pack: @type;
-webkit-justify-content: @type;
justify-content: @type;
}
// 主轴方向
#flexDirection(@type:row) {
-webkit-box-orient: vertical;
-ms-flex-direction: @type;
-webkit-flex-direction: @type;
flex-direction: @type;
}

View File

@ -14,6 +14,109 @@
// | github 代码仓库https://github.com/zoujingli/ThinkAdmin
// +----------------------------------------------------------------------
.flex {
#flex();
&-inline {
display: inline-flex;
}
&-wrap {
#flexWrap(wrap);
&-no {
#flexWrap(nowrap);
}
&-rev {
#flexWrap(wrap-reverse);
}
}
// 主轴方向
&-direction- {
&row {
#flexDirection(row);
&reverse {
#flexDirection(row-reverse);
}
}
&column {
#flexDirection(column);
&-reverse {
#flexDirection(column-reverse);
}
}
}
// 垂直方向
&-align- {
&start {
#flexAlign(flex-start);
}
&end {
#flexAlign(flex-end);
}
&center {
#flexAlign(center)
}
}
// 横向布局
&-justify- {
&start {
#flexJustify(flex-start);
}
&center {
#flexJustify(center);
}
&end {
#flexJustify(flex-end);
}
&space- {
&between {
#flexJustify(space-between);
}
&around {
#flexJustify(space-around);
}
&evenly {
#flexJustify(space-evenly);
}
}
}
&-1 {
flex: 1;
}
&-2 {
flex: 2;
}
&-3 {
flex: 3;
}
&-4 {
flex: 4;
}
&-5 {
flex: 5;
}
}
.fixed {
position: fixed !important;
}
@ -152,20 +255,25 @@
}
}
.help-images {
color: #333;
.help-checks:not(td) {
padding: 10px 0 10px 10px;
min-height: unset;
border-radius: @BoxBorderRadius;
// background: linear-gradient(-113deg, #EEEEEE, #EEEEEE) !important;
#flex();
#flexWrap(wrap);
}
.help-images:not(td) {
padding: 10px 0 0 10px !important;
min-height: unset;
background: linear-gradient(-113deg, #EEEEEE, #EEEEEE) !important;
border-radius: @BoxBorderRadius;
// background: linear-gradient(-113deg, #EEEEEE, #EEEEEE) !important;
&:after {
clear: left;
content: '';
display: block;
}
#flex();
#flexWrap(wrap);
> * {
float: left;
.uploadimage {
margin: 0 10px 10px 0;
}
}
@ -758,12 +866,8 @@
position: absolute;
margin-left: -8px;
#iconLayout(15px);
content: "\e63d";
font-family: layui-icon !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
animation-name: layui-rotate;
-webkit-animation-name: layui-rotate;
@ -876,12 +980,8 @@ label.think-checkbox {
cursor: pointer;
padding: 2px;
content: "\e605";
font-size: 12px;
font-style: normal;
#iconLayout(12px);
font-weight: 700;
font-family: layui-icon !important;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale
}
}
}
@ -1088,6 +1188,10 @@ label.think-checkbox {
background: linear-gradient(-125deg, #ff7d7d, #fb2c95) !important
}
&none {
background: none !important;
}
&gray {
color: #333;
background: linear-gradient(-113deg, #EEEEEE, #EEEEEE) !important

View File

@ -165,30 +165,8 @@ fieldset {
.layui-nav {
.layui-nav-item {
.layui-nav-more {
top: 0;
right: 15px;
width: auto;
height: auto;
border: none;
padding: 0 !important;
font-size: 14px !important;
font-style: normal;
font-family: "layui-icon" !important;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
&::before {
content: "\e619"
}
}
& .layui-nav-mored, &ed .layui-nav-more {
border: none;
transform: rotate(180deg);
-o-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg)
}
}
}
@ -375,7 +353,7 @@ fieldset {
.layui-form-item {
.layui-form-checkbox {
margin-top: 0;
margin: 4px;
}
.layui-input.text-center:not([type=number]) {
@ -383,24 +361,44 @@ fieldset {
}
}
.layui-form-radio {
margin-top: 0;
.layui-textarea {
padding: 10px;
}
.layui-form-select dl {
top: 37px;
padding: 0;
border-color: @InputBorderActiveColor;
}
.layui-form-select {
.layui-edge {
top: 50%;
width: unset;
height: unset;
border: none;
margin-top: -7px;
line-height: 15px;
#iconLayout(15px);
.layui-form-selected dl {
min-height: fit-content;
&:before {
content: "\e61a"
}
}
dl {
top: 37px;
padding: 0;
border-color: @InputBorderActiveColor;
}
&ed dl {
min-height: fit-content;
}
}
.layui-form-onswitch em {
white-space: nowrap;
}
.layui-form-radio {
margin-top: 0;
}
.layui-form-checkbox.layui-form-checked {
i {
border-color: #5FB878;

View File

@ -185,12 +185,8 @@
content: "\e65b";
line-height: 50px;
text-align: center;
font-size: 10px;
font-style: normal;
font-family: layui-icon !important;
transform: rotate(180deg);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
#iconLayout(10px);
}
top: 50%;
@ -279,6 +275,10 @@
padding-bottom: 0;
color: @LeftMainNavNormalTextColor;
.layui-nav-more {
padding: 0;
}
&:hover {
color: @LeftMainNavActiveTextColor;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long