|
|
@@ -18,6 +18,32 @@
|
|
|
>
|
|
|
<el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
|
|
|
</el-input>
|
|
|
+
|
|
|
+ <div class="filters-left">
|
|
|
+ <el-radio-group class="filters-item" v-model="applyStatus" size="mini" @change="refreash">
|
|
|
+ <el-radio-button v-for="(item, index) in statusOptions" :key="index" :label="item.value">
|
|
|
+ {{ item.label }}
|
|
|
+ </el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+
|
|
|
+ <el-select
|
|
|
+ size="mini"
|
|
|
+ class="filters-item"
|
|
|
+ v-model="logoWorkflow"
|
|
|
+ placeholder="筛选节点流程"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="refreash"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectLogoWorkflowOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<el-table
|
|
|
:data="tableData"
|
|
|
@@ -29,42 +55,30 @@
|
|
|
cell-class-name="table-cell"
|
|
|
:height="tableHeight"
|
|
|
>
|
|
|
- <el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
|
|
|
- <el-table-column prop="id" label="ID" width="100"> </el-table-column>
|
|
|
- <el-table-column prop="workflow" label="流程" :formatter="workflowFormatter"> </el-table-column>
|
|
|
- <el-table-column prop="country" label="进入国家"> </el-table-column>
|
|
|
- <el-table-column prop="applyRoute" label="申请途径" :formatter="applyRouteFormatter"> </el-table-column>
|
|
|
- <el-table-column prop="pctApplyNo" label="pct申请号"> </el-table-column>
|
|
|
- <el-table-column prop="pctApplyDate" label="pct申请日"> </el-table-column>
|
|
|
- <el-table-column prop="pctPublicNo" label="pct公开号"> </el-table-column>
|
|
|
- <el-table-column prop="pctPublicDate" label="pct公开日"> </el-table-column>
|
|
|
- <el-table-column prop="grantNo" label="授权号"> </el-table-column>
|
|
|
- <el-table-column prop="grantDate" label="授权日"> </el-table-column>
|
|
|
- <el-table-column prop="translateWord" label="翻译字数"> </el-table-column>
|
|
|
- <el-table-column prop="translationLanguage" label="翻译语种"> </el-table-column>
|
|
|
- <el-table-column prop="unitPrice" label="单价/千字"> </el-table-column>
|
|
|
- <el-table-column prop="totalPrice" label="总价"> </el-table-column>
|
|
|
- <el-table-column prop="translationPeriod" label="翻译交期"> </el-table-column>
|
|
|
- <el-table-column prop="decideReply" label="是否决定答复">
|
|
|
+ <el-table-column align="center" type="selection" width="50"> </el-table-column>
|
|
|
+ <el-table-column prop="patent" label="案件状态">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="row.decideReply ? '' : 'info'">{{ row.decideReply }}</el-tag>
|
|
|
+ <el-tag
|
|
|
+ v-if="row.patent && row.patent.applyStatus"
|
|
|
+ :type="applyStatusFormatter(row.patent.applyStatus).type"
|
|
|
+ >{{ applyStatusFormatter(row.patent.applyStatus).label }}</el-tag
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="isClientReady" label="准备答复意见">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-tag :type="row.isClientReady ? '' : 'info'">{{ row.isClientReady }}</el-tag>
|
|
|
- </template>
|
|
|
+ <el-table-column prop="patent.uwNo" min-width="140" label="寰球案号"> </el-table-column>
|
|
|
+ <el-table-column prop="patent.name" min-width="160" label="专利名称"> </el-table-column>
|
|
|
+ <el-table-column prop="workflow" min-width="120" label="当前流程" :formatter="workflowFormatter">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="replyPassed" label="是否通过答复">
|
|
|
- <template slot-scope="{ row }">
|
|
|
- <el-tag :type="row.replyPassed ? '' : 'info'">{{ row.replyPassed }}</el-tag>
|
|
|
- </template>
|
|
|
+ <el-table-column prop="pctApplyDate" label="pct申请日"> </el-table-column>
|
|
|
+ <el-table-column prop="pctApplyNo" label="pct申请号"> </el-table-column>
|
|
|
+ <el-table-column prop="patent.applyDate" min-width="100" label="申请日" :formatter="dateFormatter">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="patent.priorityDate" min-width="100" label="优先权日" :formatter="dateFormatter">
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="registerPayPeriod" label="办登缴费期限"> </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" fixed="right" min-width="150">
|
|
|
+
|
|
|
+ <el-table-column label="操作" align="center" fixed="right" min-width="80">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
|
|
|
- <el-button @click="deleteRow(row)" type="danger" size="mini" plain>删除</el-button>
|
|
|
+ <el-button @click="editRow(row)" type="primary" size="mini" plain>查看详情</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -94,42 +108,33 @@
|
|
|
<script>
|
|
|
import { mapState } from 'vuex';
|
|
|
import pageableTable from '@/mixins/pageableTable';
|
|
|
+import countryPatent from '@/mixins/countryPatent';
|
|
|
|
|
|
export default {
|
|
|
name: 'CountryPatentList',
|
|
|
- mixins: [pageableTable],
|
|
|
+ mixins: [pageableTable, countryPatent],
|
|
|
data() {
|
|
|
return {
|
|
|
multipleMode: false,
|
|
|
search: '',
|
|
|
url: '/countryPatent/all',
|
|
|
downloading: false,
|
|
|
- workflowOptions: [
|
|
|
- { label: '待申请翻译文稿', value: 'APPLY_TRANSLATION' },
|
|
|
- { label: '待上传翻译文稿', value: 'TRANSLATION_DOCUMENTS' },
|
|
|
- { label: '待上传翻译定稿', value: 'FINALIZED_TRANSLATION' },
|
|
|
- { label: '待添加供应商', value: 'ADD_SUPPLIERS' },
|
|
|
- { label: '待提交供应商材料', value: 'SUPPLIER_MATERIALS' },
|
|
|
- { label: '待维护案件信息', value: 'MAINTAIN_CASE' },
|
|
|
- { label: '待上传答复通知', value: 'REPLY_NOTIFICATION' },
|
|
|
- { label: '待确定答复意向', value: 'DETERMINED_REPLY' },
|
|
|
- { label: '不答复终止', value: 'NO_REPLY' },
|
|
|
- { label: '待上传答复意见书', value: 'UPLOADED_REPLY' },
|
|
|
- { label: '待确定答复结果', value: 'RESPONSE_RESULT' },
|
|
|
- { label: '待办登', value: 'PENDING_REGISTER' },
|
|
|
- { label: '授权办登', value: 'AUTHORIZE_REGISTER' },
|
|
|
- { label: '待维护授权信息', value: 'AUTHORIZATION_INFORMATION' },
|
|
|
- { label: '已完成', value: 'COMPLETED' }
|
|
|
- ],
|
|
|
- applyRouteOptions: [
|
|
|
- { label: 'COUNTRY', value: 'PCT国家阶段' },
|
|
|
- { label: 'SINGLE', value: '巴黎公约' }
|
|
|
- ]
|
|
|
+ applyStatus: 'APPLY_STAGE',
|
|
|
+ logoWorkflow: ''
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
selection() {
|
|
|
return this.$refs.table.selection.map(i => i.id);
|
|
|
+ },
|
|
|
+ selectLogoWorkflowOptions() {
|
|
|
+ if (this.applyStatus) {
|
|
|
+ return [...this.statusOptions].find(item => {
|
|
|
+ return item.value === this.applyStatus;
|
|
|
+ })?.workflows;
|
|
|
+ } else {
|
|
|
+ return this.workflowOptions;
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -148,7 +153,13 @@ export default {
|
|
|
return '';
|
|
|
},
|
|
|
beforeGetData() {
|
|
|
- return { search: this.search };
|
|
|
+ return {
|
|
|
+ search: this.search,
|
|
|
+ query: {
|
|
|
+ applyStatus: this.applyStatus,
|
|
|
+ workflow: this.logoWorkflow
|
|
|
+ }
|
|
|
+ };
|
|
|
},
|
|
|
toggleMultipleMode(multipleMode) {
|
|
|
this.multipleMode = multipleMode;
|
|
|
@@ -219,6 +230,10 @@ export default {
|
|
|
this.$message.error(e.error);
|
|
|
}
|
|
|
});
|
|
|
+ },
|
|
|
+ refreash() {
|
|
|
+ this.page = 1;
|
|
|
+ this.getData();
|
|
|
}
|
|
|
}
|
|
|
};
|