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

Commit 573cd7b2 authored by dongchun's avatar dongchun

店铺审核及首页设置逻辑提交

parent 8e63c40a
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('店铺详情')" />
</head>
<body class="gray-bg">
<div class="container-div">
<th:block th:include="include :: header('新增代金券')" />
<th:block th:include="include :: select2-css" />
<link rel="stylesheet" href="">
<style>
</div>
.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 id="storeName" disabled value="试试效果" class="form-control" type="text">
</div>
<div class="content_store_logo">
<span>店铺LOGO:</span>
<img id="logoPic" src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div class="content_store_logo">
<span>店铺背景图:</span>
<img id="backgroundPic" 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="introduce"></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 id="personCertFpic" src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div>
<p>证件反面照(头像面)</p>
<img id="personCertBpic" src="https://img.zhengzai.tv/other/2021/12/09/dd3259aaa66e4c3995ce2ab0ce38856c.png" alt="">
</div>
<div>
<p>个人半身照(需手持身份证露上半身)</p>
<img id="personCertSpic" 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 id="personName" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件号码:</span>
<input id="personCertCode" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>证件有效期:</span>
<input id="personCertValidity" disabled class="form-control" type="text">
</div>
<div class="content_store_logo">
<span><em class="required">*</em>营业执照照片:</span>
<img id="busCertPic" 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 id="busCertCode" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>执照有效期:</span>
<input id="busCertValidity" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>商户名称:</span>
<input id="busName" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>所在省市:</span>
<input id="provinceName" disabled class="form-control" type="text">
</div>
<div class="content_store_name">
<span><em class="required">*</em>详细地址:</span>
<input id="busAddress" 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" onclick="auditAccept()">审核通过</button>
<button class="btn btn-danger" style="margin: 0 12px" onclick="auditReject()">驳回</button>
<input id="reason" class="form-control" placeholder="请输入驳回原因" type="text">
</div>
</form>
<th:block th:include="include :: footer" />
</body>
<script th:inline="javascript">
var acceptFlg = [[${@permission.hasPermi('goblin:store:audit:reject')}]];
var rejectFlg = [[${@permission.hasPermi('goblin:store:audit:reject')}]];
var prefix = ctx + "goblin/store";
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
let storeId = unescape(r[2]);
var storeInfo = /*[[${storeInfo}]]*/{};
console.log(storeInfo);
var storeCertification = /*[[${storeCertification}]]*/{};
console.log(storeCertification);
$("#storeName").val(storeInfo.storeName);
$("#logoPic").attr('src', storeInfo.logoPic)
$("#backgroundPic").attr('src', storeInfo.backgroundPic);
$("#introduce").val(storeInfo.introduce);
$("#personCertSpic").attr('src', storeCertification.personCertSpic);
$("#personCertBpic").attr('src', storeCertification.personCertBpic);
$("#personCertFpic").attr('src', storeCertification.personCertFpic);
$("#personName").val(storeCertification.personName);
$("#personCertCode").val(storeCertification.personCertCode);
$("#personCertValidity").val(storeCertification.personCertValidity);
$("#busCertPic").attr('src', storeCertification.busCertPic);
$("#busCertCode").val(storeCertification.busCertCode);
$("#busCertValidity").val(storeCertification.busCertValidity);
$("#busName").val(storeCertification.busName);
$("#provinceName").val(storeCertification.provinceName);
$("#busAddress").val(storeCertification.busAddress);
/* 店铺审核:通过 */
function auditAccept(storeId) {
if (!acceptFlg) {
$.modal.confirm("确认要通过该店铺申请吗?", function() {
$.operate.post(prefix + "/audit/accept", { "storeId": storeId });
});
}
}
/* 店铺审核:驳回 */
function auditReject(storeId) {
if (!rejectFlg) {
let value = $("#reason").val();
if (!value) {
return layer.msg('请填写原因!')
}
$.operate.post(prefix + "/audit/reject", { "storeId": storeId, "reason": val });
}
}
</script>
</body>
</html>
......@@ -2,6 +2,110 @@
<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 {
padding: 0;
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;
}
.select-list ul {
display: flex;
justify-content: space-between;
}
.selectClassifyOne {
display: flex;
align-items: center;
margin: 12px 0;
padding: 0 20px;
}
.selectClassifyOne span {
width: 100px;
text-align: right;
}
.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;
}
.bottomBtn {
text-align: right;
padding: 10px 15px 12px;
background: #f0f4f7;
border-top: 1px #c7c7c7 solid;
}
</style>
</head>
<body class="gray-bg">
<div class="container-div">
......@@ -38,17 +142,26 @@
<table id="bootstrap-table"></table>
</div>
</div>
<div id="addClassify">
<div class="selectClassifyOne">
<span>驳回原因:</span>
<input id="reason" class="form-control" type="text">
</div>
<div class="bottomBtn">
<a href="javascript:;" class="layui-layer-btn0 paddings" onclick="yes()">确定</a>
<a class="layui-layer-btn1 layui-layer-btn1" onclick="closeModal()">取消</a>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var acceptFlg = [[${@permission.hasPermi('goblin:store:audit:reject')}]];
var dicStoreCertType = [[${@dict.getType('zhengzai_store_cert_type')}]];
var dicStoreStatus = [[${@dict.getType('zhengzai_store_status')}]];
var rejectFlg = [[${@permission.hasPermi('goblin:store:audit:reject')}]];
var infoFlg = [[${@permission.hasPermi('goblin:store:info')}]];
var prefix = ctx + "goblin/store";
var dicStoreCertType = [[${@dict.getType('zhengzai_store_cert_type')}]];
var dicStoreStatus = [[${@dict.getType('zhengzai_store_status')}]];
var storeIds = '';
$(function() {
var options = {
url: prefix + "/list",
......@@ -104,13 +217,41 @@
/* 店铺审核:驳回 */
function auditReject(storeId) {
storeIds = storeId;
console.log(storeIds, 'storeId')
if (!rejectFlg) {
var reasonVal = "TODO:弹窗输入拒绝原因";
alert(reasonVal);
// var reasonVal = "TODO:弹窗输入拒绝原因";
layer.open({
type: 1,
shade: true,
title: '创建分类', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
cancel: function(res){
console.log(res, '111')
// layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', {time: 5000, icon:6});
}
});
// $.operate.post(prefix + "/audit/reject", { "storeId": storeId, "reason": reasonVal });
}
}
function closeModal () {
$(".layui-layer-close1").click();
}
function yes () {
console.log(storeIds, 11111)
let value = $("#reason").val();
if (!value) {
return layer.msg('请填写原因!')
}
$.ajax({
type: 'post',
url: prefix + "/audit/reject",
data: { "storeId": storeIds, "reason": value },
success:function(res) {
closeModal ()
}
})
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -205,7 +205,7 @@
btn,
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
success: function () {
console.log(1111)
console.log(2,2222)
$(".layui-layer-btn0").addClass('paddings')
$(".layui-layer-shade").addClass('shadeCss')
},
......
......@@ -131,6 +131,14 @@
<input type="radio" value="4" id="optionsRadios4" name="optionsRadios"><span>上一下三</span></label>
</div>
</div>
<div class="function_btn">
<div class="hot_title">
位置顺序:
</div>
<div class="tags">
<input type="text" class="layui-input form-control titleIpt" id="sorting" value="" autocomplete="off" placeholder="请输入模块顺序">
</div>
</div>
<div class="function_btn">
<div id="bannerList" class="banner_list">
......@@ -164,7 +172,6 @@
$(function() {
// addItem (1);
promiseMethods('/goblin-front-cube/list', 'post').then(res => {
console.log(res)
let { data } = res;
if (data && data.length > 0) {
let arr = data[0].spuId.split(',');
......@@ -177,7 +184,6 @@
} else {
$("#optionsRadios4").attr('checked', true).parent().siblings().children().removeAttr('checked');
}
console.log(arr)
for (var i = 0; i < data.length; i++) {
let str = '';
str += `<div class="items" data-id="${data[i].mid}">
......@@ -241,7 +247,6 @@
addItem (count);
})
function addItem (num) {
console.log(num, '221212颠三倒四多')
let str = '';
for (var i = 0; i < num; i++) {
str = `<div class="items">
......@@ -307,7 +312,6 @@
let domData = $('.items');
Array.prototype.forEach.call(domData,function (item,index) {
console.log(item.querySelector('.txtIpt').value, 'item')
data[0].spuId.push(item.querySelector('.storeList').getAttribute('data-id') || '');
if (index == 0) {
data[0].informationA = item.querySelector('.txtIpt').value;
......@@ -320,20 +324,29 @@
}
});//foreach js6章封装
data[0].spuId = data[0].spuId.toString();
console.log(data)
promiseMethods('/goblin-front-cube/updateOrCreate', 'post', JSON.stringify(data), 'application/json').then(res => {
console.log(res)
promiseMethods('/goblin-front-cube/updateOrCreate', 'post', JSON.stringify(data), 'application/json').then(() => {
let data = {
"mid": 4,
"moudleIndexId": "708754120962334729772770",
"moudleName": "moFang",
"indexs": $('#sorting').val(),
"updateTime": "2022-01-06 13:55:31",
"createTime": "2022-01-06 13:55:34",
"delTag": 0,
"status": 0
};
return promiseMethods('/front-index/update', 'post', JSON.stringify(data), 'application/json')
}).then(() => {
layer.msg("保存成功!")
refreshItem()
})
}
function del (num) {
console.log(num)
$('#goodsImg'+num+'').attr('src', '');
$('#goodsTitle'+num+'').html('');
$('#goodsPrice'+num+'').html('');
$('#del'+num+'').hide();
console.log(11)
}
function common (num) {
$(".storeList").bsSuggest({
......@@ -354,7 +367,6 @@
return data
}
}).on('onDataRequestSuccess', function (e, result) {
console.log('onDataRequestSuccess: ',e, result);
}).on('onSetSelectValue', function (e, selectedData,selectedRawData ) { // 当前行的所有值都能拿到
let index = e.target.id.replace(/[^\d]/g,''); // 选中的是第几组
$("#goodsImg"+index+"").attr('src', selectedRawData.coverPic);
......@@ -362,7 +374,6 @@
$("#goodsPrice"+index+"").text('¥'+ selectedRawData.priceLe);
$('#del'+index+'').show();
}).on('onUnsetSelectValue', function (e) {
console.log("onUnsetSelectValue", e);
});;
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -138,14 +138,14 @@
<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>
<input type="radio" value="3" id="optionsRadios1" name="optionsRadios"><span>价格高</span></label>
<label>
<input type="radio" value="2" id="optionsRadios1" name="optionsRadios"><span>价格低</span></label>
<input type="radio" value="4" id="optionsRadios1" name="optionsRadios"><span>价格低</span></label>
</div>
</div>
<div class="list_title">
<div class="hot_title">
商品列表<span>(1998)</span>
商品列表<span class="goodsNumber">(1998)</span>
</div>
<div class="tags">
拖动排序
......@@ -178,45 +178,98 @@
var prefix2 = ctx + "local";
var platformUrl = [[${platformUrl}]];
let num = 0;
let type = 1;
let createTime = '';
let mid = '';
let selectGoodsId = '';
let updateTime = '';
$(function() {
promiseMethods('/selectGoods/getList', 'post').then(res => {
console.log(res, 121212)
let { data } = res;
createTime = data[0].createTime;
mid = data[0].mid;
selectGoodsId = data[0].selectGoodsId;
updateTime = data[0].updateTime;
if (data[0].goblinGoodsList && data[0].goblinGoodsList.length > 0) {
$('.goodsNumber').text(res.data.length);
let str = '';
for (var i = 0; i < 100; i++) {
str+= `<li id="${i+1}" class="info-element">
<span>制定工作日程表</span>
data[0].goblinGoodsList.forEach((item,index)=>{
str+= `<li id="item${index}" class="info-element" data-spuId="${item.spuId}">
<span>${item.name}</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
<span>¥</span>${item.priceGe}
</div>
</li>`
})
$(".connectList").html(str);
} else {
creatDom(1);
}
$(".connectList").append(str);
})
})
$(document).ready(function () {
$(".sortable-list").sortable({connectWith: ".connectList"}).disableSelection()
});
function creatDom (num) {
promiseMethods('/selectGoods/goodsList?type=' + num, 'get').then(res => {
console.log(res, 121212)
let { data } = res;
$('.goodsNumber').text(data.length);
let str = '';
data.forEach((item,index)=>{
str+= `<li id="item${index}" class="info-element" data-spuId="${item.spuId}">
<span>${item.name}</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>
<span>¥</span>${item.priceGe}
</div>
</li>`
})
$(".connectList").html(str);
})
}
$("input[name=optionsRadios]").change(function(e){
$("#bannerList").empty();
if (e.target.value == 2) {
addItem (8);
} else {
addItem (4);
type = e.target.value;
creatDom (type);
})
function save () {
let domBody = $(".info-element");
let arr = [];
let data = {
delTag: '0',
orderType: type,
createTime,
mid,
selectGoodsId,
updateTime,
spuId: ''
}
Array.prototype.forEach.call(domBody,function(item,index){
arr.push(item.getAttribute('data-spuId'))
})
function addItem (num) {
let str = '';
for (var i = 0; i < num; i++) {
data.spuId = arr.toString();
promiseMethods('/selectGoods/createOrUpdate','post',JSON.stringify(data),'application/json').then(res => {
console.log(res, 'res')
if (res.code == 0) {
layer.msg('保存成功!')
refreshItem()
}
})
}
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')
function promiseMethods(url,type,data,contentType) {
return new Promise((resolve,reject)=>{
$.ajax({
url,
type,
data,
contentType,
success:function(res) {
resolve(res);
}
})
})
}
</script>
</body>
......
......@@ -75,7 +75,6 @@
<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>
......@@ -85,8 +84,8 @@
选择区域
</div>
<div class="function_area" style="position: relative;">
<div class="searchAreaMode">
<span class="searchAreaModeSp" onclick="delSearchAreaModeSpp()">X</span>
<div class="searchAreaMode" onclick="goArea(5)">
<!-- <span class="searchAreaModeSp" onclick="delSearchAreaModeSpp()">X</span> -->
</div>
<div class="kingAreaMode">
<span class="kingAreaModeSp" onclick="delKingAreaModeSp()">X</span>
......
......@@ -117,6 +117,14 @@
<input type="radio" value="2" id="optionsRadios2" name="optionsRadios"><span>两行</span></label>
</div>
</div>
<div class="function_btn">
<div class="hot_title">
位置顺序:
</div>
<div class="tags">
<input type="text" class="layui-input form-control titleIpt" id="sorting" value="" autocomplete="off" placeholder="请输入模块顺序">
</div>
</div>
<div class="function_btn">
<div class="hot_title">
编辑信息:
......@@ -153,11 +161,9 @@
$(function() {
promiseMethods('/navigation/list', 'post').then(res => {
console.log(res, 12121)
let { data } = res;
if (data&&data.length>0) {
if (data[0].displayType == 1) {
console.log('zhe?')
$('#optionsRadios1').attr('checked', true)
$('#optionsRadios2').removeAttr('checked')
} else {
......@@ -248,7 +254,9 @@
common(i)
// setTimeout(() => {
let type = data[i].navigationType;
console.log(type, i, '看看')
showOrhide (type, i)
$("#jumpType"+i+" option[value="+type+"]").attr('selected','selected');
// }, 500);
}
......@@ -270,7 +278,7 @@
function addItem (num) {
let str = '';
for (var i = 0; i < num; i++) {
str = `<div class="banner_item">
str = `<div class="banner_item" data-id="">
<div class="img_show">
<div class="title">
图片展示:
......@@ -347,12 +355,12 @@
let arr = [];
let obj = {};
Array.prototype.forEach.call(itmeLength,function (item,index) {
if ($("jumpType"+index+"").val() == 2) {
if ($("#jumpType"+index+"").val() == 2) {
obj['activityUrl'] = item.querySelector(".linkUrl").value;
obj['spuId'] = '';
} else if ($("jumpType"+index+"").val() == 3) {
} else if ($("#jumpType"+index+"").val() == 3) {
obj['activityUrl'] = '';
obj['spuId'] = item.querySelector(".storeList").data-id;
obj['spuId'] = item.querySelector(".storeList").getAttribute('data-id');
}
obj['categoryType'] = '';
obj['createTime'] = '';
......@@ -361,18 +369,29 @@
obj['indexs'] = index;
obj['mid'] = item.getAttribute('data-id') || 0;
obj['navigationId'] = '';
obj['navigationType'] = $("jumpType"+index+"").val();
obj['navigationType'] = $("#jumpType"+index+"").val();
obj['spuName'] = '';
obj['picUrl'] = item.querySelector(".imgBox").getAttribute('src');
obj['title'] = item.querySelector(".titleIpt").value;
obj['updateTime'] = '';
arr.push({...obj})
});//foreach js6章封装的方法
console.log(arr, '12121212')
promiseMethods('/navigation/createOrUpdate', 'post', JSON.stringify(arr), 'application/json').then(res => {
console.log(res, 12121)
})
promiseMethods('/navigation/createOrUpdate', 'post', JSON.stringify(arr), 'application/json').then(() => {
let data = {
"mid": 2,
"moudleIndexId": "708754120962334729770775",
"moudleName": "jinGangWei",
"indexs": $("#sorting").val(),
"updateTime": "2022-01-06 13:53:42",
"createTime": "2022-01-06 13:53:45",
"delTag": 0,
"status": 0
};
return promiseMethods('/front-index/update', 'post', JSON.stringify(data), 'application/json')
}).then((res)=> {
layer.msg('保存成功!')
refreshItem()
})
}
function common (num) {
$("#fileinput"+num+"").fileinput({
......@@ -406,7 +425,6 @@
showOrhide (jumpType, index)
}
function showOrhide (jumpType, index) {
console.log(jumpType, index, 'sfsf')
switch(jumpType.toString()) {
case '1':
$('.shwoSelect'+index+'').hide();
......@@ -454,11 +472,8 @@
return data
}
}).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);
});;
}
function promiseMethods(url,type,data,contentType) {
......
......@@ -120,11 +120,19 @@
轮播
</div>
</div>
<div class="function_btn" id="showMiddleBanner" style="display: none;">
<div class="hot_title">
位置顺序:
</div>
<div class="tags" style="font-weight: 600;font-size: 16px;">
<input type="text" class="layui-input form-control titleIpt" id="sorting" value="" autocomplete="off" placeholder="请输入模块顺序">
</div>
</div>
<div class="function_btn">
<div class="hot_title">
选择照片:
</div>
<div class="tags">
<div id="tags" class="tags">
<button type="button" class="btn btn-warning" style="margin-right: 12px;" onclick="addItem(0)">添加banner</button>
<span id="tall">(最多允许添加10张图,建议宽度750像素)</span>
</div>
......@@ -142,7 +150,7 @@
</div>
<div class="function_area">
<iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe>
<!-- <iframe src="http://m.zhengzai.tv" width="375" height="896" frameborder="0"></iframe> -->
</div>
</div>
</div>
......@@ -159,27 +167,34 @@
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
type = unescape(r[2]);
console.log(type, 'type')
if (type == 2) {
$("#tall").html('至少添加8张图,建议尺寸1:1')
$("#tall").html('');
$("#tags").hide();
$("#showMiddleBanner").show();
addItem();
} else {
type = 1
}
let data = {
type: 1
type
}
console.log(data)
promiseMethods('/frontBanner/list', 'post', data).then(res => {
console.log(res, 121212121)
let { data } = res;
for (var i = 0; i < data.length; i++) {
let str = `<div class="banner_item" data-id="${data[i].bannerId}" data-index="${data[i].mid}">
<span class="del" onclick="delItem('${i+1}', '${index}')">x</span>
num++
let str = `<div class="banner_item" id="banner_item${i+1}" data-createTime="${data[i].createTime}" data-startTime="${data[i].startTime}" data-upData="${data[i].updateTime}" data-endTime="${data[i].endTime}" data-id="${data[i].bannerId}" data-mid="${data[i].mid}">
<span class="del" onclick="delItem('${i+1}', '${data[i].mid}')">x</span>
<div class="img_show">
<div class="title">
图片展示:
</div>
<div class="ibox-content" style="border: none;">
<img id="viewImg${num}" class="imgBox" src="" alt="">
<img id="viewImg${i+1}" class="imgBox" src="${data[i].picUrl}" 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">
<input id="fileinput${i+1}" type="file" name="file" data-browse-on-zone-click="true" data-theme="fas">
</div>
</div>
</div>
......@@ -190,26 +205,26 @@
跳转方式:
</div>
<div class="iptOrSelect" style="margin-right: 12px;">
<select id="jumpSelect${num}" onchange="changeJump(this)" class="type form-control" data-first-title="请选择">
<select id="jumpSelect${i+1}" onchange="changeJump(this)" class="type form-control" data-first-title="请选择">
<option value="1">票务</option>
<option value="2">商品</option>
<option value="3">H5</option>
<option value="2">H5</option>
<option value="3">商品</option>
</select>
</div>
</div>
<div class="ticket_name">
<div class="title">
<span class="change${num}">票务名称</span>:
<span class="change${i+1}">票务名称</span>:
</div>
<div class="input-group iptOrSelect shwoSelect${num}"">
<input id="ticketName${num}" type="text" class="form-control storeList" onFocus="focusMethod(this)" placeholder="请输入查询信息">
<div class="input-group iptOrSelect shwoSelect${i+1}"">
<input id="ticketName${i+1}" type="text" data-id="${data[i].ticketId}" value="${data[i].ticketName}" class="form-control storeList" onFocus="focusMethod(this)" placeholder="请输入查询信息">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
<div class="iptOrSelect shwoH5${num}" style="display:none;">
<input id="ticketName${num}" type="text" class="layui-input form-control" placeholder="请输入活动链接">
<div class="iptOrSelect shwoH5${i+1}" style="display:none;">
<input id="ticketName${i+1}" data-id="${data[i].ticketId}" value="${data[i].ticketName}" type="text" class="layui-input form-control h5Url" placeholder="请输入活动链接">
</div>
</div>
</div>
......@@ -219,7 +234,7 @@
时间设置:
</div>
<div class="select_tiem">
<input type="text" class="layui-input form-control timeStart" id="startTime${num}" autocomplete="off" placeholder="配置活动时间">
<input type="text" class="layui-input form-control timeStart" id="startTime${i+1}" value="${data[i].startTime}" autocomplete="off" placeholder="配置活动时间">
</div>
</div>
<div class="set_function_time" style="width: 40%;">
......@@ -227,12 +242,15 @@
排序:
</div>
<div class="select_tiem">
<input id="px${num}" type="text" class="layui-input form-control px" placeholder="请输入顺序数字">
<input id="px${i+1}" type="text" class="layui-input form-control px" value="${data[i].indexs}" placeholder="请输入顺序数字">
</div>
</div>
</div>
</div>`;
$("#bannerList").append(str);
let type = data[i].jumpType;
$("#jumpSelect"+(i+1)+" option[value="+type+"]").attr('selected','selected');
typeJump(type, i+1)
common(num)
}
})
......@@ -243,8 +261,8 @@
return layer.msg('最多可添加10张图片')
}
num++
let str = `<div class="banner_item" data-id="" data-index="">
<span class="del" onclick="delItem('${num}', '${index}')">x</span>
let str = `<div class="banner_item" id="banner_item${num}" data-createTime="" data-startTime="" data-upData="" data-endTime="" data-id="" data-mid="">
<span class="del" onclick="delItem('${num}', '')">x</span>
<div class="img_show">
<div class="title">
图片展示:
......@@ -266,8 +284,8 @@
<div class="iptOrSelect" style="margin-right: 12px;">
<select id="jumpSelect${num}" onchange="changeJump(this)" class="type form-control" data-first-title="请选择">
<option value="1">票务</option>
<option value="2">商品</option>
<option value="3">H5</option>
<option value="2">H5</option>
<option value="3">商品</option>
</select>
</div>
</div>
......@@ -276,14 +294,14 @@
<span class="change${num}">票务名称</span>:
</div>
<div class="input-group iptOrSelect shwoSelect${num}"">
<input id="ticketName${num}" type="text" class="form-control storeList" onFocus="focusMethod(this)" placeholder="请输入查询信息">
<input id="ticketName${num}" data-id="" value="" type="text" class="form-control storeList" onFocus="focusMethod(this)" placeholder="请输入查询信息">
<div class="input-group-btn">
<ul class="dropdown-menu dropdown-menu-right" role="menu">
</ul>
</div>
</div>
<div class="iptOrSelect shwoH5${num}" style="display:none;">
<input id="ticketName${num}" type="text" class="layui-input form-control" placeholder="请输入活动链接">
<input id="ticketName${num}" data-id="" value="" type="text" class="layui-input form-control h5Url" placeholder="请输入活动链接">
</div>
</div>
</div>
......@@ -308,6 +326,9 @@
</div>`;
$("#bannerList").append(str);
common(num)
if (type == 2) {
$('.del').hide();
}
}
function save () {
let obj = {};
......@@ -317,71 +338,127 @@
Array.prototype.forEach.call(itmeLength,function (item,index,arr) {
obj.activityUrl = item.querySelector('#ticketName'+(index+1)+'').value;
obj.bannerId = item.getAttribute('data-id');
obj.bannerType = 1;
obj.createTime = '';
obj.bannerType = type;
obj.createTime = item.getAttribute('data-createTime');
obj.delTag = '0';
obj.endTime = '';
obj.indexs = item.querySelector('.px').value;;
obj.endTime = item.getAttribute('data-endTime');
obj.indexs = item.querySelector('.px').value;
obj.jumpType = item.querySelector('#jumpSelect'+(index+1)+'').value;
obj.mid = item.getAttribute('data-index') || 0;
obj.mid = item.getAttribute('data-mid') || 0; //
obj.picUrl = item.querySelector('.imgBox').getAttribute('src');
obj.startTime = item.querySelector('.timeStart').value;
obj.updateTime = '';
obj.ticketId = '';
obj.ticketName = '';
obj.updateTime = item.getAttribute('data-upData');
if (item.querySelector('#jumpSelect'+(index+1)+'').value == 2) {
obj.ticketId = item.querySelector('.h5Url').getAttribute('data-id');
obj.ticketName = item.querySelector('.h5Url').value;
} else {
obj.ticketId = item.querySelector('.storeList').getAttribute('data-id');
obj.ticketName = item.querySelector('.storeList').value;
}
data.push({...obj})
});//foreach js6章封装的方法
console.log(data, 'data')
promiseMethods('/frontBanner/updateOrCreate', 'post', JSON.stringify(data), 'application/json').then(res => {
console.log(res)
if (type == 2) {
let data = {
"mid": 1,
"moudleIndexId": "708753099180072962244503",
"moudleName": "huDongBanner",
"indexs": $("#sorting").val(),
"updateTime": "2022-01-06 13:52:22",
"createTime": "2022-01-06 13:52:19",
"delTag": 0,
"status": 0
};
return promiseMethods('/front-index/update', 'post', JSON.stringify(data), 'application/json')
}
}).then(res => {
layer.msg("保存成功!")
refreshItem()
})
// refreshItem()
}
function focusMethod(e) {
let index = $(e).attr('id').replace(/[^\d]/g,''); // 选中的是第几组
let url = '';
let type = document.querySelector('#jumpSelect'+(index)+'').value;
let idField = '';
let keyField = '';
let effectiveFields = [];
if (type == 1) {
url = '/kylin/performances/recommend/performance/status?pageNum=1&pageSize=50&status=(3,6,7,8,9,10)&title=';
idField = 'performancesId';
keyField = 'title';
effectiveFields[0] = 'title';
} else if (type == 3) {
url = '/compilations/goodsList?name=';
idField = 'spuId';
keyField = 'name';
effectiveFields[0] = 'name';
}
$(".storeList").bsSuggest({
idField, // data.value 的第几个数据,作为input输入框的内容
keyField, // data.value 的第几个数据,作为input输入框的内容
allowNoKeyword: false, //是否允许无关键字时请求数据
showBtn:false,
multiWord: true, //以分隔符号分割的多关键字支持
hideOnSelect: true,
getDataMethod: "url", //获取数据的方式,总是从 URL 获取
url: ctx+'kylin/base/performance/status?status=(3,6)&title=',
url,
effectiveFields,
/*如果从 url 获取数据,并且需要跨域,则该参数必须设置*/
processData: function (json) { // url 获取数据时,对数据的处理,作为 getData 的回调函数
//字符串转化为 js 对象
if (type == 1) {
return json;
} else if (type == 3) {
let data = {};
data.value = json.data
return data
}
}
}).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);
});;
}
function delItem (num) {
console.log(num)
function delItem (num, mid) {
if (mid) {
let data = {
mid
}
promiseMethods('/frontBanner/delete','post',JSON.stringify(data),'application/json').then(res => {
if (res.code == 0) {
layer.msg('删除成功!');
} else {
layer.msg('删除失败!');
refreshItem()
}
})
}
$('#banner_item'+num+'').remove();
}
function changeJump(e) {
let index = $(e).attr('id').replace(/[^\d]/g,''); // 选中的是第几组
let jumpType = $(e).val(); // 选中的跳转类型
switch(jumpType) {
typeJump(jumpType, index)
}
function typeJump (jumpType, index) {
switch(jumpType.toString()) {
case '1':
$('.shwoH5'+index+'').hide();
$('.shwoSelect'+index+'').show();
$(".change"+index+"").text('票务名称');
break;
case '2':
$('.shwoH5'+index+'').hide();
$('.shwoSelect'+index+'').show();
$(".change"+index+"").text('商品名称');
break;
case '3':
$(".change"+index+"").text('活动链接');
$('.shwoH5'+index+'').show();
$('.shwoSelect'+index+'').hide();
break;
case '3':
$('.shwoH5'+index+'').hide();
$('.shwoSelect'+index+'').show();
$(".change"+index+"").text('商品名称');
break;
default:
$('.shwoH5'+index+'').hide();
......
......@@ -98,13 +98,17 @@
<div class="select-list">
<ul>
<div class="leftSearchBox">
<input class="form-control" type="text" placeholder="请输入名字">
类型:<select class="type form-control" data-first-title="请选择">
<option value="">请选择</option>
<input class="form-control" type="text" name="purchaseName" placeholder="请输入名字">
类型:<select class="type form-control" name="status" data-first-title="请选择">
<option value="-1">全部</option>
<option value="0">等待开始</option>
<option value="1">活动中</option>
<option value="2">活动结束</option>
<option value="7">停用</option>
</select>
时间:<input type="text" class="layui-input form-control" id="test1" placeholder="请选择时间">
时间:<input type="text" class="layui-input form-control" id="test1" name="startTime" placeholder="请选择时间">
~
<input type="text" class="layui-input form-control" id="test1" style="margin-left: 10px;" placeholder="请选择时间">
<input type="text" class="layui-input form-control" id="test1" name="endTime" style="margin-left: 10px;" 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>
......@@ -171,7 +175,7 @@
});
$(function () {
var options = {
url: prefix + "/list",
url: prefix2 + "/goblin/marketing/zhengzai/list",
createUrl: prefix2 + "/addNewActivity",
detailUrl: prefix2 + "/addNewActivity?id={id}",
removeUrl: prefix + "/cancel/{id}",
......
......@@ -126,7 +126,7 @@
</div>
<div>
<a class="btn btn-success" id="button-open-10">
<i class="fa fa-plus"></i> 创建分类
<i class="fa fa-plus"></i> 创建标签
</a>
<!-- <a class="btn btn-warning" id="button-open-11">
<i class="fa fa-download"></i> 导出Excel
......@@ -156,7 +156,7 @@
<input class="form-control" type="text">
</div>
<div class="bottomBtn">
<a src="javascript:;" class="layui-layer-btn0 paddings" onclick="yes(1,2)">确定</a>
<a href="javascript:;" class="layui-layer-btn0" onclick="yes(1,2)">确定</a>
<a class="layui-layer-btn1 layui-layer-btn1" onclick="closeModal()">取消</a>
</div>
</div>
......@@ -243,7 +243,7 @@
}
function yes(index, layero) {
console.log(index, layero)
closeModal ()
// closeModal ()
}
function del(id, status, notice) {
......
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