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/tms/tmsVehicleDocument/index.vue | 655 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 440 insertions(+), 215 deletions(-)
diff --git a/ui/admin-ui3/src/views/tms/tmsVehicleDocument/index.vue b/ui/admin-ui3/src/views/tms/tmsVehicleDocument/index.vue
index 3974ac9..2cdb968 100644
--- a/ui/admin-ui3/src/views/tms/tmsVehicleDocument/index.vue
+++ b/ui/admin-ui3/src/views/tms/tmsVehicleDocument/index.vue
@@ -1,5 +1,5 @@
<template>
- <basicContainer >
+ <basicContainer>
<avue-crud
:option="option"
:table-loading="pageF.loading"
@@ -50,228 +50,453 @@
</template>
<script setup name="tmsVehicleDocument" lang="ts">
- import {TmsVehicleDocumentI,addTmsVehicleDocument, delTmsVehicleDocument, exportTmsVehicleDocument, getTmsVehicleDocument, listTmsVehicleDocument, updateTmsVehicleDocument} from "@/api/tms/tmsVehicleDocument";
- 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 {
+ TmsVehicleDocumentI,
+ addTmsVehicleDocument,
+ delTmsVehicleDocument,
+ exportTmsVehicleDocument,
+ getTmsVehicleDocument,
+ listTmsVehicleDocument,
+ updateTmsVehicleDocument
+} from "@/api/tms/tmsVehicleDocument";
+import useCurrentInstance from "@/utils/useCurrentInstance";
+import {computed, onMounted, reactive, ref, toRefs, watch} from "vue";
+import {PagesInterface, PageQueryInterface} from "@/utils/globalInterface";
+import {usePagePlus} from "@/hooks/usePagePlus";
+import {hasPermission} from "@/utils/permissionUtils";
+import {getTmsCustomerInfo, listTmsCustomerInfo} from "@/api/tms/tmsCustomerInfo";
+import {getTmsVehicle, listTmsVehicle} from "@/api/tms/tmsVehicle";
- const { proxy } = useCurrentInstance();
- const crudRef = ref();
+const {proxy} = useCurrentInstance();
+const crudRef = ref();
- const permissionList = computed(()=>{
- return {
- addBtn: hasPermission(["tms:tmsVehicleDocument:add"]),
- delBtn: hasPermission(["tms:tmsVehicleDocument:remove"]),
- editBtn: hasPermission(["tms:tmsVehicleDocument:edit"]),
- viewBtn: hasPermission(["tms:tmsVehicleDocument:query"]),
- }
- })
+const permissionList = computed(() => {
+ return {
+ addBtn: hasPermission(["tms:tmsVehicleDocument:add"]),
+ delBtn: hasPermission(["tms:tmsVehicleDocument:remove"]),
+ editBtn: hasPermission(["tms:tmsVehicleDocument:edit"]),
+ viewBtn: hasPermission(["tms:tmsVehicleDocument:query"]),
+ }
+})
- const data = reactive({
- form:<TmsVehicleDocumentI>{},
- queryParams:<TmsVehicleDocumentI&PageQueryInterface>{},
- page: <PagesInterface>{
- pageSize: 10,
- total: 0,
- currentPage: 1,
- },
- selectionList:[],
- })
- const {queryParams,form,page,selectionList} = toRefs(data);
- const option = ref({
- pageKey: 'TmsVehicleDocument',
- rowKey: 'systemId',
- column: {
- systemId: {
+const data = reactive({
+ form: <TmsVehicleDocumentI>{},
+ queryParams: <TmsVehicleDocumentI & PageQueryInterface>{},
+ page: <PagesInterface>{
+ pageSize: 10,
+ total: 0,
+ currentPage: 1,
+ },
+ selectionList: [],
+})
+const {queryParams, form, page, selectionList} = toRefs(data);
+const option = ref({
+ pageKey: 'TmsVehicleDocument',
+ rowKey: 'id',
+ searchLabelWidth:100,
+ labelWidth:110,
+ group:[
+ {
+ label: '鍩烘湰淇℃伅',
+ prop: 'jbxx',
+ column:{
+ systemCode: {
label: '绯荤粺缂栧彿',
- addDisplay :true,
- editDisplay : false,
- viewDisplay : false,
- hide : true,
- search : false,
- },
- plateNumber: {
+ addDisplay: false,disabled: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "绯荤粺缂栧彿涓嶈兘涓虹┖", trigger: "blur"
+ }
+ ],
+ },
+ vehicleId: {
label: '杞︾墝鍙�',
- addDisplay :true,
- editDisplay :true,
- viewDisplay :true,
- hide :false,
- search :true,
- rules: [
- {
- required: true,
- message: "杞︾墝鍙蜂笉鑳戒负绌�", trigger: "blur" }
- ], },
- id: {
- label: '',
- addDisplay :true,
- editDisplay : false,
- viewDisplay : false,
- hide : true,
- search : false,
- },
- serviceProvider: {
- label: '杞﹁締鏈嶅姟鍟�',
- addDisplay :true,
- editDisplay :true,
- viewDisplay :true,
- hide :false,
- search :true,
- rules: [
- {
- required: true,
- message: "杞﹁締鏈嶅姟鍟嗕笉鑳戒负绌�", trigger: "blur" }
- ], },
- certificateType: {
- label: '璇佷欢绫诲瀷',
- addDisplay :true,
- editDisplay :true,
- viewDisplay :true,
- hide :false,
- search :true,
- rules: [
- {
- required: true,
- message: "璇佷欢绫诲瀷涓嶈兘涓虹┖", trigger: "change"
- }
- ], },
- certificateNumber: {
- label: '璇佷欢鍙�',
- addDisplay :true,
- editDisplay :true,
- viewDisplay :true,
- hide :false,
- search :true,
- rules: [
- {
- required: true,
- message: "璇佷欢鍙蜂笉鑳戒负绌�", trigger: "blur" }
- ], },
- registerDate: {
- label: '娉ㄥ唽鏃ユ湡',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- expireDate: {
- label: '鍒版湡鏃ユ湡',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- certificateFile: {
- label: '璇佷欢鍑瘉',
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- lastAnnualCheckDate: {
- label: '涓婃骞村鏃ユ湡',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- invalidDate: {
- label: '搴熸鏃ユ湡',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- status: {
- label: '鐘舵��',
- type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
- addDisplay :true,
- editDisplay :true,
- viewDisplay :true,
- hide :false,
- search :true,
- rules: [
- {
- required: true,
- message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur" }
- ], },
- createBy: {
- label: '鍒涘缓浜�',
- addDisplay : false,
- editDisplay : false,
- viewDisplay : false,
- hide : true,
- search : false,
- },
- createTime: {
- label: '鍒涘缓鏃堕棿',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay : false,
- editDisplay : false,
- viewDisplay : false,
- hide : true,
- search : false,
- },
- updateBy: {
- label: '鏇存柊浜�',
- addDisplay : false,
- editDisplay : false,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- updateTime: {
- label: '鏇存柊鏃堕棿',
- type: 'date', valueFormat: 'YYYY-MM-DD',
- addDisplay : false,
- editDisplay : false,
- viewDisplay : false,
- hide :false,
- search : false,
- },
- remark: {
- label: '澶囨敞',
- type: 'textarea', minRows: 3, maxRows: 5,
- addDisplay :true,
- editDisplay :true,
- viewDisplay : false,
- hide : true,
- search : false,
- },
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide:true,
+ rules: [
+ {
+ required: true,
+ message: "杞︾墝鍙蜂笉鑳戒负绌�", trigger: "change"
+ }
+ ],
+ change: (val: any) => {
+ const table = crudRef.value?.getPropRef?.('vehicleId')?.$refs?.temp;
+ if (!table) return;
+ let active = table.active;
+ if (Array.isArray(active)) active = active[0];
+ if (active) {
+ Object.assign(form.value, {
+ vehicleId: active.id,
+ plateNumber: active.licensePlate,
+ serviceProviderId: active.serviceProviderId,
+ serviceProviderName: active.serviceProviderName,
+ });
+ }
+ },
+ type: 'table',suffixIcon:'search',dataType: 'string',
+ children:{
+ border: true,
+ searchMenuSpan: 5,
+ searchLabelWidth:100,
+ column:{
+ systemCode: {
+ label: '绯荤粺缂栧彿', minWidth: 130,
+ search: true,
+ },
+ serviceProviderName: {
+ label: '杞﹁締鏈嶅姟鍟�',minWidth: 120,
+ search: true,
+ },
+ vehicleType: {
+ label: '杞﹁締绫诲瀷',minWidth: 120,
+ },
+ licensePlate: {
+ label: '杞︾墝鍙�', minWidth: 150,
+ },
+ licenseHk: {
+ label: '棣欐腐鐗岀収', minWidth: 150,
+ },
+ licenseMo: {
+ label: '婢抽棬鐗岀収', minWidth: 150,
+ },
+ },
+
+ },
+ props:{
+ label: 'licensePlate',
+ value: 'id'
+ },
+ onLoad: ({ page, value, data }: { page: any, value: any, data: any }, callback:any) => {
+ if (value){
+ let id = value;
+ if (Array.isArray(value)){
+ id = value[0]
+ }
+ getTmsVehicle(id).then(res=>{
+ return callback(res.data||{})
+ })
+ }else{
+ listTmsVehicle({pageSize:page.pageSize,pageNum:page.currentPage,...data}).then(res=>{
+ return callback({
+ total: res.total,
+ data: res.rows||[],
+ })
+ })
+ }
+
}
- })
- 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:'systemId',
- page:page.value,
- getListApi:listTmsVehicleDocument,
- getDetailApi:getTmsVehicleDocument,
- exportApi:exportTmsVehicleDocument,
- deleteApi:delTmsVehicleDocument,
- addApi:addTmsVehicleDocument,
- updateApi:updateTmsVehicleDocument,
- handleUpdateFunc:()=>{
- crudRef.value.rowEdit(selectionList.value[0]);
+ },
+
+ plateNumber: {
+ label: '杞︾墝鍙�',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+
+ },
+
+
+ // serviceProviderId: {
+ // label: '杞﹁締鏈嶅姟鍟�',
+ // addDisplay: true,disabled:true,
+ // editDisplay: true,
+ // viewDisplay: true,
+ // hide: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "杞﹁締鏈嶅姟鍟嗕负绌�", trigger: "change"
+ // }
+ // ],
+ // },
+ serviceProviderName: {
+ label: '杞﹁締鏈嶅姟鍟�',
+ display: true,disabled:true,
+ hide: false,minWidth:150,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "杞﹁締鏈嶅姟鍟嗕负绌�", trigger: "change"
+ }
+ ],
+
+ },
+
+ certificateType: {
+ label: '璇佷欢绫诲瀷',
+ addDisplay: true,dataType: 'string',
+ type: 'select', dicUrl: '/system/dict/data/type/license_type',
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "璇佷欢绫诲瀷涓嶈兘涓虹┖", trigger: "change"
+ }
+ ],
+ },
+ certificateNumber: {
+ label: '璇佷欢鍙�',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "璇佷欢鍙蜂笉鑳戒负绌�", trigger: "blur"
+ }
+ ],
+ },
+
+ registerDate: {
+ label: '娉ㄥ唽鏃ユ湡',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ expireDate: {
+ label: '鍒版湡鏃ユ湡',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: false,
+ },
+
+ lastAnnualCheckDate: {
+ label: '涓婃骞村鏃ユ湡',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ invalidDate: {
+ label: '搴熸鏃ユ湡',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ certificateFile: {
+ label: '璇佷欢鍑瘉',
+ addDisplay: true,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: true,minWidth:150,
+ search: false,span: 24,
+ accept:'string',dataType: 'string',
+ type: 'upload',
+ action: '/common/upload2',
+ propsHttp:{
+ home:'url',
+ name:'newFileName',
+ },
+ },
+ }
},
- handleSelectionChangeFunc:(selection:any)=>{
- selectionList.value = selection;
+ {
+ label: '鍏朵粬淇℃伅',
+ prop: 'qtxx',
+ column: {
+ status: {
+ label: '鐘舵��', dataType: 'string',
+ type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
+ addDisplay: false,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "鐘舵�佷笉鑳戒负绌�", trigger: "blur"
+ }
+ ],
+ },
+ createBy: {
+ label: '鍒涘缓浜�',
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: true,
+ hide: true,
+ search: false,
+ },
+ createTime: {
+ label: '鍒涘缓鏃堕棿',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: true,
+ hide: true,
+ search: false,
+ },
+ updateBy: {
+ label: '鏇存柊浜�',
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: true,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ updateTime: {
+ label: '鏇存柊鏃堕棿',
+ type: 'date', valueFormat: 'YYYY-MM-DD',
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: true,
+ hide: false,minWidth:180,
+ search: false,
+ },
+ remark: {
+ label: '澶囨敞',
+ type: 'textarea', minRows: 3, maxRows: 5,
+ addDisplay: true,span:24,
+ editDisplay: true,
+ viewDisplay: true,
+ hide: true,
+ search: false,
+ },
+ }
}
- })
+ ],
+ column: {
+ systemCode: {
+ label: '绯荤粺缂栧彿',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+ },
+
+ plateNumber: {
+ label: '杞︾墝鍙�',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+
+ },
+ serviceProviderName: {
+ label: '杞﹁締鏈嶅姟鍟�',
+ display: false,disabled:true,
+ hide: false,minWidth:150,
+ search: true,
+ },
+ certificateType: {
+ label: '璇佷欢绫诲瀷',dataType: 'string',
+ type: 'select', dicUrl: '/system/dict/data/type/license_type',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+ },
+ certificateNumber: {
+ label: '璇佷欢鍙�',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+ },
+ registerDate: {
+ label: '娉ㄥ唽鏃ユ湡',
+ display: false,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ expireDate: {
+ label: '鍒版湡鏃ユ湡',
+ display: false,
+ hide: false,minWidth:150,
+ search: false,
+ },
+
+ lastAnnualCheckDate: {
+ label: '涓婃骞村鏃ユ湡',
+ display: false,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ invalidDate: {
+ label: '搴熸鏃ユ湡',
+ display: false,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ status: {
+ label: '鐘舵��', dataType: 'string',
+ type: 'radio', dicUrl: '/system/dict/data/type/sys_normal_disable',
+ display: false,
+ hide: false,minWidth:150,
+ search: true,
+ },
+ updateBy: {
+ label: '鏇存柊浜�',
+ display: false,
+ hide: false,minWidth:150,
+ search: false,
+ },
+ updateTime: {
+ label: '鏇存柊鏃堕棿',
+ display: false,
+ hide: false,minWidth:180,
+ search: false,
+ },
+ }
+})
+
+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: listTmsVehicleDocument,
+ getDetailApi: getTmsVehicleDocument,
+ exportApi: exportTmsVehicleDocument,
+ deleteApi: delTmsVehicleDocument,
+ addApi: addTmsVehicleDocument,
+ updateApi: updateTmsVehicleDocument,
+ handleUpdateFunc: () => {
+ crudRef.value.rowEdit(selectionList.value[0]);
+ },
+ handleSelectionChangeFunc: (selection: any) => {
+ selectionList.value = selection;
+ }
+})
-</script>
+</script>
\ No newline at end of file
--
Gitblit v1.8.0