Pārlūkot izejas kodu

客户个人主页

zhangchuang 1 dienu atpakaļ
vecāks
revīzija
bc347c28b8

+ 50 - 45
src/views/user/PatentApplicationRecords.vue

@@ -25,10 +25,14 @@
         <el-form-item label="创建时间">
           <el-date-picker
             v-model="queryForm.createTime"
-            type="date"
-            placeholder="选择日期"
-            style="width: 200px"
-          ></el-date-picker>
+            format="YYYY/MM/DD"
+            value-format="YYYY-MM-DD"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            style="width: 220px"
+          />
         </el-form-item>
 
         <el-form-item>
@@ -71,7 +75,7 @@
           <el-select
             v-model="queryForm.patentType"
             placeholder="请选择专利类型"
-            style="width: 200px"
+            style="width: 240px"
           >
             <el-option
               v-for="item in patents_type"
@@ -96,20 +100,23 @@
         :prop="field.key"
         :label="field.label"
       />
-      <el-table-column label="操作" width="180">
+      <el-table-column label="操作" width="300">
         <template v-slot="scope">
-          <el-button @click="handleEdit(scope.row)" size="small"
-            >编辑</el-button
-          >
-          <el-button
-            @click="handleDelete(scope.row)"
-            size="small"
-            style="color: red"
-            >删除</el-button
-          >
+          <el-button type="primary" text size="small">查看</el-button>
+          <el-button type="primary" text size="small">补充资料上传</el-button>
+          <el-button type="primary" text size="small">文件下载</el-button>
         </template>
       </el-table-column>
     </el-table>
+    <div class="pagination">
+      <el-pagination
+        v-model:current-page="currentPage"
+        v-model:page-size="pageSize"
+        layout="prev, pager, next, jumper"
+        :total="total"
+        @current-change="handleCurrentChange"
+      />
+    </div>
   </div>
 </template>
 
@@ -121,14 +128,14 @@ import { useDictStore } from "@/store/modules/useDictStore/index";
 const queryForm = ref<any>({
   patentsName: "",
   applicationNumber: "",
-  createTime: "",
+  createTime: [],
   legislationStatus: "",
   paymentStatus: "",
   patentType: "",
 });
 
 const currentPage = ref(1);
-const pageSize = ref(10);
+const pageSize = ref(5);
 const total = ref(0);
 const tableData = ref([]);
 
@@ -140,31 +147,27 @@ const patents_type = dictStore.dictData.patents_type;
 
 // 定义所有字段的配置项
 const fieldsConfig = ref([
-  { key: "patentsName", label: "专利名称", visible: true }, // 专利名称
-  { key: "applicationNumber", label: "申请号", visible: true }, // 申请号
-  { key: "applicationDate", label: "申请日", visible: true }, // 申请日
-  { key: "internalCaseNumber", label: "内部案号", visible: true }, // 内部案号
-  { key: "technologyName", label: "技术对接人", visible: true }, // 技术对接人
-  { key: "auditOfOfficialDeadlines", label: "审意官方绝限期", visible: true }, // 审意官方绝限期
-  { key: "patentRemarks", label: "专利备注", visible: true }, // 专利备注
-  { key: "patentee", label: "专利权人", visible: false }, // 专利权人
-  { key: "firstDeviseName", label: "发明人", visible: false }, // 发明人
-  { key: "patentType", label: "专利类型", visible: false }, // 专利类型
-  { key: "patentStatus", label: "专利进度", visible: false }, // 专利进度
-  { key: "legislationStatus", label: "法律状态", visible: false }, // 法律状态
-  { key: "paymentStatus", label: "年费缴纳", visible: false }, // 年费缴纳
-  { key: "priorityReview", label: "优先审查", visible: false }, // 优先审查
-  { key: "agency", label: "代理机构", visible: false }, // 代理机构
-  { key: "involvingTechnicalRoutes", label: "涉及技术路线", visible: false }, // 涉及技术路线
-  { key: "logs", label: "日志", visible: false }, // 日志
-  // 可根据需要添加更多字段
+  { key: "applicationNumber", label: "申请号/专利号", visible: true },
+  { key: "patentsName", label: "专利名称", visible: true },
+  { key: "createTime", label: "申请日期", visible: true },
+  { key: "patentsName", label: "专利类型", visible: true },
+  { key: "", label: "当前状态", visible: true },
+  { key: "auditStatus", label: "审查状态", visible: true },
+  { key: "legislationStatus", label: "法律状态", visible: true },
+  { key: "paymentStatus", label: "年费缴纳状态", visible: true },
 ]);
 
 const pageInit = async () => {
   const data = {
     pageSize: pageSize.value,
     pageNumber: currentPage.value,
-    ...queryForm.value,
+    patentsName: queryForm.value.patentsName,
+    applicationNumber: queryForm.value.applicationNumber,
+    legislationStatus: queryForm.value.legislationStatus,
+    paymentStatus: queryForm.value.paymentStatus,
+    patentType: queryForm.value.patentType,
+    beginTime: queryForm.value.createTime[0],
+    endTime: queryForm.value.createTime[1],
   };
   const res = (await getPatentApplicationList(data)) as unknown as any;
   tableData.value = res.data.list;
@@ -179,7 +182,7 @@ const handleReset = () => {
   queryForm.value = {
     patentsName: "",
     applicationNumber: "",
-    createTime: "",
+    createTime: [],
     legislationStatus: "",
     paymentStatus: "",
     patentType: "",
@@ -187,14 +190,9 @@ const handleReset = () => {
   pageInit();
 };
 
-const handleEdit = (row: any) => {
-  // 编辑逻辑
-  console.log("编辑行:", row);
-};
-
-const handleDelete = (row: any) => {
-  // 删除逻辑
-  console.log("删除行:", row);
+const handleCurrentChange = (val: number) => {
+  currentPage.value = val;
+  pageInit();
 };
 
 onMounted(() => {
@@ -218,4 +216,11 @@ onMounted(() => {
     margin-bottom: 2rem;
   }
 }
+.pagination {
+  width: 100%;
+  margin-top: 12px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>

+ 56 - 96
src/views/user/TechAchievementTransformation.vue

@@ -6,45 +6,22 @@
     <!-- 查询条件 -->
     <el-form :model="queryForm" class="query-form" inline label-width="100px">
       <div style="display: flex; align-items: center">
-        <el-form-item label="专利名称">
+        <el-form-item label="技术成果">
           <el-input
-            v-model="queryForm.patentsName"
-            placeholder="请输入专利名称"
+            v-model="queryForm.technologicalNeedsName"
+            placeholder="请输入技术成果"
             style="width: 200px"
           ></el-input>
         </el-form-item>
 
-        <el-form-item label="申请编号">
-          <el-input
-            v-model="queryForm.applicationNumber"
-            placeholder="请输入申请编号"
-            style="width: 200px"
-          ></el-input>
-        </el-form-item>
-
-        <el-form-item label="创建时间">
-          <el-date-picker
-            v-model="queryForm.createTime"
-            type="date"
-            placeholder="选择日期"
-            style="width: 200px"
-          ></el-date-picker>
-        </el-form-item>
-
-        <el-form-item>
-          <el-button type="primary" @click="handleSearch">查询</el-button>
-        </el-form-item>
-      </div>
-
-      <div style="display: flex; align-items: center; margin-top: 10px">
-        <el-form-item label="法律状态">
+        <el-form-item label="发布状态">
           <el-select
-            v-model="queryForm.legislationStatus"
-            placeholder="请选择法律状态"
+            v-model="queryForm.auditStatus"
+            placeholder="请选择发布状态"
             style="width: 200px"
           >
             <el-option
-              v-for="item in legal_status"
+              v-for="item in review_status"
               :label="item.label"
               :value="item.value"
               :key="item.value"
@@ -52,37 +29,21 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="年费状态">
-          <el-select
-            v-model="queryForm.paymentStatus"
-            placeholder="请选择年费状态"
-            style="width: 200px"
-          >
-            <el-option
-              v-for="item in annual_fee_payment_status"
-              :label="item.label"
-              :value="item.value"
-              :key="item.value"
-            />
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="专利类型">
-          <el-select
-            v-model="queryForm.patentType"
-            placeholder="请选择专利类型"
-            style="width: 200px"
-          >
-            <el-option
-              v-for="item in patents_type"
-              :label="item.label"
-              :value="item.value"
-              :key="item.value"
-            />
-          </el-select>
+        <el-form-item label="创建时间">
+          <el-date-picker
+            v-model="queryForm.createTime"
+            format="YYYY/MM/DD"
+            value-format="YYYY-MM-DD"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            style="width: 220px"
+          />
         </el-form-item>
 
         <el-form-item>
+          <el-button type="primary" @click="handleSearch">查询</el-button>
           <el-button @click="handleReset">重置</el-button>
         </el-form-item>
       </div>
@@ -96,20 +57,22 @@
         :prop="field.key"
         :label="field.label"
       />
-      <el-table-column label="操作" width="180">
+      <el-table-column label="操作" width="200">
         <template v-slot="scope">
-          <el-button @click="handleEdit(scope.row)" size="small"
-            >编辑</el-button
-          >
-          <el-button
-            @click="handleDelete(scope.row)"
-            size="small"
-            style="color: red"
-            >删除</el-button
-          >
+          <el-button type="primary" text size="small">详情</el-button>
+          <el-button type="primary" text size="small">修改</el-button>
         </template>
       </el-table-column>
     </el-table>
+    <div class="pagination">
+      <el-pagination
+        v-model:current-page="currentPage"
+        v-model:page-size="pageSize"
+        layout="prev, pager, next, jumper"
+        :total="total"
+        @current-change="handleCurrentChange"
+      />
+    </div>
   </div>
 </template>
 
@@ -119,31 +82,26 @@ import { getTechnologyTransferList } from "@/api";
 import { useDictStore } from "@/store/modules/useDictStore/index";
 
 const queryForm = ref<any>({
-  patentsName: "",
-  applicationNumber: "",
-  createTime: "",
-  legislationStatus: "",
-  paymentStatus: "",
-  patentType: "",
+  technologicalNeedsName: "",
+  auditStatus: "",
+  createTime: [],
 });
 
 const currentPage = ref(1);
-const pageSize = ref(10);
+const pageSize = ref(5);
 const total = ref(0);
 const tableData = ref([]);
 
 // 字典
 const dictStore = useDictStore();
-const legal_status = dictStore.dictData.legal_status;
-const annual_fee_payment_status = dictStore.dictData.annual_fee_payment_status;
-const patents_type = dictStore.dictData.patents_type;
+const review_status = dictStore.dictData.review_status;
 
 // 定义所有字段的配置项
 const fieldsConfig = ref([
-  { key: "technologicalNeedsName", label: "科技成果名称", visible: true }, 
+  { key: "technologicalNeedsName", label: "科技成果名称", visible: true },
   { key: "sector", label: "所属行业", visible: true },
-  { key: "maturityLevel", label: "成熟度", visible: true }, 
-  { key: "createTime", label: "发布时间", visible: true }, 
+  { key: "maturityLevel", label: "成熟度", visible: true },
+  { key: "createTime", label: "发布时间", visible: true },
   { key: "auditStatus", label: "发布状态", visible: true },
 ]);
 
@@ -151,7 +109,10 @@ const pageInit = async () => {
   const data = {
     pageSize: pageSize.value,
     pageNumber: currentPage.value,
-    ...queryForm.value,
+    technologicalNeedsName: queryForm.value.technologicalNeedsName,
+    auditStatus: queryForm.value.auditStatus,
+    beginTime: queryForm.value.createTime[0],
+    endTime: queryForm.value.createTime[1],
   };
   const res = (await getTechnologyTransferList(data)) as unknown as any;
   tableData.value = res.data.list;
@@ -164,24 +125,16 @@ const handleSearch = () => {
 
 const handleReset = () => {
   queryForm.value = {
-    patentsName: "",
-    applicationNumber: "",
-    createTime: "",
-    legislationStatus: "",
-    paymentStatus: "",
-    patentType: "",
+    technologicalNeedsName: "",
+    auditStatus: "",
+    createTime: [],
   };
   pageInit();
 };
 
-const handleEdit = (row: any) => {
-  // 编辑逻辑
-  console.log("编辑行:", row);
-};
-
-const handleDelete = (row: any) => {
-  // 删除逻辑
-  console.log("删除行:", row);
+const handleCurrentChange = (val: number) => {
+  currentPage.value = val;
+  pageInit();
 };
 
 onMounted(() => {
@@ -205,4 +158,11 @@ onMounted(() => {
     margin-bottom: 2rem;
   }
 }
+.pagination {
+  width: 100%;
+  margin-top: 12px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>

+ 56 - 94
src/views/user/TechInnovationDemand.vue

@@ -6,45 +6,22 @@
     <!-- 查询条件 -->
     <el-form :model="queryForm" class="query-form" inline label-width="100px">
       <div style="display: flex; align-items: center">
-        <el-form-item label="专利名称">
+        <el-form-item label="需求名称">
           <el-input
-            v-model="queryForm.patentsName"
-            placeholder="请输入专利名称"
+            v-model="queryForm.technologicalNeedsName"
+            placeholder="请输入需求名称"
             style="width: 200px"
           ></el-input>
         </el-form-item>
 
-        <el-form-item label="申请编号">
-          <el-input
-            v-model="queryForm.applicationNumber"
-            placeholder="请输入申请编号"
-            style="width: 200px"
-          ></el-input>
-        </el-form-item>
-
-        <el-form-item label="创建时间">
-          <el-date-picker
-            v-model="queryForm.createTime"
-            type="date"
-            placeholder="选择日期"
-            style="width: 200px"
-          ></el-date-picker>
-        </el-form-item>
-
-        <el-form-item>
-          <el-button type="primary" @click="handleSearch">查询</el-button>
-        </el-form-item>
-      </div>
-
-      <div style="display: flex; align-items: center; margin-top: 10px">
-        <el-form-item label="法律状态">
+        <el-form-item label="发布状态">
           <el-select
-            v-model="queryForm.legislationStatus"
-            placeholder="请选择法律状态"
+            v-model="queryForm.auditStatus"
+            placeholder="请选择发布状态"
             style="width: 200px"
           >
             <el-option
-              v-for="item in legal_status"
+              v-for="item in review_status"
               :label="item.label"
               :value="item.value"
               :key="item.value"
@@ -52,37 +29,21 @@
           </el-select>
         </el-form-item>
 
-        <el-form-item label="年费状态">
-          <el-select
-            v-model="queryForm.paymentStatus"
-            placeholder="请选择年费状态"
-            style="width: 200px"
-          >
-            <el-option
-              v-for="item in annual_fee_payment_status"
-              :label="item.label"
-              :value="item.value"
-              :key="item.value"
-            />
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="专利类型">
-          <el-select
-            v-model="queryForm.patentType"
-            placeholder="请选择专利类型"
-            style="width: 200px"
-          >
-            <el-option
-              v-for="item in patents_type"
-              :label="item.label"
-              :value="item.value"
-              :key="item.value"
-            />
-          </el-select>
+        <el-form-item label="创建时间">
+          <el-date-picker
+            v-model="queryForm.createTime"
+            format="YYYY/MM/DD"
+            value-format="YYYY-MM-DD"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            style="width: 220px"
+          />
         </el-form-item>
 
         <el-form-item>
+          <el-button type="primary" @click="handleSearch">查询</el-button>
           <el-button @click="handleReset">重置</el-button>
         </el-form-item>
       </div>
@@ -96,20 +57,22 @@
         :prop="field.key"
         :label="field.label"
       />
-      <el-table-column label="操作" width="180">
+      <el-table-column label="操作" width="200">
         <template v-slot="scope">
-          <el-button @click="handleEdit(scope.row)" size="small"
-            >编辑</el-button
-          >
-          <el-button
-            @click="handleDelete(scope.row)"
-            size="small"
-            style="color: red"
-            >删除</el-button
-          >
+          <el-button type="primary" text size="small">详情</el-button>
+          <el-button type="primary" text size="small">修改</el-button>
         </template>
       </el-table-column>
     </el-table>
+    <div class="pagination">
+      <el-pagination
+        v-model:current-page="currentPage"
+        v-model:page-size="pageSize"
+        layout="prev, pager, next, jumper"
+        :total="total"
+        @current-change="handleCurrentChange"
+      />
+    </div>
   </div>
 </template>
 
@@ -119,24 +82,19 @@ import { getTechnologyInnovationRequirementsList } from "@/api";
 import { useDictStore } from "@/store/modules/useDictStore/index";
 
 const queryForm = ref<any>({
-  patentsName: "",
-  applicationNumber: "",
-  createTime: "",
-  legislationStatus: "",
-  paymentStatus: "",
-  patentType: "",
+  technologicalNeedsName: "",
+  auditStatus: "",
+  createTime: [],
 });
 
 const currentPage = ref(1);
-const pageSize = ref(10);
+const pageSize = ref(5);
 const total = ref(0);
 const tableData = ref([]);
 
 // 字典
 const dictStore = useDictStore();
-const legal_status = dictStore.dictData.legal_status;
-const annual_fee_payment_status = dictStore.dictData.annual_fee_payment_status;
-const patents_type = dictStore.dictData.patents_type;
+const review_status = dictStore.dictData.review_status;
 
 // 定义所有字段的配置项
 const fieldsConfig = ref([
@@ -151,9 +109,14 @@ const pageInit = async () => {
   const data = {
     pageSize: pageSize.value,
     pageNumber: currentPage.value,
-    ...queryForm.value,
+    technologicalNeedsName: queryForm.value.technologicalNeedsName,
+    auditStatus: queryForm.value.auditStatus,
+    beginTime: queryForm.value.createTime[0],
+    endTime: queryForm.value.createTime[1],
   };
-  const res = (await getTechnologyInnovationRequirementsList(data)) as unknown as any;
+  const res = (await getTechnologyInnovationRequirementsList(
+    data
+  )) as unknown as any;
   tableData.value = res.data.list;
   total.value = res.data.total;
 };
@@ -164,24 +127,16 @@ const handleSearch = () => {
 
 const handleReset = () => {
   queryForm.value = {
-    patentsName: "",
-    applicationNumber: "",
-    createTime: "",
-    legislationStatus: "",
-    paymentStatus: "",
-    patentType: "",
+    technologicalNeedsName: "",
+    auditStatus: "",
+    createTime: [],
   };
   pageInit();
 };
 
-const handleEdit = (row: any) => {
-  // 编辑逻辑
-  console.log("编辑行:", row);
-};
-
-const handleDelete = (row: any) => {
-  // 删除逻辑
-  console.log("删除行:", row);
+const handleCurrentChange = (val: number) => {
+  currentPage.value = val;
+  pageInit();
 };
 
 onMounted(() => {
@@ -205,4 +160,11 @@ onMounted(() => {
     margin-bottom: 2rem;
   }
 }
+.pagination {
+  width: 100%;
+  margin-top: 12px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>

+ 43 - 31
src/views/user/TrademarkRegistrationRecords.vue

@@ -8,7 +8,7 @@
       <div style="display: flex; align-items: center">
         <el-form-item label="商标名称">
           <el-input
-            v-model="queryForm.patentsName"
+            v-model="queryForm.trademarkName"
             placeholder="请输入商标名称"
             style="width: 200px"
           ></el-input>
@@ -25,10 +25,14 @@
         <el-form-item label="创建时间">
           <el-date-picker
             v-model="queryForm.createTime"
-            type="date"
-            placeholder="选择日期"
-            style="width: 200px"
-          ></el-date-picker>
+            format="YYYY/MM/DD"
+            value-format="YYYY-MM-DD"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            style="width: 220px"
+          />
         </el-form-item>
 
         <el-form-item>
@@ -71,7 +75,7 @@
           <el-select
             v-model="queryForm.patentType"
             placeholder="请选择商标类型"
-            style="width: 200px"
+            style="width: 240px"
           >
             <el-option
               v-for="item in patents_type"
@@ -96,23 +100,23 @@
         :prop="field.key"
         :label="field.label"
       />
-      <el-table-column label="操作" width="220">
+      <el-table-column label="操作" width="300">
         <template v-slot="scope">
-          <el-button @click="handleEdit(scope.row)" size="small"
-            >查看</el-button
-          >
-          <el-button @click="handleEdit(scope.row)" size="small"
-            >补充材料</el-button
-          >
-          <el-button
-            @click="handleDelete(scope.row)"
-            size="small"
-            style="color: red"
-            >下载</el-button
-          >
+          <el-button type="primary" text size="small">查看</el-button>
+          <el-button type="primary" text size="small">补充资料上传</el-button>
+          <el-button type="primary" text size="small">文件下载</el-button>
         </template>
       </el-table-column>
     </el-table>
+    <div class="pagination">
+      <el-pagination
+        v-model:current-page="currentPage"
+        v-model:page-size="pageSize"
+        layout="prev, pager, next, jumper"
+        :total="total"
+        @current-change="handleCurrentChange"
+      />
+    </div>
   </div>
 </template>
 
@@ -122,7 +126,7 @@ import { getTrademarkApplicationList } from "@/api";
 import { useDictStore } from "@/store/modules/useDictStore/index";
 
 const queryForm = ref<any>({
-  patentsName: "",
+  trademarkName: "",
   applicationNumber: "",
   createTime: "",
   legislationStatus: "",
@@ -131,7 +135,7 @@ const queryForm = ref<any>({
 });
 
 const currentPage = ref(1);
-const pageSize = ref(10);
+const pageSize = ref(5);
 const total = ref(0);
 const tableData = ref([]);
 
@@ -143,7 +147,7 @@ const patents_type = dictStore.dictData.patents_type;
 
 // 定义所有字段的配置项
 const fieldsConfig = ref([
-  { key: "logoNumber", label: "申请号/注册号", visible: true },
+  { key: "applicationNumber", label: "申请号/注册号", visible: true },
   { key: "trademarkName", label: "商标名称", visible: true },
   { key: "createTime", label: "注册日期", visible: true },
   { key: "logoType", label: "商标类型", visible: true },
@@ -156,7 +160,13 @@ const pageInit = async () => {
   const data = {
     pageSize: pageSize.value,
     pageNumber: currentPage.value,
-    ...queryForm.value,
+    patentsName: queryForm.value.patentsName,
+    applicationNumber: queryForm.value.applicationNumber,
+    legislationStatus: queryForm.value.legislationStatus,
+    paymentStatus: queryForm.value.paymentStatus,
+    patentType: queryForm.value.patentType,
+    beginTime: queryForm.value.createTime[0],
+    endTime: queryForm.value.createTime[1],
   };
   const res = (await getTrademarkApplicationList(data)) as unknown as any;
   tableData.value = res.data.list;
@@ -179,14 +189,9 @@ const handleReset = () => {
   pageInit();
 };
 
-const handleEdit = (row: any) => {
-  // 编辑逻辑
-  console.log("编辑行:", row);
-};
-
-const handleDelete = (row: any) => {
-  // 删除逻辑
-  console.log("删除行:", row);
+const handleCurrentChange = (val: number) => {
+  currentPage.value = val;
+  pageInit();
 };
 
 onMounted(() => {
@@ -210,4 +215,11 @@ onMounted(() => {
     margin-bottom: 2rem;
   }
 }
+.pagination {
+  width: 100%;
+  margin-top: 12px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>