<!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-edit" th:object="${carInformation}">
            <input name="id" th:field="*{id}" type="hidden">
            <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" th:field="*{name}" class="form-control" type="text" maxlength="20">
                    </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')}">
                            <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{type}"></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" th:field="*{totalNumber}" class="form-control" type="number" min="0" step="1" maxlength="8">
                    </div>
                    <label class="col-sm-2 control-label is-required">原价格：</label>
                    <div class="col-sm-4">
                        <input name="originalPrice" th:field="*{originalPrice}" class="form-control" type="number" min="0" step="0.01" maxlength="8">
                    </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" th:field="*{memberPrice}" class="form-control" type="number" min="0" step="0.01" maxlength="8">
                    </div>-->
                    <label class="col-sm-2 control-label is-required">单次积分：</label>
                    <div class="col-sm-4">
                        <input name="point" th:field="*{point}" class="form-control" type="number" min="0" step="1" maxlength="8">
                    </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">
                        <input name="notes" th:field="*{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 :: summernote-css"/>
    <th:block th:include="include :: image-upload-js"/>
    <script th:inline="javascript">
        var prefix = ctx + "information";
        $("#form-information-edit").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() {
            if ($.validate.form()) {
                // 获取上传组件实例
                var uploadInstance = $('#image-upload-container').data('imageUpload');

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

                    // 检查封面图片是否上传
                    if (uploadedFiles.length === 0) {
                        $.modal.alertWarning("请上传封面图片");
                        return false;
                    }
                    // 组件会自动更新隐藏字段，我们不需要额外处理
                } else {
                    // 如果没有上传组件实例，检查是否有隐藏字段
                    var existingImages = $('#form-competition-edit input[name="file"]').map(function() {
                        return $(this).val();
                    }).get().filter(function(val) {
                        return val && val.trim() !== '';
                    });

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

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


        $(function() {
            $('.summernote').each(function(i) {
                console.log($('#' + this.id))
                $('#' + this.id).summernote({
                    lang: 'zh-CN',
                    dialogsInBody: true,
                    height: 200,
                    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("图片上传失败。");
                                }
                            });
                        }
                    }
                });
                var content = $("input[name='" + this.id + "']").val();
                $('#' + this.id).summernote('code', content);
            })

            // ============ 修复：初始化图片上传组件并回显已有图片 ============
            // 获取已有的封面图片数据（逗号分隔的字符串）
            var imgStr = [[${carInformation.file}]];
            var existingImages = [];

            console.log('原始图片字符串:', imgStr);

            if (imgStr && imgStr.trim() !== '') {
                // 分割逗号分隔的图片字符串
                existingImages = imgStr.split(',').map(function(img) {
                    return img.trim();
                }).filter(function(img) {
                    // 过滤掉空字符串和无效的URL
                    return img !== '' && img !== null && img !== undefined;
                });

                console.log('解析后的图片数组:', existingImages);
                console.log('图片数量:', existingImages.length);
            }

            // 初始化图片上传组件
            var imageUploadConfig = {
                uploadUrl: ctx + "common/upload",
                maxFiles: 1,
                maxSize: 5 * 1024 * 1024,
                allowedTypes: ['image/jpeg', 'image/png'],
                previewWidth: 200,
                previewHeight: 150,
                inputName: 'file'
            };

            // 只有在有图片时才传递 initialFiles
            if (existingImages.length > 0) {
                imageUploadConfig.initialFiles = existingImages;
            }

            console.log('图片上传配置:', imageUploadConfig);

            $('#image-upload-container').imageUpload(imageUploadConfig);

            // 监听事件（可选）
            $('#image-upload-container').on('upload.success', function(e, data) {
                console.log('上传成功:', data.url);
            });

            $('#image-upload-container').on('upload.error', function(e, data) {
                console.error('上传失败:', data.error);
            });

            $('#image-upload-container').on('files.set', function(e, data) {
                console.log('图片已设置:', data.urls);
            });
            // ============ 修复结束 ============
        });
    </script>
</body>
</html>
