新疆-融邦
1.协同办公-协同审批:采购及销售审批进入销售流程后也可预览在台账上传的附件
2.销售合同号只有直销时显示,别的时候隐藏
3.付款方式设置选项-网银-现金-微信-支票-承兑汇票
已修改2个文件
55 ■■■■■ 文件已修改
src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
@@ -193,11 +193,12 @@
        </div>
      </template>
    </div>
    <div v-if="attachmentList.length"
    <div v-for="group in attachmentGroups"
         :key="group.title"
         class="detail-block">
      <div class="detail-block-title">附件列表</div>
      <div class="detail-block-title">{{ group.title }}</div>
      <div class="attachment-list">
        <div v-for="file in attachmentList"
        <div v-for="file in group.files"
             :key="file.id"
             class="attachment-item">
          <el-icon class="file-icon">
@@ -211,7 +212,7 @@
            <el-link v-if="file.previewURL || file.url"
                     type="primary"
                     :underline="false"
                     @click="openFile(file.previewURL || file.url)">预览</el-link>
                     @click="previewFile(file.previewURL || file.url)">预览</el-link>
            <el-divider v-if="(file.previewURL || file.url) && file.downloadURL"
                        direction="vertical" />
            <el-link v-if="file.downloadURL"
@@ -222,12 +223,14 @@
        </div>
      </div>
    </div>
    <filePreview ref="filePreviewRef" />
  </div>
</template>
<script setup>
  import { computed } from "vue";
  import { computed, ref } from "vue";
  import { Paperclip } from "@element-plus/icons-vue";
  import filePreview from "@/components/filePreview/index.vue";
  import { formatDisplayTime } from "../../approve-template/approveTemplateConstants.js";
  import {
    approvalTypeLabel,
@@ -245,6 +248,8 @@
  const formResolved = computed(() => resolveInstanceFormFields(props.row));
  const filePreviewRef = ref();
  // 是否为特殊审批类型(采购、发货、报价、销售台账)
  const isSpecialApprovalType = computed(() => {
@@ -261,6 +266,30 @@
    return Array.isArray(list) ? list : [];
  });
  // 台账自身附件:销售台账 listPage 返回 storageBlobVOs,采购台账 getPurchaseByCode 返回 storageBlobVOS
  const businessAttachments = computed(() => {
    if (![5, 19].includes(props.row.businessType)) return [];
    const detail = props.detailData || {};
    const candidates = [detail.storageBlobVOs, detail.storageBlobVOS, detail.storageBlobVOList];
    return candidates.find(list => Array.isArray(list) && list.length) || [];
  });
  const attachmentGroups = computed(() => {
    const groups = [];
    if (businessAttachments.value.length) {
      groups.push({ title: "台账附件", files: businessAttachments.value });
    }
    if (attachmentList.value.length) {
      groups.push({ title: "审批附件", files: attachmentList.value });
    }
    return groups;
  });
  function previewFile(url) {
    if (!url) return;
    filePreviewRef.value?.open(url);
  }
  function openFile(url) {
    if (!url) return;
    window.open(url, "_blank");
src/views/salesManagement/salesLedger/index.vue
@@ -11,7 +11,7 @@
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="销售合同号:">
        <el-form-item v-if="activeTab === '卖油'" label="销售合同号:">
          <el-input
            v-model="searchForm.salesContractNo"
            placeholder="请输入"
@@ -151,6 +151,7 @@
        </el-table-column>
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column
          v-if="activeTab === '卖油'"
          label="销售合同号"
          prop="salesContractNo"
          width="180"
@@ -356,7 +357,7 @@
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
          <el-col v-if="form.ledgerType !== '代储'" :span="12">
            <el-form-item label="销售合同号:" prop="salesContractNo">
              <div
                style="
@@ -467,7 +468,7 @@
                style="width: 100%"
              >
                <el-option
                  v-for="item in payment_methods"
                  v-for="item in checkout_payment"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
@@ -1332,11 +1333,11 @@
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const { tax_rate } = proxy.useDict("tax_rate");
const { payment_methods } = proxy.useDict("payment_methods");
const { checkout_payment } = proxy.useDict("checkout_payment");
// 付款方式存的是字典 value,回显要转成 label;改造前的老数据是自由文本,取不到就原样显示
const getPaymentMethodLabel = (value) => {
  if (value === undefined || value === null || value === "") return "-";
  const item = payment_methods.value?.find(
  const item = checkout_payment.value?.find(
    (m) => String(m.value) === String(value)
  );
  return item?.label ?? value;
@@ -1888,6 +1889,8 @@
};
// 页签切换:换 ledgerType 重新查列表
const handleTabChange = () => {
  // 代储不展示销售合同号,别把隐藏的搜索条件带过去
  if (activeTab.value === "代储") searchForm.salesContractNo = "";
  page.current = 1;
  expandedRowKeys.value = [];
  getList();
@@ -2136,6 +2139,9 @@
          form.value.tonnage = null;
        }
        delete form.value.productData;
        // 代储不展示销售合同号,清掉避免隐藏字段把卖油时的值提交上去
        form.value.salesContractNo = "";
        form.value.autoGenerateContractNo = false;
      } else {
        // 卖油:合同金额由产品明细汇总,代储字段清空
        if (productData.value !== null && productData.value.length > 0) {