<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
    <th:block th:include="include :: header('新增卡种信息')"/>
    <th:block th:include="include :: datetimepicker-css"/>
    <th:block th:include="include :: image-upload-css"/>
    <!-- 自定义 CSS -->
    <style>
        /* 修改文本域的背景颜色和文字颜色 */
        .note-editable {
            background-color: black !important; /* 黑色背景 */
            color: white !important; /* 白色文字 */
        }
    </style>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
    <form class="form-horizontal m" id="form-information-add">
        <div class="col-xs-12">
            <div class="form-group">
                <label class="col-sm-2 control-label is-required">名称：</label>
                <div class="col-sm-4">
                    <input name="name" class="form-control" type="text" maxlength="20" required>
                </div>
                <label class="col-sm-2 control-label is-required">类型：</label>
                <div class="col-sm-4">
                    <select name="type" class="form-control" th:with="type=${@dict.getType('site_type')}" required>
                        <option th:each="dict : ${type}" th:text="${dict.dictLabel}"
                                th:value="${dict.dictValue}"></option>
                    </select>
                </div>
            </div>
        </div>
        <div class="col-xs-12">
            <div class="form-group">
                <label class="col-sm-2 control-label is-required">可用次数：</label>
                <div class="col-sm-4">
                    <input name="totalNumber" class="form-control" type="number" min="0" step="1" maxlength="8"
                           required>
                </div>
                <label class="col-sm-2 control-label is-required">原价格：</label>
                <div class="col-sm-4">
                    <input name="originalPrice" class="form-control" type="number" min="0" step="0.01" maxlength="8"
                           required>
                </div>
            </div>
        </div>
        <div class="col-xs-12">
            <div class="form-group">
                <!--<label class="col-sm-2 control-label is-required">会员价格：</label>
                <div class="col-sm-4">
                    <input name="memberPrice" class="form-control" type="number" min="0" step="0.01" maxlength="8" required>
                </div>-->
                <label class="col-sm-2 control-label is-required">单次积分：</label>
                <div class="col-sm-4">
                    <input name="point" class="form-control" type="number" min="0" step="1" maxlength="8" required>
                </div>
            </div>
        </div>
        <div class="col-xs-12">
            <div class="form-group">
                <label class="col-sm-2 control-label">使用规则：</label>
                <div class="col-sm-8">
                    <input name="notes" class="form-control" type="hidden" maxlength="255">
                    <div class="summernote" id="notes"></div>
                </div>
            </div>
        </div>
        <div class="col-xs-12">
            <div class="form-group">
                <label class="col-sm-2 control-label is-required">图片：</label>
                <div class="col-sm-8">
                    <div id="image-upload-container"></div>
                </div>
            </div>
        </div>
    </form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<th:block th:include="include :: summernote-js"/>
<th:block th:include="include :: image-upload-js"/>
<th:block th:include="include :: summernote-css"/>
<script th:inline="javascript">
    var prefix = ctx + "information"
    $("#form-information-add").validate({
        focusCleanup: true,
        rules: {
            originalPrice: {
                required: true, // 必填
                digits: true, // 必须为整数
                min: 1 // 最小值为1，确保为正整数
            },
            file: {
                required: true, // 必填
            }
        },
        messages: {
            originalPrice: {
                required: "原价格不能为空",
                digits: "原价格必须为整数",
                min: "原价格必须大于0"
            },
            file: {
                required: "图片不能为空",
            }
        }
    });

    function submitHandler() {
        var uploadInstance = $('#image-upload-container').data('imageUpload');

        // 检查是否有上传组件实例
        if (uploadInstance) {
            var uploadedFiles = uploadInstance.getFiles();
            console.log('已上传的图片:', uploadedFiles);

            // 如果需要封面必填
            if (uploadedFiles.length === 0) {
                $.modal.alertWarning("请上传封面图片");
                return false;
            }

            // 将图片URL数组转换为逗号分隔的字符串
            var imageUrls = uploadedFiles.join(',');
            console.log('图片URL字符串:', imageUrls);

            // 注意：图片上传组件已经通过 addHiddenField 方法添加了隐藏字段
            // 我们不需要再次添加，只需要确保所有图片都已被收集
            // 组件会自动处理隐藏字段
        } else {
            // 如果没有上传组件实例，直接检查是否有隐藏字段
            var existingImages = $('#form-competition-add input[name="competitionImg"]').map(function() {
                return $(this).val();
            }).get().filter(function(val) {
                return val && val.trim() !== '';
            });

            if (existingImages.length === 0) {
                $.modal.alertWarning("请上传封面图片");
                return false;
            }
        }
        if ($.validate.form()) {
            const originalPrice = parseInt(document.getElementsByName("originalPrice")[0].value);
            // const memberPrice = parseInt(document.getElementsByName("memberPrice")[0].value);
            // if (memberPrice>originalPrice){
            //     alert("会员价格不能大于原价格")
            // }else {
            $.operate.save(prefix + "/add", $('#form-information-add').serialize());
            // }
        }
    }

    $("input[name='expirationDate']").datetimepicker({
        format: "yyyy-mm-dd",
        minView: "month",
        autoclose: true
    });


    $(function () {
        $('.summernote').summernote({
            lang: 'zh-CN',
            dialogsInBody: true,
            height: 150,
            callbacks: {
                onChange: function (contents, $edittable) {
                    $("input[name='" + this.id + "']").val(contents);
                },
                onImageUpload: function (files) {
                    var obj = this;
                    var data = new FormData();
                    data.append("file", files[0]);
                    $.ajax({
                        type: "post",
                        url: ctx + "common/upload",
                        data: data,
                        cache: false,
                        contentType: false,
                        processData: false,
                        dataType: 'json',
                        success: function (result) {
                            if (result.code == web_status.SUCCESS) {
                                $('#' + obj.id).summernote('insertImage', result.url);
                            } else {
                                $.modal.alertError(result.msg);
                            }
                        },
                        error: function (error) {
                            $.modal.alertWarning("图片上传失败。");
                        }
                    });
                }
            }
        });
        // 初始化图片上传组件
        $('#image-upload-container').imageUpload({
            uploadUrl: ctx + "common/upload",
            maxFiles: 1,
            maxSize: 5 * 1024 * 1024,
            allowedTypes: ['image/jpeg', 'image/png'],
            previewWidth: 200,
            previewHeight: 150,
            inputName: 'file'
        });
    });
</script>
</body>
</html>
