From 00700eed3d955a504dbb26e02044daa1c7cd741e Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期五, 15 八月 2025 18:45:28 +0800
Subject: [PATCH] 是否如

---
 ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue |  712 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 560 insertions(+), 152 deletions(-)

diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
index 3fd7356..4cb5738 100644
--- a/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivableBill/index.vue
@@ -1,174 +1,582 @@
 <template>
-  <basicContainer >
-    <avue-crud
-        :option="option"
-        :table-loading="pageF.loading"
-        :data="tableData"
-        :page="page"
-        :permission="permissionList"
-        :before-open="beforeOpen"
-        v-model="form"
-        ref="crudRef"
-        @row-update="rowUpdate"
-        @row-save="rowSave"
-        @refresh-change="refreshChange"
-        @row-del="rowDel"
-        @search-change="searchChange"
-        @search-reset="searchReset"
-        @selection-change="selectionChange"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-        @on-load="onLoad"
-    >
+  <basicContainer>
+    <avue-crud :option="option" :table-loading="pageF.loading" :data="tableData" :page="page"
+      :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" @row-update="rowUpdate"
+      @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" @search-change="searchChange"
+      @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+      @size-change="sizeChange" @on-load="onLoad">
       <template #menu-left>
-        <el-button
-            type="success"
-            icon="Edit"
-            :disabled="pageF.single"
-            v-hasPermi="['cwgl:estimatedReceivableBill:edit']"
-            @click="handleUpdate">淇敼
+        <!-- <el-button type="success" icon="Edit" :disabled="pageF.single"
+          v-hasPermi="['cwgl:estimatedReceivableBill:edit']" @click="handleUpdate">淇敼
+        </el-button> -->
+        <!-- <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete"
+          v-hasPermi="['cwgl:estimatedReceivableBill:remove']">鍒犻櫎
         </el-button>
-        <el-button
-            type="danger"
-            icon="Delete"
-            :disabled="pageF.multiple"
-            @click="handleDelete"
-            v-hasPermi="['cwgl:estimatedReceivableBill:remove']"
-        >鍒犻櫎
-        </el-button>
-        <el-button
-            type="warning"
-            plain
-            icon="Download"
-            @click="handleExport"
-            v-hasPermi="['cwgl:estimatedReceivableBill:export']"
-        >瀵煎嚭
-        </el-button>
+        <el-button type="warning" plain icon="Download" @click="handleExport"
+          v-hasPermi="['cwgl:estimatedReceivableBill:export']">瀵煎嚭
+        </el-button> -->
+      </template>
+      <template #billSystemNo="{ size, row, index }">
+
+        <el-link class="link-btn" type="primary" :underline="false" plain @click="handleBillSystemNo(row)">
+          {{ row.billSystemNo }}
+        </el-link>
+      </template>
+
+
+      <template #menu="{ size, row, index }">
+
+        <el-link class="link-btn" type="primary" v-if="[0, 1].includes(row.status)" :underline="false" plain
+          @click="handleclose(row)" v-hasPermi="['cwgl:estimatedReceivableBill:confirm']"> 缁撶畻
+        </el-link>
+        <el-link class="link-btn" type="primary" v-if="[0].includes(row.status)" :underline="false" plain
+          @click="handleAmend(row)" v-hasPermi="['cwgl:estimatedReceivableBill:invalid']"> 淇敼
+        </el-link>
+        <el-link class="link-btn" type="primary" :underline="false" plain @click="handleFlow(row)"
+          v-hasPermi="['cwgl:estimatedReceivableBill:flog']"> 鏃ュ織
+        </el-link>
       </template>
     </avue-crud>
   </basicContainer>
+
+
+  <el-dialog v-model="dialog.visible" :title="dialog.title" width="1200px">
+    <el-form ref="newFormRef" v-if="!dispIshow && noIshow" :model="newForm" :rules="rules" label-width="120px">
+      <el-row :gutter="20">
+        <el-col :span="12">
+          <el-form-item label="鏈缁撶畻閲戦" prop="settlementAmount">
+            <el-input v-model="newForm.settlementAmount" placeholder="璇疯緭鍏ユ湰娆$粨绠楅噾棰�" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="澶囨敞" prop="remark">
+            <el-input v-model="newForm.remark" :rows="2" type="textarea" placeholder="璇疯緭鍏ュ娉�" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="闄勪欢" prop="attachment">
+            <FileUpload v-model="newForm.attachment" :isShowTip="false"
+              :fileType="['pdf', 'bmp', 'gif', 'jpg', 'jpeg', 'png']"></FileUpload>
+            &nbsp;鏀寔鏂囦欢绫诲瀷锛� pdf锛宐mp锛実if锛宩pg锛宩peg锛宲ng'
+          </el-form-item>
+        </el-col>
+
+      </el-row>
+
+    </el-form>
+
+    <div v-if="!dispIshow && noIshow" style="text-align: center;margin-top: 20px;">
+      <el-button @click="cancel">鍙� 娑�</el-button>
+      <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+    </div>
+
+
+    <h2 style="margin: 15px;font-size: 15px;">
+      璐﹀崟鍩烘湰淇℃伅
+    </h2>
+    <el-form ref="storagesTransferRef" :model="newObjForm" label-width="120px">
+      <el-descriptions class="margin-top" title="" :column="3" border>
+        <el-descriptions-item label="璐﹀崟绯荤粺缂栧彿" align="center">
+          {{ importForm.billSystemNo }}
+        </el-descriptions-item>
+        <el-descriptions-item label="璐﹀崟鍚嶇О" align="center">
+          <el-input v-if="dispIshow" v-model="importForm.billName" placeholder="璇疯緭鍏ヨ处鍗曞悕绉�" />
+          <span v-if="!dispIshow"> {{ importForm.billName }}</span>
+        </el-descriptions-item>
+        <el-descriptions-item label="瀹㈡埛鍚嶇О" align="center">
+          {{ importForm.customerName }}
+        </el-descriptions-item>
+
+        <el-descriptions-item label="搴旂粨绠楅噾棰�" align="center">
+          {{ importForm.totalAmount }}
+        </el-descriptions-item>
+
+        <el-descriptions-item v-if="!dispIshow" label="宸茬粨绠楅噾棰�" align="center">
+          {{ importForm.settledAmount }}
+        </el-descriptions-item>
+
+        <el-descriptions-item v-if="!dispIshow" label="寰呯粨绠楅噾棰�" align="center">
+          <span v-if="importForm.totalAmount == 0">0</span>
+          <span v-else>{{ (importForm.totalAmount - importForm.settledAmount).toFixed(2) }}</span>
+        </el-descriptions-item>
+
+        <el-descriptions-item v-if="dispIshow" label="" align="center">
+        </el-descriptions-item>
+
+        <el-descriptions-item v-if="dispIshow" label="" align="center">
+        </el-descriptions-item>
+
+      </el-descriptions>
+    </el-form>
+
+    <div v-if="dispIshow" style="text-align: center;margin-top: 20px;">
+      <el-button @click="cancel">鍙� 娑�</el-button>
+      <el-button type="primary" @click="submitFormTow">纭� 瀹�</el-button>
+    </div>
+    <h2 style="margin: 15px;font-size: 15px;">
+      鍏宠仈鏄庣粏
+    </h2>
+    <avue-crud :option="newOption" :data="newTableData" v-model:search="newFormData" :page="newPageF"
+      :table-loading="itemTableLoading2" @search-change="newSearchChange" ref="newTableRef"
+      @search-reset="newRsetChange" @current-change="handleAttachmentCurrentChange"
+      @size-change="handleAttachmentSizeChange" @on-load="newOnLoad">
+
+      <template #menu="{ size, row, index }">
+        <el-link class="link-btn" type="primary" :underline="false" plain @click="handleRelevance(row)"
+          v-hasPermi="['cwgl:estimatedReceivableBill:relevancy']"> 鍙栨秷鍏宠仈
+        </el-link>
+      </template>
+
+    </avue-crud>
+
+
+    <div v-if="!noIshow" style="text-align: right;margin-top: 20px;">
+      <el-button @click="cancel">鍙� 娑�</el-button>
+    </div>
+
+  </el-dialog>
+
+  <flowLog ref="flowLogIshow" :fileNameIshow="true" :flowParams="flowParams"></flowLog>
+
+
 </template>
 
 <script setup name="estimatedReceivableBill" lang="ts">
-  import {EstimatedReceivableBillI,addEstimatedReceivableBill, delEstimatedReceivableBill, exportEstimatedReceivableBill, getEstimatedReceivableBill, listEstimatedReceivableBill, updateEstimatedReceivableBill} from "@/api/cwgl/estimatedReceivableBill";
-  import useCurrentInstance from "@/utils/useCurrentInstance";
-  import {computed,reactive, ref, toRefs} from "vue";
-  import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
-  import {usePagePlus} from "@/hooks/usePagePlus";
-  import {hasPermission} from "@/utils/permissionUtils";
+import {
+  EstimatedReceivableBillI, addEstimatedReceivableBill, delEstimatedReceivableBill, exportEstimatedReceivableBill, getEstimatedReceivableBill, listEstimatedReceivableBill, updateEstimatedReceivableBill,
+  estimatedReceivableBillSettlement, addEstimatedReceivableLog, cancelRelevancy, listEstimatedReceivableBillLog, updateEstimatedReceivableBillNmae
+} from "@/api/cwgl/estimatedReceivableBill";
+import useCurrentInstance from "@/utils/useCurrentInstance";
+import { computed, reactive, ref, toRefs } from "vue";
+import {
+  getSelectCustomNam,
+} from "@/api/cwgl/pendingSettlementBusiness";
+import { PagesInterface, PageQueryInterface } from "@/utils/globalInterface";
+import { usePagePlus } from "@/hooks/usePagePlus";
+import { hasPermission } from "@/utils/permissionUtils";
+import {
+  getPendingSettlementBusiness, listPendingSettlementBusiness
+} from "@/api/cwgl/pendingSettlementBusiness";
+const { proxy } = useCurrentInstance();
+const crudRef = ref();
 
-  const { proxy } = useCurrentInstance();
-  const crudRef = ref();
+const permissionList = computed(() => {
+  return {
+    addBtn: hasPermission(["cwgl:estimatedReceivableBill:add"]),
+    delBtn: hasPermission(["cwgl:estimatedReceivableBill:remove"]),
+    editBtn: hasPermission(["cwgl:estimatedReceivableBill:edit"]),
+    viewBtn: hasPermission(["cwgl:estimatedReceivableBill:query"]),
+  }
+})
+const dispIshow = ref(false)
+const data = reactive({
+  form: <EstimatedReceivableBillI>{},
+  queryParams: <EstimatedReceivableBillI & PageQueryInterface>{},
+  page: <PagesInterface>{
+    pageSize: 10,
+    total: 0,
+    currentPage: 1,
+  },
+  selectionList: [],
+  newForm: <EstimatedReceivableI>{
+    pageNum: 1,
+    pageSize: 10
+  },
+  importForm: {},
+  newTableData: [],
+  newFormData: {
+    pageNum: 1,
+    pageSize: 10
+  },
+  itemTableLoading2: false,
+  rules: {
+    settlementAmount: [
+      { required: true, message: '璇疯緭鍏ユ湰娆$粨绠楅噾棰�', trigger: 'blur' }
+    ],
 
-  const permissionList = computed(()=>{
-    return {
-      addBtn: hasPermission(["cwgl:estimatedReceivableBill:add"]),
-      delBtn: hasPermission(["cwgl:estimatedReceivableBill:remove"]),
-      editBtn: hasPermission(["cwgl:estimatedReceivableBill:edit"]),
-      viewBtn: hasPermission(["cwgl:estimatedReceivableBill:query"]),
-    }
-  })
+  },
+})
+const { queryParams, form, page, selectionList, newForm, importForm, newTableData, itemTableLoading2, newFormData, rules } = toRefs(data);
+const option = ref({
+  pageKey: 'EstimatedReceivableBill',
+  rowKey: 'id',
 
-  const data = reactive({
-    form:<EstimatedReceivableBillI>{},
-    queryParams:<EstimatedReceivableBillI&PageQueryInterface>{},
-    page: <PagesInterface>{
-      pageSize: 10,
-      total: 0,
-      currentPage: 1,
+  searchSpan: 5,
+  editDisplay: false,
+
+  addBtn: false,
+  editBtn: false,
+  delBtn: false,
+  viewBtn: false,
+
+  searchLabelWidth: 100,
+  labelWidth: 120,
+
+  column: {
+    // id: {
+    //   label: 'ID',
+    // },
+    billSystemNo: {
+      label: '璐﹀崟绯荤粺缂栧彿',
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "璐﹀崟绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
     },
-    selectionList:[],
-  })
-  const {queryParams,form,page,selectionList} = toRefs(data);
-  const option = ref({
-    pageKey: 'EstimatedReceivableBill',
-    rowKey: 'id',
-    column: {
-                                id: {
-          label: 'ID',
-                            },
-                                billSystemNo: {
-          label: '璐﹀崟绯荤粺缂栧彿',
-                                rules: [
-              {
-                required: true,
-                message: "璐﹀崟绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                billName: {
-          label: '璐﹀崟鍚嶇О',
-                                rules: [
-              {
-                required: true,
-                message: "璐﹀崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                customerName: {
-          label: '瀹㈡埛鍚嶇О',
-                                rules: [
-              {
-                required: true,
-                message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                dispatchCount: {
-          label: '璋冨害鍗曟暟閲�',
-                            },
-                                totalAmount: {
-          label: '搴旂粨绠楅噾棰�',
-                            },
-                                settledAmount: {
-          label: '宸茬粨绠楅噾棰�',
-                            },
-                                invoiceStatus: {
-          label: '寮�绁ㄧ姸鎬�',
-                            },
-                                attachment: {
-          label: '闄勪欢鍦板潃',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                            },
-                                status: {
-          label: '鐘舵��',
-                            },
-                                remark: {
-          label: '澶囨敞',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                            },
-                                createBy: {
-          label: '鍒涘缓浜�',
-                            },
-                                confirmTime: {
-          label: '纭鏃堕棿',
-                            },
-                                createTime: {
-          label: '鍒涘缓鏃堕棿',
-                            },
-                                updateTime: {
-          label: '鏇存柊鏃堕棿',
-                            },
-                                deleted: {
-          label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
-                            },
-          }
-  })
+    billName: {
+      label: '璐﹀崟鍚嶇О',
+      rules: [
+        {
+          required: true,
+          message: "璐﹀崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
 
-  const { tableData,pageF,rowSave,rowUpdate,rowDel,beforeOpen,searchChange,
-    searchReset,selectionChange,onLoad,currentChange,sizeChange,handleDelete,handleExport,handleUpdate,refreshChange} = usePagePlus({
-    form:form,
-    option:option,
-    queryParams:queryParams,
-    idKey:'id',
-    page:page.value,
-    getListApi:listEstimatedReceivableBill,
-    getDetailApi:getEstimatedReceivableBill,
-    exportApi:exportEstimatedReceivableBill,
-    deleteApi:delEstimatedReceivableBill,
-    addApi:addEstimatedReceivableBill,
-    updateApi:updateEstimatedReceivableBill,
-    handleUpdateFunc:()=>{
+    customerName: {
+      label: '瀹㈡埛鍚嶇О',
+      search: true,
+      minWidth: 220,
+      search: true,
+      type: 'select',           // 璁剧疆涓轰笅鎷夋绫诲瀷
+      dicData: [], // 浣跨敤 selectCustomName 浣滀负鏁版嵁婧�
+      disabled: false  // 鏍规嵁闇�瑕佽缃槸鍚︾鐢�
+    },
+
+    dispatchCount: {
+      label: '璋冨害鍗曟暟閲�',
+    },
+    totalAmount: {
+      label: '搴旂粨绠楅噾棰�',
+    },
+    settledAmount: {
+      label: '宸茬粨绠楅噾棰�',
+    },
+    invoiceStatus: {
+      label: '寮�绁ㄧ姸鎬�',
+      search: true,
+      dataType: 'string',
+      type: 'select',
+      dicUrl: '/system/dict/data/type/sys_ticket_status',
+    },
+    // attachment: {
+    //   label: '闄勪欢鍦板潃',
+    //   type: 'textarea', minRows: 3, maxRows: 5,
+    // },
+    status: {
+      label: '鐘舵��',
+      search: true,
+      dataType: 'string',
+      type: 'select',
+      dicUrl: '/system/dict/data/type/sys_final_statement_status',
+    },
+    // remark: {
+    //   label: '澶囨敞',
+    //   type: 'textarea', minRows: 3, maxRows: 5,
+    // },
+    // createBy: {
+    //   label: '鍒涘缓浜�',
+    // },
+    // confirmTime: {
+    //   label: '纭鏃堕棿',
+    // },
+    // createTime: {
+    //   label: '鍒涘缓鏃堕棿',
+    // },
+    // updateTime: {
+    //   label: '鏇存柊鏃堕棿',
+    // },
+    // deleted: {
+    //   label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
+    // },
+  }
+})
+
+const newOption = ref({
+  pageKey: 'PendingSettlementBusiness',
+  rowKey: 'id',
+  searchSpan: 5,
+  selectionType: 'single',
+  selectType: 'radio',
+  editDisplay: false,
+  addBtn: false,
+  editBtn: false,
+  selection: false,
+  delBtn: false,
+  menu: false,
+  viewBtn: false,
+  header: false,
+  // searchLabelWidth: 100,
+  // labelWidth: 120,
+  column: {
+    projectName: {
+      label: '椤圭洰鍚嶇О',
+    },
+    dispatchNo: {
+      label: '璋冨害鍗曞彿',
+    },
+    createdTime: {
+      label: '涓嬪崟鏃堕棿',
+    },
+    estimatedTotalIncome: {
+      label: '棰勪及搴旀敹閲戦',
+    },
+    currency: {
+      label: '甯佸埗',
+    },
+    // customerName: {
+    //   label: '瀹㈡埛鍚嶇О',
+    //   search: true,
+    // },
+
+
+  }
+})
+const { tableData, pageF, rowSave, rowUpdate, rowDel, beforeOpen, searchChange,
+  searchReset, selectionChange, onLoad, currentChange, sizeChange, handleDelete, handleExport, handleUpdate, refreshChange } = usePagePlus({
+    form: form,
+    option: option,
+    queryParams: queryParams,
+    idKey: 'id',
+    page: page.value,
+    getListApi: listEstimatedReceivableBill,
+    getDetailApi: getEstimatedReceivableBill,
+    exportApi: exportEstimatedReceivableBill,
+    deleteApi: delEstimatedReceivableBill,
+    addApi: addEstimatedReceivableBill,
+    updateApi: updateEstimatedReceivableBill,
+    handleUpdateFunc: () => {
       crudRef.value.rowEdit(selectionList.value[0]);
     },
-    handleSelectionChangeFunc:(selection:any)=>{
+    handleSelectionChangeFunc: (selection: any) => {
       selectionList.value = selection;
+    },
+
+
+  })
+const dialog = reactive({
+  visible: false,
+  title: '',
+})
+const newTableRef = ref();
+const handleclose = (row) => {
+  newFormData.value.billId = row.id;
+  dispIshow.value = false;
+  newOption.value.menu = false;
+  noIshow.value = true;
+  listPendingSettlementBusiness({ billId: row.id }).then((res) => {
+    if (res.code === 200) {
+      newForm.value.id = row.id;
+      importForm.value = row;
+      dialog.visible = true;
+      newPageF.value.total = res.total || 0;
+      newTableData.value = res.rows || [];
+      newTableData.value.map(item => {
+        item.currency = '浜烘皯甯�';
+      });
+      newTableRef.value.refreshTable();
+      dialog.title = '搴旀敹璐﹀崟缁撶畻';
     }
   })
 
+  // crudRef.value.close();
+}
 
+const handleAmend = (row) => {
+  newFormData.value.billId = row.id;
+  importForm.value.billId = row.id;
+  dispIshow.value = true;
+  newOption.value.menu = true;
+  listPendingSettlementBusiness({ billId: row.id }).then((res) => {
+    if (res.code === 200) {
+      newForm.value.id = row.id;
+      importForm.value = row;
+      dialog.visible = true;
+      newPageF.value.total = res.total || 0;
+      newTableData.value = res.rows || [];
+      newTableData.value.map(item => {
+        item.currency = '浜烘皯甯�';
+      });
+      newTableRef.value.refreshTable();
+      dialog.title = '搴旀敹璐﹀崟淇敼';
+    }
+  })
+}
+const noIshow = ref(false)
+const handleBillSystemNo = (row) => {
+  newFormData.value.billId = row.id;
+  dispIshow.value = false;
+  noIshow.value = false;
+  newOption.value.menu = false;
+  listPendingSettlementBusiness({ billId: row.id }).then((res) => {
+    if (res.code === 200) {
+      importForm.value = row;
+      dialog.visible = true;
+      dialog.title = '璐﹀崟璇︽儏';
+      newPageF.value.total = res.total || 0;
+      newTableData.value = res.rows || [];
+      newTableData.value.map(item => {
+        item.currency = '浜烘皯甯�';
+      });
+      newTableRef.value.refreshTable();
+    }
+  })
+}
+const newFormRef = ref();
+const submitForm = () => {
+  if (newTableData.value.length == 0) {
+    proxy.$message.error('鏃犲叧鑱旀槑缁嗭紝鏃犳硶缁撶畻');
+    return; // 娣诲姞 return 涓柇鎵ц
+  } else {
+    newFormRef.value!.validate(valid => {
+      if (valid) {
+        // 娣诲姞鏍¢獙閫昏緫锛氭湰娆$粨绠楅噾棰濅笉鑳藉ぇ浜庡簲缁撶畻閲戦
+        const settlementAmount = parseFloat(newForm.value.settlementAmount);
+        const totalAmount = parseFloat(importForm.value.totalAmount);
+
+        // 妫�鏌ヨ緭鍏ユ槸鍚︿负鏈夋晥鏁板瓧
+        if (isNaN(settlementAmount) || isNaN(totalAmount)) {
+          proxy.$message.error('閲戦鏍煎紡涓嶆纭�');
+          return;
+        }
+
+        if (settlementAmount > totalAmount) {
+          proxy.$message.error('鏈缁撶畻閲戦涓嶈兘澶т簬搴旂粨绠楅噾棰�');
+          return; // 鍏抽敭锛氬湪杩欓噷娣诲姞 return 涓柇鍚庣画鎵ц
+        }
+
+        let data = {
+          billId: newForm.value.id,
+          fileName: newForm.value.attachment
+        }
+        addEstimatedReceivableLog(data).then((res1) => {
+          if (res1.code === 200) {
+            estimatedReceivableBillSettlement(newForm.value).then((res) => {
+              if (res.code === 200) {
+                onLoad(page.value);
+                proxy.$message.success('鎿嶄綔鎴愬姛');
+                dialog.visible = false;
+                newForm.value = {};
+              }
+            })
+          }
+        })
+      } else {
+        // 琛ㄥ崟楠岃瘉澶辫触
+        return false;
+      }
+    });
+  }
+}
+const submitFormTow = () => {
+  proxy.$modal.confirm(`鏄惁纭淇敼璐﹀崟鍚嶇О?`).then(function () {
+    return updateEstimatedReceivableBillNmae(importForm.value);
+  }).then((res) => {
+    onLoad(page.value);
+    proxy.$modal.msgSuccess(res.msg);
+  })
+
+}
+const storagesTransferRef = ref();
+const cancel = () => {
+  newForm.value = {};
+  dialog.visible = false;
+  proxy.resetForm(storagesTransferRef.value)
+}
+
+
+const newPageF = ref<PagesInterface>({
+  total: 0,
+  pageSize: 10
+})
+
+const newSearchChange = (params, done) => {
+  // itemTableLoading2.value = true;
+  // listPendingSettlementBusiness(newForm.value).then((res) => {
+  //   if (res.code === 200) {
+  //     done()
+  //     newTableData.value = res.rows || [];
+  //     newPageF.value.total = res.total || 0;
+  //   }
+  //   itemTableLoading2.value = false;
+  // })
+}
+const newRsetChange = (done) => {
+  getEstimatedReceivableCancel()
+}
+// 澶勭悊闄勪欢鍒嗛〉椤电爜鍙樺寲
+const handleAttachmentCurrentChange = (currentPage: number) => {
+  newFormData.value.pageNum = currentPage;
+  getEstimatedReceivableCancel();
+}
+// 澶勭悊闄勪欢鍒嗛〉澶у皬鍙樺寲
+const handleAttachmentSizeChange = (pageSize: number) => {
+  newFormData.value.pageSize = pageSize;
+  getEstimatedReceivableCancel();
+}
+const newOnLoad = (newPageF) => {
+  getEstimatedReceivableCancel(newPageF);
+}
+const getEstimatedReceivableCancel = () => {
+  itemTableLoading2.value = true;
+  listPendingSettlementBusiness(newFormData.value).then((res) => {
+    if (res.code === 200) {
+      newTableData.value = res.rows || [];
+      newTableData.value.map(item => {
+        item.currency = '浜烘皯甯�';
+      });
+      newTableRef.value.refreshTable();
+      newPageF.value.total = res.total || 0;
+    }
+    itemTableLoading2.value = false;
+  })
+}
+
+const handleRelevance = (row) => {
+  proxy.$modal.confirm(`鏄惁鍙栨秷鍏宠仈鎴愬姛璇ヨ皟搴﹀彿 锛�${row.dispatchNo}?`).then(function () {
+    return cancelRelevancy(row.id);
+  }).then((res) => {
+    newOnLoad(newPageF.value);
+    proxy.$modal.msgSuccess(res.msg);
+  })
+
+}
+
+const flowLogIshow = ref()
+const flowParams = ref([])
+const handleFlow = (row: string) => {
+  let data = {
+    billId: row.id,
+  }
+  listEstimatedReceivableBillLog(data).then((res) => {
+    flowParams.value = res.rows
+    flowLogIshow.value.openModel()
+
+  })
+}
+
+const selectCustomName = ref([]);
+const getSelectCustomName = () => {
+  getSelectCustomNam().then((res) => {
+    if (res.code === 200) {
+      // selectCustomName.value = res.data;
+      selectCustomName.value = res.data.map(item => ({
+        dictLabel: item,
+        dictValue: item
+      }));
+      option.value.column.customerName.dicData = selectCustomName.value || [];
+    }
+  })
+}
+getSelectCustomName()
 </script>
+<style scoped>
+::v-deep .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell {
+  border: var(--el-descriptions-table-border);
+  padding: 8px 11px;
+  width: 200px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0