# 2022-01-31
### 1.3.5 开源社区版(会员专业版同步修改): 【优化】取消Sqlsugar二级缓存功能。#I4SBZZ 【优化】剔除未使用的goodsinfos文件夹的试图文件。 【优化】取消商品描述的重量,统一使用sku的重量来计算运费。#I4SAVQ 【优化】移除历史时间过长的数据库文件,减少git包大小。 ### 0.1.4 会员专业版: 【升级】升级uview到2.0.27版本。
This commit is contained in:
@@ -173,7 +173,6 @@ namespace CoreCms.Net.Repository
|
||||
.With(SqlWith.NoLock)
|
||||
.MergeTable()
|
||||
.OrderBy(dOrder => dOrder.totalInCome, OrderByType.Desc)
|
||||
.WithCache()
|
||||
.ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||
|
||||
var list = new PageList<AgentRankingDTO>(page, pageIndex, pageSize, totalCount);
|
||||
|
||||
@@ -242,7 +242,6 @@ namespace CoreCms.Net.Repository
|
||||
.WhereIF(thisMonth == true, (orders, users) => orders.createTime > dtFirst && orders.createTime < dtLast)
|
||||
.Where((orders, users) => users.parentId == parentId)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.CountAsync();
|
||||
|
||||
return totalSum;
|
||||
@@ -264,7 +263,6 @@ namespace CoreCms.Net.Repository
|
||||
.Where(p => allIds.Contains(p.buyUserId))
|
||||
.WhereIF(thisMonth, p => p.createTime > dtFirst && p.createTime < dtLast)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.CountAsync();
|
||||
|
||||
return totalSum;
|
||||
@@ -287,7 +285,6 @@ namespace CoreCms.Net.Repository
|
||||
.Where(p => allIds.Contains(p.buyUserId))
|
||||
.WhereIF(thisMonth, p => p.createTime > dtFirst && p.createTime < dtLast)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.CountAsync();
|
||||
|
||||
return totalSum;
|
||||
@@ -323,7 +320,6 @@ namespace CoreCms.Net.Repository
|
||||
.Where((orders, users) => users.parentId == parentId)
|
||||
.WhereIF(thisMonth, (orders, users) => orders.createTime > dtFirst && orders.createTime < dtLast)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.SumAsync((orders, users) => orders.amount);
|
||||
return totalSum;
|
||||
}
|
||||
@@ -344,7 +340,6 @@ namespace CoreCms.Net.Repository
|
||||
.Where((orders, users) => allIds.Contains(orders.buyUserId))
|
||||
.WhereIF(thisMonth, (orders, users) => orders.createTime > dtFirst && orders.createTime < dtLast)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.SumAsync((orders, users) => orders.amount);
|
||||
return totalSum;
|
||||
|
||||
@@ -366,7 +361,6 @@ namespace CoreCms.Net.Repository
|
||||
.Where((orders, users) => allIds.Contains(orders.buyUserId))
|
||||
.WhereIF(thisMonth, (orders, users) => orders.createTime > dtFirst && orders.createTime < dtLast)
|
||||
.With(SqlWith.NoLock)
|
||||
.WithCache(60 * 60)
|
||||
.SumAsync((orders, users) => orders.amount);
|
||||
return totalSum;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,6 @@ namespace CoreCms.Net.Repository
|
||||
.With(SqlWith.NoLock)
|
||||
.MergeTable()
|
||||
.OrderBy(dOrder => dOrder.totalInCome, OrderByType.Desc)
|
||||
.WithCache()
|
||||
.ToPageListAsync(pageIndex, pageSize, totalCount);
|
||||
|
||||
var list = new PageList<DistributionRankingDTO>(page, pageIndex, pageSize, totalCount);
|
||||
|
||||
@@ -1,3 +1,43 @@
|
||||
## 2.0.27(2022-01-28)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
1.样式修复
|
||||
## 2.0.26(2022-01-28)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
1.样式修复
|
||||
## 2.0.25(2022-01-27)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
1. 修复text组件mode=price时,可能会导致精度错误的问题
|
||||
2. 添加$u.setConfig()方法,可设置uView内置的config, props, zIndex, color属性,详见:[修改uView内置配置方案](https://uviewui.com/components/setting.html#%E9%BB%98%E8%AE%A4%E5%8D%95%E4%BD%8D%E9%85%8D%E7%BD%AE)
|
||||
3. 优化form组件在errorType=toast时,如果输入错误页面会有抖动的问题
|
||||
4. 修复$u.addUnit()对配置默认单位可能无效的问题
|
||||
## 2.0.24(2022-01-25)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
1. 修复swiper在current指定非0时缩放有误
|
||||
2. 修复u-icon添加stop属性的时候报错
|
||||
3. 优化遗留的通过正则判断rpx单位的问题
|
||||
4. 优化Layout布局 vue使用gutter时,会超出固定区域
|
||||
5. 优化search组件高度单位问题(rpx -> px)
|
||||
6. 修复u-image slot 加载和错误的图片失去了高度
|
||||
7. 修复u-index-list中footer插槽与header插槽存在性判断错误
|
||||
8. 修复部分机型下u-popup关闭时会闪烁
|
||||
9. 修复u-image在nvue-app下失去宽高
|
||||
10. 修复u-popup运行报错
|
||||
11. 修复u-tooltip报错
|
||||
12. 修复box-sizing在app下的警告
|
||||
13. 修复u-navbar在小程序中报运行时错误
|
||||
14. 其他修复
|
||||
## 2.0.23(2022-01-24)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
1. 修复image组件在hx3.3.9的nvue下可能会显示异常的问题
|
||||
2. 修复col组件gutter参数带rpx单位处理不正确的问题
|
||||
3. 修复text组件单行时无法显示省略号的问题
|
||||
4. navbar添加titleStyle参数
|
||||
5. 升级到hx3.3.9可消除nvue下控制台样式警告的问题
|
||||
## 2.0.22(2022-01-19)
|
||||
# uView2.0重磅发布,利剑出鞘,一统江湖
|
||||
|
||||
|
||||
@@ -20,11 +20,6 @@ export default {
|
||||
type: String,
|
||||
default: uni.$u.props.cell.icon
|
||||
},
|
||||
// 标题的宽度,单位任意,数值默认为px单位
|
||||
titleWidth: {
|
||||
type: [String, Number],
|
||||
default: uni.$u.props.cell.titleWidth
|
||||
},
|
||||
// 是否禁用cell
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
|
||||
@@ -47,7 +47,6 @@
|
||||
* @property {String | Number} label 标题下方的描述信息
|
||||
* @property {String | Number} value 右侧的内容
|
||||
* @property {String} icon 左侧图标名称,或者图片链接(本地文件建议使用绝对地址)
|
||||
* @property {String | Number} titleWidth 标题的宽度,单位任意,数值默认为px单位
|
||||
* @property {Boolean} disabled 是否禁用cell
|
||||
* @property {Boolean} border 是否显示下边框 (默认 true )
|
||||
* @property {Boolean} center 内容是否垂直居中(主要是针对右侧的value部分) (默认 false )
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
colStyle() {
|
||||
const style = {
|
||||
// 这里写成"padding: 0 10px"的形式是因为nvue的需要
|
||||
paddingLeft: uni.$u.addUnit(Number(this.parentData.gutter)/2),
|
||||
paddingRight: uni.$u.addUnit(Number(this.parentData.gutter)/2),
|
||||
paddingLeft: uni.$u.addUnit(uni.$u.getPx(this.parentData.gutter)/2),
|
||||
paddingRight: uni.$u.addUnit(uni.$u.getPx(this.parentData.gutter)/2),
|
||||
alignItems: this.uAlignItem,
|
||||
justifyContent: this.uJustify,
|
||||
textAlign: this.textAlign,
|
||||
@@ -96,6 +96,9 @@
|
||||
|
||||
.u-col {
|
||||
padding: 0;
|
||||
/* #ifndef APP-NVUE */
|
||||
box-sizing:border-box;
|
||||
/* #endif */
|
||||
/* #ifdef MP */
|
||||
display: block;
|
||||
/* #endif */
|
||||
|
||||
+1
-1
@@ -69,7 +69,7 @@
|
||||
<u-line
|
||||
v-if="borderBottom"
|
||||
:color="message && parentData.errorType === 'border-bottom' ? $u.color.error : propsLine.color"
|
||||
:customStyle="`margin-top: ${message ? '5px' : 0}`"
|
||||
:customStyle="`margin-top: ${message && parentData.errorType === 'message' ? '5px' : 0}`"
|
||||
></u-line>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -90,8 +90,8 @@
|
||||
setRules(rules) {
|
||||
// 判断是否有规则
|
||||
if (Object.keys(rules).length === 0) return;
|
||||
if (Object.keys(this.model).length === 0) {
|
||||
uni.$u.error('设置rules,model必须设置!');
|
||||
if (process.env.NODE_ENV === 'development' && Object.keys(this.model).length === 0) {
|
||||
uni.$u.error('设置rules,model必须设置!如果已经设置,请刷新页面。');
|
||||
return;
|
||||
};
|
||||
this.formRules = rules;
|
||||
@@ -116,15 +116,16 @@
|
||||
props = [].concat(props);
|
||||
this.children.map((child) => {
|
||||
// 如果u-form-item的prop在props数组中,则清除对应的校验结果信息
|
||||
if (props.includes(child.props)) {
|
||||
if (props[0] === undefined || props.includes(child.prop)) {
|
||||
child.message = null;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 对部分表单字段进行校验
|
||||
async validateField(value, callback, event = null) {
|
||||
if (Object.keys(this.formRules).length === 0) {
|
||||
uni.$u.error('未设置rules,请看文档说明!');
|
||||
// 开发环境才提示,生产环境不会提示
|
||||
if (process.env.NODE_ENV === 'development' && Object.keys(this.formRules).length === 0) {
|
||||
uni.$u.error('未设置rules,请看文档说明!如果已经设置,请刷新页面。');
|
||||
return;
|
||||
}
|
||||
// $nextTick是必须的,否则model的变更,可能会延后于此方法的执行
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
:lazy-load="lazyLoad"
|
||||
class="u-image__image"
|
||||
:style="{
|
||||
borderRadius: shape == 'circle' ? '10000px' : $u.addUnit(radius)
|
||||
borderRadius: shape == 'circle' ? '10000px' : $u.addUnit(radius),
|
||||
width: $u.addUnit(width),
|
||||
height: $u.addUnit(height)
|
||||
}"
|
||||
></image>
|
||||
<view
|
||||
|
||||
@@ -74,6 +74,11 @@ export default {
|
||||
autoBack: {
|
||||
type: Boolean,
|
||||
default: uni.$u.props.navbar.autoBack
|
||||
},
|
||||
// 标题的样式,对象或字符串
|
||||
titleStyle: {
|
||||
type: [String, Object],
|
||||
default: uni.$u.props.navbar.titleStyle
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
<slot name="center">
|
||||
<text
|
||||
class="u-line-1 u-navbar__content__title"
|
||||
:style="{
|
||||
width: $u.addUnit(titleWidth)
|
||||
}"
|
||||
:style="[{
|
||||
width: $u.addUnit(titleWidth),
|
||||
}, $u.addStyle(titleStyle)]"
|
||||
>{{ title }}</text>
|
||||
</slot>
|
||||
<view
|
||||
@@ -93,6 +93,7 @@
|
||||
* @property {String | Number} leftIconSize 左侧返回图标的大小(默认 20px )
|
||||
* @property {String | Number} leftIconColor 左侧返回图标的颜色(默认 #303133 )
|
||||
* @property {Boolean} autoBack 点击左侧区域(返回图标),是否自动返回上一页(默认 false )
|
||||
* @property {Object | String} titleStyle 标题的样式,对象或字符串
|
||||
* @event {Function} leftClick 点击左侧区域
|
||||
* @event {Function} rightClick 点击右侧区域
|
||||
* @example <u-navbar title="剑未配妥,出门已是江湖" left-text="返回" right-text="帮助" @click-left="onClickBack" @click-right="onClickRight"></u-navbar>
|
||||
@@ -175,7 +176,7 @@
|
||||
&__right {
|
||||
right: 0;
|
||||
|
||||
&__txet {
|
||||
&__text {
|
||||
font-size: 15px;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
:show="show"
|
||||
@click="overlayClick"
|
||||
v-if="overlay"
|
||||
:duration="duration"
|
||||
:duration="overlayDuration"
|
||||
:customStyle="overlayStyle"
|
||||
:opacity="overlayOpacity"
|
||||
></u-overlay>
|
||||
@@ -55,6 +55,7 @@
|
||||
* @property {Boolean} overlay 是否显示遮罩 (默认 true )
|
||||
* @property {String} mode 弹出方向(默认 'bottom' )
|
||||
* @property {String | Number} duration 动画时长,单位ms (默认 300 )
|
||||
* @property {String | Number} overlayDuration 遮罩层动画时长,单位ms (默认 350 )
|
||||
* @property {Boolean} closeable 是否显示关闭图标(默认 false )
|
||||
* @property {Object | String} overlayStyle 自定义遮罩的样式
|
||||
* @property {String | Number} overlayOpacity 遮罩透明度,0-1之间(默认 0.5)
|
||||
@@ -74,7 +75,9 @@
|
||||
name: 'u-popup',
|
||||
mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
|
||||
data() {
|
||||
return {}
|
||||
return {
|
||||
overlayDuration: this.duration + 50
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
show(newValue, oldValue) {
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
backgroundColor: bgColor,
|
||||
borderRadius: shape == 'round' ? '100px' : '4px',
|
||||
borderColor: borderColor,
|
||||
height: height + 'rpx'
|
||||
}"
|
||||
>
|
||||
<template v-if="$slots.label || label !== null">
|
||||
@@ -47,6 +46,7 @@
|
||||
textAlign: inputAlign,
|
||||
color: color,
|
||||
backgroundColor: bgColor,
|
||||
height: $u.addUnit(height)
|
||||
}, inputStyle]"
|
||||
/>
|
||||
<view
|
||||
@@ -241,6 +241,7 @@ $u-search-action-margin-left: 5px !default;
|
||||
border-width: 1px;
|
||||
border-color: transparent;
|
||||
border-style: solid;
|
||||
overflow: hidden;
|
||||
|
||||
&__icon {
|
||||
@include flex;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
:class="[`u-tabs__wrapper__nav__item-${index}`, item.disabled && 'u-tabs__wrapper__nav__item--disabled']"
|
||||
>
|
||||
<text
|
||||
:class="['ellipsis' && 'u-line-1', item.disabled && 'u-tabs__wrapper__nav__item__text--disabled']"
|
||||
:class="[item.disabled && 'u-tabs__wrapper__nav__item__text--disabled']"
|
||||
class="u-tabs__wrapper__nav__item__text"
|
||||
:style="[textStyle(index)]"
|
||||
>{{ item[keyName] }}</text>
|
||||
@@ -165,16 +165,8 @@
|
||||
let lineOffsetLeft = this.list
|
||||
.slice(0, this.innerCurrent)
|
||||
.reduce((total, curr) => total + curr.rect.width, 0);
|
||||
let lineWidth = this.lineWidth; // 拷贝副本,防止间接修改props中的值
|
||||
// 如果lineWidth不是数字类型的话
|
||||
if (typeof lineWidth !== 'number') {
|
||||
// 判断后缀是否为rpx
|
||||
if (lineWidth.indexOf('rpx') > -1) {
|
||||
lineWidth = uni.upx2px(parseFloat(lineWidth)); // rpx -> px
|
||||
} else {
|
||||
lineWidth = parseFloat(lineWidth);
|
||||
}
|
||||
}
|
||||
// 获取下划线的数值px表示法
|
||||
const lineWidth = uni.$u.getPx(this.lineWidth);
|
||||
this.lineOffsetLeft = lineOffsetLeft + (tabItem.rect.width - lineWidth) / 2
|
||||
// #ifdef APP-NVUE
|
||||
// 第一次移动滑块,无需过渡时间
|
||||
@@ -244,7 +236,7 @@
|
||||
resize() {
|
||||
// 如果不存在list,则不处理
|
||||
if(this.list.length === 0) {
|
||||
return
|
||||
return
|
||||
}
|
||||
Promise.all([this.getTabsRect(), this.getAllItemRect()]).then(([tabsRect, itemRect = []]) => {
|
||||
this.tabsRect = tabsRect
|
||||
@@ -286,7 +278,7 @@
|
||||
})
|
||||
// #endif
|
||||
|
||||
// #ifdef APP-NVUE
|
||||
// #ifdef APP-NVUE
|
||||
// nvue下,使用dom模块查询元素高度
|
||||
// 返回一个promise,让调用此方法的主体能使用then回调
|
||||
return new Promise(resolve => {
|
||||
@@ -330,7 +322,6 @@
|
||||
@include flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
|
||||
&--disabled {
|
||||
/* #ifndef APP-NVUE */
|
||||
|
||||
@@ -165,6 +165,9 @@ export default {
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
flex: 1;
|
||||
/* #ifndef APP-NVUE */
|
||||
width: 100%;
|
||||
/* #endif */
|
||||
|
||||
&__price {
|
||||
font-size: 14px;
|
||||
|
||||
+2
-4
@@ -64,11 +64,10 @@
|
||||
v-if="showCopy && buttons.length > 0"
|
||||
length="18"
|
||||
></u-line>
|
||||
<template v-for="(item , index) in buttons">
|
||||
<block v-for="(item , index) in buttons" :key="index">
|
||||
<view
|
||||
class="u-tooltip__wrapper__popup__list__btn"
|
||||
hover-class="u-tooltip__wrapper__popup__list__btn--hover"
|
||||
:key="index"
|
||||
>
|
||||
<text
|
||||
class="u-tooltip__wrapper__popup__list__btn__text"
|
||||
@@ -80,9 +79,8 @@
|
||||
color="#8d8e90"
|
||||
v-if="index < buttons.length - 1"
|
||||
length="18"
|
||||
:key="index"
|
||||
></u-line>
|
||||
</template>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</u-transition>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// 此版本发布于2022-01-20
|
||||
const version = '2.0.22'
|
||||
// 此版本发布于2022-01-28
|
||||
const version = '2.0.27'
|
||||
|
||||
// 开发环境才提示,生产环境不会提示
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
|
||||
@@ -15,7 +15,6 @@ export default {
|
||||
label: '',
|
||||
value: '',
|
||||
icon: '',
|
||||
titleWidth: '',
|
||||
disabled: false,
|
||||
border: true,
|
||||
center: false,
|
||||
|
||||
@@ -25,7 +25,8 @@ export default {
|
||||
height: '44px',
|
||||
leftIconSize: 20,
|
||||
leftIconColor: color.mainColor,
|
||||
autoBack: false
|
||||
autoBack: false,
|
||||
titleStyle: ''
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ export default {
|
||||
animation: false,
|
||||
value: '',
|
||||
maxlength: '-1',
|
||||
height: 64,
|
||||
height: 32,
|
||||
label: null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
lines: $i;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
flex: 1;
|
||||
/* #endif */
|
||||
|
||||
|
||||
/* #ifndef APP-NVUE */
|
||||
// vue下,单行和多行显示省略号需要单独处理
|
||||
@if $i == 1 {
|
||||
@if $i == '1' {
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
@@ -26,46 +27,46 @@
|
||||
/* #endif */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 此处加上!important并非随意乱用,而是因为目前*.nvue页面编译到H5时,
|
||||
// App.vue的样式会被uni-app的view元素的自带border属性覆盖,导致无效
|
||||
// 综上,这是uni-app的缺陷导致我们为了多端兼容,而必须要加上!important
|
||||
// 移动端兼容性较好,直接使用0.5px去实现细边框,不使用伪元素形式实现
|
||||
.u-border {
|
||||
border-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
|
||||
.u-border-top {
|
||||
border-top-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-top-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-top-style: solid;
|
||||
}
|
||||
|
||||
.u-border-left {
|
||||
border-left-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-left-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-left-style: solid;
|
||||
}
|
||||
|
||||
.u-border-right {
|
||||
border-right-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-right-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-right-style: solid;
|
||||
}
|
||||
|
||||
|
||||
.u-border-bottom {
|
||||
border-bottom-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-bottom-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
.u-border-top-bottom {
|
||||
border-top-width: 0.5px!important;
|
||||
border-bottom-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-top-width: 0.5px!important;
|
||||
border-bottom-width: 0.5px!important;
|
||||
border-color: $u-border-color!important;
|
||||
border-top-style: solid;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"id": "uview-ui",
|
||||
"name": "uview-ui",
|
||||
"displayName": "uView2.0重磅发布,利剑出鞘,一统江湖",
|
||||
"version": "2.0.22",
|
||||
"version": "2.0.27",
|
||||
"description": "uView UI已完美兼容nvue,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
|
||||
"keywords": [
|
||||
"uview",
|
||||
|
||||
@@ -771,6 +771,18 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.MiNiShopOpenComponent2_UploadImg">
|
||||
<summary>
|
||||
自定义交易组件上传图片
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:CoreCms.Net.Web.Admin.Controllers.ToolsController.MiNiShopOpenComponent2_UploadImgByBase64(CoreCms.Net.Model.FromBody.FMBase64Post)">
|
||||
<summary>
|
||||
自定义交易组件上传图片(Base64)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:CoreCms.Net.Web.Admin.Controllers.CoreCmsDistributionController">
|
||||
<summary>
|
||||
分销商表
|
||||
|
||||
@@ -54,9 +54,6 @@
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
<label class="layui-form-label">重量</label>
|
||||
<div class="layui-input-inline layui-inline-3 layui-form-mid">{{d.params.data.model.weight }}克</div>
|
||||
|
||||
<label class="layui-form-label">单位</label>
|
||||
<div class="layui-input-inline layui-inline-3 layui-form-mid">{{d.params.data.model.unit }}</div>
|
||||
|
||||
|
||||
@@ -1,295 +0,0 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsGoods-createForm" id="LAY-app-CoreCmsGoods-createForm">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="id" class="layui-form-label">商品ID</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="id" id="id" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【商品ID】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="bn" class="layui-form-label">商品编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="bn" id="bn" lay-verType="tips" lay-verify="required|verifybn" class="layui-input" lay-reqText="请输入【商品编码】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">商品名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入【商品名称】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="brief" class="layui-form-label">商品简介</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="brief" id="brief" lay-verType="tips" lay-verify="required|verifybrief" class="layui-input" lay-reqText="请输入【商品简介】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="price" class="layui-form-label">商品价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="price" id="price" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品价格】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="costprice" class="layui-form-label">成本价</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="costprice" id="costprice" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【成本价】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="mktprice" class="layui-form-label">市场价</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="mktprice" id="mktprice" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【市场价】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="imageIds" class="layui-form-label">默认图片 图片id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="imageIds" id="imageIds" lay-verType="tips" lay-verify="required|verifyimageIds" class="layui-input" lay-reqText="请输入【默认图片 图片id】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="goodsCategoryId" class="layui-form-label">商品分类ID 关联category.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="goodsCategoryId" id="goodsCategoryId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【商品分类ID 关联category.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="goodsTypeId" class="layui-form-label">商品类别ID 关联goods_type.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="goodsTypeId" id="goodsTypeId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【商品类别ID 关联goods_type.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="brandId" class="layui-form-label">品牌ID 关联brand.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="brandId" id="brandId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【品牌ID 关联brand.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isNomalVirtual" class="layui-form-label">是否虚拟商品</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isNomalVirtual" id="isNomalVirtual" lay-skin="switch" lay-text="关闭|开启">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isMarketable" class="layui-form-label">是否上架</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isMarketable" id="isMarketable" lay-skin="switch" lay-text="关闭|开启">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="stock" class="layui-form-label">库存</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="stock" id="stock" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【库存】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="freezeStock" class="layui-form-label">冻结库存</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="freezeStock" id="freezeStock" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【冻结库存】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="weight" class="layui-form-label">重量</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="weight" id="weight" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【重量】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="unit" class="layui-form-label">商品单位</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="unit" id="unit" lay-verType="tips" lay-verify="required|verifyunit" class="layui-input" lay-reqText="请输入【商品单位】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="intro" class="layui-form-label">商品详情</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="intro" id="intro" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品详情】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="spes_desc" class="layui-form-label">商品规格序列号存储</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="spes_desc" id="spes_desc" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品规格序列号存储】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="parameters" class="layui-form-label">参数序列化</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="parameters" id="parameters" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【参数序列化】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="commentsCount" class="layui-form-label">评论次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="commentsCount" id="commentsCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【评论次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="viewCount" class="layui-form-label">浏览次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="viewCount" id="viewCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【浏览次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="buyCount" class="layui-form-label">购买次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="buyCount" id="buyCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【购买次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="uptime" class="layui-form-label">上架时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="uptime" id="createTime-CoreCmsGoods-uptime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【上架时间】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="downtime" class="layui-form-label">下架时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="downtime" id="createTime-CoreCmsGoods-downtime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【下架时间】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="sort" class="layui-form-label">商品排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="1" lay-reqText="请输入【商品排序】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="labelIds" class="layui-form-label">标签id逗号分隔</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="labelIds" id="labelIds" lay-verType="tips" lay-verify="required|verifylabelIds" class="layui-input" lay-reqText="请输入【标签id逗号分隔】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="newSpec" class="layui-form-label">自定义规格名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="newSpec" id="newSpec" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【自定义规格名称】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="createTime" class="layui-form-label">创建时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="createTime" id="createTime-CoreCmsGoods-createTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【创建时间】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="updateTime" class="layui-form-label">更新时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="updateTime" id="createTime-CoreCmsGoods-updateTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【更新时间】" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isRecommend" class="layui-form-label">是否推荐</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isRecommend" id="isRecommend" lay-skin="switch" lay-text="关闭|开启">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isHot" class="layui-form-label">是否热门</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isHot" id="isHot" lay-skin="switch" lay-text="关闭|开启">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isDel" class="layui-form-label">是否删除</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isDel" id="isDel" lay-skin="switch" lay-text="关闭|开启">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoods-createForm-submit" id="LAY-app-CoreCmsGoods-createForm-submit" value="确认添加">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
layui.data.done = function (d) {
|
||||
layui.use(['admin', 'form', 'laydate','coreHelper'],
|
||||
function() {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsGoods-uptime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsGoods-downtime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsGoods-createTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#createTime-CoreCmsGoods-updateTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
form.verify({
|
||||
|
||||
verifybn: [/^[\S]{0,30}$/,'商品编码最大只允许输入30位字符,且不能出现空格'],
|
||||
verifyname: [/^[\S]{0,200}$/,'商品名称最大只允许输入200位字符,且不能出现空格'],
|
||||
verifybrief: [/^[\S]{0,255}$/,'商品简介最大只允许输入255位字符,且不能出现空格'],
|
||||
verifyimageIds: [/^[\S]{0,255}$/,'默认图片 图片id最大只允许输入255位字符,且不能出现空格'],
|
||||
verifyunit: [/^[\S]{0,20}$/,'商品单位最大只允许输入20位字符,且不能出现空格'],
|
||||
verifylabelIds: [/^[\S]{0,50}$/,'标签id逗号分隔最大只允许输入50位字符,且不能出现空格'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-CoreCmsGoods-createForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -1,319 +0,0 @@
|
||||
<script type="text/html" template lay-done="layui.data.done(d);">
|
||||
<table class="layui-table layui-form" lay-filter="LAY-app-CoreCmsGoods-detailsForm" id="LAY-app-CoreCmsGoods-detailsForm">
|
||||
<colgroup>
|
||||
<col width="150">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="id">商品ID</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.id || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="bn">商品编码</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.bn || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="name">商品名称</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.name || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="brief">商品简介</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.brief || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="price">商品价格</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.price || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="costprice">成本价</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.costprice || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="mktprice">市场价</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.mktprice || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="imageIds">默认图片 图片id</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.imageIds || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="goodsCategoryId">商品分类ID 关联category.id</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.goodsCategoryId || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="goodsTypeId">商品类别ID 关联goods_type.id</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.goodsTypeId || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="brandId">品牌ID 关联brand.id</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.brandId || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="isNomalVirtual">是否虚拟商品</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" disabled name="isNomalVirtual" value="{{d.params.data.isNomalVirtual}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isNomalVirtual" {{ d.params.data.isNomalVirtual ? 'checked' : '' }}>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="isMarketable">是否上架</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" disabled name="isMarketable" value="{{d.params.data.isMarketable}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isMarketable" {{ d.params.data.isMarketable ? 'checked' : '' }}>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="stock">库存</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.stock || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="freezeStock">冻结库存</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.freezeStock || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="weight">重量</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.weight || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="unit">商品单位</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.unit || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="intro">商品详情</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.intro || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="spes_desc">商品规格序列号存储</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.spes_desc || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="parameters">参数序列化</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.parameters || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="commentsCount">评论次数</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.commentsCount || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="viewCount">浏览次数</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.viewCount || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="buyCount">购买次数</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.buyCount || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="uptime">上架时间</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.uptime || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="downtime">下架时间</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.downtime || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="sort">商品排序</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.sort || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="labelIds">标签id逗号分隔</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.labelIds || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="newSpec">自定义规格名称</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.newSpec || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="createTime">创建时间</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.createTime || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="updateTime">更新时间</label>
|
||||
</td>
|
||||
<td>
|
||||
{{ d.params.data.updateTime || '' }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="isRecommend">是否推荐</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" disabled name="isRecommend" value="{{d.params.data.isRecommend}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isRecommend" {{ d.params.data.isRecommend ? 'checked' : '' }}>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="isHot">是否热门</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" disabled name="isHot" value="{{d.params.data.isHot}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isHot" {{ d.params.data.isHot ? 'checked' : '' }}>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<label for="isDel">是否删除</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" disabled name="isDel" value="{{d.params.data.isDel}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="isDel" {{ d.params.data.isDel ? 'checked' : '' }}>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</script>
|
||||
<script>
|
||||
layui.data.done = function (d) {
|
||||
layui.use(['admin', 'form', 'coreHelper'], function () {
|
||||
var $ = layui.$
|
||||
, setter = layui.setter
|
||||
, admin = layui.admin
|
||||
, coreHelper = layui.coreHelper
|
||||
, form = layui.form;
|
||||
form.render(null, 'LAY-app-CoreCmsGoods-detailsForm');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
@@ -1,295 +0,0 @@
|
||||
<script type="text/html" template lay-done="layui.data.sendParams(d);">
|
||||
<div class="layui-form coreshop-form" lay-filter="LAY-app-CoreCmsGoods-editForm" id="LAY-app-CoreCmsGoods-editForm">
|
||||
<input type="hidden" name="id" id="id" value="{{d.params.data.id || '' }}" />
|
||||
<div class="layui-form-item">
|
||||
<label for="id" class="layui-form-label">商品ID</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="id" id="id" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.id || '' }}" lay-reqText="请输入【商品ID】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="bn" class="layui-form-label">商品编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="bn" id="bn" lay-verType="tips" lay-verify="required|verifybn" class="layui-input" lay-reqText="请输入【商品编码】" value="{{d.params.data.bn || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label">商品名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="name" id="name" lay-verType="tips" lay-verify="required|verifyname" class="layui-input" lay-reqText="请输入【商品名称】" value="{{d.params.data.name || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="brief" class="layui-form-label">商品简介</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="brief" id="brief" lay-verType="tips" lay-verify="required|verifybrief" class="layui-input" lay-reqText="请输入【商品简介】" value="{{d.params.data.brief || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="price" class="layui-form-label">商品价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="price" id="price" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品价格】" value="{{d.params.data.price || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="costprice" class="layui-form-label">成本价</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="costprice" id="costprice" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【成本价】" value="{{d.params.data.costprice || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="mktprice" class="layui-form-label">市场价</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="mktprice" id="mktprice" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【市场价】" value="{{d.params.data.mktprice || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="imageIds" class="layui-form-label">默认图片 图片id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="imageIds" id="imageIds" lay-verType="tips" lay-verify="required|verifyimageIds" class="layui-input" lay-reqText="请输入【默认图片 图片id】" value="{{d.params.data.imageIds || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="goodsCategoryId" class="layui-form-label">商品分类ID 关联category.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="goodsCategoryId" id="goodsCategoryId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.goodsCategoryId || '' }}" lay-reqText="请输入【商品分类ID 关联category.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="goodsTypeId" class="layui-form-label">商品类别ID 关联goods_type.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="goodsTypeId" id="goodsTypeId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.goodsTypeId || '' }}" lay-reqText="请输入【商品类别ID 关联goods_type.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="brandId" class="layui-form-label">品牌ID 关联brand.id</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="brandId" id="brandId" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.brandId || '' }}" lay-reqText="请输入【品牌ID 关联brand.id】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isNomalVirtual" class="layui-form-label">是否虚拟商品</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isNomalVirtual" id="isNomalVirtual" {{ d.params.data.isNomalVirtual ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isMarketable" class="layui-form-label">是否上架</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isMarketable" id="isMarketable" {{ d.params.data.isMarketable ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="stock" class="layui-form-label">库存</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="stock" id="stock" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.stock || '' }}" lay-reqText="请输入【库存】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="freezeStock" class="layui-form-label">冻结库存</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="freezeStock" id="freezeStock" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.freezeStock || '' }}" lay-reqText="请输入【冻结库存】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="weight" class="layui-form-label">重量</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="weight" id="weight" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【重量】" value="{{d.params.data.weight || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="unit" class="layui-form-label">商品单位</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="unit" id="unit" lay-verType="tips" lay-verify="required|verifyunit" class="layui-input" lay-reqText="请输入【商品单位】" value="{{d.params.data.unit || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="intro" class="layui-form-label">商品详情</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="intro" id="intro" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品详情】" value="{{d.params.data.intro || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="spes_desc" class="layui-form-label">商品规格序列号存储</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="spes_desc" id="spes_desc" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【商品规格序列号存储】" value="{{d.params.data.spes_desc || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="parameters" class="layui-form-label">参数序列化</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="parameters" id="parameters" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【参数序列化】" value="{{d.params.data.parameters || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="commentsCount" class="layui-form-label">评论次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="commentsCount" id="commentsCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.commentsCount || '' }}" lay-reqText="请输入【评论次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="viewCount" class="layui-form-label">浏览次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="viewCount" id="viewCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.viewCount || '' }}" lay-reqText="请输入【浏览次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="buyCount" class="layui-form-label">购买次数</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="buyCount" id="buyCount" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.buyCount || '' }}" lay-reqText="请输入【购买次数】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="uptime" class="layui-form-label">上架时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="uptime" id="editTime-CoreCmsGoods-uptime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【上架时间】" value="{{d.params.data.uptime || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="downtime" class="layui-form-label">下架时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="downtime" id="editTime-CoreCmsGoods-downtime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【下架时间】" value="{{d.params.data.downtime || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="sort" class="layui-form-label">商品排序</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="sort" id="sort" lay-verType="tips" lay-verify="required|number" class="layui-input" value="{{d.params.data.sort || '' }}" lay-reqText="请输入【商品排序】并为数字" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="labelIds" class="layui-form-label">标签id逗号分隔</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="labelIds" id="labelIds" lay-verType="tips" lay-verify="required|verifylabelIds" class="layui-input" lay-reqText="请输入【标签id逗号分隔】" value="{{d.params.data.labelIds || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="newSpec" class="layui-form-label">自定义规格名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="newSpec" id="newSpec" lay-verType="tips" lay-verify="required" class="layui-input" lay-reqText="请输入【自定义规格名称】" value="{{d.params.data.newSpec || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="createTime" class="layui-form-label">创建时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="createTime" id="editTime-CoreCmsGoods-createTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【创建时间】" value="{{d.params.data.createTime || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="updateTime" class="layui-form-label">更新时间</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="updateTime" id="editTime-CoreCmsGoods-updateTime" type="text" lay-verType="tips" lay-verify="required|datetime" class="layui-input" lay-reqText="请输入【更新时间】" value="{{d.params.data.updateTime || '' }}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isRecommend" class="layui-form-label">是否推荐</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isRecommend" id="isRecommend" {{ d.params.data.isRecommend ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isHot" class="layui-form-label">是否热门</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isHot" id="isHot" {{ d.params.data.isHot ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label for="isDel" class="layui-form-label">是否删除</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" lay-filter="switch" name="isDel" id="isDel" {{ d.params.data.isDel ? 'checked' : '' }} lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<div class="layui-form-mid layui-word-aux"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<input type="button" class="layui-btn" lay-submit lay-filter="LAY-app-CoreCmsGoods-editForm-submit" id="LAY-app-CoreCmsGoods-editForm-submit" value="确认编辑">
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<script>
|
||||
layui.data.sendParams = function (d) {
|
||||
layui.use(['admin', 'form', 'laydate', 'coreHelper'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, form = layui.form
|
||||
, admin = layui.admin
|
||||
, laydate = layui.laydate
|
||||
, coreHelper = layui.coreHelper;
|
||||
|
||||
laydate.render({
|
||||
elem: '#editTime-CoreCmsGoods-uptime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#editTime-CoreCmsGoods-downtime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#editTime-CoreCmsGoods-createTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#editTime-CoreCmsGoods-updateTime',
|
||||
type: 'datetime'
|
||||
});
|
||||
form.verify({
|
||||
|
||||
verifybn: [/^[\S]{0,30}$/,'商品编码最大只允许输入30位字符,且不能出现空格'],
|
||||
verifyname: [/^[\S]{0,200}$/,'商品名称最大只允许输入200位字符,且不能出现空格'],
|
||||
verifybrief: [/^[\S]{0,255}$/,'商品简介最大只允许输入255位字符,且不能出现空格'],
|
||||
verifyimageIds: [/^[\S]{0,255}$/,'默认图片 图片id最大只允许输入255位字符,且不能出现空格'],
|
||||
verifyunit: [/^[\S]{0,20}$/,'商品单位最大只允许输入20位字符,且不能出现空格'],
|
||||
verifylabelIds: [/^[\S]{0,50}$/,'标签id逗号分隔最大只允许输入50位字符,且不能出现空格'],
|
||||
});
|
||||
//重载form
|
||||
form.render(null, 'LAY-app-CoreCmsGoods-editForm');
|
||||
})
|
||||
};
|
||||
</script>
|
||||
@@ -1,455 +0,0 @@
|
||||
<title>商品表</title>
|
||||
<!--当前位置开始-->
|
||||
<div class="layui-card layadmin-header">
|
||||
<div class="layui-breadcrumb" lay-filter="breadcrumb">
|
||||
<script type="text/html" template lay-done="layui.data.updateMainBreadcrumb();">
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<!--当前位置结束-->
|
||||
<style>
|
||||
/* 重写样式 */
|
||||
</style>
|
||||
<script type="text/html" template lay-type="Post" lay-url="{{ layui.setter.apiUrl }}Api/CoreCmsGoods/GetIndex" lay-done="layui.data.done(d);">
|
||||
<div class="layui-form coreshop-toolbar-search-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="bn">商品编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="bn" id="bn" placeholder="请输入商品编码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="name">商品名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" id="name" placeholder="请输入商品名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="goodsCategoryId">商品分类</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="goodsCategoryId" id="goodsCategoryId" placeholder="请输入商品分类ID 关联category.id" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="goodsTypeId">商品类别</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="goodsTypeId" id="goodsTypeId" placeholder="请输入商品类别ID 关联goods_type.id" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" for="isMarketable">是否上架</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="isMarketable" id="isMarketable">
|
||||
<option value="">请选择</option>
|
||||
<option value="True">是</option>
|
||||
<option value="False">否</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsGoods-search"><i class="layui-icon layui-icon-search"></i>筛选</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
<div class="table-body">
|
||||
<table id="LAY-app-CoreCmsGoods-tableBox" lay-filter="LAY-app-CoreCmsGoods-tableBox"></table>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="LAY-app-CoreCmsGoods-toolbar">
|
||||
<div class="layui-btn-container">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="addData"><i class="layui-icon layui-icon-add-1"></i>添加数据</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="batchDelete"><i class="layui-icon layui-icon-delete"></i>批量删除</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="selectExportExcel"><i class="layui-icon layui-icon-add-circle"></i>选择导出</button>
|
||||
<button class="layui-btn layui-btn-sm" lay-event="queryExportExcel"><i class="layui-icon layui-icon-download-circle"></i>查询导出</button>
|
||||
</div>
|
||||
</script>
|
||||
<script type="text/html" id="LAY-app-CoreCmsGoods-tableBox-bar">
|
||||
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var indexData;
|
||||
layui.data.done = function (d) {
|
||||
indexData = d.data;
|
||||
layui.use(['index', 'table', 'laydate', 'util', 'coreHelper'],
|
||||
function () {
|
||||
var $ = layui.$
|
||||
, admin = layui.admin
|
||||
, table = layui.table
|
||||
, form = layui.form
|
||||
, laydate = layui.laydate
|
||||
, setter = layui.setter
|
||||
, coreHelper = layui.coreHelper
|
||||
, util = layui.util
|
||||
, view = layui.view;
|
||||
|
||||
laydate.render({
|
||||
elem: '#searchTime-CoreCmsGoods-uptime',
|
||||
type: 'datetime',
|
||||
range: '到',
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#searchTime-CoreCmsGoods-downtime',
|
||||
type: 'datetime',
|
||||
range: '到',
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#searchTime-CoreCmsGoods-createTime',
|
||||
type: 'datetime',
|
||||
range: '到',
|
||||
});
|
||||
laydate.render({
|
||||
elem: '#searchTime-CoreCmsGoods-updateTime',
|
||||
type: 'datetime',
|
||||
range: '到',
|
||||
});
|
||||
//重载form
|
||||
form.render();
|
||||
var searchwhere;
|
||||
//监听搜索
|
||||
form.on('submit(LAY-app-CoreCmsGoods-search)',
|
||||
function (data) {
|
||||
var field = data.field;
|
||||
searchwhere = field;
|
||||
//执行重载
|
||||
table.reloadData('LAY-app-CoreCmsGoods-tableBox', { where: field });
|
||||
});
|
||||
//数据绑定
|
||||
table.render({
|
||||
elem: '#LAY-app-CoreCmsGoods-tableBox',
|
||||
url: layui.setter.apiUrl + 'Api/CoreCmsGoods/GetPageList',
|
||||
method: 'POST',
|
||||
toolbar: '#LAY-app-CoreCmsGoods-toolbar',
|
||||
defaultToolbar: ['filter', 'print', 'exports'],
|
||||
height: 'full-127',//无面包屑127,搜索框189,1行62
|
||||
page: true,
|
||||
limit: 30,
|
||||
limits: [10, 15, 20, 25, 30, 50, 100, 200],
|
||||
text: { none: '暂无相关数据' },
|
||||
cols: [
|
||||
[
|
||||
{ type: "checkbox", fixed: "left" },
|
||||
{ field: 'id', title: '商品ID', sort: false, width: 105 },
|
||||
{ field: 'bn', title: '商品编码', sort: false, width: 105 },
|
||||
{ field: 'name', title: '商品名称', sort: false, width: 105 },
|
||||
{ field: 'brief', title: '商品简介', sort: false, width: 105 },
|
||||
{ field: 'price', title: '商品价格', sort: false, width: 105 },
|
||||
{ field: 'costprice', title: '成本价', sort: false, width: 105 },
|
||||
{ field: 'mktprice', title: '市场价', sort: false, width: 105 },
|
||||
{
|
||||
field: 'imageIds', title: '默认图片 图片id', width: 80, sort: false,
|
||||
templet: function (d) {
|
||||
if (d.imageIds) {
|
||||
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + d.imageIds + '")><image style="max-width:28px;max-height:28px;" src="' + d.imageIds + '" /></a>';
|
||||
} else {
|
||||
return '<a href="javascript:void(0);" onclick=layui.coreHelper.viewImage("' + setter.noImagePicUrl + '")><image style="max-width:30px;max-height:30px;" src="' + setter.noImagePicUrl + '" /></a>';
|
||||
}
|
||||
}
|
||||
},
|
||||
{ field: 'goodsCategoryId', title: '商品分类ID 关联category.id', sort: false, width: 105 },
|
||||
{ field: 'goodsTypeId', title: '商品类别ID 关联goods_type.id', sort: false, width: 105 },
|
||||
{ field: 'brandId', title: '品牌ID 关联brand.id', sort: false, width: 105 },
|
||||
{ field: 'isNomalVirtual', title: '是否虚拟商品', width: 105, templet: '#switch_isNomalVirtual', sort: false, unresize: true },
|
||||
{ field: 'isMarketable', title: '是否上架', width: 105, templet: '#switch_isMarketable', sort: false, unresize: true },
|
||||
{ field: 'stock', title: '库存', sort: false, width: 105 },
|
||||
{ field: 'freezeStock', title: '冻结库存', sort: false, width: 105 },
|
||||
{ field: 'weight', title: '重量', sort: false, width: 105 },
|
||||
{ field: 'unit', title: '商品单位', sort: false, width: 105 },
|
||||
{ field: 'intro', title: '商品详情', sort: false, width: 105 },
|
||||
{ field: 'spes_desc', title: '商品规格序列号存储', sort: false, width: 105 },
|
||||
{ field: 'parameters', title: '参数序列化', sort: false, width: 105 },
|
||||
{ field: 'commentsCount', title: '评论次数', sort: false, width: 105 },
|
||||
{ field: 'viewCount', title: '浏览次数', sort: false, width: 105 },
|
||||
{ field: 'buyCount', title: '购买次数', sort: false, width: 105 },
|
||||
{ field: 'uptime', title: '上架时间', width: 130, sort: false },
|
||||
{ field: 'downtime', title: '下架时间', width: 130, sort: false },
|
||||
{ field: 'sort', title: '商品排序', sort: false, width: 105 },
|
||||
{ field: 'labelIds', title: '标签id逗号分隔', sort: false, width: 105 },
|
||||
{ field: 'newSpec', title: '自定义规格名称', sort: false, width: 105 },
|
||||
{ field: 'createTime', title: '创建时间', width: 130, sort: false },
|
||||
{ field: 'updateTime', title: '更新时间', width: 130, sort: false },
|
||||
{ field: 'isRecommend', title: '是否推荐', width: 105, templet: '#switch_isRecommend', sort: false, unresize: true },
|
||||
{ field: 'isHot', title: '是否热门', width: 105, templet: '#switch_isHot', sort: false, unresize: true },
|
||||
{ field: 'isDel', title: '是否删除', width: 105, templet: '#switch_isDel', sort: false, unresize: true },
|
||||
{ width: 142, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsGoods-tableBox-bar' }
|
||||
]
|
||||
]
|
||||
});
|
||||
//监听排序事件
|
||||
table.on('sort(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
|
||||
table.reloadData('LAY-app-CoreCmsGoods-tableBox', {
|
||||
initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。
|
||||
where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
|
||||
orderField: obj.field, //排序字段
|
||||
orderDirection: obj.type //排序方式
|
||||
}
|
||||
});
|
||||
});
|
||||
//监听行双击事件
|
||||
table.on('rowDouble(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
|
||||
//查看详情
|
||||
doDetails(obj);
|
||||
});
|
||||
//头工具栏事件
|
||||
table.on('toolbar(LAY-app-CoreCmsGoods-tableBox)', function (obj) {
|
||||
var checkStatus = table.checkStatus(obj.config.id);
|
||||
switch (obj.event) {
|
||||
case 'addData':
|
||||
doCreate();
|
||||
break;
|
||||
case 'batchDelete':
|
||||
doBatchDelete(checkStatus);
|
||||
break;
|
||||
case 'selectExportExcel':
|
||||
doSelectExportExcel(checkStatus);
|
||||
break;
|
||||
case 'queryExportExcel':
|
||||
doQueryExportexcel();
|
||||
break;
|
||||
};
|
||||
});
|
||||
//监听工具条
|
||||
table.on('tool(LAY-app-CoreCmsGoods-tableBox)',
|
||||
function (obj) {
|
||||
if (obj.event === 'detail') {
|
||||
doDetails(obj);
|
||||
} else if (obj.event === 'del') {
|
||||
doDelete(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
doEdit(obj)
|
||||
}
|
||||
});
|
||||
//执行创建操作
|
||||
function doCreate() {
|
||||
coreHelper.Post("Api/CoreCmsGoods/GetCreate", null, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({ shadeClose: false,
|
||||
title: '创建数据',
|
||||
area: ['800px', '600px'],
|
||||
id: 'LAY-popup-CoreCmsGoods-create',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('good/goodsinfos/create', { data: e.data }).done(function () {
|
||||
//监听提交
|
||||
form.on('submit(LAY-app-CoreCmsGoods-createForm-submit)',
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
field.isNomalVirtual = field.isNomalVirtual == 'on';
|
||||
field.isMarketable = field.isMarketable == 'on';
|
||||
field.isRecommend = field.isRecommend == 'on';
|
||||
field.isHot = field.isHot == 'on';
|
||||
field.isDel = field.isDel == 'on';
|
||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoCreate", field, function (e) {
|
||||
console.log(e)
|
||||
if (e.code === 0) {
|
||||
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
|
||||
layer.close(index); //再执行关闭
|
||||
layer.msg(e.msg);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行编辑操作
|
||||
function doEdit(obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/GetEdit", { id: obj.data.id }, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({ shadeClose: false,
|
||||
title: '编辑数据',
|
||||
area: ['800px', '600px'],
|
||||
id: 'LAY-popup-CoreCmsGoods-edit',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('good/goodsinfos/edit', { data: e.data }).done(function () {
|
||||
//监听提交
|
||||
form.on('submit(LAY-app-CoreCmsGoods-editForm-submit)',
|
||||
function (data) {
|
||||
var field = data.field; //获取提交的字段
|
||||
|
||||
field.isNomalVirtual = field.isNomalVirtual == 'on';
|
||||
field.isMarketable = field.isMarketable == 'on';
|
||||
field.isRecommend = field.isRecommend == 'on';
|
||||
field.isHot = field.isHot == 'on';
|
||||
field.isDel = field.isDel == 'on';
|
||||
//提交 Ajax 成功后,关闭当前弹层并重载表格
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoEdit", field, function (e) {
|
||||
console.log(e)
|
||||
if (e.code === 0) {
|
||||
layui.table.reloadData('LAY-app-CoreCmsGoods-tableBox'); //重载表格
|
||||
layer.close(index); //再执行关闭
|
||||
layer.msg(e.msg);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行预览操作
|
||||
function doDetails(obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/GetDetails", { id: obj.data.id }, function (e) {
|
||||
if (e.code === 0) {
|
||||
admin.popup({ shadeClose: false,
|
||||
title: '查看详情',
|
||||
area: ['800px', '600px'],
|
||||
id: 'LAY-popup-CoreCmsGoods-details',
|
||||
success: function (layero, index) {
|
||||
view(this.id).render('good/goodsinfos/details', { data: e.data }).done(function () {
|
||||
form.render();
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
//执行单个删除
|
||||
function doDelete(obj) {
|
||||
layer.confirm('确定删除吗?删除后将无法恢复。', function (index) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoDelete", { id: obj.data.id }, function (e) {
|
||||
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(e.msg);
|
||||
});
|
||||
});
|
||||
}
|
||||
//执行批量删除
|
||||
function doBatchDelete(checkStatus) {
|
||||
var checkData = checkStatus.data;
|
||||
if (checkData.length === 0) {
|
||||
return layer.msg('请选择要删除的数据');
|
||||
}
|
||||
layer.confirm('确定删除吗?删除后将无法恢复。',
|
||||
function (index) {
|
||||
var delidsStr = [];
|
||||
layui.each(checkData,
|
||||
function (index, item) {
|
||||
delidsStr.push(item.id);
|
||||
});
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoBatchDelete", { id: delidsStr }, function (e) {
|
||||
table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(e.msg);
|
||||
});
|
||||
});
|
||||
}
|
||||
//执行查询条件导出excel
|
||||
function doQueryExportexcel() {
|
||||
layer.confirm('确定根据当前的查询条件导出数据吗?',
|
||||
function (index) {
|
||||
var field = searchwhere;
|
||||
coreHelper.PostForm("Api/CoreCmsGoods/QueryExportExcel", field, function (e) {
|
||||
if (e.code === 0) {
|
||||
window.open(e.data);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
//执行选择目录导出数据
|
||||
function doSelectExportExcel(checkStatus) {
|
||||
var checkData = checkStatus.data;
|
||||
if (checkData.length === 0) {
|
||||
return layer.msg('请选择您要导出的数据');
|
||||
}
|
||||
layer.confirm('确定导出选择的内容吗?',
|
||||
function (index) {
|
||||
var delidsStr = [];
|
||||
layui.each(checkData,
|
||||
function (index, item) {
|
||||
delidsStr.push(item.id);
|
||||
});
|
||||
layer.close(index);
|
||||
coreHelper.Post("Api/CoreCmsGoods/SelectExportExcel", { id: delidsStr }, function (e) {
|
||||
if (e.code === 0) {
|
||||
window.open(e.data);
|
||||
} else {
|
||||
layer.msg(e.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
//监听 表格复选框操作
|
||||
|
||||
layui.form.on('switch(switch_isNomalVirtual)', function (obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoSetisNomalVirtual", { id: this.value, data: obj.elem.checked }, function (res) {
|
||||
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(res.msg);
|
||||
});
|
||||
});
|
||||
|
||||
layui.form.on('switch(switch_isMarketable)', function (obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoSetisMarketable", { id: this.value, data: obj.elem.checked }, function (res) {
|
||||
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(res.msg);
|
||||
});
|
||||
});
|
||||
|
||||
layui.form.on('switch(switch_isRecommend)', function (obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoSetisRecommend", { id: this.value, data: obj.elem.checked }, function (res) {
|
||||
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(res.msg);
|
||||
});
|
||||
});
|
||||
|
||||
layui.form.on('switch(switch_isHot)', function (obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoSetisHot", { id: this.value, data: obj.elem.checked }, function (res) {
|
||||
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(res.msg);
|
||||
});
|
||||
});
|
||||
|
||||
layui.form.on('switch(switch_isDel)', function (obj) {
|
||||
coreHelper.Post("Api/CoreCmsGoods/DoSetisDel", { id: this.value, data: obj.elem.checked }, function (res) {
|
||||
//table.reloadData('LAY-app-CoreCmsGoods-tableBox');
|
||||
layer.msg(res.msg);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<!--设置是否虚拟商品-->
|
||||
<script type="text/html" id="switch_isNomalVirtual">
|
||||
<input type="checkbox" name="switch_isNomalVirtual" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isNomalVirtual" {{ d.isNomalVirtual ? 'checked' : '' }}>
|
||||
</script>
|
||||
|
||||
<!--设置是否上架-->
|
||||
<script type="text/html" id="switch_isMarketable">
|
||||
<input type="checkbox" name="switch_isMarketable" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isMarketable" {{ d.isMarketable ? 'checked' : '' }}>
|
||||
</script>
|
||||
|
||||
<!--设置是否推荐-->
|
||||
<script type="text/html" id="switch_isRecommend">
|
||||
<input type="checkbox" name="switch_isRecommend" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isRecommend" {{ d.isRecommend ? 'checked' : '' }}>
|
||||
</script>
|
||||
|
||||
<!--设置是否热门-->
|
||||
<script type="text/html" id="switch_isHot">
|
||||
<input type="checkbox" name="switch_isHot" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isHot" {{ d.isHot ? 'checked' : '' }}>
|
||||
</script>
|
||||
|
||||
<!--设置是否删除-->
|
||||
<script type="text/html" id="switch_isDel">
|
||||
<input type="checkbox" name="switch_isDel" value="{{d.id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="switch_isDel" {{ d.isDel ? 'checked' : '' }}>
|
||||
</script>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,40 +0,0 @@
|
||||
/*
|
||||
SQLyog Ultimate v13.1.1 (64 bit)
|
||||
MySQL - 5.7.33 : Database - CoreShop
|
||||
*********************************************************************
|
||||
*/
|
||||
|
||||
/*!40101 SET NAMES utf8 */;
|
||||
|
||||
/*!40101 SET SQL_MODE=''*/;
|
||||
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/`CoreShop` /*!40100 DEFAULT CHARACTER SET latin1 */;
|
||||
|
||||
USE `CoreShop`;
|
||||
|
||||
/*Table structure for table `WeChatAccessToken` */
|
||||
|
||||
DROP TABLE IF EXISTS `WeChatAccessToken`;
|
||||
|
||||
CREATE TABLE `WeChatAccessToken` (
|
||||
`id` int(10) NOT NULL AUTO_INCREMENT,
|
||||
`appType` int(10) NOT NULL,
|
||||
`appId` varchar(50) NOT NULL,
|
||||
`accessToken` varchar(250) NOT NULL,
|
||||
`expireTimestamp` bigint(19) NOT NULL,
|
||||
`updateTimestamp` bigint(19) NOT NULL,
|
||||
`createTimestamp` bigint(19) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `PK_WeChatAccessToken` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
/*Data for the table `WeChatAccessToken` */
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,41 +0,0 @@
|
||||
CREATE TABLE [dbo].[WeChatAccessToken](
|
||||
[id] [INT] IDENTITY(1,1) NOT NULL,
|
||||
[appType] [INT] NOT NULL,
|
||||
[appId] [NVARCHAR](50) NOT NULL,
|
||||
[accessToken] [NVARCHAR](250) NOT NULL,
|
||||
[expireTimestamp] [BIGINT] NOT NULL,
|
||||
[updateTimestamp] [BIGINT] NOT NULL,
|
||||
[createTimestamp] [BIGINT] NOT NULL,
|
||||
CONSTRAINT [PK_WeChatAccessToken] PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'序列' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'id'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型1小程序2公众号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'appType'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'微信appId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'appId'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'微信accessToken' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'accessToken'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'截止时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'expireTimestamp'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'更新时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'updateTimestamp'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken', @level2type=N'COLUMN',@level2name=N'createTimestamp'
|
||||
GO
|
||||
|
||||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'微信授权交互' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WeChatAccessToken'
|
||||
GO
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
1、使用20211119版本数据库执行脚本即可。
|
||||
2、菜单中导入新的action。
|
||||
3、角色中增加菜单权限即可。
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
||||
bak和sql二选一。
|
||||
Reference in New Issue
Block a user