panhui 4 years ago
parent
commit
b4e3840c3c

+ 110 - 0
src/main/vue/src/components/domesticPatent/BackSupplier.vue

@@ -0,0 +1,110 @@
+<template>
+    <el-dialog title="上传供应商反馈文件" :visible.sync="show" center width="600px">
+        <el-form
+            hide-required-asterisk
+            :model="form"
+            :rules="rules"
+            ref="form"
+            label-width="140px"
+            style="padding-right: 130px"
+        >
+            <el-form-item label="专利提交稿" prop="attachment1">
+                <attachment-upload
+                    v-model="form.attachment1"
+                    :fileSize.sync="form.attachment1.size"
+                ></attachment-upload>
+            </el-form-item>
+
+            <el-form-item label="电子申请回执" prop="attachment2">
+                <attachment-upload
+                    v-model="form.attachment2"
+                    :fileSize.sync="form.attachment2.size"
+                ></attachment-upload>
+            </el-form-item>
+            <el-form-item prop="attachment3" label="供应商请款单">
+                <attachment-upload
+                    v-model="form.attachment3"
+                    :fileSize.sync="form.attachment3.size"
+                ></attachment-upload>
+            </el-form-item>
+
+            <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: {
+                attachment1: { attachmentName: '专利提交稿', fileName: '', url: '', remark: '', size: '' },
+                attachment2: { attachmentName: '电子申请回执', fileName: '', url: '', remark: '', size: '' },
+                attachment3: { attachmentName: '供应商请款单', fileName: '', url: '', remark: '', size: '' }
+            },
+            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'
+                },
+                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 };
+
+            this.$emit('uploadAttement', this.form.attachment1);
+            this.$emit('uploadAttement', this.form.attachment2);
+            this.$emit('uploadAttement', this.form.attachment3);
+            info.workflow = 'MAINTAIN_CASE';
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>

+ 75 - 0
src/main/vue/src/components/domesticPatent/MaintainCase.vue

@@ -0,0 +1,75 @@
+<template>
+    <el-dialog title="维护案件信息" :visible.sync="show" center width="600px">
+        <el-form
+            hide-required-asterisk
+            :model="form"
+            :rules="rules"
+            ref="form"
+            label-width="140px"
+            style="padding-right: 130px"
+        >
+            <el-form-item prop="applyNo" label="国内专利申请号">
+                <el-input v-model="form.applyNo" placeholder="请输入"></el-input>
+            </el-form-item>
+            <el-form-item prop="applyDate" label="国内专利申请日">
+                <el-date-picker v-model="form.applyDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期">
+                </el-date-picker>
+            </el-form-item>
+
+            <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: {},
+            show: false,
+            rules: {
+                applyNo: { required: true, message: '请输入国内专利申请号', trigger: 'blur' },
+                applyDate: { required: true, message: '请选择国内专利申请日', trigger: 'change' }
+            },
+            supplierPartnerIdOptions: []
+        };
+    },
+    methods: {
+        onSubmit() {
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            let info = { ...this.info };
+            info.applyNo = this.form.applyNo;
+            info.applyDate = this.form.applyDate;
+
+            info.workflow = 'PENDING_REVIEW';
+
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>
+<style lang="less" scoped>
+.el-select {
+    width: 100%;
+}
+.el-date-editor.el-input {
+    width: 100%;
+}
+</style>

+ 103 - 0
src/main/vue/src/components/domesticPatent/Reply.vue

@@ -0,0 +1,103 @@
+<template>
+    <el-dialog title="上传答复通知" :visible.sync="show" center width="600px">
+        <el-form
+            hide-required-asterisk
+            :model="form"
+            :rules="rules"
+            ref="form"
+            label-width="140px"
+            style="padding-right: 130px"
+        >
+            <el-form-item prop="officialPeriod" label="官方期限">
+                <el-date-picker
+                    v-model="form.officialPeriod"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期"
+                >
+                </el-date-picker>
+            </el-form-item>
+            <el-form-item prop="submitPeriod" label="内部期限">
+                <el-date-picker
+                    v-model="form.submitPeriod"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期"
+                >
+                </el-date-picker>
+            </el-form-item>
+            <el-form-item label="通知书官文" prop="attachment1">
+                <attachment-upload
+                    v-model="form.attachment1"
+                    :fileSize.sync="form.attachment1.size"
+                ></attachment-upload>
+            </el-form-item>
+
+            <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: {
+                attachment1: { attachmentName: '通知书官文', fileName: '', url: '', remark: '', size: '' }
+            },
+            show: false,
+            rules: {
+                attachment1: {
+                    validator: (rule, value, callback) => {
+                        if (!value.url) {
+                            callback(new Error('请上传通知书官文'));
+                        } else {
+                            callback();
+                        }
+                    },
+                    trigger: 'change'
+                },
+                officialPeriod: { required: true, message: '请选择官方期限', trigger: 'change' },
+                submitPeriod: { required: true, message: '请选择内部期限', trigger: 'change' }
+            }
+        };
+    },
+    methods: {
+        onSubmit() {
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            let info = { ...this.info };
+
+            this.$emit('uploadAttement', this.form.attachment1);
+            info.officialPeriod = this.form.officialPeriod;
+            info.submitPeriod = this.form.submitPeriod;
+            info.workflow = 'MAINTAIN_CASE';
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>
+<style lang="less" scoped>
+.el-select {
+    width: 100%;
+}
+.el-date-editor.el-input {
+    width: 100%;
+}
+</style>