gaoluyang
5 天以前 a0111e18d44d0c78e5479f6dfba7b80c29fd0ebf
src/views/inventoryManagement/dispatchLog/Record.vue
@@ -12,6 +12,16 @@
               clearable
               @change="handleQuery"
            />
        <span class="search_title ml10">产品大类:</span>
        <el-input v-model="searchForm.productName"
                  style="width: 240px"
                  placeholder="请输入"
                  clearable/>
        <span class="search_title ml10">规格型号:</span>
        <el-input v-model="searchForm.model"
                  style="width: 240px"
                  placeholder="请输入"
                  clearable/>
        <span class="search_title ml10">来源:</span>
        <el-select v-model="searchForm.recordType"
                   style="width: 240px"
@@ -129,10 +139,9 @@
const total = ref(0);
const props = defineProps({
  type: {
    type: String,
    required: true,
    default: '0'
  productId: {
    type: [String, Number],
    default: ''
  }
})
@@ -144,6 +153,8 @@
const data = reactive({
   searchForm: {
      supplierName: "",
      productName: "",
      model: "",
      timeStr: "",
    recordType: "",
   }
@@ -163,7 +174,7 @@
};
const getList = () => {
   tableLoading.value = true;
   getStockOutPage({ ...searchForm.value, ...page, type: props.type })
   getStockOutPage({ ...searchForm.value, ...page, topParentProductId: props.productId })
      .then((res) => {
         tableLoading.value = false;
         tableData.value = res.data.records;
@@ -183,17 +194,20 @@
// 获取来源类型选项
const fetchStockRecordTypeOptions = () => {
  if (props.type === '0') {
    findAllQualifiedStockOutRecordTypeOptions()
        .then(res => {
          stockRecordTypeOptions.value = res.data;
        })
    return
  }
  findAllUnQualifiedStockOutRecordTypeOptions()
      .then(res => {
        stockRecordTypeOptions.value = res.data;
      })
  // 同时获取合格和不合格的来源类型选项
  Promise.all([
    findAllQualifiedStockOutRecordTypeOptions(),
    findAllUnQualifiedStockOutRecordTypeOptions()
  ]).then(([qualifiedRes, unQualifiedRes]) => {
    const qualified = qualifiedRes.data || [];
    const unQualified = unQualifiedRes.data || [];
    // 合并并去重
    const allOptions = [...qualified, ...unQualified];
    const uniqueOptions = allOptions.filter((item, index, self) =>
      index === self.findIndex((t) => t.value === item.value)
    );
    stockRecordTypeOptions.value = uniqueOptions;
  });
}
// 表格选择数据
@@ -212,7 +226,7 @@
      type: "warning",
   })
      .then(() => {
         proxy.download("/stockOutRecord/exportStockOutRecord", {type: props.type}, props.type === '0' ? "合格出库台账.xlsx" : "不合格出库台账.xlsx");
         proxy.download("/stockOutRecord/exportStockOutRecord", { topParentProductId: props.productId }, "出库台账.xlsx");
      })
      .catch(() => {
         proxy.$modal.msg("已取消");
@@ -405,7 +419,6 @@
      <div class="print-page">
        <div class="delivery-note">
          <div class="header">
            <div class="company-name">鼎诚瑞实业有限责任公司</div>
            <div class="document-title">零售发货单</div>
          </div>
          
@@ -417,7 +430,7 @@
              </div>
              <div>
                <span class="label">客户名称:</span>
                <span class="value">${item.supplierName || '张爱有'}</span>
                <span class="value">${item.supplierName}</span>
              </div>
            </div>
            <div class="info-row">
@@ -540,6 +553,13 @@
</script>
<style scoped lang="scss">
.search_form {
   flex-direction: column;
   align-items: flex-start;
   justify-content: flex-start;
   gap: 10px;
}
.print-preview-dialog {
   .el-dialog__body {
      padding: 0;