Browse Source

质量问题查询页面新增

zhangjie 1 năm trước cách đây
mục cha
commit
39845afdab

+ 8 - 0
src/mock/index.js

@@ -251,6 +251,14 @@ const menusList = [
     sort: 1,
     name: 'IssuesFeedback',
   },
+  {
+    id: 51,
+    title: '质量问题查询',
+    parentId: 31,
+    url: '/project-quality/project-quality-manage/issues-query',
+    sort: 2,
+    name: 'IssuesQuery',
+  },
   {
     id: 33,
     title: '用户管理',

+ 12 - 0
src/router/modules/projectQuality.js

@@ -30,6 +30,18 @@ export default {
             sort: 1,
           },
         },
+        {
+          name: 'IssuesQuery',
+          path: '/project-quality/project-quality-manage/issues-query',
+          component: () =>
+            import(
+              '@/views/project-quality/project-quality-manage/issues-query/index.vue'
+            ),
+          meta: {
+            title: '质量问题查询',
+            sort: 1,
+          },
+        },
       ],
     },
   ],

+ 1 - 1
src/views/project-quality/project-quality-manage/issues-feedback/index.vue

@@ -28,7 +28,7 @@
   </div>
 </template>
 
-<script setup lang="jsx" name="DispatchManage">
+<script setup lang="jsx" name="IssuesFeedback">
 import { reactive, ref } from 'vue';
 import { useRequest } from 'vue-request';
 import { getTableData } from '@/api/test';

+ 146 - 0
src/views/project-quality/project-quality-manage/issues-query/index.vue

@@ -0,0 +1,146 @@
+<template>
+  <div class="issues-feedback flex flex-col h-full">
+    <SearchForm :fields="fields" :params="params"></SearchForm>
+    <div class="flex-1 page-wrap">
+      <t-table
+        size="small"
+        row-key="id"
+        :columns="columns"
+        :data="tableData"
+        bordered
+        :pagination="{
+          defaultCurrent: 1,
+          defaultPageSize: 10,
+          onChange,
+          total: pagination.total,
+        }"
+        :selected-row-keys="selectedRowKeys"
+        select-on-row-click
+        @select-change="selectChange"
+      >
+      </t-table>
+    </div>
+  </div>
+</template>
+
+<script setup lang="jsx" name="IssuesQuery">
+import { reactive, ref } from 'vue';
+import { useRequest } from 'vue-request';
+import { getTableData } from '@/api/test';
+import useFetchTable from '@/hooks/useFetchTable';
+
+const selectedRowKeys = ref([]);
+const selectChange = (value, { selectedRowData }) => {
+  selectedRowKeys.value = value;
+};
+
+const columns = [
+  {
+    colKey: 'row-select',
+    type: 'multiple',
+    width: 50,
+    fixed: 'left',
+  },
+  { colKey: 'a', title: '质量问题编号' },
+  { colKey: 'b', title: '项目单号' },
+  { colKey: 'c', title: '客户类型' },
+  { colKey: 'd', title: '客户名称' },
+  { colKey: 'e', title: '实施产品' },
+  { colKey: 'f', title: '问题简要' },
+  { colKey: 'g', title: '责任人' },
+  { colKey: 'h', title: '问题类型' },
+  { colKey: 'i', title: '问题归因' },
+  { colKey: 'j', title: '影响度' },
+  { colKey: 'k', title: '提交人' },
+  { colKey: 'l', title: '提交时间' },
+];
+
+const fields = ref([
+  {
+    prop: 'a',
+    label: '服务单元',
+    type: 'select',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'b',
+    label: '责任人',
+    type: 'select',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'c',
+    label: '问题类型',
+    type: 'select',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'd',
+    label: '问题归因',
+    type: 'select',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    type: 'buttons',
+    colSpan: 3,
+    children: [
+      {
+        type: 'button',
+        text: '查询',
+      },
+    ],
+  },
+  {
+    prop: 'e',
+    label: '影响度',
+    type: 'select',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'f',
+    label: '客户名称',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'g',
+    label: '质量问题编号',
+    labelWidth: 100,
+    colSpan: 5,
+  },
+  {
+    prop: 'h',
+    label: '提交时间',
+    type: 'daterange',
+    labelWidth: 100,
+    colSpan: 9,
+  },
+]);
+const params = reactive({
+  a: '',
+  b: '',
+  c: '',
+  d: '',
+  e: '',
+  f: '',
+  g: '',
+  h: [],
+});
+
+const {
+  loading: tableLoading,
+  pagination,
+  tableData,
+  fetchData,
+  onChange,
+} = useFetchTable(getTableData);
+
+const refresh = async () => {};
+</script>
+
+<style></style>