From 624c9eec90d59297800f03276f8518daa1bd9f94 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期五, 04 八月 2023 09:23:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html | 435 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 297 insertions(+), 138 deletions(-) diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html index 33e9063..3ae06f3 100644 --- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html +++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html @@ -1,227 +1,324 @@ @layout("/common/_container.html"){ +<style> + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + height: 100px; + width: 100px; + overflow: hidden; + } + + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 100px; + height: 100px; + line-height: 100px; + margin-top: 34px; + text-align: center; + } + .avatar { + width: 100px; + height: 100px; + display: block; + } + + .col-sm-12 { + margin-top: 20px; + } + + .col-sm-12 select { + height: 33px; + } +</style> <div class="ibox float-e-margins"> + <input id="userType" value="${userType}" hidden="hidden"> <div class="ibox-content"> <div class="form-horizontal"> <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>优惠券名称: </label> + <label class="col-sm-3 control-label">*优惠券名称: </label> <div class="col-sm-9"> <input class="form-control" id="name" name="name" autocomplete="off" placeholder="请输入优惠券名称"> </div> </div> + </div> </div> + <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> <div class="form-group"> - <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>优惠券类型: </label> - <input class="col-sm-1" style="margin-left: 1.7%;width: 13px;height: 13px;" - name="prescription" onclick="radio1()" - value="1" type="radio"> - <label class="col-sm-1" style="margin-left: 18px;width: 17%">满减券: 满</label> - <input type="text" class="col-sm-1" id="conditionalAmount" - onkeyup="value=value.replace(/\D/g,'')"/> - <label class="col-sm-1" style="margin-left: -1.5%;width: 14%"> 元 , 减 </label> - <input type="text" class="col-sm-1" id="deductionAmount" - onkeyup="value=value.replace(/\D/g,'')"/> - <label class="col-sm-1" style="margin-left: -1.5%"> 元</label> - </div> + <label class="col-sm-3 control-label">*优惠券类型: </label> + <input class="col-sm-1" style="margin-left: 2.7%;width: 13px;height: 13px;" + name="prescription" onclick="radio1()" checked + value="1" type="radio"> + <label class="col-sm-1" style="margin-left: 10px;width: 17%">满减券: 满</label> + <input type="text" class="col-sm-1" id="conditionalAmount" + onkeyup="value=value.replace(/\D/g,'')"/> + <label class="col-sm-1" style="margin-left: -1.5%;width: 14%"> 元 , 减 </label> + <input type="text" class="col-sm-1" id="deductionAmount" + onkeyup="value=value.replace(/\D/g,'')"/> + <label class="col-sm-1" style="margin-left: -1.5%"> 元</label> </div> <div class="form-group"> - <div class="initialLevel col-sm-12 control-label form-group"> - <input class="col-sm-1" name="prescription" type="radio" value="2" - onclick="radio2()" - style="margin-left: 24.7%;"> - <label class="col-sm-1" style="margin-left: -17px;width: 20%;">代金券: 可抵</label> - <input class="col-sm-1" id="voucherAmount" onkeyup="value=value.replace(/\D/g,'')"/> - <label class="col-sm-1">元</label> - </div> + <input class="col-sm-1" name="prescription" type="radio" value="2" + onclick="radio2()" + style="margin-left: 24.7%;"> + <label class="col-sm-1" style="margin-left: -17px;width: 20%;">代金券: 可抵</label> + <input class="col-sm-1" id="voucherAmount" onkeyup="value=value.replace(/\D/g,'')"/> + <label class="col-sm-1">元</label> </div> <div class="form-group"> - <div class="initialLevel col-sm-12 control-label form-group"> - <input class="col-sm-1" name="prescription" type="radio" value="3" - onclick="radio3()" - style="margin-left: 24.7%;"> - <label class="col-sm-3 control-label" style="margin-left: -1%;width: 14%;margin-top: -5px">体验券: </label> - <input class="form-control" style="width: 35%" id="experienceName" name="name" - autocomplete="off" placeholder="请输入体验券名称"> - </div> + <input class="col-sm-1" name="prescription" type="radio" value="3" + onclick="radio3()" + style="margin-left: 24.7%;"> + <label class="col-sm-1 control-label" style="margin-left: -1%;width: 14%;margin-top: -5px">体验券: </label> + <input class="col-sm-1" style="width: 35%" id="experienceName" name="name" + autocomplete="off" placeholder="请输入体验券名称"> </div> + </div> </div> + <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>优惠券说明: </label> + <label class="col-sm-3 control-label">*优惠券说明: </label> <div class="col-sm-9"> <textarea type="checkbox" id="illustrate" style="margin-left: 1%;width: 75%;height: 120px" - placeholder="请输入优惠券名称"></textarea> + placeholder="请输入优惠券说明"></textarea> </div> </div> + </div> </div> + <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> <div class="form-group"> <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>发放方式: </label> - <input class="col-sm-1 control-label" onclick="distributionMethod1()" name="distributionMethod" type="radio" - value="1" style="margin-top: 10px"/> + <label class="col-sm-3 control-label">*发放方式: </label> + <input class="col-sm-1 control-label" id="distributionMethod" type="radio" + value="1" checked style="margin-top: 10px"/> <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">积分购买</label> - <input class="col-sm-1 control-label" name="distributionMethod" onclick="distributionMethod2()" type="radio" - value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> + <input class="col-sm-1 control-label" id="distributionMethod" type="radio" + value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> <label class="col-sm-1" style="width: 16%;margin-top: 7px">注册赠送</label> - <input class="col-sm-1 control-label" name="distributionMethod" onclick="distributionMethod3()" type="radio" - value="3" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> + <input class="col-sm-1 control-label" id="distributionMethod" type="radio" + value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> <label class="col-sm-1" style="width: 16%;margin-top: 7px">自动发券</label> </div> </div> + </div> </div> - <div class="row"> - <div class="col-sm-5"> + <div class="row" id="exchangeType" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>兑换方式: </label> - <input class="col-sm-1 control-label" onclick="exchangeMethod1()" name="exchangeMethod" type="radio" - value="1" style="margin-top: 10px"/> + <label class="col-sm-3 control-label">*兑换方式: </label> + <input class="col-sm-1 control-label" onclick="exchangeMethod1()" id="exchangeMethod" type="radio" + value="1" checked style="margin-top: 10px"/> <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">积分</label> - <input class="col-sm-1 control-label" name="exchangeMethod" onclick="exchangeMethod2()" type="radio" - value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> + <input class="col-sm-1 control-label" id="exchangeMethod" onclick="exchangeMethod2()" type="radio" + value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> <label class="col-sm-1" style="width: 20%;margin-top: 7px">现金+积分</label> - <input class="col-sm-1 control-label" name="exchangeMethod" onclick="exchangeMethod3()" type="radio" - value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> - <label class="col-sm-1" style="width: 20%;margin-top: 7px">现金</label> + <input class="col-sm-1 control-label" id="exchangeMethod" onclick="exchangeMethod3()" type="radio" + value="3" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> + <label class="col-sm-1" style="width: 9%;margin-top: 7px">现金</label> </div> </div> + </div> </div> - <div class="row" id="needAmount"> - <div class="col-sm-5"> + <div class="row" id="needAmount" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>所需现金: </label> - <input type="text" class="col-sm-1" id="requiredCash" - onkeyup="value=value.replace(/\D/g,'')"/> + <label class="col-sm-3 control-label">*所需现金</label> + <div class="col-sm-9"> + <input class="form-control" id="requiredCash" placeholder="请输入所需现金" name="requiredCash" autocomplete="off" type="text" + onkeyup="this.value=this.value.replace(/\D/g,'')"> + </div> </div> + </div> </div> - <div class="row" id="needIntegral"> - <div class="col-sm-5"> + + <div class="row" id="needIntegral" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>所需积分: </label> - <input type="text" class="col-sm-1" id="requiredPoints"/> + <label class="col-sm-3 control-label">*所需积分</label> + <div class="col-sm-9"> + <input class="form-control" id="requiredPoints" placeholder="请输入所需积分" name="requiredPoints" autocomplete="off" type="text" + onkeyup="this.value=this.value.replace(/\D/g,'')"> + </div> </div> + </div> </div> <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> <div class="form-group"> <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>用户人群: </label> - <input class="col-sm-1 control-label" onclick="userGroup1()" name="userGroup" type="radio" - value="1" style="margin-top: 10px"/> + <label class="col-sm-3 control-label">*用户人群: </label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="1" checked style="margin-top: 10px"/> <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全部用户</label> - <input class="col-sm-1 control-label" name="userGroup" onclick="userGroup2()" type="radio" - value="2" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="2" style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> <label class="col-sm-1" style="width: 16%;margin-top: 7px">年度会员</label> - <input class="col-sm-1 control-label" name="userGroup" onclick="userGroup3()" type="radio" - value="3" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> - <label class="col-sm-1" style="width: 25%;margin-top: -16px">已有学员用户</label> + <input class="col-sm-1 control-label" name="userGroup" type="radio" + value="3" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> + <label class="col-sm-1" style="width: 18%;margin-top: 5px">已有学员用户</label> </div> </div> + </div> </div> - <div class="row" > - <div class="col-sm-5"> + <div class="row"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>发放数量: </label> - <input type="text" class="col-sm-1" id="issued"/> + <label class="col-sm-3 control-label">*发放数量</label> + <div class="col-sm-9"> + <input class="form-control" id="quantityIssued" placeholder="请输入发放数量" name="quantityIssued" autocomplete="off" type="text" + onkeyup="this.value=this.value.replace(/\D/g,'')"> + </div> </div> + </div> </div> - - <div class="row" > - <div class="col-sm-5"> - <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>限领数量: </label> - <input type="text" class="col-sm-1" id="restrictedQty"/> - </div> - </div> - </div> - <div class="row" > - <div class="col-sm-5"> - <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>有效期: </label> - <input type="text" style="width: 30%" class="form-control" id="periodOfValidity" placeholder="请选择"/> - </div> - </div> - </div> - <div class="row" > - <div class="col-sm-5"> - <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>商品封面: </label> - </div> - </div> - </div> - <div class="row" > - <div class="col-sm-5"> - <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>商品图片(请上传不超过五张图片): </label> - </div> - </div> - </div> - <div class="row"> - <div class="col-sm-5"> + <div class="col-sm-6"> + <div class="form-group"> + <label class="col-sm-3 control-label">*限领数量</label> + <div class="col-sm-9"> + <input class="form-control" id="pickUpQuantity" placeholder="请输入限领数量" name="pickUpQuantity" autocomplete="off" type="text" + onkeyup="this.value=this.value.replace(/\D/g,'')"> + </div> + </div> + + </div> + </div> + + <div class="row"> + <div class="col-sm-6"> + <label class="col-sm-3 control-label">*有效期: </label> + <input type="text" style="width: 30%;margin-left: 1%" class="col-sm-3" id="periodOfValidity" + placeholder="请选择"/> + </div> + </div> + + <div class="row" id="app" hidden="hidden"> + <div class="col-sm-6"> + <div class="form-group"> + <label class="col-sm-3 control-label">*商品封面: </label> + <div class="col-sm-2" style="margin-top: 2%"> + <el-upload + class="avatar-uploader" + action="/tCouponManage/uploadPic" + :show-file-list="false" + :on-success="handleAvatarSuccess" + :before-upload="beforeAvatarUpload"> + <img v-if="imageUrl" :src="imageUrl" class="avatar"> + <i v-else class="el-icon-plus avatar-uploader-icon"></i> + </el-upload> + </div> + </div> + + </div> + </div> + + <div class="row" id="app1" hidden="hidden"> + <div class="col-sm-6" style="width: 100%"> + <div class="form-group"> + <label class="col-sm-3 control-label" style="width: 15%;margin-left: 7%">*商品图片(请上传不超过五张图片): </label> + <div class="col-sm-2" style="width: 100%;margin-left: 12%;margin-top: 1%"> + <el-upload + :limit="5" + class="avatar-uploader" + action="/tCouponManage/uploadPic" + list-type="picture-card" + accept="." + :on-success="handleAvatarSuccess" + :on-remove="handleRemove"> + <i class="el-icon-plus"></i> + </el-upload> + <el-dialog :visible.sync="dialogVisible"> + <img width="100%" :src="imageUrl1" alt=""> + </div> + </div> + + </div> + </div> + + <div class="row" id="belongsCon" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> <div class="initialLevel col-sm-12 control-label form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>适用范围: </label> - <input class="col-sm-1 control-label" onclick="scopeOfApplication1()" name="company" type="radio" - value="0" style="margin-top: 10px"/> - <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">全国通用</label> - <input class="col-sm-1 control-label" name="company" onclick="scopeOfApplication2()" type="radio" - value="1" checked style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">指定城市</label> - <input class="col-sm-1 control-label" name="company" onclick="scopeOfApplication3()" type="radio" - value="1" checked style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> - <label class="col-sm-1" style="width: 25%;margin-top: -16px">指定门店</label> + <label class="col-sm-3">*适用范围: </label> + <div class="col-sm-3" id="belongsNationwide" hidden="hidden"> + <input class="col-sm-1" onclick="scopeOfApplication1()" id="company" type="radio" + value="0" checked style="margin-top: 10px"/> + <label class="col-sm-2" style="width: 68%;margin-top: 7px">全国通用</label> + </div> + <div class="col-sm-3" id="belongsCity" hidden="hidden"> + <input class="col-sm-1" id="company" onclick="scopeOfApplication2()" type="radio" + value="1" style="margin-top: 10px"/> + <label class="col-sm-2" style="width: 64%;margin-top: 7px">指定城市</label> + </div> + <div class="col-sm-3" id="belongsStore" hidden="hidden"> + <input class="col-sm-1" id="company" onclick="scopeOfApplication3()" type="radio" + value="1" style="margin-left: 4%;margin-top: 10px;width: 13px;height: 13px"/> + <label class="col-sm-2" style="width: 64%;margin-top: 6px;">指定门店</label> + </div> </div> </div> + </div> </div> - <div class="row" id="citySelect"> - <div class="col-sm-5"> + <div class="row" id="citySelect" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>指定城市: </label> - <select id="province" onchange="changeCity()"></select> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">省</label> - <select id="city"></select> - <label class="col-sm-1" style="width: 16%;margin-top: 7px">市</label> - <select id="County"></select> - <div class="col-sm-1"> - <label name="addBranch" class="form-control" onclick="couponInfoDlg.addBranch()" style="border: 0px;cursor: pointer"><i class="fa fa-plus-circle"></i></label> - <label name="addBranch" class="form-control" onclick="couponInfoDlg.delete()" style="border: 0px;cursor: pointer"><i class="fa fa-trash"></i></label> + <label class="col-sm-3 control-label">*指定城市: </label> + <div class="col-sm-9 control-label"> + <select class="col-sm-1" id="provinceData" style="margin-top: 1%;width: 25%" onchange="changeCity(null)"> + <option value="">请选择</option> + </select> + <label class="col-sm-1" style="width: 9%;margin-top: 7px">省</label> + <select class="col-sm-1" style="margin-top: 1%;width: 25%" id="cityData"> + <option value="">请选择</option> + </select> + <label class="col-sm-1" style="width: 7%;margin-top: 7px">市</label> + <label name="addBranch" class="col-sm-1" onclick="couponInfoDlg.addBranch()" style="border: 0px;cursor: pointer;margin-top: 1%"><i class="fa fa-plus-circle"></i></label> </div> + <div id="cityDemo"></div> </div> + </div> </div> - - <div class="row" id="storeSelect"> - <div class="col-sm-5"> + <div class="row" id="storeSelect" hidden="hidden"> + <div class="col-sm-6"> <div class="form-group"> - <label class="col-sm-3 control-label"><font style="color:red">*</font>指定门店: </label> - <button onclick="couponInfoDlg.employeeSelection()" - style="height: 22px;margin-left: -165px;width: 82px;background-color: #4a8ff1;color: white;z-index: 15;position:relative;border: none"> - 选择门店 - </button> + <div class="col-sm-12"> + <label class="col-sm-3 control-label">*指定门店: </label> + <button onclick="storeList()" + style="height: 22px;width: 82px;background-color: #4a8ff1;color: white;z-index: 15;position:relative;border: none;margin-top: 1%"> + 选择门店 + </button> + </div> <div class="col-sm-12" style="margin-left: -57px;margin-top: 20px"> <table class="table table-bordered" style="width: 70%;margin-left: 228px;" id="storeTable"> <thead> @@ -236,9 +333,9 @@ </table> </div> </div> + </div> </div> - <div class="row"> <div class="row btn-group-m-t"> @@ -256,6 +353,9 @@ </div> </div> </div> +<script src="${ctxPath}/js/vue/vue.js"></script> +<script src="${ctxPath}/js/elementui/index.js"></script> +<link rel="stylesheet" href="${ctxPath}/js/elementui/index.css"> <script src="${ctxPath}/modular/system/tCoupon/TCouponInfo.js"></script> <script type="text/javascript"> laydate.render({ @@ -263,5 +363,64 @@ type: 'date', range: true }); + var vue1 = new Vue({ + el: '#app', + data: { + autoUpload: true,//自动上传 + imageUrl: '',//模型数据,用于上传图片完成后图片预览 + }, + methods: { + handleAvatarSuccess(res, file) { + couponInfoDlg.goodsCover = URL.createObjectURL(file.raw); + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + couponInfoDlg.goodsCover = ''; + }, + }, + created() { + }, + }); + + var vue2 = new Vue({ + el: '#app1', + props: { + // 数量限制 + limit: { + type: Number, + default: 2 + }, + }, + data: { + autoUpload: true,//自动上传 + imageUrl1: '',//模型数据,用于上传图片完成后图片预览 + dialogVisible: false + }, + methods: { + handleAvatarSuccess(res, file) { + couponInfoDlg.goodsPicArray.push(file); + }, + beforeAvatarUpload(file) { + const isLt2M = file.size / 1024 / 1024 < 10; + if (!isLt2M) { + this.$message.error('上传图片大小不能超过 10MB!'); + } + return isLt2M; + }, + handleRemove(file, fileList) { + couponInfoDlg.goodsPicArray = couponInfoDlg.goodsPicArray.filter(item => { + return item.uid != file.uid; + }); + }, + }, + created() { + }, + }); </script> @} -- Gitblit v1.7.1