记得上下班打卡 | git大法好,push需谨慎

Commit 84824b75 authored by dongchun's avatar dongchun

新增商城代码

parent a7ed200f
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('顶部banner')" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.right_content {
font-size: 16px;
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
}
.left_content {
flex: 1;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_btn, .first_content {
display: flex;
align-items: center;
margin-bottom: 12px;
}
.function_btn .hot_title {
font-size: 16px;
font-weight: 600;
}
.function_btn .tags {
display: flex;
align-items: center;
}
.function_btn .tags_content {
display: flex;
flex-direction: column;
}
label {
margin: 0;
display: flex;
align-items: center;
}
.function_btn .tags label input {
margin: 0 4px 0 12px;
}
.function_btn .tags .tag {
padding: 6px 12px 4px;
border: 1px solid #ccc;
border-radius: 5px;
position: relative;
margin-right: 12px;
}
.function_btn .tags .tag span {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
line-height: 16px;
border: 1px solid #aaa;
border-radius: 50%;
background: #fff;
text-align: center;
cursor: pointer;
}
.banner_list {
display: flex;
flex-direction: column;
width: 100%;
}
.banner_item, .items {
border: 1px dashed #ccc;
border-radius: 10px;
padding: 12px;
margin-bottom: 20px;
}
.img_show, .set_method, .set_function {
display: flex;
}
.title {
font-size: 16px;
font-weight: 600;
width: 80px;
text-align: right;
}
.kv-upload-progress {
display: none !important;
}
.ibox-content .imgBox {
width: 350px;
max-height: 180px;
}
.jump, .ticket_name, .set_function_time {
display: flex;
flex-grow: 1;
align-items: center;
}
.iptOrSelect {
flex: 1;
}
.img_box {
display: flex;
flex-direction: column;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
</div>
<div class="function_btn">
<div class="hot_title">
展示形式:
</div>
<div class="tags">
<label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>一行一个</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>一行两个</span></label>
<label>
<input type="radio" value="3" id="optionsRadios1" name="optionsRadios"><span>一行三个</span></label>
<label>
<input type="radio" value="4" id="optionsRadios1" name="optionsRadios"><span>上一下三</span></label>
</div>
</div>
<div class="function_btn">
<div id="bannerList" class="banner_list">
</div>
</div>
<div class="footer_btn">
<button type="button" class="btn btn-success" onclick="save()">保存</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
</div>
<div class="function_area">
<iframe src="http://172.16.2.214:8080/#/goods/home?place=admin" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-fileinput-js" />
<th:block th:include="include :: bootstrap-suggest-js" />
<script th:inline="javascript">
var prefix2 = ctx + "local";
var platformUrl = [[${platformUrl}]];
let num = 1;
$(function() {
addItem (1);
})
$("input[name=optionsRadios]").change(function(e){
$("#bannerList").empty();
let num = e.target.value;
addItem (num);
})
function addItem (num) {
console.log(num, '221212')
let str = '';
for (var i = 0; i < num; i++) {
str = `<div class="items">
<div class="first_content">
<div class="hot_title">
页面属性:
</div>
<div class="tags">
<label>
<input type="radio" checked value="1" id="pageAttribute${i}" name="pageAttribute${i}"><span>单商品</span></label>
<label>
<input type="radio" value="2" id="pageAttribute${i}" name="pageAttribute${i}"><span>合集</span></label>
</div>
</div>
<div class="first_content" style="align-items: flex-start;">
<div class="hot_title">
选择商品:
</div>
<div class="tags_content" style="width: 553px;">
<div class="input-group">
<input id="goodsName${i}" type="text" class="form-control storeList" placeholder="搜索商品名称">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
<div class="img_box">
<img id="goodsImg${i}" src="https://img.zhengzai.tv/banner/2022/01/06/d4e7ef3aeabb4151a3a8dd9ab7a272a8.png" alt="" style="max-height: 180px;max-width:180px;margin: 12px 0;">
<p id="goodsTitle${i}" style="width:180px;">2021草莓音乐节主页(RE)连帽卫衣</p>
<p id="goodsPrice${i}">¥99</p>
</div>
<button id="del${i}" type="button" class="btn btn-danger" style="width: 60px;" onclick="del('${i}')">删除</button>
</div>
</div>
<div class="first_content" style="align-items: flex-start;">
<div class="hot_title">
推荐文案:
</div>
<div class="tags">
<textarea id="text${i}" class="form-control" name="" id="" style="width: 553px;height: 150px;"></textarea>
</div>
</div>
</div>`
$("#bannerList").append(str);
common(i)
}
}
function save () {
refreshItem()
}
function del (num) {
console.log(num)
$('#goodsImg'+num+'').attr('src', '');
$('#goodsTitle'+num+'').html('');
$('#goodsPrice'+num+'').html('');
$('#del'+num+'').hide();
}
function common (num) {
$(".storeList").bsSuggest({
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn:false,
multiWord: true, //以分隔符号分割的多关键字支持
hideOnSelect: true,
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
url: ctx+'kylin/base/performance/status?status=(3,6)&title=',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
//字符串转化为 js 对象
return json;
}
}).on('onDataRequestSuccess', function (e, result) {
console.log('onDataRequestSuccess: ',e, result);
}).on('onSetSelectValue', function (e, selectedData,selectedRawData ) { // 当前行的所有值都能拿到
console.log('211: ', e.target.value, selectedData, selectedRawData);
}).on('onUnsetSelectValue', function (e) {
console.log("onUnsetSelectValue", e);
});;
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('顶部banner')" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.right_content {
font-size: 16px;
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
}
.left_content {
flex: 1;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_btn {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.function_btn .hot_title {
font-size: 16px;
font-weight: 600;
}
.function_btn .tags {
display: flex;
align-items: center;
}
.function_btn .tags label {
display: flex;
align-items: center;
}
.function_btn .tags label input {
margin: 0 4px 0 12px;
}
.function_btn .tags .tag {
padding: 6px 12px 4px;
border: 1px solid #ccc;
border-radius: 5px;
position: relative;
margin-right: 12px;
}
.function_btn .tags .tag span {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
line-height: 16px;
border: 1px solid #aaa;
border-radius: 50%;
background: #fff;
text-align: center;
cursor: pointer;
}
.banner_list {
display: flex;
flex-direction: column;
}
.banner_item {
border: 1px dashed #ccc;
border-radius: 10px;
padding: 12px;
margin-bottom: 20px;
}
.img_show, .set_method, .set_function {
display: flex;
}
.title {
font-size: 16px;
font-weight: 600;
width: 80px;
text-align: right;
}
.kv-upload-progress {
display: none !important;
}
.ibox-content .imgBox {
width: 350px;
max-height: 180px;
}
.jump, .ticket_name, .set_function_time {
display: flex;
flex-grow: 1;
align-items: center;
}
.iptOrSelect {
flex: 1;
}
label {
margin: 0;
}
.list_title {
display: flex;
justify-content: space-between;
font-size: 16px;
font-weight: 600;
margin-bottom: 12px;
}
/* .ibox-content {
padding: 0;
border: none;
} */
.ibox {
height: 85vh;
overflow-y: auto;
}
.footer_btn {
position: fixed;
bottom: 15px;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
</div>
<div class="function_btn">
<div class="hot_title">
商品排序:
</div>
<div class="tags">
<label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>上架时间</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>销量</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>价格高</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>价格低</span></label>
</div>
</div>
<div class="list_title">
<div class="hot_title">
商品列表<span>(1998)</span>
</div>
<div class="tags">
拖动排序
</div>
</div>
<div class="ibox">
<div class="ibox-content">
<ul class="sortable-list connectList agile-list">
</ul>
</div>
</div>
<div class="footer_btn">
<button type="button" class="btn btn-success" onclick="save()">保存</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
</div>
<div class="function_area">
<iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:src="@{/js/jquery-ui-1.10.4.min.js}"></script>
<script th:inline="javascript">
var prefix2 = ctx + "local";
var platformUrl = [[${platformUrl}]];
let num = 0;
$(function() {
let str = '';
for (var i = 0; i < 100; i++) {
str+= `<li id="${i+1}" class="info-element">
<span>制定工作日程表</span>
<div class="agile-detail">
<a href="#" class="pull-right btn btn-xs btn-white" style="margin-top:-15px;background: none;border: none;"><i class="fa fa-navicon"></i></a>
<i class="fa fa-clock-o"></i> 2018.09.10
</div>
</li>`
}
$(".connectList").append(str);
})
$(document).ready(function () {
$(".sortable-list").sortable({connectWith: ".connectList"}).disableSelection()
});
$("input[name=optionsRadios]").change(function(e){
$("#bannerList").empty();
if (e.target.value == 2) {
addItem (8);
} else {
addItem (4);
}
})
function addItem (num) {
let str = '';
for (var i = 0; i < num; i++) {
}
}
function save () {
// refreshItem()
// $(".info-element").forEach(item => {
// console.log(item)
// })
let lis = $(".info-element");
for(var i = 0; i < lis.length; i++) {
console.log(i,lis[i].getAttribute('id'), 'id')
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('首页排版')" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.left_content, .right_content {
font-size: 16px;
font-weight: 600;
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_area {
position: relative;
}
.function_area .kingAreaMode {
position: absolute;
width: 373px;
height: 246px;
background: rgba(0,0,0,0);
left: 1px;
top: 104px;
cursor: pointer;
}
.kingAreaMode span, .searchAreaModeSp {
/* display: inline-block; */
position: relative;
width: 20px;
height: 20px;
border-radius: 50%;
text-align: center;
line-height: 18px;
border: 2px solid yellowgreen;
right: -358px;
top: -10px;
color: yellowgreen;
cursor: pointer;
display: none;
}
.kingAreaMode:hover,.searchAreaMode:hover {
border-radius: 8px;
border: 2px dashed yellowgreen;
}
.kingAreaMode:hover .kingAreaModeSp,.searchAreaMode:hover .searchAreaModeSp {
display: inline-block;
}
.searchAreaMode {
position: absolute;
width: 373px;
height: 46px;
background: rgba(0,0,0,0);
left: 1px;
top: 56px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
营销组件
</div>
<div class="function_btn">
<button type="button" class="btn btn-primary" onclick="goArea(1)">金刚位</button>
<button type="button" class="btn btn-warning" onclick="goArea(2)">活动banner</button>
<button type="button" class="btn btn-info" onclick="goArea(3)">限时秒杀</button>
<button type="button" class="btn btn-success" onclick="goArea(4)">魔方</button>
<button type="button" class="btn" onclick="goArea(5)">搜索</button>
<button type="button" class="btn" onclick="goArea(6)">顶部banner</button>
<button type="button" class="btn" onclick="goArea(7)">精选商品</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
选择区域
</div>
<div class="function_area" style="position: relative;">
<div class="searchAreaMode">
<span class="searchAreaModeSp" onclick="delSearchAreaModeSpp()">X</span>
</div>
<div class="kingAreaMode">
<span class="kingAreaModeSp" onclick="delKingAreaModeSp()">X</span>
</div>
<iframe src="http://172.16.2.214:8080/#/goods/home?place=admin" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix2 = ctx + "local";
function goArea (num) {
switch(num) {
case 1:
$.modal.openTab('金刚位', prefix2 + "/kingArea?id=" + 1212)
break;
case 5:
$.modal.openTab('商品搜索', prefix2 + "/searchStore?id=" + 1212)
break;
case 6:
$.modal.openTab('顶部banner', prefix2 + "/topBanner?id=" + num)
break;
case 2:
$.modal.openTab('活动banner', prefix2 + "/topBanner?id=" + num)
break;
case 4:
$.modal.openTab('魔方位', prefix2 + "/RubikArea?id=" + num)
break;
case 7:
$.modal.openTab('精选商品', prefix2 + "/carefullyGoods?id=" + num)
break;
}
}
function delKingAreaModeSp () {
console.log($('.goods-banner-props'), '有吗')
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('顶部banner')" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.right_content {
font-size: 16px;
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
}
.left_content {
flex: 1;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_btn {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.function_btn .hot_title {
font-size: 16px;
font-weight: 600;
}
.function_btn .tags {
display: flex;
align-items: center;
}
.function_btn .tags label {
display: flex;
align-items: center;
}
.function_btn .tags label input {
margin: 0 4px 0 12px;
}
.function_btn .tags .tag {
padding: 6px 12px 4px;
border: 1px solid #ccc;
border-radius: 5px;
position: relative;
margin-right: 12px;
}
.function_btn .tags .tag span {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
line-height: 16px;
border: 1px solid #aaa;
border-radius: 50%;
background: #fff;
text-align: center;
cursor: pointer;
}
.banner_list {
display: flex;
flex-direction: column;
}
.banner_item {
border: 1px dashed #ccc;
border-radius: 10px;
padding: 12px;
margin-bottom: 20px;
}
.img_show, .set_method, .set_function {
display: flex;
}
.title {
font-size: 16px;
font-weight: 600;
width: 80px;
text-align: right;
}
.kv-upload-progress {
display: none !important;
}
.ibox-content .imgBox {
width: 350px;
max-height: 180px;
}
.jump, .ticket_name, .set_function_time {
display: flex;
flex-grow: 1;
align-items: center;
}
.iptOrSelect {
flex: 1;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
</div>
<div class="function_btn">
<div class="hot_title">
展示形式:
</div>
<div class="tags">
<label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>一行</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>两行</span></label>
</div>
</div>
<div class="function_btn">
<div class="hot_title">
编辑信息:
</div>
<div class="tags">
</div>
</div>
<div id="bannerList" class="banner_list">
</div>
<div class="footer_btn">
<button type="button" class="btn btn-success" onclick="save()">保存</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
</div>
<div class="function_area">
<iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-fileinput-js" />
<script th:inline="javascript">
var prefix2 = ctx + "local";
var platformUrl = [[${platformUrl}]];
let num = 0;
$(function() {
addItem (4);
})
$("input[name=optionsRadios]").change(function(e){
$("#bannerList").empty();
if (e.target.value == 2) {
addItem (8);
} else {
addItem (4);
}
})
function addItem (num) {
let str = '';
for (var i = 0; i < num; i++) {
str = `<div class="banner_item">
<div class="img_show">
<div class="title">
图片展示:
</div>
<div class="ibox-content" style="border: none;">
<img id="viewImg${i}" class="imgBox" src="" alt="">
<div class="form-group">
<div class="file-loading">
<input id="fileinput${i}" type="file" name="file" data-browse-on-zone-click="true" data-theme="fas">
</div>
</div>
</div>
</div>
<div class="set_method" style="margin-bottom: 20px;">
<div class="jump">
<div class="title">
类型:
</div>
<div class="iptOrSelect" style="margin-right: 12px;">
<select id="jumpSelect${i}" class="type form-control" data-first-title="请选择">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="ticket_name">
<div class="title">
选择分类:
</div>
<div class="iptOrSelect">
<select id="jumpSelect${i}" class="type form-control" data-first-title="请选择">
<option value="">请选择</option>
</select>
</div>
<div class="iptOrSelect">
<select id="jumpSelect${i}" class="type form-control" data-first-title="请选择">
<option value="">请选择</option>
</select>
</div>
</div>
</div>
<div class="set_function">
<div class="set_function_time">
<div class="title">
标题:
</div>
<div class="select_tiem">
<input type="text" class="layui-input form-control" id="startTime${i}" autocomplete="off" placeholder="配置活动时间">
</div>
</div>
</div>
</div>`
$("#bannerList").append(str);
common(i)
}
}
function save () {
refreshItem()
}
function common (num) {
$("#fileinput"+num+"").fileinput({
'theme': 'explorer-fas',
'uploadUrl': "https://devplatform.zhengzai.tv/platform/basicServices/alOss/upload",
"uploadExtraData": {
"pathName" : "banner",
"buckType" : 1
},
autoReplace: true,
showCaption: false,
showPreview: false,
showRemove: false,
showUpload: false,
showCancel: false,
showClose: false,
autoReplace: true,
dropZoneTitle: "请上传文件",
maxFileCount: 1
}).on("filebatchselected", function (event, files) { //默认上传
$(this).fileinput("upload");
})
.on("fileuploaded", function (event, data) { //上传回调事件
let showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath;
$("#viewImg"+num+"").attr('src', showPicture)
})
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('搜索设置')" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.right_content {
font-size: 16px;
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
}
.left_content {
flex: 1;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_btn {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.function_btn .hot_title {
font-size: 16px;
font-weight: 600;
}
.function_btn .tags {
display: flex;
}
.function_btn .tags .tag {
padding: 6px 12px 4px;
border: 1px solid #ccc;
border-radius: 5px;
position: relative;
margin-right: 12px;
}
.function_btn .tags .tag span {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
line-height: 16px;
border: 1px solid #aaa;
border-radius: 50%;
background: #fff;
text-align: center;
cursor: pointer;
}
.add_tags {
padding-left: 68px;
}
.add_tags div {
display: flex;
}
.hot_set {
font-size: 16px;
font-weight: 600;
}
.hot_set p {
margin-top: 12px;
display: flex;
padding-left: 68px;
display: flex;
align-items: center;
}
.hot_set p input {
width: 120px;
margin-right: 10px;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
</div>
<div class="function_btn">
<div class="hot_title">
搜索热词:
</div>
<div class="tags">
<!-- <div class="tag">
新裤子
<span>x</span>
</div> -->
</div>
</div>
<div class="add_tags">
<div>
<input type="text" class="layui-input form-control" id="test1" style="margin-left: 10px;" placeholder="请选择时间"><button type="button" class="btn btn-success" onclick="addItems()">添加</button>
</div>
<p style="margin-left: 10px;">允许添加多个关键词,默认显示第一个</p>
</div>
<div class="hot_set">
热词设置:滚动
<p><input type="text" class="layui-input form-control" id="test1" style="margin-left: 10px;" placeholder="请选择时间">M</p>
</div>
<div class="footer_btn">
<button type="button" class="btn btn-success" onclick="save()">保存</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
</div>
<div class="function_area">
<iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix2 = ctx + "local";
let num = 0;
function goArea (num) {
console.log(num)
switch(num) {
case 5:
$.modal.openTab('商品搜索', prefix2 + "/searchStore?id=" + 1212)
break;
}
}
function addItems () {
if (!$("#test1").val()) {
return layer.msg('输入内容不能为空!')
}
num++
let str = `<div class="tag">${$("#test1").val()}<span onclick="delTags('${num}')">x</span></div>`;
$(".tags").append(str);
$("#test1").val('');
}
function save () {
refreshItem()
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('顶部banner')" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.home_page {
display: flex;
justify-content: center;
padding: 20px;
}
.right_content {
font-size: 16px;
font-weight: 600;
display: flex;
flex-direction: column;
align-items: center;
width: 50%;
}
.left_content {
flex: 1;
}
.left_title, .right_title {
margin-bottom: 12px;
}
.function_btn {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.function_btn .hot_title {
font-size: 16px;
font-weight: 600;
}
.function_btn .tags {
display: flex;
align-items: center;
}
.function_btn .tags .tag {
padding: 6px 12px 4px;
border: 1px solid #ccc;
border-radius: 5px;
position: relative;
margin-right: 12px;
}
.function_btn .tags .tag span {
display: inline-block;
position: absolute;
top: -8px;
right: -8px;
width: 18px;
height: 18px;
line-height: 16px;
border: 1px solid #aaa;
border-radius: 50%;
background: #fff;
text-align: center;
cursor: pointer;
}
.banner_list {
display: flex;
flex-direction: column;
}
.banner_item {
border: 1px dashed #ccc;
border-radius: 10px;
padding: 12px;
margin-bottom: 20px;
}
.img_show, .set_method, .set_function {
display: flex;
}
.title {
font-size: 16px;
font-weight: 600;
width: 80px;
text-align: right;
}
.kv-upload-progress {
display: none !important;
}
.ibox-content .imgBox {
width: 350px;
max-height: 180px;
}
.jump, .ticket_name, .set_function_time {
display: flex;
flex-grow: 1;
align-items: center;
}
.iptOrSelect {
flex: 1;
}
</style>
</head>
<body>
<div class="home_page">
<div class="left_content">
<div class="left_title">
</div>
<div class="function_btn">
<div class="hot_title">
展示形式:
</div>
<div class="tags" style="font-weight: 600;font-size: 16px;">
轮播
</div>
</div>
<div class="function_btn">
<div class="hot_title">
选择照片:
</div>
<div class="tags">
<button type="button" class="btn btn-warning" style="margin-right: 12px;" onclick="addItem()">添加banner</button>
<span id="tall">(最多允许添加10张图,建议宽度750像素)</span>
</div>
</div>
<div id="bannerList" class="banner_list">
</div>
<div class="footer_btn">
<button type="button" class="btn btn-success" onclick="save()">保存</button>
</div>
</div>
<div class="right_content">
<div class="right_title">
</div>
<div class="function_area">
<iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-fileinput-js" />
<script th:inline="javascript">
var prefix2 = ctx + "local";
var platformUrl = [[${platformUrl}]];
let num = 0;
let type = 0;
$(function(){
let name = 'id';
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
type = unescape(r[2]);
if (type == 2) {
$("#tall").html('至少添加8张图,建议尺寸1:1')
}
})
function addItem () {
if (num == 10) {
return layer.msg('最多可添加10张图片')
}
num++
let str = `<div class="banner_item">
<div class="img_show">
<div class="title">
图片展示:
</div>
<div class="ibox-content" style="border: none;">
<img id="viewImg${num}" class="imgBox" src="" alt="">
<div class="form-group">
<div class="file-loading">
<input id="fileinput${num}" type="file" name="file" data-browse-on-zone-click="true" data-theme="fas">
</div>
</div>
</div>
</div>
<div class="set_method" style="margin-bottom: 20px;">
<div class="jump">
<div class="title">
跳转方式:
</div>
<div class="iptOrSelect" style="margin-right: 12px;">
<select id="jumpSelect${num}" class="type form-control" data-first-title="请选择">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="ticket_name">
<div class="title">
票务名称:
</div>
<div class="iptOrSelect">
<input id="ticketName${num}" type="text" class="layui-input form-control">
</div>
</div>
</div>
<div class="set_function">
<div class="set_function_time">
<div class="title">
时间设置:
</div>
<div class="select_tiem">
<input type="text" class="layui-input form-control" id="startTime${num}" autocomplete="off" placeholder="配置活动时间">
</div>
</div>
<div class="set_function_time" style="width: 40%;">
<div class="title">
排序:
</div>
<div class="select_tiem">
<input id="px${num}" type="text" class="layui-input form-control" placeholder="请输入顺序数字">
</div>
</div>
</div>
</div>`;
$("#bannerList").append(str);
common(num)
}
function save () {
if (type == 2) {
if (num < 8) return layer.msg('请添加至少8张图')
}
refreshItem()
}
function common (num) {
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: `#startTime${num}`, //指定元素
type: 'datetime'
});
});
$("#fileinput"+num+"").fileinput({
'theme': 'explorer-fas',
'uploadUrl': "https://devplatform.zhengzai.tv/platform/basicServices/alOss/upload",
"uploadExtraData": {
"pathName" : "banner",
"buckType" : 1
},
autoReplace: true,
showCaption: false,
showPreview: false,
showRemove: false,
showUpload: false,
showCancel: false,
showClose: false,
autoReplace: true,
dropZoneTitle: "请上传文件",
maxFileCount: 1
}).on("filebatchselected", function (event, files) { //默认上传
$(this).fileinput("upload");
})
.on("fileuploaded", function (event, data) { //上传回调事件
let showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath;
$("#viewImg"+num+"").attr('src', showPicture)
})
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('店铺列表')" />
<th:block th:include="include :: bootstrap-fileinput-css" />
<style>
.layui-layer-btn0 {
padding: 0;
}
.paddings {
padding: 0 !important;
}
#addClassify {
display: none;
width: 540px;
padding: 20px;
}
#addClassify .selectClassify {
display: flex;
align-items: center;
}
#addClassify .selectClassify label {
display: flex;
margin-right: 20px;
align-items: center;
}
#addClassify .selectClassify label input {
margin: 0;
margin-right: 2px;
}
.shadeCss,.layui-layer-shade {
background-color: rgb(0, 0, 0, 0.5) !important;
}
.select-list ul {
display: flex;
justify-content: space-between;
}
.selectClassifyOne {
display: flex;
align-items: center;
margin: 12px 0;
}
.selectClassifyOne span {
width: 45px;
}
.tagStore .fixed-table-toolbar {
display: flex;
}
.tagStore .fixed-table-toolbar .bs-bars {
flex: 1;
}
.tagStore .fixed-table-toolbar .bs-bars .btn-group-sm {
display: flex;
justify-content: space-between;
}
.leftSearchBox {
display: flex;
align-items: center;
}
.leftSearchBox input, .leftSearchBox select {
width: 200px;
height: 34px;
margin-right: 12px;
}
.ibox-content {
border-style: none;
padding: 0;
}
.kv-hidden {
display: none !important;
}
</style>
</head>
<body class="tagStore">
<div class="container-div">
<div class="row">
<div class="btn-group-sm" id="toolbar">
<div>
<a class="btn btn-warning" id="button-open-11">
<i class="fa fa-download"></i> 导出Excel
</a>
</div>
</div>
<div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<div class="leftSearchBox">
<input class="form-control" type="text" placeholder="请输入店铺名字">
</div>
<div>
</div>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: bootstrap-fileinput-js" />
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var platformUrl = [[${platformUrl}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var couType = [[${couType}]];
$(function () {
$("#fileinput").fileinput({
'theme': 'explorer-fas',
'uploadUrl': platformUrl + "/platform/basicServices/alOss/upload",
"uploadExtraData": {
"pathName" : "banner",
"buckType" : 1
},
autoReplace: true,
showCaption: false,
showPreview: false,
showRemove: false,
showUpload: false,
showCancel: false,
showClose: false,
autoReplace: true,
dropZoneTitle: "请上传文件",
maxFileCount: 1
}).on("filebatchselected", function (event, files) { //默认上传
$(this).fileinput("upload");
})
.on("fileuploaded", function (event, data) { //上传回调事件
showPicture = 'https://img.zhengzai.tv/' + data.response.data.ossPath;
$("#viewImg").attr('src', showPicture)
})
var options = {
url: prefix + "/list",
createUrl: prefix2 + "/addNewActivity",
detailUrl: prefix2 + "/storeDetail?id={id}",
removeUrl: prefix + "/cancel/{id}",
updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export",
onCheck: onCheck,
sortName: "createdAt",
sortOrder: "desc",
modalName: "活动",
showSearch: false,
showRefresh: true,
showColumns: false,
showToggle: false,
columns: [
{
checkbox: true
},
{
field: 'valFace',
title: '店铺'
},
{
field: 'bindType',
title: '活动商品数量',
formatter: function(value, row, index) {
// $('.pull-right').hide()
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
return `<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="$.operate.detailTab('${row.itemId}', 7, '确定下架此商品吗?')">查看详情</a>`
}
}]
};
$.table.init(options);
});
function onCheck (row, $element) {
console.log(row, $element)
}
$("#button-open-11").click(function(){
$("button[name=refresh]").click()
})
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: '#test1', //指定元素
type: 'datetime'
});
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增活动')" />
<th:block th:include="include :: select2-css" />
<link rel="stylesheet" href="">
<style>
.required {
font-style: normal;
color: red;
}
.content_item {
padding: 20px;
}
/* .content_item .content_title {
display: flex;
} */
.content_item .content_title h3 span {
display: inline-block;
width: 4px;
height: 18px;
background: skyblue;
margin-right: 6px;
vertical-align: top;
}
.basis_data {
display: flex;
font-size: 14px;
padding: 0 20px;
margin-top: 20px;
/* align-items: center; */
}
.basis_data span {
width: 100px;
text-align: right;
}
#startTime, #endTime {
width: 272px;
margin-right: 10px;
}
.storeList, #selectShow, .dropdown-menu, .input-group {
width: 270px !important;
}
.activityStore_item {
display: flex;
margin-bottom: 12px;
}
#basis_data {
align-items: flex-start;
}
.add_footer {
width: 100%;
height: 45px;
line-height: 45px;
padding-left: 60px;
}
</style>
</head>
<body>
<div>
<div class="content_item">
<div class="content_title">
<h3><span></span>基础信息</h3>
</div>
<div class="basis_data">
<span>
<em class="required">*</em>
选择演出:
</span>
<div class="input-group" style="width: 300px;">
<input type="text" class="form-control" id="selectShow" placeholder="">
<div class="input-group-btn">
<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
<!-- /btn-group -->
</div>
</div>
<div class="basis_data">
<span>
<em class="required">*</em>
有效期:
</span>
<input type="text" class="layui-input form-control" id="startTime" autocomplete="off" placeholder="请选择活动开始时间">
~
<input type="text" class="layui-input form-control" id="endTime" style="margin-left: 10px;" autocomplete="off" placeholder="请选择活动结束时间">
</div>
</div>
<div class="content_item">
<div class="content_title">
<h3><span></span>设置</h3>
</div>
<div class="basis_data" id="basis_data">
<span>
<em class="required">*</em>
选择店铺:
</span>
<div class="activityStore">
<div class="activityStore_item">
<div class="input-group" style="margin-right: 12px;">
<input type="text" class="form-control storeList item1" placeholder="搜索店铺名称">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
<!-- /btn-group -->
</div>
<input type="text" class="layui-input form-control" id="startTime" autocomplete="off" placeholder="配置活动时间">
<button class="btn btn-primary" onclick="addItem()">新增</button>
</div>
</div>
</div>
</div>
<div class="add_footer">
<button class="btn btn-success" onclick="addItem()">保存</button>
<button class="btn" onclick="addItem()">取消</button>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-suggest-js" />
<th:block th:include="include :: bootstrap-typeahead-js" />
<th:block th:include="include :: bootstrap-fileinput-js" />
</body>
<script th:inline="javascript">
let count = 1;
$(function() {
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: '#startTime', //指定元素
type: 'datetime'
});
laydate.render({
elem: '#endTime', //指定元素
type: 'datetime'
});
});
common ()
})
function common () {
$("#selectShow").bsSuggest({
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn:false,
multiWord: true, //以分隔符号分割的多关键字支持
hideOnSelect: true,
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
url: ctx+'kylin/base/performance/status?status=(3,6)&title=',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
//字符串转化为 js 对象
return json;
}
});
$(".storeList").bsSuggest({
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn:false,
multiWord: true, //以分隔符号分割的多关键字支持
hideOnSelect: true,
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
url: ctx+'kylin/base/performance/status?status=(3,6)&title=',
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
//字符串转化为 js 对象
return json;
}
});
}
function addItem () {
count++;
let body = '';
body+=`<div class="activityStore_item">
<div class="input-group" style="margin-right: 12px;">
<input type="text" class="form-control storeList item${count}" placeholder="搜索店铺名称">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
<!-- /btn-group -->
</div>
<input type="text" class="layui-input form-control startTime${count}" id="startTime" autocomplete="off" placeholder="配置活动时间">
</div>`
$(".activityStore").append(body)
common ()
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: `.startTime${count}`, //指定元素
type: 'datetime'
});
});
}
</script>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('选择商品')" />
<style>
.layui-layer-btn0 {
padding: 0;
}
.paddings {
padding: 0 !important;
}
#addClassify {
display: none;
width: 540px;
padding: 20px;
}
#addClassify .selectClassify {
display: flex;
align-items: center;
}
#addClassify .selectClassify label {
display: flex;
margin-right: 20px;
align-items: center;
}
#addClassify .selectClassify label input {
margin: 0;
margin-right: 2px;
}
.shadeCss,.layui-layer-shade {
background-color: rgb(0, 0, 0, 0.5) !important;
}
.select-list ul {
display: flex;
justify-content: space-between;
}
.selectClassifyOne {
display: flex;
align-items: center;
margin: 12px 0;
}
.selectClassifyOne span {
width: 45px;
}
.tagStore .fixed-table-toolbar {
display: flex;
}
.tagStore .fixed-table-toolbar .bs-bars {
flex: 1;
}
.tagStore .fixed-table-toolbar .bs-bars .btn-group-sm {
display: flex;
justify-content: space-between;
}
.leftSearchBox {
display: flex;
align-items: center;
}
.leftSearchBox input, .leftSearchBox select {
width: 200px;
height: 34px;
margin-right: 12px;
}
.ibox-content {
border-style: none;
padding: 0;
}
.kv-hidden {
display: none !important;
}
</style>
</head>
<body class="tagStore">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<div class="leftSearchBox">
<input class="form-control" type="text" placeholder="请输入商品分类">
<input class="form-control" type="text" placeholder="请输入商品标签">
<input class="form-control" type="text" placeholder="请输入商品名称">
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</div>
<div>
</div>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="selectGoodsTab"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var platformUrl = [[${platformUrl}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
$(function () {
var options = {
id: 'selectGoodsTab',
url: prefix + "/list",
onCheck: onCheck,
sortName: "createdAt",
sortOrder: "desc",
modalName: "活动",
showSearch: false,
showRefresh: false,
showColumns: false,
showToggle: false,
columns: [
{
checkbox: true
},
{
field: 'valFace',
title: '商品'
},
{
field: 'bindType',
title: '商品分类',
formatter: function(value, row, index) {
// $('.pull-right').hide()
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
field: 'bindType',
title: '价格',
formatter: function(value, row, index) {
return '2021年08月05日18:00:00 - 2021年08月30日18:00:00'
}
},
{
field: 'bindType',
title: '标签',
formatter: function(value, row, index) {
return '2021年08月05日18:00:00'
}
},
{
field: 'bindType',
title: '库存'
},
{
title: '售卖',
align: 'center'
}]
};
$.table.init(options);
});
$("#button-open-11").click(function(){
$("button[name=refresh]").click()
})
function onCheck (row, $element) {
console.log(row, $element)
}
function yes(index, layero) {
console.log(index, layero)
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('设置商品规则')" />
<th:block th:include="include :: bootstrap-editable-css" />
<style>
.fixed-table-toolbar {
height: 42px;
}
</style>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 select-table table-striped">
<table id="setTable"></table>
<div class="popover fade top in editable-container editable-popup" role="tooltip" id="setAll" style="top: 10px;">
<div class="arrow" style="left: 50%;"></div>
<div class="popover-content">
<div>
<div class="editableform-loading" style="display: none;"></div>
<form class="form-inline editableform" style="">
<div class="control-group form-group">
<div>
<div class="editable-input" style="position: relative;">
<input id="setIpt" type="text" class="form-control input-sm" style="padding-right: 24px;">
<span class="editable-clear-x"></span>
</div>
<div class="editable-buttons">
<button type="button" class="btn btn-primary btn-sm" onclick="set()">
<i class="glyphicon glyphicon-ok"></i>
</button>
<button type="button" class="btn btn-default btn-sm" onclick="closeIpt()">
<i class="glyphicon glyphicon-remove"></i>
</button>
</div>
</div>
<div class="editable-error-block help-block" style="display: none;"></div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-table-editable-js" />
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var platformUrl = [[${platformUrl}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var pickNumber = 0;
var couType = [[${couType}]];
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: '#test1', //指定元素
type: 'datetime'
});
});
$(function () {
var options = {
id: 'setTable',
url: prefix + "/list",
createUrl: prefix2 + "/addNewActivity",
detailUrl: prefix2 + "/addNewActivity?id={id}",
removeUrl: prefix + "/cancel/{id}",
openTab: prefix2 + "/activityStoreList/id={id}",
// exportUrl: prefix + "/export",
sortName: "createdAt",
sortOrder: "desc",
modalName: "活动",
showSearch: false,
showRefresh: false,
showColumns: false,
showToggle: false,
pagination: false,
columns: [
{
field: 'valFace',
title: '颜色',
width: '100',
align: 'center',
formatter: function(value) {
return '七彩湛蓝色'
}
},
{
field: 'bindType',
title: '尺寸',
align: 'center',
formatter: function(value, row, index) {
// $('.pull-right').hide()
return 'XXXL'
},
width: '80'
},
{
field: 'bindType',
title: '原价',
width: '100',
align: 'center',
formatter: function(value, row, index) {
return '299999999'
}
},
{
field: 'bindType',
title: '其他活动占用库存',
width: '120',
align: 'center',
formatter: function(value, row, index) {
return '2021'
}
},
{
field: 'bindType',
title: `线下售价<a onclick="setPrice(1)">批量</a>`,
width: '150',
align: 'center',
formatter: function(value, row, index) {
return `<input id="price${index}" class='form-control' type='text' name='' value=''>`
}
},
{
field: 'bindType',
title: '库存限量<a onclick="setPrice(2)">批量</a>',
width: '150',
align: 'center',
formatter: function(value, row, index) {
return `<input id="goodsNum${index}" class='form-control' type='text' name='' value=''>`
}
},
{
field: 'bindType',
title: '用户限购<a onclick="setPrice(3)">批量</a>',
width: '150',
align: 'center',
formatter: function(value, row, index) {
return `<input id="purchasing${index}" class='form-control' type='text' name='' value=''>`
}
},
{
title: '购买条件',
align: 'center',
align: 'center',
formatter: function (value, row, index) {
return `<div style="display:flex;">
<label style="margin-right:12px;">
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios${index}"><span>全部用户</span></label>
<label style="margin-right:12px;">
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios${index}"><span>仅支持会员购买</span></label>
<label style="margin-right:12px;">
<input type="radio" value="3" id="optionsRadios1" name="optionsRadios${index}"><span>指定用户购买</span></label>
</div>`
}
}]
};
$.table.init(options);
});
function setPrice (num) {
pickNumber = num;
let ipt = $("#setAll");
$("#setAll input").val('');
switch (num) {
case 1:
ipt.css('left', '376px');
break;
case 2:
ipt.css('left', '526px');
break;
default:
ipt.css('left', '676px');
}
ipt.show();
}
function set () {
var data = $("#" + table.options.id).bootstrapTable('getData');
let iptValue = $("#setIpt").val();
switch (pickNumber) {
case 1:
data.forEach((item, index) => {
$("#price"+index+"").val(iptValue)
})
break;
case 2:
data.forEach((item, index) => {
$("#goodsNum"+index+"").val(iptValue)
})
break;
default:
data.forEach((item, index) => {
$("#purchasing"+index+"").val(iptValue)
})
}
$("#setAll").hide();
}
function closeIpt () {
$("#setAll").hide();
}
function submitHandler() {
var data = $("#" + table.options.id).bootstrapTable('getData');
console.log(data, 'data')
}
/* 查询表格所有数据值 */
function getData(){
var data = $("#" + table.options.id).bootstrapTable('getData');
alert(JSON.stringify(data))
}
/* 查询表格选择行数据值 */
function getSelections(){
var data = $("#" + table.options.id).bootstrapTable('getSelections');
alert(JSON.stringify(data))
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('店铺活动详情')" />
<th:block th:include="include :: select2-css" />
<link rel="stylesheet" href="">
<style>
.required {
font-style: normal;
color: red;
}
.content_item {
padding: 20px;
}
/* .content_item .content_title {
display: flex;
} */
.content_item .content_title h3 span {
display: inline-block;
width: 4px;
height: 18px;
background: skyblue;
margin-right: 6px;
vertical-align: top;
}
.content_item .content_store_name, .content_item .content_papers_type {
display: flex;
align-items: center;
height: 56px;
font-size: 16px;
padding-left: 12px;
}
.content_item .content_store_name input {
margin-left: 12px;
}
/* .content_item .content_store_name span {
display: inline-block;
width: 150px;
text-align: right;
} */
.content_store_logo, .content_store_introduce {
font-size: 16px;
padding-left: 12px;
margin-top: 20px;
}
.content_store_logo span, .content_store_introduce span {
font-size: 16px;
display: inline-block;
margin-right: 12px;
width: 150px;
text-align: right;
vertical-align: top;
}
.content_store_logo img {
border: 1px #ccc dashed;
padding: 5px;
vertical-align: top;
border-radius: 5px;
}
.content_store_introduce textarea {
display: inline-block;
width: 80%;
height: 200px;
}
.content_papers_photo {
display: flex;
padding-left: 12px;
margin: 20px 0;
}
.content_papers_photo .photo_content {
display: flex;
flex: 1;
}
.content_papers_photo .photo_content div {
display: flex;
flex-direction: column;
align-items: center;
margin-right: 150px;
}
.content_papers_photo .photo_content div p {
font-size: 14px;
}
.content_papers_photo .photo_content div img {
padding: 6px;
border: 1px dashed #ccc;
border-radius: 5px;
}
.content_store_name p {
margin: 0;
}
.content_papers_photo span {
font-size: 16px;
vertical-align: top;
margin-right: 12px;
width: 150px;
text-align: right;
}
.content_footer {
display: flex;
align-items: center;
padding: 20px 0 20px 186px;
}
.content_footer input {
width: 60%;
height: 34px;
}
.content_store_name label {
margin: 0;
font-size: 14px;
display: flex;
}
.content_store_name label input {
margin-right: 4px;
}
.goodsTable {
padding: 0 12px 20px;
}
</style>
</head>
<body>
<form id="" class="layui-form">
<div class="content_item">
<div class="content_title">
<h3><span></span>基础信息</h3>
</div>
<div class="content_store_name">
<span>项目名称:</span><p>2022北京草莓音乐节</p>
</div>
<div class="content_store_name">
<span>有效期:</span><p>2021年12月24日11:24</p><p>2021年12月28日11:24</p>
</div>
</div>
<div class="content_item">
<div class="content_title">
<h3><span></span>认证信息</h3>
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件类型:</span>
<label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>全部商品</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>部分商品参与</span></label>
<label>
<input type="radio" value="3" id="optionsRadios1" name="optionsRadios"><span>部分商品不参与</span></label>
</div>
<div class="goodsTable">
<div class="selectGoods">
<button type="button" class="btn btn-warning" onclick="selectGoodsTab()">选择商品</button>
</div>
<div class="goodsList select-table table-striped" style="padding: 0 12px;">
<table id="tabList"></table>
</div>
</div>
</div>
<div class="content_footer">
<button class="btn btn-primary">保存</button>
<button class="btn" style="margin: 0 12px">取消</button>
</div>
</form>
<th:block th:include="include :: footer" />
</body>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
$(function () {
var options = {
id: 'tabList',
url: prefix + "/list",
createUrl: prefix2 + "/addNewActivity",
detailUrl: prefix2 + "/storeDetail?id={id}",
// exportUrl: prefix + "/export",
onCheck: onCheck,
sortName: "createdAt",
sortOrder: "desc",
modalName: "活动",
showSearch: false,
showRefresh: false,
showColumns: false,
showToggle: false,
columns: [
{
field: 'valFace',
title: '商品'
},
{
field: 'valFace',
title: '线下售价',
formatter: function (value, row, index) {
let btns = [];
if (index % 2 == 0) {
btns.push(`<a class="" href="javascript:;" onclick="setGoodsRole()">设置商品规则</a>`)
} else {
btns.push(`<span class="" href="javascript:;" onclick="$.operate.detailTab('${row.itemId}', 7, '确定下架此商品吗?')">已设置商品规则</span>
<a class="" href="javascript:;" style="margin-left:12px" onclick="$.operate.detailTab('${row.itemId}', 7, '确定下架此商品吗?')">修改</a>`)
}
return btns.join('')
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
return `<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.detailTab('${row.itemId}', 7, '确定下架此商品吗?')">删除</a>`
}
}]
};
$.table.init(options);
});
function setGoodsRole () {
let url = prefix2 + '/setGoodsRole'
console.log(url)
$.modal.open("标题内容", url, '1280', '680');
}
function onCheck (row, $element) {
console.log(row, $element)
}
function selectGoodsTab () {
let url = prefix2 + '/selectGoddsTab'
console.log(url)
$.modal.open("选择商品", url, '1280', '680');
}
</script>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增代金券')" />
<th:block th:include="include :: select2-css" />
<link rel="stylesheet" href="">
<style>
.required {
font-style: normal;
color: red;
}
.content_item {
padding: 20px;
}
/* .content_item .content_title {
display: flex;
} */
.content_item .content_title h3 span {
display: inline-block;
width: 4px;
height: 18px;
background: skyblue;
margin-right: 6px;
vertical-align: top;
}
.content_item .content_store_name, .content_item .content_papers_type {
display: flex;
align-items: center;
height: 56px;
font-size: 16px;
padding-left: 12px;
}
.content_item .content_store_name input {
margin-left: 12px;
height: 36px;
width: 80%;
}
.content_item .content_store_name span {
display: inline-block;
width: 150px;
text-align: right;
}
.content_store_logo, .content_store_introduce {
font-size: 16px;
padding-left: 12px;
margin-top: 20px;
}
.content_store_logo span, .content_store_introduce span {
font-size: 16px;
display: inline-block;
margin-right: 12px;
width: 150px;
text-align: right;
vertical-align: top;
}
.content_store_logo img {
border: 1px #ccc dashed;
padding: 5px;
vertical-align: top;
border-radius: 5px;
}
.content_store_introduce textarea {
display: inline-block;
width: 80%;
height: 200px;
}
.content_papers_photo {
display: flex;
padding-left: 12px;
margin: 20px 0;
}
.content_papers_photo .photo_content {
display: flex;
flex: 1;
}
.content_papers_photo .photo_content div {
display: flex;
flex-direction: column;
align-items: center;
margin-right: 150px;
}
.content_papers_photo .photo_content div p {
font-size: 14px;
}
.content_papers_photo .photo_content div img {
padding: 6px;
border: 1px dashed #ccc;
border-radius: 5px;
}
.content_store_name p {
margin: 0;
}
.content_papers_photo span {
font-size: 16px;
vertical-align: top;
margin-right: 12px;
width: 150px;
text-align: right;
}
.content_footer {
display: flex;
align-items: center;
padding: 20px 0 20px 186px;
}
.content_footer input {
width: 60%;
height: 34px;
}
</style>
</head>
<body>
<form id="" class="layui-form">
<div class="content_item">
<div class="content_title">
<h3><span></span>基础信息</h3>
</div>
<div class="content_store_name">
<span>店铺名称:</span><input disabled value="试试效果" class="form-control" type="text">
</div>
<div class="content_store_logo">
<span>店铺LOGO:</span>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div class="content_store_logo">
<span>店铺背景图:</span>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div class="content_store_introduce">
<span>店铺介绍:</span>
<textarea class="form-control" name="" id=""></textarea>
</div>
</div>
<div class="content_item">
<div class="content_title">
<h3><span></span>认证信息</h3>
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件类型:</span><p>居民身份证</p>
</div>
<div class="content_papers_photo">
<span><em class="required">*</em>证件照片:</span>
<div class="photo_content">
<div>
<p>证件正面照(国徽面)</p>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div>
<p>证件反面照(头像面)</p>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div>
<p>个人半身照(需手持身份证露上半身)</p>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
</div>
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件姓名:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件号码:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件有效期:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_logo">
<span><em class="required">*</em>营业执照照片:</span>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div class="content_store_name">
<span><em class="required">*</em>统一社会信用代码:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件有效期:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>商户名称:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>所在省市:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>详细地址:</span>
<input disabled class="form-control" type="text">
</div>
<div class="content_store_logo">
<span><em class="required">*</em>上传合同:</span>
<img src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div class="content_store_name">
<span><em class="required">*</em>合同有效期:</span>
<input disabled class="form-control" type="text">
</div>
</div>
<div class="content_footer">
<button class="btn btn-primary">审核通过</button>
<button class="btn btn-danger" style="margin: 0 12px">驳回</button>
<input class="form-control" placeholder="请输入驳回原因" type="text">
</div>
</form>
<th:block th:include="include :: footer" />
</body>
<script th:inline="javascript">
</script>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('店铺列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<input type="hidden" name="couType" th:value="${couType}"/>
<li>
<input type="text" name="keyword" placeholder="店铺名称搜索"/>
</li>
<li>
审核状态:<select name="bindType">
<option value="">全部</option>
<option value="1">已通过</option>
<option value="2">待审核</option>
<option value="1">未通过</option>
</select>
</li>
<li>
类型:<select name="busiType">
<option value="1">个体</option>
<option value="1">企业</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<!-- <a class="btn btn-success" th:onclick="$.operate.addTab([[${couType}]])" shiro:hasPermission="candy:coupon:mgt:add">
<i class="fa fa-plus"></i> 新增
</a> -->
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var couType = [[${couType}]];
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add/{id}",
detailUrl: prefix2 + "/shopDetail",
removeUrl: prefix + "/cancel/{id}",
// updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export",
sortName: "createdAt",
sortOrder: "desc",
modalName: "",
columns: [
{
checkbox: true
},
{
field: 'valFace',
title: '店铺名称',
formatter: function (value, row, index) {
return '¥' + value;
}
},
{
field: 'bindType',
title: '类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
// if (row.bindType === 0 && row.state === 1) {
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="passOrRejecte(\'' + row.couponId + '\', 1)">通过</a> ');
// }
actions.push('<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="passOrRejecte(\'' + row.couponId + '\', 2)">驳回</a> ');
actions.push('<a class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.mcouponId + '\')"><i class="fa fa-search"></i>详情</a>');
// if (row.state === 0) {
// actions.push('<a class="btn btn-danger btn-xs ' + cancelMgtCouponFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.mcouponId + '\')"><i class="fa fa-remove"></i>取消</a>');
// }
return actions.join('');
}
}]
};
$.table.init(options);
});
/* 查看码列表 */
function couponCodeList(couponId) {
var url = 'candy/coupon/code?couponId=' + couponId;
$.modal.openTab("代金码列表", url);
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('店铺列表')" />
<style>
.layui-layer-btn0, .layui-layer-btn1 {
font-size: 12px;
font-weight: normal;
margin: 0 3px;
margin-right: 7px;
margin-left: 7px;
padding: 0 15px;
color: #fff;
border: 1px solid #0064b6;
background: #0071ce;
border-radius: 3px;
display: inline-block;
height: 30px;
line-height: 30px;
text-align: center;
vertical-align: middle;
background-repeat: no-repeat;
text-decoration: none;
outline: none;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
.layui-layer-btn1 {
color: #404a58;
border: 1px solid #c0c4cd;
background: #fff;
border-radius: 3px;
margin-left: 0;
}
.layui-layer-btn0:hover {
color: #fff;
}
#addClassify {
display: none;
width: 540px;
padding-top: 20px;
}
#addClassify .selectClassify {
display: flex;
align-items: center;
padding: 0 20px;
}
#addClassify .selectClassify label {
display: flex;
margin-right: 20px;
align-items: center;
}
#addClassify .selectClassify label input {
margin: 0;
margin-right: 2px;
}
.shadeCss,.layui-layer-shade {
background-color: rgb(0, 0, 0, 0.5) !important;
}
.selectClassifyOne {
display: flex;
align-items: center;
margin-top: 12px;
padding: 0 20px;
}
.selectClassifyOne span {
width: 90px;
}
.bottomBtn {
margin-top: 20px;
text-align: right;
padding: 10px 15px 12px;
background: #f0f4f7;
border-top: 1px #c7c7c7 solid;
}
</style>
</head>
<body class="store">
<div class="container-div">
<div class="row">
<div class="btn-group-sm" id="toolbar">
<a class="btn btn-success" id="button-open-10">
<i class="fa fa-plus"></i> 创建分类
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
<div id="addClassify">
<div class="selectClassify">
<span>分类选择:</span>
<label>
<input type="radio" checked value="1" id="optionsRadios1" name="optionsRadios"><span>一级</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>二级</span></label>
<label>
<input type="radio" value="3" id="optionsRadios1" name="optionsRadios"><span>三级</span></label>
</div>
<div class="selectClassifyOne">
<span>一级分类:</span>
<input class="form-control" type="text">
</div>
<div class="selectClassifyOne">
<span>二级分类:</span>
<input class="form-control" type="text">
</div>
<div class="selectClassifyOne">
<span>三级分类:</span>
<input class="form-control" type="text">
</div>
<div class="bottomBtn">
<a src="javascript:;" class="layui-layer-btn0 paddings" onclick="yes(1,2)">确定</a>
<a class="layui-layer-btn1 layui-layer-btn1" onclick="closeModal()">取消</a>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicCouponBusiType = [[${@dict.getType('zhengzai_coupon_busi_type')}]];
var dicCouponBindType = [[${@dict.getType('zhengzai_coupon_bind_type')}]];
var prefix = ctx + "candy/coupon/mgt";
var prefix2 = ctx + "local";
var viewMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:detail')}]];
var cancelMgtCouponFlag = [[${@permission.hasPermi('candy:coupon:mgt:cancel')}]];
var couType = [[${couType}]];
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add/{id}",
detailUrl: prefix2 + "/shopDetail",
removeUrl: prefix + "/cancel/{id}",
// updateUrl: prefix + "/edit/{id}",
// exportUrl: prefix + "/export",
onCheck: onCheck,
sortName: "createdAt",
sortOrder: "desc",
modalName: "代金券",
columns: [
{
checkbox: true
},
{
field: 'valFace',
title: '一级分类',
formatter: function (value, row, index) {
$('input[name=btSelectAll]').hide();
if (index%2 == 0) {
setTimeout(()=>{
$('input[data-index='+index+']').hide();
}, 100)
}
return '¥' + value;
}
},
{
field: 'bindType',
title: '二级分类',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
field: 'bindType',
title: '三级分类',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
field: 'bindType',
title: '关联商品数量',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicCouponBindType, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
return `<a class="btn btn-info btn-xs" href="javascript:void(0)" onclick="del('${row.itemId}', 7, '确定下架此商品吗?')">删除</a>`
}
}]
};
$.table.init(options);
});
$("#button-open-10").click(function(){
layer.open({
type: 1,
shade: true,
title: '创建分类', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
cancel: function(res){
console.log(res, '111')
// layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6});
}
});
})
function onCheck (row, $element) {
console.log(row, $element)
}
function yes(index, layero) {
console.log(index, layero)
closeModal ()
}
function closeModal () {
$(".layui-layer-close1").click();
}
function del(id, status, notice) {
$.modal.confirm(notice, function() {
$.ajax({
type: 'put',
url: '/stone/item/change/status',
data: {
itemId: id,
status
},
success:function(e) {
layer.msg("操作成功!")
$("button[name=refresh]").click()
}
})
});
}
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment