广丰卷烟厂数采质量分析系统
baoshiwei
7 小时以前 e97b55310155a2dd691bd698a10295a4d867f60c
ruoyi-plus-soybean/src/views/qm/judge/index.vue
@@ -10,6 +10,8 @@
import ButtonIcon from '@/components/custom/button-icon.vue';
import JudgeOperateDrawer from './modules/judge-operate-drawer.vue';
import JudgeSearch from './modules/judge-search.vue';
import JudgeDetailsSubTable from '../judge-details/modules/judge-details-sub-table.vue';
import StdSubTable from "@/views/qm/std/modules/std-sub-table.vue";
defineOptions({
  name: 'JudgeList'
@@ -19,6 +21,8 @@
const { download } = useDownload();
const { hasAuth } = useAuth();
const selectedJudgeId = ref<CommonType.IdType | null>(null);
const searchParams = ref<Api.Qm.JudgeSearchParams>({
  pageNum: 1,
  pageSize: 10,
@@ -26,7 +30,7 @@
  matName: null,
  judgeName: null,
  category: 0, // 默认选择成品
  status: -1, // 默认选择全部
  status: 1, // 默认查询启用
  params: {}
});
@@ -276,47 +280,74 @@
function handleExport() {
  download('/qm/judge/export', searchParams.value, `判定依据_${new Date().getTime()}.xlsx`);
}
function handleRowClick(row: any) {
  return {
    onClick: (e: MouseEvent) => {
      const target = e.target as HTMLElement | null;
      if (target?.closest('.n-checkbox') || target?.closest('.n-button') || target?.closest('a')) return;
      selectedJudgeId.value = row.id;
    },
    style: 'cursor: pointer;'
  };
}
</script>
<template>
  <div class="min-h-500px flex-col-stretch gap-16px overflow-hidden lt-sm:overflow-auto">
    <JudgeSearch v-model:model="searchParams" @search="getDataByPage" />
    <NCard title="判定依据列表" :bordered="false" size="small" class="card-wrapper sm:flex-1-hidden">
      <template #header-extra>
        <TableHeaderOperation
          v-model:columns="columnChecks"
          :disabled-delete="checkedRowKeys.length === 0"
          :loading="loading"
          :show-add="hasAuth('qm:judge:add')"
          :show-delete="hasAuth('qm:judge:remove')"
          :show-export="hasAuth('qm:judge:export')"
          @add="handleAdd"
          @delete="handleBatchDelete"
          @export="handleExport"
          @refresh="getData"
        />
      </template>
      <NDataTable
        v-model:checked-row-keys="checkedRowKeys"
        :columns="columns"
        :data="data"
    <div class="judge-content-area relative flex-col-stretch gap-16px sm:flex-1-hidden">
      <NCard
        title="判定依据列表"
        :bordered="false"
        size="small"
        :flex-height="!appStore.isMobile"
        :scroll-x="scrollX"
        :loading="loading"
        remote
        :row-key="row => row.id"
        :pagination="mobilePagination"
        class="sm:h-full"
      />
      <JudgeOperateDrawer
        v-model:visible="drawerVisible"
        :operate-type="operateType"
        :row-data="editingData"
        @submitted="getDataByPage"
      />
    </NCard>
        class="flex-col-stretch card-wrapper sm:flex-1-hidden"
        :content-style="{ flex: 1, overflow: 'hidden', display: 'flex', flexDirection: 'column' }"
      >
        <template #header-extra>
          <TableHeaderOperation
            v-model:columns="columnChecks"
            :disabled-delete="checkedRowKeys.length === 0"
            :loading="loading"
            :show-add="hasAuth('qm:judge:add')"
            :show-delete="hasAuth('qm:judge:remove')"
            :show-export="hasAuth('qm:judge:export')"
            @add="handleAdd"
            @delete="handleBatchDelete"
            @export="handleExport"
            @refresh="getData"
          />
        </template>
        <NDataTable
          v-model:checked-row-keys="checkedRowKeys"
          :columns="columns"
          :data="data"
          size="small"
          :flex-height="!appStore.isMobile"
          :scroll-x="scrollX"
          :loading="loading"
          remote
          :row-key="row => row.id"
          :pagination="mobilePagination"
          :row-props="handleRowClick"
          class="flex-1-hidden"
        />
        <JudgeOperateDrawer
          v-model:visible="drawerVisible"
          :operate-type="operateType"
          :row-data="editingData"
          @submitted="getDataByPage"
        />
      </NCard>
      <JudgeDetailsSubTable :judge-id="selectedJudgeId" class="sm:flex-1-hidden"  />
    </div>
  </div>
</template>
<style scoped></style>
<style scoped>
:deep(.n-data-table-th),
:deep(.n-data-table-td) {
  padding: 4px 6px;
  overflow: hidden;
}
</style>