From fea2d693c33fdbcb4c8304a96a4e584829cb437b Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期四, 29 一月 2026 17:25:30 +0800
Subject: [PATCH] 申请开票和开票记录,科目管理界面
---
ui/admin-ui3/src/views/cwgl/voucherSubjectFee/index.vue | 361 ++++++++++++++++++++++++++++----------------------
1 files changed, 202 insertions(+), 159 deletions(-)
diff --git a/ui/admin-ui3/src/views/cwgl/voucherSubjectFee/index.vue b/ui/admin-ui3/src/views/cwgl/voucherSubjectFee/index.vue
index 4979f1a..3779124 100644
--- a/ui/admin-ui3/src/views/cwgl/voucherSubjectFee/index.vue
+++ b/ui/admin-ui3/src/views/cwgl/voucherSubjectFee/index.vue
@@ -1,48 +1,23 @@
<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>
+ <el-tabs v-model="activeAccountSet" @tab-click="handleTabClick">
+ <el-tab-pane label="鐝犳捣姹囩晠" name="0"></el-tab-pane>
+ <el-tab-pane label="骞跨彔鐗╂祦璐告槗" name="1"></el-tab-pane>
+ </el-tabs>
+ <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:voucherSubjectFee:edit']"
- @click="handleUpdate">淇敼
+ <el-button type="success" icon="Edit" :disabled="pageF.single" v-hasPermi="['cwgl:voucherSubjectFee:edit']"
+ @click="handleUpdate">淇敼
</el-button>
- <el-button
- type="danger"
- icon="Delete"
- :disabled="pageF.multiple"
- @click="handleDelete"
- v-hasPermi="['cwgl:voucherSubjectFee:remove']"
- >鍒犻櫎
+ <el-button type="danger" icon="Delete" :disabled="pageF.multiple" @click="handleDelete"
+ v-hasPermi="['cwgl:voucherSubjectFee:remove']">鍒犻櫎
</el-button>
- <el-button
- type="warning"
- plain
- icon="Download"
- @click="handleExport"
- v-hasPermi="['cwgl:voucherSubjectFee:export']"
- >瀵煎嚭
+ <el-button type="warning" plain icon="Download" @click="handleExport"
+ v-hasPermi="['cwgl:voucherSubjectFee:export']">瀵煎嚭
</el-button>
</template>
</avue-crud>
@@ -50,134 +25,202 @@
</template>
<script setup name="voucherSubjectFee" lang="ts">
- import {VoucherSubjectFeeI,addVoucherSubjectFee, delVoucherSubjectFee, exportVoucherSubjectFee, getVoucherSubjectFee, listVoucherSubjectFee, updateVoucherSubjectFee} from "@/api/cwgl/voucherSubjectFee";
- 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 { VoucherSubjectFeeI, addVoucherSubjectFee, delVoucherSubjectFee, exportVoucherSubjectFee, getVoucherSubjectFee, listVoucherSubjectFee, updateVoucherSubjectFee } from "@/api/cwgl/voucherSubjectFee";
+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";
- const { proxy } = useCurrentInstance();
- const crudRef = ref();
+const { proxy } = useCurrentInstance();
+const crudRef = ref();
- const permissionList = computed(()=>{
- return {
- addBtn: hasPermission(["cwgl:voucherSubjectFee:add"]),
- delBtn: hasPermission(["cwgl:voucherSubjectFee:remove"]),
- editBtn: hasPermission(["cwgl:voucherSubjectFee:edit"]),
- viewBtn: hasPermission(["cwgl:voucherSubjectFee:query"]),
- }
- })
+const permissionList = computed(() => {
+ return {
+ addBtn: hasPermission(["cwgl:voucherSubjectFee:add"]),
+ delBtn: hasPermission(["cwgl:voucherSubjectFee:remove"]),
+ editBtn: hasPermission(["cwgl:voucherSubjectFee:edit"]),
+ viewBtn: hasPermission(["cwgl:voucherSubjectFee:query"]),
+ }
+})
- const data = reactive({
- form:<VoucherSubjectFeeI>{},
- queryParams:<VoucherSubjectFeeI&PageQueryInterface>{},
- page: <PagesInterface>{
- pageSize: 10,
- total: 0,
- currentPage: 1,
+const data = reactive({
+ form: <VoucherSubjectFeeI>{},
+ queryParams: <VoucherSubjectFeeI & PageQueryInterface>{},
+ page: <PagesInterface>{
+ pageSize: 10,
+ total: 0,
+ currentPage: 1,
+ },
+ selectionList: [],
+})
+const { queryParams, form, page, selectionList } = toRefs(data);
+const option = ref({
+ pageKey: 'VoucherSubjectFee',
+ rowKey: 'id',
+ column: {
+ // id: {
+ // label: 'ID',
+ // },
+
+ accountSet: {
+ label: '璐﹀',
+ search: true,
+ minWidth: 120,
+ addDisabled: true,
+ editDisabled: true,
+ type: 'select', dataType: 'string', dicUrl: '/system/dict/data/type/sys_accounting_type',
+ rules: [
+ {
+ required: true,
+ message: "甯愬绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
},
- selectionList:[],
- })
- const {queryParams,form,page,selectionList} = toRefs(data);
- const option = ref({
- pageKey: 'VoucherSubjectFee',
- rowKey: 'id',
- column: {
- id: {
- label: 'ID',
- },
- accountSet: {
- label: '璐﹀',
- rules: [
- {
- required: true,
- message: "璐﹀涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- subjectCode: {
- label: '绉戠洰浠g爜',
- rules: [
- {
- required: true,
- message: "绉戠洰浠g爜涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- subjectName: {
- label: '绉戠洰鍚嶇О',
- rules: [
- {
- required: true,
- message: "绉戠洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
- ], },
- subjectType: {
- label: '绉戠洰绫诲埆',
- rules: [
- {
- required: true,
- message: "绉戠洰绫诲埆涓嶈兘涓虹┖", trigger: "change"
- }
- ], },
- feeType: {
- label: '璐圭敤绫诲埆',
- },
- type: {
- label: '甯愬绫诲瀷',
- rules: [
- {
- required: true,
- message: "甯愬绫诲瀷涓嶈兘涓虹┖", trigger: "change"
- }
- ], },
- materialType: {
- label: '鐗╂枡绫诲埆',
- },
- feeName: {
- label: '璐圭敤鍚嶇О',
- },
- status: {
- label: '鐘舵��',
- },
- delFlag: {
- label: '鍒犻櫎鏍囧織',
- },
- createBy: {
- label: '鍒涘缓鑰�',
- },
- createTime: {
- label: '鍒涘缓鏃堕棿',
- },
- updateBy: {
- label: '鏇存柊鑰�',
- },
- updateTime: {
- label: '鏇存柊鏃堕棿',
- },
- remark: {
- label: '澶囨敞',
- type: 'textarea', minRows: 3, maxRows: 5,
- },
- }
- })
+ subjectName: {
+ 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:listVoucherSubjectFee,
- getDetailApi:getVoucherSubjectFee,
- exportApi:exportVoucherSubjectFee,
- deleteApi:delVoucherSubjectFee,
- addApi:addVoucherSubjectFee,
- updateApi:updateVoucherSubjectFee,
- handleUpdateFunc:()=>{
+ rules: [
+ {
+ required: true,
+ message: "绉戠洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ },
+ subjectCode: {
+ label: '绉戠洰浠g爜',
+ search: true,
+ minWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "绉戠洰浠g爜涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ },
+ subjectType: {
+ label: '绉戠洰绫诲埆',
+ minWidth: 150,
+ minWidth: 120,
+ type: 'select', dicUrl: '/system/dict/data/type/sys_subject_category',
+ rules: [
+ {
+ required: true,
+ message: "绉戠洰绫诲埆涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
+ search: true,
+ },
+ feeType: {
+ label: '璐圭敤绫诲埆',
+ search: true,
+ minWidth: 150,
+ minWidth: 120,
+ type: 'select', dicUrl: '/system/dict/data/type/sys_expense_category',
+ rules: [
+ {
+ required: true,
+ message: "璐圭敤绫诲埆涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
+
+ },
+ // type: {
+ // label: '甯愬绫诲瀷',
+ // rules: [
+ // {
+ // required: true,
+ // message: "甯愬绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+ // }
+ // ],
+ // },
+ feeName: {
+ search: true,
+ label: '璐圭敤鍚嶇О',
+ minWidth: 150,
+ minWidth: 120,
+ type: 'select', dicUrl: '/system/dict/data/type/sys_name_harge',
+ rules: [
+ {
+ required: true,
+ message: "璐圭敤鍚嶇О涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
+ },
+ materialType: {
+ search: true,
+ label: '鐗╂枡绫诲埆',
+ minWidth: 150,
+ minWidth: 120,
+ type: 'select', dicUrl: '/system/dict/data/type/sys_material_category',
+ rules: [
+ {
+ required: true,
+ message: "鐗╂枡绫诲埆涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
+ },
+
+ // status: {
+ // label: '鐘舵��',
+ // },
+ // delFlag: {
+ // label: '鍒犻櫎鏍囧織',
+ // },
+ // createBy: {
+ // label: '鍒涘缓鑰�',
+ // },
+ // createTime: {
+ // label: '鍒涘缓鏃堕棿',
+ // },
+ // updateBy: {
+ // label: '鏇存柊鑰�',
+ // },
+ // updateTime: {
+ // label: '鏇存柊鏃堕棿',
+ // },
+ // remark: {
+ // label: '澶囨敞',
+ // type: 'textarea', minRows: 3, maxRows: 5,
+ // },
+ }
+})
+
+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: listVoucherSubjectFee,
+ getDetailApi: getVoucherSubjectFee,
+ exportApi: exportVoucherSubjectFee,
+ deleteApi: delVoucherSubjectFee,
+ addApi: addVoucherSubjectFee,
+ updateApi: updateVoucherSubjectFee,
+ handleUpdateFunc: () => {
crudRef.value.rowEdit(selectionList.value[0]);
},
- handleSelectionChangeFunc:(selection:any)=>{
+ handleSelectionChangeFunc: (selection: any) => {
selectionList.value = selection;
}
})
+const activeAccountSet = ref('0');
+const handleTabClick = (tab: any) => {
+ const selectedTabName = tab.props.name;
+ console.log("Tab鐐瑰嚮鐨勫��:", selectedTabName);
+ activeAccountSet.value = selectedTabName;
+ queryParams.value.type = selectedTabName;
+ const nextParams = {
+ ...queryParams.value,
+ type: selectedTabName
+ };
+ // 4. 閲嶇疆鍒嗛〉骞跺姞杞�
+ page.value.currentPage = 1;
+ onLoad(page.value, nextParams);
+}
</script>
--
Gitblit v1.8.0