qzyReal %!s(int64=2) %!d(string=hai) anos
pai
achega
b6445705ee

+ 2 - 2
sp-admin/sa-frame/com/sa-item.vue

@@ -9,8 +9,8 @@
   </div>
   <!-- 普通input -->
   <div class="c-item" :class="{br: br}" v-else-if="type == 'text' || type == 'link'">
-    <label class="c-label">{{ name }}:</label>
-    <el-input type="text" :value="value" @input="onInput" :placeholder="placeholder" :disabled="disabled"></el-input>
+    <label class="c-label"><span style="color: red;" v-if="need">*</span>{{ name }}:</label>
+    <el-input type="text" :value="value" @input="onInput" :placeholder="name" :disabled="disabled"></el-input>
   </div>
   <!-- 数字input -->
   <div class="c-item" :class="{br: br}" v-else-if="type == 'num'">

+ 896 - 45
sp-admin/sa-frame/menu-list-sp.js

@@ -1,48 +1,899 @@
 // 此处定义所有有关 sa-plus 的路由菜单 
 // 如需添加自定义菜单,请不要更改此文件,请在 menu-list.js 里添加 (没有这个文件就新建) 
 window.menuList = window.menuList || [];
-window.menuList.unshift(
-    {
-        id: 'bas',
-        name: '身份相关',
-        isShow: false,	// 隐藏显示
-        info: '身份相关权限,不显示在菜单上',
-        childList: [
-            {id: '1', name: '身份-超管', info: '最高权限,超管身份的代表(请谨慎授权)', isShow: false},
-            {id: '11', name: '身份-普通账号', isShow: false, info: '无特殊权限'},
-            {id: '99', name: '允许进入后台管理', isShow: false, info: '只有拥有这个权限的角色才可以进入后台'},
-        ]
-    },
-    {
-        id: 'console',
-        name: '监控中心',
-        icon: 'el-icon-view',
-        info: '对本系统的各种监控',
-        childList: [
-            {id: 'sql-console', name: 'SQL监控台', url: 'sa-view-sp/sp-console/sql-console.html', info: 'sql控制台'},
-            {id: 'redis-console', name: 'Redis控制台', url: 'sa-view-sp/sp-console/redis-console.html', info: 'redis常用工具'},
-            {id: 'apilog-list', name: 'API请求日志', url: 'sa-view-sp/sp-apilog/api-log-list.html', info: '记录本系统所有的api请求'},
-            {id: 'form-generator', name: '在线表单构建', url: 'https://mrhj.gitee.io/form-generator/#/'},
-        ]
-    },
-
-    {
-        id: 'sp-cfg',
-        name: '系统配置',
-        icon: 'el-icon-setting',
-        info: '有关系统的一些配置',
-        childList: [
-            {id: 'sp-cfg-app', name: '系统对公配置', url: 'sa-view-sp/sp-cfg/app-cfg.html'},
-            {id: 'sp-cfg-server', name: '服务器私有配置', url: 'sa-view-sp/sp-cfg/server-cfg.html'},
-        ]
-    },
-    {
-        id: 'sys-dict',
-        name: '系统字典',
-        icon: 'el-icon-setting',
-        info: '系统字典配置',
-        childList: [
-            {id: 'sys-dict-list', name: '字典列表', url: 'sa-view/sys-dict/sys-dict-list.html'},
-        ]
-    },
-);
+window.menuList.unshift({
+		id: 'bas',
+		name: '身份相关',
+		isShow: false, // 隐藏显示
+		info: '身份相关权限,不显示在菜单上',
+		childList: [{
+				id: '1',
+				name: '身份-超管',
+				info: '最高权限,超管身份的代表(请谨慎授权)',
+				isShow: false
+			},
+			{
+				id: '11',
+				name: '身份-普通账号',
+				isShow: false,
+				info: '无特殊权限'
+			},
+			{
+				id: '99',
+				name: '允许进入后台管理',
+				isShow: false,
+				info: '只有拥有这个权限的角色才可以进入后台'
+			},
+		]
+	}, {
+		id: 'console',
+		name: '监控中心',
+		icon: 'el-icon-view',
+		info: '对本系统的各种监控',
+		childList: [{
+				id: 'sql-console',
+				name: 'SQL监控台',
+				url: 'sa-view-sp/sp-console/sql-console.html',
+				info: 'sql控制台'
+			},
+			{
+				id: 'redis-console',
+				name: 'Redis控制台',
+				url: 'sa-view-sp/sp-console/redis-console.html',
+				info: 'redis常用工具'
+			},
+			{
+				id: 'apilog-list',
+				name: 'API请求日志',
+				url: 'sa-view-sp/sp-apilog/api-log-list.html',
+				info: '记录本系统所有的api请求'
+			},
+			{
+				id: 'form-generator',
+				name: '在线表单构建',
+				url: 'https://mrhj.gitee.io/form-generator/#/'
+			},
+		]
+	},
+
+	{
+		id: 'sp-cfg',
+		name: '系统配置',
+		icon: 'el-icon-setting',
+		info: '有关系统的一些配置',
+		childList: [{
+				id: 'sp-cfg-app',
+				name: '系统对公配置',
+				url: 'sa-view-sp/sp-cfg/app-cfg.html'
+			},
+			{
+				id: 'sp-cfg-server',
+				name: '服务器私有配置',
+				url: 'sa-view-sp/sp-cfg/server-cfg.html'
+			},
+		]
+	}, {
+		id: 'sys-dict',
+		name: '系统字典',
+		icon: 'el-icon-setting',
+		info: '系统字典配置',
+		childList: [{
+			id: 'sys-dict-list',
+			name: '字典列表',
+			url: 'sa-view/sys-dict/sys-dict-list.html'
+		}, ]
+	},
+
+	{
+		id: 'auth',
+		parent: true,
+		name: '权限控制',
+		icon: 'el-icon-unlock',
+		childList: [{
+				id: 'role-list',
+
+				name: '角色列表',
+				url: 'sa-view-sp/sp-role/role-list.html',
+			},
+			{
+				id: 'admin-list',
+
+				name: '管理员列表',
+				url: 'sa-view-sp/sp-admin/admin-list.html',
+			},
+			{
+				id: 'customer-auth-list',
+				name: '客户权限列表',
+				url: 'sa-view/tb-costomer/tb-menu-list.html',
+			},
+			{
+				id: 'partner-auth-list',
+				name: '合作伙伴列表',
+				url: 'sa-view/tb-partner/tb-menu-list.html',
+			},
+		]
+	}, {
+		id: 'tb-costomer',
+		name: '客户管理',
+		parent: true,
+		icon: 'el-icon-s-custom',
+		childList: [{
+				id: 'tb-costomer-list',
+				name: '客户列表',
+				url: 'sa-view/tb-costomer/tb-costomer-list.html'
+			},
+			{
+				id: 'tb-costomer-add',
+				name: '添加',
+
+				isShow: false
+			},
+			{
+				id: 'tb-costomer-judge',
+				name: '审核',
+				isShow: false
+			},
+			{
+				id: 'tb-costomer-del',
+				name: '删除',
+
+				isShow: false
+			},
+			{
+				id: 'tb-costomer-edit',
+				name: '修改',
+
+				isShow: false
+			},
+			{
+				id: 'tb-costomer-account',
+				name: '账户',
+
+				isShow: false,
+				childList: [{
+					id: 'tb-costomer-account-charge',
+					name: '充值',
+					isShow: false,
+
+				}]
+			},
+			{
+				id: 'tb-costomer-user',
+				name: '用户管理',
+				isShow: false,
+				childList: [{
+						id: 'tb-costomer-user-add',
+						name: '添加',
+						isShow: false,
+
+					},
+					{
+						id: 'tb-costomer-user-del',
+						name: '删除',
+						isShow: false,
+
+					},
+					{
+						id: 'tb-costomer-user-edit',
+						name: '编辑',
+						isShow: false,
+
+					},
+				]
+			},
+		]
+	},
+
+	{
+		id: 'tb-costomer-maintain',
+		name: '信息维护',
+		parent: true,
+		icon: 'el-icon-s-custom',
+		childList: [{
+			id: 'tb-costomer-maintain-list',
+			name: '企业信息',
+			icon: 'el-icon-s-custom',
+			url: 'sa-view/tb-costomer/tb-costomer-maintain.html',
+			childList: [{
+					id: 'tb-costomer-maintain-edit',
+					name: '编辑信息',
+					isShow: false
+				},
+				{
+					id: 'tb-costomer-maintain-account',
+					name: '账户管理',
+					isShow: false
+				},
+				{
+					id: 'tb-costomer-maintain-user',
+					name: '用户管理',
+					parent: true,
+					isShow: false,
+					childList: [{
+							id: 'tb-costomer-maintain-user-add',
+							name: '添加',
+							isShow: false,
+
+						},
+						{
+							id: 'tb-costomer-maintain-user-del',
+							name: '删除',
+							isShow: false,
+
+						},
+						{
+							id: 'tb-costomer-maintain-user-edit',
+							name: '编辑',
+							isShow: false,
+
+						},
+					]
+				},
+			]
+		}, ]
+	}, {
+		id: 'tb-partner',
+		name: '合作伙伴',
+		parent: true,
+		icon: 'el-icon-s-custom',
+		childList: [{
+			id: 'tb-partner-list',
+			name: '信息管理',
+			url: 'sa-view/tb-partner/tb-partner-list.html',
+			childList: [{
+					id: 'tb-partner-add',
+					name: '添加伙伴',
+					isShow: false,
+
+				},
+				{
+					id: 'tb-partner-del',
+					name: '删除伙伴',
+					isShow: false,
+
+				},
+				{
+					id: 'tb-partner-edit',
+					name: '编辑伙伴',
+					isShow: false,
+
+				},
+				{
+					id: 'tb-partner-user',
+					name: '伙伴用户',
+					isShow: false,
+					parent: true,
+					childList: [{
+							id: 'tb-partner-user-add',
+							name: '添加用户',
+							isShow: false,
+
+						},
+						{
+							id: 'tb-partner-user-edit',
+							name: '编辑用户',
+							isShow: false,
+
+						},
+						{
+							id: 'tb-partner-user-del',
+							name: '删除用户',
+							isShow: false,
+
+						},
+					]
+				},
+			],
+		}, ]
+	}, {
+		id: 'tb-car',
+		name: '车辆管理',
+		parent: true,
+		icon: 'el-icon-s-platform',
+		childList: [{
+				id: 'tb-car-list',
+				name: '车辆列表',
+				icon: 'el-icon-s-platform',
+				url: 'sa-view/tb-car/tb-car-list.html',
+				childList: [{
+						id: 'tb-car-add',
+						name: '添加车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-car-edit',
+						name: '编辑车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-car-del',
+						name: '删除车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-car-import',
+						name: '批量导入',
+						isShow: false
+					},
+				]
+			},
+			{
+				id: 'tb-mild-car-list',
+				name: '4.2~9.6车备案',
+				icon: 'el-icon-s-platform',
+				url: 'sa-view/tb-mild-car/tb-mild-car-list.html',
+				childList: [{
+						id: 'tb-mild-car-add',
+						name: '添加车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-mild-car-edit',
+						name: '编辑车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-mild-car-del',
+						name: '删除车辆',
+						isShow: false
+					},
+					{
+						id: 'tb-mild-car-export',
+						name: '批量导出',
+						isShow: false
+					},
+				]
+			}
+		]
+	}, {
+		id: 'tb-business-item',
+		name: '作业管理',
+		icon: 'el-icon-edit-outline',
+		parent: true,
+		childList: [{
+				id: 'tb-business-item-pick-list',
+				name: '我要接单',
+				url: 'sa-view/tb-partner/tb-business-pick-list.html',
+				childList: [{
+					id: 'tb-business-item-pick',
+					name: '接单',
+					isShow: false,
+				}]
+			},
+			{
+				id: 'tb-business-item-list',
+				name: '作业订单',
+				url: 'sa-view/tb-partner/tb-business-item-list.html',
+				childList: [{
+					id: 'tb-business-item-confirm',
+					name: '接单确认',
+					isShow: false,
+				}, ]
+			},
+
+		]
+	}, {
+		id: 'tb-business',
+		name: '业务管理',
+		icon: 'el-icon-edit-outline',
+		parent: true,
+		childList: [{
+				id: 'tb-car-disincle-list',
+				name: '业务管理',
+				url: 'sa-view/tb-business/tb-car-disincle-list.html',
+				childList: [{
+						id: 'tb-flex-business-add',
+						name: '添加业务',
+						isShow: false
+					},
+					{
+						id: 'tb-flex-business-edit',
+						name: '编辑业务',
+						isShow: false
+					},
+					{
+						id: 'tb-flex-business-del',
+						name: '删除业务',
+						isShow: false
+					},
+					{
+						id: 'tb-flex-business-pay',
+						name: '手工缴费',
+						isShow: false
+					},
+					{
+
+						id: 'tb-business-car-bind',
+						name: '车辆绑定',
+						isShow: false
+					},
+					{
+						id: 'tb-flex-business-confirm',
+						name: '账单确认',
+						isShow: false
+					},
+
+					{
+						id: 'tb-business-zx-print',
+						name: '装卸打印',
+						isShow: false
+					},
+				]
+			},
+			{
+				id: 'tb-supplement-list',
+				name: '补录订单',
+				url: 'sa-view/tb-business/tb-supplement-list.html',
+				childList: [{
+						id: 'tb-supplement-add',
+						name: '添加',
+						isShow: false
+					},
+					{
+						id: 'tb-supplement-edit',
+						name: '修改',
+						isShow: false
+					},
+					{
+						id: 'tb-supplement-del',
+						name: '删除',
+						isShow: false
+					},
+					{
+						id: 'tb-supplement-push',
+						name: '发起流程',
+						isShow: false
+					},
+				]
+			}
+
+		]
+	}, {
+		id: 'tb-item-type',
+		name: '收费项管理',
+		icon: 'el-icon-notebook-2',
+		parent: true,
+		childList: [{
+				id: 'tb-goods-list',
+				name: '业务项管理',
+				url: 'sa-view/tb-goods/tb-goods-list.html',
+				childList: [{
+						id: 'tb-goods-add',
+						name: '添加业务项',
+						isShow: false
+					},
+					{
+						id: 'tb-goods-edit',
+						name: '编辑业务项',
+						isShow: false
+					},
+					{
+						id: 'tb-goods-del',
+						name: '删除业务项',
+						isShow: false
+					},
+					{
+						id: 'tb-goods-item-type',
+						name: '编辑收费项',
+						isShow: false
+					},
+				]
+			}, {
+				id: 'tb-item-type-list',
+				name: '收费项管理',
+				url: 'sa-view/tb-item-type/tb-item-type-list.html',
+				childList: [{
+						id: 'tb-item-type-add',
+						name: '添加收费项',
+						isShow: false
+					},
+					{
+						id: 'tb-item-type-edit',
+						name: '编辑收费项',
+						isShow: false
+					},
+					{
+						id: 'tb-item-type-relation',
+						name: '收费明细',
+						isShow: false
+					},
+					{
+						id: 'tb-item-type-del',
+						name: '删除收费项',
+						isShow: false
+					},
+
+				]
+			},
+
+			{
+				id: 'tb-item-re-list',
+				name: '明细管理',
+				url: 'sa-view/tb-item-type/tb-item-list.html',
+				childList: [{
+						id: 'tb-item-manager-add',
+						name: '添加明细',
+						isShow: false
+					},
+					{
+						id: 'tb-item-manager-del',
+						name: '删除明细',
+						isShow: false
+					},
+					{
+						id: 'tb-item-manager-edit',
+						name: '修改明细',
+						isShow: false
+					},
+				]
+			},
+			{
+				id: 'tb-sort-group',
+				name: '其他业务设置',
+				url: 'sa-view/tb-sort-group/tb-sort-group-list.html',
+				childList: [{
+						id: 'tb-sort-group-add',
+						name: '添加',
+						isShow: false
+					},
+					{
+						id: 'tb-sort-group-del',
+						name: '删除',
+						isShow: false
+					},
+					{
+						id: 'tb-sort-group-edit',
+						name: '修改',
+						isShow: false
+					},
+				]
+			},
+		],
+
+	},
+
+	{
+		id: 'tb-business-car',
+		name: '放行记录',
+		icon: 'el-icon-notebook-2',
+		parent: true,
+		childList: [{
+			id: 'tb-business-car-list',
+			name: '放行列表',
+			url: 'sa-view/tb-business-car/tb-business-car-list.html',
+			childList: [{
+
+					id: 'tb-business-car-add',
+					name: '添加记录',
+					isShow: false
+				},
+				{
+
+					id: 'tb-business-car-export',
+					name: '导出记录',
+					isShow: false
+				},
+				{
+					id: 'tb-business-car-judge',
+					name: '审核',
+					isShow: false
+				},
+				{
+					id: 'tb-business-car-print',
+					name: '打印凭证',
+					isShow: false
+				},
+				{
+
+					id: 'tb-business-car-edit',
+					name: '修改记录',
+					isShow: false
+				},
+
+				{
+
+					id: 'tb-business-car-del',
+					name: '删除记录',
+					isShow: false
+				},
+			]
+		}, ]
+	}, {
+		id: 'info-setting',
+		name: '信息设置',
+		icon: 'el-icon-monitor',
+		parent: true,
+		childList: [{
+			id: 'tb-item',
+			name: '收费管理',
+			icon: 'el-icon-coin',
+			parent: true,
+			childList: [{
+
+					id: 'tb-item-list',
+					name: '收费标准',
+					url: 'sa-view/tb-item/tb-item-list.html'
+				},
+				{
+
+					id: 'tb-item-list-edit-type',
+					name: '修改类型',
+					isShow: false
+				},
+			]
+		}, ]
+	}, {
+		id: 'tb-notices',
+		name: '消息管理',
+		icon: 'el-icon-news',
+		parent: true,
+		childList: [{
+				id: 'tb-notices-list',
+				name: '消息列表',
+				url: 'sa-view/tb-notices/tb-notices-list.html',
+
+				childList: [{
+
+						id: 'tb-notices-add',
+						name: '添加消息',
+						isShow: false
+					},
+					{
+
+						id: 'tb-notices-del',
+						name: '删除消息',
+						isShow: false
+					},
+					{
+
+						id: 'tb-notices-edit',
+						name: '修改消息',
+						isShow: false
+					},
+				]
+			},
+
+		]
+	}, {
+		id: 'tb-charge-record',
+		name: '充值记录',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+			id: 'tb-charge-record-list',
+			name: '充值记录',
+			url: 'sa-view/tb-charge-record/tb-charge-record-list.html'
+		}, ]
+	}, {
+		id: 'tb-pay-record',
+		name: '支付记录',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+			id: 'tb-pay-record-list',
+			name: '支付记录',
+			url: 'sa-view/tb-pay-record/tb-pay-record-list.html'
+		}, ]
+	}, {
+		id: 'tb-declare',
+		name: '申报信息',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+			id: 'tb-declare-list',
+			name: '申报列表',
+			url: 'sa-view/tb-declare/tb-declare-list.html',
+
+			childList: [{
+					id: 'tb-declare-print',
+					name: '打印申报信息',
+					isShow: false
+				},
+				{
+					id: 'tb-declare-edit',
+					name: '修改申报信息',
+					isShow: false
+				},
+				{
+					id: 'tb-declare-del',
+					name: '删除申报信息',
+					isShow: false
+				},
+			]
+		}, ]
+	}, {
+		id: 'tb-disinfect',
+		name: '消毒信息',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+			id: 'tb-disinfect-list',
+			name: '申请列表',
+			url: 'sa-view/tb-disinfect/tb-disinfect-list.html',
+			childList: [{
+					id: 'tb-disinfect-print',
+					name: '打印信息',
+					isShow: false
+				},
+				{
+					id: 'tb-disinfect-edit',
+					name: '修改信息',
+					isShow: false
+				},
+				{
+					id: 'tb-disinfect-del',
+					name: '删除信息',
+					isShow: false
+				},
+			]
+		}, ]
+	}, {
+		id: 'tb-discount',
+		name: '折扣管理',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+			id: 'tb-discount-list',
+			name: '折扣管理',
+			url: 'sa-view/tb-discount/tb-discount-list.html',
+			childList: [{
+					id: 'tb-discount-add',
+					name: '添加折扣',
+					isShow: false
+				},
+				{
+					id: 'tb-discount-del',
+					name: '删除',
+					isShow: false
+				},
+				{
+					id: 'tb-discount-edit',
+					name: '编辑',
+					isShow: false
+				},
+				{
+					id: 'tb-discount-change',
+					name: '启用/停用',
+					isShow: false
+				},
+			]
+		}, ]
+	}, {
+		id: 'tb-fee-statistics',
+		name: '收费统计',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+				id: 'tb-fee-details-list',
+				name: '收费明细',
+				url: 'sa-view/tb-fee-statistics/tb-fee-details-list.html',
+				childList: [{
+						id: 'tb-kaidan-confirm',
+						name: '开单确认',
+						isShow: false
+					},
+					{
+						id: 'tb-diaodu-confirm',
+						name: '复核确认',
+						isShow: false
+					},
+					{
+						id: 'tb-jicha-confirm',
+						name: '稽查确认',
+						isShow: false
+					},
+					{
+						id: 'tb-jicha-cancel',
+						name: '取消确认',
+						isShow: false
+					},
+
+				]
+			},
+			{
+				id: 'tb-fee-statistics-list',
+				name: '日统计',
+				url: 'sa-view/tb-fee-statistics/tb-fee-statistics-list.html'
+			},
+			{
+				id: 'month-statistcs-list',
+				name: '月统计',
+				url: 'sa-view/tb-fee-statistics/month-statistcs-list.html'
+			},
+			{
+				id: 'year-statistcs-list',
+				name: '年统计',
+				url: 'sa-view/tb-fee-statistics/year-statistcs-list.html'
+			},
+		]
+	}, {
+		id: 'tb-invoice-info',
+		name: '开票管理',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+				id: 'tb-entity-list',
+				name: '开票主体',
+				url: 'sa-view/tb-entity/tb-entity-list.html'
+			},
+			{
+				id: 'tb-invoice-order-list',
+				name: '开票订单',
+				url: 'sa-view/tb-invoice-order/tb-invoice-order-list.html'
+			},
+			{
+				id: 'tb-invoice-info-list',
+				name: '开票信息',
+				url: 'sa-view/tb-invoice-info/tb-invoice-info-list.html'
+			},
+		]
+	}, {
+		id: 'tb-account',
+		name: '预存款管理',
+		icon: 'el-icon-folder-opened',
+		parent: true,
+		childList: [{
+				id: 'tb-account-list',
+				name: '客户充值',
+				url: 'sa-view/tb-account/tb-account-list.html',
+				childList: [{
+						id: 'tb-account-list-add',
+						name: '充值',
+						isShow: false,
+					},
+					{
+						id: 'tb-account-list-update',
+						name: '修改',
+						isShow: false,
+					}
+				]
+			},
+			{
+				id: 'tb-charge-record-list',
+				name: '充值记录',
+				url: 'sa-view/tb-charge-record/tb-charge-record-list.html',
+				childList: [{
+						id: 'tb-charge-record-list-print',
+						name: '打印单据',
+						isShow: false,
+					},
+					{
+						id: 'tb-charge-record-list-review',
+						name: '复审',
+						isShow: false,
+					},
+					{
+						id: 'tb-charge-record-list-del',
+						name: '删除',
+						isShow: false,
+					}
+				]
+			}, {
+				id: 'tb-deduction-bind-list',
+				name: '扣费绑定',
+				url: 'sa-view/tb-deduction-bind/tb-deduction-bind-list.html',
+				childList: [{
+						id: 'tb-deduction-bind-list-bind',
+						name: '绑定车辆',
+						isShow: false,
+					},
+					{
+						id: 'tb-deduction-bind-list-unbind',
+						name: '手动解绑',
+						isShow: false,
+					}
+				]
+			}, {
+				id: 'tb-deduction-record-list',
+				name: '扣费记录',
+				url: 'sa-view/tb-deduction-record/tb-deduction-record-list.html',
+				childList: [{
+					id: 'tb-deduction-record-list-review',
+					name: '复审',
+					isShow: false,
+				}]
+			}
+		],
+
+	}
+);

+ 24 - 790
sp-admin/sa-frame/menu-list.js

@@ -1,795 +1,29 @@
-// 定义菜单列表 
-var menuList = [
-	{
-		id: 'auth',
-		parent: true,
-		name: '权限控制',
-		icon: 'el-icon-unlock',
-		childList: [{
-				id: 'role-list',
-
-				name: '角色列表',
-				url: 'sa-view-sp/sp-role/role-list.html',
-			},
-			{
-				id: 'admin-list',
-
-				name: '管理员列表',
-				url: 'sa-view-sp/sp-admin/admin-list.html',
-			},
-			{
-				id: 'customer-auth-list',
-				name: '客户权限列表',
-				url: 'sa-view/tb-costomer/tb-menu-list.html',
-			},
-			{
-				id: 'partner-auth-list',
-				name: '合作伙伴列表',
-				url: 'sa-view/tb-partner/tb-menu-list.html',
-			},
-		]
-	},
-	{
-		id: 'tb-costomer',
-		name: '客户管理',
-		parent: true,
-		icon: 'el-icon-s-custom',
-		childList: [{
-				id: 'tb-costomer-list',
-				name: '客户列表',
-				url: 'sa-view/tb-costomer/tb-costomer-list.html'
-			},
-			{
-				id: 'tb-costomer-add',
-				name: '添加',
-
-				isShow: false
-			},
-			{
-				id: 'tb-costomer-judge',
-				name: '审核',
-				isShow: false
-			},
-			{
-				id: 'tb-costomer-del',
-				name: '删除',
-
-				isShow: false
-			},
-			{
-				id: 'tb-costomer-edit',
-				name: '修改',
-
-				isShow: false
-			},
-			{
-				id: 'tb-costomer-account',
-				name: '账户',
-
-				isShow: false,
-				childList: [{
-					id: 'tb-costomer-account-charge',
-					name: '充值',
-					isShow: false,
-
-				}]
-			},
-			{
-				id: 'tb-costomer-user',
-				name: '用户管理',
-				isShow: false,
-				childList: [{
-						id: 'tb-costomer-user-add',
-						name: '添加',
-						isShow: false,
-
-					},
-					{
-						id: 'tb-costomer-user-del',
-						name: '删除',
-						isShow: false,
-
-					},
-					{
-						id: 'tb-costomer-user-edit',
-						name: '编辑',
-						isShow: false,
-
-					},
-				]
-			},
-		]
-	},
-
-	{
-		id: 'tb-costomer-maintain',
-		name: '信息维护',
-		parent: true,
-		icon: 'el-icon-s-custom',
-		childList: [{
-			id: 'tb-costomer-maintain-list',
-			name: '企业信息',
-			icon: 'el-icon-s-custom',
-			url: 'sa-view/tb-costomer/tb-costomer-maintain.html',
-			childList: [{
-					id: 'tb-costomer-maintain-edit',
-					name: '编辑信息',
-					isShow: false
-				},
-				{
-					id: 'tb-costomer-maintain-account',
-					name: '账户管理',
-					isShow: false
-				},
-				{
-					id: 'tb-costomer-maintain-user',
-					name: '用户管理',
-					parent: true,
-					isShow: false,
-					childList: [{
-							id: 'tb-costomer-maintain-user-add',
-							name: '添加',
-							isShow: false,
-
-						},
-						{
-							id: 'tb-costomer-maintain-user-del',
-							name: '删除',
-							isShow: false,
-
-						},
-						{
-							id: 'tb-costomer-maintain-user-edit',
-							name: '编辑',
-							isShow: false,
-
-						},
-					]
-				},
-			]
-		}, ]
-	},
-	{
-		id: 'tb-partner',
-		name: '合作伙伴',
-		parent: true,
-		icon: 'el-icon-s-custom',
-		childList: [{
-			id: 'tb-partner-list',
-			name: '信息管理',
-			url: 'sa-view/tb-partner/tb-partner-list.html',
-			childList: [{
-					id: 'tb-partner-add',
-					name: '添加伙伴',
-					isShow: false,
-
-				},
-				{
-					id: 'tb-partner-del',
-					name: '删除伙伴',
-					isShow: false,
-
-				},
-				{
-					id: 'tb-partner-edit',
-					name: '编辑伙伴',
-					isShow: false,
-
-				},
-				{
-					id: 'tb-partner-user',
-					name: '伙伴用户',
-					isShow: false,
-					parent: true,
-					childList: [{
-							id: 'tb-partner-user-add',
-							name: '添加用户',
-							isShow: false,
-
-						},
-						{
-							id: 'tb-partner-user-edit',
-							name: '编辑用户',
-							isShow: false,
-
-						},
-						{
-							id: 'tb-partner-user-del',
-							name: '删除用户',
-							isShow: false,
-
-						},
-					]
-				},
-			],
-		}, ]
-	},
-	{
-		id: 'tb-car',
-		name: '车辆管理',
-		parent: true,
-		icon: 'el-icon-s-platform',
-		childList: [{
-			id: 'tb-car-list',
-			name: '车辆列表',
-			icon: 'el-icon-s-platform',
-			url: 'sa-view/tb-car/tb-car-list.html',
-			childList: [{
-					id: 'tb-car-add',
-					name: '添加车辆',
-					isShow: false
-				},
-				{
-					id: 'tb-car-edit',
-					name: '编辑车辆',
-					isShow: false
-				},
-				{
-					id: 'tb-car-del',
-					name: '删除车辆',
-					isShow: false
-				},
-				{
-					id: 'tb-car-import',
-					name: '批量导入',
-					isShow: false
-				},
-			]
-		}]
-	},
-	{
-		id: 'tb-business-item',
-		name: '作业管理',
-		icon: 'el-icon-edit-outline',
-		parent: true,
-		childList: [{
-				id: 'tb-business-item-pick-list',
-				name: '我要接单',
-				url: 'sa-view/tb-partner/tb-business-pick-list.html',
-				childList: [{
-					id: 'tb-business-item-pick',
-					name: '接单',
-					isShow: false,
-				}]
-			},
-			{
-				id: 'tb-business-item-list',
-				name: '作业订单',
-				url: 'sa-view/tb-partner/tb-business-item-list.html',
-				childList: [{
-					id: 'tb-business-item-confirm',
-					name: '接单确认',
-					isShow: false,
-				}, ]
-			},
-
-		]
-	},
-	{
-		id: 'tb-business',
-		name: '业务管理',
-		icon: 'el-icon-edit-outline',
-		parent: true,
-		childList: [{
-				id: 'tb-car-disincle-list',
-				name: '业务管理',
-				url: 'sa-view/tb-business/tb-car-disincle-list.html',
-				childList: [{
-						id: 'tb-flex-business-add',
-						name: '添加业务',
-						isShow: false
-					},
-					{
-						id: 'tb-flex-business-edit',
-						name: '编辑业务',
-						isShow: false
-					},
-					{
-						id: 'tb-flex-business-del',
-						name: '删除业务',
-						isShow: false
-					},
-					{
-						id: 'tb-flex-business-pay',
-						name: '手工缴费',
-						isShow: false
-					},
-					{
+// 一个菜单可以包括的所有属性 
+// {
+// 	id: '12345',		// 菜单id, 必须唯一
+// 	name: '用户中心',		// 菜单名称, 同时也是tab选项卡上显示的名称
+// 	icon: 'el-icon-user',	// 菜单图标, 参考地址:  https://element.eleme.cn/#/zh-CN/component/icon
+//	info: '管理所有用户',	// 菜单介绍, 在菜单预览和分配权限时会有显示 
+// 	url: 'sa-html/user/user-list.html',	// 菜单指向地址
+// 	parentId: 1,			// 所属父菜单id, 如果指定了一个值, sa-admin在初始化时会将此菜单转移到指定菜单上 
+// 	isShow: true,			// 是否显示, 默认true
+// 	isBlank: false,		// 是否属于外部链接, 如果为true, 则点击菜单时从新窗口打开 
+// 	childList: [			// 指定这个菜单所有的子菜单, 子菜单可以继续指定子菜单, 至多支持三级菜单
+// 		// .... 
+// 	],
+//	click: function(){}		// 点击菜单执行一个函数 
+// }
 
-						id: 'tb-business-car-bind',
-						name: '车辆绑定',
-						isShow: false
-					},
-					{
-						id: 'tb-flex-business-confirm',
-						name: '账单确认',
-						isShow: false
-					},
-					
-					{
-						id: 'tb-business-zx-print',
-						name: '装卸打印',
-						isShow: false
-					},
-				]
-			},
-			{
-				id: 'tb-supplement-list',
-				name: '补录订单',
-				url: 'sa-view/tb-business/tb-supplement-list.html',
-				childList: [{
-						id: 'tb-supplement-add',
-						name: '添加',
-						isShow: false
-					},
-					{
-						id: 'tb-supplement-edit',
-						name: '修改',
-						isShow: false
-					},
-					{
-						id: 'tb-supplement-del',
-						name: '删除',
-						isShow: false
-					},
-					{
-						id: 'tb-supplement-push',
-						name: '发起流程',
-						isShow: false
-					},
-				]
-			}
-
-		]
-	},
-	{
-		id: 'tb-item-type',
-		name: '收费项管理',
-		icon: 'el-icon-notebook-2',
-		parent: true,
-		childList: [{
-				id: 'tb-goods-list',
-				name: '业务项管理',
-				url: 'sa-view/tb-goods/tb-goods-list.html',
-				childList: [{
-						id: 'tb-goods-add',
-						name: '添加业务项',
-						isShow: false
-					},
-					{
-						id: 'tb-goods-edit',
-						name: '编辑业务项',
-						isShow: false
-					},
-					{
-						id: 'tb-goods-del',
-						name: '删除业务项',
-						isShow: false
-					},
-					{
-						id: 'tb-goods-item-type',
-						name: '编辑收费项',
-						isShow: false
-					},
-				]
-			}, {
-				id: 'tb-item-type-list',
-				name: '收费项管理',
-				url: 'sa-view/tb-item-type/tb-item-type-list.html',
-				childList: [{
-						id: 'tb-item-type-add',
-						name: '添加收费项',
-						isShow: false
-					},
-					{
-						id: 'tb-item-type-edit',
-						name: '编辑收费项',
-						isShow: false
-					},
-					{
-						id: 'tb-item-type-relation',
-						name: '收费明细',
-						isShow: false
-					},
-					{
-						id: 'tb-item-type-del',
-						name: '删除收费项',
-						isShow: false
-					},
-
-				]
-			},
-
-			{
-				id: 'tb-item-re-list',
-				name: '明细管理',
-				url: 'sa-view/tb-item-type/tb-item-list.html',
-				childList: [{
-						id: 'tb-item-manager-add',
-						name: '添加明细',
-						isShow: false
-					},
-					{
-						id: 'tb-item-manager-del',
-						name: '删除明细',
-						isShow: false
-					},
-					{
-						id: 'tb-item-manager-edit',
-						name: '修改明细',
-						isShow: false
-					},
-				]
-			},
-			{
-				id: 'tb-sort-group',
-				name: '其他业务设置',
-				url: 'sa-view/tb-sort-group/tb-sort-group-list.html',
-				childList: [{
-						id: 'tb-sort-group-add',
-						name: '添加',
-						isShow: false
-					},
-					{
-						id: 'tb-sort-group-del',
-						name: '删除',
-						isShow: false
-					},
-					{
-						id: 'tb-sort-group-edit',
-						name: '修改',
-						isShow: false
-					},
-				]
-			},
-		],
-
-	},
-
-	{
-		id: 'tb-business-car',
-		name: '放行记录',
-		icon: 'el-icon-notebook-2',
-		parent: true,
-		childList: [{
-			id: 'tb-business-car-list',
-			name: '放行列表',
-			url: 'sa-view/tb-business-car/tb-business-car-list.html',
-			childList: [
-				{
-
-					id: 'tb-business-car-add',
-					name: '添加记录',
-					isShow: false
-				},
-				{
-
-					id: 'tb-business-car-export',
-					name: '导出记录',
-					isShow: false
-				},
-				{
-					id: 'tb-business-car-judge',
-					name: '审核',
-					isShow: false
-				},
-				{
-					id: 'tb-business-car-print',
-					name: '打印凭证',
-					isShow: false
-				},
-				{
-
-					id: 'tb-business-car-edit',
-					name: '修改记录',
-					isShow: false
-				},
-
-				{
-
-					id: 'tb-business-car-del',
-					name: '删除记录',
-					isShow: false
-				},
-			]
-		}, ]
-	}, {
-		id: 'info-setting',
-		name: '信息设置',
-		icon: 'el-icon-monitor',
-		parent: true,
-		childList: [{
-			id: 'tb-item',
-			name: '收费管理',
-			icon: 'el-icon-coin',
-			parent: true,
-			childList: [{
-
-					id: 'tb-item-list',
-					name: '收费标准',
-					url: 'sa-view/tb-item/tb-item-list.html'
-				},
-				{
-
-					id: 'tb-item-list-edit-type',
-					name: '修改类型',
-					isShow: false
-				},
-			]
-		}, ]
-	}, {
-		id: 'tb-notices',
-		name: '消息管理',
-		icon: 'el-icon-news',
-		parent: true,
-		childList: [{
-				id: 'tb-notices-list',
-				name: '消息列表',
-				url: 'sa-view/tb-notices/tb-notices-list.html',
-
-				childList: [{
-
-						id: 'tb-notices-add',
-						name: '添加消息',
-						isShow: false
-					},
-					{
-
-						id: 'tb-notices-del',
-						name: '删除消息',
-						isShow: false
-					},
-					{
-
-						id: 'tb-notices-edit',
-						name: '修改消息',
-						isShow: false
-					},
-				]
-			},
-
-		]
-	}, {
-		id: 'tb-charge-record',
-		name: '充值记录',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-			id: 'tb-charge-record-list',
-			name: '充值记录',
-			url: 'sa-view/tb-charge-record/tb-charge-record-list.html'
-		}, ]
-	}, {
-		id: 'tb-pay-record',
-		name: '支付记录',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-			id: 'tb-pay-record-list',
-			name: '支付记录',
-			url: 'sa-view/tb-pay-record/tb-pay-record-list.html'
-		}, ]
-	}, {
-		id: 'tb-declare',
-		name: '申报信息',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-			id: 'tb-declare-list',
-			name: '申报列表',
-			url: 'sa-view/tb-declare/tb-declare-list.html',
-
-			childList: [{
-					id: 'tb-declare-print',
-					name: '打印申报信息',
-					isShow: false
-				},
-				{
-					id: 'tb-declare-edit',
-					name: '修改申报信息',
-					isShow: false
-				},
-				{
-					id: 'tb-declare-del',
-					name: '删除申报信息',
-					isShow: false
-				},
-			]
-		}, ]
-	}, {
-		id: 'tb-disinfect',
-		name: '消毒信息',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-			id: 'tb-disinfect-list',
-			name: '申请列表',
-			url: 'sa-view/tb-disinfect/tb-disinfect-list.html',
-			childList: [{
-					id: 'tb-disinfect-print',
-					name: '打印信息',
-					isShow: false
-				},
-				{
-					id: 'tb-disinfect-edit',
-					name: '修改信息',
-					isShow: false
-				},
-				{
-					id: 'tb-disinfect-del',
-					name: '删除信息',
-					isShow: false
-				},
-			]
-		}, ]
-	}, {
-		id: 'tb-discount',
-		name: '折扣管理',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-			id: 'tb-discount-list',
-			name: '折扣管理',
-			url: 'sa-view/tb-discount/tb-discount-list.html',
-			childList: [{
-					id: 'tb-discount-add',
-					name: '添加折扣',
-					isShow: false
-				},
-				{
-					id: 'tb-discount-del',
-					name: '删除',
-					isShow: false
-				},
-				{
-					id: 'tb-discount-edit',
-					name: '编辑',
-					isShow: false
-				},
-				{
-					id: 'tb-discount-change',
-					name: '启用/停用',
-					isShow: false
-				},
-			]
-		}, ]
-	}, {
-		id: 'tb-fee-statistics',
-		name: '收费统计',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-				id: 'tb-fee-details-list',
-				name: '收费明细',
-				url: 'sa-view/tb-fee-statistics/tb-fee-details-list.html',
-				childList: [{
-						id: 'tb-kaidan-confirm',
-						name: '开单确认',
-						isShow: false
-					},
-					{
-						id: 'tb-diaodu-confirm',
-						name: '复核确认',
-						isShow: false
-					},
-					{
-						id: 'tb-jicha-confirm',
-						name: '稽查确认',
-						isShow: false
-					},
-					{
-						id: 'tb-jicha-cancel',
-						name: '取消确认',
-						isShow: false
-					},
-
-				]
-			},
-			{
-				id: 'tb-fee-statistics-list',
-				name: '日统计',
-				url: 'sa-view/tb-fee-statistics/tb-fee-statistics-list.html'
-			},
-			{
-				id: 'month-statistcs-list',
-				name: '月统计',
-				url: 'sa-view/tb-fee-statistics/month-statistcs-list.html'
-			},
-			{
-				id: 'year-statistcs-list',
-				name: '年统计',
-				url: 'sa-view/tb-fee-statistics/year-statistcs-list.html'
-			},
-		]
-	},
+// 定义菜单列表 
+var menuList =	[
 	{
-		id: 'tb-invoice-info',
-		name: '开票管理',
+		id: 'tb-mild-car',
+		name: '4.2~9.6车辆管理',
 		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-				id: 'tb-entity-list',
-				name: '开票主体',
-				url: 'sa-view/tb-entity/tb-entity-list.html'
-			},
-			{
-				id: 'tb-invoice-order-list',
-				name: '开票订单',
-				url: 'sa-view/tb-invoice-order/tb-invoice-order-list.html'
-			},
-			{
-				id: 'tb-invoice-info-list',
-				name: '开票信息',
-				url: 'sa-view/tb-invoice-info/tb-invoice-info-list.html'
-			},
+		info: '4.2~9.6车辆管理表数据的维护',
+		childList: [
+			{id: 'tb-mild-car-list', name: '4.2~9.6车辆管理-列表', url: 'sa-view/tb-mild-car/tb-mild-car-list.html'},
+			{id: 'tb-mild-car-add', name: '4.2~9.6车辆管理-添加', url: 'sa-view/tb-mild-car/tb-mild-car-add.html'},
 		]
 	},
-	{
-		id: 'tb-account',
-		name: '预存款管理',
-		icon: 'el-icon-folder-opened',
-		parent: true,
-		childList: [{
-				id: 'tb-account-list',
-				name: '客户充值',
-				url: 'sa-view/tb-account/tb-account-list.html',
-				childList: [{
-						id: 'tb-account-list-add',
-						name: '充值',
-						isShow: false,
-					},
-					{
-						id: 'tb-account-list-update',
-						name: '修改',
-						isShow: false,
-					}
-				]
-			},
-			{
-				id: 'tb-charge-record-list',
-				name: '充值记录',
-				url: 'sa-view/tb-charge-record/tb-charge-record-list.html',
-				childList: [{
-						id: 'tb-charge-record-list-print',
-						name: '打印单据',
-						isShow: false,
-					},
-					{
-						id: 'tb-charge-record-list-review',
-						name: '复审',
-						isShow: false,
-					},
-					{
-						id: 'tb-charge-record-list-del',
-						name: '删除',
-						isShow: false,
-					}
-				]
-			}, {
-				id: 'tb-deduction-bind-list',
-				name: '扣费绑定',
-				url: 'sa-view/tb-deduction-bind/tb-deduction-bind-list.html',
-				childList: [{
-						id: 'tb-deduction-bind-list-bind',
-						name: '绑定车辆',
-						isShow: false,
-					},
-					{
-						id: 'tb-deduction-bind-list-unbind',
-						name: '手动解绑',
-						isShow: false,
-					}
-				]
-			}, {
-				id: 'tb-deduction-record-list',
-				name: '扣费记录',
-				url: 'sa-view/tb-deduction-record/tb-deduction-record-list.html',
-				childList: [{
-					id: 'tb-deduction-record-list-review',
-					name: '复审',
-					isShow: false,
-				}]
-			}],
-
-	}
-]
+]

+ 1 - 1
sp-admin/sa-view/tb-item-type/tb-item.html

@@ -29,7 +29,7 @@
         <el-table class="data-table" ref="data-table" :data="dataList" style="margin-top: 10px;">
             <el-table-column type="index" width="50">
             </el-table-column>
-            <sa-td name="业务类型" prop="itemName" width="200"></sa-td>
+            <sa-td name="型" prop="itemName" width="200"></sa-td>
             <sa-td name="价格" prop="price"></sa-td>
             <sa-td name="单位" prop="unit"></sa-td>
             <sa-td name="税率" prop="taxRate"></sa-td>

+ 1 - 1
sp-server/pom.xml

@@ -49,7 +49,7 @@
 		<dependency>
 		    <groupId>com.baomidou</groupId>
 		    <artifactId>mybatis-plus-boot-starter</artifactId>
-		    <version>3.3.2</version>
+		    <version>3.4.2</version>
 		</dependency>
 		
         <!-- pagehelper分页插件 -->

+ 3 - 3
sp-server/src/main/java/com/pj/api/wx/service/WxService.java

@@ -240,7 +240,7 @@ public class WxService {
                 car.setPay(1).setMoney(car.getMoney().add(price)).setPayTime(payTime).setPayType(TbBusinessCar.PayTypeEnum.HAS_PAY_TYPE.getType());
                 tbBusinessCarService.updateById(car);
             }
-            tbFeeDetailsService.chargeParkFee(cars, transactionId, outTradeNo, payTime,TbFeeDetails.ModuleEnum.ONLINE.getDesc());//添加cars的收费明细
+            tbFeeDetailsService.chargeParkFee(cars, transactionId, outTradeNo, payTime, TbFeeDetails.ModuleEnum.ONLINE.getDesc());//添加cars的收费明细
             String businessId = attach.getB();
             Date finalPayTime = payTime;
             if (StrUtil.isNotEmpty(businessId)) {
@@ -286,7 +286,7 @@ public class WxService {
 
     public String getRedirectUrl(String path, String state) {
         String redirectUrl = myConfig.getWebDomain() + path;
-        String encoderUrl =  URLEncoder.encode(redirectUrl);
+        String encoderUrl = URLEncoder.encode(redirectUrl);
         String url = wxConfig.getAuthLoginUrl().replace("REDIRECT_URI", encoderUrl);
         if (StrUtil.isNotEmpty(state)) {
             url = url.replace("STATE", state);
@@ -365,7 +365,7 @@ public class WxService {
         }
         if (desc.getBytes(Charset.forName("utf-8")).length > 128) {
             desc = StrUtil.sub(desc, 0, desc.lastIndexOf("-"));
-            handlerDesc(desc);
+            desc = handlerDesc(desc);
         }
         return desc;
     }

+ 4 - 1
sp-server/src/main/java/com/pj/current/config/PartConfig.java

@@ -12,9 +12,12 @@ import java.math.BigDecimal;
 public class PartConfig {
     private Double freeCarLength;
     private BigDecimal basePrice;
+    /**
+     * 4.2-9.6米车使用
+     */
+    private BigDecimal mildCarBasePrice;
     private BigDecimal extraPrice;
     private BigDecimal taxRate;
-    private String nightEnd;
     private boolean testEnv;
     private long freeMinutes;
     private int minSeconds;

+ 92 - 0
sp-server/src/main/java/com/pj/current/mybatis/MyBatisPlusMetaObjectHandler.java

@@ -0,0 +1,92 @@
+package com.pj.current.mybatis;
+
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.log.StaticLog;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.pj.current.satoken.StpUserUtil;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import java.util.Date;
+import java.util.Objects;
+import java.util.function.Supplier;
+
+/**
+ *
+ */
+@Component
+public class MyBatisPlusMetaObjectHandler implements MetaObjectHandler {
+
+    private static final String CREATE_TIME = "createTime";
+    private static final String CREATED_BY = "createBy";
+    private static final String UPDATE_TIME = "updateTime";
+    private static final String UPDATE_BY = "updateBy";
+
+
+    /**
+     * 插入填充
+     *
+     * @param metaObject 元数据对象
+     */
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (servletRequestAttributes==null){
+            return;
+        }
+        String createBy = "";
+        if (StpUtil.isLogin()) {
+            createBy = StpUserUtil.getCreateBy();
+        }
+        StaticLog.info("create by:{}", createBy);
+        if (metaObject.hasGetter(CREATED_BY)) {
+            strictInsertFill(metaObject, CREATED_BY, String.class, createBy);
+        }
+        if (metaObject.hasGetter(CREATE_TIME)) {
+            strictInsertFill(metaObject, CREATE_TIME, Date.class, new Date());
+        }
+        if (metaObject.hasGetter(UPDATE_BY)) {
+            strictUpdateFill(metaObject, UPDATE_BY, String.class, createBy);
+        }
+        if (metaObject.hasGetter(UPDATE_TIME)) {
+            strictUpdateFill(metaObject, UPDATE_TIME, Date.class, new Date());
+        }
+    }
+
+    /**
+     * 更新填充
+     *
+     * @param metaObject 元数据对象
+     */
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (servletRequestAttributes==null){
+            return;
+        }
+        if (metaObject.hasGetter(UPDATE_BY)) {
+            strictUpdateFill(metaObject, UPDATE_BY, String.class, StpUserUtil.getCreateBy());
+        }
+        if (metaObject.hasGetter(UPDATE_TIME)) {
+            strictUpdateFill(metaObject, UPDATE_TIME, Date.class, new Date());
+        }
+    }
+
+    @Override
+    public MetaObjectHandler strictFillStrategy(MetaObject metaObject, String fieldName, Supplier<?> fieldVal) {
+        Object value = metaObject.getValue(fieldName);
+        if (value == null
+                || StrUtil.isEmpty(value.toString())
+                || StrUtil.equals(fieldName, UPDATE_BY)
+                || StrUtil.equals(fieldName, UPDATE_TIME)) {
+            Object obj = fieldVal.get();
+            if (Objects.nonNull(obj)) {
+                metaObject.setValue(fieldName, obj);
+            }
+        }
+        return this;
+    }
+}

+ 128 - 0
sp-server/src/main/java/com/pj/project/tb_mild_car/TbMildCar.java

@@ -0,0 +1,128 @@
+package com.pj.project.tb_mild_car;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.EqualsAndHashCode;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+/**
+ * Model: tb_mild_car -- 4.2~9.6车辆管理
+ * @author qzy 
+ */
+@Data
+@Accessors(chain = true)
+@TableName(TbMildCar.TABLE_NAME)
+@EqualsAndHashCode(callSuper = false)
+public class TbMildCar extends Model<TbMildCar> implements Serializable {
+
+	// ---------- 模块常量 ----------
+	/**
+	 * 序列化版本id 
+	 */
+	private static final long serialVersionUID = 1L;	
+	/**
+	 * 此模块对应的表名 
+	 */
+	public static final String TABLE_NAME = "tb_mild_car";	
+	/**
+	 * 此模块对应的权限码 
+	 */
+	public static final String PERMISSION_CODE = "tb-mild-car-list";
+	public static final String PERMISSION_CODE_ADD = "tb-mild-car-add";
+	public static final String PERMISSION_CODE_EDIT = "tb-mild-car-edit";
+	public static final String PERMISSION_CODE_DEL = "tb-mild-car-del";
+	public static final String PERMISSION_CODE_EXPORT = "tb-mild-car-export";
+
+
+	// ---------- 表中字段 ----------
+	/**
+	 * 主键 
+	 */
+	@TableId(type = IdType.AUTO)
+	@ExcelIgnore
+	private Long id;	
+
+	/**
+	 * 所属公司 
+	 */
+	@ExcelProperty(value = "所属公司")
+	private String company;	
+
+	/**
+	 * 车牌号 
+	 */
+	@ExcelProperty(value = "车牌号")
+	private String carNo;	
+
+	/**
+	 * 车辆类型 
+	 */
+	@ExcelProperty(value = "车辆类型")
+	private String carType;	
+
+	/**
+	 * 车长度 
+	 */
+	@ExcelProperty(value = "车长度")
+	private Double carLength;	
+
+	/**
+	 * 载重 
+	 */
+	@ExcelProperty(value = "载重")
+	private String carWeight;	
+
+	/**
+	 * 联系人 
+	 */
+	@ExcelProperty(value = "联系人")
+	private String contact;	
+
+	/**
+	 * 联系电话 
+	 */
+	@ExcelProperty(value = "联系电话")
+	private String contactPhone;	
+
+	/**
+	 * 行驶证 
+	 */
+	@ExcelIgnore
+	private String carCertificate;	
+
+	/**
+	 * 创建时间 
+	 */
+	@TableField(fill = FieldFill.INSERT)
+	@ExcelProperty(value = "创建时间")
+	private Date createTime;
+
+	/**
+	 * 更新时间 
+	 */
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+	@ExcelIgnore
+	private Date updateTime;
+
+	/**
+	 * 创建人 
+	 */
+	@TableField(fill = FieldFill.INSERT)
+	@ExcelProperty(value = "创建人")
+	private String createBy;	
+
+	/**
+	 * 更新时间 
+	 */
+	@TableField(fill = FieldFill.INSERT_UPDATE)
+	@ExcelIgnore
+	private String updateBy;
+
+}

+ 93 - 0
sp-server/src/main/java/com/pj/project/tb_mild_car/TbMildCarController.java

@@ -0,0 +1,93 @@
+package com.pj.project.tb_mild_car;
+
+import java.util.List;
+
+import cn.hutool.core.util.StrUtil;
+import com.pj.project.tb_business_car.TbBusinessCar;
+import com.pj.utils.so.SoMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import com.pj.utils.sg.*;
+import com.pj.project4sp.SP;
+
+import com.pj.current.satoken.StpUserUtil;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+
+
+/**
+ * Controller: tb_mild_car -- 4.2~9.6车辆管理
+ * @author qzy 
+ */
+@RestController
+@RequestMapping("/TbMildCar/")
+public class TbMildCarController {
+
+	/** 底层 Service 对象 */
+	@Autowired
+	TbMildCarService tbMildCarService;
+
+	/** 增 */  
+	@RequestMapping("add")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE_ADD)
+	public AjaxJson add(TbMildCar t){
+		tbMildCarService.add(t);
+		t = tbMildCarService.getById(SP.publicMapper.getPrimarykey());
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 删 */  
+	@RequestMapping("delete")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE_DEL)
+	public AjaxJson delete(Long id){
+		int line = tbMildCarService.delete(id);
+		return AjaxJson.getByLine(line);
+	}
+	
+	/** 删 - 根据id列表 */  
+	@RequestMapping("deleteByIds")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE_DEL)
+	public AjaxJson deleteByIds(){
+		List<Long> ids = SoMap.getRequestSoMap().getListByComma("ids", long.class); 
+		int line = SP.publicMapper.deleteByIds(TbMildCar.TABLE_NAME, ids);
+		return AjaxJson.getByLine(line);
+	}
+	
+	/** 改 */  
+	@RequestMapping("update")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE_EDIT)
+	public AjaxJson update(TbMildCar t){
+		int line = tbMildCarService.update(t);
+		return AjaxJson.getByLine(line);
+	}
+
+	/** 查 - 根据id */  
+	@RequestMapping("getById")
+	public AjaxJson getById(Long id){
+		TbMildCar t = tbMildCarService.getById(id);
+		return AjaxJson.getSuccessData(t);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
+	@RequestMapping("getList")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE)
+	public AjaxJson getList() { 
+		SoMap so = SoMap.getRequestSoMap();
+		List<TbMildCar> list = tbMildCarService.getList(so.startPage());
+		return AjaxJson.getPageData(so.getDataCount(), list);
+	}
+
+	@RequestMapping("export")
+	@SaCheckPermission(TbMildCar.PERMISSION_CODE_EXPORT)
+	public AjaxJson export() {
+		SoMap soMap = SoMap.getRequestSoMap();
+		return AjaxJson.getSuccessData(tbMildCarService.export(soMap));
+	}
+	
+	
+	
+	
+	
+
+}

+ 56 - 0
sp-server/src/main/java/com/pj/project/tb_mild_car/TbMildCarMapper.java

@@ -0,0 +1,56 @@
+package com.pj.project.tb_mild_car;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+
+import com.pj.utils.so.*;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Mapper: tb_mild_car -- 4.2~9.6车辆管理
+ * @author qzy 
+ */
+
+@Mapper
+@Repository
+public interface TbMildCarMapper extends BaseMapper <TbMildCar> {
+
+	/**
+	 * 增  
+	 * @param t 实体对象 
+	 * @return 受影响行数 
+	 */
+	int add(TbMildCar t);
+
+	/**
+	 * 删  
+	 * @param id 要删除的数据id  
+	 * @return 受影响行数 
+	 */
+	int delete(Long id);	 
+
+	/** 
+	 * 改  
+	 * @param t 实体对象 
+	 * @return 受影响行数 
+	 */
+	int update(TbMildCar t);
+
+	/** 
+	 * 查 - 根据id  
+	 * @param id 要查询的数据id 
+	 * @return 实体对象 
+	 */
+	TbMildCar getById(Long id);	 
+
+	/**
+	 * 查集合 - 根据条件(参数为空时代表忽略指定条件)
+	 * @param so 参数集合 
+	 * @return 数据列表 
+	 */
+	List<TbMildCar> getList(SoMap so);
+
+
+}

+ 91 - 0
sp-server/src/main/java/com/pj/project/tb_mild_car/TbMildCarMapper.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.pj.project.tb_mild_car.TbMildCarMapper">
+
+	<!-- 增 [G] -->
+	<insert id="add">
+		insert into 
+		tb_mild_car (id, company, car_no, car_type, car_length, car_weight, contact, contact_phone, car_certificate, create_time, update_time, create_by, update_by) 
+		values (#{id}, #{company}, #{carNo}, #{carType}, #{carLength}, #{carWeight}, #{contact}, #{contactPhone}, #{carCertificate}, #{createTime}, #{updateTime}, #{createBy}, #{updateBy}) 
+	</insert>
+
+	<!-- 删 -->
+	<delete id="delete">
+		delete from tb_mild_car 
+		where id = #{id}
+	</delete>
+
+	<!-- 改 [G] -->
+	<update id="update">
+		update tb_mild_car set
+		id = #{id}, 
+		company = #{company}, 
+		car_no = #{carNo}, 
+		car_type = #{carType}, 
+		car_length = #{carLength}, 
+		car_weight = #{carWeight}, 
+		contact = #{contact}, 
+		contact_phone = #{contactPhone}, 
+		car_certificate = #{carCertificate}, 
+		create_time = #{createTime}, 
+		update_time = #{updateTime}, 
+		create_by = #{createBy}, 
+		update_by = #{updateBy}
+		where id = #{id}
+	</update>
+
+
+	<!-- ================================== 查询相关 ================================== -->
+	<!-- select id, company, car_no, car_type, car_length, car_weight, contact, contact_phone, car_certificate, create_time, update_time, create_by, update_by from tb_mild_car  -->
+	
+	<!-- 通用映射:手动模式 -->
+	<resultMap id="model" type="com.pj.project.tb_mild_car.TbMildCar">
+		<result property="id" column="id" />
+		<result property="company" column="company" />
+		<result property="carNo" column="car_no" />
+		<result property="carType" column="car_type" />
+		<result property="carLength" column="car_length" />
+		<result property="carWeight" column="car_weight" />
+		<result property="contact" column="contact" />
+		<result property="contactPhone" column="contact_phone" />
+		<result property="carCertificate" column="car_certificate" />
+		<result property="createTime" column="create_time" />
+		<result property="updateTime" column="update_time" />
+		<result property="createBy" column="create_by" />
+		<result property="updateBy" column="update_by" />
+	</resultMap>
+	
+	<!-- 公共查询sql片段 -->
+	<sql id="select_sql">
+		select * 
+		from tb_mild_car 
+	</sql>
+	
+	<!-- 查 - 根据id -->
+	<select id="getById" resultMap="model">
+		<include refid="select_sql"></include>
+		where id = #{id}
+	</select>
+	
+	<!-- 查集合 - 根据条件(参数为空时代表忽略指定条件) [G] -->
+	<select id="getList" resultMap="model">
+		<include refid="select_sql"></include>
+		<where>
+			<if test=' this.has("company") '> and company like concat('%',#{company},'%') </if>
+			<if test=' this.has("carNo") '> and car_no like concat('%',#{carNo},'%') </if>
+			<if test=' this.has("contact") '> and contact like concat('%',#{contact},'%')  </if>
+			<if test=' this.has("contactPhone") '> and contact_phone like concat('%',#{contactPhone},'%')  </if>
+		</where>
+		order by update_time desc
+	</select>
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
+</mapper>

+ 92 - 0
sp-server/src/main/java/com/pj/project/tb_mild_car/TbMildCarService.java

@@ -0,0 +1,92 @@
+package com.pj.project.tb_mild_car;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.excel.EasyExcel;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pj.current.config.SystemObject;
+import com.pj.project.tb_business_car.ExportTbBusinessDTO;
+import com.pj.project.tb_business_car.TbBusinessCar;
+import com.pj.project.tb_item.TbItem;
+import com.pj.project.tb_item.TbItemMapper;
+import com.pj.project4sp.uploadfile.UploadConfig;
+import com.pj.utils.so.SoMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.pj.utils.sg.*;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+/**
+ * Service: tb_mild_car -- 4.2~9.6车辆管理
+ * @author qzy 
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+public class TbMildCarService extends ServiceImpl<TbMildCarMapper, TbMildCar> implements IService<TbMildCar> {
+
+	/** 底层 Mapper 对象 */
+	@Autowired
+	TbMildCarMapper tbMildCarMapper;
+	@Resource
+	private UploadConfig uploadConfig;
+	/** 增 */
+	int add(TbMildCar t){
+		if (StrUtil.isEmpty(t.getCarNo())){
+			throw new AjaxError("车牌号不能为空");
+		}
+		t.setCarNo(t.getCarNo().toUpperCase());
+		this.save(t);
+		return 1;
+	}
+
+	/** 删 */
+	int delete(Long id){
+		return tbMildCarMapper.delete(id);
+	}
+
+	/** 改 */
+	int update(TbMildCar t){
+		if (StrUtil.isEmpty(t.getCarNo())){
+			throw new AjaxError("车牌号不能为空");
+		}
+		this.updateById(t);
+		return 1;
+	}
+
+	/** 查 */
+	TbMildCar getById(Long id){
+		return tbMildCarMapper.getById(id);
+	}
+
+	/** 查集合 - 根据条件(参数为空时代表忽略指定条件) */  
+	List<TbMildCar> getList(SoMap so) {
+		return tbMildCarMapper.getList(so);	
+	}
+
+
+	public String export(SoMap soMap) {
+		List<TbMildCar> cars = this.getList(soMap);
+		String flieTypeFolder = "/export/";
+		String currDateFolder = DateUtil.today();
+		String fileName = "record-" +RandomUtil.randomNumbers(6) + ".xlsx";
+		String fileFolder = new File(uploadConfig.rootFolder).getAbsolutePath() +
+				uploadConfig.httpPrefix + flieTypeFolder + currDateFolder + "/";
+		if (!FileUtil.exist(fileFolder)) {
+			FileUtil.mkdir(fileFolder);
+		}
+		EasyExcel.write(fileFolder + fileName, TbMildCar.class).sheet("4.2米~9.6米车导出记录")
+				.doWrite(() -> cars);
+		return SystemObject.config.getDomain() + uploadConfig.httpPrefix + flieTypeFolder + currDateFolder + "/" + fileName;
+	}
+}

+ 1 - 1
sp-server/src/main/resources/application-dev.yml

@@ -52,12 +52,12 @@ spring:
 part-config:
     base-price: 30 #基础费用
     extra-price: 10 #过夜额外收费
-    night-end: 06:00:00 #夜间结束时间
     free-minutes: 30
     free-car-length: 4.2
     tax-rate: 0.09
     test-env: true
     min-seconds: 5
+    mild-car-base-price: 20
 car:
     max-length: 20
     max-weight: 990000