no message

main
HUOJIN\92525 2025-11-16 20:23:45 +08:00
parent cee141f803
commit c30427dcdc
12 changed files with 158 additions and 93 deletions

View File

@ -85,8 +85,8 @@
.dot {
position: relative;
display: inline-block;
width: 48px;
height: 48px;
width: 45px;
height: 45px;
margin-top: 30px;
font-size: 32px;
transform: rotate(45deg);
@ -159,7 +159,7 @@
<div class="app-loading-wrap">
<div style="position: relative;">
<img style="width: 350px; position: relative; z-index: 2;" src="<%= basePublicPath %>/resource/img/logo.png" class="app-loading-logo" alt="Logo" />
<div class="app-loading-dots" style="position: absolute; bottom: 45px; left: 350px; z-index: 2;">
<div class="app-loading-dots" style="position: absolute; bottom: 48px; left: 350px; z-index: 2;">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
</div>

View File

@ -107,7 +107,6 @@
//update-begin-author:taoyan date:2022-6-1 for: VUEN-1144 online
function storePathTitle(path) {
console.log('storePathTitle', path);
let title = '';
if (instance!.attrs) {
let item: any = instance!.attrs.item;

View File

@ -66,7 +66,7 @@ export function registerGlobComp(app: App) {
compList.forEach((comp) => {
app.component(comp.name || comp.displayName, comp);
});
//仪表盘依赖Tinymce需要提前加载没办法按需加载了
app.component(Editor.name, Editor);
// update-begin--author:liaozhiyang---date:20240308---for【QQYUN-8241】Tinymce异步加载
@ -126,5 +126,4 @@ export function registerGlobComp(app: App) {
.use(Cascader)
.use(Rate)
.use(Progress);
console.log("---初始化--- 全局注册Antd、仪表盘、流程设计器、online、流程等组件--------------")
}

View File

@ -99,8 +99,6 @@ async function bootstrap(props?: MainAppProps) {
// 挂载应用
app.mount(getMountContainer(props), true);
console.log(" vue3 app 加载完成!")
return app
}

View File

@ -128,7 +128,7 @@ export const usePermissionStore = defineStore({
const codeList = systemPermission.codeList;
this.setPermCodeList(codeList);
this.setAuthData(systemPermission);
//菜单路由
const routeList = systemPermission.menu;
return routeList;
@ -211,7 +211,6 @@ export const usePermissionStore = defineStore({
// 后台菜单构建
case PermissionModeEnum.BACK:
const { createMessage, createWarningModal } = useMessage();
console.log(" --- 构建后台路由菜单 --- ")
// 菜单加载提示
// createMessage.loading({
// content: t('sys.app.menuLoading'),

View File

@ -54,7 +54,8 @@
<a-col :lg="6">
<a-form-item name="status">
<template #label><span title="库存状态">库存状态</span></template>
<JDictSelectTag v-model:value="queryParam.status" placeholder="请选择" dictCode="inventory_status" allowClear />
<JDictSelectTag v-model:value="queryParam.status" placeholder="请选择" dictCode="inventory
_status" allowClear />
</a-form-item>
</a-col>
</a-row>

View File

@ -2,41 +2,37 @@ import { BasicColumn, FormSchema } from '/@/components/Table';
export const columns: BasicColumn[] = [
{
title: '日志内容',
dataIndex: 'logContent',
width: 100,
align: 'left',
},
{
title: '操作人ID',
dataIndex: 'userid',
width: 80,
},
{
title: '操作人',
dataIndex: 'username',
width: 80,
title: '操作类型',
dataIndex: 'operateType_dictText',
width: 25,
},
{
title: 'IP',
dataIndex: 'ip',
width: 80,
width: 35,
},
{
title: '耗时(毫秒)',
dataIndex: 'costTime',
width: 80,
width: 30,
},
{
title: '操作人',
dataIndex: 'username',
width: 25,
},
{
title: '日志内容',
dataIndex: 'logContent',
width: 200,
align: 'left',
},
{
title: '创建时间',
dataIndex: 'createTime',
sorter: true,
width: 80,
},
{
title: '客户端类型',
dataIndex: 'clientType_dictText',
width: 60,
width: 40,
},
];
@ -45,20 +41,25 @@ export const columns: BasicColumn[] = [
*/
export const operationLogColumn: BasicColumn[] = [
...columns,
{
title: '操作类型',
dataIndex: 'operateType_dictText',
width: 40,
},
/* {
title: '操作类型',
dataIndex: 'operateType_dictText',
width: 40,
},*/
];
export const exceptionColumns: BasicColumn[] = [
{
title: '异常标题',
dataIndex: 'logContent',
width: 100,
align: 'left',
title: 'IP',
dataIndex: 'ip',
width: 35,
},
{
title: '操作人',
dataIndex: 'username',
width: 25,
},
{
title: '请求地址',
dataIndex: 'requestUrl',
@ -70,34 +71,18 @@ export const exceptionColumns: BasicColumn[] = [
width: 60,
},
{
title: '操作人',
dataIndex: 'username',
width: 60,
customRender: ({ record }) => {
let pname = record.username;
let pid = record.userid;
if(!pname && !pid){
return "";
}
return pname + " (账号: "+ pid + " )";
},
},
{
title: 'IP',
dataIndex: 'ip',
width: 60,
title: '日志内容',
dataIndex: 'logContent',
width: 100,
align: 'left',
},
{
title: '创建时间',
dataIndex: 'createTime',
sorter: true,
width: 60,
},
{
title: '客户端类型',
dataIndex: 'clientType_dictText',
width: 60,
},
];
export const searchFormSchema: FormSchema[] = [
@ -105,7 +90,7 @@ export const searchFormSchema: FormSchema[] = [
field: 'keyWord',
label: '搜索日志',
component: 'Input',
colProps: { span: 8 },
colProps: { span: 6 },
},
{
field: 'fieldTime',
@ -126,7 +111,7 @@ export const operationSearchFormSchema: FormSchema[] = [
field: 'operateType',
label: '操作类型',
component: 'JDictSelectTag',
colProps: { span: 4 },
colProps: { span: 6 },
componentProps: {
dictCode: 'operate_type',
},

View File

@ -25,10 +25,10 @@ export const columns: BasicColumn[] = [
customRender: ({ text }) => {
//入库状态:1.已创建;2.部分收货;3.收货完成;4.已取消。
const statusColorMap = {
'已创建': 'orange',
'部分收货': 'blue',
'收货完成': 'green',
'已取消': 'red',
: 'orange',
: 'blue',
: 'green',
: 'red',
};
const color = statusColorMap[text] || 'red';
return render.renderTag(text, color);
@ -68,6 +68,11 @@ export const columns: BasicColumn[] = [
//子表表格配置
export const asnDetailColumns: JVxeColumn[] = [
{
title: '入库明细ID',
key: 'id',
type: JVxeTypes.hidden,
},
{
title: '入库单ID',
key: 'asnId',
@ -121,7 +126,7 @@ export const asnDetailColumns: JVxeColumn[] = [
width: 150,
async: true, // 异步搜索,默认为 true
//查询状态为可用、启用、未删除的库位
dictCode: 'base_point where iz_active=1 and del_flag=0,point_code,id',
dictCode: 'base_point where area_id = 1986328561044119554 and iz_active=1 and del_flag=0,point_code,id',
tipsContent: '请搜索库位',
validateRules: [
{
@ -166,10 +171,10 @@ export const asnDetailColumns: JVxeColumn[] = [
};
// 状态颜色映射
const statusColorMap = {
'已创建': 'orange',
'部分收货': 'blue',
'收货完成': 'green',
'已取消': 'red',
: 'orange',
: 'blue',
: 'green',
: 'red',
};
const text = statusMap[cellValue] || '未知状态';
const color = statusColorMap[text] || 'red';

View File

@ -92,9 +92,9 @@
</div>
</template>
<script lang="ts" name="receive-asn" setup>
import { ref, reactive, computed, unref } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
<script lang="ts" setup>
import { ref, reactive } from 'vue';
import { BasicTable, TableAction } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage';
import { useModal } from '/@/components/Modal';
import AsnModal from './components/AsnModal.vue';
@ -104,8 +104,7 @@
import { getDateByPicker } from '/@/utils';
import { useUserStore } from '/@/store/modules/user';
import { JInputTypeEnum } from '@/enums/cpteEnum';
import JInput from '../../../components/Form/src/jeecg/components/JInput.vue';
import { JDictSelectTag } from '@/components/Form';
import { JInput, JDictSelectTag } from '@/components/Form';
import JRangeDate from '@/components/Form/src/jeecg/components/JRangeDate.vue';
const fieldPickers = reactive({});
@ -251,6 +250,7 @@
placement: 'topLeft',
},
auth: 'receive:data_asn:delete',
disabled: record.status != 1,
},
];
}

View File

@ -151,15 +151,21 @@ export const pickDetailColumns: JVxeColumn[] = [
//入库状态:1.已创建;2.部分收货;3.收货完成;4.已取消。
const statusMap = {
1: '已创建',
2: '部分收货',
3: '收货完成',
4: '已取消',
2: '部分分配',
3: '已分配',
4: '拣货中',
5: '拣货完成',
6: '已关闭',
7: '已取消',
};
// 状态颜色映射
const statusColorMap = {
: 'orange',
: 'blue',
: 'green',
: 'cyan',
: 'cyan',
: 'blue',
: 'green',
: 'green',
: 'red',
};
const text = statusMap[cellValue] || '未知状态';

View File

@ -3,7 +3,52 @@
<!--查询区域-->
<div class="jeecg-basic-table-form-container">
<a-form ref="formRef" @keyup.enter.native="reload" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-row :gutter="24"> </a-row>
<a-row :gutter="24">
<a-col :lg="6">
<a-form-item name="orderNo">
<template #label><span title="系统单号">系统单号</span></template>
<JInput v-model:value="queryParam.orderNo" :placeholder="'请输入系统单号'" :type="JInputTypeEnum.JINPUT_RIGHT_LIKE" />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="no">
<template #label><span title="任务号">任务号</span></template>
<JInput v-model:value="queryParam.no" :placeholder="'请输入任务号'" :type="JInputTypeEnum.JINPUT_RIGHT_LIKE" />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="orderType">
<template #label><span title="单据类型">单据类型</span></template>
<JDictSelectTag v-model:value="queryParam.orderType" placeholder="请选择" dictCode="pick_order_type" allowClear />
</a-form-item>
</a-col>
<a-col :xl="6" :lg="7" :md="8" :sm="24">
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
<a-col :lg="6">
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery"></a-button>
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
<a @click="toggleSearchStatus = !toggleSearchStatus" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<Icon :icon="toggleSearchStatus ? 'ant-design:up-outlined' : 'ant-design:down-outlined'" />
</a>
</a-col>
</span>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :lg="6">
<a-form-item name="status">
<template #label><span title="状态">状态</span></template>
<JDictSelectTag v-model:value="queryParam.status" placeholder="请选择" dictCode="pick_status" allowClear />
</a-form-item>
</a-col>
<a-col :lg="6">
<a-form-item name="orderDate">
<template #label><span title="订单日期">订单日期</span></template>
<JRangeDate v-model:value="queryParam.orderDate" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</div>
<!--引用表格-->
@ -35,7 +80,7 @@
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)" />
</template>
<!--字段回显插槽-->
<template v-slot:bodyCell="{ column, record, index, text }"> </template>
<template v-slot:bodyCell="{ column, record, index, text }"></template>
</BasicTable>
<!-- 表单区域 -->
<PickModal @register="registerModal" @success="handleSuccess"></PickModal>
@ -53,6 +98,9 @@
import { useMessage } from '/@/hooks/web/useMessage';
import { getDateByPicker } from '/@/utils';
import { useUserStore } from '/@/store/modules/user';
import { JInputTypeEnum } from '@/enums/cpteEnum';
import { JInput, JDictSelectTag } from '@/components/Form';
import JRangeDate from '@/components/Form/src/jeecg/components/JRangeDate.vue';
const fieldPickers = reactive({});
const formRef = ref();
@ -75,12 +123,26 @@
fixed: 'right',
},
beforeFetch: async (params) => {
for (let key in fieldPickers) {
if (queryParam[key] && fieldPickers[key]) {
queryParam[key] = getDateByPicker(queryParam[key], fieldPickers[key]);
//
const newQueryParam = { ...queryParam };
//
if (newQueryParam.orderDate) {
try {
const [begin, end] = newQueryParam.orderDate.split(',');
if (begin !== undefined) newQueryParam.orderDate_begin = begin;
if (end !== undefined) newQueryParam.orderDate_end = end;
delete newQueryParam.orderDate;
} catch (error) {
console.error('日期范围处理错误:', error);
}
}
return Object.assign(params, queryParam);
for (let key in fieldPickers) {
if (newQueryParam[key] && fieldPickers[key]) {
newQueryParam[key] = getDateByPicker(newQueryParam[key], fieldPickers[key]);
}
}
return Object.assign(params, newQueryParam);
},
},
exportConfig: {
@ -110,10 +172,14 @@
* 编辑事件
*/
function handleEdit(record: Recordable) {
let showFooter = true;
if (record.status > 1) {
showFooter = false;
}
openModal(true, {
record,
isUpdate: true,
showFooter: true,
showFooter: showFooter,
});
}
@ -179,6 +245,7 @@
placement: 'topLeft',
},
auth: 'shipping:data_pick:delete',
disabled: record.status != 1,
},
];
}
@ -196,6 +263,13 @@
sm: 20,
});
/**
* 查询
*/
function searchQuery() {
reload();
}
/**
* 重置
*/

View File

@ -12,7 +12,7 @@ const ChatRoutes: RouteRecordRaw[] = [
title: 'AI聊天',
ignoreAuth: true,
},
},
},
{
path: "/ai/app/chatIcon/:appId",
name: "ai-chatIcon-@appId",
@ -55,7 +55,6 @@ const ChatRoutes: RouteRecordRaw[] = [
/** 注册路由 */
export async function register(app: App) {
await registerMyAppRouter(app);
console.log('[聊天路由] 注册完成!');
}
async function registerMyAppRouter(_: App) {