国际化

This commit is contained in:
蔡玲
2024-12-23 15:36:05 +08:00
parent e172f8620a
commit 1a153dd60c
25 changed files with 749 additions and 280 deletions

View File

@@ -46,8 +46,10 @@ uni-button:after {
margin-bottom: 20rpx;
}
.filter_label {
display: block;
line-height: 80rpx;
display: flex;
align-items: center;
height 80rpx;
line-height: 25rpx;
font-size: 28rpx;
color: #323232;
font-weight: bold;
@@ -283,8 +285,12 @@ uni-button:after {
border-radius: 10rpx;
}
.button-primary {
display: flex;
align-items: center;
justify-content: center;
font-size: 34rpx;
line-height: 88rpx;
line-height: 26rpx;
height: 88rpx;
color: #fff;
text-align: center;
letter-spacing: 4rpx;

89
locale/en.json Normal file
View File

@@ -0,0 +1,89 @@
{
"utils.loading": "Loading...",
"uni.dataSelect.placeholder": "Please select",
"uni.dataSelect.emptyTips": "No options available",
"utils.read-more": "Read more",
"utils.no-more": "No more",
"button.confirm": "OK",
"button.cancel": "Cancel",
"button.empty": "Empty",
"button.search": "Query",
"login.username": "User name",
"login.password": "Password",
"login.remember": "Remember username",
"login.settings": "Settings",
"login.upgrade": "Upgrade version",
"login.login": "Login",
"login.text1": "Welcome to",
"login.text2": "Hengshen WMS handheld system!",
"setting.language": "language",
"setting.server": "server address",
"setting.refresh": "Refresh time",
"setting.language-change-confirm": "Applying this setting will restart the app",
"upgrade.new-version": "Discovering new versions",
"upgrade.text1": "The Hengshen WMS handheld system has a new version, upgrade to the latest version, and enjoy richer, more stable, and faster functions and experiences!",
"upgrade.text2": "Installation package download in progress, please wait",
"upgrade.upgrade-now": "Upgrade now",
"home.title": "home page",
"home.message": "Welcome to the Hengshen WMS handheld system!",
"home.exit": "Exit",
"nav.rk": "Warehouse management",
"nav.wlzprk": "Material group storage",
"nav.hgzrk": "qualified storage",
"nav.ktprk": "Empty tray storage",
"nav.ck": "Outbound management",
"nav.ktpck": "Empty pallet outbound",
"nav.ckqr": "Outbound confirmation",
"nav.djck": "Document outbound",
"nav.kcck": "Inventory outflow",
"nav.cxwl": "Query materials",
"nav.djlb": "List of Documents",
"nav.kclb": "Inventory List",
"filter.wl": "Material",
"filter.wlbm": "Material code",
"filter.wlmc": "Material name",
"filter.wlgg": "Material specification",
"filter.unit": "Unit",
"filter.wldz": "Single material weight",
"filter.wlpc": "Material batch",
"filter.wlsl": "Material quantity",
"filter.zjbm": "Vehicle code",
"filter.ckbm": "Warehouse code",
"filter.hgzbm": "Qualified code",
"filter.ddh": "Order code",
"filter.ydxx": "Source order",
"filter.tplx": "Tray type",
"filter.cksl": "Outbound quantity",
"filter.ckd": "Outbound point",
"filter.ckdlx": "Outbound order type",
"filter.ck": "Warehouse",
"filter.kwbm": "Location code",
"filter.ckkc": "Outbound inventory",
"filter.djbm": "Document code",
"filter.djlx": "Document type",
"filter.remark": "Remark",
"filter.cjsj": "Creation time",
"filter.cjr": "Creator",
"filter.sqsl": "Quantity",
"filter.jhsl": "Planned quantity",
"filter.yfpsl": "Allocated quantity",
"filter.pcsn": "Batch",
"filter.ck": "Warehouse",
"filter.cj": "Workshop",
"filter.kcsl": "Inventory quantity",
"btn.cancle": "Clear",
"btn.search": "Query",
"btn.confirm": "Confirm",
"btn.zpqr": "Group confirmation",
"btn.tpkck": "Tray warehouse outbound",
"btn.smckqr": "Scan code for outbound confirmation",
"btn.ckqr": "Outbound confirmation",
"more.ckgd": "See more",
"more.jzz": "Loading",
"more.mygd": "No more",
"text.ddtp": "Stacking trays",
"text.lx": "Workbin",
"text.tpk": "Tray storage",
"text.lxk": "Material box warehouse",
"text.cj": "workshop"
}

89
locale/es.json Normal file
View File

@@ -0,0 +1,89 @@
{
"utils.loading": "Carga...",
"uni.dataSelect.placeholder": "Por favor, elija",
"uni.dataSelect.emptyTips": "Sin opciones",
"utils.read-more": "Ver más",
"utils.no-more": "No hay más",
"button.confirm": "Determinar",
"button.cancel": "Cancelación",
"button.empty": "Vaciado",
"button.search": "Consulta",
"login.username": "Usuarios",
"login.password": "Contraseña",
"login.remember": "Recuerda a los usuarios",
"login.settings": "Configuración",
"login.upgrade": "Versión actualizada",
"login.login": "Iniciar sesión",
"login.text1": "Bienvenidos",
"login.text2": "al sistema portátil hengsen WMS",
"setting.language": "Idiomas",
"setting.server": "Servidores",
"setting.refresh": "",
"setting.language-change-confirm": "Aplicar esta configuración reiniciará la aplicación",
"upgrade.new-version": "Descubrir una nueva versión",
"upgrade.text1": "¡¡ el sistema portátil hengsen WMS tiene una nueva versión, se actualiza a la última versión y disfruta de funciones y experiencias más ricas, estables y rápidas!",
"upgrade.text2": "Descarga del paquete de instalación, por favor espere",
"upgrade.upgrade-now": "Actualización inmediata",
"home.title": "Página de inicio",
"home.message": "¡¡ Bienvenidos al sistema portátil hengsen wms!",
"home.exit": "Salida",
"nav.rk": "Gestión del almacenamiento",
"nav.wlzprk": "Almacenamiento de grupos de materiales",
"nav.hgzrk": "Almacenamiento de certificados",
"nav.ktprk": "Almacenamiento de paletas vacías",
"nav.ck": "Gestión de la salida del almacén",
"nav.ktpck": "Bandeja vacía fuera del almacén",
"nav.ckqr": "Confirmación de la salida del almacén",
"nav.djck": "Los documentos salen del almacén",
"nav.kcck": "Salida de inventario",
"nav.cxwl": "Consulta de materiales",
"nav.djlb": "Lista de documentos",
"nav.kclb": "Lista de inventario",
"filter.wl": "Material",
"filter.wlbm": "Codificación de materiales",
"filter.wlmc": "Nombre del material",
"filter.wlgg": "Especificaciones de materiales",
"filter.unit": "Unidades",
"filter.wldz": "Peso de la factura de materiales",
"filter.wlpc": "Lotes de materiales",
"filter.wlsl": "Cantidad de materiales",
"filter.zjbm": "Codificación del vehículo",
"filter.ckbm": "Código del almacén",
"filter.hgzbm": "Código del certificado de conformidad",
"filter.ddh": "Número de pedido",
"filter.ydxx": "Información de la lista de fuentes",
"filter.tplx": "Tipo de bandeja",
"filter.cksl": "Número de salidas",
"filter.ckd": "Punto de salida",
"filter.ckdlx": "Tipo de orden de salida",
"filter.ck": "Almacén",
"filter.kwbm": "Codificación de la biblioteca",
"filter.ckkc": "Inventario de salida",
"filter.djbm": "Código del documento",
"filter.djlx": "Tipo de documento",
"filter.remark": "Nota",
"filter.cjsj": "Tiempo de creación",
"filter.cjr": "Creador",
"filter.sqsl": "Número de solicitudes",
"filter.jhsl": "Número de planes",
"filter.yfpsl": "Cantidad asignada",
"filter.pcsn": "Número de lote",
"filter.ck": "Almacén",
"filter.cj": "Taller",
"filter.kcsl": "Cantidad de inventario",
"btn.cancle": "Vaciado",
"btn.search": "Consulta",
"btn.confirm": "Confirmación",
"btn.zpqr": "Confirmación del disco de grupo",
"btn.tpkck": "El almacén de paletas sale del almacén",
"btn.smckqr": "Escanear el Código para confirmar la salida del almacén",
"btn.ckqr": "Confirmación de la salida del almacén",
"more.ckgd": "Ver más",
"more.jzz": "En carga",
"more.mygd": "No hay más",
"text.ddtp": "Bandeja apilada",
"text.lx": "Caja de material",
"text.tpk": "Biblioteca de paletas",
"text.lxk": "Almacén de cajas de material",
"text.cj": "Taller"
}

28
locale/index.js Normal file
View File

@@ -0,0 +1,28 @@
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import en from './en.json'
import enUni from './uni-app.en.json'
import zhHans from './zh-Hans.json'
import zhUni from './uni-app.zh-Hans.json'
import es from './es.json'
import esUni from './uni-app.es.json'
Vue.use(VueI18n)
const messages = {
'en': Object.assign(en, enUni),
'zh-Hans': Object.assign(zhHans, zhUni),
'es': Object.assign(es, esUni)
}
let i18nConfig = {
silentTranslationWarn: true,
locale: uni.getLocale(),
messages
}
const i18n = new VueI18n(i18nConfig)
export default i18n

36
locale/uni-app.en.json Normal file
View File

@@ -0,0 +1,36 @@
{
"common": {
"uni.app.quit": "Press again to exit the application",
"uni.async.error": "Connection to server timeout, click on screen to retry",
"uni.showActionSheet.cancel": "Cancel",
"uni.showToast.unpaired": "Please note that showToast and hideToast must be paired for use",
"uni.showLoading.unpaired": "Please note that showLoading and hideLoading must be paired for use",
"uni.showModal.cancel": "Cancel",
"uni.showModal.confirm": "Ok",
"uni.chooseImage.cancel": "Cancel",
"uni.chooseImage.sourceType.album": "Select from album",
"uni.chooseImage.sourceType.camera": "Capture",
"uni.chooseVideo.cancel": "Cancel",
"uni.chooseVideo.sourceType.album": "Select from album",
"uni.chooseVideo.sourceType.camera": "Capture",
"uni.previewImage.cancel": "Cancel",
"uni.previewImage.button.save": "Save image",
"uni.previewImage.save.success": "Successfully saved image to album",
"uni.previewImage.save.fail": "Saving image to album failed",
"uni.setClipboardData.success": "Content copied",
"uni.scanCode.title": "Scan Code",
"uni.scanCode.album": "Album",
"uni.scanCode.fail": "Recognition failed",
"uni.scanCode.flash.on": "Tap to illuminate",
"uni.scanCode.flash.off": "Tap to close",
"uni.startSoterAuthentication.authContent": "Fingerprint recognition in progress...",
"uni.picker.done": "Complete",
"uni.picker.cancel": "Cancel",
"uni.video.danmu": "Barrage",
"uni.video.volume": "Volume",
"uni.button.feedback.title": "Problem feedback",
"uni.button.feedback.send": "Send"
},
"ios": {},
"android": {}
}

36
locale/uni-app.es.json Normal file
View File

@@ -0,0 +1,36 @@
{
"common": {
"uni.app.quit": "Presione de nuevo para salir de la aplicación",
"uni.async.error": "Tiempo de conexión al servidor, haga clic en la pantalla para volver a intentarlo",
"uni.showActionSheet.cancel": "Cancelación",
"uni.showToast.unpaired": "请注意 showToast 与 hideToast 必须配对使用",
"uni.showLoading.unpaired": "请注意 showLoading 与 hideLoading 必须配对使用",
"uni.showModal.cancel": "Cancelación",
"uni.showModal.confirm": "Determinar",
"uni.chooseImage.cancel": "Cancelación",
"uni.chooseImage.sourceType.album": "从相册选择",
"uni.chooseImage.sourceType.camera": "拍摄",
"uni.chooseVideo.cancel": "Cancelación",
"uni.chooseVideo.sourceType.album": "从相册选择",
"uni.chooseVideo.sourceType.camera": "拍摄",
"uni.previewImage.cancel": "Cancelación",
"uni.previewImage.button.save": "保存图像",
"uni.previewImage.save.success": "保存图像到相册成功",
"uni.previewImage.save.fail": "保存图像到相册失败",
"uni.setClipboardData.success": "内容已复制",
"uni.scanCode.title": "扫码",
"uni.scanCode.album": "相册",
"uni.scanCode.fail": "识别失败",
"uni.scanCode.flash.on": "轻触照亮",
"uni.scanCode.flash.off": "轻触关闭",
"uni.startSoterAuthentication.authContent": "指纹识别中...",
"uni.picker.done": "完成",
"uni.picker.cancel": "Cancelación",
"uni.video.danmu": "弹幕",
"uni.video.volume": "音量",
"uni.button.feedback.title": "问题反馈",
"uni.button.feedback.send": "发送"
},
"ios": {},
"android": {}
}

View File

@@ -0,0 +1,36 @@
{
"common": {
"uni.app.quit": "再按一次退出应用",
"uni.async.error": "连接服务器超时,点击屏幕重试",
"uni.showActionSheet.cancel": "取消",
"uni.showToast.unpaired": "请注意 showToast 与 hideToast 必须配对使用",
"uni.showLoading.unpaired": "请注意 showLoading 与 hideLoading 必须配对使用",
"uni.showModal.cancel": "取消",
"uni.showModal.confirm": "确定",
"uni.chooseImage.cancel": "取消",
"uni.chooseImage.sourceType.album": "从相册选择",
"uni.chooseImage.sourceType.camera": "拍摄",
"uni.chooseVideo.cancel": "取消",
"uni.chooseVideo.sourceType.album": "从相册选择",
"uni.chooseVideo.sourceType.camera": "拍摄",
"uni.previewImage.cancel": "取消",
"uni.previewImage.button.save": "保存图像",
"uni.previewImage.save.success": "保存图像到相册成功",
"uni.previewImage.save.fail": "保存图像到相册失败",
"uni.setClipboardData.success": "内容已复制",
"uni.scanCode.title": "扫码",
"uni.scanCode.album": "相册",
"uni.scanCode.fail": "识别失败",
"uni.scanCode.flash.on": "轻触照亮",
"uni.scanCode.flash.off": "轻触关闭",
"uni.startSoterAuthentication.authContent": "指纹识别中...",
"uni.picker.done": "完成",
"uni.picker.cancel": "取消",
"uni.video.danmu": "弹幕",
"uni.video.volume": "音量",
"uni.button.feedback.title": "问题反馈",
"uni.button.feedback.send": "发送"
},
"ios": {},
"android": {}
}

89
locale/zh-Hans.json Normal file
View File

@@ -0,0 +1,89 @@
{
"utils.loading": "加载中...",
"uni.dataSelect.placeholder": "请选择",
"uni.dataSelect.emptyTips": "无选项",
"utils.read-more": "查看更多",
"utils.no-more": "没有更多",
"button.confirm": "确定",
"button.cancel": "取消",
"button.empty": "清空",
"button.search": "查询",
"login.username": "用户名",
"login.password": "密码",
"login.remember": "记住用户名",
"login.settings": "设置",
"login.upgrade": "升级版本",
"login.login": "登录",
"login.text1": "欢迎来到",
"login.text2": "恒森WMS手持系统",
"setting.language": "语言",
"setting.server": "服务器地址",
"setting.refresh": "刷新时间",
"setting.language-change-confirm": "应用此设置将重启App",
"upgrade.new-version": "发现新版本",
"upgrade.text1": "恒森WMS手持系统又有新版本了升级到最新版本享受更丰富、稳定、快速的功能和体验",
"upgrade.text2": "安装包下载中,请稍后",
"upgrade.upgrade-now": "立即升级",
"home.title": "首页",
"home.message": "欢迎进入恒森WMS手持系统",
"home.exit": "退出",
"nav.rk": "入库管理",
"nav.wlzprk": "物料组盘入库",
"nav.hgzrk": "合格证入库",
"nav.ktprk": "空托盘入库",
"nav.ck": "出库管理",
"nav.ktpck": "空托盘出库",
"nav.ckqr": "出库确认",
"nav.djck": "单据出库",
"nav.kcck": "库存出库",
"nav.cxwl": "查询物料",
"nav.djlb": "单据列表",
"nav.kclb": "库存列表",
"filter.wl": "物料",
"filter.wlbm": "物料编码",
"filter.wlmc": "物料名称",
"filter.wlgg": "物料规格",
"filter.unit": "单位",
"filter.wldz": "物料单重",
"filter.wlpc": "物料批次",
"filter.wlsl": "物料数量",
"filter.zjbm": "载具编码",
"filter.ckbm": "仓库编码",
"filter.hgzbm": "合格证编码",
"filter.ddh": "订单号",
"filter.ydxx": "源单信息",
"filter.tplx": "托盘类型",
"filter.cksl": "出库数量",
"filter.ckd": "出库点",
"filter.ckdlx": "出库单类型",
"filter.ck": "仓库",
"filter.kwbm": "库位编码",
"filter.ckkc": "出库库存",
"filter.djbm": "单据编码",
"filter.djlx": "单据类型",
"filter.remark": "备注",
"filter.cjsj": "创建时间",
"filter.cjr": "创建人",
"filter.sqsl": "申请数量",
"filter.jhsl": "计划数量",
"filter.yfpsl": "已分配数量",
"filter.pcsn": "批次号",
"filter.ck": "仓库",
"filter.cj": "车间",
"filter.kcsl": "库存数量",
"btn.cancle": "清空",
"btn.search": "查询",
"btn.confirm": "确认",
"btn.zpqr": "组盘确认",
"btn.tpkck": "托盘库出库",
"btn.smckqr": "扫码出库确认",
"btn.ckqr": "出库确认",
"more.ckgd": "查看更多",
"more.jzz": "加载中",
"more.mygd": "没有更多",
"text.ddtp": "堆叠托盘",
"text.lx": "料箱",
"text.tpk": "托盘库",
"text.lxk": "料箱库",
"text.cj": "车间"
}

View File

@@ -1,5 +1,6 @@
import App from './App'
import Vue from 'vue'
import i18n from './locale/index.js'
Vue.config.productionTip = false
App.mpType = 'app'
@@ -28,6 +29,7 @@ Vue.directive('enterNumber', {
import store from '@/vuex/store.js'
const app = new Vue({
i18n,
...App,
store
})

View File

@@ -1,5 +1,6 @@
{
"dependencies": {
"jsencrypt": "^3.2.1"
"jsencrypt": "^3.2.1",
"vue-i18n": "^10.0.5"
}
}

View File

@@ -6,7 +6,7 @@
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">物料</span>
<span class="filter_label">{{$t('filter.wl')}}</span>
</view>
<view class="zd-col-24">
<input type="text" class="filter_input" v-model="val1">
@@ -18,15 +18,15 @@
<table>
<thead>
<tr>
<th>物料编码</th>
<th>物料名称</th>
<th>物料规格</th>
<th>单位</th>
<th>物料单重</th>
<th>物料批次</th>
<th>物料数量</th>
<th>载具编码</th>
<th>仓库编码</th>
<th>{{$t('filter.wlbm')}}</th>
<th>{{$t('filter.wlmc')}}</th>
<th>{{$t('filter.wlgg')}}</th>
<th>{{$t('filter.unit')}}</th>
<th>{{$t('filter.wldz')}}</th>
<th>{{$t('filter.wlpc')}}</th>
<th>{{$t('filter.wlsl')}}</th>
<th>{{$t('filter.zjbm')}}</th>
<th>{{$t('filter.ckbm')}}</th>
</tr>
</thead>
<tbody>
@@ -48,9 +48,9 @@
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-5 button-default" @tap="toEmpty">清空</button>
<button class="zd-col-8 button-primary" @tap="searchList">查询</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !pkId}" @tap="toSure">确认</button>
<button class="zd-col-5 button-default" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-8 button-primary" @tap="searchList">{{$t('btn.search')}}</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !pkId}" @tap="toSure">{{$t('btn.confirm')}}</button>
</view>
</view>
</template>
@@ -74,9 +74,9 @@
reload: false,
status: 'more',
contentText: {
contentdown: '查看更多',
contentrefresh: '加载中',
contentnomore: '没有更多'
contentdown: this.$t('more.ckgd'),
contentrefresh: this.$t('more.jzz'),
contentnomore: this.$t('more.mygd')
},
totalCount: 0,
pageNum: 1,

View File

@@ -5,28 +5,28 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">载具编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.zjbm')}}</span>
</view>
<view class="zd-col-17">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<search-box
v-model="val1"
/>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">托盘类型</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.tplx')}}</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="clearUp">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !val1 || !index}" :disabled="disabled" @tap="_pdaPalletIostorinvIn">确认</button>
<button class="zd-col-6 button-default" @tap="clearUp">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !val1 || !index}" :disabled="disabled" @tap="_pdaPalletIostorinvIn">{{$t('btn.confirm')}}</button>
</view>
</view>
</template>
@@ -44,7 +44,7 @@
return {
title: '',
val1: '',
options: [{text:'堆叠托盘', value:'22222222'},{text:'料箱',value: '11111111'}],
options: [{text:this.$t('text.ddtp'), value:'22222222'},{text:this.$t('text.lx'),value: '11111111'}],
index: '',
disabled: false
};

View File

@@ -5,83 +5,83 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">物料编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.wlbm')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input" v-model="currentData.material_code" @tap="toJump">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料名称</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label filter_input_disabled">{{$t('filter.wlmc')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_name" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料规格</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label filter_input_disabled">{{$t('filter.wlgg')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_spec" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">单位</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label filter_input_disabled">{{$t('filter.unit')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.unit_id" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">物料单重</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.wldz')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="number" class="filter_input" v-model="currentData.single_weight">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">物料批次</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.wlpc')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input" v-model="currentData.pcsn">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">物料数量</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.wlsl')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="number" class="filter_input" v-model="currentData.qty">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">载具编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.zjbm')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<search-box v-model="currentData.vehicle_code"/>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">仓库编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.ckbm')}}</span>
</view>
<view class="zd-col-24 filter_select">
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<!-- <search-box v-model="currentData.stor_code"/> -->
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="toEmpty">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_groupMaterIn">组盘确认</button>
<button class="zd-col-6 button-default" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_groupMaterIn">{{$t('btn.zpqr')}}</button>
</view>
</view>
</template>
@@ -101,7 +101,8 @@
currentData: {},
options: [],
index: '',
disabled: false
disabled: false,
locale: this.$i18n.locale
};
},
onLoad (options) {
@@ -136,7 +137,7 @@
},
toJump () {
uni.navigateTo({
url: '/pages/common/mater-list?title=查询物料'
url: '/pages/common/mater-list?title=' + this.$t('nav.cxwl')
})
},
toEmpty () {

View File

@@ -5,10 +5,10 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-8">
<span class="filter_label">合格证编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'">
<span class="filter_label">{{$t('filter.hgzbm')}}</span>
</view>
<view class="zd-col-16">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'">
<search-box
v-model="val1"
@handleChange="handleChange1"
@@ -16,10 +16,10 @@
</view>
</view>
<view class="zd-row">
<view class="zd-col-8">
<span class="filter_label">载具编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'">
<span class="filter_label">{{$t('filter.zjbm')}}</span>
</view>
<view class="zd-col-16">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'">
<search-box
v-model="val2"
/>
@@ -28,58 +28,58 @@
</view>
<view class="zd_wrapper">
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">订单号</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.moNumber}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.ddh')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.moNumber}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">源单信息</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.srcBillNo}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.ydxx')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.srcBillNo}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">物料编码</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.material_code}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wlbm')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.material_code}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">物料名称</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.material_name}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wlmc')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.material_name}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">物料规格</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.material_spec}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wlgg')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.material_spec}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-8"><span class="filter_label">单位</span></view>
<view class="zd-col-16"><span class="filter_input">{{currentData.unit_name}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.unit')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'"><span class="filter_input">{{currentData.unit_name}}</span></view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-8"><span class="filter_label">单重</span></view>
<view class="zd-col-16">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wldz')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'">
<input type="number" class="filter_input" v-model="currentData.single_weight">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-8"><span class="filter_label">批次</span></view>
<view class="zd-col-16">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wlpc')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'">
<input type="text" class="filter_input" v-model="currentData.pcsn">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-8"><span class="filter_label">物料数量</span></view>
<view class="zd-col-16">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.wlsl')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-16'">
<input type="number" class="filter_input" v-model="val3">
</view>
</view>
<view class="zd-row">
<view class="zd-col-8"><span class="filter_label">仓库编码</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-8'"><span class="filter_label">{{$t('filter.ckbm')}}</span></view>
<view class="zd-col-16 filter_select">
<uni-data-select v-model="index" :localdata="options"></uni-data-select>
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="toEmpty">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !val2 || !val3 || !index}" :disabled="disabled" @tap="_inStorageConfirm">组盘确认</button>
<button class="zd-col-6 button-default" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !val2 || !val3 || !index}" :disabled="disabled" @tap="_inStorageConfirm">{{$t('btn.zpqr')}}</button>
</view>
</view>
</template>

View File

@@ -1,15 +1,15 @@
<template>
<view class="home_wraper">
<view class="zd_content">
<view class="header">首页</view>
<view class="header">{{$t('home.title')}}</view>
<view class="userInfo-wrap">
<view class="userInfo">
<text v-if="userName !== ''" class="p1">{{userName}}</text>
<text class="p2">欢迎进入恒森WMS手持系统</text>
<text class="p2">{{$t('home.message')}}</text>
</view>
<view class="exit" @tap="Quit">
<view class="icon-exit"></view>
<view class="exit-text">退出</view>
<view class="exit-text">{{$t('home.exit')}}</view>
</view>
</view>
<view class="zd_home_wrapper">
@@ -50,12 +50,16 @@
{title: '设备操控', path: 'RF07', sonTree: [{title: '切换出入库模式', path: '/pages/mode/switch-in-out'}, {title: '拣选工位启停模式', path: '/pages/mode/pick'}, {title: '下发输送线运动命令', path: '/pages/mode/command'}]},
{title: '转运管理', path: 'RF09', sonTree: [{title: '托盘转运', path: '/pages/transfer/tray-transfer'}]}
],
// menuList: [
// {title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘入库', path: '/pages/entry/mater-group-to-store'}, {title: '合格证入库', path: '/pages/entry/qualified-to-store'}, {title: '空托盘入库', path: '/pages/entry/empty-tray-to-store'}]},
// {title: '出库管理', path: 'RF02', sonTree: [{title: '空托盘出库', path: '/pages/outbound/tray-out-store'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '单据出库', path: '/pages/outbound/bill-out-store'}, {title: '库存出库', path: '/pages/outbound/stock-out-store'}]},
// {title: '拣选管理', path: 'RF04', sonTree: [{title: '拣选作业', path: '/pages/pick/pick-task'}]},
// {title: '设备操控', path: 'RF07', sonTree: [{title: '切换出入库模式', path: '/pages/mode/switch-in-out'}, {title: '拣选工位启停模式', path: '/pages/mode/pick'}, {title: '下发输送线运动命令', path: '/pages/mode/command'}]},
// {title: '转运管理', path: 'RF09', sonTree: [{title: '托盘转运', path: '/pages/transfer/tray-transfer'}]}
// ],
menuList: [
{title: '入库管理', path: 'RF01', sonTree: [{title: '物料组盘入库', path: '/pages/entry/mater-group-to-store'}, {title: '合格证入库', path: '/pages/entry/qualified-to-store'}, {title: '空托盘入库', path: '/pages/entry/empty-tray-to-store'}]},
{title: '出库管理', path: 'RF02', sonTree: [{title: '空托盘出库', path: '/pages/outbound/tray-out-store'}, {title: '出库确认', path: '/pages/outbound/out-store-confirm'}, {title: '单据出库', path: '/pages/outbound/bill-out-store'}, {title: '库存出库', path: '/pages/outbound/stock-out-store'}]},
{title: '拣选管理', path: 'RF04', sonTree: [{title: '拣选作业', path: '/pages/pick/pick-task'}]},
{title: '设备操控', path: 'RF07', sonTree: [{title: '切换出入库模式', path: '/pages/mode/switch-in-out'}, {title: '拣选工位启停模式', path: '/pages/mode/pick'}, {title: '下发输送线运动命令', path: '/pages/mode/command'}]},
{title: '转运管理', path: 'RF09', sonTree: [{title: '托盘转运', path: '/pages/transfer/tray-transfer'}]}
{title: this.$t('nav.rk'), path: 'RF01', sonTree: [{title: this.$t('nav.wlzprk'), path: '/pages/entry/mater-group-to-store'}, {title: this.$t('nav.hgzrk'), path: '/pages/entry/qualified-to-store'}, {title: this.$t('nav.ktprk'), path: '/pages/entry/empty-tray-to-store'}]},
{title: this.$t('nav.ck'), path: 'RF02', sonTree: [{title: this.$t('nav.ktpck'), path: '/pages/outbound/tray-out-store'}, {title: this.$t('nav.ckqr'), path: '/pages/outbound/out-store-confirm'}, {title: this.$t('nav.djck'), path: '/pages/outbound/bill-out-store'}, {title: this.$t('nav.kcck'), path: '/pages/outbound/stock-out-store'}]}
],
show: false,
secM: [],
@@ -226,6 +230,7 @@
_font(28rpx, 30rpx, #fff, 700, center)
border-radius 10rpx
padding 10rpx
word-break: break-all;
overflow hidden
.pop-title
margin 60rpx 38rpx 0 38rpx

View File

@@ -1,23 +1,23 @@
<template>
<view class="zd_content bg">
<view class="p1">欢迎来到</view>
<view class="p2">恒森WMS手持系统</view>
<view class="p1">{{$t('login.text1')}}</view>
<view class="p2">{{$t('login.text2')}}</view>
<view class="input-box">
<input class="large-input" type="text" placeholder="请输入用户名" v-model="user">
<input class="large-input" type="text" :placeholder="$t('login.username')" v-model="user">
</view>
<div class="input-box">
<input class="large-input" :password="!showPassword" placeholder="请输入密码" v-model="password" autocomplete=off>
<input class="large-input" :password="!showPassword" :placeholder="$t('login.password')" v-model="password" autocomplete=off>
<uni-icons :type="showPassword ? 'eye-filled' : 'eye'" size="20" :color="showPassword ? '#ff6a00' : '#999'" @tap="showPassword = !showPassword"></uni-icons>
</div>
<view class="zd-row radio-box">
<view class="zd-col-2 zd-row jccenter radio-icon-wrap" :class="{'radio-icon-wrap_checked': saveUser}" @tap="toSaveUser">
<uni-icons type="checkmarkempty" size="14" :color="saveUser ? '#ff6a00' : '#fff'"></uni-icons>
</view>
<view class="zd-col-13 radio-label">记住用户名</view>
<view class="zd-col-4 setup-text" @tap="setup">设置</view>
<view class="zd-col-5 setup-text" @tap="isUpdate">升级版本</view>
<view class="zd-col-10 radio-label">{{$t('login.remember')}}</view>
<view class="zd-col-4 setup-text" @tap="setup">{{$t('login.settings')}}</view>
<view class="zd-col-8 setup-text" @tap="isUpdate">{{$t('login.upgrade')}}</view>
</view>
<button class="login-btn" :disabled="disabled" @tap="toLogin">确认登录</button>
<button class="login-btn" :disabled="disabled" @tap="toLogin">{{$t('login.login')}}</button>
<view v-if="version !== ''" class="version-name">v{{version}}</view>
<Up-grade v-if="grade === true" @closeUpdate="closeUpdate" :androidUrl="androidUrl"></up-grade>
</view>
@@ -71,41 +71,22 @@
// url: '/pages/home/home'
// })
this.disabled = true
if (this.user === '') {
uni.showToast({
title: '用户名不能为空',
icon: 'none'
})
this.disabled = false
return
}
if (this.password === '') {
uni.showToast({
title: '密码不能为空',
icon: 'none'
})
if (this.user === '' || this.password === '') {
this.disabled = false
return
}
try {
let res = await handLogin(this.user, RSAencrypt(this.password))
if (res.code === '200') {
if (this.saveUser) {
this.$store.dispatch('saveLoginName', this.user)
} else {
this.$store.dispatch('delLoginName', '')
}
this.$store.dispatch('saveUserInfo', JSON.stringify(res.data.user))
this.$store.dispatch('saveUserInfo', JSON.stringify(res.user.user))
this.$store.dispatch('saveToken', res.token)
uni.redirectTo({
url: '/pages/home/home'
})
} else {
uni.showToast({
title: res.msg,
icon: 'none'
})
}
this.disabled = false
} catch (e) {
this.disabled = false

View File

@@ -1,20 +1,23 @@
<template>
<view class="zd_container">
<nav-bar title="设置" :inner2="true" @goIn="goIn"></nav-bar>
<nav-bar :title="$t('login.settings')" :inner2="true" @goIn="goIn" :show1="false"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="setup-item">
<view class="setup-label">服务器地址</view>
<input type="text" class="setup-input" placeholder="请输入服务器地址" v-model="addrip">
<view class="input-wrap">
<view class="input-label">{{$t('setting.language')}}</view>
<view class="select_wrap">
<uni-data-select v-model="index1" :localdata="options1" :clear="false"
@change="selectChange1"></uni-data-select>
</view>
</view>
<view class="input-wrap">
<view class="input-label">{{$t('setting.server')}}</view>
<input type="text" class="setup-input" v-model="addrip">
</view>
<!-- <view class="setup-item">
<view class="setup-label">刷新时间(s)</view>
<input type="text" class="setup-input" placeholder="请输入刷新时间" v-model="setTime">
</view> -->
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-24 button-primary" @click="_submit">确认</button>
<button class="zd-col-22 button-primary" @click="_submit">{{$t('button.confirm')}}</button>
</view>
</view>
</template>
@@ -28,33 +31,57 @@
data() {
return {
addrip: this.$store.getters.baseUrl,
acsip: this.$store.getters.acsUrl,
setTime: this.$store.getters.setTime / 1000
options1: [{text: '中文',value: 'zh-Hans'}, {text: 'English', value: 'en'}, {text: 'Español', value: 'es'}],
index1: '',
systemLocale: '',
applicationLocale: ''
};
},
onLoad() {
let systemInfo = uni.getSystemInfoSync();
this.systemLocale = systemInfo.language;
this.applicationLocale = uni.getLocale();
this.index1 = this.applicationLocale.split('-')[0]
this.isAndroid = systemInfo.platform.toLowerCase() === 'android';
uni.onLocaleChange((e) => {
this.applicationLocale = e.locale;
})
},
methods: {
onLocaleChange(e) {
if (this.isAndroid) {
uni.showModal({
content: this.$t('setting.language-change-confirm'),
success: (res) => {
if (res.confirm) {
uni.setLocale(e);
}
}
})
} else {
uni.setLocale(e);
this.$i18n.locale = e;
}
},
goIn () {
uni.redirectTo({
url: '/pages/login/login'
})
},
selectChange1(e) {
this.onLocaleChange(e)
this.index1 = e
},
_submit () {
if (this.addrip === '') {
uni.showToast({
title: '请填写LMS地址',
title: '服务器地址',
icon: 'none'
})
return
}
// if (this.setTime === '') {
// uni.showToast({
// title: '请填写刷新时间',
// icon: 'none'
// })
// return
// }
// 存值
this.$store.dispatch('setConfig',{baseUrl: this.addrip, acsUrl: this.acsip, setTime: this.setTime * 1000})
this.$store.dispatch('setConfig',{baseUrl: this.addrip})
uni.redirectTo({
url: '/pages/login/login'
})
@@ -65,16 +92,24 @@
<style lang="stylus">
@import '../../common/style/mixin.styl';
.setup-item
width 100%
margin-bottom 40rpx
.setup-label
_font(24rpx,40rpx,#000)
.setup-input
.input-wrap
_wh(100%, 80rpx)
margin 20rpx 0
_fj()
.input-label
_wh(210rpx, 80rpx)
_font(28rpx,80rpx,#464646)
text-align:justify;
text-align-last: justify;
text-justify: inter-ideograph;/*兼容ie*/
.setup-input
_wh(calc(100% - 220rpx), 80rpx)
background #fff
border: 1px solid #dcdfe6;
border-radius: 10rpx;
_font(28rpx,80rpx,#323232)
padding 0 28rpx
border 2px solid #e9ecf3
border-radius 12rpx
padding 0 10rpx
.select_wrap
_wh(calc(100% - 220rpx), 80rpx)
background #fff
</style>

View File

@@ -2,14 +2,14 @@
<view class="mask flex-center">
<view class="content botton-radius">
<view class="content-top">
<text class="content-top-text">发现新版本</text>
<text class="content-top-text">{{$t('upgrade.new-version')}}</text>
<image class="content-top" style="top: 0;" width="100%" height="100%" src="../../static/image/bg_top.png">
</image>
</view>
<view class="content-header"></view>
<view class="content-body">
<view class="title">
<text>恒森WMS手持系统又有新版本了升级到最新版本享受更丰富稳定快速的功能和体验</text>
<text>{{$t('upgrade.text1')}}</text>
</view>
<view class="footer flex-center">
<template>
@@ -17,11 +17,11 @@
<view class="progress-box flex-column" v-if="downloading">
<progress class="progress" border-radius="35" :percent="downLoadPercent" activeColor="#3DA7FF" show-info stroke-width="10" />
<view style="width:100%;font-size: 28rpx;display: flex;justify-content: space-around;">
<text>安装包下载中请稍后</text>
<text>{{$t('upgrade.text2')}}</text>
<text>({{downloadedSize}}/{{packageFileSize}}M)</text>
</view>
</view>
<button v-else class="content-button" style="border: none;color: #fff;" plain @click="updateApp">立即升级</button>
<button v-else class="content-button" style="border: none;color: #fff;" plain @click="updateApp">{{$t('upgrade.upgrade-now')}}</button>
</template>
</template>
</view>
@@ -146,7 +146,7 @@
}
.content-top-text {
font-size: 45rpx;
font-size: 32rpx;
font-weight: bold;
color: #F8F8FA;
position: absolute;

View File

@@ -5,10 +5,10 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row">
<view class="zd-col-7">
<span class="filter_label">单据编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.djbm')}}</span>
</view>
<view class="zd-col-24">
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<search-box
v-model="code"
@handleChange="handleChange"
@@ -21,17 +21,17 @@
<table>
<thead>
<tr>
<th>单据编码</th>
<th>单据类型</th>
<th>备注</th>
<th>创建时间</th>
<th>创建人</th>
<th>物料编码</th>
<th>申请数量</th>
<th>计划数量</th>
<th>已分配数量</th>
<th>批次号</th>
<th>单位</th>
<th>{{$t('filter.djbm')}}</th>
<th>{{$t('filter.djlx')}}</th>
<th>{{$t('filter.remark')}}</th>
<th>{{$t('filter.cjsj')}}</th>
<th>{{$t('filter.cjr')}}</th>
<th>{{$t('filter.wlbm')}}</th>
<th>{{$t('filter.sqsl')}}</th>
<th>{{$t('filter.jhsl')}}</th>
<th>{{$t('filter.yfpsl')}}</th>
<th>{{$t('filter.pcsn')}}</th>
<th>{{$t('filter.unit')}}</th>
</tr>
</thead>
<tbody>
@@ -55,8 +55,8 @@
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-primary" @tap="seachList">查询</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !pkId}" @tap="toSure">确认</button>
<button class="zd-col-6 button-primary" @tap="seachList">{{$t('btn.search')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !pkId}" @tap="toSure">{{$t('btn.confirm')}}</button>
</view>
</view>
</template>
@@ -82,9 +82,9 @@
reload: false,
status: 'more',
contentText: {
contentdown: '查看更多',
contentrefresh: '加载中',
contentnomore: '没有更多'
contentdown: this.$t('more.ckgd'),
contentrefresh: this.$t('more.jzz'),
contentnomore: this.$t('more.mygd')
},
totalCount: 0,
pageNum: 1,

View File

@@ -5,41 +5,41 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row">
<view class="zd-col-9">
<span class="filter_label">出库单类型</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.ckdlx')}}</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options" @change="selectChange"></uni-data-select>
</view>
</view>
</view>
<view v-if="JSON.stringify(currentData) !== '{}'" class="zd_wrapper">
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-6"><span class="filter_label">单据编码</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.djbm')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.code}}</span></view>
<view class="zd-col-6"><span class="filter_label">单据类型</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.djlx')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.form_type}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-6"><span class="filter_label">创建时间</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.cjsj')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.create_time}}</span></view>
<view class="zd-col-6"><span class="filter_label">创建人</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.cjr')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.create_name}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-6"><span class="filter_label">物料编码</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.wlbm')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.material_code}}</span></view>
<view class="zd-col-6"><span class="filter_label">单位</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.unit')}}</span></view>
<view class="zd-col-6"><span class="filter_input">{{currentData.unit_name}}</span></view>
</view>
<view class="zd-row">
<view class="zd-col-6"><span class="filter_label">仓库</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.ck')}}</span></view>
<view class="zd-col-6 filter_select">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
<uni-data-select v-model="index1" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
<view class="zd-col-6"><span class="filter_label">车间</span></view>
<view class="zd-col-6"><span class="filter_label">{{$t('filter.cj')}}</span></view>
<view class="zd-col-6 filter_select">
<uni-data-select v-model="currentData.product_area" :localdata="options2"></uni-data-select>
<uni-data-select v-model="currentData.product_area" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options2"></uni-data-select>
</view>
</view>
</view>
@@ -51,16 +51,16 @@
<th @tap="toAllCheck"><uni-icons :type="allCheck ? 'checkbox' : 'circle'" size="24" color="#4e6ef2"></uni-icons></th>
<th class="td_3">
<view class="td_3">
物料名称
{{$t('filter.wlmc')}}
</view>
</th>
<th>计划数量</th>
<th>申请数量</th>
<th>库存数量</th>
<th>出库数量</th>
<th>已分配数量</th>
<th>批次号</th>
<th>单位</th>
<th>{{$t('filter.jhsl')}}</th>
<th>{{$t('filter.sqsl')}}</th>
<th>{{$t('filter.kcsl')}}</th>
<th>{{$t('filter.cksl')}}</th>
<th>{{$t('filter.yfpsl')}}</th>
<th>{{$t('filter.pcsn')}}</th>
<th>{{$t('filter.unit')}}</th>
</tr>
</thead>
<tbody>
@@ -81,8 +81,8 @@
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-primary" @tap="toEmpty">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_outStorageConfirm">出库确认</button>
<button class="zd-col-6 button-primary" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_outStorageConfirm">{{$t('btn.ckqr')}}</button>
</view>
</view>
</template>
@@ -104,9 +104,9 @@
currentData: {},
dataList: [],
disabled: false,
options1: [{value: 'FStockPallet', text: '托盘库'}, {value: 'FStockId', text: '料箱库'}],
options1: [{value: 'FStockPallet', text: this.$t('text.tpk')}, {value: 'FStockId', text: this.$t('text.lxk')}],
index1: '',
options2: [{value: 'A1', text: 'A1车间'}, {value: 'A2', text: 'A2车间'}, {value: 'A3', text: 'A3车间'}],
options2: [{value: 'A1', text: 'A1' + this.$t('text.cj')}, {value: 'A2', text: 'A2' + this.$t('text.cj')}, {value: 'A3', text: 'A3' + this.$t('text.cj')}],
allCheck: false
};
},
@@ -138,7 +138,7 @@
this.index = e
if (e) {
uni.navigateTo({
url: '/pages/outbound/bill-list?title=单据列表&id=' + e
url: '/pages/outbound/bill-list?title=' + this.$t('nav.djlb') +'&id=' + e
})
}
},

View File

@@ -5,10 +5,10 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">载具编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.zjbm')}}</span>
</view>
<view class="zd-col-24">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<search-box
v-model="code"
/>
@@ -17,8 +17,8 @@
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="clearUp">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !code}" :disabled="disabled" @tap="_ioStorageOut">扫码出库确认</button>
<button class="zd-col-6 button-default" @tap="clearUp">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !code}" :disabled="disabled" @tap="_ioStorageOut">{{$t('btn.smckqr')}}</button>
</view>
</view>
</template>

View File

@@ -5,18 +5,18 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">仓库</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.ck')}}</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index" :localdata="options"></uni-data-select>
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<uni-data-select v-model="index" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options"></uni-data-select>
</view>
</view>
<view class="zd-row">
<view class="zd-col-7">
<span class="filter_label">物料编码</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.wlbm')}}</span>
</view>
<view class="zd-col-24 filter_select">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input" v-model="val1">
</view>
</view>
@@ -26,12 +26,12 @@
<table>
<thead>
<tr>
<th>仓库编码</th>
<th>库位编码</th>
<th>载具编码</th>
<th>物料编码</th>
<th>物料批次</th>
<th>出库库存</th>
<th>{{$t('filter.ckbm')}}</th>
<th>{{$t('filter.kwbm')}}</th>
<th>{{$t('filter.zjbm')}}</th>
<th>{{$t('filter.wlbm')}}</th>
<th>{{$t('filter.wlpc')}}</th>
<th>{{$t('filter.ckkc')}}</th>
</tr>
</thead>
<tbody>
@@ -50,9 +50,9 @@
<uni-load-more color="#007AFF" iconType="circle" :status="status" :icon-size="14" :content-text="contentText" v-if="dataList.length > 0"/>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-5 button-default" @tap="toEmpty">清空</button>
<button class="zd-col-8 button-primary" @tap="searchList">查询</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !pkId}" @tap="toSure">确认</button>
<button class="zd-col-5 button-default" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-8 button-primary" @tap="searchList">{{$t('btn.search')}}</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !pkId}" @tap="toSure">{{$t('btn.confirm')}}</button>
</view>
</view>
</template>
@@ -70,7 +70,7 @@
return {
title: '',
val1: '',
options: [{value: 'FStockPallet', text: '托盘库'}, {value: 'FStockId', text: '料箱库'}],
options: [{value: 'FStockPallet', text: this.$t('text.tpk')}, {value: 'FStockId', text: this.$t('text.lxk')}],
index: '',
dataList: [],
pkId: '',
@@ -78,9 +78,9 @@
reload: false,
status: 'more',
contentText: {
contentdown: '查看更多',
contentrefresh: '加载中',
contentnomore: '没有更多'
contentdown: this.$t('more.ckgd'),
contentrefresh: this.$t('more.jzz'),
contentnomore: this.$t('more.mygd')
},
totalCount: 0,
pageNum: 1,

View File

@@ -5,48 +5,48 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">仓库</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.ck')}}</span>
</view>
<view class="zd-col-24 filter_select">
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="text" class="filter_input" v-model="val1" @tap="toJump">
</view>
</view>
</view>
<view v-if="JSON.stringify(currentData) !== '{}'" class="zd_wrapper">
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-7"><span class="filter_label">库位</span></view>
<view class="zd-col-17"><span class="filter_input">{{currentData.struct_code}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.kwbm')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'"><span class="filter_input">{{currentData.struct_code}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-7"><span class="filter_label">载具编码</span></view>
<view class="zd-col-17"><span class="filter_input">{{currentData.vehicle_code}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.zjbm')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'"><span class="filter_input">{{currentData.vehicle_code}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-7"><span class="filter_label">物料编码</span></view>
<view class="zd-col-17"><span class="filter_input">{{currentData.material_code}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.wlbm')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'"><span class="filter_input">{{currentData.material_code}}</span></view>
</view>
<view class="zd-row border-bottom filter_input_disabled">
<view class="zd-col-7"><span class="filter_label">批号</span></view>
<view class="zd-col-17"><span class="filter_input">{{currentData.pcsn}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.pcsn')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'"><span class="filter_input">{{currentData.pcsn}}</span></view>
</view>
<view class="zd-row">
<view class="zd-col-7"><span class="filter_label">车间</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.cj')}}</span></view>
<view class="zd-col-17 filter_select">
<uni-data-select v-model="currentData.product_area" :localdata="options1"></uni-data-select>
<uni-data-select v-model="currentData.product_area" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options1"></uni-data-select>
</view>
</view>
<view class="zd-row">
<view class="zd-col-7"><span class="filter_label">出库库存</span></view>
<view class="zd-col-17">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'"><span class="filter_label">{{$t('filter.ckkc')}}</span></view>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="number" v-model="currentData.qty" class="filter_input">
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="toEmpty">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_outStorageMaterConfirm">出库确认</button>
<button class="zd-col-6 button-default" @tap="toEmpty">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': JSON.stringify(currentData) === '{}'}" :disabled="disabled" @tap="_outStorageMaterConfirm">{{$t('btn.ckqr')}}</button>
</view>
</view>
</template>
@@ -65,7 +65,7 @@
title: '',
val1: '',
currentData: {},
options1: [{value: 'A1', text: 'A1车间'}, {value: 'A2', text: 'A2车间'}, {value: 'A3', text: 'A3车间'}],
options1: [{value: 'A1', text: 'A1' + this.$t('text.cj')}, {value: 'A2', text: 'A2' + this.$t('text.cj')}, {value: 'A3', text: 'A3' + this.$t('text.cj')}],
disabled: false
};
},
@@ -76,9 +76,9 @@
if (this.$store.getters.publicObj !== '') {
this.currentData = this.$store.getters.publicObj
if (this.currentData.stor_code === 'FStockPallet') {
this.val1 = '托盘库'
this.val1 = this.$t('text.tpk')
} else if (this.currentData.stor_code === 'FStockId') {
this.val1 = '料箱库'
this.val1 = this.$t('text.lxk')
}
this.$store.dispatch('setPublicObj', '')
}
@@ -86,7 +86,7 @@
methods: {
toJump () {
uni.navigateTo({
url: '/pages/outbound/stock-list?title=库存列表'
url: '/pages/outbound/stock-list?title=' + this.$t('nav.kclb')
})
},
async _outStorageMaterConfirm () {
@@ -120,10 +120,5 @@
</script>
<style lang="stylus" scoped>
@import '../../common/style/mixin.styl';
.button-primary, .button-default
_fj(center)
font-size 26rpx
height 88rpx
line-height 30rpx
// @import '../../common/style/mixin.styl';
</style>

View File

@@ -5,34 +5,34 @@
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">托盘类型</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.tplx')}}</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<uni-data-select v-model="index1" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options1" @change="selectChange1"></uni-data-select>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">出库数量</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.cksl')}}</span>
</view>
<view class="zd-col-17">
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<input type="number" class="filter_input" v-model="qty">
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">出库点</span>
<view :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-7'">
<span class="filter_label">{{$t('filter.ckd')}}</span>
</view>
<view class="zd-col-24 filter_select">
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
<view class="filter_select" :class="$i18n.locale !== 'zh-Hans' ? 'zd-col-12' : 'zd-col-17'">
<uni-data-select v-model="index2" :placeholder="$t('uni.dataSelect.placeholder')" :emptyTips="$t('uni.dataSelect.emptyTips')" :localdata="options2" @change="selectChange2"></uni-data-select>
</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<button class="zd-col-6 button-default" @tap="clearUp">清空</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !qty || !index1 || !index2}" :disabled="disabled" @tap="_pdaPalletIostorinvOut">托盘库出库</button>
<button class="zd-col-6 button-default" @tap="clearUp">{{$t('btn.cancle')}}</button>
<button class="zd-col-16 button-primary" :class="{'button-info': !qty || !index1 || !index2}" :disabled="disabled" @tap="_pdaPalletIostorinvOut">{{$t('btn.tpkck')}}</button>
</view>
</view>
</template>
@@ -49,7 +49,7 @@
data() {
return {
title: '',
options1: [{text:'堆叠托盘', value:'22222222'},{text:'料箱',value: '11111111'}],
options1: [{text:this.$t('text.ddtp'), value:'22222222'},{text:this.$t('text.lx'),value: '11111111'}],
index1: '',
qty: '',
options2: [],

View File

@@ -2,7 +2,47 @@
# yarn lockfile v1
"@intlify/core-base@10.0.5":
version "10.0.5"
resolved "https://registry.yarnpkg.com/@intlify/core-base/-/core-base-10.0.5.tgz#c4d992381f8c3a50c79faf67be3404b399c3be28"
integrity sha512-F3snDTQs0MdvnnyzTDTVkOYVAZOE/MHwRvF7mn7Jw1yuih4NrFYLNYIymGlLmq4HU2iIdzYsZ7f47bOcwY73XQ==
dependencies:
"@intlify/message-compiler" "10.0.5"
"@intlify/shared" "10.0.5"
"@intlify/message-compiler@10.0.5":
version "10.0.5"
resolved "https://registry.yarnpkg.com/@intlify/message-compiler/-/message-compiler-10.0.5.tgz#4eeace9f4560020d5e5d77f32bed7755e71d8efd"
integrity sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==
dependencies:
"@intlify/shared" "10.0.5"
source-map-js "^1.0.2"
"@intlify/shared@10.0.5":
version "10.0.5"
resolved "https://registry.yarnpkg.com/@intlify/shared/-/shared-10.0.5.tgz#1b46ca8b541f03508fe28da8f34e4bb85506d6bc"
integrity sha512-bmsP4L2HqBF6i6uaMqJMcFBONVjKt+siGluRq4Ca4C0q7W2eMaVZr8iCgF9dKbcVXutftkC7D6z2SaSMmLiDyA==
"@vue/devtools-api@^6.5.0":
version "6.6.4"
resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343"
integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==
jsencrypt@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/jsencrypt/-/jsencrypt-3.2.1.tgz#09766983cc760088ff26b12fe7e574252af97727"
integrity sha512-k1sD5QV0KPn+D8uG9AdGzTQuamt82QZ3A3l6f7TRwMU6Oi2Vg0BsL+wZIQBONcraO1pc78ExMdvmBBJ8WhNYUA==
source-map-js@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
vue-i18n@^10.0.5:
version "10.0.5"
resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-10.0.5.tgz#fdf4e6c7b669e80cfa3a12ed9625e2b46671cdf0"
integrity sha512-9/gmDlCblz3i8ypu/afiIc/SUIfTTE1mr0mZhb9pk70xo2csHAM9mp2gdQ3KD2O0AM3Hz/5ypb+FycTj/lHlPQ==
dependencies:
"@intlify/core-base" "10.0.5"
"@intlify/shared" "10.0.5"
"@vue/devtools-api" "^6.5.0"