From 539a56279625242c497b4b4093f2defbb9d80334 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 29 一月 2026 14:05:44 +0800
Subject: [PATCH] #i18n翻译
---
src/main/webapp/static/js/order/order.js | 272 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 177 insertions(+), 95 deletions(-)
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index ad09170..cda091a 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,5 +1,7 @@
var insTbCount = 0;
-layui.config({
+var insTb;
+ var insLookTb;
+ layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
var $ = layui.jquery;
@@ -11,8 +13,78 @@
var xmSelect = layui.xmSelect;
var layDate = layui.laydate;
var laytpl = layui.laytpl;
+ var dateIns = layDate.render({
+ elem: '#modi_time'
+ ,type: 'datetime'
+ ,range: true
+ ,lang: typeof I18n !== 'undefined' && I18n.getLanguage().toLowerCase() === 'zh-cn' ? 'cn' : 'en'
+ });
+ function getCols() {
+ return [[
+ {type: 'numbers'},
+ {field: 'orderNo', title: I18n.t('order_no'), templet: '#orderNoTpl'},
+ {field: 'docType$', align: 'center', title: I18n.t('doc_type'), minWidth: 160, width: 160, templet: function (d) {
+ return I18n.t(d.docType$);
+ }},
+ {align: 'center', title: I18n.t('order_detail'), toolbar: '#tbLook', minWidth: 160, width: 160},
+ {field: 'createTime$', title: I18n.t('create_time'), minWidth: 200, width: 200},
+ {field: 'settle$', align: 'center', title: I18n.t('status'), templet: '#settleTpl', minWidth: 160, width: 160},
+ {field: 'memo', align: 'center',title: I18n.t('memo'), hide: true},
+ {align: 'center', title: I18n.t('operation'), toolbar: '#operate', width: 180}
+ ]];
+ }
+
+ function getLookCols() {
+ return [[
+ {type: 'numbers'},
+ {field: 'matnr', title: I18n.t('mat_code'), width: 160},
+ {field: 'maktx', title: I18n.t('mat_name'), width: 160},
+ {field: 'batch', title: I18n.t('batch')},
+ {field: 'anfme', title: I18n.t('quantity')},
+ {field: 'workQty', title: I18n.t('work_qty')},
+ {field: 'qty', title: I18n.t('finish_qty'), style: 'font-weight: bold'},
+ // {field: 'unit', title: '鍗曚綅'},
+ // {
+ // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
+ // return util.toDateString(d.createTime);
+ // }, width: 180
+ // },
+ // {field: 'inQty', title: '宸插叆搴撻噺'},
+ // {field: 'color', title: '棰滆壊'},
+ {field: 'specs', title: I18n.t('spec')}
+ ]];
+ }
+
+ function getFormCols() {
+ return [[
+ {type: 'numbers', title: '#'},
+ {field: 'matnr', title: I18n.t('mat_code'), width: 160},
+ {field: 'maktx', title: I18n.t('mat_name'), width: 200},
+ {field: 'batch', title: I18n.t('batch'), edit: true},
+ {field: 'specs', title: I18n.t('spec')},
+ {field: 'anfme', title: I18n.t('quantity') + '(' + I18n.t('modify') + ')', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
+ {field: 'workQty', title: I18n.t('work_qty'), minWidth: 100, width: 100},
+ // {field: 'unit', title: '鍗曚綅', width: 80},
+ {field: 'memo', title: I18n.t('memo') , edit: true},
+ {align: 'center', title: I18n.t('operation'), toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
+ ]];
+ }
// 娓叉煋鎼滅储妯℃澘
+ var docTypeData = null;
+ function renderDocTypeSelect() {
+ if (!docTypeData || !docTypeData.records) return;
+
+ layui.each(docTypeData.records, function(index, item){
+ item.transDocName = I18n.t(item.docName$ || item.docName);
+ });
+
+ var template = Handlebars.compile($('#docTypeTpl').html());
+ $('#docType-query').html(template(docTypeData));
+ I18n.updatePage($('#docType-query'));
+ layui.form.render('select');
+ }
+
$.ajax({
url: baseUrl+"/docType/list/auth",
headers: {'token': localStorage.getItem('token')},
@@ -22,9 +94,8 @@
method: 'POST',
success: function (res) {
if (res.code === 200){
- let template = Handlebars.compile($('#docTypeTpl').html());
- $('#docType-query').html(template(res.data));
- layui.form.render('select');
+ docTypeData = res.data;
+ renderDocTypeSelect();
} else if (res.code === 403){
top.location.href = baseUrl+"/";
} else {
@@ -34,43 +105,75 @@
})
// 娓叉煋琛ㄦ牸
- var insTb = table.render({
- elem: '#order',
- url: baseUrl+'/order/head/page/auth',
- headers: {token: localStorage.getItem('token')},
- page: true,
- cellMinWidth: 100,
- cols: [[
- {type: 'numbers'},
- {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'},
- {field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160},
- {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160},
- {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200},
- {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160},
- {field: 'memo', align: 'center',title: '澶囨敞', hide: true},
- {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 180}
- ]],
- request: {
- pageName: 'curr',
- pageSize: 'limit'
- },
- parseData: function (res) {
- return {
- 'code': res.code,
- 'msg': res.msg,
- 'count': res.data.total,
- 'data': res.data.records
+ function initTable() {
+ insTb = table.render({
+ elem: '#order',
+ url: baseUrl+'/order/head/page/auth',
+ headers: {token: localStorage.getItem('token')},
+ page: true,
+ cellMinWidth: 100,
+ cols: getCols(),
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function (res, curr, count) {
+ limit();
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ insTbCount = count;
+ if (typeof I18n !== 'undefined' && I18n.isReady()) {
+ I18n.updatePage();
+ I18n.updateLayuiPagination();
+ }
+ if (typeof dateIns !== 'undefined') {
+ // Completely remove and recreate the input element to force laydate reset
+ var $input = $('#modi_time');
+ var parent = $input.parent();
+ var inputHtml = $input.prop("outerHTML");
+ $input.remove();
+ parent.append(inputHtml);
+ $('#modi_time').removeAttr('lay-key'); // Ensure no key remains
+
+ dateIns = layDate.render({
+ elem: '#modi_time'
+ ,type: 'datetime'
+ ,range: true
+ ,lang: I18n.getLanguage().toLowerCase() === 'zh-cn' ? 'cn' : 'en'
+ });
}
- },
- response: {
- statusCode: 200
- },
- done: function (res, curr, count) {
- limit();
- if (res.code === 403) {
- top.location.href = baseUrl+"/";
}
- insTbCount = count;
+ });
+ }
+
+ if (typeof I18n !== 'undefined' && I18n.isReady()) {
+ initTable();
+ } else {
+ $(document).on('i18n:ready', initTable);
+ }
+
+ // 鐩戝惉璇█鍒囨崲
+ $(document).on('i18n:languageChanged', function () {
+ renderDocTypeSelect();
+ insTb.reload({
+ cols: getCols()
+ });
+ if (insLookTb && $('#lookSSXMTable').length > 0) {
+ insLookTb.reload({
+ cols: getLookCols()
+ });
}
});
@@ -111,7 +214,7 @@
fixed: false,
content: '<table id="lookSSXMTable" lay-filter="lookSSXMTable"></table>',
success: function (layero) {
- table.render({
+ insLookTb = table.render({
elem: '#lookSSXMTable',
headers: {token: localStorage.getItem('token')},
url: baseUrl+'/orderDetl/list/auth',
@@ -120,24 +223,7 @@
},
page: true,
cellMinWidth: 100,
- cols: [[
- {type: 'numbers'},
- {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
- {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
- {field: 'batch', title: '鎵瑰彿'},
- {field: 'anfme', title: '鏁伴噺'},
- {field: 'workQty', title: '浣滀笟鏁伴噺'},
- {field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
- // {field: 'unit', title: '鍗曚綅'},
- // {
- // field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
- // return util.toDateString(d.createTime);
- // }, width: 180
- // },
- // {field: 'inQty', title: '宸插叆搴撻噺'},
- // {field: 'color', title: '棰滆壊'},
- {field: 'specs', title: '瑙勬牸'}
- ]],
+ cols: getLookCols(),
request: {
pageName: 'curr',
pageSize: 'limit'
@@ -154,6 +240,7 @@
statusCode: 200
},
done: function () {
+ I18n.updateLayuiPagination();
$(layero).find('.layui-table-view').css('margin', '0');
},
size: ''
@@ -167,10 +254,11 @@
function showEditModel(expTpe) {
admin.open({
type: 1,
- title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁',
+ title: (expTpe ? I18n.t('modify_order') : I18n.t('add_order')),
content: $('#editDialog').html(),
area: '1300px',
success: function (layero, dIndex) {
+ I18n.updatePage($(layero));
$(layero).children('.layui-layer-content').css('overflow', 'visible');
var isExpAdd = !expTpe;
// 鍥炴樉鏁版嵁
@@ -182,17 +270,17 @@
form.on('submit(orderEditSubmit)', function (data) {
// 缁勮鏁版嵁
if (xxDataList.length <= 0) {
- layer.tips('璇锋坊鍔犲崟鎹槑缁�', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
+ layer.tips(I18n.t('please_add_detail_first'), '#matAddBtnComment', {tips: [1, '#ff4c4c']});
return false;
}
let nList = admin.util.deepClone(xxDataList);
for (let xi = 0; xi < nList.length; xi++) {
if (nList[xi].anfme <= 0){
- layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+ layer.msg(I18n.t('detail_modify_qty_invalid'), {icon: 2});
return false;
}
if (nList[xi].anfme < nList[xi].workQty){
- layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
+ layer.msg(I18n.t('qty_cannot_less_than_worked'), {icon: 2});
return false;
}
}
@@ -213,7 +301,7 @@
if (res.code === 200){
layer.close(dIndex);
$(".layui-laypage-btn")[0].click();
- layer.msg(res.msg, {icon: 1});
+ layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 1});
} else if (res.code === 403){
top.location.href = baseUrl+"/";
}else {
@@ -232,18 +320,7 @@
page: true,
height: '350px;',
cellMinWidth: 100,
- cols: [[
- {type: 'numbers', title: '#'},
- {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
- {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
- {field: 'batch', title: '鎵瑰彿', edit: true},
- {field: 'specs', title: '瑙勬牸'},
- {field: 'anfme', title: '鏁伴噺(淇敼)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
- {field: 'workQty', title: '浣滀笟鏁伴噺', minWidth: 100, width: 100},
- // {field: 'unit', title: '鍗曚綅', width: 80},
- {field: 'memo', title: '澶囨敞' , edit: true},
- {align: 'center', title: '鎿嶄綔', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
- ]],
+ cols: getFormCols(),
done: function (res) {
$(layero).find('.layui-table-view').css('margin', '0');
},
@@ -276,10 +353,10 @@
showEditModel2(data);
} else if (layEvent === 'del') {
if(data.workQty > 0){
- layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+ layer.msg(I18n.t('work_qty_exists_cannot_delete'), {icon: 2});
return;
}
- layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+ layer.confirm(I18n.t('confirm_delete_data'), {
shade: .1,
skin: 'layui-layer-admin'
}, function (i) {
@@ -301,17 +378,17 @@
if (obj.field === 'anfme'){
let vle = Number(obj.value);
if (isNaN(vle)) {
- layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
+ layer.msg(I18n.t('please_enter_number'), {icon: 2});
return false;
} else {
if (vle <= 0) {
- layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+ layer.msg(I18n.t('quantity_must_be_greater_than_zero'), {icon: 2});
// data[obj.field] = 0;
// insTbSSXM.reload({data: xxDataList});
return false;
}
if(obj.value < data.workQty){
- layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+ layer.msg(I18n.t('input_qty_cannot_less_than_working'), {icon: 2});
// data[obj.field] = 0;
// insTbSSXM.reload({data: xxDataList});
return false;
@@ -332,7 +409,7 @@
type: 1,
offset: '150px',
area: '680px',
- title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
+ title: (exp ? I18n.t('modify_detail') : I18n.t('add_detail')),
content: $('#matEditDialog').html(),
success: function (layero, dIndex) {
// 鍥炴樉鏁版嵁
@@ -366,10 +443,13 @@
// 娓叉煋鐗╂枡閫夋嫨
var matXmSelect = xmSelect.render({
el: '#mat',
+ language: (typeof I18n !== 'undefined' && localStorage.getItem('lang') === 'en') ? 'en' : 'zn',
+ tips: typeof I18n !== 'undefined' ? I18n.t('please_select') : '璇烽�夋嫨',
+ searchTips: typeof I18n !== 'undefined' ? I18n.t('search') : '鎼滅储',
style: {
width: '340px',
},
- autoRow: true,
+ collapse: true,
toolbar: { show: true },
filterable: true,
remoteSearch: true,
@@ -393,6 +473,7 @@
}
})
// 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
+ I18n.updatePage($(layero));
$(layero).children('.layui-layer-content').css('overflow', 'visible');
layui.form.render('select');
}
@@ -405,7 +486,7 @@
// 鍒犻櫎鍗曟嵁
function doDel(orderId) {
- layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+ layer.confirm(I18n.t('confirm_delete'), {
shade: .1,
skin: 'layui-layer-admin'
}, function (i) {
@@ -426,7 +507,7 @@
} else {
$(".layui-laypage-btn")[0].click();
}
- layer.msg(res.msg, {icon: 1});
+ layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 1});
} else if (res.code === 403){
top.location.href = baseUrl+"/";
}else {
@@ -439,7 +520,7 @@
// 淇敼璁㈠崟鐘舵��
function doModify(orderId, orderNo, settle) {
- layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
+ layer.confirm(I18n.t('confirm_manual_complete'), {
shade: .1,
skin: 'layui-layer-admin'
}, function (i) {
@@ -464,7 +545,7 @@
} else {
$(".layui-laypage-btn")[0].click();
}
- layer.msg(res.msg, {icon: 1});
+ layer.msg(typeof I18n !== 'undefined' ? I18n.t(res.msg) : res.msg, {icon: 1});
} else if (res.code === 403){
top.location.href = baseUrl+"/";
}else {
@@ -477,7 +558,7 @@
// 浠诲姟杩芥函
function showWrkTrace(orderId) {
- let loadIndex = layer.msg('璇锋眰涓�...', {icon: 16, shade: 0.01, time: false});
+ let loadIndex = layer.msg(I18n.t('requesting'), {icon: 16, shade: 0.01, time: false});
$.ajax({
url: baseUrl+"/order/wrk/trace/auth",
headers: {'token': localStorage.getItem('token')},
@@ -491,24 +572,25 @@
laytpl(wrkTraceDialog.innerHTML).render(res.data, function (html) {
admin.open({
type: 1,
- title: '浠诲姟杩芥函',
+ title: I18n.t('wrk_trace'),
area: ['800px', '450px'],
shadeClose: true,
content: html,
success: function (layero, dIndex) {
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
- /** 缁熻鍥捐〃 */
+ I18n.updatePage($(layero));
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ /** 缁熻鍥捐〃 */
var traceCharts = echarts.init(document.getElementById('wrkTraceCharts'));
var traceOptions = {
title: {
- text: '鎬婚噺/浣滀笟/瀹屾垚', x: 'center', y: '38%',
+ text: I18n.t('trace_chart_title'), x: 'center', y: '38%',
textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'},
subtextStyle: {fontSize: 36, color: '#10B4E8'},
itemGap: 20
},
color: ['#10B4E8', '#E0E0E0', '#FF0000'],
tooltip: {trigger: 'item'},
- series: [{name: '鏁伴噺', type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}]
+ series: [{name: I18n.t('quantity'), type: 'pie', radius: ['75%', '80%'], label: {normal: {show: false}}}]
};
traceCharts.setOption(traceOptions);
// 璧嬪��
@@ -519,9 +601,9 @@
series: [
{
data: [
- {name: '宸蹭綔涓�', value: res.data.wrkQty},
- {name: '鏈綔涓�', value: res.data.totalQty-res.data.wrkQty-res.data.lackQty},
- {name: '搴撳瓨涓嶈冻', value: res.data.lackQty},
+ {name: I18n.t('worked'), value: res.data.wrkQty},
+ {name: I18n.t('not_worked'), value: res.data.totalQty-res.data.wrkQty-res.data.lackQty},
+ {name: I18n.t('stock_shortage'), value: res.data.lackQty},
]
}
]
--
Gitblit v1.9.1