Ver Fonte

国内申请

panhui há 4 anos atrás
pai
commit
9a66e1472a

+ 123 - 0
src/main/vue/src/components/domesticPatent/AnnualFee.vue

@@ -0,0 +1,123 @@
+<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="annualFee" label="金额">
+                <el-input-number type="number" v-model="form.annualFee"></el-input-number>
+            </el-form-item>
+            <el-form-item prop="feePaymentPeriod" label="支付期限">
+                <el-date-picker
+                    v-model="form.feePaymentPeriod"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期"
+                >
+                </el-date-picker>
+            </el-form-item>
+            <el-form-item prop="bill" label="账单">
+                <el-input v-model="form.bill"></el-input>
+            </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'
+                },
+                annualFee: { required: true, message: '请输入金额', trigger: 'change' },
+                feePaymentPeriod: { required: true, message: '请选择支付期限', trigger: 'blur' },
+                bill: { required: true, message: '请输入账单', trigger: 'change' }
+            },
+            supplierPartnerIdOptions: []
+        };
+    },
+    created() {
+        this.$http
+            .post('/partner/all', { size: 1000, query: { del: false, type: 'SUPPLIER' } }, { body: 'json' })
+            .then(res => {
+                if (res.content.length > 0) {
+                    this.supplierPartnerIdOptions = res.content.map(item => {
+                        return {
+                            label: item.name,
+                            value: item.id
+                        };
+                    });
+                }
+            })
+            .catch(e => {
+                console.log(e);
+                this.$message.error(e.error);
+            });
+    },
+    methods: {
+        onSubmit() {
+            this.$refs.form.validate(valid => {
+                if (valid) {
+                    this.submit();
+                } else {
+                    return false;
+                }
+            });
+        },
+        submit() {
+            let info = { ...this.info };
+            info.annualFee = this.form.annualFee;
+            info.feePaymentPeriod = this.form.feePaymentPeriod;
+            info.bill = this.form.bill;
+            this.$emit('uploadAttement', this.form.attachment1);
+
+            info.workflow = 'COMPLETED';
+
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>
+<style lang="less" scoped>
+.el-select {
+    width: 100%;
+}
+.el-date-editor.el-input {
+    width: 100%;
+}
+</style>

+ 4 - 1
src/main/vue/src/components/domesticPatent/Register.vue

@@ -87,8 +87,11 @@ export default {
         },
         submit() {
             let info = { ...this.info };
+            info.registerNotice = this.form.registerNotice;
+            info.registerEndDate = this.form.registerEndDate;
+            info.feeRemark = this.form.feeRemark;
             this.$emit('uploadAttement', this.form.attachment1);
-            info.workflow = 'REPLY_RESULT';
+            info.workflow = 'PAYMENT_REGISTER';
             this.$emit('submit', info);
             this.show = false;
         }

+ 90 - 0
src/main/vue/src/components/domesticPatent/RegisterComplate.vue

@@ -0,0 +1,90 @@
+<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>
+                <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: '' }
+            },
+            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'
+                }
+            }
+        };
+    },
+    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);
+            info.workflow = 'ANNUAL_FEE';
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>

+ 85 - 0
src/main/vue/src/components/domesticPatent/RegisterPayment.vue

@@ -0,0 +1,85 @@
+<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="payment">
+                <el-radio-group v-model="form.payment">
+                    <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.payment">
+                <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: {
+                payment: true,
+                attachment1: { attachmentName: '客户付款凭证/截图', fileName: '', url: '', remark: '', size: '' }
+            },
+            show: false,
+            rules: {
+                payment: { required: true, message: '是否已经缴费', trigger: 'change' },
+                attachment1: {
+                    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.payment = this.form.payment;
+            this.$emit('uploadAttement', this.form.attachment1);
+            info.workflow = 'REGISTER';
+            this.$emit('submit', info);
+            this.show = false;
+        }
+    }
+};
+</script>

+ 2 - 1
src/main/vue/src/mixins/domesticPatent.js

@@ -59,7 +59,8 @@ export default {
                 { label: '待办登', value: 'PENDING_REGISTER' },
                 { label: '补充办登信息', value: 'PAYMENT_REGISTER' },
                 { label: '办理登记', value: 'REGISTER' },
-                { label: '待维护年费信息', value: 'ANNUAL_FEE' }
+                { label: '待维护年费信息', value: 'ANNUAL_FEE' },
+                { label: '已完成', value: 'COMPLETED' }
             ],
             typeOptions: [
                 { label: '发明专利', value: 'INVENTION' },

+ 1 - 1
src/main/vue/src/plugins/http.js

@@ -5,7 +5,7 @@ import qs from 'qs';
 let baseUrl = 'http://localhost:8080';
 switch (process.env.NODE_ENV) {
     case 'development':
-        baseUrl = 'http://localhost:8080';
+        baseUrl = 'http://uwip.izouma.com';
         // baseUrl = 'http://192.168.50.127:8080';
         break;
     case 'test':

+ 31 - 2
src/main/vue/src/views/DomesticPatentEdit.vue

@@ -73,6 +73,19 @@
         ></reply-result>
 
         <register ref="register" :info="formData" @submit="submit" @uploadAttement="uploadAttement"></register>
+        <register-payment
+            ref="registerPayment"
+            :info="formData"
+            @submit="submit"
+            @uploadAttement="uploadAttement"
+        ></register-payment>
+        <register-complate
+            ref="registerComplate"
+            :info="formData"
+            @submit="submit"
+            @uploadAttement="uploadAttement"
+        ></register-complate>
+        <annual-fee ref="annualFee" :info="formData" @submit="submit" @uploadAttement="uploadAttement"></annual-fee>
     </div>
 </template>
 <script>
@@ -90,6 +103,9 @@ import ReplyBack from '../components/domesticPatent/ReplyBack.vue';
 import ReplySubmissions from '../components/domesticPatent/replySubmissions.vue';
 import ReplyResult from '../components/domesticPatent/ReplyResult.vue';
 import Register from '../components/domesticPatent/Register.vue';
+import RegisterPayment from '../components/domesticPatent/RegisterPayment.vue';
+import RegisterComplate from '../components/domesticPatent/RegisterComplate.vue';
+import AnnualFee from '../components/domesticPatent/AnnualFee.vue';
 export default {
     name: 'DomesticPatentEdit',
     mixins: [domesticPatent],
@@ -113,7 +129,11 @@ export default {
             return this.workflowFormatter('', '', this.formData.workflow);
         },
         user() {
-            if (this.formData.workflow === 'PENDING_REVIEW') {
+            if (
+                this.formData.workflow === 'PENDING_REVIEW' ||
+                this.formData.workflow === 'PAYMENT_REGISTER' ||
+                this.formData.workflow === 'ANNUAL_FEE'
+            ) {
                 return '客户经理';
             } else if (this.formData.workflow === 'REPLY_SUBMISSIONS') {
                 if (this.formData.isClientReady) {
@@ -228,6 +248,12 @@ export default {
                 this.$refs.replyResult.show = true;
             } else if (this.formData.workflow === 'PENDING_REGISTER') {
                 this.$refs.register.show = true;
+            } else if (this.formData.workflow === 'PAYMENT_REGISTER') {
+                this.$refs.registerPayment.show = true;
+            } else if (this.formData.workflow === 'REGISTER') {
+                this.$refs.registerComplate.show = true;
+            } else if (this.formData.workflow === 'ANNUAL_FEE') {
+                this.$refs.annualFee.show = true;
             }
         }
     },
@@ -244,7 +270,10 @@ export default {
         ReplyBack,
         ReplySubmissions,
         ReplyResult,
-        Register
+        Register,
+        RegisterPayment,
+        RegisterComplate,
+        AnnualFee
     }
 };
 </script>