|
@@ -0,0 +1,988 @@
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <title>二手商品管理</title>
|
|
|
+ <meta name="decorator" content="default"/>
|
|
|
+ <script type="text/javascript">
|
|
|
+ $(document).ready(function () {
|
|
|
+ //$("#name").focus();订单来源
|
|
|
+ $("#inputForm").validate({
|
|
|
+ submitHandler: function (form) {
|
|
|
+ var costCheckFlag = $("input[name='costCheckFlag']:checked").val();
|
|
|
+ var find = $("input[name='ids']:checked").val();
|
|
|
+ if (!find >= 1) {
|
|
|
+ alertx("请选择商品包含的文件!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ var publishIdentity = $("input[name='publishIdentity']:checked").val();
|
|
|
+ console.log(publishIdentity);
|
|
|
+ if (!publishIdentity > 0) {
|
|
|
+ alertx("请选择用户身份");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (publishIdentity * 1 === 2) {
|
|
|
+ if ($("#companyName").val() == '') {
|
|
|
+ alertx("公司名称不能为空!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (costCheckFlag * 1 === 1) {
|
|
|
+ if ($("#costPrice").val() == '') {
|
|
|
+ alertx("请输入成本价");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ var costPrice = $("#costPrice").val();
|
|
|
+ if (0 == costPrice) {
|
|
|
+ alertx('成本价不能为0');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if ($("#costProportional").val() == '') {
|
|
|
+ alertx("请输入成本比例");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证填写参数
|
|
|
+ var payStatus = $('#payStatus').val();
|
|
|
+ if (payStatus == 2) {
|
|
|
+ var payAmount = $("#payAmount").val();
|
|
|
+ // (验证付款金额)
|
|
|
+ if (payAmount == "" || payAmount == null) {
|
|
|
+ alertx('请填写付款金额');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (0 == payAmount) {
|
|
|
+ alertx('付款金额不能为0');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var price = $("#price").val();
|
|
|
+ if (0 == price) {
|
|
|
+ alertx('交易价不能为0');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var secondHandType = $("input[name ='secondHandType']:checked").val();
|
|
|
+ if (secondHandType == 2) {
|
|
|
+ var maturityYears = $("#maturityYears").val();
|
|
|
+ // (验证到期时期)
|
|
|
+ if (maturityYears == null || maturityYears == "") {
|
|
|
+ alertx('请输入产品到期日');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //(验证临期价格信息)
|
|
|
+ var normalPrice = $("#normalPrice").val();
|
|
|
+ if (null == normalPrice || normalPrice == "") {
|
|
|
+ alertx('请输入市场价');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (0 == normalPrice) {
|
|
|
+ alertx('市场价不能为0');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //
|
|
|
+ var originalPrice = $("#originalPrice").val();
|
|
|
+ if (null == originalPrice || originalPrice == "") {
|
|
|
+ alertx('请输入采购价/原价');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (0 == originalPrice) {
|
|
|
+ alertx('采购价/原价不能为0');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var stock = $("#stock").val();
|
|
|
+ if (null == stock || stock == "") {
|
|
|
+ alertx('请输入数量');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取选中townID给Form标签
|
|
|
+ var townId = $("#town option:selected").attr("townId");
|
|
|
+ $("#townId").val(townId);
|
|
|
+
|
|
|
+ var peopleMobile = $("#dockingPeopleMobile").val();
|
|
|
+ if (peopleMobile != '' && peopleMobile != undefined) {
|
|
|
+ var reg = new RegExp('^1[0-9]{10}$');
|
|
|
+ if (!reg.test(peopleMobile)) {
|
|
|
+ alertx('请填写正确的采美对接人联系方式');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ loading('正在提交,请稍等...');
|
|
|
+ form.submit();
|
|
|
+ },
|
|
|
+ errorContainer: "#messageBox",
|
|
|
+ errorPlacement: function (error, element) {
|
|
|
+ $("#messageBox").text("输入有误,请先更正。");
|
|
|
+ if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
|
|
|
+ error.appendTo(element.parent().parent());
|
|
|
+ } else {
|
|
|
+ error.insertAfter(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ </script>
|
|
|
+ <style>
|
|
|
+ .form-horizontal .controls {
|
|
|
+ margin-left: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .form-horizontal .control-label {
|
|
|
+ float: left;
|
|
|
+ width: 181px;
|
|
|
+ padding-top: 5px;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+
|
|
|
+ #increase, #decrease, .lineNum {
|
|
|
+ width: 30px;
|
|
|
+ height: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .lineNum {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dateInput input {
|
|
|
+ width: 150px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .clause span {
|
|
|
+ margin-left: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ #productTable th {
|
|
|
+ text-align: center;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ #productTable td {
|
|
|
+ text-align: center;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ .iconBox {
|
|
|
+ font-size: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .controls .conList {
|
|
|
+ display: inline-block;
|
|
|
+ margin-right: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .conList .btn:nth-of-type(1) {
|
|
|
+ margin-left: 25px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .select2-choice {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content {
|
|
|
+ margin-top: -70px;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content .conList .btn:nth-of-type(1) {
|
|
|
+ width: 90px;
|
|
|
+ height: 100px;
|
|
|
+ border: 2px solid #eee;
|
|
|
+ background: #fff;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content .conList .btn:nth-of-type(1) > div {
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content .conList .btn:nth-of-type(1) span {
|
|
|
+ font-size: 35px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content .conList .btn:nth-of-type(1) h5 {
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .cancel-upload {
|
|
|
+ background: transparent;
|
|
|
+ border: none;
|
|
|
+ box-shadow: none;
|
|
|
+ position: relative;
|
|
|
+ top: -38px;
|
|
|
+ left: -25px;
|
|
|
+ cursor: pointer;
|
|
|
+ z-index: 100;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content .conList ol li {
|
|
|
+ width: 114px;
|
|
|
+ min-height: 80px;
|
|
|
+ text-align: center;
|
|
|
+ background: #fff;
|
|
|
+ position: relative;
|
|
|
+ top: 120px;
|
|
|
+ margin-left: 2px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image {
|
|
|
+ margin-top: -70px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image .conList .btn:nth-of-type(1) {
|
|
|
+ width: 90px;
|
|
|
+ height: 100px;
|
|
|
+ border: 2px solid #eee;
|
|
|
+ background: #fff;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image .conList .btn:nth-of-type(1) > div {
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image .conList .btn:nth-of-type(1) span {
|
|
|
+ font-size: 35px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image .conList .btn:nth-of-type(1) h5 {
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-content-image .conList ol li {
|
|
|
+ width: 114px;
|
|
|
+ min-height: 80px;
|
|
|
+ text-align: center;
|
|
|
+ background: #fff;
|
|
|
+ position: relative;
|
|
|
+ top: 120px;
|
|
|
+ margin-left: 2px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .cancel-upload-image {
|
|
|
+ background: transparent;
|
|
|
+ border: none;
|
|
|
+ box-shadow: none;
|
|
|
+ position: relative;
|
|
|
+ top: -38px;
|
|
|
+ left: -25px;
|
|
|
+ cursor: pointer;
|
|
|
+ z-index: 100;
|
|
|
+ }
|
|
|
+
|
|
|
+ .hide-pic {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .hide-pic-image {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upload-tips {
|
|
|
+ margin: 10px 0;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+<ul class="nav nav-tabs">
|
|
|
+ <li><a href="${ctx}/product/new/list?searchProductCategory=2">二手商品列表</a></li>
|
|
|
+ <li class="active"><a
|
|
|
+ href="${ctx}/product/cmSecondHandDetail/form?id=${cmSecondHandDetail.id}">二手商品<shiro:hasPermission
|
|
|
+ name="product:cmSecondHandDetail:edit">${not empty cmSecondHandDetail.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission
|
|
|
+ name="product:cmSecondHandDetail:edit">查看</shiro:lacksPermission></a></li>
|
|
|
+</ul>
|
|
|
+<br/>
|
|
|
+<form:form id="inputForm" modelAttribute="cmSecondHandDetail"
|
|
|
+ action="${ctx}/product/cmSecondHandDetail/save?searchName=${cmSecondHandDetail.searchName}&searchShopID=${cmSecondHandDetail.searchShopID}&searchShopName=${cmSecondHandDetail.searchShopName}&searchBigTypeID=${cmSecondHandDetail.searchBigTypeID}&searchSmallTypeID=${cmSecondHandDetail.searchSmallTypeID}&searchTinyTypeID=${cmSecondHandDetail.searchTinyTypeID}&searchValidFlag=${cmSecondHandDetail.searchValidFlag}&searchActStatus=${cmSecondHandDetail.searchActStatus}&searchProductType=${cmSecondHandDetail.searchProductType}&searchBrandID=${cmSecondHandDetail.searchBrandID}&searchPreferredFlag=${cmSecondHandDetail.searchPreferredFlag}&searchProductCategory=${cmSecondHandDetail.searchProductCategory}&editFlag=${cmSecondHandDetail.editFlag}"
|
|
|
+ method="post" class="form-horizontal">
|
|
|
+ <sys:message content="${message}"/>
|
|
|
+ <%-- 新增加不需要显示--%>
|
|
|
+ <c:if test="${ not empty cmSecondHandDetail.id}">
|
|
|
+ <tr>
|
|
|
+ <th><span class="red">*</span>商品显示名:</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <form:input path="name" maxlength="100" onchange="checkmaxlength(this.value)"
|
|
|
+ class="input-small required"/>
|
|
|
+ <span>
|
|
|
+ <span style="font-weight: bold;">商品编码:</span>
|
|
|
+ <span><form:input path="productCode" maxlength="100"/></span>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th><span class="red">*</span>内部商品名:</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <form:input path="aliasName" maxlength="100" onchange="checkmaxlength(this.value)"
|
|
|
+ class="input-small required"/>
|
|
|
+ <span>
|
|
|
+ <span style="font-weight: bold;">商品备注:</span>
|
|
|
+ <span><form:input path="productRemarks" maxlength="60" onchange="checkmaxlengths(this.value,60)"
|
|
|
+ class="input-small"/></span>
|
|
|
+ </span>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>搜索关键字:</th>
|
|
|
+ <td colspan="3" class="skword">
|
|
|
+ <form:input path="searchKeyList[0]" maxlength="32" placeholder="建议输入品牌关键词"
|
|
|
+ onchange="checkmaxlengthsBySearch(this,this.value,32)" class="input-small"/>
|
|
|
+ <form:input path="searchKeyList[1]" maxlength="32" placeholder="建议输入商品学名关键词"
|
|
|
+ onchange="checkmaxlengthsBySearch(this,this.value,32)" class="input-small"/>
|
|
|
+ <form:input path="searchKeyList[2]" maxlength="32" placeholder="建议输入商品别名/市场称呼关键词"
|
|
|
+ onchange="checkmaxlengthsBySearch(this,this.value,32)" class="input-small"/>
|
|
|
+ <form:input path="searchKeyList[3]" maxlength="32" placeholder="建议输入商品大分类关键词"
|
|
|
+ onchange="checkmaxlengthsBySearch(this,this.value,32)" class="input-small"/>
|
|
|
+ <form:input path="searchKeyList[4]" maxlength="32" placeholder="建议输入商品小分类关键词"
|
|
|
+ onchange="checkmaxlengthsBySearch(this,this.value,32)" class="input-small"/>
|
|
|
+ <p>请务必准确定义关键词,关键词会影响商品的搜索结果,建议从品牌,商品学名,商品别名,商品大类别和商品小类别5个方面考虑,每个关键词不超过16个汉字。</p>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>相关参数:</th>
|
|
|
+ <td colspan="3" class="params">
|
|
|
+ <div id="addParamsItems">
|
|
|
+ <%--相关参数层--%>
|
|
|
+ <input type="hidden" value="${fn:length(product.productParametersList)}"
|
|
|
+ id="productParametersLength">
|
|
|
+ <c:forEach items="${product.productParametersList}" var="item" varStatus="varIndex">
|
|
|
+ <div id="paramsItem" class="paramsItem">
|
|
|
+ <form:input path="productParametersList[${varIndex.index}].paramsName" id="paramsName"
|
|
|
+ cssStyle="width:142px" maxlength="10" placeholder="参数名称" class="input-small"/>
|
|
|
+ <form:input path="productParametersList[${varIndex.index}].paramsContent" id="paramsContent"
|
|
|
+ cssStyle="width:680px" maxlength="50" placeholder="请输入参数信息"
|
|
|
+ class="input-small"/>
|
|
|
+ <span type="button" style="cursor: pointer;color: #0B61A4"
|
|
|
+ onclick="deleteParams(this)">删除</span>
|
|
|
+ </div>
|
|
|
+ </c:forEach>
|
|
|
+ </div>
|
|
|
+ <button class="addParams" onclick="return false">添加参数</button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>品牌:</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <form:select path="brandID" class="input-small">
|
|
|
+ <form:option value="" label="请选择"/>
|
|
|
+ <form:options items="${brandList}" itemLabel="name" itemValue="id" htmlEscape="false"/>
|
|
|
+ </form:select>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <div class="control-group">
|
|
|
+ <label class="control-label" style="margin-top: 17px">图片:</label>
|
|
|
+ <div class="controls upload-content" id="secondHandImage">
|
|
|
+ <div class="conList">
|
|
|
+ <form:hidden value="${cmSecondHandDetail.image1}" id="image1" path="image1" htmlEscape="false"
|
|
|
+ maxlength="255" class="input-xlarge"/>
|
|
|
+ <sys:ckfinder input="image1" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
|
|
|
+ maxHeight="100"/>
|
|
|
+ </div>
|
|
|
+ <div class="conList hide-pic">
|
|
|
+ <form:hidden value="${cmSecondHandDetail.image2}" id="image2" path="image2" htmlEscape="false"
|
|
|
+ maxlength="255" class="input-xlarge"/>
|
|
|
+ <sys:ckfinder input="image2" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
|
|
|
+ maxHeight="100"/>
|
|
|
+ </div>
|
|
|
+ <div class="conList hide-pic">
|
|
|
+ <form:hidden value="${cmSecondHandDetail.image3}" id="image3" path="image3" htmlEscape="false"
|
|
|
+ maxlength="255" class="input-xlarge"/>
|
|
|
+ <sys:ckfinder input="image3" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
|
|
|
+ maxHeight="100"/>
|
|
|
+ </div>
|
|
|
+ <div class="conList hide-pic">
|
|
|
+ <form:hidden value="${cmSecondHandDetail.image4}" id="image4" path="image4" htmlEscape="false"
|
|
|
+ maxlength="255" class="input-xlarge"/>
|
|
|
+ <sys:ckfinder input="image4" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
|
|
|
+ maxHeight="100"/>
|
|
|
+ </div>
|
|
|
+ <div class="conList hide-pic">
|
|
|
+ <form:hidden value="${cmSecondHandDetail.image5}" id="image5" path="image5" htmlEscape="false"
|
|
|
+ maxlength="255" class="input-xlarge"/>
|
|
|
+ <sys:ckfinder input="image5" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
|
|
|
+ maxHeight="100"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="conList upload-tips" style="margin-left: 205px">
|
|
|
+ <font color="red">最多上传5张商品图片,请尽量全部上传,单张图片不能超过5M</font>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="form-actions">
|
|
|
+ <input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>
|
|
|
+ <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
|
|
|
+ </div>
|
|
|
+</form:form>
|
|
|
+<script>
|
|
|
+
|
|
|
+ //图片初始化
|
|
|
+ $(function () {
|
|
|
+ var ids = [];
|
|
|
+ if (999 !=${cmSecondHandDetail.fileTypes}) {
|
|
|
+ ids =${cmSecondHandDetail.fileTypes};
|
|
|
+ for (let i = 0; i < ids.length; i++) {
|
|
|
+ if (1 == ids[i]) {
|
|
|
+ $("#yqht").attr("checked", true);
|
|
|
+ }
|
|
|
+ if (2 == ids[i]) {
|
|
|
+ $("#yqzc").attr("checked", true);
|
|
|
+ }
|
|
|
+ if (3 == ids[i]) {
|
|
|
+ $("#yqfp").attr("checked", true);
|
|
|
+ }
|
|
|
+ if (4 == ids[i]) {
|
|
|
+ $("#yqbg").attr("checked", true);
|
|
|
+ }
|
|
|
+ if (5 == ids[i]) {
|
|
|
+ $("#wrh").attr("checked", true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var publishIdentity = $("input[name='publishIdentity']:checked").val();
|
|
|
+ if (publishIdentity * 1 === 1) {
|
|
|
+ $("#gsmc").hide();
|
|
|
+ $("#yyzz").hide();
|
|
|
+ $("#sfz").show();
|
|
|
+ } else {
|
|
|
+ $("#gsmc").show();
|
|
|
+ $("#sfz").hide();
|
|
|
+ $("#yyzz").show();
|
|
|
+ }
|
|
|
+
|
|
|
+ $('.upload-content .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
|
|
|
+ $('.upload-content .conList .btn:nth-of-type(2)').after('<img class="cancel-upload" src="/static/images/close-btn1.png">').remove();
|
|
|
+ $('.upload-content .conList').find('.cancel-upload').hide();
|
|
|
+ var observeEle = document.getElementsByClassName('upload-content')[0];
|
|
|
+
|
|
|
+ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
|
|
|
+ var MutationObserverConfig = {
|
|
|
+ childList: true,
|
|
|
+ subtree: true,
|
|
|
+ characterData: true
|
|
|
+ };
|
|
|
+ var observer = new MutationObserver(function (mutations) {
|
|
|
+ $.each(mutations, function (index, item) {
|
|
|
+ if (item.type === 'childList') {
|
|
|
+ // 在创建新的 element 时调用
|
|
|
+ var target = $(item.target),
|
|
|
+ thisWrapper = target.closest('.conList'),
|
|
|
+ nextEle = thisWrapper.next();
|
|
|
+ thisWrapper.find('li').css('z-index', 99);
|
|
|
+ thisWrapper.find('.cancel-upload').show();
|
|
|
+ if (nextEle.hasClass('hide-pic')) {
|
|
|
+ nextEle.removeClass('hide-pic');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ observer.observe(observeEle, MutationObserverConfig);
|
|
|
+
|
|
|
+
|
|
|
+ $('body').on('click', '.upload-content li', function () {
|
|
|
+ var index = $(this).closest('.conList').index() + 1,
|
|
|
+ str = 'image' + index + 'FinderOpen';
|
|
|
+ eval(str + '()');
|
|
|
+ });
|
|
|
+ $('body').on('click', '.cancel-upload', function () {
|
|
|
+ debugger
|
|
|
+ var wrapper = $(this).closest('.conList');
|
|
|
+ wrapper.find('li').css('z-index', '-1');
|
|
|
+ wrapper.find('input').val('');
|
|
|
+ $(this).hide();
|
|
|
+ if ($('.cancel-upload:visible').length < 9) {
|
|
|
+ wrapper.addClass("hide-pic");
|
|
|
+ } else {
|
|
|
+ wrapper.removeClass("hide-pic");
|
|
|
+ }
|
|
|
+ wrapper.parent().append(wrapper.clone());
|
|
|
+ wrapper.remove();
|
|
|
+ $(".conList").each(function (i, ele) {
|
|
|
+ if ($(ele).find("input.input-xlarge").val()) {
|
|
|
+ $(ele).next().removeClass("hide-pic")
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ $(window).on("load", function () {
|
|
|
+ setTimeout(function () {
|
|
|
+ $("#secondHandImage").find("input.input-xlarge").each(function (i, ele) {
|
|
|
+ if ($(ele).val()) {
|
|
|
+ $(ele).next().find("li").css("z-index", "99");
|
|
|
+ $(ele).parents(".conList").find(".cancel-upload").show();
|
|
|
+ $(ele).parents(".conList").next().removeClass("hide-pic")
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }, 500);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ $('.upload-content-image .conList .btn:nth-of-type(1)').html('<div><span>+</span><h5>选择图片</h5></div>');
|
|
|
+ $('.upload-content-image .conList .btn:nth-of-type(2)').after('<img class="cancel-upload-image" src="/static/images/close-btn1.png">').remove();
|
|
|
+ $('.upload-content-image .conList').find('.cancel-upload-image').hide();
|
|
|
+ var observeEleImage = document.getElementsByClassName('upload-content-image')[0];
|
|
|
+ var observeEleImage1 = document.getElementsByClassName('upload-content-image')[1];
|
|
|
+ var MutationObserverImage = window.MutationObserver || window.WebKitMutationObserver;
|
|
|
+ var MutationObserverConfigImage = {
|
|
|
+ childList: true,
|
|
|
+ subtree: true,
|
|
|
+ characterData: true
|
|
|
+ };
|
|
|
+ var observerImage = new MutationObserverImage(function (mutations) {
|
|
|
+ $.each(mutations, function (index, item) {
|
|
|
+ if (item.type === 'childList') {
|
|
|
+ // 在创建新的 element 时调用
|
|
|
+ var target = $(item.target),
|
|
|
+ thisWrapper = target.closest('.conList'),
|
|
|
+ nextEle = thisWrapper.next();
|
|
|
+ thisWrapper.find('li').css('z-index', 99);
|
|
|
+ thisWrapper.find('.cancel-upload-image').show();
|
|
|
+ if (nextEle.hasClass('hide-pic-image')) {
|
|
|
+ nextEle.removeClass('hide-pic-image');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ observerImage.observe(observeEleImage, MutationObserverConfigImage);
|
|
|
+ observerImage.observe(observeEleImage1, MutationObserverConfigImage);
|
|
|
+
|
|
|
+ $('body').on('click', '.upload-content-image li', function () {
|
|
|
+ var index = $(this).closest('.conList').index() + 1,
|
|
|
+ str = 'remarkImage' + index + 'FinderOpen';
|
|
|
+ eval(str + '()');
|
|
|
+ });
|
|
|
+ $('body').on('click', '.cancel-upload-image', function () {
|
|
|
+ var wrapper = $(this).closest('.conList');
|
|
|
+ wrapper.find('li').css('z-index', '-1');
|
|
|
+ wrapper.find('input').val('');
|
|
|
+ $(this).hide();
|
|
|
+ wrapper.removeClass("hide-pic-image");
|
|
|
+ wrapper.parent().append(wrapper.clone());
|
|
|
+ wrapper.remove();
|
|
|
+ $(".conList").each(function (i, ele) {
|
|
|
+ if ($(ele).find("input.input-xlarge").val()) {
|
|
|
+ $(ele).next().removeClass("hide-pic-image")
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+ $(window).on("load", function () {
|
|
|
+ setTimeout(function () {
|
|
|
+ var input = $("#authenticationImage");
|
|
|
+ if (input.val()) {
|
|
|
+ input.next().find("li").css("z-index", "99");
|
|
|
+ input.parents(".conList").find(".cancel-upload-image").show();
|
|
|
+ input.parents(".conList").next().removeClass("hide-pic-image")
|
|
|
+ }
|
|
|
+ var input = $("#authenticationBackImage");
|
|
|
+ if (input.val()) {
|
|
|
+ input.next().find("li").css("z-index", "99");
|
|
|
+ input.parents(".conList").find(".cancel-upload-image").show();
|
|
|
+ input.parents(".conList").next().removeClass("hide-pic-image")
|
|
|
+ }
|
|
|
+ var input = $("#licenseImage");
|
|
|
+ if (input.val()) {
|
|
|
+ input.next().find("li").css("z-index", "99");
|
|
|
+ input.parents(".conList").find(".cancel-upload-image").show();
|
|
|
+ input.parents(".conList").next().removeClass("hide-pic-image")
|
|
|
+ }
|
|
|
+ input = $("#commitmentImage");
|
|
|
+ if (input.val()) {
|
|
|
+ input.next().find("li").css("z-index", "99");
|
|
|
+ input.parents(".conList").find(".cancel-upload-image").show();
|
|
|
+ input.parents(".conList").next().removeClass("hide-pic-image")
|
|
|
+ }
|
|
|
+ }, 500);
|
|
|
+ });
|
|
|
+
|
|
|
+ var controlsFiles = document.getElementById("controlsFiles");
|
|
|
+ controlsFiles.addEventListener("change", function () {
|
|
|
+ $('#uploadFileName').val(name.substring(0, name.indexOf('.')));
|
|
|
+ var files = $('#controlsFiles').prop('files');
|
|
|
+ var data = new FormData();
|
|
|
+ var url = "${ctx}/oss/cmOssArchive/fileUpload";
|
|
|
+ data.append('file', files[0]);
|
|
|
+ $.ajax({
|
|
|
+ url: url,
|
|
|
+ data: data,
|
|
|
+ type: "POST",
|
|
|
+ processData: false,
|
|
|
+ contentType: false,
|
|
|
+ dataType: "json",
|
|
|
+ success: function (res) {
|
|
|
+ var html = "<span>" + res.fileName + " <a href=" + res.url + " style='position: relative' target='_blank'>预览</a> <a href='${ctx}/oss/cmOssArchive/fileDownload?ossName=" + res.ossName + "&fileName=" + res.fileName + "' style='position: relative'>下载</a></span>";
|
|
|
+ $("#file-list-display").html(html);
|
|
|
+ $("#controlsFiles").val("");
|
|
|
+ $("#ossName").val(res.ossName);
|
|
|
+ $("#fileName").val(res.fileName);
|
|
|
+ },
|
|
|
+ error: function (error) {
|
|
|
+ alertx(error);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ });
|
|
|
+ $(function () {
|
|
|
+ // 加载地址
|
|
|
+ loadProvince();
|
|
|
+
|
|
|
+ // 初始化付款状态
|
|
|
+ if ($('#payStatus').val() == '1' || $('#payStatus').val() == '3') {
|
|
|
+ //待支付情况下不能填写付款金额
|
|
|
+ $('.payAmount').hide();
|
|
|
+ $('#payAmount').removeClass('required');
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($('#payStatus').val() == '2') {
|
|
|
+ //已支付情况下需要填写付款金额, 而且必填
|
|
|
+ $('.payAmount').show();
|
|
|
+ $('#payAmount').addClass('required');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 初始化分类
|
|
|
+ var val = $("input[name ='secondHandType']:checked").val();
|
|
|
+ // 分类控制
|
|
|
+ if (val == 2 || val == 3 || val == undefined) {
|
|
|
+ $('.bigTypeList').hide();
|
|
|
+ }
|
|
|
+ if (val == 1) {
|
|
|
+ $('.bigTypeList').show();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 价格控制
|
|
|
+ if (val == 1 || val == 3) {
|
|
|
+ $('.showClassDiv').hide();
|
|
|
+ }
|
|
|
+ if (val == 2) {
|
|
|
+ $('.showClassDiv').show();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $('#brandID').change(function () {
|
|
|
+ var val = $(this).val();
|
|
|
+ if (val == '161') {
|
|
|
+ //显示输入框
|
|
|
+ $("#brandName").show();
|
|
|
+ }
|
|
|
+ if (val != '161') {
|
|
|
+ //隐藏输入框
|
|
|
+ $("#brandName").hide();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //初始化
|
|
|
+ var val = $("#brandID option:selected").val();
|
|
|
+ if (val == '161') {
|
|
|
+ //显示输入框
|
|
|
+ $("#brandName").show();
|
|
|
+ }
|
|
|
+ if (val != '161') {
|
|
|
+ //隐藏输入框
|
|
|
+ $("#brandName").hide();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改支付状态
|
|
|
+ $('#payStatus').change(function () {
|
|
|
+ var val = $("#payStatus").val();
|
|
|
+ if (val == 1 || val == 3) {
|
|
|
+ //待支付情况下不能填写付款金额
|
|
|
+ $('.payAmount').hide();
|
|
|
+ $('#payAmount').removeClass('required');
|
|
|
+ }
|
|
|
+ if (val == 2) {
|
|
|
+ //待支付情况下不能填写付款金额
|
|
|
+ $('.payAmount').show();
|
|
|
+ $('#payAmount').addClass('required');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+ // 修改分类
|
|
|
+ $("input[name='secondHandType']").change(function () {
|
|
|
+ var val = $(this).val();
|
|
|
+ // 分类控制
|
|
|
+ if (val == 2 || val == 3) {
|
|
|
+ $('.bigTypeList').hide();
|
|
|
+ }
|
|
|
+ if (val == 1) {
|
|
|
+ $('.bigTypeList').show();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 价格控制
|
|
|
+ if (val == 1 || val == 3) {
|
|
|
+ $('.showClassDiv').hide();
|
|
|
+ }
|
|
|
+ if (val == 2) {
|
|
|
+ $('.showClassDiv').show();
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 加载省份
|
|
|
+ * @param curProvince
|
|
|
+ */
|
|
|
+ function loadProvince() {
|
|
|
+ var curProvince = $("#curProvince").val();
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ dataType: 'json',
|
|
|
+ url: '/area/loadProvince',
|
|
|
+ success: function (data) {
|
|
|
+ $("#s2id_province .select2-chosen").html("市");
|
|
|
+ $("#province").html("");
|
|
|
+ $("#province").append("<option value=''>省</option>");
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ if (curProvince != '' && curProvince != null && typeof (curProvince) != "undefined" && curProvince == data[i].name) {
|
|
|
+ $("#province").append("<option value='" + data[i].name + "' provinceId=" + data[i].id + " selected>" + data[i].name + "</option>");
|
|
|
+ $("#s2id_province .select2-chosen").html(curProvince);
|
|
|
+ loadCity($("#curCity").val());
|
|
|
+ } else {
|
|
|
+ $("#province").append("<option value='" + data[i].name + "' provinceId=" + data[i].id + ">" + data[i].name + "</option>");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 加载城市
|
|
|
+ */
|
|
|
+ function loadCity(curCity) {
|
|
|
+ var provinceId = $("#province option:selected").attr("provinceId");
|
|
|
+ if (typeof (provinceId) != "undefined" && provinceId * 1 > 0) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ dataType: 'json',
|
|
|
+ data: {'provinceId': provinceId},
|
|
|
+ url: '/area/loadCity',
|
|
|
+ success: function (data) {
|
|
|
+ $("#s2id_city .select2-chosen").html("市");
|
|
|
+ $("#city").html("");
|
|
|
+ $("#city").append("<option value=''>市</option>");
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ if (curCity != null && typeof (curCity) != "undefined" && curCity == data[i].name) {
|
|
|
+ $("#city").append("<option value='" + data[i].name + "' selected cityId=" + data[i].id + ">" + data[i].name + "</option>");
|
|
|
+ $("#s2id_city .select2-chosen").html(curCity);
|
|
|
+ loadTown($("#curTown").val());
|
|
|
+ } else {
|
|
|
+ $("#city").append("<option value='" + data[i].name + "' cityId=" + data[i].id + ">" + data[i].name + "</option>");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ $("#city").html("");
|
|
|
+ $(".select2-chosen").eq(3).html("市");
|
|
|
+ $("#city").append("<option value=''>市</option>");
|
|
|
+
|
|
|
+ $("#town").html("");
|
|
|
+ $(".select2-chosen").eq(4).html("区");
|
|
|
+ $("#town").append("<option value=''>区</option>");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 加载县区
|
|
|
+ * @param curTown
|
|
|
+ */
|
|
|
+ function loadTown(curTown) {
|
|
|
+ var cityId = $("#city option:selected").attr("cityId");
|
|
|
+ if (typeof (cityId) != "undefined" && cityId * 1 > 0) {
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ dataType: 'json',
|
|
|
+ data: {'cityId': cityId},
|
|
|
+ url: '/area/loadTown',
|
|
|
+ success: function (data) {
|
|
|
+ $("#s2id_town .select2-chosen").html("区");
|
|
|
+ $("#town").html("");
|
|
|
+ $("#town").append("<option value='' >区</option>");
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ if (curTown != null && typeof (curTown) != "undefined" && curTown == data[i].name) {
|
|
|
+ $("#town").append("<option value='" + data[i].name + "' selected townId=" + data[i].id + ">" + data[i].name + "</option>");
|
|
|
+ $("#s2id_town .select2-chosen").html(curTown);
|
|
|
+ } else {
|
|
|
+ $("#town").append("<option value='" + data[i].name + "' townId=" + data[i].id + ">" + data[i].name + "</option>");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ $("#town").html("");
|
|
|
+ $(".select2-chosen").eq(4).html("区");
|
|
|
+ $("#town").append("<option value=''>区</option>");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param obj
|
|
|
+ * jquery控制input只能输入数字和两位小数
|
|
|
+ */
|
|
|
+ function num(obj) {
|
|
|
+ obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
|
|
|
+ obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字
|
|
|
+ obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个, 清除多余的
|
|
|
+ obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
|
|
|
+ obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
|
|
|
+ }
|
|
|
+
|
|
|
+ function Idcheck(val) {
|
|
|
+ var c = val;
|
|
|
+ console.log(c);
|
|
|
+ if (1 === c) {
|
|
|
+ $("#yyzz").hide();
|
|
|
+ $("#sfz").show();
|
|
|
+ $("#gsmc").hide();
|
|
|
+ } else {
|
|
|
+ $("#gsmc").show();
|
|
|
+ $("#sfz").hide();
|
|
|
+ $("#yyzz").show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+</script>
|
|
|
+</body>
|
|
|
+<head>
|
|
|
+ <title>二手商品管理</title>
|
|
|
+ <meta name="decorator" content="default"/>
|
|
|
+ <script type="text/javascript">
|
|
|
+ $(document).ready(function () {
|
|
|
+ //$("#name").focus();订单来源
|
|
|
+
|
|
|
+ //获取是否是选中状态
|
|
|
+ var check = $("#detailTalk").is(':checked');
|
|
|
+ if (check) {
|
|
|
+ $("#detailTalkFlag").val(2);
|
|
|
+ } else {
|
|
|
+ $("#detailTalkFlag").val(1);
|
|
|
+ }
|
|
|
+
|
|
|
+ $("#inputForm").validate({
|
|
|
+ submitHandler: function (form) {
|
|
|
+
|
|
|
+ // 验证填写参数
|
|
|
+ var payStatus = $('#payStatus').val();
|
|
|
+ if (payStatus == 2) {
|
|
|
+ var payAmount = $("#payAmount").val();
|
|
|
+ // (验证付款金额)
|
|
|
+ if (payAmount == "" || payAmount == null) {
|
|
|
+ alertx('请填写付款金额');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var secondHandType = $("input[name ='secondHandType']:checked").val();
|
|
|
+ if (secondHandType == 2) {
|
|
|
+ var maturityYears = $("#maturityYears").val();
|
|
|
+ // (验证到期时期)
|
|
|
+ if (maturityYears == null || maturityYears == "") {
|
|
|
+ alertx('请输入产品到期日');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //(验证临期价格信息)
|
|
|
+ var normalPrice = $("#normalPrice").val();
|
|
|
+ if (null == normalPrice || normalPrice == "") {
|
|
|
+ alertx('请输入市场价');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ //
|
|
|
+ var originalPrice = $("#originalPrice").val();
|
|
|
+ if (null == originalPrice || originalPrice == "") {
|
|
|
+ alertx('请输入采购价/原价');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ var stock = $("#stock").val();
|
|
|
+ if (null == stock || stock == "") {
|
|
|
+ alertx('请输入采购价/原价');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ loading('正在提交,请稍等...');
|
|
|
+ form.submit();
|
|
|
+ },
|
|
|
+ errorContainer: "#messageBox",
|
|
|
+ errorPlacement: function (error, element) {
|
|
|
+ $("#messageBox").text("输入有误,请先更正。");
|
|
|
+ if (element.is(":checkbox") || element.is(":radio") || element.parent().is(".input-append")) {
|
|
|
+ error.appendTo(element.parent().parent());
|
|
|
+ } else {
|
|
|
+ error.insertAfter(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ $(document).ready(function () {
|
|
|
+ changeCostPriceShow();
|
|
|
+ });
|
|
|
+
|
|
|
+ function detailTalkFlagCheckd() {
|
|
|
+ //获取是否是选中状态
|
|
|
+ var check = $("#detailTalk").is(':checked');
|
|
|
+ if (check) {
|
|
|
+ $("#detailTalkFlag").val(2);
|
|
|
+ } else {
|
|
|
+ $("#detailTalkFlag").val(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @param obj
|
|
|
+ * jquery控制input只能输入数字
|
|
|
+ */
|
|
|
+ function onlynum(obj) {
|
|
|
+ obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
|
|
|
+// alertx("排序值只能填写大于等于1的整数!");
|
|
|
+ }
|
|
|
+
|
|
|
+ function onLine() {
|
|
|
+ // 设置已上架
|
|
|
+ $("#validFlag").val("2")
|
|
|
+ }
|
|
|
+
|
|
|
+ // 是否固定成本
|
|
|
+ function changeCostPriceShow() {
|
|
|
+ var costCheckFlag = $("input[name='costCheckFlag']:checked").val();
|
|
|
+ if (costCheckFlag * 1 === 1) {
|
|
|
+ $(".costPriceShow").show();
|
|
|
+ $(".costPropShow").hide();
|
|
|
+ } else {
|
|
|
+ $(".costPriceShow").hide();
|
|
|
+ $(".costPropShow").show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ </script>
|
|
|
+ <style>
|
|
|
+
|
|
|
+ </style>
|
|
|
+</head>
|
|
|
+</html>
|
|
|
+
|