hurx преди 3 седмици
родител
ревизия
cd25ca52e3
променени са 4 файла, в които са добавени 72 реда и са изтрити 6 реда
  1. 3 3
      src/views/easybuv/index.vue
  2. 2 1
      src/views/order/orderEvaluation/index.vue
  3. 66 1
      src/views/reconciliation/billManage/detail.vue
  4. 1 1
      src/views/trad/index.vue

+ 3 - 3
src/views/easybuv/index.vue

@@ -155,7 +155,7 @@ const handleEdit = (item: any) => {
   form.phone = item.phone;
   form.region = item.provincialCityCountry || '';
   form.address = item.address || '';
-  form.isDefault = item.defaultAddress;
+  form.isDefault = item.defaultAddress === '0' ? true : false;
 
   // 尝试根据省市区代码设置级联选择器的值
   if (item.provincialNo && item.cityNo && item.countryNo) {
@@ -175,7 +175,7 @@ const handleSave = async () => {
       consignee: form.name,
       phone: form.phone,
       address: form.address,
-      isDefault: form.isDefault
+      defaultAddress: form.isDefault ? '0' : '1'
     };
 
     // 如果选择了省市区,发送代码
@@ -224,7 +224,7 @@ const handleSetDefault = async (item: any) => {
 </script>
 
 <style scoped lang="scss">
-.page-container{
+.page-container {
   flex: 1;
   background-color: #ffffff;
   padding: 15px;

+ 2 - 1
src/views/order/orderEvaluation/index.vue

@@ -197,7 +197,8 @@ const getorders = async () => {
   try {
     const params: any = {
       pageNum: 1,
-      pageSize: 100
+      pageSize: 100,
+      isSplitChild: '1'
     };
 
     if (queryParams.keyword) params.orderNo = queryParams.keyword;

+ 66 - 1
src/views/reconciliation/billManage/detail.vue

@@ -49,6 +49,20 @@
           <el-table-column prop="unitName" label="单位" min-width="60" align="center" />
         </el-table>
       </div>
+
+      <!-- 对账附件 -->
+      <div v-if="form.annexAddress">
+        <el-divider content-position="left">对账附件</el-divider>
+        <el-table :data="attachmentList" border style="width: 100%">
+          <el-table-column type="index" label="序号" width="80" align="center" />
+          <el-table-column prop="name" label="文件名称" min-width="200" align="center" />
+          <el-table-column label="操作" width="150" align="center">
+            <template #default="{ row }">
+              <el-button type="primary" link @click="handlePreview(row.url)">预览</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
     </div>
     <template #footer>
       <div class="dialog-footer">
@@ -59,7 +73,7 @@
 </template>
 
 <script setup lang="ts">
-import { ref, getCurrentInstance, toRefs } from 'vue';
+import { ref, computed, getCurrentInstance, toRefs } from 'vue';
 import { ElMessage } from 'element-plus';
 import { getStatementInfo } from '@/api/pc/enterprise/statement';
 import type { StatementOrder, StatementDetail, StatementProduct } from '@/api/pc/enterprise/statementTypes';
@@ -73,6 +87,57 @@ const visible = ref(false);
 const loading = ref(false);
 const form = ref<Partial<StatementOrder>>({});
 
+// 附件列表
+const attachmentList = computed(() => {
+  if (!form.value.annexAddress) return [];
+  const urls = form.value.annexAddress.split(',').filter(Boolean);
+  return urls.map((url, index) => {
+    const fileName = url.split('/').pop() || `附件${index + 1}`;
+    return {
+      name: decodeURIComponent(fileName),
+      url: url.trim()
+    };
+  });
+});
+
+// 预览附件
+const handlePreview = (url: string) => {
+  if (!url) {
+    ElMessage.warning('文件地址不存在');
+    return;
+  }
+  window.open(url, '_blank');
+};
+
+// 下载附件
+const handleDownload = async (url: string, name: string) => {
+  if (!url) {
+    ElMessage.warning('文件地址不存在');
+    return;
+  }
+  try {
+    const response = await fetch(url);
+    const blob = await response.blob();
+    const blobUrl = window.URL.createObjectURL(blob);
+    const link = document.createElement('a');
+    link.href = blobUrl;
+    link.download = name || '附件';
+    document.body.appendChild(link);
+    link.click();
+    document.body.removeChild(link);
+    window.URL.revokeObjectURL(blobUrl);
+  } catch (error) {
+    console.error('下载失败:', error);
+    const link = document.createElement('a');
+    link.href = url;
+    link.download = name || '附件';
+    link.target = '_blank';
+    document.body.appendChild(link);
+    link.click();
+    document.body.removeChild(link);
+  }
+};
+
 const open = async (id: number | string) => {
   visible.value = true;
   loading.value = true;

+ 1 - 1
src/views/trad/index.vue

@@ -344,7 +344,7 @@ const handleSave = async () => {
       consignee: formAddress.name,
       phone: formAddress.phone,
       address: formAddress.address,
-      isDefault: formAddress.isDefault
+      defaultAddress: formAddress.isDefault ? '0' : '1'
     };
 
     // 如果选择了省市区,发送代码