skyouc
2025-08-04 2f44c917d4cb10ffd6e79096c1e15a3d8748c413
zy-asrs-admin/src/views/base/loc/index.vue
@@ -6,6 +6,7 @@
import { logout } from '@/config.js';
import EditView from './edit.vue'
import { formatMessage } from '@/utils/localeUtils.js';
import LocsPrint from '@/components/print/locsPrint/index.vue';
import useTableSearch from '@/utils/tableUtils.jsx';
const context = getCurrentInstance()?.appContext.config.globalProperties;
@@ -14,12 +15,15 @@
const TABLE_KEY = 'table-loc';
let currentPage = 1;
let pageSize = 10;
let printDisable = true
const printChild = ref("")
const searchInput = ref("")
const searchParam = ref({
  locNo: null,
  row1: null,
  bay1: null,
  lev1: null,
  locStsId: null,
  barcode: null,
})
const editChild = ref(null)
@@ -27,6 +31,7 @@
const state = reactive({
  selectedRowKeys: [],
  loading: false,
  selectRecords: []
});
let tableData = ref([]);
@@ -43,98 +48,84 @@
    dataIndex: 'locNo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('locNo'),
  },
  {
    title: formatMessage('db.man_loc.loc_sts_id', '库位状态'),
    dataIndex: 'locStsId$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('locStsId$'),
  },
  {
    title: formatMessage('db.man_loc.row1', '排'),
    dataIndex: 'row1',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('row1'),
  },
  {
    title: formatMessage('db.man_loc.bay1', '列'),
    dataIndex: 'bay1',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('bay1'),
  },
  {
    title: formatMessage('db.man_loc.lev1', '层'),
    dataIndex: 'lev1',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('lev1'),
  },
  {
    title: formatMessage('db.man_loc.barcode', '条码'),
    dataIndex: 'barcode',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('barcode'),
  },
  {
    title: formatMessage('db.man_loc.uuid', '编号'),
    dataIndex: 'uuid',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('uuid'),
  },
  {
    title: formatMessage('db.man_loc.flag', '标识'),
    dataIndex: 'flag',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('flag'),
  },
  {
    title: formatMessage('db.man_loc.status', '状态'),
    dataIndex: 'status$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('status$'),
  },
  {
    title: formatMessage('db.man_loc.create_time', '添加时间'),
    dataIndex: 'createTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createTime$'),
  },
  {
    title: formatMessage('db.man_loc.create_by', '添加人员'),
    dataIndex: 'createBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('createBy$'),
  },
  {
    title: formatMessage('db.man_loc.update_time', '修改时间'),
    dataIndex: 'updateTime$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateTime$'),
  },
  {
    title: formatMessage('db.man_loc.update_by', '修改人员'),
    dataIndex: 'updateBy$',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('updateBy$'),
  },
  {
    title: formatMessage('db.man_loc.memo', '备注'),
    dataIndex: 'memo',
    width: 140,
    ellipsis: true,
    ...getColumnSearchProps('memo'),
  },
  {
@@ -157,9 +148,24 @@
  }, 1000);
};
const onSelectChange = selectedRowKeys => {
  // console.log('selectedRowKeys changed: ', selectedRowKeys);
  let printData = [];
  console.log('selectedRowKeys changed: ', selectedRowKeys);
  state.selectedRowKeys = selectedRowKeys;
  state.selectRecords = tableData.value.records.filter(item => {
    return selectedRowKeys.includes(item.id)
  })
  if (state.selectRecords.length > 0) {
    printDisable = false
  } else {
    printDisable = true
  }
};
const handlePrint = (item) => {
  printChild.value.printData = state.selectRecords;
  printChild.value.open = true;
}
function getPage() {
  state.loading = true;
@@ -173,7 +179,6 @@
    if (result.code == 200) {
      let data = result.data;
      tableData.value = data;
      state.loading = false;
    } else if (result.code === 401) {
      message.error(result.msg);
@@ -227,7 +232,7 @@
};
const onSearch = () => {
  // console.log('search');
  currentPage = 1;
  getPage()
}
@@ -264,11 +269,17 @@
          style="width: 140px;margin-right: 10px;" />
        <a-input v-model:value="searchParam.barcode" :placeholder="formatMessage('page.loc.barcode.input', '请输入条码')"
          style="width: 140px;margin-right: 10px;" />
        <a-select v-model:value="searchParam.locStsId" :placeholder="formatMessage('page.locDetl.orderNo.input', '选择库位状态')"
          :options="[
            { label: '全部', value: null }, { label: '在库', value: 1 }, { label: '空库', value: 2 }, { label: '空板', value: 3 },
            { label: '入库预约', value: 4 }, { label: '出库预约', value: 5 }, { label: '禁用', value: 6 }]" style="width: 140px;margin-right: 10px;">
        </a-select>
        <a-input-search v-model:value="searchInput" :placeholder="formatMessage('page.input', '请输入')"
          style="width: 200px;" @search="onSearch" />
      </div>
      <div class="table-header-right">
        <a-button @click="handlePrint(null)" type="primary" :disabled="printDisable">{{ formatMessage('page.add', '打印')
        }}</a-button>
        <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '添加') }}</a-button>
        <a-button @click="handleExport">{{ formatMessage('page.export', '导出') }}</a-button>
      </div>
@@ -283,12 +294,11 @@
          <div style="display: flex;justify-content: space-evenly;">
            <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '编辑') }}</a-button>
            <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '删除')
              }}</a-button>
            }}</a-button>
          </div>
        </template>
      </template>
    </a-table>
    <LocsPrint ref="printChild" />
  </div>
</template>
<style></style>