Administrator
2026-07-01 31a4b5b1db5d78f8b6557368667b74954a228df5
src/main/resources/templates/febs/views/modules/mallMember/couponSelect.html
@@ -31,10 +31,8 @@
        <div class="layui-form-item">
            <label class="layui-form-label">优惠卷:</label>
            <div class="layui-input-inline">
                <select name="couponId" class="coupon-select-category" id="couponCategarySelect">
                    <option value="">请选择</option>
                </select>
            <div class="layui-input-block">
                <div id="coupon-select-multi"></div>
            </div>
        </div>
@@ -45,7 +43,7 @@
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate','upload'], function () {
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate','upload', 'xmSelect'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
@@ -57,6 +55,7 @@
            adminCouponSelectVo = [[${adminCouponSelectVo}]],
            $view = $('#coupon-select'),
            upload = layui.upload,
            xmSelect = layui.xmSelect,
            validate = layui.validate;
        form.render();
@@ -66,33 +65,69 @@
        formSelects.render();
        //(下拉框)
        $.get(ctx + 'admin/goods/coupon/tree', function (data) {
            for (var k in data)
            {
                $(".coupon-select-category").append("<option value='" + data[k].couponId + "'>" + data[k].couponName + "</option>");
        // 多选优惠券
        var couponMultiSelect = xmSelect.render({
            el: '#coupon-select-multi',
            language: 'zn',
            tips: '请选择优惠券',
            filterable: true,
            data: []
        });
        $.get(ctx + 'admin/goods/coupon/tree', function(data) {
            var options = [];
            for (var k in data) {
                options.push({
                    name: data[k].couponName,
                    value: data[k].couponId
                });
            }
            layui.use('form', function () {
                var form = layui.form;
                $("#couponCategarySelect").val('')
                form.render();
            couponMultiSelect.update({
                data: options,
                autoRow: true
            });
        });
        initUserValue();
        function initUserValue() {
            form.val("coupon-select-form", {
                "id": adminCouponSelectVo.id,
                "id": adminCouponSelectVo.id
            });
        }
        form.on('submit(coupon-select-form-submit)', function (data) {
            febs.post(ctx + 'admin/mallMember/salemanCoupon', data.field, function () {
                layer.closeAll();
                febs.alert.success('操作成功');
                $('#febs-saleman-rule').find('#reset').click();
            var selected = couponMultiSelect.getValue();
            if (!selected || selected.length === 0) {
                febs.alert.warn('请选择优惠券');
                return false;
            }
            var couponIds = [];
            for (var i = 0; i < selected.length; i++) {
                couponIds.push(selected[i].value);
            }
            data.field.couponIds = couponIds;
            $.ajax({
                url: ctx + 'admin/mallMember/salemanCoupon',
                type: 'post',
                dataType: 'json',
                headers: {'Content-Type': 'application/json;charset=utf-8'},
                traditional: true,
                data: JSON.stringify(data.field),
                success: function (res) {
                    if (res.code == 200) {
                        layer.closeAll();
                        febs.alert.success(res.message);
                        $('#febs-saleman-rule').find('#reset').click();
                    } else {
                        febs.alert.warn(res.message);
                    }
                },
                error: function () {
                    febs.alert.warn('服务器繁忙');
                }
            });
            return false;
        });
    });
</script>
</script>