<template>
    <el-dialog title="审查" :visible.sync="show" center width="600px">
        <el-form
            hide-required-asterisk
            :model="form"
            :rules="rules"
            ref="form"
            label-width="120px"
            style="padding-right: 120px;"
        >
            <el-form-item label="是否符合审查要求" prop="reviewRequire">
                <el-radio-group v-model="form.reviewRequire">
                    <el-radio :label="true">
                        是
                    </el-radio>
                    <el-radio :label="false">
                        否
                    </el-radio>
                </el-radio-group>
            </el-form-item>
            <el-form-item label="缴费通知书" prop="attachment1" v-if="form.reviewRequire">
                <div slot="label" style="line-height: 22px;">
                    <div>初步审定公告</div>
                    <div>通知书</div>
                </div>
                <attachment-upload
                    v-model="form.attachment1"
                    :fileSize.sync="form.attachment1.size"
                ></attachment-upload>
            </el-form-item>
            <template v-else>
                <el-form-item label="是否全部驳回" prop="rejectAll">
                    <el-radio-group v-model="form.rejectAll">
                        <el-radio :label="true">
                            全部驳回
                        </el-radio>
                        <el-radio :label="false">
                            部分驳回
                        </el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="驳回建议" prop="rejectContent">
                    <el-input v-model="form.rejectContent" placeholder="请输入" clearable></el-input>
                </el-form-item>
                <el-form-item label="商标驳回通知书" prop="attachment2" v-if="form.rejectAll">
                    <attachment-upload
                        v-model="form.attachment2"
                        :fileSize.sync="form.attachment2.size"
                    ></attachment-upload>
                </el-form-item>
                <el-form-item prop="attachment3" v-else>
                    <div slot="label" style="line-height: 22px;">
                        <div>商标部分驳回</div>
                        <div>通知书</div>
                    </div>
                    <attachment-upload
                        v-model="form.attachment3"
                        :fileSize.sync="form.attachment3.size"
                    ></attachment-upload>
                </el-form-item>
            </template>
            <el-form-item>
                <el-button style="width: 150px;" size="normal" type="primary" @click="onSubmit">提交</el-button>
                <el-button style="width: 120px;" size="normal" @click="show = false">取消</el-button>
            </el-form-item>
        </el-form>
    </el-dialog>
</template>

<script>
import logoPatent from '@/mixins/logoPatent';
export default {
    mixins: [logoPatent],
    props: {
        info: {}
    },
    data() {
        return {
            form: {
                reviewRequire: true,
                attachment1: { attachmentName: '初步审定公告通知书', fileName: '', url: '', remark: '', size: '' },
                attachment2: { attachmentName: '商标驳回通知书', fileName: '', url: '', remark: '', size: '' },
                attachment3: { attachmentName: '商标部分驳回通知书', fileName: '', url: '', remark: '', size: '' },
                rejectAll: true
            },
            show: false,
            rules: {
                attachment1: {
                    validator: (rule, value, callback) => {
                        if (!value.url) {
                            callback(new Error('请上传初步审定公告通知书'));
                        } else {
                            callback();
                        }
                    },
                    trigger: 'change'
                },
                attachment2: {
                    validator: (rule, value, callback) => {
                        if (!value.url) {
                            callback(new Error('请上传商标驳回通知书'));
                        } else {
                            callback();
                        }
                    },
                    trigger: 'change'
                },
                rejectContent: { required: true, message: '请输入驳回建议', trigger: 'blur' },
                attachment3: {
                    validator: (rule, value, callback) => {
                        if (!value.url) {
                            callback(new Error('请上传商标部分驳回通知书'));
                        } else {
                            callback();
                        }
                    },
                    trigger: 'change'
                }
            }
        };
    },
    methods: {
        onSubmit() {
            this.$refs.form.validate(valid => {
                if (valid) {
                    this.submit();
                } else {
                    return false;
                }
            });
        },
        submit() {
            let info = { ...this.info };

            info.reviewRequire = this.form.reviewRequire;

            if (info.reviewRequire) {
                this.$emit('uploadAttement', this.form.attachment1);
                info.logoWorkflow = 'ANNOUNCEMENTS'; //待缴费
            } else {
                info.rejectAll = this.form.rejectAll;
                if (info.rejectAll) {
                    this.$emit('uploadAttement', this.form.attachment2);
                } else {
                    this.$emit('uploadAttement', this.form.attachment3);
                }

                info.logoWorkflow = 'DISMISS';
                info.rejectContent = this.form.rejectContent;
            }

            this.$emit('submit', info);
            this.show = false;
        }
    }
};
</script>

<style></style>
