From dda4c08d41693d2495a13e7db230c3e9747540de Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 02 九月 2025 10:33:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/yagwly_fa_master' into yagwly_fa_master
---
ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue | 782 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 617 insertions(+), 165 deletions(-)
diff --git a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
index dee3b92..5da6fa1 100644
--- a/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/estimatedReceivable/index.vue
@@ -1,189 +1,641 @@
<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" v-model:search="queryParams" :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 #dispatchNo-form="{ row, size, }">
+ <div style="cursor: pointer;">
+ <el-input v-model="form.dispatchNo" @click="handleFormSearch" readonly placeholder="璇疯緭鍏� 璋冨害鍗曞彿">
+ <template #append>
+ <el-button icon="Search" style="cursor: pointer;" @click="handleFormSearch"></el-button>
+ </template>
+ </el-input>
+ </div>
+ </template>
+
+
+
<template #menu-left>
- <el-button
- type="success"
- icon="Edit"
- :disabled="pageF.single"
- v-hasPermi="['cwgl:estimatedReceivable:edit']"
- @click="handleUpdate">淇敼
+ <el-button type="success" icon="Edit" :disabled="editIshow" v-hasPermi="['cwgl:estimatedReceivable:edit']"
+ @click="handleUpdate">淇敼
</el-button>
- <el-button
- type="danger"
- icon="Delete"
- :disabled="pageF.multiple"
- @click="handleDelete"
- v-hasPermi="['cwgl:estimatedReceivable:remove']"
- >鍒犻櫎
+ <el-button type="danger" icon="Delete" :disabled="removeIshow" @click="handleDelete"
+ v-hasPermi="['cwgl:estimatedReceivable:remove']">鍒犻櫎
</el-button>
- <el-button
- type="warning"
- plain
- icon="Download"
- @click="handleExport"
- v-hasPermi="['cwgl:estimatedReceivable:export']"
- >瀵煎嚭
+ <el-button type="warning" plain icon="Download" @click="handleExport"
+ v-hasPermi="['cwgl:estimatedReceivable:export']">瀵煎嚭
</el-button>
+ </template>
+
+
+
+
+ <template #menu="{ size, row, index }">
+ <el-link class="link-btn" type="primary" :underline="false" plain :size="size"
+ @click="handleEditBtn(row, index)" v-if="[0, 1].includes(row.relatedBillStatus) && row.isConfirmed != 2"
+ v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 缂栬緫
+ </el-link>
+ <el-link class="link-btn" type="primary"
+ v-if="row.isConfirmed == 1 && row.relatedBillStatus != 2 && row.relatedBillStatus != 3" :underline="false"
+ plain :size="size" @click="handleCancel(row)" v-hasPermi="['cwgl:estimatedReceivable:cancel']"> 鍙栨秷纭
+ </el-link>
+ <el-link class="link-btn" type="primary" v-if="row.isConfirmed == 0 && ![2, 3].includes(row.relatedBillStatus)"
+ :underline="false" plain @click="handleAffirm(row)" v-hasPermi="['cwgl:estimatedReceivable:confirm']"> 纭
+ </el-link>
+ <el-link class="link-btn" type="primary"
+ v-if="row.isConfirmed == 1 && row.relatedBillStatus != 2 && row.relatedBillStatus != 3" :underline="false"
+ plain @click="handleInvalid(row)" v-hasPermi="['cwgl:estimatedReceivable:invalid']"> 浣滃簾
+ </el-link>
+ <el-link class="link-btn" type="primary" :underline="false" plain @click="handleFlow(row)"
+ v-hasPermi="['cwgl:estimatedReceivable:flog']"> 鏃ュ織
+ </el-link>
</template>
</avue-crud>
</basicContainer>
+
+ <el-dialog v-model="dialog.visible" :title="dialog.title" width="1200px">
+ <!-- <el-form ref="storagesTransferRef" :model="newForm" :rules="rules" label-width="120px">
+ <el-row :gutter="20">
+ <el-col :span="8">
+ <el-form-item label="璋冨害鍗曞彿" prop="dispatchNo">
+ <el-input v-model="newForm.dispatchNo" placeholder="璇疯緭鍏ヨ皟搴﹀崟鍙�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="瀹㈡埛鍚嶇О" prop="customerName">
+ <el-input v-model="newForm.customerName" placeholder="璇疯緭鍏ュ鎴峰悕绉�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="椤圭洰鍚嶇О" prop="projectName">
+ <el-input v-model="newForm.projectName" placeholder="璇疯緭鍏ラ」鐩悕绉�" />
+
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="涓嬪崟鏃ユ湡" prop="createdTime">
+ <el-date-picker v-model="newForm.createdTime" type="date" valueFormat="YYYY-MM-DD" placeholder="璇烽�夋嫨涓嬪崟鏃ユ湡"/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item>
+ <el-button type="primary" icon="Search" @click="newGetList">鎼滅储</el-button>
+ <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-col>
+
+ </el-row>
+
+ </el-form>
+
+ <el-table :data="newTableData" @selection-change="handleSelectionChange" border ref="newTableRef"
+ @row-click="handleRowClick">
+ <el-table-column type="selection" width="55" align="center" />
+ <el-table-column fixed label="璋冨害鍗曞彿" align="center" prop="dispatchNo" show-overflow-tooltip />
+ <el-table-column label="瀹㈡埛鍚嶇О" align="center" prop="customerName" show-overflow-tooltip />
+ <el-table-column label="椤圭洰鍚嶇О" align="center" prop="projectName" show-overflow-tooltip />
+ <el-table-column label="涓嬪崟鏃ユ湡" align="center" prop="createdTime" show-overflow-tooltip />
+ </el-table> -->
+
+ <avue-crud :option="newOption" :data="newTableData" v-model:search="newForm" :page="newPageF"
+ :table-loading="itemTableLoading2" @search-change="newSearchChange" ref="newTableRef"
+ @selection-change="newSelectionChange" @search-reset="newRsetChange"
+ @current-change="handleAttachmentCurrentChange" @size-change="handleAttachmentSizeChange" @on-load="newOnLoad">
+ </avue-crud>
+
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </template>
+
+ </el-dialog>
+
+ <flowLog ref="flowLogIshow" :flowParams="flowParams"></flowLog>
</template>
<script setup name="estimatedReceivable" lang="ts">
- import {EstimatedReceivableI,addEstimatedReceivable, delEstimatedReceivable, exportEstimatedReceivable, getEstimatedReceivable, listEstimatedReceivable, updateEstimatedReceivable} from "@/api/cwgl/estimatedReceivable";
- 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 {
+ EstimatedReceivableI, addEstimatedReceivable, delEstimatedReceivable, exportEstimatedReceivable, getEstimatedReceivable, listEstimatedReceivable, updateEstimatedReceivable,
+ getEstimatedReceivableConfirm, getCwglEstimatedReceivableCancel, getEstimatedReceivableInvalid
+} from "@/api/cwgl/estimatedReceivable";
+import { listEstimatedReceivableLog } from "@/api/cwgl/estimatedReceivableLog";
+import { listEstimatedReceivableBillLog } from "@/api/cwgl/estimatedReceivableBillLog";
+import {
+ getSelectCustomNam,
+} from "@/api/cwgl/pendingSettlementBusiness";
+import {
+ listPendingSettlementBusiness,
+} from "@/api/cwgl/pendingSettlementBusiness";
+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 { ElMessage, ElMessageBox } from "element-plus";
- const { proxy } = useCurrentInstance();
- const crudRef = ref();
+const { proxy } = useCurrentInstance();
+const crudRef = ref();
- const permissionList = computed(()=>{
- return {
- addBtn: hasPermission(["cwgl:estimatedReceivable:add"]),
- delBtn: hasPermission(["cwgl:estimatedReceivable:remove"]),
- editBtn: hasPermission(["cwgl:estimatedReceivable:edit"]),
- viewBtn: hasPermission(["cwgl:estimatedReceivable:query"]),
- }
- })
+const permissionList = computed(() => {
+ return {
+ addBtn: hasPermission(["cwgl:estimatedReceivable:add"]),
+ delBtn: hasPermission(["cwgl:estimatedReceivable:remove"]),
+ editBtn: hasPermission(["cwgl:estimatedReceivable:edit"]),
+ viewBtn: hasPermission(["cwgl:estimatedReceivable:query"]),
+ }
+})
- const data = reactive({
- form:<EstimatedReceivableI>{},
- queryParams:<EstimatedReceivableI&PageQueryInterface>{},
- page: <PagesInterface>{
- pageSize: 10,
- total: 0,
- currentPage: 1,
+const data = reactive({
+ form: <EstimatedReceivableI>{},
+ newTableData: [],
+ removeIshow: true,
+ editIshow: true,
+ newForm: <EstimatedReceivableI>{
+ pageNum: 1,
+ pageSize: 10
+ },
+ queryParams: <EstimatedReceivableI & PageQueryInterface>{
+ feeType: 0
+ },
+ page: <PagesInterface>{
+ pageSize: 10,
+ total: 0,
+ currentPage: 1,
+ },
+ selectionList: [],
+ newSelectionList: [],
+ itemTableLoading1: false,
+ itemTableLoading2: false,
+})
+const { queryParams, form, page, selectionList, newForm, newTableData, newSelectionList, itemTableLoading1, itemTableLoading2, removeIshow, editIshow } = toRefs(data);
+const option = ref({
+ pageKey: 'EstimatedReceivable',
+ rowKey: 'id',
+ searchSpan: 5,
+ editDisplay: false,
+
+ addBtn: true,
+ editBtn: false,
+ editBtnIcon: ' ',
+
+ delBtn: false,
+ viewBtn: false,
+
+ searchLabelWidth: 100,
+ labelWidth: 120,
+ column: {
+ // id: {
+ // label: 'ID',
+ // },
+ feeSystemNo: {
+ label: '璐圭敤绯荤粺缂栧彿',
+ rules: [
+ {
+ required: true,
+ message: "璐圭敤绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ minWidth: 140,
+ search: true,
+ addDisplay: false,
+ editDisplay: false,
},
- selectionList:[],
- })
- const {queryParams,form,page,selectionList} = toRefs(data);
- const option = ref({
- pageKey: 'EstimatedReceivable',
- rowKey: 'id',
- column: {
- id: {
- label: 'ID',
- },
- feeSystemNo: {
- label: '璐圭敤绯荤粺缂栧彿',
- rules: [
- {
- required: true,
- message: "璐圭敤绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- dispatchNo: {
- label: '璋冨害鍗曞彿',
- rules: [
- {
- required: true,
- message: "璋冨害鍗曞彿涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- customerName: {
- label: '瀹㈡埛鍚嶇О',
- rules: [
- {
- required: true,
- message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- projectName: {
- label: '椤圭洰鍚嶇О',
- },
- orderDate: {
- label: '涓嬪崟鏃ユ湡',
- },
- feeName: {
- label: '璐圭敤鍚嶇О',
- rules: [
- {
- required: true,
- message: "璐圭敤鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- estimatedAmount: {
- label: '棰勪及璐圭敤閲戦',
- },
- currency: {
- label: '甯佸埗',
- },
- relatedBillName: {
- label: '鍏宠仈璐﹀崟鍚嶇О',
- },
- relatedBillStatus: {
- label: '鍏宠仈璐﹀崟鐘舵��',
- },
- isConfirmed: {
- label: '鏄惁纭(0:鏈‘璁�;1:宸茬‘璁�)',
- },
- confirmBy: {
- label: '纭浜�',
- },
- confirmTime: {
- label: '纭鏃堕棿',
- },
- remark: {
- label: '澶囨敞',
- type: 'textarea', minRows: 3, maxRows: 5,
- },
- createBy: {
- label: '鍒涘缓浜�',
- },
- updateBy: {
- label: '鏇存柊浜�',
- },
- createTime: {
- label: '鍒涘缓鏃堕棿',
- },
- updateTime: {
- label: '鏇存柊鏃堕棿',
- },
- deleted: {
- label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
- },
- }
- })
+ dispatchNo: {
+ label: '璋冨害鍗曞彿',
+ minWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "璋冨害鍗曞彿涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ search: true,
+ },
+ // customerName: {
+ // label: '瀹㈡埛鍚嶇О',
+ // rules: [
+ // {
+ // required: true,
+ // message: "瀹㈡埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+ // }
+ // ],
+ // search: true,
+ // disabled: true,
+ // },
+ customerName: {
+ label: '瀹㈡埛鍚嶇О',
+ search: true,
+ minWidth: 220,
+ showOverflowTooltip: true,
+ type: 'select', // 璁剧疆涓轰笅鎷夋绫诲瀷
+ dicData: [], // 浣跨敤 selectCustomName 浣滀负鏁版嵁婧�
+ disabled: false // 鏍规嵁闇�瑕佽缃槸鍚︾鐢�
+ },
+ projectName: {
+ label: '椤圭洰鍚嶇О',
+ search: true,
+ disabled: true,
+ minWidth: 220,
+ showOverflowTooltip: true,
+ },
+ orderDate: {
+ label: '涓嬪崟鏃ユ湡',
+ search: true,
+ minWidth: 180,
+ type: 'datetime', // 鏀逛负 datetime 绫诲瀷
+ format: 'YYYY-MM-DD HH:mm:ss',
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ },
+ feeName: {
+ label: '璐圭敤鍚嶇О',
+ minWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "璐圭敤鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ 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:listEstimatedReceivable,
- getDetailApi:getEstimatedReceivable,
- exportApi:exportEstimatedReceivable,
- deleteApi:delEstimatedReceivable,
- addApi:addEstimatedReceivable,
- updateApi:updateEstimatedReceivable,
- handleUpdateFunc:()=>{
+ estimatedAmount: {
+ label: '璐圭敤閲戦',
+ rules: [
+ {
+ required: true,
+ message: "璐圭敤閲戦涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ },
+ currency: {
+ label: '甯佸埗',
+ disabled: true,
+ },
+ relatedBillName: {
+ label: '鍏宠仈璐﹀崟鍚嶇О',
+ minWidth: 120,
+ addDisplay: false, // 鏂板鏃朵笉鏄剧ず
+ editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+ },
+ relatedBillStatus: {
+ label: '鍏宠仈璐﹀崟鐘舵��',
+ search: true,
+ minWidth: 120,
+ dataType: 'string',
+ type: 'select',
+ addDisplay: false, // 鏂板鏃朵笉鏄剧ず
+ editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+ dicUrl: '/system/dict/data/type/sys_related_status',
+ // formatter: (row, value) => {
+ // // 鑷畾涔夋牸寮忓寲閫昏緫锛堝鏋滈渶瑕侊級
+ // return value;
+ // }
+ },
+ isConfirmed: {
+ label: '鏄惁纭',
+ dataType: 'string',
+ addDisplay: false, // 鏂板鏃朵笉鏄剧ず
+ editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+ search: true,
+ type: 'select',
+ dicUrl: '/system/dict/data/type/sys_affirm_status',
+ },
+ remark: {
+ label: '澶囨敞',
+ minWidth: 120,
+ showOverflowTooltip: true,
+ type: 'textarea', minRows: 3, maxRows: 5,
+ },
+
+
+
+ // confirmBy: {
+ // label: '纭浜�',
+ // },
+ // confirmTime: {
+ // label: '纭鏃堕棿',
+ // },
+
+ // createBy: {
+ // label: '鍒涘缓浜�',
+ // },
+ // updateBy: {
+ // 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,
+ menu: false,
+ delBtn: false,
+ viewBtn: false,
+ searchLabelWidth: 100,
+ labelWidth: 120,
+ indexLabel: '搴忓彿',
+ column: {
+ dispatchNo: {
+ label: '璋冨害鍗曞彿',
+ search: true,
+ },
+ customerName: {
+ label: '瀹㈡埛鍚嶇О',
+ search: true,
+ },
+ projectName: {
+ label: '椤圭洰鍚嶇О',
+ search: true,
+ },
+ createdTime: {
+ label: '涓嬪崟鏃ユ湡',
+ search: true,
+ type: 'date',
+ format: 'YYYY-MM-DD',
+ valueFormat: 'YYYY-MM-DD',
+ }
+ }
+})
+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: listEstimatedReceivable,
+ getDetailApi: getEstimatedReceivable,
+ exportApi: exportEstimatedReceivable,
+ deleteApi: delEstimatedReceivable,
+ addApi: addEstimatedReceivable,
+ updateApi: updateEstimatedReceivable,
+ handleUpdateFunc: () => {
crudRef.value.rowEdit(selectionList.value[0]);
},
- handleSelectionChangeFunc:(selection:any)=>{
+ handleSelectionChangeFunc: (selection: any) => {
selectionList.value = selection;
+ console.log(selection);
+
+ // 鏍规嵁閫変腑椤规暟閲忓拰鐘舵�佽缃紪杈戞寜閽槸鍚﹀彲鐢�
+ if (selection.length === 1 && [0, 1].includes(selection[0].relatedBillStatus)) {
+ editIshow.value = false;
+ } else {
+ editIshow.value = true;
+ }
+
+ if (selection.length === 1 && [0].includes(selection[0].isConfirmed)) {
+ removeIshow.value = false;
+ } else {
+ removeIshow.value = true;
+ }
+
+ },
+ getBeginListFunc: (params = {}) => {
+ params.feeType = 0;
+ return params
+
+ }
+
+ })
+const dialog = reactive({
+ visible: false,
+ title: '',
+})
+const newPageF = ref<PagesInterface>({
+ total: 0,
+ pageSize: 10
+})
+const storagesTransferRef = ref<FormInstance>()
+const handleFormSearch = () => {
+ listPendingSettlementBusiness(newForm.value).then((res) => {
+ if (res.code === 200) {
+ dialog.visible = true;
+ dialog.title = '閫夋嫨璋冨害鍗曞彿';
+ newTableData.value = res.rows || [];
+ newPageF.value.total = res.total || 0;
+ console.log(newPageF.value.totale);
+
}
})
+}
+const newGetList = () => {
+ console.log(newForm.value);
+
+ listPendingSettlementBusiness(newForm.value).then((res) => {
+ if (res.code === 200) {
+ newTableData.value = res.rows || [];
+ newPageF.value.total = res.total || 0;
+ }
+ })
+}
+
+const newTableRef = ref();
+const newSelectionChange = (selection: any) => {
+
+ // 鍙繚鐣欐渶鍚庝竴涓�変腑鐨勯」
+ if (selection.length > 1) {
+ const nowVal = selection.shift();
+ // newTableRef.value.clearSelection([]);
+ newTableRef.value.toggleRowSelection(nowVal, false);
+
+ } else {
+ console.log("newSelectionChange", selection);
+
+ newSelectionList.value = selection
+ }
+}
+
+const resetQuery = () => {
+ newForm.value = {
+ pageNum: 1,
+ pageSize: 10
+ }
+ listPendingSettlementBusiness(newForm.value).then((res) => {
+ if (res.code === 200) {
+ newTableData.value = res.rows || [];
+ newPageF.value.total = res.total || 0;
+ }
+ })
+}
+const submitForm = () => {
+ if (newSelectionList.value.length === 0) {
+ proxy.$modal.msgWarning("璇烽�夋嫨璋冨害鍗曞彿");
+ return;
+ }
+ const selectedDispatchNo = newSelectionList.value[0]
+ // option.value.column = selectedDispatchNo;
+ // 灏嗛�変腑琛岀殑鏁版嵁璧嬪�肩粰琛ㄥ崟
+ form.value.dispatchNo = selectedDispatchNo.dispatchNo;
+ form.value.customerName = selectedDispatchNo.customerName;
+ form.value.projectName = selectedDispatchNo.projectName;
+ form.value.currency = '浜烘皯甯�';
+ dialog.visible = false;
+}
+
+/* */
+// 澶勭悊闄勪欢鍒嗛〉椤电爜鍙樺寲
+const handleAttachmentCurrentChange = (currentPage: number) => {
+ newForm.value.pageNum = currentPage;
+ getEstimatedReceivableCancel();
+}
+// 澶勭悊闄勪欢鍒嗛〉澶у皬鍙樺寲
+const handleAttachmentSizeChange = (pageSize: number) => {
+ newForm.value.pageSize = pageSize;
+ getEstimatedReceivableCancel();
+}
+const newOnLoad = (newPageF) => {
+ getEstimatedReceivableCancel(newPageF)
+}
+// 鍔犺浇闄勪欢鏁版嵁鐨勫嚱鏁�
+const loadAttachmentData = () => {
+ itemTableLoading2.value = true;
+ listPendingSettlementBusiness(newForm.value).then((res) => {
+ if (res.code === 200) {
+ dialog.visible = true;
+ dialog.title = '閫夋嫨璋冨害鍗曞彿';
+ newTableData.value = res.rows || [];
+ newPageF.value.total = res.total || 0;
+ }
+ itemTableLoading2.value = false;
+ })
+
+}
+const getEstimatedReceivableCancel = () => {
+ itemTableLoading2.value = true;
+ listPendingSettlementBusiness(newForm.value).then((res) => {
+ if (res.code === 200) {
+ newTableData.value = res.rows || [];
+ newPageF.value.total = res.total || 0;
+ }
+ itemTableLoading2.value = false;
+ })
+}
+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 attachmentChange = () => {
+ // loadAttachmentData();
+}
+/* */
+const cancel = () => {
+ dialog.visible = false;
+ newForm.value = {
+ pageNum: 1,
+ pageSize: 10
+ }
+ newTableData.value = [];
+}
+const handleCancel = (row: any) => {
+
+ proxy.$modal.confirm(`鏄惁鍙栨秷纭璇ヨ皟搴﹀崟鍙� 锛�${row.dispatchNo}?`).then(function () {
+ return getCwglEstimatedReceivableCancel(row.id);
+ }).then((res) => {
+ if (res.code == 200) {
+ console.log(res);
+
+ onLoad(page.value);
+ proxy.$modal.msgSuccess(res.msg);
+ }
+ })
+}
+const handleAffirm = (row: any) => {
+ proxy.$modal.confirm(`鏄惁纭璇ヨ皟搴﹀崟鍙� 锛�${row.dispatchNo}?`).then(function () {
+ return getEstimatedReceivableConfirm(row.id);
+ }).then((res) => {
+ onLoad(page.value);
+
+ proxy.$modal.msgSuccess(res.msg);
+ })
+
+}
+
+const handleInvalid = (row: any) => {
+ proxy.$modal.confirm(`鏄惁浣滃簾璇ヨ皟搴﹀崟鍙� 锛�${row.dispatchNo}?`).then(function () {
+ return getEstimatedReceivableInvalid(row.id);
+ }).then((res) => {
+ onLoad(page.value);
+
+ proxy.$modal.msgSuccess(res.msg);
+ })
+
+}
+
+
+
+const flowLogIshow = ref()
+const flowParams = ref([])
+
+const handleFlow = (row: string) => {
+ let data = {
+ estimatedId: row.id,
+ }
+ listEstimatedReceivableLog(data).then((res) => {
+ flowParams.value = res.rows
+ flowLogIshow.value.openModel()
+
+ })
+}
+const handleEditBtn = (row, index) => {
+ crudRef.value.rowEdit(row, index)
+ // option.value.editBtn = true;
+}
+
+/* */
+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>
+:deep(.avue-crud__table) {
+ overflow-y: auto;
+}
+
+:deep(.el-scrollbar__bar.is-horizontal) {
+ pointer-events: auto;
+}
+</style>
\ No newline at end of file
--
Gitblit v1.8.0