路由配置变更

Avue表格i8配置
This commit is contained in:
刘晓鹏 2025-03-24 16:46:34 +08:00
parent 6d0f85b637
commit 55aac6feb2
12 changed files with 244 additions and 84 deletions

View File

@ -44,7 +44,12 @@ onBeforeMount(() => {
//
onMounted(() => {
nextTick(() => {
if(!Local.get('langes')){
Avue.locale.use(zhLocale)
} else {
Avue.locale.use(Local.get('langes') === 'zh-cn' ? zhLocale : enLocale)
}
// eslint-disable-next-line no-mixed-spaces-and-tabs
// '
mittBus.on('openSetingsDrawer', () => {

View File

@ -0,0 +1,73 @@
export default {
list:{
PONumber: "PO Number",
SupplierCode: "Supplier Code",
SupplierName: "Supplier Name",
Buyer: "Buyer",
SettlementMode: "Settlement Mode",
Currency: "Currency",
PaymentTerms: "Payment Terms",
ExchangeRateType: "Exchange Rate Type",
ExchangeRate: "Exchange Rate",
OrderCreater: "Order Creater",
DocStatus: "Doc Status",
PurchaseDate: "Purchase Date",
Comments: "Comments",
MaterialCode: "Material Code",
MaterialName: "Material Name",
Specification: "Specification",
PurchaseUnit: "Purchase Unit",
QTY: "QTY",
UP: "U/P",
TaxInclusiveUP: "Tax Inclusive U/P",
TotalAmount: "Total Amount (Tax-exclusive)",
TotalAmountTaxInclusive: "Total Amount (Tax-inclusive)",
AccumulatedReceiptQTY: "Accumulated Receipt QTY",
DemondDate: "Demond Date",
TaxAmount: "Tax Amount",
CommittedDeliveryDate: "Committed Delivery Date",
LatestCommittedDeliveryDate: "Latest Committed Delivery Date",
Comments2: "Comments",
// -- Part 2 --
PONumber2: "PO Number",
SupplierCode2: "Supplier Code",
SupplierName2: "Supplier Name",
Buyer2: "Buyer",
ReceiveOrg: "Receive Org",
BusinessType: "Business Type",
OrderCreator: "Order Creator",
DocStatus2: "Doc Status",
ReceivingDate: "Receiving Date",
Comments3: "Comments",
MaterialCode2: "Material Code",
MaterialName2: "Material Name",
Specification2: "Specification",
PurchaseUnit2: "Purchase Unit",
ActualReceiptQTY: "Actual Receipt QTY",
DeliveryQTY: "Delivery QTY",
SupplierLotNumber: "Supplier Lot Number",
QualifiedQTY: "Qualified QTY",
MaxcesLotNumber: "Maxces Lot Number",
Comments4: "Comments",
// -- Part 3 --
SourceDocNo: "Source Doc No.",
GoodReceivingNoticeNo: "Good Receiving Notice No.",
SupplierName3: "Supplier Name",
DeliveryDate2: "Delivery Date",
InvoiceNumber: "Invoice Number",
SN: "S/N",
// -- Other info --
SupplierName4: "Supplier Name",
UserName: "User Name",
MobileNumber: "Mobile Number",
AccountStatus: "Account Status",
Description: "Description",
CreatedDate: "Created Date",
Operation: "Operation",
PurchaseOrder: "Purchase Order",
DeliveryNote: "Delivery Note"
}
};

View File

@ -0,0 +1,73 @@
export default {
list:{
PONumber: "单据编号",
SupplierCode: "供应商代码",
SupplierName: "供应商名称",
Buyer: "采购员",
SettlementMode: "结算方式",
Currency: "结算币别",
PaymentTerms: "付款条件",
ExchangeRateType: "汇率类型",
ExchangeRate: "汇率",
OrderCreater: "制单人",
DocStatus: "单据状态",
PurchaseDate: "采购日期",
Comments: "备注",
MaterialCode: "物料编码",
MaterialName: "物料名称",
Specification: "规格型号",
PurchaseUnit: "采购单位",
QTY: "数量",
UP: "单价",
TaxInclusiveUP: "含税单价",
TotalAmount: "金额(不含税)",
TotalAmountTaxInclusive: "价税合计(含税金额)",
AccumulatedReceiptQTY: "累计收料数量",
DemondDate: "交货日期",
TaxAmount: "税额",
CommittedDeliveryDate: "供应商承诺交期",
LatestCommittedDeliveryDate: "供应商承诺最新交期",
Comments2: "备注",
// -- 第二部分 --
PONumber2: "单据编号",
SupplierCode2: "供应商代码",
SupplierName2: "供应商名称",
Buyer2: "采购员",
ReceiveOrg: "收料组织",
BusinessType: "单据类型",
OrderCreator: "制单人",
DocStatus2: "单据状态",
ReceivingDate: "收料日期",
Comments3: "备注",
MaterialCode2: "物料编码",
MaterialName2: "物料名称",
Specification2: "规格型号",
PurchaseUnit2: "收料单位",
ActualReceiptQTY: "实到数量",
DeliveryQTY: "交货数量",
SupplierLotNumber: "供应商批号",
QualifiedQTY: "合格数量",
MaxcesLotNumber: "批号",
Comments4: "备注",
// -- 第三部分 --
SourceDocNo: "源单单号",
GoodReceivingNoticeNo: "收料通知单编号(送货单号)",
SupplierName3: "供应商名称",
DeliveryDate2: "送货日期",
InvoiceNumber: "发票号",
SN: "序号",
// -- 其他信息 --
SupplierName4: "公司名称",
UserName: "用户姓名",
MobileNumber: "手机号",
AccountStatus: "账号状态",
Description: "用户描述",
CreatedDate: "创建时间",
Operation: "操作",
PurchaseOrder: "采购订单",
DeliveryNote: "送货单"
}
};

View File

@ -0,0 +1,4 @@
// 定义内容
export default {
};

View File

@ -24,7 +24,7 @@
<el-dropdown-menu>
<el-dropdown-item command="zh-cn" :disabled="state.disabledI18n === 'zh-cn'">简体中文</el-dropdown-item>
<el-dropdown-item command="en" :disabled="state.disabledI18n === 'en'">English</el-dropdown-item>
<el-dropdown-item command="zh-tw" :disabled="state.disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item>
<!-- <el-dropdown-item command="zh-tw" :disabled="state.disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item>-->
</el-dropdown-menu>
</template>
</el-dropdown>
@ -200,7 +200,7 @@ const onComponentSizeChange = (size: string) => {
window.location.reload();
};
//
const onLanguageChange = (lang: string) => {
const onLanguageChange = (lang: string,stateVal:boolean = true) => {
Local.remove('themeConfig');
themeConfig.value.globalI18n = lang;
Local.set('themeConfig', themeConfig.value);
@ -208,7 +208,7 @@ const onLanguageChange = (lang: string) => {
locale.value = lang;
other.useTitle();
initI18nOrSize('globalI18n', 'disabledI18n');
router.go(0)
if (stateVal) router.go(0)
};
// /i18n
const initI18nOrSize = (value: string, attr: string) => {
@ -220,6 +220,12 @@ onMounted(() => {
initI18nOrSize('globalComponentSize', 'disabledSize');
initI18nOrSize('globalI18n', 'disabledI18n');
}
if(Local.get('langes') === 'en') {
onLanguageChange('en' , false)
}
else {
onLanguageChange('zh-cn', false)
}
});
</script>

View File

@ -52,7 +52,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
name: 'mssPurchaseOrderIndex',
component: () => import('/@/views/mssPurchaseOrder/index.vue'),
meta: {
title: '采购订单',
title: 'message.list.PurchaseOrder',
isLink: '',
isHide: false,
isKeepAlive: true,
@ -67,11 +67,11 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
name: 'purchaseDetails',
component: () => import('/@/views/mssPurchaseOrder/purchaseDetails.vue'),
meta: {
title: '采购订单',
title: 'message.list.PurchaseOrder',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isAffix: false,
isIframe: false,
roles: ['admin', 'common'],
icon: 'iconfont icon-shouye',
@ -82,11 +82,11 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
name: 'materialReceiptNotice',
component: () => import('/@/views/materialReceiptNotice/index.vue'),
meta: {
title: '收料通知单',
title: 'message.list.DeliveryNote',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: true,
isAffix: false,
isIframe: false,
roles: ['admin', 'common'],
icon: 'iconfont icon-shouye',
@ -97,11 +97,11 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
name: 'materialReceiptNoticePurchaseDetails',
component: () => import('/@/views/materialReceiptNotice/purchaseDetails.vue'),
meta: {
title: '收料通知单',
title: 'message.list.DeliveryNote',
isLink: '',
isHide: true,
isKeepAlive: true,
isAffix: true,
isAffix: false,
isIframe: false,
roles: ['admin', 'common'],
icon: 'iconfont icon-shouye',

View File

@ -104,7 +104,7 @@ export const useThemeConfig = defineStore('themeConfig', {
// 是否开启水印
isWartermark: true,
// 水印文案
wartermarkText: 'vue-next-admin',
wartermarkText: 'Maxcess SCEP',
/**
*
@ -137,11 +137,11 @@ export const useThemeConfig = defineStore('themeConfig', {
* /
*/
// 网站主标题(菜单导航、浏览器当前网页标题)
globalTitle: 'vue-next-admin',
globalTitle: 'Maxcess SCEP',
// 网站副标题(登录页顶部文字)
globalViceTitle: 'vueNextAdmin',
globalViceTitle: 'Maxcess SCEP',
// 网站副标题(登录页顶部文字)
globalViceTitleMsg: '专注、免费、开源、维护、解疑',
globalViceTitleMsg: '',
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
globalI18n: 'zh-cn',
// 默认全局组件大小,可选值"<large|'default'|small>",默认 'large'

View File

@ -15,10 +15,13 @@
</template>
<script lang="ts" setup>
import { reactive, onMounted } from 'vue';
import { reactive, onMounted,computed } from 'vue';
import { useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n';
import selectedData from './selectedData.vue'
const router = useRouter()
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { locale, t } = useI18n();
//
const state = reactive({
@ -34,20 +37,20 @@ const state = reactive({
delBtn: false,
editBtn: false,
align: 'center',
searchLabelWidth:100,
searchLabelWidth:120,
searchMenuSpan:6,
addBtn:false,
column: [
{ label: '单据编号', prop: 'FBillNo', width: 200,search: true },
{ label: '供应商代码', prop: 'FSupplierId', width: 200,search: true },
{ label: '供应商名称', prop: 'FSupplyName', width: 200,search: true },
{ label: '采购员', prop: 'FPurchaserId', width: 200,search: true },
{ label: '收料组织', prop: 'FStockOrgId', width: 200,search: true },
{ label: '单据类型', prop: 'FBillTypeID', width: 200,search: true },
{ label: '制单人', prop: 'FCreatorId', width: 200,search: true },
{ label: '单据状态', prop: 'FDocumentStatus', width: 200,search: true },
{ label: '收料日期', prop: 'FDate', width: 200,search: true,type: 'datetime', searchSpan: 12,searchRange: true,},
{ label: '备注', prop: 'FRemarks', width: 200 },
{ label: computed(() => t('message.list.PONumber2')), prop: 'FBillNo', width: 200,search: true },
{ label: computed(() => t('message.list.SupplierCode2')), prop: 'FSupplierId', width: 200,search: true },
{ label: computed(() => t('message.list.SupplierName2')), prop: 'FSupplyName', width: 200,search: true },
{ label: computed(() => t('message.list.Buyer2')), prop: 'FPurchaserId', width: 200,search: true },
{ label: computed(() => t('message.list.ReceiveOrg')), prop: 'FStockOrgId', width: 200,search: true },
{ label: computed(() => t('message.list.BusinessType')), prop: 'FBillTypeID', width: 200,search: true },
{ label: computed(() => t('message.list.OrderCreator')), prop: 'FCreatorId', width: 200,search: true },
{ label: computed(() => t('message.list.DocStatus2')), prop: 'FDocumentStatus', width: 200,search: true },
{ label: computed(() => t('message.list.ReceivingDate')), prop: 'FDate', width: 200,search: true,type: 'datetime', searchSpan: 12,searchRange: true,},
{ label: computed(() => t('message.list.Comments3')), prop: 'FRemarks', width: 200 },
],
},
data: [

View File

@ -11,8 +11,10 @@
</template>
<script lang="ts" setup>
import { reactive, onMounted } from 'vue';
import {reactive, onMounted, computed} from 'vue';
import { useRouter } from 'vue-router'
import { useI18n } from 'vue-i18n';
const { locale, t } = useI18n();
const router = useRouter()
//
@ -29,23 +31,23 @@ const state = reactive({
delBtn: false,
editBtn: false,
align: 'center',
searchLabelWidth:100,
searchLabelWidth:130,
searchMenuSpan:6,
addBtn:false,
column: [
{ label: '单据编号', prop: 'FBillNo', width: 200,search: true },
{ label: '供应商代码', prop: 'FSupplierId', width: 200,search: true },
{ label: '供应商名称', prop: 'FSupplyName', width: 200,search: true },
{ label: '采购员', prop: 'FPurchaserId', width: 200,search: true },
{ label: '结算方式', prop: 'FSettleModeId', width: 200,search: true },
{ label: '结算币别', prop: 'FSettleCurrId', width: 200,search: true },
{ label: '付款条件', prop: 'FPayConditionId', width: 200,search: true },
{ label: '汇率类型', prop: 'FExchangeTypeId', width: 200 },
{ label: '汇率', prop: 'FExchangeRate', width: 200 },
{ label: '制单人', prop: 'FCreatorId', width: 200,search: true },
{ label: '单据状态', prop: 'FDocumentStatus', width: 200,search: true },
{ label: '采购日期', prop: 'FDate', width: 200,search: true,type: 'datetime', searchSpan: 12,searchRange: true,},
{ label: '备注', prop: 'FRemarks', width: 200 },
{ label: computed(() => t('message.list.PONumber')), prop: 'FBillNo', width: 200,search: true },
{ label: computed(() => t('message.list.SupplierCode')), prop: 'FSupplierId', width: 200,search: true },
{ label: computed(() => t('message.list.SupplierName')), prop: 'FSupplyName', width: 200,search: true },
{ label: computed(() => t('message.list.Buyer')), prop: 'FPurchaserId', width: 200,search: true },
{ label: computed(() => t('message.list.SettlementMode')), prop: 'FSettleModeId', width: 200,search: true },
{ label: computed(() => t('message.list.Currency')), prop: 'FSettleCurrId', width: 200,search: true },
{ label: computed(() => t('message.list.PaymentTerms')), prop: 'FPayConditionId', width: 200,search: true },
{ label: computed(() => t('message.list.ExchangeRateType')), prop: 'FExchangeTypeId', width: 200 },
{ label: computed(() => t('message.list.ExchangeRate')), prop: 'FExchangeRate', width: 200 },
{ label: computed(() => t('message.list.OrderCreater')), prop: 'FCreatorId', width: 200,search: true },
{ label: computed(() => t('message.list.DocStatus')), prop: 'FDocumentStatus', width: 200,search: true },
{ label: computed(() => t('message.list.PurchaseDate')), prop: 'FDate', width: 200,search: true,type: 'datetime', searchSpan: 12,searchRange: true,},
{ label: computed(() => t('message.list.Comments')), prop: 'FRemarks', width: 200 },
],
},
data: [

View File

@ -18,10 +18,12 @@
</template>
<script lang="ts" setup>
import {reactive, onMounted,nextTick } from 'vue';
import {reactive, onMounted, nextTick, computed} from 'vue';
import { ArrowRight } from '@element-plus/icons-vue';
import selectedData from './selectedData.vue'
import receipt from './receipt.vue'
import { useI18n } from 'vue-i18n';
const { locale, t } = useI18n();
//
const state = reactive({
page: {
@ -39,21 +41,21 @@ const state = reactive({
delBtn: false,
editBtn: false,
align: 'center',
searchLabelWidth: 100,
searchLabelWidth: 130,
searchMenuSpan: 6,
addBtn: false,
column: [
{ label: '物料编码', prop: 'FMaterialId', width: 200, search: true },
{ label: '物料名称', prop: 'FMaterialName', width: 200, search: true },
{ label: '规格型号', prop: 'FModel', width: 200, search: true },
{ label: '采购单位', prop: 'FUnitId', width: 200, search: true },
{ label: '单价', prop: 'FPrice', width: 200 },
{ label: '含税单价', prop: 'FTaxPrice', width: 200 },
{ label: '金额', prop: 'FEntryAmount', width: 200 },
{ label: '价税合计', prop: 'FAllAmount', width: 200 },
{ label: '累计收料数量', prop: 'FReceiveQty', width: 200 },
{ label: computed(() => t('message.list.MaterialCode')), prop: 'FMaterialId', width: 200, search: true },
{ label: computed(() => t('message.list.MaterialName')), prop: 'FMaterialName', width: 200, search: true },
{ label: computed(() => t('message.list.Specification')), prop: 'FModel', width: 200, search: true },
{ label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200, search: true },
{ label: computed(() => t('message.list.QTY')), prop: 'FPrice', width: 200 },
{ label: computed(() => t('message.list.UP')), prop: 'FTaxPrice', width: 200 },
{ label: computed(() => t('message.list.TotalAmount')), prop: 'FEntryAmount', width: 200 },
{ label: computed(() => t('message.list.TotalAmountTaxInclusive')), prop: 'FAllAmount', width: 200 },
{ label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
{
label: '交货日期',
label: computed(() => t('message.list.DemondDate')),
prop: 'FDeliveryDate',
width: 200,
search: true,
@ -62,9 +64,9 @@ const state = reactive({
searchRange: true,
searchLabelWidth: 150,
},
{ label: '税额', prop: 'TaxAmount', width: 200 },
{ label: computed(() => t('message.list.TaxAmount')), prop: 'TaxAmount', width: 200 },
{
label: '供应商承诺交期',
label: computed(() => t('message.list.CommittedDeliveryDate')),
prop: 'FSupDueDate',
width: 200,
search: true,
@ -74,7 +76,7 @@ const state = reactive({
searchLabelWidth: 150,
},
{
label: '供应商承诺最新交期',
label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
prop: 'FSupDueNewDate',
width: 200,
search: true,
@ -83,7 +85,7 @@ const state = reactive({
searchRange: true,
searchLabelWidth: 150,
},
{ label: '备注', prop: 'FNote', width: 200 },
{ label: computed(() => t('message.list.Comments2')), prop: 'FNote', width: 200 },
],
},
data: [

View File

@ -7,8 +7,10 @@
</el-dialog>
</template>
<script setup lang="ts">
import {defineProps, reactive,defineEmits} from 'vue';
import {defineProps, reactive, defineEmits, computed} from 'vue';
const emits = defineEmits(['generateDocuments'])
import { useI18n } from 'vue-i18n';
const { locale, t } = useI18n();
const props = defineProps({
listData:{
type: Array,
@ -31,21 +33,21 @@ const state = reactive({
delBtn: false,
editBtn: false,
align: 'center',
searchLabelWidth: 100,
searchLabelWidth: 140,
searchMenuSpan: 6,
addBtn: false,
column: [
{ label: '物料编码', prop: 'FMaterialId', width: 200, search: true },
{ label: '物料名称', prop: 'FMaterialName', width: 200, search: true },
{ label: '规格型号', prop: 'FModel', width: 200, search: true },
{ label: '采购单位', prop: 'FUnitId', width: 200, search: true },
{ label: '单价', prop: 'FPrice', width: 200 },
{ label: '含税单价', prop: 'FTaxPrice', width: 200 },
{ label: '金额', prop: 'FEntryAmount', width: 200 },
{ label: '价税合计', prop: 'FAllAmount', width: 200 },
{ label: '累计收料数量', prop: 'FReceiveQty', width: 200 },
{ label: computed(() => t('message.list.MaterialCode')), prop: 'FMaterialId', width: 200, search: true },
{ label: computed(() => t('message.list.MaterialName')), prop: 'FMaterialName', width: 200, search: true },
{ label: computed(() => t('message.list.Specification')), prop: 'FModel', width: 200, search: true },
{ label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200, search: true },
{ label: computed(() => t('message.list.QTY')), prop: 'FPrice', width: 200 },
{ label: computed(() => t('message.list.UP')), prop: 'FTaxPrice', width: 200 },
{ label: computed(() => t('message.list.TotalAmount')), prop: 'FEntryAmount', width: 200 },
{ label: computed(() => t('message.list.TotalAmountTaxInclusive')), prop: 'FAllAmount', width: 200 },
{ label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
{
label: '交货日期',
label: computed(() => t('message.list.DemondDate')),
prop: 'FDeliveryDate',
width: 200,
search: true,
@ -54,9 +56,9 @@ const state = reactive({
searchRange: true,
searchLabelWidth: 150,
},
{ label: '税额', prop: 'TaxAmount', width: 200 },
{ label: computed(() => t('message.list.TaxAmount')), prop: 'TaxAmount', width: 200 },
{
label: '供应商承诺交期',
label: computed(() => t('message.list.CommittedDeliveryDate')),
prop: 'FSupDueDate',
width: 200,
search: true,
@ -66,7 +68,7 @@ const state = reactive({
searchLabelWidth: 150,
},
{
label: '供应商承诺最新交期',
label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
prop: 'FSupDueNewDate',
width: 200,
search: true,
@ -75,7 +77,7 @@ const state = reactive({
searchRange: true,
searchLabelWidth: 150,
},
{ label: '备注', prop: 'FNote', width: 200 },
{ label: computed(() => t('message.list.Comments2')), prop: 'FNote', width: 200 },
],
},
});

View File

@ -2,13 +2,6 @@
<div class="system-user-container layout-padding">
<el-card shadow="hover" class="layout-padding-auto">
<div class="system-user-search mb15">
<el-input size="default" placeholder="请输入用户名称" style="max-width: 180px"> </el-input>
<el-button size="default" type="primary" class="ml10">
<el-icon>
<ele-Search />
</el-icon>
查询
</el-button>
<el-button size="default" type="success" class="ml10" @click="onOpenAddUser('add')">
<el-icon>
<ele-FolderAdd />
@ -20,10 +13,7 @@
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="userName" label="账户名称" show-overflow-tooltip></el-table-column>
<el-table-column prop="userNickname" label="用户昵称" show-overflow-tooltip></el-table-column>
<el-table-column prop="roleSign" label="关联角色" show-overflow-tooltip></el-table-column>
<el-table-column prop="department" label="部门" show-overflow-tooltip></el-table-column>
<el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column>
<el-table-column prop="email" label="邮箱" show-overflow-tooltip></el-table-column>
<el-table-column prop="status" label="用户状态" show-overflow-tooltip>
<template #default="scope">
<el-tag type="success" v-if="scope.row.status">启用</el-tag>