From ccfedfe40d734687f1a8b72ea47abe160f2fa9a7 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 25 十二月 2025 16:04:50 +0800
Subject: [PATCH] 新增发票服务商代码

---
 ui/admin-ui3/src/views/cwgl/bankSupplierConfig/index.vue |  461 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 287 insertions(+), 174 deletions(-)

diff --git a/ui/admin-ui3/src/views/cwgl/bankSupplierConfig/index.vue b/ui/admin-ui3/src/views/cwgl/bankSupplierConfig/index.vue
index d705ccb..929b2b6 100644
--- a/ui/admin-ui3/src/views/cwgl/bankSupplierConfig/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/bankSupplierConfig/index.vue
@@ -1,193 +1,306 @@
 <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:bankSupplierConfig:edit']"
-            @click="handleUpdate">淇敼
+        <el-button type="primary" icon="Plus" v-hasPermi="['cwgl:bankConfig:add']" @click="handleAdd">鏂板
         </el-button>
-        <el-button
-            type="danger"
-            icon="Delete"
-            :disabled="pageF.multiple"
-            @click="handleDelete"
-            v-hasPermi="['cwgl:bankSupplierConfig:remove']"
-        >鍒犻櫎
+        <!-- <el-button type="success" icon="Edit" :disabled="pageF.single" v-hasPermi="['cwgl:bankAccountConfig:edit']"
+          @click="handleUpdate">淇敼
+        </el-button> -->
+        <!-- <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete"
+          v-hasPermi="['cwgl:bankAccountConfig:remove']">鍒犻櫎
+        </el-button> -->
+        <el-button type="warning" plain icon="Download" @click="handleExport"
+          v-hasPermi="['cwgl:bankConfig:export']">瀵煎嚭
         </el-button>
-        <el-button
-            type="warning"
-            plain
-            icon="Download"
-            @click="handleExport"
-            v-hasPermi="['cwgl:bankSupplierConfig:export']"
-        >瀵煎嚭
-        </el-button>
+      </template>
+      <template #menu="{ size, row, index }">
+        <el-link class="link-btn" type="primary" icon="Edit" :underline="false" plain :size="size"
+          @click="handleFy(row)" v-hasPermi="['cwgl:bankConfig:edit']"> 缂栬緫
+        </el-link>
       </template>
     </avue-crud>
   </basicContainer>
+  <bankCardFig ref="invoiceFormRef" :ishowBank="false" @submit="handleFormSubmit" />
 </template>
 
-<script setup name="bankSupplierConfig" lang="ts">
-  import {BankSupplierConfigI,addBankSupplierConfig, delBankSupplierConfig, exportBankSupplierConfig, getBankSupplierConfig, listBankSupplierConfig, updateBankSupplierConfig} from "@/api/cwgl/bankSupplierConfig";
-  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";
+<script setup name="bankAccountConfig" lang="ts">
+import { BankSupplierConfigI, addBankSupplierConfig, delBankSupplierConfig, exportBankSupplierConfig,
+   getBankSupplierConfig, listBankSupplierConfig, updateBankSupplierConfig } from "@/api/cwgl/bankSupplierConfig";  
 
-  const { proxy } = useCurrentInstance();
-  const crudRef = ref();
+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 bankCardFig from "@/components/bankCardFig/index.vue";
+const { proxy } = useCurrentInstance();
+const crudRef = ref();
+const {
+  customer_type, sys_invoice_type, sys_currency, sys_account_type, sys_bank_type
+} =
+  proxy.useDict(
+    'customer_type', 'sys_invoice_type', 'sys_currency', 'sys_account_type', 'sys_bank_type'
+  );
+const dictFormat = (dict: any, value: any) => {
+  return proxy.selectDictLabel(dict, value);
+}
+const permissionList = computed(() => {
+  return {
+  addBtn: hasPermission(["cwgl:bankConfig:add"]),
+    delBtn: hasPermission(["cwgl:bankConfig:remove"]),
+    editBtn: hasPermission(["cwgl:bankConfig:edit"]),
+    viewBtn: hasPermission(["cwgl:bankConfig:query"]),
+  }
+})
 
-  const permissionList = computed(()=>{
-    return {
-      addBtn: hasPermission(["cwgl:bankSupplierConfig:add"]),
-      delBtn: hasPermission(["cwgl:bankSupplierConfig:remove"]),
-      editBtn: hasPermission(["cwgl:bankSupplierConfig:edit"]),
-      viewBtn: hasPermission(["cwgl:bankSupplierConfig:query"]),
-    }
-  })
-
-  const data = reactive({
-    form:<BankSupplierConfigI>{},
-    queryParams:<BankSupplierConfigI&PageQueryInterface>{},
-    page: <PagesInterface>{
-      pageSize: 10,
-      total: 0,
-      currentPage: 1,
+const data = reactive({
+  form: <BankAccountConfigI>{},
+  queryParams: <BankAccountConfigI & PageQueryInterface>{},
+  page: <PagesInterface>{
+    pageSize: 10,
+    total: 0,
+    currentPage: 1,
+  },
+  selectionList: [],
+})
+const { queryParams, form, page, selectionList } = toRefs(data);
+const option = ref({
+  pageKey: 'BankAccountConfig',
+  rowKey: 'id',
+  addBtn: false,
+  editBtn: false,
+  searchSpan: 5,
+  labelWidth: 150,
+  searchLabelWidth: 120,
+  column: {
+    // id: {
+    //   label: 'ID',
+    // },
+    // supplierId: {
+    //   label: '渚涘簲鍟唅d',
+    //   rules: [
+    //     {
+    //       required: true,
+    //       message: "瀹㈡埛ID涓嶈兘涓虹┖", trigger: "blur"
+    //     }
+    //   ],
+    // },
+    supplierName: {
+      label: '渚涘簲鍟嗗悕绉�',
+      minWidth: 120,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "渚涘簲鍟嗗悕绉颁笉鑳戒负绌�", trigger: "blur"
+        }
+      ],
     },
-    selectionList:[],
-  })
-  const {queryParams,form,page,selectionList} = toRefs(data);
-  const option = ref({
-    pageKey: 'BankSupplierConfig',
-    rowKey: 'id',
-    column: {
-                                id: {
-          label: 'ID',
-                            },
-                                supplierId: {
-          label: '渚涘簲鍟咺D',
-                                rules: [
-              {
-                required: true,
-                message: "渚涘簲鍟咺D涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                supplierName: {
-          label: '渚涘簲鍟嗗悕绉�',
-                                rules: [
-              {
-                required: true,
-                message: "渚涘簲鍟嗗悕绉颁笉鑳戒负绌�", trigger: "blur" }
-            ],                  },
-                                accountNo: {
-          label: '璐﹀彿缂栧彿',
-                                rules: [
-              {
-                required: true,
-                message: "璐﹀彿缂栧彿涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                accountName: {
-          label: '鎴峰悕',
-                                rules: [
-              {
-                required: true,
-                message: "鎴峰悕涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                bankName: {
-          label: '閾惰鍚嶇О',
-                                rules: [
-              {
-                required: true,
-                message: "閾惰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
-            ],                  },
-                                branchName: {
-          label: '鏀鍚嶇О',
-                            },
-                                accountType: {
-          label: '璐﹀彿绫诲瀷(corporate:瀵瑰叕璐︽埛;personal:涓汉璐︽埛;collection:鏀舵璐︽埛;payment:浠樻璐︽埛)',
-                            },
-                                currency: {
-          label: '甯佺',
-                            },
-                                status: {
-          label: '鐘舵��(normal:姝e父;frozen:鍐荤粨;cancelled:娉ㄩ攢;abnormal:寮傚父)',
-                            },
-                                accountNumber: {
-          label: '閾惰璐﹀彿',
-                            },
-                                openingDate: {
-          label: '寮�鎴锋棩鏈�',
-                            },
-                                bankCode: {
-          label: '閾惰琛屽彿',
-                            },
-                                remark: {
-          label: '澶囨敞',
-                      type: 'textarea', minRows: 3, maxRows: 5,
-                            },
-                                isDefault: {
-          label: '鏄惁榛樿璐︽埛(0:鍚�;1:鏄�)',
-                            },
-                                createBy: {
-          label: '鍒涘缓浜�',
-                            },
-                                updateBy: {
-          label: '鏇存柊浜�',
-                            },
-                                createTime: {
-          label: '鍒涘缓鏃堕棿',
-                            },
-                                updateTime: {
-          label: '鏇存柊鏃堕棿',
-                            },
-                                deleted: {
-          label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
-                            },
-          }
-  })
+    accountNo: {
+      label: '璐﹀彿缂栧彿',
+      minWidth: 180,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "璐﹀彿缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    accountName: {
+      label: '鎴峰悕',
+      minWidth: 120,
+      search: true,
+      rules: [
+        {
+          required: true,
+          message: "鎴峰悕涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    bankName: {
+      label: '閾惰鍚嶇О',
+      minWidth: 140,
+      rules: [
+        {
+          required: true,
+          message: "閾惰鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+        }
+      ],
+    },
+    branchName: {
+      label: '鏀鍚嶇О',
+      minWidth: 180,
+    },
 
-  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:listBankSupplierConfig,
-    getDetailApi:getBankSupplierConfig,
-    exportApi:exportBankSupplierConfig,
-    deleteApi:delBankSupplierConfig,
-    addApi:addBankSupplierConfig,
-    updateApi:updateBankSupplierConfig,
-    handleUpdateFunc:()=>{
+    accountType: {
+      label: '璐﹀彿绫诲瀷',
+      search: true,
+      minWidth: 120,
+      dataType: 'string',
+      type: 'select',
+      // addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      // editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: false,
+      dicUrl: '/system/dict/data/type/sys_account_type',
+    },
+    accountTypeData: {
+      label: '璐﹀彿绫诲瀷',
+      minWidth: 120,
+      hide: true,
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: true,
+    },
+    currency: {
+      label: '甯佺',
+      search: true,
+      minWidth: 120,
+      dataType: 'string',
+      type: 'select',
+      // addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      // editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: false,
+      dicUrl: '/system/dict/data/type/sys_currency',
+    },
+    currencyData: {
+      label: '甯佺',
+      minWidth: 120,
+      hide: true,
+
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: true,
+
+    },
+    status: {
+      label: '璐︽埛鐘舵��',
+      search: true,
+      minWidth: 120,
+      dataType: 'string',
+      type: 'select',
+      // addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      // editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: false,
+      dicUrl: '/system/dict/data/type/sys_bank_type',
+
+    },
+    statusData: {
+      label: '璐︽埛鐘舵��',
+      minWidth: 120,
+      hide: true,
+
+      addDisplay: false,  // 鏂板鏃朵笉鏄剧ず
+      editDisplay: false, // 淇敼鏃朵笉鏄剧ず
+      viewDisplay: true,
+    }
+    // accountNumber: {
+    //   label: '閾惰璐﹀彿',
+    // },
+    // openingDate: {
+    //   label: '寮�鎴锋棩鏈�',
+    // },
+    // bankCode: {
+    //   label: '閾惰琛屽彿',
+    // },
+    // remark: {
+    //   label: '澶囨敞',
+    //   type: 'textarea', minRows: 3, maxRows: 5,
+    // },
+    // isDefault: {
+    //   label: '鏄惁榛樿璐︽埛(0:鍚�;1:鏄�)',
+    // },
+    // createBy: {
+    //   label: '鍒涘缓浜�',
+    // },
+    // updateBy: {
+    //   label: '鏇存柊浜�',
+    // },
+    // createTime: {
+    //   label: '鍒涘缓鏃堕棿',
+    // },
+    // updateTime: {
+    //   label: '鏇存柊鏃堕棿',
+    // },
+    // deleted: {
+    //   label: '鍒犻櫎鏍囪(0:姝e父;1:鍒犻櫎)',
+    // },
+  }
+})
+
+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: listBankSupplierConfig,
+    getDetailApi: getBankSupplierConfig,
+    exportApi: exportBankSupplierConfig,
+    deleteApi: delBankSupplierConfig,
+    addApi: addBankSupplierConfig,
+    updateApi: updateBankSupplierConfig,
+    handleUpdateFunc: () => {
       crudRef.value.rowEdit(selectionList.value[0]);
     },
-    handleSelectionChangeFunc:(selection:any)=>{
+    handleSelectionChangeFunc: (selection: any) => {
       selectionList.value = selection;
-    }
-  })
+    },
+    handleEndOpenFunc: (data, obj) => {
+      if (data == 'view') {
+        nextTick(() => {
+          // 寮哄埗灏� row 鐨勫師濮嬫暟鎹�(鍖呭惈'pc') 閲嶆柊鐏屽叆琛ㄥ崟
+          // 杩欒兘瑙e喅浣犳墦鍗颁俊鎭腑鏈�鍚庡嚭鐜扮殑 {} 缃┖闂
+          Object.assign(form.value, obj.data);
+          form.value.accountTypeData = dictFormat(sys_account_type.value, form.value.accountType);
+          form.value.currencyData = dictFormat(sys_currency.value, form.value.currency);
+          form.value.statusData = dictFormat(sys_bank_type.value, form.value.status);
 
+        });
+      }
+
+
+    },
+  })
+const invoiceFormRef = ref();
+const handleAdd = () => {
+  invoiceFormRef.value.openDialog('');
+};
+
+const handleFormSubmit = (data: any) => {
+  if (data.id !== '') {
+
+    updateBankSupplierConfig(data).then((res) => {
+      if (res.code == 200) {
+        proxy.$message.success(res.msg);
+        invoiceFormRef.value.handleClose();
+        onLoad(page.value)
+      }
+    });
+  } else {
+    addBankSupplierConfig(data).then((res) => {
+      if (res.code == 200) {
+        proxy.$message.success(res.msg);
+        invoiceFormRef.value.handleClose();
+        onLoad(page.value)
+      }
+    });
+  }
+
+
+};
+const handleFy = (row: any) => {
+  getBankSupplierConfig(row.id).then((res) => {
+    if (res.code == 200) {
+      invoiceFormRef.value.openDialog(res.data);
+    }
+  });
+};
 
 </script>

--
Gitblit v1.8.0