panhui 5 years ago
parent
commit
7d7f079f52
1 changed files with 159 additions and 0 deletions
  1. 159 0
      src/main/vue/src/components/logoPatent/Dismiss.vue

+ 159 - 0
src/main/vue/src/components/logoPatent/Dismiss.vue

@@ -0,0 +1,159 @@
+<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>