Browse Source

中英文翻译

master_hella_20240701
yufei0306 10 months ago
parent
commit
5eab10b796
  1. 8
      src/components/Form/src/components/useRenderSelect.tsx
  2. 33
      src/components/ImportForm/src/ImportForm.vue
  3. 57
      src/components/SearchHigh/src/SearchHigh.vue
  4. 7
      src/components/SearchTable/src/SearchTable.vue
  5. 21
      src/components/TableForm/src/TableForm.vue
  6. 14
      src/components/rowDrop/index.vue
  7. 2
      src/hooks/web/useI18n.ts
  8. 495
      src/locales/en-US.ts
  9. 404
      src/locales/zh-CN.ts
  10. 6
      src/views/wms/basicDataManage/supplierManage/purchaseprice/index.vue
  11. 4
      src/views/wms/basicDataManage/supplierManage/supplier/index.vue
  12. 4
      src/views/wms/basicDataManage/supplierManage/supplieritem/index.vue
  13. 14
      src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue
  14. 20
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue
  15. 12
      src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts
  16. 30
      src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue
  17. 8
      src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue
  18. 8
      src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/index.vue
  19. 8
      src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue

8
src/components/Form/src/components/useRenderSelect.tsx

@ -3,6 +3,7 @@ import { ComponentOptions } from '@/types/components'
import { ElOption, ElOptionGroup } from 'element-plus'
import { getSlot } from '@/utils/tsxHelper'
import { Slots } from 'vue'
const { t } = useI18n()
export const useRenderSelect = (slots: Slots) => {
// 渲染 select options
@ -33,11 +34,16 @@ export const useRenderSelect = (slots: Slots) => {
const valueAlias = item?.componentProps?.optionsAlias?.valueField
const { label, value, ...other } = option
const zhName = labelAlias ? option[labelAlias] : label;//中文名称
let labelName = t(`ts.${zhName}`)
if(labelName === 'ts.' + zhName){
labelName = zhName
}
return (
<ElOption
{...other}
label={labelAlias ? option[labelAlias] : label}
label={labelName}
value={valueAlias ? option[valueAlias] : value}
>
{{

33
src/components/ImportForm/src/ImportForm.vue

@ -1,6 +1,6 @@
<!-- 导入组件 -->
<template>
<Dialog v-model="dialogVisible" title="导入" width="600" :close-on-click-modal="false">
<Dialog v-model="dialogVisible" :title="t('ts.导入')" width="600" :close-on-click-modal="false">
<el-upload
ref="uploadRef"
v-model:file-list="fileList"
@ -30,29 +30,29 @@
style="width: 300px; margin: 0 auto"
v-loading="formLoading"
>
<Icon icon="ep:upload-filled" color="#c0c4cc" size="60" />
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<Icon icon="ep:upload-filled" color="#c0c4cc" :size="60" />
<div class="el-upload__text">{{t('ts.将文件拖到此处,或')}}<em>{{t('ts.点击上传')}}</em></div>
<template #tip>
<div class="el-upload__tip ml--126px mr--80px">
<div class="flex">
<div
class="label h-32px mr-26px color-#acaeb3 font-size-14px w-100px text-right"
style="line-height: 32px"
>导入模式</div
>{{t('ts.导入模式')}}</div
>
<div class="">
<div class="radio">
<el-radio-group v-model="mode">
<el-radio :label="1" :disabled="updateIsDisable">更新</el-radio>
<el-radio :label="2" :disabled="appendIsDisable">追加</el-radio>
<el-radio :label="3" :disabled="coverIsDisable">覆盖</el-radio>
<el-radio :label="1" :disabled="updateIsDisable">{{ t('ts.更新')}}</el-radio>
<el-radio :label="2" :disabled="appendIsDisable">{{ t('ts.追加') }}</el-radio>
<el-radio :label="3" :disabled="coverIsDisable">{{ t('ts.覆盖') }}</el-radio>
</el-radio-group>
</div>
<div class="tips color-#acaeb3 font-size-14px">
<div class="mt-2">更新新增并修改</div>
<div class="mt-2">追加只新增不修改</div>
<div class="mt-2">覆盖只修改不新增</div>
<div class="mt-2">{{t('ts.更新:新增并修改')}}</div>
<div class="mt-2">{{ t('ts.追加:只新增,不修改') }}</div>
<div class="mt-2">{{ t('ts.覆盖:只修改不新增') }}</div>
</div>
</div>
</div>
@ -60,15 +60,15 @@
<div
class="label h-32px mr-26px color-#acaeb3 font-size-14px w-100px text-right"
style="line-height: 32px"
>部分保存</div
>{{ t('ts.部分保存') }}</div
>
<div class="">
<div class="switch">
<el-switch v-model="updatePart" />
</div>
<div class="tips color-#acaeb3 font-size-14px">
<div class="mt-2">部分保存如存在错误数据正确数据正常导入</div>
<div class="mt-2">全部保存全部数据正确才能导入</div>
<div class="mt-2">{{ t('ts.部分保存:如存在错误数据,正确数据正常导入') }}</div>
<div class="mt-2">{{ t('ts.全部保存:全部数据正确,才能导入') }}</div>
</div>
</div>
</div>
@ -92,11 +92,11 @@
<div class="flex-1 text-left">
<el-button type="primary" plain @click="importTemplate">
<Icon icon="ep:download" />
下载模板
{{ t('ts.下载模板') }}
</el-button>
</div>
<el-button :disabled="formLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button :disabled="formLoading" type="primary" @click="submitForm">{{ t('ts. ') }}</el-button>
<el-button @click="dialogVisible = false">{{ t('ts.取 消') }}</el-button>
</div>
</template>
</Dialog>
@ -106,6 +106,7 @@ import { getAccessToken, getTenantId } from '@/utils/auth'
import download from '@/utils/download'
defineOptions({ name: 'ImportForm' })
const { t } = useI18n()
const message = useMessage() //

57
src/components/SearchHigh/src/SearchHigh.vue

@ -1,42 +1,42 @@
<template>
<!-- 高级筛选界面 -->
<Dialog title="筛选" v-model="popoverVisible" :width="'50%'" >
<Dialog :title="t('ts.筛选')" v-model="popoverVisible" :width="'50%'" >
<el-form id="moreListElForm" size="default" labelWidth="0" :searchData="moreListData">
<el-form-item v-for="(item, index) in moreListData.filters" :key="index" :prop="item.column" >
<!-- 第一列 label-->
<div class="rowInnerItem">
<el-select v-model="item.column" placeholder="请选择筛选对象" :disabled="item.hide" :filterable="true" @change="resetSelect(item)" >
<el-option v-for="(item, index) in searchOption_high" :key="index" :label="item.label" :value="item.field" />
<el-select v-model="item.column" :placeholder="t('ts.请选择筛选对象')" :disabled="item.hide" :filterable="true" @change="resetSelect(item)" >
<el-option v-for="(item, index) in searchOption_high" :key="index" :label="t(`ts.${item.label}`).replace('ts.','')" :value="item.field" />
</el-select>
</div>
<!-- 第二列 条件-->
<div class="rowInnerItem">
<el-select v-model="item.action" placeholder="请选择条件" :disabled="item.column == '' || item.hide ? true : false" @change="actionSelect(item)" >
<el-option v-for="item in formatMoreListActions(item) " :key="item.value" :label="item.label"
<el-select v-model="item.action" :placeholder="t('ts.请选择条件')" :disabled="item.column == '' || item.hide ? true : false" @change="actionSelect(item)" >
<el-option v-for="item in formatMoreListActions(item) " :key="item.value" :label="t(`ts.${item.label}`).replace('ts.','')"
:value="item.value" />
</el-select>
</div>
<!-- 第三列 -->
<div class="rowInnerItem1">
<!-- 输入框 -->
<el-input v-if="getInputType(item.column) == 'input'" v-model="item.value" placeholder="请输入内容" clearable :disabled="item.disabled"/>
<el-input v-if="getInputType(item.column) == 'input'" v-model="item.value" :placeholder="t('ts.请输入内容')" clearable :disabled="item.disabled"/>
<!-- 数字输入框 -->
<el-input-number v-else-if="getInputType(item.column) == 'inputNumber'" v-model="item.value" :precision="getInputPrecision(item.column)" :disabled="item.disabled"/>
<!-- 下拉框 -->
<el-select v-else-if="getInputType(item.column) == 'select'" v-model="item.value1" placeholder="请选择内容" :filterable="true" clearable :disabled="item.disabled" :multiple="item.action=='in' || item.action=='notIn' ? true : false" collapse-tags collapse-tags-tooltip :key="item.action">
<el-option v-for="dict in initSelectOptions(item.column)" :key="dict.value" :label="dict.label"
<el-select v-else-if="getInputType(item.column) == 'select'" v-model="item.value1" :placeholder="t('ts.请选择内容')" :filterable="true" clearable :disabled="item.disabled" :multiple="item.action=='in' || item.action=='notIn' ? true : false" collapse-tags collapse-tags-tooltip :key="item.action">
<el-option v-for="dict in initSelectOptions(item.column)" :key="dict.value" :label="t(`ts.${dict.label}`).replace('ts.','')"
:value="dict.value" />
<!-- <el-option v-for="(op, index) in initSelectOptions(item.column)" :label="op[item.optionsLabel] || op.label"
:value="op[item.optionsValue] || op.value" :key="index" /> -->
</el-select>
<!-- 时间 -->
<el-time-picker v-else-if="getInputType(item.column) == 'time'" range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" v-model="item.value1" style="width: calc(100% - 20px);margin-right: 10px;" :disabled="item.disabled"/>
<el-time-picker v-else-if="getInputType(item.column) == 'time'" range-separator="-" :start-placeholder="t('ts.开始时间')" :end-placeholder="t('ts.结束时间')" v-model="item.value1" style="width: calc(100% - 20px);margin-right: 10px;" :disabled="item.disabled"/>
<!-- 日期 -->
<el-date-picker v-else-if="getInputType(item.column) == 'date'" v-model="item.value1" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" style="width: calc(100% - 20px);margin-right: 10px;" @change="changeDateTimePicker($event, item,'daterange')" value-format="YYYY-MM-DD" format="YYYY/MM/DD" :disabled="item.disabled"/>
range-separator="-" :start-placeholder="t('ts.开始日期')" :end-placeholder="t('ts.结束日期')" style="width: calc(100% - 20px);margin-right: 10px;" @change="changeDateTimePicker($event, item,'daterange')" value-format="YYYY-MM-DD" format="YYYY/MM/DD" :disabled="item.disabled"/>
<!-- 日期时间 -->
<el-date-picker v-else-if="getInputType(item.column) == 'datePicker'" v-model="item.value1" type="datetimerange"
range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" style="width: calc(100% - 20px);margin-right: 10px;" @change="changeDateTimePicker($event, item, 'datetimerange')" value-format="x" format="YYYY/MM/DD HH:mm:ss" :disabled="item.disabled"/>
range-separator="-" :start-placeholder="t('ts.开始时间')" :end-placeholder="t('ts.结束时间')" style="width: calc(100% - 20px);margin-right: 10px;" @change="changeDateTimePicker($event, item, 'datetimerange')" value-format="x" format="YYYY/MM/DD HH:mm:ss" :disabled="item.disabled"/>
</div>
<!-- 删除条件按钮 -->
<el-button type="danger" :icon="Minus" circle size="small"
@ -45,7 +45,7 @@
</el-form>
<!-- 添加筛选条件 -->
<div class="moreListPush-btn">
<span @click="moreListPush">+ 添加筛选条件</span>
<span @click="moreListPush">+ {{ t('ts.添加筛选条件') }}</span>
</div>
<!-- 按钮 -->
<div class="moreListBaseBts" >
@ -57,6 +57,7 @@
import { Minus } from '@element-plus/icons-vue'
import * as defaultButtons from '@/utils/disposition/defaultButtons'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
const { t } = useI18n()
const props = defineProps({
// name
@ -92,46 +93,46 @@ const moreListOptions = ref({
action: [
{
value: '==',
label: '等于'
label: t('ts.等于')
}, {
value: '!=',
label: '不等于'
label: t('ts.不等于')
}, {
value: '>',
label: '大于'
label: t('ts.大于')
}, {
value: '<',
label: '小于'
label: t('ts.小于')
}, {
value: '>=',
label: '大于等于'
label: t('ts.大于等于')
}, {
value: '<=',
label: '小于等于'
label: t('ts.小于等于')
}, {
value: 'like',
label: '模糊'
label: t('ts.模糊')
}, {
value: 'in',
label: '包含'
label: t('ts.包含')
}, {
value: 'notIn',
label: '不包含'
label: t('ts.不包含')
}, {
value: 'betweeen',
label: '区间'
label: t('ts.区间')
}, {
value: 'isNull',
label: '是空'
label: t('ts.是空')
}, {
value: 'isNotNull',
label: '不是空'
label: t('ts.不是空')
}, {
value: 'isStr',
label: '是空字符串'
label: t('ts.是空字符串')
}, {
value: 'isNotStr',
label: '不是空字符串'
label: t('ts.不是空字符串')
}
]
})
@ -178,9 +179,9 @@ const formatMoreListActions = (val) => {
// -
const moreListDelete = (val,item,$event) => {
if (moreListData.value.filters.length == 1) {
message.warning('必须保留一条筛选条件!')
message.warning(t('ts.必须保留一条筛选条件!'))
} else {
message.confirm('您确定删除吗, 是否继续?').then(() => {
message.confirm(t('ts.您确定删除吗, 是否继续?')).then(() => {
moreListData.value.filters.splice(val, 1)
})
}

7
src/components/SearchTable/src/SearchTable.vue

@ -38,7 +38,7 @@
<script setup lang="ts">
import * as defaultButtons from '@/utils/disposition/defaultButtons'
// const { t } = useI18n() //
const { t } = useI18n() //
const message = useMessage() //
const route = useRoute() //
@ -73,7 +73,7 @@ const openData = (titleName: any, tableObject:any ,allSchemas: any,multiple: any
HeadButttondata.value = [
defaultButtons.defaultFilterBtn(null), //
]
dialogTitle.value = titleName
dialogTitle.value = t(`ts.${titleName}`).replace('ts.','')
tableObjectRef.value = tableObject
searchDialogVisible.value = true
multipleBol.value = multiple
@ -103,7 +103,8 @@ const open = (titleName: any, allSchemas: any,getApiPage: any, formField: any, s
rowRef.value = row
multipleBol.value = multiple
// dialogTitle.value = t('action.' + type)
dialogTitle.value = titleName
dialogTitle.value = t(`ts.${titleName}`).replace('ts.','')
const {tableObject, tableMethods } = useTable({
getListApi: getPage.value //
})

21
src/components/TableForm/src/TableForm.vue

@ -19,7 +19,7 @@
v-if="isShowReduceButton"
v-slot="{ row, $index }"
>
<Icon icon="ep:remove" color="#757575" size="26" style="cursor: pointer;margin-top: -16px;" @click="handleDeleteTable (row, $index)" />
<Icon icon="ep:remove" color="#757575" :size="26" style="cursor: pointer;margin-top: -16px;" @click="handleDeleteTable (row, $index)" />
</el-table-column>
<!-- 多选 -->
<el-table-column
@ -33,7 +33,7 @@
<el-table-column
type="index"
fixed="left"
label="序号"
:label="t(`ts.序号`)"
width="80"
:align="'center'"
v-if="isShowIndex"
@ -43,7 +43,7 @@
v-for="(headerItem) in tableFields"
:key="headerItem"
:fixed="headerItem.tableForm?.fixed"
:label="headerItem.label" :prop="headerItem.field"
:label="t(`ts.${headerItem.label}`).replace('ts.','')" :prop="headerItem.field"
:align="headerItem?.tableForm?.align || 'center'"
:sortable="headerItem?.tableForm?.sortable || false"
:width="headerItem?.tableForm?.width || '200px'"
@ -122,7 +122,7 @@
@blur="tableFormSelectOnBlur(headerItem.field, $event,row, $index)">
<el-option
v-for="op in initSelectOptions(headerItem)"
:label="op.label"
:label="t(`ts.${op.label}`).replace('ts.','')"
:value="op.value"
:key="op.value" />
</el-select>
@ -149,12 +149,12 @@
<el-option-group
v-for="group in initSelectOptions(headerItem)"
:key="group.type"
:label="group.name"
:label="t(`ts.${group.name}`).replace('ts.','')"
>
<el-option
v-for="item in group.options"
:key="item.value"
:label="item.label"
:label="t(`ts.${item.label}`).replace('ts.','')"
:value="item.value"
/>
</el-option-group>
@ -250,7 +250,7 @@
<el-radio
v-for="(item, index) in initSelectOptions(headerItem)"
:key="index"
:label="item.value"
:label="t(`ts.${item.value}`).replace('ts.','')"
:size="headerItem?.tableForm?.size"
:disabled="itemIsDisabled(headerItem, row)"
:border="headerItem?.tableForm?.border">
@ -273,10 +273,10 @@
<el-checkbox
v-for="(item, index) in initSelectOptions(headerItem)"
:key="index"
:label="item.value"
:label="t(`ts.${item.value}`).replace('ts.','')"
:disabled="itemIsDisabled(headerItem, row)"
:true-label="headerItem?.tableForm?.trueLabel"
:false-label="headerItem?.tableForm?.falseLabel"
:true-label="t(`ts.${headerItem?.tableForm?.trueLabel}`).replace('ts.','')"
:false-label="t(`ts.${headerItem?.tableForm?.falseLabel}`).replace('ts.','')"
:border="headerItem?.tableForm?.border"
:size="headerItem?.tableForm?.size"
:name="headerItem?.tableForm?.name"
@ -310,6 +310,7 @@
</template>
<script lang="ts" setup>
const { t } = useI18n() //
import { DICT_TYPE, getIntDictOptions, getStrDictOptions } from '@/utils/dict'
const props = defineProps({
//

14
src/components/rowDrop/index.vue

@ -1,7 +1,7 @@
<template>
<!-- <Dialog title="字段设置" width="270" v-model="popoverVisible" :scroll="true" :maxHeight="500"> -->
<div class="test_wrapper" @dragover="dragover($event)">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handlecheckallchange">全部</el-checkbox>
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handlecheckallchange">{{ t('ts.全部') }}</el-checkbox>
<el-checkbox-group v-model="checkedDataList" @change="handlecheckedchange">
<draggable :list="allData" :force-fallback="true" chosen-class="chosen" animation="300" @end="dragend" @update="dragenter" >
<template #item="{element}">
@ -12,8 +12,8 @@
</div>
<div class="footer">
<!-- <template #footer> -->
<el-button size="small" @click="reset">重置</el-button>
<el-button size="small" @click="closeRowDrop">关闭</el-button>
<el-button size="small" @click="reset">{{ t('ts.重置') }} </el-button>
<el-button size="small" @click="closeRowDrop"> {{ t('ts.关闭') }}</el-button>
<!-- </template> -->
</div>
<!-- </Dialog> -->
@ -25,6 +25,7 @@ import draggable from "vuedraggable";
defineOptions({ name: 'RowDrop' })
const { t } = useI18n()
const props = defineProps({
allSchemas: {
@ -148,10 +149,11 @@ const initSelectSta = () => {
if (item.field != 'action') {
checkedDataList.value.push(item.label)
_showTableColumns.push(_myTableColumns.find(myItem => (myItem.label == item.label)))
allData.value.push(item.label)
allData.value.push(t(`ts.${item.label}`))
}
}
})
//
_myTableColumns?.forEach((myTableItem, index) => {
//
@ -159,7 +161,7 @@ const initSelectSta = () => {
if (!myTableItem.fixed) {
if (myTableItem.field != 'action') {
if (allData.value.indexOf(myTableItem.label) == -1) {
allData.value.push(myTableItem.label)
allData.value.push(t(`ts.${myTableItem.label}`))
}
}
}
@ -189,7 +191,7 @@ const initSelectSta = () => {
if (!item.fixed) {
if (item.field != 'action') {
checkedDataList.value.push(item.label)
allData.value.push(item.label)
allData.value.push(t(`ts.${item.label}`))
}
}
})

2
src/hooks/web/useI18n.ts

@ -41,7 +41,7 @@ export const useI18n = (
const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => {
if (!key) return ''
if (!key.includes('.') && !namespace) return key
//@ts-ignore
// @ts-ignore
return t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters))
}
return {

495
src/locales/en-US.ts

@ -481,18 +481,18 @@ export default {
number_all_plans: 'Number of All Plans',
number_orders_received: 'Number of Orders Received',
single: 'Single',
latest_news : 'Latest News',
number : 'Number',
user_type : 'User Type',
user_number : 'User Number',
template_coding : 'Template Coding',
sender_number : 'Sender Number',
template_content : 'Template Content',
template_parameters : 'Template Parameters',
template_type : 'Template Type',
read : 'Read',
read_time : 'Read Time',
create_time : 'Create Time',
latest_news:'Latest News',
number:'Number',
user_type:'User Type',
user_number:'User Number',
template_coding:'Template Coding',
sender_number:'Sender Number',
template_content:'Template Content',
template_parameters:'Template Parameters',
template_type:'Template Type',
read:'Read',
read_time:'Read Time',
create_time:'Create Time',
latest_deduction_details: 'Latest Deduction Details',
title: 'Title',
publisher: 'Publisher',
@ -531,86 +531,91 @@ export default {
creater:'Creater',
claim_details_month:'Claim Details for This Month',
batch:'Batch',
today_arrival_plan_shipped : 'Today\'s arrival plan(Shipped)',
today_arrival_plan_shipped:'Today\'s arrival plan(Shipped)',
material_preparation_plan_today_issued: 'Material preparation plan today(Issued)',
call_material_today_issued : 'Call for material today(Issued)',
pcs : 'pcs',
free_library_bits_or_total_library_bits : 'Free library bits/Total library bits',
slack_stock_warning : 'Slack stock warning',
package_number : 'Package Number',
appliance_code : 'Appliance Code',
location_code : 'Location Code',
warehouse_code : 'Warehouse Code',
location_group_code : 'Location Group Code',
location_area_code : 'Location Area Code',
erp_location_code : 'ERP Location Code',
arrival_date : 'Arrival Date',
production_date : 'Production Date',
expiry_date : 'Expiry Date',
shipper_code : 'Shipper Code',
lock_quantity : 'Lock Quantity',
available_quantity : 'Available Quantity',
warehouse_entry_time : 'Warehouse Entry Time',
overstock_warning : 'Overstock warning',
high_and_low_storage_warning : 'High and low storage warning',
waiting_tasks : 'Waiting Tasks',
purchase_return_tasks : 'Purchase Return Tasks',
product_putway_tasks : 'Product Putway Tasks',
purchase_and_receive_tasks : 'Purchase and Receive Tasks',
production_receipt_tasks : 'Production Receipt Tasks',
production_return_tasks : 'Production Return Tasks',
supplement_materials_tasks : 'Supplement Materials Tasks',
product_receiving_tasks : 'Product Receiving Tasks',
send_materials_tasks : 'Send Materials Tasks',
today_production_plan : 'Today\'s production plan',
sequence : 'Sequence',
workshop : 'Workshop',
prouduction_line : 'Prouduction Line',
schedule : 'Schedule',
teams_and_groups : 'Teams and Groups',
intended_date : 'Intended Date',
start_date : 'Start Date',
ending_date : 'Ending Date',
business_type : 'Business Type',
line_side_safety_stock : 'Line side safety stock',
type : 'Type',
laneway : 'Laneway',
goods_shelf : 'Goods Shelf',
line : 'Line',
column : 'Column',
stock_priority : 'Stock Priority',
maximum_load_bearing : 'Maximum Load Bearing',
maximum_area : 'Maximum Area',
maximum_volume : 'Maximum Volume',
user_group_code : 'User Group Code',
inventory_of_finished_products_waiting_to_be_putway : 'Inventory of finished products waiting to be putway',
source_warehouse_code : 'Source Warehouse Code',
apply_time : 'Apply Time',
request_cut_off_time : 'Request cut-off Time',
state : 'State',
department : 'Department',
undertaker_user_name : 'Undertaker User Name',
undertake_time : 'Undertake Time',
source_location_type_range : 'Source Location Type Range',
destination_location_type_range : 'Destination Location Type Range',
destination_warehouse_code : 'Destination Warehouse Code',
source_location_area_code_range : 'Source Location Area Code Range',
destination_location_area_code_range : 'Destination Location Area Code Range',
auto_ccomplete : 'Auto-complete',
modifiable_location : 'Modifiable Location',
modifiable_amount : 'Modifiable Amount',
allow_greater_than_recommended : 'Allow greater than recommended',
allow_less_than_recommended : 'Allow less than recommended',
allow_modify_location_state : 'Allow modify Location state',
allow_continuous_scanning : 'Allow continuous scanning',
allow_partly_completed : 'Allow partly completed',
modifiable_batch : 'Modifiable Batch',
modifiable_casecode : 'Modifiable Casecode',
call_material_today_issued : 'Call for material today(Issued)',
pcs:'pcs',
free_library_bits_or_total_library_bits:'Free library bits/Total library bits',
slack_stock_warning:'Slack stock warning',
package_number:'Package Number',
appliance_code:'Appliance Code',
location_code:'Location Code',
warehouse_code:'Warehouse Code',
location_group_code:'Location Group Code',
location_area_code:'Location Area Code',
erp_location_code:'ERP Location Code',
arrival_date:'Arrival Date',
production_date:'Production Date',
expiry_date:'Expiry Date',
shipper_code:'Shipper Code',
lock_quantity:'Lock Quantity',
available_quantity:'Available Quantity',
warehouse_entry_time:'Warehouse Entry Time',
overstock_warning:'Overstock warning',
high_and_low_storage_warning:'High and low storage warning',
waiting_tasks:'Waiting Tasks',
purchase_return_tasks:'Purchase Return Tasks',
product_putway_tasks:'Product Putway Tasks',
purchase_and_receive_tasks:'Purchase and Receive Tasks',
production_receipt_tasks:'Production Receipt Tasks',
production_return_tasks:'Production Return Tasks',
supplement_materials_tasks:'Supplement Materials Tasks',
product_receiving_tasks:'Product Receiving Tasks',
send_materials_tasks:'Send Materials Tasks',
today_production_plan:'Today\'s production plan',
sequence:'Sequence',
workshop:'Workshop',
prouduction_line:'Prouduction Line',
schedule:'Schedule',
teams_and_groups:'Teams and Groups',
intended_date:'Intended Date',
start_date:'Start Date',
ending_date:'Ending Date',
business_type:'Business Type',
line_side_safety_stock:'Line side safety stock',
type:'Type',
laneway:'Laneway',
goods_shelf:'Goods Shelf',
line:'Line',
column:'Column',
stock_priority:'Stock Priority',
maximum_load_bearing:'Maximum Load Bearing',
maximum_area:'Maximum Area',
maximum_volume:'Maximum Volume',
user_group_code:'User Group Code',
inventory_of_finished_products_waiting_to_be_putway:'Inventory of finished products waiting to be putway',
source_warehouse_code:'Source Warehouse Code',
apply_time:'Apply Time',
request_cut_off_time:'Request cut-off Time',
state:'State',
department:'Department',
undertaker_user_name:'Undertaker User Name',
undertake_time:'Undertake Time',
source_location_type_range:'Source Location Type Range',
destination_location_type_range:'Destination Location Type Range',
destination_warehouse_code:'Destination Warehouse Code',
source_location_area_code_range:'Source Location Area Code Range',
destination_location_area_code_range:'Destination Location Area Code Range',
auto_ccomplete:'Auto-complete',
modifiable_location:'Modifiable Location',
modifiable_amount:'Modifiable Amount',
allow_greater_than_recommended:'Allow greater than recommended',
allow_less_than_recommended:'Allow less than recommended',
allow_modify_location_state:'Allow modify Location state',
allow_continuous_scanning:'Allow continuous scanning',
allow_partly_completed:'Allow partly completed',
modifiable_batch:'Modifiable Batch',
modifiable_casecode:'Modifiable Casecode',
expiration_time: 'Expiration Time',
effective_time : 'Effective Time',
code : 'Code',
name : 'Name',
effective_time:'Effective Time',
code:'Code',
name:'Name',
},
ts: {
:'Code',
:'All',
@ -628,14 +633,14 @@ export default {
:'Document Number',
:'Order Type',
:'State',
:'Purchase Order Number',
:'Purchase order number',
:'Schedule',
:'Discrete',
:'Disperse',
:'Get ready',
:'Punblish',
:'Close',
:'Finished',
:'Invoice number',
:'Shipment tracking number',
:'Source Batch',
:'Destination Batch',
:'Source Package Number',
@ -653,11 +658,11 @@ export default {
:'Contact Email',
:'Bank',
:'Currency Kind',
:'Tax rate',
:'Tax Rate',
:'Effective Time',
:'Expiration Time',
:'Supplier material code',
:'Supplier measuring Unit',
:'Supplier measuring unit',
:'Conversion Rate',
:'Default receiving warehouse location',
:'Creater',
@ -684,10 +689,10 @@ export default {
:'Last update time',
:'Last Updater',
:'Demand plan',
:'Request number',
:'Application Number',
:'Code from the repository',
:'to the repository code',
:'to the dock code',
:'Destination Warehouse Code',
:'Destination dock code',
:'Time window',
:'Scheduled arrival time',
:'Carriers',
@ -696,19 +701,19 @@ export default {
:'The type of outbound transaction',
:'Inbound transaction type',
:'Execution time',
:'Application timeline',
:'Application Time',
:'Deadline',
:'department',
:'Interface type',
:'Package number',
:'Order number',
:'Package Number',
:'Order Number',
:'Order quantity',
:'quantity',
:'Quantity',
:'Packing quantity',
:'The quantity measured by the supplier',
:'vendor',
:'From the location code',
:'to the location code',
:'Supplier',
:'Source Location Area Code',
:'Destination Location Area Code',
:'From the bin location group code',
:'to the bin location group code',
:'Code from the depot',
@ -719,10 +724,10 @@ export default {
:'Packing specifications',
:'Document printing',
:'Itemized list',
:'No data yet',
:'No Data',
:'supplier Shipping Request',
:'Query Field',
:'Measuring UnitSupplier batchDate of production',
:'Supplier Batch',
:'Production Date',
:'Number of shipments',
:'Primary data',
@ -733,75 +738,64 @@ export default {
:'Supplier shipments Repository code',
:'Shipping method License plate number',
:'Auto-submit',
:'Automatically passed',
:'Auto-execute',
:'Automated',
:'Generate records directly',
:'Details',
:'Batch',
:'Date of manufacture',
:'Arrival date',
:'Expiration date',
:'Supplier unit of measure',
:'Conversion rate',
:'Material Name',
1:'Material Description1',
2:'Material Description2',
:'Item Code',
:'Quality inspection details',
:'Add Attachment',
:'Please enter a comment',
:'Changelog',
:'Add details',
:'Change Record',
:'Add Detail',
:'Upload quality report',
:'Upload the quality inspection report',
:'Supplier lots',
:'piece',
:'sheet',
:'gram',
:'g',
:'kg',
:'ton',
:'rice',
:'square metre',
:'Generate labels',
:'Create a label',
1:'Packing Specification 1',
2:'Package Specification 2',
:'t',
:'m',
:'',
:'Generate label',
:'Create label',
1:'Packing Specification1',
2:'Package Specification2',
1:'Package Quantity1',
2:'Package Quantity2',
:'Item packaging information',
:'System prompts',
:'System Prompt',
:'Do you generate labels for this data?',
:'Do you process the selected data?',
:'shipments',
:'Package number',
:'Label information',
:'Purchase receipt records',
:'Form data',
:'Task ticket number',
:'Purchase receipt record',
:'Form Data',
:'Task order number',
ERP单据号:'ERP document number',
:'Inspection requisition number',
:'Purchase order number',
:'The name of the item',
:'Data source',
:'From the range of reservoir types',
:'to the depot type range',
:'From the range of depot codes',
:'to the range of codes in the reservoir',
:'Data Source',
:'Source Location Type Range',
:'Destination Location Type Range',
:'Source Location Area Code Range',
:'Destination Location Area Code Range',
:'Effective Date',
:'Receipt details',
:'Out-of-stock details',
:'Row type',
:'The quantity received',
:'to the batch',
:'From the package number',
:'to the package number',
:'Inventory status',
:'From the bin location group',
:'to the bin location group',
:'From the reservoir area',
:'to the reservoir area',
:'from the owner of the goods',
:'to the owner of the goods',
:'Receipt Detail',
:'Stockout Detail',
:'Row Type',
:'Quantity Received',
:'Inventory Status',
:'Source Location Group',
:'Destination Location Group',
:'Source Location Area',
:'Destination Location Area',
:'Source Shipper',
:'Destination Shipper',
退:'Purchase return records',
:'Purchase receipt record number',
qad采购退货记录单号:'QAD purchase return record number',
@ -809,8 +803,56 @@ export default {
:'Cause',
退:'Number of returns',
:'unit',
:'amount',
:'Amount',
:'Customer Code',
:'Supplier invoice request',
:'Supplier Name',
:'Tax',
:'After-tax Amount',
:'Discount Amount',
:'Adjusted Tax',
:'Under Coverage',
:'Gold tax ticket number',
:'Invoice Date',
:'Posting Date',
:'Financial Approver',
:'Document Type',
:'Contract Price',
:'Orocurement Price',
:'Untaxed Difference',
:'Difference including tax',
:'Number of tickets available',
:'Procurement Approver',
:'Purchase approval time',
:'Financial approval time',
:'Supplier invoice record',
:'Invoice Number',
:'Total price with tax',
:'Margin',
:'Claim Amount',
:'Invoice Time',
:'Difference',
:'Date of taking the delivery',
:'Invoice Quantity',
:'Financial approval user name',
:'Logistics Audit',
:'Supplier delivery date',
:'Supplier receiving date',
:'Logistics document number',
:'Part Number',
:'Supplier user association management',
ID:'User ID',
:'User Account',
:'User Nickname',
:'Order',
:'Plan',
:'Request',
:'Job',
:'Record',
:'Number',
:'Location Code',
:'Location Group Code',
:'Location Area Code',
:'Query',
:'Reset',
:'Add',
@ -820,45 +862,134 @@ export default {
:'Filter',
:'Settings',
:'Confirm',
'确 定':'Confirm',
:'Cancel',
'取 消':'Cancel',
:'Edit',
:'Delete',
:'Add Filter',
:'Go to',
:'Page',
:'Total',
:'Open',
:'Save',
//--------
// 单据打印:'Document Print',
// 上传质量报告:'Upload Quality Report',
// 打印标签:'Print Label',
// 发货:'Delivery',
// 生成标签:'Generate Label',
// 发送到货检验申请:'Send Arrival Inspection Application',
// 生成采购上架申请:'Generate Purchase Putaway Application',
// 生成生产计划单:'Generate Production Plan',
// 提交审批:'Submit Approval',
// 审核通过:'Approve',
// 作废:'Invalid',
//--------
// 生成采购收货申请:'Generate Purchase Receiving Application',
// 生成采购退货申请:'Generate Purchase Return Application',
// 生成生产收货申请:'Generate Production Receiving Application',
// 生成生产退货申请:'Generate Production Return Application',
// 生成生产计划:'Generate Production Plan',
// 上传:'Upload',
// 打印:'Print',
// 打印预览:'Print Preview',
// 打印设置:'Print Settings',
// 打印预览设置:'Print Preview
// 上传图片:'Upload Image',
// 上传文件:'Upload File',
// 上传视频:'Upload Video',
// 上传音频:'Upload Audio',
// 上传其他:'Upload Other',
// 上传图片:'Upload Image',
// 上传文件:'Upload File',
// 上传视频:'Upload Video',
// 上传音频:'Upload Audio',
// 上传其他:'Upload Other',
:'Please select filter',
:'Please inputr content',
:'Attachment',
'更新:新增并修改':'Update:Add and modify',
'追加:只新增,不修改':'Add:Add,no modify',
'覆盖:只修改不新增':'Cover:Modify,not add',
:'Download Template',
:'Update',
:'Add',
:'Cover',
:'Save Partial',
'部分保存:如存在错误数据,正确数据正常导入':'Save Partial :If incorrect data exists, correct data can be imported',
'全部保存:全部数据正确,才能导入':'Save All:Import only when all data is correct',
'将文件拖到此处,或点击上传':'Drag the file here, or click Upload',
'将文件拖到此处,或':'Drag the file here, or',
'点击上传':' click Upload',
'是否确认导出数据项?':'Are you sure to export data items?',
'请选择一条数据!':'Please select a piece of data!',
:'Equal to',
:'Not Equal to',
:'Greater than',
:'Less than',
:'Greater than or equal to',
:'Less than or equal to',
:'obscure',
:'contain',
:'Not included',
:'is empty',
:'not empty',
:'is an empty string',
:'Not an empty string',
:'Search',
:'Start Date',
:'Ending Date',
:'Serial Number',
:'Version',
:'Place',
'影响明细中物料代码,需在供应商物料中维护':'The material code in the details is affected , must be maintained in the supplier\'s material',
:'External resource or not',
:'Import Mode',
:'Please select content',
:'Please select condition',
:'Interval',
'您确定删除吗, 是否继续?':'Are you sure about deleting it? Do you want to continue?',
'必须保留一条筛选条件!':'One filter must be preserved!',
'请填写供应商代码!':'Please fill in the supplier code!',
:'Supplier Integration',
:'Material basic information',
:'Location Information',
:'Purchase order information',
:'Supplier material information',
:'Demand plan information',
:'User Information',
:'Please select a supplier',
:'Please select a vendor code',
:'Please select material code',
:'Please input the supplier material code',
:'Please input the location code',
ERP库位:'ERP Location Code',
:'Unit Price',
'是否发布所选中数据?':'Do you publish the selected data?',
'是否关闭所选中数据?':'Do you want to close the selected data?',
'发布成功!':'Release Successfully!',
'是否下架所选中数据?':'Do you want to remove selected data?',
'下架成功!':'Removed Successfully!',
'采购订单主':'Purchase order master data',
'采购订单主导入模版':'The purchase order leads into the template',
'是否打开所选中数据?':'Open the selected data?',
'打开成功!':'Open Successfully!',
'关闭成功!':'Closed Successfully',
'失效时间要大于生效时间':'The expiration time must be longer than the effective time',
'供应商导入模版':'Supplier import template',
'供应商物料':'Supplier Material',
'供应商物料导入模版':'Supplier material import template',
'采购价格单':'Purchase price sheet',
'采购价格单导入模版':'Purchase price list import template',
:'Planned Quantity',
:'Shipped Quantity',
:'Received Quantity',
退:'Returned Quantity',
:'Stocked Quantity',
:'Start Using',
:'Disable',
:'Terminate',
:'Get',
:'Accomplish',
:'Binding',
:'Readd',
:'Sold Out',
:'Amend',
:'Reject',
:'Accept',
:'Undertake',
:'Abandon',
:'Receiving',
:'Packaging',
:'print Label',
:'Bulk Print',
:'Generate purchase receipt request',
:'Send the arrival inspection request',
:'Generate a purchase listing request',
:'Generate inventory adjustment request',
:'New Inventory',
:'Unfreeze',
:'Update inspection record',
使:'Usage Decision',
'是否接受所选中数据?':'Do you accept the selected data?',
'接受成功!':'Accept Successfully!',
'是否驳回所选中数据?':'Do you reject the selected data?',
'驳回成功!':'Reject Succussfully!',
'要货计划主':'Ask for master data of cargo plan',
'要货计划数量不得大于订单数量-已计划数量':'The planned quantity of the requested goods shall not be greater than the order quantity - the planned quantity',
'子列表数量不能空':'The number of sublists cannot be empty',
'要货计划主导入模版':'The request plan leads into the template',
:'The material code already exists',
:'Refusal',
:'Approve',
}
}

404
src/locales/zh-CN.ts

@ -474,18 +474,18 @@ export default {
number_all_plans: '全部计划数',
number_orders_received: '已收货订单数',
single: '单',
latest_news : '最新消息',
number : '编号',
user_type : '用户类型',
user_number : '用户编号',
template_coding : '模板编码',
sender_number : '发送人名称',
template_content : '模板内容',
template_parameters : '模板参数',
template_type : '模板类型',
read : '是否已读',
read_time : '阅读时间',
create_time : '创建时间',
latest_news:'最新消息',
number:'编号',
user_type:'用户类型',
user_number:'用户编号',
template_coding:'模板编码',
sender_number:'发送人名称',
template_content:'模板内容',
template_parameters:'模板参数',
template_type:'模板类型',
read:'是否已读',
read_time:'阅读时间',
create_time:'创建时间',
latest_deduction_details: '最新扣分明细',
title: '标题',
@ -528,106 +528,106 @@ export default {
claim_details_month:'本月索赔明细',
batch:'批次',
today_arrival_plan_shipped : '今日到货计划(已发货)',
today_arrival_plan_shipped:'今日到货计划(已发货)',
material_preparation_plan_today_issued:'今日备料计划(已发料)',
call_material_today_issued:'今日叫料请求(已发料)',
'pcs' : '个',
free_library_bits_or_total_library_bits : '空闲库位数/总库位数',
'pcs':'个',
free_library_bits_or_total_library_bits:'空闲库位数/总库位数',
slack_stock_warning : '呆滞库存预警',
package_number : '包装号',
appliance_code : '器具代码',
location_code : '库位代码',
warehouse_code : '仓库代码',
location_group_code : '库位组代码',
location_area_code : '库区代码',
erp_location_code : 'ERP库位代码',
arrival_date : '到货日期',
production_date : '生产日期',
expiry_date : '失效日期',
shipper_code : '货主代码',
lock_quantity : '锁定数量',
available_quantity : '可用数量',
warehouse_entry_time : '入库时间',
slack_stock_warning:'呆滞库存预警',
package_number:'包装号',
appliance_code:'器具代码',
location_code:'库位代码',
warehouse_code:'仓库代码',
location_group_code:'库位组代码',
location_area_code:'库区代码',
erp_location_code:'ERP库位代码',
arrival_date:'到货日期',
production_date:'生产日期',
expiry_date:'失效日期',
shipper_code:'货主代码',
lock_quantity:'锁定数量',
available_quantity:'可用数量',
warehouse_entry_time:'入库时间',
overstock_warning : '超期库存预警',
high_and_low_storage_warning : '高低储预警',
waiting_tasks : '待处理任务',
purchase_return_tasks : '采购退货任务',
product_putway_tasks : '制品上架任务',
purchase_and_receive_tasks : '采购收货任务',
production_receipt_tasks : '生产收料任务',
production_return_tasks : '生产退料',
supplement_materials_tasks : '补料任务',
product_receiving_tasks : '制品收货任务',
send_materials_tasks : '发料任务',
overstock_warning:'超期库存预警',
high_and_low_storage_warning:'高低储预警',
waiting_tasks:'待处理任务',
purchase_return_tasks:'采购退货任务',
product_putway_tasks:'制品上架任务',
purchase_and_receive_tasks:'采购收货任务',
production_receipt_tasks:'生产收料任务',
production_return_tasks:'生产退料',
supplement_materials_tasks:'补料任务',
product_receiving_tasks:'制品收货任务',
send_materials_tasks:'发料任务',
today_production_plan : '今日生产计划',
sequence : '顺序',
workshop : '车间',
prouduction_line : '生产线',
schedule : '班次',
teams_and_groups : '班组',
intended_date : '计划日期',
start_date : '开始日期',
ending_date : '结束日期',
business_type : '业务类型',
line_side_safety_stock : '线边安全库存',
today_production_plan:'今日生产计划',
sequence:'顺序',
workshop:'车间',
prouduction_line:'生产线',
schedule:'班次',
teams_and_groups:'班组',
intended_date:'计划日期',
start_date:'开始日期',
ending_date:'结束日期',
business_type:'业务类型',
line_side_safety_stock:'线边安全库存',
type : '类型',
laneway : '巷道',
goods_shelf : '货架',
line : '行',
column : '列',
stock_priority : '备货优先级',
maximum_load_bearing : '最大承重',
maximum_area : '最大面积',
maximum_volume : '最大体积',
user_group_code : '用户组代码',
inventory_of_finished_products_waiting_to_be_putway : '待上架成品库存',
source_warehouse_code : '从仓库代码',
apply_time : '申请时间',
request_cut_off_time : '要求截止时间',
state : '状态',
department : '部门',
undertaker_user_name : '承接人用户名',
undertake_time : '承接时间',
source_location_type_range : '从库位类型范围',
destination_location_type_range : '到库位类型范围',
destination_warehouse_code : '到仓库代码',
source_location_area_code_range : '从库区代码范围',
destination_location_area_code_range : '到库区代码范围',
auto_complete : '自动完成',
modifiable_location : '允许修改库位',
modifiable_amount : '允许修改数量',
allow_greater_than_recommended : '允许大于推荐数量',
allow_less_than_recommended : '允许小于推荐数量',
allow_modify_location_state : '允许修改库存状态',
allow_continuous_scanning : '允许连续扫描',
allow_partly_completed : '允许部分完成',
modifiable_batch : '允许修改批次',
modifiable_casecode : '允许修改箱码',
type:'类型',
laneway:'巷道',
goods_shelf:'货架',
line:'行',
column:'列',
stock_priority:'备货优先级',
maximum_load_bearing:'最大承重',
maximum_area:'最大面积',
maximum_volume:'最大体积',
user_group_code:'用户组代码',
inventory_of_finished_products_waiting_to_be_putway:'待上架成品库存',
source_warehouse_code:'从仓库代码',
apply_time:'申请时间',
request_cut_off_time:'要求截止时间',
state:'状态',
department:'部门',
undertaker_user_name:'承接人用户名',
undertake_time:'承接时间',
source_location_type_range:'从库位类型范围',
destination_location_type_range:'到库位类型范围',
destination_warehouse_code:'到仓库代码',
source_location_area_code_range:'从库区代码范围',
destination_location_area_code_range:'到库区代码范围',
auto_complete:'自动完成',
modifiable_location:'允许修改库位',
modifiable_amount:'允许修改数量',
allow_greater_than_recommended:'允许大于推荐数量',
allow_less_than_recommended:'允许小于推荐数量',
allow_modify_location_state:'允许修改库存状态',
allow_continuous_scanning:'允许连续扫描',
allow_partly_completed:'允许部分完成',
modifiable_batch:'允许修改批次',
modifiable_casecode:'允许修改箱码',
expiration_time: '失效时间',
effective_time : '生效时间',
code : '代码',
name : '名称',
effective_time:'生效时间',
code:'代码',
name:'名称',
},
ts: {
: '代码',
:'代码',
: 'All',
: '标准',
:'标准',
: '委外',
:'其它',
:'其他',
: '是否可用',
: '类型',
: '名称',
: '是',
: '否',
:'类型',
:'名称',
:'是',
:'否',
: '供应商代码',
:'物料代码',
:'单据号',
@ -712,7 +712,6 @@ export default {
:'包装数量',
:'供应商计量数量',
:'供应商',
:'从库位代码',
:'到库位代码',
:'从库位组代码',
@ -742,6 +741,118 @@ export default {
:'自动通过',
:'自动执行',
:'直接生成记录',
:'明细',
:'批次',
:'到货日期',
:'过期日期',
:'物料名称',
1:'物料描述1',
2:'物料描述2',
:'项目代码',
:'质检明细',
:'添加附件',
:'变更记录',
:'添加明细',
:'上传质量报告',
:'上传质检报告',
:'个',
:'张',
:'克',
:'公斤',
:'吨',
:'米',
:'平方米',
:'生成标签',
:'创建标签',
1:'包装规格1',
2:'包装规格2',
1:'包装数量1',
2:'包装数量2',
:'物品包装信息',
:'系统提示',
:'是否为此数据生成标签',
:'是否处理所选中数据',
:'发货',
:'标签信息',
:'采购收货记录',
:'表单数据',
:'任务单号',
ERP单据号:'ERP单据号',
:'检验申请单号',
:'数据来源',
:'从库区类型范围',
:'到库区类型范围',
:'从库区代码范围',
:'到库区代码范围',
:'生效日期',
:'收货明细',
:'缺货明细',
:'行类型',
:'收货数量',
:'库存状态',
:'从库位组',
:'到库位组',
:'从库区',
:'到库区',
:'从货主',
:'到货主',
退:'采购退货记录',
:'采购收货记录单号',
qad采购退货记录单号:'qad采购退货记录单号',
:'从月台代码',
:'原因',
退:'退货数量',
:'单位',
:'金额',
:'客户代码',
:'供应商发票申请',
:'供应商名称',
:'税额',
:'税后金额',
:'折扣金额',
:'调整税额',
:'总差额',
:'金税票号',
:'发票日期',
:'过账日期',
:'财务审批人',
:'单据类型',
:'合同价格',
:'采购价格',
:'未税差额',
:'含税差额',
:'可开票数量',
:'采购审批人',
:'采购审批时间',
:'财务审批时间',
:'供应商发票记录',
:'发票号',
:'价税合计',
:'价差',
:'索赔金额',
:'发票时间',
:'差额',
:'收货日期',
:'开票数量',
:'财务审批用户名',
:'物流审核',
:'供应商送货日期',
:'物流收货日期',
:'物流单据号',
:'零件号',
:'供应商用户关联管理',
ID:'用户ID',
:'用户账号',
:'用户昵称',
:'订单',
:'计划',
:'申请',
:'任务',
:'记录',
:'编号',
:'库位代码',
:'库位组代码',
:'库区代码',
:'查询',
:'重置',
:'新增',
@ -751,14 +862,98 @@ export default {
:'筛选',
:'设置',
:'确定',
'确 定':'确 定',
:'取消',
'取 消':'取 消',
:'编辑',
:'删除',
:'添加附件',
:'添加筛选条件',
:'前往',
:'页',
:'共',
:'打开',
:'保存',
//////
:'请选择筛选对象',
:'请输入内容',
:'附件',
'更新:新增并修改':'更新:新增并修改',
'追加:只新增,不修改':'追加:只新增,不修改',
'覆盖:只修改不新增':'覆盖:只修改不新增',
:'下载模板',
:'更新',
:'追加',
:'覆盖',
:'部分保存',
'部分保存:如存在错误数据,正确数据正常导入':'部分保存:如存在错误数据,正确数据正常导入',
'全部保存:全部数据正确,才能导入':'全部保存:全部数据正确,才能导入',
'将文件拖到此处,或点击上传':'将文件拖到此处,或点击上传',
'将文件拖到此处,或':'将文件拖到此处,或',
'点击上传':'点击上传',
'是否确认导出数据项?':'是否确认导出数据项?',
'请选择一条数据!':'请选择一条数据!',
:'等于',
:'不等于',
:'大于',
:'小于',
:'大于等于',
:'小于等于',
:'模糊',
:'包含',
:'不包含',
:'是空',
:'不是空',
:'是空字符串',
:'不是空字符串',
:'搜索',
:'开始日期',
:'结束日期',
:'序号',
:'版本',
:'地点',
'影响明细中物料代码,需在供应商物料中维护':'影响明细中物料代码,需在供应商物料中维护',
:'是否外部资源',
:'导入模式',
:'请选择内容',
:'请选择条件',
:'区间',
'您确定删除吗, 是否继续?':'您确定删除吗, 是否继续?',
'必须保留一条筛选条件!':'必须保留一条筛选条件!',
'请填写供应商代码!':'请填写供应商代码!',
:'供应商信息',
:'物料基础信息',
:'库位信息',
:'采购订单信息',
:'供应商物料信息',
:'要货计划信息',
:'用户信息',
:'请选择供应商',
:'请选择供应商代码',
:'请选择物料代码',
:'请输入供应商物料代码',
:'请选择库位代码',
ERP库位:'ERP库位',
:'单价',
'是否发布所选中数据?':'是否发布所选中数据?',
'是否关闭所选中数据?':'是否关闭所选中数据?',
'发布成功!':'发布成功!',
'是否下架所选中数据?':'是否下架所选中数据?',
'下架成功!':'下架成功!',
'采购订单主':'采购订单主',
'采购订单主导入模版':'采购订单主导入模版',
'是否打开所选中数据?':'是否打开所选中数据?',
'打开成功!':'打开成功!',
'关闭成功!':'关闭成功!',
'失效时间要大于生效时间':'失效时间要大于生效时间',
'供应商导入模版':'供应商导入模版',
'供应商物料':'供应商物料',
'供应商物料导入模版':'供应商物料导入模版',
'采购价格单':'采购价格单',
'采购价格单导入模版':'采购价格单导入模版',
:'已计划数量',
:'已发货数量',
:'已收货数量',
退:'已退货数量',
:'已上架数量',
:'启用',
:'禁用',
:'中止',
@ -781,11 +976,20 @@ export default {
:'生成采购上架申请',
:'生成盘点调整申请',
:'重盘',
:'监盘',
:'解冻',
:'更新检验记录',
使:'使用决策'
使:'使用决策',
'是否接受所选中数据?':'是否接受所选中数据?',
'接受成功!':'接受成功!',
'是否驳回所选中数据?':'是否驳回所选中数据?',
'驳回成功!':'驳回成功!',
'要货计划主':'要货计划主',
'要货计划数量不得大于订单数量-已计划数量':'要货计划数量不得大于订单数量-已计划数量',
'子列表数量不能空':'子列表数量不能空',
'要货计划主导入模版':'要货计划主导入模版',
:'物料代码已经存在',
:'驳回',
:'审批通过',
}
}

6
src/views/wms/basicDataManage/supplierManage/purchaseprice/index.vue

@ -28,7 +28,7 @@
v-model:sort="tableObject.sort"
>
<template #supplierCode="{row}">
<el-button type="primary" link @click="openDetail(row, '供应商代码', row.supplierCode)">
<el-button type="primary" link @click="openDetail(row, t('ts.供应商代码'), row.supplierCode)">
<span>{{ row.supplierCode }}</span>
</el-button>
</template>
@ -239,7 +239,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await PurchasepriceApi.exportPurchaseprice(tableObject.params)
download.excel(data, '采购价格单.xlsx')
download.excel(data, `${t('ts.采购价格单')}.xlsx`)
} catch {
} finally {
exportLoading.value = false
@ -254,7 +254,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '采购价格单导入模版.xlsx'
templateTitle: `${t('ts.采购价格单导入模版')}.xlsx`
})
//
const importSuccess = () => {

4
src/views/wms/basicDataManage/supplierManage/supplier/index.vue

@ -221,7 +221,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SupplierApi.exportSupplier(tableObject.params)
download.excel(data, '供应商.xlsx')
download.excel(data, `${t('ts.供应商')}.xlsx`)
} catch {
} finally {
exportLoading.value = false
@ -236,7 +236,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '供应商导入模版.xlsx'
templateTitle: `${t('ts.供应商导入模版')}.xlsx`
})
//
const importSuccess = () => {

4
src/views/wms/basicDataManage/supplierManage/supplieritem/index.vue

@ -238,7 +238,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await SupplieritemApi.exportSupplieritem(tableObject.params)
download.excel(data, '供应商物料.xlsx')
download.excel(data, `${t('ts.供应商物料')}.xlsx`)
} catch {
} finally {
exportLoading.value = false
@ -253,7 +253,7 @@ const handleImport = () => {
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '供应商物料导入模版.xlsx'
templateTitle: `${t('ts.供应商物料导入模版')}.xlsx`
})
//
const importSuccess = () => {

14
src/views/wms/purchasereceiptManage/supplierdeliver/demandforecastingMain/index.vue

@ -234,11 +234,11 @@ const openForm =async (type: string, row?: number) => {
const handleClose = async (id : number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
tableObject.loading = true
//
await DemandforecastingMainApi.closePurchaseMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
tableObject.loading = false
//
await getList()
@ -251,11 +251,11 @@ const handleClose = async (id : number) => {
const handleOpen = async (id : number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await DemandforecastingMainApi.openPurchaseMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()
@ -272,7 +272,7 @@ const handleClose = async (id : number) => {
tableObject.loading = true
//
await DemandforecastingMainApi.publishPurchaseMain(id)
message.success(t('发布成功!'))
message.success(t('ts.发布成功!'))
tableObject.loading = false
//
await getList()
@ -285,11 +285,11 @@ const handleClose = async (id : number) => {
const handleWit = async (id : number) => {
try {
//
await message.confirm('是否下架所选中数据?')
await message.confirm(t('ts.是否下架所选中数据?'))
tableObject.loading = true
//
await DemandforecastingMainApi.witPurchaseMain(id)
message.success(t('下架成功!'))
message.success(t('ts.下架成功!'))
tableObject.loading = false
//
await getList()

20
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/index.vue

@ -367,11 +367,11 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
const handleClose = async (id : number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
tableObject.loading = true
//
await PurchaseMainApi.closePurchaseMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
tableObject.loading = false
//
await getList()
@ -384,11 +384,11 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
const handleOpen = async (id : number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await PurchaseMainApi.openPurchaseMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()
@ -401,11 +401,11 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
const handlePublish = async (id : number) => {
try {
//
await message.confirm('是否发布所选中数据?')
await message.confirm(t('ts.是否发布所选中数据?'))
tableObject.loading = true
//
await PurchaseMainApi.publishPurchaseMain(id)
message.success(t('发布成功!'))
message.success(t('ts.发布成功!'))
tableObject.loading = false
//
await getList()
@ -418,11 +418,11 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
const handleWit = async (id : number) => {
try {
//
await message.confirm('是否下架所选中数据?')
await message.confirm(t('ts.是否下架所选中数据?'))
tableObject.loading = true
//
await PurchaseMainApi.witPurchaseMain(id)
message.success(t('下架成功!'))
message.success(t('ts.下架成功!'))
tableObject.loading = false
//
await getList()
@ -440,7 +440,7 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
//
exportLoading.value = true
const data = await PurchaseMainApi.exportPurchaseMain(tableObject.params)
download.excel(data, '采购订单主.xlsx')
download.excel(data, `${t('ts.采购订单主')}.xlsx`)
} catch {
} finally {
exportLoading.value = false
@ -493,7 +493,7 @@ console.log('PurchaseMain.allSchemas.searchSchema',PurchaseMain.allSchemas.searc
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '采购订单主导入模版.xlsx'
templateTitle: `${t(`ts.采购订单主导入模版`)}.xlsx`
})
//

12
src/views/wms/purchasereceiptManage/supplierdeliver/purchaseMain/purchaseMain.data.ts

@ -589,7 +589,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '已计划数量',
label: t('ts.已计划数量'),
field: 'plannedQty',
table: {
width: 150
@ -607,7 +607,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '已发货数量',
label: t('ts.已发货数量'),
field: 'shippedQty',
table: {
width: 150
@ -625,7 +625,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false,
},
{
label: '已收货数量',
label: t('ts.已收货数量'),
field: 'receivedQty',
table: {
width: 150
@ -643,7 +643,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '已退货数量',
label: t('ts.已退货数量'),
field: 'returnedQty',
table: {
width: 150
@ -661,7 +661,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '已上架数量',
label: t('ts.已上架数量'),
field: 'putawayQty',
table: {
width: 150
@ -679,7 +679,7 @@ export const PurchaseDetail = useCrudSchemas(reactive<CrudSchema[]>([
isForm: false
},
{
label: '单价',
label: t('ts.单价'),
field: 'singlePrice',
table: {
width: 150

30
src/views/wms/purchasereceiptManage/supplierdeliver/purchasePlanMain/index.vue

@ -376,10 +376,10 @@ const { wsCache } = useCache()
const handleClose = async (id : number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
//
await PurchasePlanMainApi.closePurchasePlanMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
tableObject.loading = false
//
await getList()
@ -392,11 +392,11 @@ const { wsCache } = useCache()
const handleOpen = async (id : number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await PurchasePlanMainApi.openPurchasePlanMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()
@ -414,7 +414,7 @@ const { wsCache } = useCache()
tableObject.loading = true
//
await PurchasePlanMainApi.openPurchasePlanMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()
@ -427,11 +427,11 @@ const { wsCache } = useCache()
const handlePublish = async (id : number) => {
try {
//
await message.confirm('是否发布所选中数据?')
await message.confirm(t('ts.是否发布所选中数据?'))
tableObject.loading = true
//
await PurchasePlanMainApi.publishPurchasePlanMain(id)
message.success(t('发布成功!'))
message.success(t('ts.发布成功!'))
tableObject.loading = false
//
await getList()
@ -444,11 +444,11 @@ const { wsCache } = useCache()
const handleWit = async (id : number) => {
try {
//
await message.confirm('是否下架所选中数据?')
await message.confirm(t('ts.是否下架所选中数据?'))
tableObject.loading = true
//
await PurchasePlanMainApi.witPurchasePlanMain(id)
message.success(t('下架成功!'))
message.success(t('ts.下架成功!'))
tableObject.loading = false
//
await getList()
@ -461,11 +461,11 @@ const { wsCache } = useCache()
const handleAcc = async (id : number) => {
try {
//
await message.confirm('是否接受所选中数据?')
await message.confirm(t('ts.是否接受所选中数据?'))
tableObject.loading = true
//
await PurchasePlanMainApi.accPurchasePlanMain(id)
message.success(t('接受成功!'))
message.success(t('ts.接受成功!'))
tableObject.loading = false
//
await getList()
@ -478,11 +478,11 @@ const { wsCache } = useCache()
const handleRej = async (id : number) => {
try {
//
await message.confirm('是否驳回所选中数据?')
await message.confirm(t('ts.是否驳回所选中数据?'))
tableObject.loading = true
//
await PurchasePlanMainApi.rejPurchasePlanMain(id)
message.success(t('驳回成功!'))
message.success(t('ts.驳回成功!'))
tableObject.loading = false
//
await getList()
@ -500,7 +500,7 @@ const { wsCache } = useCache()
//
exportLoading.value = true
const data = await PurchasePlanMainApi.exportPurchasePlanMain(tableObject.params)
download.excel(data, '要货计划主.xlsx')
download.excel(data, `${t('ts.要货计划主')}.xlsx`)
} catch {
} finally {
exportLoading.value = false
@ -607,7 +607,7 @@ const { wsCache } = useCache()
//
const importTemplateData = reactive({
templateUrl: '',
templateTitle: '要货计划主导入模版.xlsx'
templateTitle: `${t('ts.要货计划主导入模版')}.xlsx`
})
//

8
src/views/wms/purchasereceiptManage/supplierdeliver/supplierdeliverRequestMain/index.vue

@ -591,11 +591,11 @@ const handleDelete = async (id: number) => {
const handleClo = async (id: number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
tableObject.loading = true
//
await SupplierdeliverRequestMainApi.cloSupplierdeliverRequestMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
//
await getList()
} catch {}finally{
@ -607,11 +607,11 @@ const handleClo = async (id: number) => {
const handleOpe = async (id: number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await SupplierdeliverRequestMainApi.opeSupplierdeliverRequestMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
//
await getList()
} catch {}finally{

8
src/views/wms/supplierManage/purchaseclaim/purchaseclaimRequestMain/index.vue

@ -305,11 +305,11 @@
const handleClo = async (id : number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
tableObject.loading = true
//
await PurchaseclaimRequestMainApi.cloPurchaseclaimRequestMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
tableObject.loading = false
//
await getList()
@ -322,11 +322,11 @@
const handleOpe = async (id : number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await PurchaseclaimRequestMainApi.opePurchaseclaimRequestMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()

8
src/views/wms/supplierManage/supplierinvoice/supplierinvoiceRequestMain/index.vue

@ -432,11 +432,11 @@ const handleImport = () => {
const handleClo = async (id : number) => {
try {
//
await message.confirm('是否关闭所选中数据?')
await message.confirm(t('ts.是否关闭所选中数据?'))
tableObject.loading = true
//
await SupplierinvoiceRequestMainApi.cloSupplierinvoiceRequestMain(id)
message.success(t('关闭成功!'))
message.success(t('ts.关闭成功!'))
tableObject.loading = false
//
await getList()
@ -449,11 +449,11 @@ const handleImport = () => {
const handleOpe = async (id : number) => {
try {
//
await message.confirm('是否打开所选中数据?')
await message.confirm(t('ts.是否打开所选中数据?'))
tableObject.loading = true
//
await SupplierinvoiceRequestMainApi.opeSupplierinvoiceRequestMain(id)
message.success(t('打开成功!'))
message.success(t('ts.打开成功!'))
tableObject.loading = false
//
await getList()

Loading…
Cancel
Save