浏览代码

table允许横向滚动,去除postcss相关配置

刘洋 2 年之前
父节点
当前提交
ce690ec91d
共有 50 个文件被更改,包括 291 次插入187 次删除
  1. 0 1
      .eslintrc.cjs
  2. 0 1
      package.json
  3. 17 17
      postcss.config.cjs
  4. 1 0
      src/assets/styles/app.scss
  5. 1 1
      src/assets/styles/element/custom.scss
  6. 4 3
      src/components/shared/MarkHistoryList.vue
  7. 2 0
      src/components/shared/RemarkListModal.vue
  8. 14 11
      src/components/shared/SendBackMark.vue
  9. 8 6
      src/hooks/useVW.ts
  10. 12 12
      src/modules/admin-data/export/index.vue
  11. 1 1
      src/modules/admin-data/imformation-report/index.vue
  12. 1 1
      src/modules/admin-data/paper/components/sample.vue
  13. 1 1
      src/modules/admin-data/task-setting/components/GroupSetting.vue
  14. 1 1
      src/modules/admin-data/task-setting/components/MarkerSetting.vue
  15. 3 3
      src/modules/admin-exam/manage/index.vue
  16. 2 2
      src/modules/admin-role/manage/index.vue
  17. 2 2
      src/modules/admin-subject/manage/index.vue
  18. 2 2
      src/modules/admin-user/manage/hooks/useUserManageTable.ts
  19. 2 0
      src/modules/admin-user/manage/index.vue
  20. 8 6
      src/modules/analysis/group-monitoring-detail/index.vue
  21. 11 9
      src/modules/analysis/group-monitoring/index.vue
  22. 2 0
      src/modules/analysis/marker-statistics/index.vue
  23. 1 1
      src/modules/analysis/marking-progress/components/GroupProgress.vue
  24. 3 1
      src/modules/analysis/marking-progress/components/TotalProgress.vue
  25. 4 0
      src/modules/analysis/monitoring/index.vue
  26. 23 20
      src/modules/analysis/personnel-statistics/components/StatisticsGroup.vue
  27. 6 1
      src/modules/analysis/personnel-statistics/components/StatisticsPersonnel.vue
  28. 5 3
      src/modules/expert/assess/index.vue
  29. 6 4
      src/modules/expert/expert/index.vue
  30. 5 3
      src/modules/expert/sample/index.vue
  31. 15 12
      src/modules/expert/standard/index.vue
  32. 6 4
      src/modules/expert/training/index.vue
  33. 13 11
      src/modules/marking/arbitration/index.vue
  34. 1 1
      src/modules/marking/assess/index.vue
  35. 1 1
      src/modules/marking/inquiry/index.vue
  36. 22 12
      src/modules/marking/problem/index.vue
  37. 8 4
      src/modules/marking/repeat/index.vue
  38. 4 2
      src/modules/marking/similar/index.vue
  39. 1 1
      src/modules/marking/statistics/index.vue
  40. 2 0
      src/modules/marking/training-record/index.vue
  41. 6 3
      src/modules/marking/view-sample/index.vue
  42. 9 6
      src/modules/monitor/system-check/index.vue
  43. 2 0
      src/modules/monitor/training-monitoring-detail/index.vue
  44. 2 0
      src/modules/monitor/training-monitoring/index.vue
  45. 5 2
      src/modules/quality/ending-check/components/EndCheck.vue
  46. 20 8
      src/modules/quality/ending-check/components/SubjectProgress.vue
  47. 2 0
      src/modules/quality/self-check-detail/index.vue
  48. 14 1
      src/modules/quality/self-check/index.vue
  49. 1 1
      src/modules/quality/spot-check/index.vue
  50. 9 5
      src/modules/quality/subjective-check/index.vue

+ 0 - 1
.eslintrc.cjs

@@ -28,7 +28,6 @@ module.exports = {
     'prettier/prettier': ['error'],
     'prettier/prettier': ['error'],
     'vue/v-slot-style': 0,
     'vue/v-slot-style': 0,
     'vue/require-explicit-emits': 0,
     'vue/require-explicit-emits': 0,
-    'vue/html-indent': ['error', 2],
     'vue/multi-word-component-names': 0,
     'vue/multi-word-component-names': 0,
     'vue/component-name-in-template-casing': ['error', 'kebab-case'],
     'vue/component-name-in-template-casing': ['error', 'kebab-case'],
     'vue/one-component-per-file': 0,
     'vue/one-component-per-file': 0,

+ 0 - 1
package.json

@@ -53,7 +53,6 @@
     "eslint-plugin-vue": "^9.5.1",
     "eslint-plugin-vue": "^9.5.1",
     "husky": "^8.0.1",
     "husky": "^8.0.1",
     "lint-staged": "^13.0.3",
     "lint-staged": "^13.0.3",
-    "postcss-px-to-viewport-8-plugin": "1.1.5",
     "prettier": "^2.7.1",
     "prettier": "^2.7.1",
     "sass": "^1.54.9",
     "sass": "^1.54.9",
     "typescript": "^4.6.4",
     "typescript": "^4.6.4",

+ 17 - 17
postcss.config.cjs

@@ -2,22 +2,22 @@ module.exports = {
   plugins: {
   plugins: {
     autoprefixer: {},
     autoprefixer: {},
     ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}),
     ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {}),
-    'postcss-px-to-viewport-8-plugin': {
-      unitToConvert: 'px',
-      viewportWidth: 1680,
-      unitPrecision: 5,
-      propList: ['*'],
-      viewportUnit: 'vw',
-      fontViewportUnit: 'vw',
-      selectorBlackList: ['el-*'],
-      minPixelValue: 1,
-      mediaQuery: false,
-      replace: true,
-      exclude: undefined,
-      include: undefined,
-      landscape: false,
-      landscapeUnit: 'vw',
-      landscapeWidth: undefined,
-    },
+    // 'postcss-px-to-viewport-8-plugin': {
+    //   unitToConvert: 'px',
+    //   viewportWidth: 1680,
+    //   unitPrecision: 5,
+    //   propList: ['*'],
+    //   viewportUnit: 'vw',
+    //   fontViewportUnit: 'vw',
+    //   selectorBlackList: ['el-*'],
+    //   minPixelValue: 1,
+    //   mediaQuery: false,
+    //   replace: true,
+    //   exclude: undefined,
+    //   include: undefined,
+    //   landscape: false,
+    //   landscapeUnit: 'vw',
+    //   landscapeWidth: undefined,
+    // },
   },
   },
 }
 }

+ 1 - 0
src/assets/styles/app.scss

@@ -108,6 +108,7 @@ a {
 
 
 #app {
 #app {
   height: 100%;
   height: 100%;
+  min-width: 1350px;
 }
 }
 
 
 
 

+ 1 - 1
src/assets/styles/element/custom.scss

@@ -152,7 +152,7 @@ button.el-button {
 .el-table--border::before,
 .el-table--border::before,
 .el-table--border .el-table__inner-wrapper::after,
 .el-table--border .el-table__inner-wrapper::after,
 .el-table__inner-wrapper::before {
 .el-table__inner-wrapper::before {
-  display: none;
+  // display: none;
 }
 }
 
 
 .el-table__empty-block {
 .el-table__empty-block {

+ 4 - 3
src/components/shared/MarkHistoryList.vue

@@ -2,7 +2,7 @@
   <scoring-panel-container v-model="visible" class="mark-history-list" title="给分记录" width="600px">
   <scoring-panel-container v-model="visible" class="mark-history-list" title="给分记录" width="600px">
     <template #default>
     <template #default>
       <slot :data="tableData">
       <slot :data="tableData">
-        <base-table highlight-current-row size="small" :data="tableData" :columns="columns"></base-table>
+        <base-table border stripe highlight-current-row size="small" :data="tableData" :columns="columns"></base-table>
       </slot>
       </slot>
     </template>
     </template>
   </scoring-panel-container>
   </scoring-panel-container>
@@ -71,16 +71,17 @@ const tableData = computed(() => {
 
 
 const columns = computed<EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getMarkScoreHistoryListWithTask'>>>[]>(
 const columns = computed<EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getMarkScoreHistoryListWithTask'>>>[]>(
   () => [
   () => [
-    { label: '评卷员', prop: 'markerName' },
+    { label: '评卷员', prop: 'markerName', fixed: 'left' },
     {
     {
       label: `分数${props.showLevel ? '(档次)' : ''}`,
       label: `分数${props.showLevel ? '(档次)' : ''}`,
       prop: 'markScore',
       prop: 'markScore',
+      width: 48,
       formatter(row) {
       formatter(row) {
         return `${row.markScore}${props.showLevel ? `(${row.scoreLevel})` : ''}`
         return `${row.markScore}${props.showLevel ? `(${row.scoreLevel})` : ''}`
       },
       },
     },
     },
     { label: '类型', prop: 'historyType' },
     { label: '类型', prop: 'historyType' },
-    { label: '评卷时间', prop: 'markTime' },
+    { label: '评卷时间', prop: 'markTime', width: 160 },
   ]
   ]
 )
 )
 </script>
 </script>

+ 2 - 0
src/components/shared/RemarkListModal.vue

@@ -2,6 +2,8 @@
   <base-dialog v-model="visible" title="评卷记录" class="remark-list" :width="useVW(800)">
   <base-dialog v-model="visible" title="评卷记录" class="remark-list" :width="useVW(800)">
     <base-table
     <base-table
       v-if="viewType === 'list'"
       v-if="viewType === 'list'"
+      border
+      stripe
       size="small"
       size="small"
       :columns="tableColumns"
       :columns="tableColumns"
       :data="markHistoryList"
       :data="markHistoryList"

+ 14 - 11
src/components/shared/SendBackMark.vue

@@ -1,17 +1,18 @@
 <template>
 <template>
-  <base-dialog v-model="visible" title="打回说明" :footer="false" destroy-on-close>
-    <base-form ref="formRef" :model="model" :items="items" :rules="rules" :label-width="useVW(72)">
-      <el-form-item>
-        <confirm-button @confirm="onSendBack" @cancel="onCancel"></confirm-button>
-      </el-form-item>
-    </base-form>
+  <base-dialog v-model="visible" title="提示" :footer="false" destroy-on-close :width="300">
+    <!-- <base-form ref="formRef" :model="model" :items="items" :rules="rules" :label-width="useVW(72)"> -->
+    <h3 style="margin-bottom: 20px">确定打回吗?</h3>
+    <el-form-item>
+      <confirm-button @confirm="onSendBack" @cancel="onCancel"></confirm-button>
+    </el-form-item>
+    <!-- </base-form> -->
   </base-dialog>
   </base-dialog>
 </template>
 </template>
 
 
 <script setup lang="ts" name="SendBackMark">
 <script setup lang="ts" name="SendBackMark">
 /** 打回弹窗 */
 /** 打回弹窗 */
 import { reactive, withDefaults, watch } from 'vue'
 import { reactive, withDefaults, watch } from 'vue'
-import { ElFormItem } from 'element-plus'
+import { ElFormItem, ElMessage } from 'element-plus'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import BaseDialog from '@/components/element/BaseDialog.vue'
 import BaseForm from '../element/BaseForm.vue'
 import BaseForm from '../element/BaseForm.vue'
 import ConfirmButton from '../common/ConfirmButton.vue'
 import ConfirmButton from '../common/ConfirmButton.vue'
@@ -81,12 +82,14 @@ const ApiMap = {
 const onSendBack = async () => {
 const onSendBack = async () => {
   try {
   try {
     if (!props.id) {
     if (!props.id) {
+      ElMessage.warning('请选先选择一条评卷数据')
       return
       return
     }
     }
-    const valid = await elFormRef?.value?.validate()
-    if (valid) {
-      await ApiMap[props.type]({ description: model.description, reason: model.reason, id: props.id })
-    }
+    // const valid = await elFormRef?.value?.validate()
+    // if (valid) {
+    // await ApiMap[props.type]({ description: model.description, reason: model.reason, id: props.id })
+    await ApiMap[props.type]({ description: '', reason: '', id: props.id })
+    // }
     visible.value = false
     visible.value = false
     emits('rejected')
     emits('rejected')
   } catch (error) {
   } catch (error) {

+ 8 - 6
src/hooks/useVW.ts

@@ -1,14 +1,16 @@
 import { DESIGN_WIDTH } from '@/constants/app'
 import { DESIGN_WIDTH } from '@/constants/app'
 
 
 /** px to vw */
 /** px to vw */
-const useVW = (px: string | number): `${number}vw` => {
-  const pixel = `${px}`.replace(/px$/, '')
-  return `${-((-pixel / DESIGN_WIDTH) * 100).toFixed(5)}vw`
+const useVW = (px: string | number): `${string | number}px` => {
+  // const pixel = `${px}`.replace(/px$/, '')
+  // return `${-((-pixel / DESIGN_WIDTH) * 100).toFixed(5)}vw`
+  return `${px}px`
 }
 }
 
 
-export const usePX = (px: string | number): `${number}px` => {
-  const pixel = `${px}`.replace(/px$/, '')
-  return `${+pixel * (document.documentElement.clientWidth / DESIGN_WIDTH)}px`
+export const usePX = (px: string | number): `${string | number}px` => {
+  // const pixel = `${px}`.replace(/px$/, '')
+  // return `${+pixel * (document.documentElement.clientWidth / DESIGN_WIDTH)}px`
+  return `${px}px`
 }
 }
 
 
 export default useVW
 export default useVW

+ 12 - 12
src/modules/admin-data/export/index.vue

@@ -10,7 +10,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <div class="p-base radius-base fill-blank">
       <div class="p-base radius-base fill-blank">
-        <base-table :columns="columns" :data="data"></base-table>
+        <base-table border stripe :columns="columns" :data="data" size="small"></base-table>
         <el-pagination
         <el-pagination
           v-bind="pagination"
           v-bind="pagination"
           v-model:current-page="currentPage"
           v-model:current-page="currentPage"
@@ -71,17 +71,17 @@ const items = computed<EpFormItem[]>(() => {
 const { pagination, currentPage, loading, data, fetchTable } = useTable('getCetScoreList', model)
 const { pagination, currentPage, loading, data, fetchTable } = useTable('getCetScoreList', model)
 
 
 const columns: EpTableColumn[] = [
 const columns: EpTableColumn[] = [
-  { label: '准考证号', prop: 'examNumber', minWidth: '160' },
-  { label: '科目代码', prop: 'subjectCode' },
-  { label: '作文分', prop: 'compositionScore' },
-  { label: '主观分', prop: 'subjectScore' },
-  { label: '作文评卷员代码', prop: 'compositionMarker' },
-  { label: '作文题评卷标志', prop: 'compositionTag' },
-  { label: '翻译题得分', prop: 'translateScore' },
-  { label: '翻译题评卷员代码', prop: 'translateMarker', minWidth: 100 },
-  { label: '翻译题评卷标志', prop: 'translateTag' },
-  { label: '作文雷同标记', prop: 'compositionSame' },
-  { label: '翻译雷同标记', prop: 'translateSame' },
+  { label: '准考证号', prop: 'examNumber', minWidth: '160', fixed: 'left' },
+  { label: '科目代码', prop: 'subjectCode', width: 90 },
+  { label: '作文分', prop: 'compositionScore', width: 70 },
+  { label: '主观分', prop: 'subjectScore', width: 70 },
+  { label: '作文评卷员代码', prop: 'compositionMarker', width: 110 },
+  { label: '作文题评卷标志', prop: 'compositionTag', width: 110 },
+  { label: '翻译题得分', prop: 'translateScore', width: 90 },
+  { label: '翻译题评卷员代码', prop: 'translateMarker', minWidth: 120 },
+  { label: '翻译题评卷标志', prop: 'translateTag', width: 110 },
+  { label: '作文雷同标记', prop: 'compositionSame', width: 90 },
+  { label: '翻译雷同标记', prop: 'translateSame', width: 90 },
 ]
 ]
 
 
 const onSearch = async () => {
 const onSearch = async () => {

+ 1 - 1
src/modules/admin-data/imformation-report/index.vue

@@ -10,7 +10,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <div class="p-base radius-base fill-blank">
       <div class="p-base radius-base fill-blank">
-        <base-table ref="tableRef" :columns="columns" :data="data">
+        <base-table ref="tableRef" border stripe :columns="columns" :data="data" size="small">
           <template #column-operation="{ row }">
           <template #column-operation="{ row }">
             <el-link v-if="!!row.filePath" download target="_blank" type="primary" :href="row.filePath">下载</el-link>
             <el-link v-if="!!row.filePath" download target="_blank" type="primary" :href="row.filePath">下载</el-link>
             <el-popconfirm
             <el-popconfirm

+ 1 - 1
src/modules/admin-data/paper/components/sample.vue

@@ -70,7 +70,7 @@ const model = reactive<ExtractApiParams<'importSamplePaper'>>({
   mainNumber: void 0,
   mainNumber: void 0,
   paperType: 'SAMPLE_A',
   paperType: 'SAMPLE_A',
   prefix: '',
   prefix: '',
-  separator: '',
+  separator: ',',
   subjectCode: '',
   subjectCode: '',
 })
 })
 
 

+ 1 - 1
src/modules/admin-data/task-setting/components/GroupSetting.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <base-table size="small" height="100%" :columns="columns" :data="taskDetail"></base-table>
+  <base-table border stripe size="small" height="100%" :columns="columns" :data="taskDetail"></base-table>
 </template>
 </template>
 
 
 <script setup lang="ts" name="GroupSetting">
 <script setup lang="ts" name="GroupSetting">

+ 1 - 1
src/modules/admin-data/task-setting/components/MarkerSetting.vue

@@ -1,5 +1,5 @@
 <template>
 <template>
-  <base-table size="small" height="100%" :columns="columns" :data="userList?.result"></base-table>
+  <base-table border stripe size="small" height="100%" :columns="columns" :data="userList?.result"></base-table>
 </template>
 </template>
 
 
 <script setup lang="ts" name="MarkerSetting">
 <script setup lang="ts" name="MarkerSetting">

+ 3 - 3
src/modules/admin-exam/manage/index.vue

@@ -10,7 +10,7 @@
     </div>
     </div>
     <div class="p-base">
     <div class="p-base">
       <div class="p-base fill-blank">
       <div class="p-base fill-blank">
-        <base-table :data="data" :columns="columns">
+        <base-table border stripe :data="data" :columns="columns" size="small">
           <template #column-operation="{ row }">
           <template #column-operation="{ row }">
             <el-button type="primary" link @click="onEdit(row)">编辑</el-button>
             <el-button type="primary" link @click="onEdit(row)">编辑</el-button>
             <el-popconfirm
             <el-popconfirm
@@ -73,8 +73,8 @@ const columns: EpTableColumn<ExtractMultipleApiResponse<'getExamList'>>[] = [
   { prop: 'id', label: 'ID' },
   { prop: 'id', label: 'ID' },
   { prop: 'name', label: '考试名称' },
   { prop: 'name', label: '考试名称' },
   { prop: 'enable', label: '状态', formatter: (row) => (row.enable ? '启用' : '禁用') },
   { prop: 'enable', label: '状态', formatter: (row) => (row.enable ? '启用' : '禁用') },
-  { prop: 'updateTime', label: '更新时间' },
-  { label: '操作', slotName: 'operation' },
+  { prop: 'updateTime', label: '更新时间', width: 190 },
+  { label: '操作', slotName: 'operation', width: 180 },
 ]
 ]
 
 
 /** 查询 */
 /** 查询 */

+ 2 - 2
src/modules/admin-role/manage/index.vue

@@ -6,7 +6,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <el-card table>
       <el-card table>
-        <base-table :columns="columns" :data="roleList">
+        <base-table border stripe :columns="columns" :data="roleList" size="small">
           <template #column-operation="{ row }">
           <template #column-operation="{ row }">
             <el-button v-if="row.code !== 'ADMIN'" type="primary" link @click="onEdit(row)">编辑</el-button>
             <el-button v-if="row.code !== 'ADMIN'" type="primary" link @click="onEdit(row)">编辑</el-button>
           </template>
           </template>
@@ -38,7 +38,7 @@ const columns: EpTableColumn[] = [
   { label: '角色', prop: 'roleName' },
   { label: '角色', prop: 'roleName' },
   { label: '更新人', prop: 'updaterName' },
   { label: '更新人', prop: 'updaterName' },
   { label: '更新时间', prop: 'updateTime' },
   { label: '更新时间', prop: 'updateTime' },
-  { label: '操作', slotName: 'operation' },
+  { label: '操作', slotName: 'operation', width: 100 },
 ]
 ]
 
 
 const { fetch, result: roleList, loading } = useFetch('getRoleList')
 const { fetch, result: roleList, loading } = useFetch('getRoleList')

+ 2 - 2
src/modules/admin-subject/manage/index.vue

@@ -8,7 +8,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <el-card shadow="never">
       <el-card shadow="never">
-        <base-table size="small" :columns="columns" :data="data">
+        <base-table border stripe size="small" :columns="columns" :data="data">
           <template #column-operation="{ row }">
           <template #column-operation="{ row }">
             <el-button type="primary" link @click="onEdit(row)">编辑</el-button>
             <el-button type="primary" link @click="onEdit(row)">编辑</el-button>
             <el-popconfirm
             <el-popconfirm
@@ -93,7 +93,7 @@ const columns: EpTableColumn<ExtractMultipleApiResponse<'getSubjectList'>>[] = [
   { label: '主观分', prop: 'subjectiveScore' },
   { label: '主观分', prop: 'subjectiveScore' },
   { label: '客观分', prop: 'objectiveScore' },
   { label: '客观分', prop: 'objectiveScore' },
   { label: '试卷总分', prop: 'totalScore' },
   { label: '试卷总分', prop: 'totalScore' },
-  { label: '操作', slotName: 'operation' },
+  { label: '操作', slotName: 'operation', width: 180 },
 ]
 ]
 
 
 async function onSearch() {
 async function onSearch() {

+ 2 - 2
src/modules/admin-user/manage/hooks/useUserManageTable.ts

@@ -20,8 +20,8 @@ const useUserManageTable = (model?: ModelType<'getUserList'>) => {
       },
       },
     },
     },
     { label: '更新人', prop: 'updaterName' },
     { label: '更新人', prop: 'updaterName' },
-    { label: '更新时间', prop: 'updateTime' },
-    { label: '操作', slotName: 'operation', showOverflowTooltip: false, minWidth: 80 },
+    { label: '更新时间', prop: 'updateTime', width: 160 },
+    { label: '操作', slotName: 'operation', showOverflowTooltip: false, width: 180 },
   ]
   ]
 
 
   return {
   return {

+ 2 - 0
src/modules/admin-user/manage/index.vue

@@ -61,6 +61,8 @@
         </div>
         </div>
         <base-table
         <base-table
           ref="tableRef"
           ref="tableRef"
+          border
+          stripe
           size="small"
           size="small"
           :columns="columns"
           :columns="columns"
           :data="data"
           :data="data"

+ 8 - 6
src/modules/analysis/group-monitoring-detail/index.vue

@@ -14,7 +14,7 @@
           <vue-echarts class="full" :option="markerObjectiveChartsOption"></vue-echarts>
           <vue-echarts class="full" :option="markerObjectiveChartsOption"></vue-echarts>
         </div>
         </div>
       </div>
       </div>
-      <div class="flex direction-column flex-1 p-extra-small">
+      <div class="flex direction-column flex-1 p-extra-small" style="width: 720px">
         <div class="flex items-center justify-between detail-info-table-header">
         <div class="flex items-center justify-between detail-info-table-header">
           <el-button custom-1 size="small" class="detail-info-label">
           <el-button custom-1 size="small" class="detail-info-label">
             <span class="">{{ dataType }}试卷总数:</span>
             <span class="">{{ dataType }}试卷总数:</span>
@@ -33,6 +33,8 @@
         <div class="flex-1 scroll-auto">
         <div class="flex-1 scroll-auto">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -126,14 +128,14 @@ const { tableRef, current, onCurrentChange, tableData, next } = useTableCheck(da
 
 
 /** 抽查详情表格配置 */
 /** 抽查详情表格配置 */
 const tableColumn: EpTableColumn<ExtractMultipleApiResponse<'getGroupMonitorDetail'>>[] = [
 const tableColumn: EpTableColumn<ExtractMultipleApiResponse<'getGroupMonitorDetail'>>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
   { label: '评卷员', prop: 'markerName' },
   { label: '评卷员', prop: 'markerName' },
-  { label: '给分', prop: 'markerScore' },
-  { label: '组长给分', prop: 'headerScore' },
+  { label: '给分', prop: 'markerScore', width: 50 },
+  { label: '组长给分', prop: 'headerScore', width: 70 },
   { label: '客观分', prop: 'objectiveScore' },
   { label: '客观分', prop: 'objectiveScore' },
   { label: '客主比', prop: 'headerRatio' },
   { label: '客主比', prop: 'headerRatio' },
   { label: '分档', prop: 'scoreLevel' },
   { label: '分档', prop: 'scoreLevel' },
-  { label: '评卷时间', prop: 'markTime' },
+  { label: '评卷时间', prop: 'markTime', width: 150 },
 ]
 ]
 
 
 const { fetch: getStatisticObjectiveByMarker, result: objectiveByMarker } = useFetch('getStatisticObjectiveByMarker')
 const { fetch: getStatisticObjectiveByMarker, result: objectiveByMarker } = useFetch('getStatisticObjectiveByMarker')
@@ -340,6 +342,6 @@ fetchTable()
   }
   }
 }
 }
 .paper-mark-record {
 .paper-mark-record {
-  width: 340px;
+  width: 390px;
 }
 }
 </style>
 </style>

+ 11 - 9
src/modules/analysis/group-monitoring/index.vue

@@ -8,8 +8,8 @@
       </base-form>
       </base-form>
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
-      <div class="radius-base p-l-base p-r-base p-t-mini fill-blank">
-        <base-table size="small" :columns="columns" :data="result"></base-table>
+      <div class="radius-base p-l-base p-r-base p-t-mini fill-blank p-b-mini">
+        <base-table border stripe size="small" :columns="columns" :data="result"></base-table>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
@@ -35,16 +35,17 @@ const { model, formModel, items, onOptionInit } = useFormFilter()
 const { loading, fetch: getGroupMonitor, result } = useFetch('getGroupMonitor')
 const { loading, fetch: getGroupMonitor, result } = useFetch('getGroupMonitor')
 
 
 const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getGroupMonitor'>>>[] = [
 const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getGroupMonitor'>>>[] = [
-  { label: '组长', prop: 'markingGroupLeader' },
-  { label: '已浏览系统抽查卷数', prop: 'sysCheckCount' },
-  { label: '已给分系统抽查卷数', prop: 'sysCheckReScoreCount' },
-  { label: '已浏览问题卷数', prop: 'problemCount' },
-  { label: '已给分问题卷数', prop: 'problemReScoreCount' },
-  { label: '已浏览自定义抽查卷数', prop: 'customCheckCount' },
-  { label: '已给分自定义抽查卷数', prop: 'customCheckReScoreCount' },
+  { label: '组长', prop: 'markingGroupLeader', fixed: 'left' },
+  { label: '已浏览系统抽查卷数', prop: 'sysCheckCount', width: 140 },
+  { label: '已给分系统抽查卷数', prop: 'sysCheckReScoreCount', width: 140 },
+  { label: '已浏览问题卷数', prop: 'problemCount', width: 110 },
+  { label: '已给分问题卷数', prop: 'problemReScoreCount', width: 110 },
+  { label: '已浏览自定义抽查卷数', prop: 'customCheckCount', width: 140 },
+  { label: '已给分自定义抽查卷数', prop: 'customCheckReScoreCount', width: 140 },
   {
   {
     label: '已浏览试卷总数',
     label: '已浏览试卷总数',
     prop: 'totalCount',
     prop: 'totalCount',
+    width: 110,
     formatter(row) {
     formatter(row) {
       return (
       return (
         <ElButton type="primary" link onClick={() => viewMonitoringDetail(row, 'VIEW')}>
         <ElButton type="primary" link onClick={() => viewMonitoringDetail(row, 'VIEW')}>
@@ -56,6 +57,7 @@ const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getGroupMonit
   {
   {
     label: '已给分试卷总数',
     label: '已给分试卷总数',
     prop: 'totalReScoreCount',
     prop: 'totalReScoreCount',
+    width: 110,
     formatter(row) {
     formatter(row) {
       return (
       return (
         <ElButton type="primary" link onClick={() => viewMonitoringDetail(row, 'MARK')}>
         <ElButton type="primary" link onClick={() => viewMonitoringDetail(row, 'MARK')}>

+ 2 - 0
src/modules/analysis/marker-statistics/index.vue

@@ -19,6 +19,8 @@
           <div class="flex-1 overflow-hidden fill-blank m-b-base table-box">
           <div class="flex-1 overflow-hidden fill-blank m-b-base table-box">
             <base-table
             <base-table
               size="small"
               size="small"
+              border
+              stripe
               height="100%"
               height="100%"
               :columns="columns"
               :columns="columns"
               :data="subjectTableData"
               :data="subjectTableData"

+ 1 - 1
src/modules/analysis/marking-progress/components/GroupProgress.vue

@@ -6,7 +6,7 @@
         <el-button type="primary" custom-1 @click="onExport">导出</el-button>
         <el-button type="primary" custom-1 @click="onExport">导出</el-button>
       </template>
       </template>
     </base-form>
     </base-form>
-    <base-table :columns="columns" :data="result"></base-table>
+    <base-table border stripe :columns="columns" :data="result"></base-table>
   </div>
   </div>
 </template>
 </template>
 
 

+ 3 - 1
src/modules/analysis/marking-progress/components/TotalProgress.vue

@@ -6,6 +6,8 @@
         <div class="p-t-base p-b-extra-small table-title">整体进度</div>
         <div class="p-t-base p-b-extra-small table-title">整体进度</div>
         <div class="flex-1 overflow-hidden">
         <div class="flex-1 overflow-hidden">
           <base-table
           <base-table
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             highlight-current-row
             highlight-current-row
@@ -32,7 +34,7 @@
         </span>
         </span>
       </div>
       </div>
       <div class="flex-1 overflow-hidden">
       <div class="flex-1 overflow-hidden">
-        <base-table size="small" height="100%" :columns="groupColumns" :data="groupProgressData">
+        <base-table border stripe size="small" height="100%" :columns="groupColumns" :data="groupProgressData">
           <template #empty>暂无数据</template>
           <template #empty>暂无数据</template>
         </base-table>
         </base-table>
       </div>
       </div>

+ 4 - 0
src/modules/analysis/monitoring/index.vue

@@ -17,6 +17,8 @@
             <div class="p-base card-title">{{ card.title }}</div>
             <div class="p-base card-title">{{ card.title }}</div>
             <div class="p-l-extra-base p-r-mini p-b-extra-small flex-1 overflow-hidden">
             <div class="p-l-extra-base p-r-mini p-b-extra-small flex-1 overflow-hidden">
               <base-table
               <base-table
+                border
+                stripe
                 v-bind="getTableProps(card.hasAll)"
                 v-bind="getTableProps(card.hasAll)"
                 size="small"
                 size="small"
                 height="100%"
                 height="100%"
@@ -35,6 +37,8 @@
         <div class="m-b-mini card-title">系统监控</div>
         <div class="m-b-mini card-title">系统监控</div>
         <base-table
         <base-table
           v-if="activeCard"
           v-if="activeCard"
+          border
+          stripe
           size="small"
           size="small"
           :columns="getColumns(activeCard.valueLabel)"
           :columns="getColumns(activeCard.valueLabel)"
           :data="sortableResult[activeCard.dataField]"
           :data="sortableResult[activeCard.dataField]"

+ 23 - 20
src/modules/analysis/personnel-statistics/components/StatisticsGroup.vue

@@ -2,6 +2,8 @@
   <div class="p-small radius-base fill-blank">
   <div class="p-small radius-base fill-blank">
     <base-table
     <base-table
       ref="tableRef"
       ref="tableRef"
+      border
+      stripe
       size="small"
       size="small"
       :columns="columns"
       :columns="columns"
       :data="tableData"
       :data="tableData"
@@ -43,7 +45,8 @@ const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getStatistics
   {
   {
     label: '小组',
     label: '小组',
     prop: 'markingGroupNumber',
     prop: 'markingGroupNumber',
-    width: usePX(52),
+    width: 52,
+    fixed: 'left',
     formatter(row) {
     formatter(row) {
       return row.markingGroupNumber === 0 ? '全部' : `${row.markingGroupNumber}`
       return row.markingGroupNumber === 0 ? '全部' : `${row.markingGroupNumber}`
     },
     },
@@ -51,30 +54,30 @@ const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getStatistics
   {
   {
     label: '评卷员',
     label: '评卷员',
     prop: 'markerName',
     prop: 'markerName',
-    minWidth: usePX(84),
+    minWidth: 84,
     slotName: 'marker',
     slotName: 'marker',
     formatter(row) {
     formatter(row) {
       return row.markingGroupNumber === 0 ? '题组' : `第${row.markingGroupNumber}组`
       return row.markingGroupNumber === 0 ? '题组' : `第${row.markingGroupNumber}组`
     },
     },
   },
   },
-  { align: 'center', label: '评卷份数', prop: 'markingPaperCount', width: usePX(72) },
-  { align: 'center', label: '客观题0分量', prop: 'objectiveZero', width: usePX(84) },
-  { align: 'center', label: '客观平均分', prop: 'objectiveAvg', width: usePX(76) },
-  { align: 'center', label: '客观标准差', prop: 'objectiveStd', width: usePX(76) },
-  { align: 'center', label: '重评/待确认', prop: 'reMarkUnConfirmCount', width: usePX(106) },
-  { align: 'center', label: '抽查量', prop: 'checkCount', width: usePX(52) },
-  { align: 'center', label: '抽查改正量', prop: 'checkCorrectCount', width: usePX(76) },
-  { align: 'center', label: '相关系数', prop: 'xyRelate', width: usePX(64) },
-  { align: 'center', label: '平均分', prop: 'avg', width: usePX(52) },
-  { align: 'center', label: '标准差', prop: 'std', width: usePX(52) },
-  { align: 'center', label: '近5分钟最高分', prop: 'scoreTop', width: usePX(96) },
-  { align: 'center', label: '近5分钟最低分', prop: 'scoreLow', width: usePX(96) },
-  { align: 'center', label: '近5分钟客主比', prop: 'objSubRate', width: usePX(96) },
-  { align: 'center', label: '平均客主比', prop: 'objSubAvgRate', width: usePX(76) },
-  { align: 'center', label: '在线', prop: 'online', width: usePX(40) },
-  { align: 'center', label: '状态', prop: 'markingStatus', width: usePX(40) },
-  { align: 'center', label: '速度', prop: 'markingRate', width: usePX(40) },
-  { align: 'center', label: '综合系数', prop: 'integration', width: usePX(64) },
+  { align: 'center', label: '评卷份数', prop: 'markingPaperCount', width: 72 },
+  { align: 'center', label: '客观题0分量', prop: 'objectiveZero', width: 100 },
+  { align: 'center', label: '客观平均分', prop: 'objectiveAvg', width: 90 },
+  { align: 'center', label: '客观标准差', prop: 'objectiveStd', width: 80 },
+  { align: 'center', label: '重评/待确认', prop: 'reMarkUnConfirmCount', width: 100 },
+  { align: 'center', label: '抽查量', prop: 'checkCount', width: 70 },
+  { align: 'center', label: '抽查改正量', prop: 'checkCorrectCount', width: 90 },
+  { align: 'center', label: '相关系数', prop: 'xyRelate', width: 70 },
+  { align: 'center', label: '平均分', prop: 'avg', width: 60 },
+  { align: 'center', label: '标准差', prop: 'std', width: 60 },
+  { align: 'center', label: '近5分钟最高分', prop: 'scoreTop', width: 100 },
+  { align: 'center', label: '近5分钟最低分', prop: 'scoreLow', width: 100 },
+  { align: 'center', label: '近5分钟客主比', prop: 'objSubRate', width: 100 },
+  { align: 'center', label: '平均客主比', prop: 'objSubAvgRate', width: 90 },
+  { align: 'center', label: '在线', prop: 'online', width: 46 },
+  { align: 'center', label: '状态', prop: 'markingStatus', width: 46 },
+  { align: 'center', label: '速度', prop: 'markingRate', width: 46 },
+  { align: 'center', label: '综合系数', prop: 'integration', width: 70 },
 ]
 ]
 
 
 const data = computed(() => {
 const data = computed(() => {

+ 6 - 1
src/modules/analysis/personnel-statistics/components/StatisticsPersonnel.vue

@@ -2,6 +2,8 @@
   <div class="p-small radius-base fill-blank">
   <div class="p-small radius-base fill-blank">
     <base-table
     <base-table
       ref="tableRef"
       ref="tableRef"
+      border
+      stripe
       size="small"
       size="small"
       :data="tableData"
       :data="tableData"
       :columns="columns"
       :columns="columns"
@@ -79,13 +81,16 @@ const columns: EpTableColumn<ExtractArrayValue<ExtractApiResponse<'getStatistics
     label: '小组',
     label: '小组',
     prop: 'markingGroupNumber',
     prop: 'markingGroupNumber',
     width: usePX(52),
     width: usePX(52),
+    fixed: 'left',
     formatter(row) {
     formatter(row) {
       return row.markingGroupNumber === 0 ? '全部' : `第${row.markingGroupNumber}组`
       return row.markingGroupNumber === 0 ? '全部' : `第${row.markingGroupNumber}组`
     },
     },
   },
   },
   { label: '评卷员', prop: 'markerName', minWidth: usePX(84), slotName: 'marker' },
   { label: '评卷员', prop: 'markerName', minWidth: usePX(84), slotName: 'marker' },
   { align: 'center', label: '评卷份数', prop: 'markingPaperCount', width: usePX(72) },
   { align: 'center', label: '评卷份数', prop: 'markingPaperCount', width: usePX(72) },
-  { align: 'center', label: '客观题0分量', prop: 'objectiveZero', width: usePX(84) },
+  { align: 'center', label: '当日可阅', prop: 'markDayCount', width: usePX(72) },
+  { align: 'center', label: '剩余可阅', prop: 'todoMarkDayCount', width: usePX(72) },
+  { align: 'center', label: '客观题0分量', prop: 'objectiveZero', width: usePX(100) },
   { align: 'center', label: '客观平均分', prop: 'objectiveAvg', width: usePX(76) },
   { align: 'center', label: '客观平均分', prop: 'objectiveAvg', width: usePX(76) },
   { align: 'center', label: '客观标准差', prop: 'objectiveStd', width: usePX(76) },
   { align: 'center', label: '客观标准差', prop: 'objectiveStd', width: usePX(76) },
   { align: 'center', label: '重评/待确认', prop: 'reMarkUnConfirmCount', width: usePX(106) },
   { align: 'center', label: '重评/待确认', prop: 'reMarkUnConfirmCount', width: usePX(106) },

+ 5 - 3
src/modules/expert/assess/index.vue

@@ -33,9 +33,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData?.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData?.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -194,10 +196,10 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
   { label: '序号', type: 'index' },
   { label: '序号', type: 'index' },
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100 },
   { label: '标准分', prop: 'score' },
   { label: '标准分', prop: 'score' },
   { label: '分组', prop: 'forceGroupNumber' },
   { label: '分组', prop: 'forceGroupNumber' },
-  { label: '提交时间', prop: 'createTime' },
+  { label: '提交时间', prop: 'createTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getExpertAssessList, result: rfSampleList, loading } = useFetch('getExpertAssessList')
 const { fetch: getExpertAssessList, result: rfSampleList, loading } = useFetch('getExpertAssessList')

+ 6 - 4
src/modules/expert/expert/index.vue

@@ -33,9 +33,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData?.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData?.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -253,11 +255,11 @@ const formItems = computed<EpFormItem[]>(() => {
 
 
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
   { label: '序号', type: 'index' },
   { label: '序号', type: 'index' },
-  { label: '密号', prop: 'secretNumber' },
-  { label: '标准分', prop: 'score' },
+  { label: '密号', prop: 'secretNumber', width: 100 },
+  { label: '标准分', prop: 'score', width: 60 },
   { label: '提交人', prop: 'createName' },
   { label: '提交人', prop: 'createName' },
   { label: '角色', prop: 'roleName' },
   { label: '角色', prop: 'roleName' },
-  { label: '提交时间', prop: 'createTime' },
+  { label: '提交时间', prop: 'createTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getExpertPickList, result: expertPaperList, loading } = useFetch('getExpertPickList')
 const { fetch: getExpertPickList, result: expertPaperList, loading } = useFetch('getExpertPickList')

+ 5 - 3
src/modules/expert/sample/index.vue

@@ -33,9 +33,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -171,11 +173,11 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 /** RF卷 */
 /** RF卷 */
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
   { label: '分数', prop: 'score' },
   { label: '分数', prop: 'score' },
   { label: '档次', prop: 'scoreLevel' },
   { label: '档次', prop: 'scoreLevel' },
   { label: '提交人', prop: 'createName' },
   { label: '提交人', prop: 'createName' },
-  { label: '提交时间', prop: 'createTime' },
+  { label: '提交时间', prop: 'createTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getRfSampleList, result: rfSampleList, loading } = useFetch('getRfSampleList')
 const { fetch: getRfSampleList, result: rfSampleList, loading } = useFetch('getRfSampleList')

+ 15 - 12
src/modules/expert/standard/index.vue

@@ -25,16 +25,19 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto"></div>
-        <base-table
-          ref="tableRef"
-          size="small"
-          height="100%"
-          :data="tableData"
-          :columns="columns"
-          highlight-current-row
-          @current-change="onCurrentChange"
-        ></base-table>
+        <div class="flex-1 scroll-auto m-t-mini">
+          <base-table
+            ref="tableRef"
+            border
+            stripe
+            size="small"
+            height="100%"
+            :data="tableData"
+            :columns="columns"
+            highlight-current-row
+            @current-change="onCurrentChange"
+          ></base-table>
+        </div>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
@@ -159,10 +162,10 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 /** 标准卷列表 */
 /** 标准卷列表 */
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
   { label: '分数', prop: 'score' },
   { label: '分数', prop: 'score' },
   { label: '提交人', prop: 'createName' },
   { label: '提交人', prop: 'createName' },
-  { label: '提交时间', prop: 'createTime' },
+  { label: '提交时间', prop: 'createTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getStandardList, result: standardList, loading } = useFetch('getStandardList')
 const { fetch: getStandardList, result: standardList, loading } = useFetch('getStandardList')

+ 6 - 4
src/modules/expert/training/index.vue

@@ -31,9 +31,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -163,10 +165,10 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
   { label: '序号', type: 'index' },
   { label: '序号', type: 'index' },
-  { label: '密号', prop: 'secretNumber' },
-  { label: '标准分', prop: 'score' },
+  { label: '密号', prop: 'secretNumber', width: 100 },
+  { label: '标准分', prop: 'score', width: 60 },
   { label: '分组', prop: 'type' },
   { label: '分组', prop: 'type' },
-  { label: '提交时间', prop: 'createTime' },
+  { label: '提交时间', prop: 'createTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getSampleList, result: sampleList, loading } = useFetch('getSampleList')
 const { fetch: getSampleList, result: sampleList, loading } = useFetch('getSampleList')

+ 13 - 11
src/modules/marking/arbitration/index.vue

@@ -38,9 +38,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-y-auto">
+        <div class="flex-1 scroll-y-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -179,17 +181,17 @@ const formItems = computed<EpFormItem[]>(() => [
 /** 查询仲裁卷列表 */
 /** 查询仲裁卷列表 */
 
 
 const columns: EpTableColumn[] = [
 const columns: EpTableColumn[] = [
-  { label: '密号', prop: 'secretNumber', width: 45 },
-  { label: '客观分', prop: 'objectiveScore', width: 45 },
-  { label: '组员给分', prop: 'markerScore', width: 45 },
-  { label: '组员', prop: 'markerName', width: 60 },
-  { label: '组员客主比', prop: 'markerRatio', width: 45 },
-  { label: '小组长给分', prop: 'deputyScore', width: 45 },
-  { label: '小组长', prop: 'deputyName', width: 60 },
-  { label: '小组长客主比', prop: 'deputyRatio', width: 45 },
-  { label: '大组长给分', prop: 'chiefScore', width: 45 },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
+  { label: '客观分', prop: 'objectiveScore', width: 60 },
+  { label: '组员给分', prop: 'markerScore', width: 70 },
+  { label: '组员', prop: 'markerName', width: 45 },
+  { label: '组员客主比', prop: 'markerRatio', width: 80 },
+  { label: '小组长给分', prop: 'deputyScore', width: 80 },
+  { label: '小组长', prop: 'deputyName', width: 55 },
+  { label: '小组长客主比', prop: 'deputyRatio', width: 90 },
+  { label: '大组长给分', prop: 'chiefScore', width: 80 },
   { label: '大组长', prop: 'chiefName', width: 60 },
   { label: '大组长', prop: 'chiefName', width: 60 },
-  { label: '大组长客主比', prop: 'chiefRatio', width: 45 },
+  { label: '大组长客主比', prop: 'chiefRatio', width: 90 },
 ]
 ]
 
 
 const { fetch: getArbitrationList, result: arbitrationList, loading } = useFetch('getArbitrationList')
 const { fetch: getArbitrationList, result: arbitrationList, loading } = useFetch('getArbitrationList')

+ 1 - 1
src/modules/marking/assess/index.vue

@@ -37,7 +37,7 @@
         <span>分发进度</span>
         <span>分发进度</span>
         <el-button :loading="tableLoading" size="small" special @click="onSearch">查询</el-button>
         <el-button :loading="tableLoading" size="small" special @click="onSearch">查询</el-button>
       </div>
       </div>
-      <base-table class="flex-1" size="small" :columns="columns" :data="handOutProgressList">
+      <base-table border stripe class="flex-1 m-t-mini" size="small" :columns="columns" :data="handOutProgressList">
         <template #empty>
         <template #empty>
           <empty :image-size="150"></empty>
           <empty :image-size="150"></empty>
         </template>
         </template>

+ 1 - 1
src/modules/marking/inquiry/index.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <div class="p-base full mark-inquiry-view">
   <div class="p-base full mark-inquiry-view">
-    <div class="full radius-base fill-blank p-large">
+    <div class="full radius-base fill-blank p-large scroll-auto">
       <base-form ref="formRef" :disabled="saving" :label-width="useVW(88)" :rules="rules" :items="items" :model="model">
       <base-form ref="formRef" :disabled="saving" :label-width="useVW(88)" :rules="rules" :items="items" :model="model">
         <template #form-item-button-group>
         <template #form-item-button-group>
           <el-button type="primary" @click="onSearch">抽查</el-button>
           <el-button type="primary" @click="onSearch">抽查</el-button>

+ 22 - 12
src/modules/marking/problem/index.vue

@@ -5,7 +5,14 @@
       :paper-path="currentProblem?.filePath"
       :paper-path="currentProblem?.filePath"
       @click="onOperationClick"
       @click="onOperationClick"
     >
     >
-      <el-button class="m-l-base m-r-auto" size="small" type="primary" @click="onSendBack">打回</el-button>
+      <el-button
+        :disabled="!currentProblem?.id"
+        class="m-l-base m-r-auto"
+        size="small"
+        type="primary"
+        @click="onSendBack"
+        >打回</el-button
+      >
     </mark-header>
     </mark-header>
     <div class="flex flex-1 overflow-hidden p-base mark-container">
     <div class="flex flex-1 overflow-hidden p-base mark-container">
       <div
       <div
@@ -40,9 +47,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -131,7 +140,8 @@ const onSendBack = () => {
 
 
 /** 打回成功 */
 /** 打回成功 */
 const onRejected = () => {
 const onRejected = () => {
-  checkNext()
+  // checkNext()
+  onSearch()
 }
 }
 
 
 type OperationClick = MarkHeaderInstance['onClick']
 type OperationClick = MarkHeaderInstance['onClick']
@@ -210,15 +220,15 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 /** 查询问题卷列表 */
 /** 查询问题卷列表 */
 const columns: EpTableColumn[] = [
 const columns: EpTableColumn[] = [
-  { label: '密号', prop: 'secretNumber', width: 45 },
-  { label: '提交人', prop: 'markerName', width: 60 },
-  { label: '问题类型', prop: 'problemTypeName', width: 45 },
-  { label: '客观分', prop: 'objectiveScore', width: 45 },
-  { label: '主观分', prop: 'markScore', width: 45 },
-  { label: '客主比', prop: 'markRatio', width: 45 },
-  { label: '评卷时间', prop: 'markTime', width: 45 },
-  { label: '处理人', prop: 'headerName', width: 45 },
-  { label: '处理时间', prop: 'solveTime', width: 45 },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
+  { label: '提交人', prop: 'markerName', width: 75 },
+  { label: '问题类型', prop: 'problemTypeName', width: 90 },
+  { label: '客观分', prop: 'objectiveScore', width: 55 },
+  { label: '主观分', prop: 'markScore', width: 55 },
+  { label: '客主比', prop: 'markRatio', width: 55 },
+  { label: '评卷时间', prop: 'markTime', width: 160 },
+  { label: '处理人', prop: 'headerName', width: 75 },
+  { label: '处理时间', prop: 'solveTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getProblemHistory, result: problemHistory, loading } = useFetch('getProblemHistory')
 const { fetch: getProblemHistory, result: problemHistory, loading } = useFetch('getProblemHistory')

+ 8 - 4
src/modules/marking/repeat/index.vue

@@ -48,9 +48,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -189,12 +191,14 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 /** 查询重评卷列表 */
 /** 查询重评卷列表 */
 const columns: EpTableColumn[] = [
 const columns: EpTableColumn[] = [
-  { label: '密号', prop: 'secretNumber', width: 70 },
-  { label: '评卷员', prop: 'markerName', width: 70 },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
+  { label: '评卷员', prop: 'markerName', width: 80 },
   { label: '给分', prop: 'markerScore', width: 54 },
   { label: '给分', prop: 'markerScore', width: 54 },
-  { label: '重评时间', prop: 'reMarkTime', width: 88 },
+  // { label: '重评时间', prop: 'reMarkTime', width: 160 },
+
   { label: '确认状态', prop: 'confirmName', width: 72 },
   { label: '确认状态', prop: 'confirmName', width: 72 },
   { label: '确认给分', prop: 'confirmScore', width: 72 },
   { label: '确认给分', prop: 'confirmScore', width: 72 },
+  { label: '重评时间', prop: 'reMarkTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getReMarkPaperList, result: reMarkPaperList, loading } = useFetch('getReMarkPaperList')
 const { fetch: getReMarkPaperList, result: reMarkPaperList, loading } = useFetch('getReMarkPaperList')

+ 4 - 2
src/modules/marking/similar/index.vue

@@ -27,9 +27,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -126,7 +128,7 @@ const formItems = computed<EpFormItem[]>(() => [
 
 
 /** 雷同卷卷列表 */
 /** 雷同卷卷列表 */
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
   { label: '雷同密号', prop: 'sameSecretNumber' },
   { label: '雷同密号', prop: 'sameSecretNumber' },
   { label: '评卷员', prop: 'markerName' },
   { label: '评卷员', prop: 'markerName' },
   {
   {

+ 1 - 1
src/modules/marking/statistics/index.vue

@@ -9,7 +9,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <div class="p-base fill-blank radius-base">
       <div class="p-base fill-blank radius-base">
-        <base-table size="small" :data="tableData" :columns="columns"></base-table>
+        <base-table border stripe size="small" :data="tableData" :columns="columns"></base-table>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 2 - 0
src/modules/marking/training-record/index.vue

@@ -19,6 +19,8 @@
       <div class="p-base radius-base fill-blank scroll-auto m-l-base table-view">
       <div class="p-base radius-base fill-blank scroll-auto m-l-base table-view">
         <base-table
         <base-table
           ref="tableRef"
           ref="tableRef"
+          border
+          stripe
           size="small"
           size="small"
           height="100%"
           height="100%"
           :data="tableData"
           :data="tableData"

+ 6 - 3
src/modules/marking/view-sample/index.vue

@@ -19,6 +19,8 @@
       <div class="p-base radius-base fill-blank scroll-auto m-l-base table-view">
       <div class="p-base radius-base fill-blank scroll-auto m-l-base table-view">
         <base-table
         <base-table
           ref="tableRef"
           ref="tableRef"
+          border
+          stripe
           size="small"
           size="small"
           :data="tableData"
           :data="tableData"
           :columns="columns"
           :columns="columns"
@@ -89,12 +91,13 @@ const onOperationClick: OperationClick = ({ type, value }) => {
 
 
 /** 样卷 */
 /** 样卷 */
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
   { label: '题目', prop: 'mainTitle' },
   { label: '题目', prop: 'mainTitle' },
-  { label: '分数', prop: 'score' },
+  { label: '分数', prop: 'score', width: 50 },
   { label: '提交人', prop: 'markerName' },
   { label: '提交人', prop: 'markerName' },
-  { label: '提交时间', prop: 'markTime' },
+  // { label: '提交时间', prop: 'markTime' },
   { label: '给分说明', prop: 'description' },
   { label: '给分说明', prop: 'description' },
+  { label: '提交时间', prop: 'markTime', width: 160 },
 ]
 ]
 const { fetch: viewSamplePaper, result: samplePaperList } = useFetch('viewSamplePaper')
 const { fetch: viewSamplePaper, result: samplePaperList } = useFetch('viewSamplePaper')
 
 

+ 9 - 6
src/modules/monitor/system-check/index.vue

@@ -36,9 +36,11 @@
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
           </el-button>
           </el-button>
         </div>
         </div>
-        <div class="flex-1 scroll-auto">
+        <div class="flex-1 scroll-auto m-t-mini">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"
@@ -226,12 +228,13 @@ const formItems = computed<EpFormItem[]>(() => [
 /** 系统抽查卷列表 */
 /** 系统抽查卷列表 */
 
 
 const columns: EpTableColumn[] = [
 const columns: EpTableColumn[] = [
-  { label: '密号', prop: 'secretNumber' },
-  { label: '评卷员', prop: 'markerName' },
-  { label: '评卷员给分', prop: 'markScore' },
+  { label: '密号', prop: 'secretNumber', width: 100, fixed: 'left' },
+  { label: '评卷员', prop: 'markerName', width: 80 },
+  { label: '评卷员给分', prop: 'markScore', width: 80 },
   { label: '组长给分', prop: 'headerScore', width: 70 },
   { label: '组长给分', prop: 'headerScore', width: 70 },
-  { label: '评卷时间', prop: 'markTime', width: 45 },
-  { label: '抽查次数', prop: 'checkCount', width: 45 },
+  // { label: '评卷时间', prop: 'markTime', width: 160 },
+  { label: '抽查次数', prop: 'checkCount', width: 70 },
+  { label: '评卷时间', prop: 'markTime', width: 160 },
 ]
 ]
 
 
 const { fetch: getSystemSpotList, result: systemSpotList, loading } = useFetch('getSystemSpotList')
 const { fetch: getSystemSpotList, result: systemSpotList, loading } = useFetch('getSystemSpotList')

+ 2 - 0
src/modules/monitor/training-monitoring-detail/index.vue

@@ -30,6 +30,8 @@
         <div class="flex-1 scroll-auto">
         <div class="flex-1 scroll-auto">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"

+ 2 - 0
src/modules/monitor/training-monitoring/index.vue

@@ -40,6 +40,8 @@
           <!-- <el-button size="small" type="primary" custom-1 @click="viewPaper(false)">查看试卷</el-button> -->
           <!-- <el-button size="small" type="primary" custom-1 @click="viewPaper(false)">查看试卷</el-button> -->
         </div>
         </div>
         <base-table
         <base-table
+          border
+          stripe
           :columns="columns"
           :columns="columns"
           :data="trainingMonitor?.data"
           :data="trainingMonitor?.data"
           @selection-change="onSectionChange"
           @selection-change="onSectionChange"

+ 5 - 2
src/modules/quality/ending-check/components/EndCheck.vue

@@ -15,6 +15,9 @@
           <el-button type="primary" size="small" @click="onTaskChangeMarker">任务指定评卷员</el-button>
           <el-button type="primary" size="small" @click="onTaskChangeMarker">任务指定评卷员</el-button>
         </div>
         </div>
         <base-table
         <base-table
+          border
+          stripe
+          size="small"
           :columns="columns1"
           :columns="columns1"
           :data="unMarkPaperList?.result"
           :data="unMarkPaperList?.result"
           highlight-current-row
           highlight-current-row
@@ -26,14 +29,14 @@
           <span class="label">未处理问题卷</span>
           <span class="label">未处理问题卷</span>
           <span class="data-count">{{ unProcessProblemList?.length }}</span>
           <span class="data-count">{{ unProcessProblemList?.length }}</span>
         </div>
         </div>
-        <base-table :columns="columns2" :data="unProcessProblemList"></base-table>
+        <base-table border stripe size="small" :columns="columns2" :data="unProcessProblemList"></base-table>
       </div>
       </div>
       <div class="radius-base fill-blank p-base overflow-hidden m-l-base flex-1">
       <div class="radius-base fill-blank p-base overflow-hidden m-l-base flex-1">
         <div class="flex items-center m-b-base table-title">
         <div class="flex items-center m-b-base table-title">
           <span class="label">未处理雷同卷</span>
           <span class="label">未处理雷同卷</span>
           <span class="data-count">{{ unProcessSimilarList?.length }}</span>
           <span class="data-count">{{ unProcessSimilarList?.length }}</span>
         </div>
         </div>
-        <base-table :columns="columns3" :data="unProcessSimilarList"></base-table>
+        <base-table border stripe size="small" :columns="columns3" :data="unProcessSimilarList"></base-table>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 20 - 8
src/modules/quality/ending-check/components/SubjectProgress.vue

@@ -4,7 +4,14 @@
       <vue-e-charts class="full" :option="totalChartsOption" autoresize></vue-e-charts>
       <vue-e-charts class="full" :option="totalChartsOption" autoresize></vue-e-charts>
     </div>
     </div>
     <div class="m-t-base fill-blank radius-base p-base">
     <div class="m-t-base fill-blank radius-base p-base">
-      <base-table :data="subjectProgressEndList" :columns="columns" :span-method="tableSpanMethod"></base-table>
+      <base-table
+        border
+        stripe
+        size="small"
+        :data="subjectProgressEndList"
+        :columns="columns"
+        :span-method="tableSpanMethod"
+      ></base-table>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
@@ -141,43 +148,48 @@ const columns: EpTableColumn<SubjectProgress>[] = [
       return mainStore.myUserInfo?.subjectCode + '-' + mainStore.myUserInfo?.subjectName
       return mainStore.myUserInfo?.subjectCode + '-' + mainStore.myUserInfo?.subjectName
     },
     },
   },
   },
-  { label: '大题', prop: 'questionMainName' },
-  { label: '试卷总量', prop: 'totalPaper' },
-  { label: '已完成', prop: 'finishCount' },
+  { label: '大题', prop: 'questionMainName', width: 80 },
+  { label: '试卷总量', prop: 'totalPaper', width: 90 },
+  { label: '已完成', prop: 'finishCount', width: 70 },
   {
   {
     label: '完成比',
     label: '完成比',
     prop: 'finishRate',
     prop: 'finishRate',
+    width: 70,
     formatter(row) {
     formatter(row) {
       return `${row.finishRate}%`
       return `${row.finishRate}%`
     },
     },
   },
   },
   {
   {
     label: '待完成',
     label: '待完成',
+    width: 90,
     formatter(row) {
     formatter(row) {
       return `${minus(row.totalPaper, row.finishCount)}`
       return `${minus(row.totalPaper, row.finishCount)}`
     },
     },
   },
   },
   {
   {
     label: '待完成比',
     label: '待完成比',
+    width: 90,
     prop: 'totalPaper',
     prop: 'totalPaper',
     formatter(row) {
     formatter(row) {
       return `${minus(100, row.finishRate)}%`
       return `${minus(100, row.finishRate)}%`
     },
     },
   },
   },
-  { label: '问题卷待处理', prop: 'todoProblemPaperCount' },
-  { label: '雷同卷待处理', prop: 'todoSamePaperCount' },
-  { label: '主观题校验待处理', prop: 'subjectiveUnVerifyPaperCount' },
+  { label: '问题卷待处理', prop: 'todoProblemPaperCount', width: 110 },
+  { label: '雷同卷待处理', prop: 'todoSamePaperCount', width: 110 },
+  { label: '主观题校验待处理', prop: 'subjectiveUnVerifyPaperCount', width: 140 },
   {
   {
     label: '抽查比例',
     label: '抽查比例',
     prop: 'checkPaperRate',
     prop: 'checkPaperRate',
+    width: 90,
     formatter(row) {
     formatter(row) {
       return `${row.checkPaperRate}%`
       return `${row.checkPaperRate}%`
     },
     },
   },
   },
-  { label: '仲裁卷待处理', prop: 'todoArbitrationPaperCount' },
+  { label: '仲裁卷待处理', prop: 'todoArbitrationPaperCount', width: 110 },
   {
   {
     label: '仲裁率',
     label: '仲裁率',
     prop: 'arbitrationPaperRate',
     prop: 'arbitrationPaperRate',
+    width: 70,
     formatter(row) {
     formatter(row) {
       return `${row.arbitrationPaperRate}%`
       return `${row.arbitrationPaperRate}%`
     },
     },

+ 2 - 0
src/modules/quality/self-check-detail/index.vue

@@ -32,6 +32,8 @@
         <div class="flex-1 scroll-auto">
         <div class="flex-1 scroll-auto">
           <base-table
           <base-table
             ref="tableRef"
             ref="tableRef"
+            border
+            stripe
             size="small"
             size="small"
             height="100%"
             height="100%"
             :data="tableData"
             :data="tableData"

+ 14 - 1
src/modules/quality/self-check/index.vue

@@ -10,6 +10,9 @@
     <div class="p-base flex justify-between">
     <div class="p-base flex justify-between">
       <el-card class="flex-1" shadow="never">
       <el-card class="flex-1" shadow="never">
         <base-table
         <base-table
+          border
+          stripe
+          size="small"
           :columns="columns1"
           :columns="columns1"
           :data="selfCheckAnalysisList"
           :data="selfCheckAnalysisList"
           highlight-current-row
           highlight-current-row
@@ -19,6 +22,9 @@
       </el-card>
       </el-card>
       <el-card class="flex-1 m-l-base m-r-base center-card" shadow="never">
       <el-card class="flex-1 m-l-base m-r-base center-card" shadow="never">
         <base-table
         <base-table
+          border
+          stripe
+          size="small"
           :columns="columns2"
           :columns="columns2"
           highlight-current-row
           highlight-current-row
           :data="selfCheckAnalysisDiffList"
           :data="selfCheckAnalysisDiffList"
@@ -26,7 +32,14 @@
         ></base-table>
         ></base-table>
       </el-card>
       </el-card>
       <el-card class="flex-1" shadow="never">
       <el-card class="flex-1" shadow="never">
-        <base-table :columns="columns3" :data="papers" @row-dblclick="onPaperDBClick"></base-table>
+        <base-table
+          border
+          stripe
+          size="small"
+          :columns="columns3"
+          :data="papers"
+          @row-dblclick="onPaperDBClick"
+        ></base-table>
       </el-card>
       </el-card>
     </div>
     </div>
   </div>
   </div>

+ 1 - 1
src/modules/quality/spot-check/index.vue

@@ -9,7 +9,7 @@
     </div>
     </div>
     <div class="flex-1 p-base">
     <div class="flex-1 p-base">
       <div class="radius-base p-base fill-blank">
       <div class="radius-base p-base fill-blank">
-        <base-table size="small" :data="result" :columns="columns"></base-table>
+        <base-table border stripe size="small" :data="result" :columns="columns"></base-table>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 9 - 5
src/modules/quality/subjective-check/index.vue

@@ -28,7 +28,7 @@
             <el-button :loading="loading" type="primary" @click="onSearch">查询</el-button>
             <el-button :loading="loading" type="primary" @click="onSearch">查询</el-button>
           </template>
           </template>
         </base-form>
         </base-form>
-        <div>
+        <div class="m-b-mini">
           <el-button custom-1 size="small" class="detail-info-label">
           <el-button custom-1 size="small" class="detail-info-label">
             <span class="">{{ statusText }}: 共</span>
             <span class="">{{ statusText }}: 共</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
             <span class="m-l-extra-small detail-info-label-num">{{ tableData.length }}</span>
@@ -36,6 +36,8 @@
         </div>
         </div>
         <base-table
         <base-table
           ref="tableRef"
           ref="tableRef"
+          border
+          stripe
           size="small"
           size="small"
           height="45vh"
           height="45vh"
           :data="tableData"
           :data="tableData"
@@ -45,6 +47,8 @@
         ></base-table>
         ></base-table>
         <base-table
         <base-table
           v-if="currentSubjectiveCheck"
           v-if="currentSubjectiveCheck"
+          border
+          stripe
           class="m-t-base"
           class="m-t-base"
           size="small"
           size="small"
           height="150px"
           height="150px"
@@ -229,18 +233,18 @@ const formItems = computed<EpFormItem[]>(() => [
 /** 主观题校验 */
 /** 主观题校验 */
 const columns: EpTableColumn<RowType>[] = [
 const columns: EpTableColumn<RowType>[] = [
   { label: '序号', type: 'index' },
   { label: '序号', type: 'index' },
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100 },
   { label: '大题名称', prop: 'mainName' },
   { label: '大题名称', prop: 'mainName' },
   { label: '处理结果', prop: 'status' },
   { label: '处理结果', prop: 'status' },
   { label: '处理人', prop: 'headerName' },
   { label: '处理人', prop: 'headerName' },
-  { label: '处理时间', prop: 'updateTime' },
+  { label: '处理时间', prop: 'updateTime', width: 160 },
 ]
 ]
 
 
 const subColumns: EpTableColumn<RowType>[] = [
 const subColumns: EpTableColumn<RowType>[] = [
-  { label: '密号', prop: 'secretNumber' },
+  { label: '密号', prop: 'secretNumber', width: 100 },
   { label: '大题名称', prop: 'mainName' },
   { label: '大题名称', prop: 'mainName' },
   { label: '当前成绩', prop: 'markScore' },
   { label: '当前成绩', prop: 'markScore' },
-  { label: '修改成绩', prop: 'headerScore' },
+  { label: '修改成绩', prop: 'headerScore', width: 160 },
 ]
 ]
 
 
 const { fetch: getSubjectiveCheckList, result: subjectiveCheckList, loading } = useFetch('getSubjectiveCheckList')
 const { fetch: getSubjectiveCheckList, result: subjectiveCheckList, loading } = useFetch('getSubjectiveCheckList')