多语言
This commit is contained in:
@@ -1,254 +1,184 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-cn">
|
||||
<html lang="<?= $lang ?>">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>新增页面</title>
|
||||
<meta charset="utf-8">
|
||||
<title><?= $translations['add'] ?? '新增' ?></title>
|
||||
<link rel="stylesheet" href="/app/admin/component/pear/css/pear.css" />
|
||||
<link rel="stylesheet" href="/app/admin/component/jsoneditor/css/jsoneditor.css" />
|
||||
<link rel="stylesheet" href="/app/admin/admin/css/reset.css" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form class="layui-form" action="">
|
||||
|
||||
<body class="pear-container">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="mainBox">
|
||||
<div class="main-container mr-5">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">车架号(17位国际标准)</label>
|
||||
<label class="layui-form-label"><?= $translations['name'] ?? '名称' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="vin" value="" required lay-verify="required" class="layui-input">
|
||||
<input type="text" name="name" lay-verify="required" placeholder="<?= $translations['name_placeholder'] ?? '请输入名称' ?>" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分类</label>
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="text" name="classify" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<label class="layui-form-label"><?= $translations['name_en'] ?? '英文名称' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<select name="classify" lay-filter="category" id="classify" required>
|
||||
<option value="">请选择分类</option>
|
||||
<option value="1">自主</option>
|
||||
<option value="2">代理</option>
|
||||
<input type="text" name="name_en" placeholder="<?= $translations['name_en_placeholder'] ?? '请输入英文名称' ?>" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><?= $translations['vin'] ?? 'VIN' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="vin" lay-verify="required" placeholder="<?= $translations['vin_placeholder'] ?? '请输入VIN' ?>" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><?= $translations['status'] ?? '状态' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<select name="status" lay-verify="required">
|
||||
<option value=""><?= $translations['status_placeholder'] ?? '请选择状态' ?></option>
|
||||
<option value="1"><?= $translations['status_1'] ?? '正常' ?></option>
|
||||
<option value="0"><?= $translations['status_0'] ?? '禁用' ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">车辆品牌</label>
|
||||
<label class="layui-form-label"><?= $translations['location'] ?? '当前位置' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="brand" value="" required lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">车辆型号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="model" value="" required lay-verify="required" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">车辆状态</label>
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="text" name="status" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<div class="layui-input-block">
|
||||
<select name="status" lay-filter="category" required lay-verify="required" id="status" required>
|
||||
<option value="">请选择分类</option>
|
||||
<option value="1">待发车</option>
|
||||
<option value="2">在途(发往fbo港口)</option>
|
||||
<option value="3">抵达发货港口</option>
|
||||
<option value="4">在途(发往目的地仓库)</option>
|
||||
<option value="5">抵达仓库</option>
|
||||
<option value="6">售出</option>
|
||||
<select name="location_id" lay-verify="required">
|
||||
<option value=""><?= $translations['location_placeholder'] ?? '请选择当前位置' ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">买车地点</label>
|
||||
<label class="layui-form-label"><?= $translations['final_location'] ?? '最终位置' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="purchase_location" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">手续办理地</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="procedure_location" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="layui-form-item">-->
|
||||
<!-- <label class="layui-form-label">FBO最终目的地</label>-->
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="text" name="fbo_destination" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- -->
|
||||
<!-- <div class="layui-form-item">-->
|
||||
<!-- <label class="layui-form-label">fbo目的地id</label>-->
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="number" name="fbo_locations_id" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">fbo目的地</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="fbo_locations_id" lay-filter="category" id="fbo_locations_id" required>
|
||||
<option value="">请选择分类</option>
|
||||
<select name="final_location_id">
|
||||
<option value=""><?= $translations['final_location_placeholder'] ?? '请选择最终位置' ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">车辆所在地</label>
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="number" name="locations_id" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<label class="layui-form-label"><?= $translations['fbo_location'] ?? 'FBO位置' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<select name="locations_id" lay-filter="category" id="locations_id" required>
|
||||
<option value="">请选择分类</option>
|
||||
<select name="fbo_location_id">
|
||||
<option value=""><?= $translations['fbo_location_placeholder'] ?? '请选择FBO位置' ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">最终目的地</label>
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="number" name="final_locations_id" value="" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
<label class="layui-form-label"><?= $translations['img_url'] ?? '图片' ?></label>
|
||||
<div class="layui-input-block">
|
||||
<select name="final_locations_id" lay-filter="category" required lay-verify="required" id="final_locations_id" required>
|
||||
<option value="">请选择分类</option>
|
||||
</select>
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn" id="img_url">
|
||||
<i class="layui-icon layui-icon-upload"></i><?= $translations['upload_image'] ?? '上传图片' ?>
|
||||
</button>
|
||||
<div class="layui-upload-list">
|
||||
<img class="layui-upload-img" id="preview_img" style="max-width: 100px;">
|
||||
<input type="hidden" name="img_url" id="img_url_input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">FBO发车时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="departure_time" id="departure_time" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">FBO到达时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="arrival_time" id="arrival_time" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">运输周期(天)</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="shipping_cycle" value="" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label required">图片</label>
|
||||
<!-- <div class="layui-input-block">-->
|
||||
<!-- <input type="text" name="img_url" value="" required lay-verify="required" class="layui-input">-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
<div class="layui-input-block">
|
||||
<img class="img-3" src=""/>
|
||||
<input type="text" style="display:none" name="img_url" value="" />
|
||||
<button type="button" class="pear-btn pear-btn-primary pear-btn-sm" id="img_url" permission="app.admin.upload.avatar">
|
||||
<i class="layui-icon layui-icon-upload"></i>上传图片
|
||||
<button class="pear-btn pear-btn-primary" lay-submit lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
<?= $translations['submit'] ?? '提交' ?>
|
||||
</button>
|
||||
<button type="reset" class="pear-btn">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
<?= $translations['reset'] ?? '重置' ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-md" lay-submit=""
|
||||
lay-filter="save">
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script src="/app/admin/component/layui/layui.js?v=2.8.12"></script>
|
||||
<script src="/app/admin/component/pear/pear.js"></script>
|
||||
<script src="/app/admin/component/jsoneditor/jsoneditor.js"></script>
|
||||
<script src="/app/admin/admin/js/permission.js"></script>
|
||||
|
||||
<script src="/app/admin/admin/js/common.js"></script>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'layer'], function(){
|
||||
const form = layui.form;
|
||||
const $ = layui.jquery;
|
||||
const layer = layui.layer;
|
||||
|
||||
function loadOptions() {
|
||||
// 相关常量
|
||||
const INSERT_API = "/app/admin/vehicle/insert";
|
||||
const LOCATION_API = "/app/admin/location/select";
|
||||
|
||||
// 翻译文本
|
||||
const translations = <?= json_encode($translations) ?>;
|
||||
|
||||
layui.use(['form', 'common', 'popup', 'upload'], function() {
|
||||
let form = layui.form;
|
||||
let $ = layui.$;
|
||||
let common = layui.common;
|
||||
let upload = layui.upload;
|
||||
|
||||
// 图片上传
|
||||
upload.render({
|
||||
elem: '#img_url',
|
||||
url: '/app/admin/upload/uploadImage',
|
||||
accept: 'images',
|
||||
acceptMime: 'image/jpeg,image/png',
|
||||
done: function(res) {
|
||||
if (res.code !== 0) {
|
||||
return layui.popup.failure(res.msg);
|
||||
}
|
||||
$('#img_url_input').val(res.data.path);
|
||||
$('#preview_img').attr('src', res.data.image_url);
|
||||
layui.popup.success(translations.operation_success);
|
||||
}
|
||||
});
|
||||
|
||||
// 加载位置数据
|
||||
function loadLocations(select, selectedId = '') {
|
||||
$.ajax({
|
||||
url: '/app/admin/location/getAll',
|
||||
type: 'GET',
|
||||
url: LOCATION_API,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(res) {
|
||||
// 统一先检查状态码
|
||||
if (res.code !== 0) {
|
||||
layer.msg(res.msg || '加载失败');
|
||||
return;
|
||||
if (res.code) {
|
||||
return layui.popup.failure(res.msg);
|
||||
}
|
||||
|
||||
const select = $('#fbo_locations_id');
|
||||
const locations_id = $('#locations_id');
|
||||
const final_locations_id = $('#final_locations_id');
|
||||
select.empty().append('<option value="">请选择分类</option>');
|
||||
locations_id.empty().append('<option value="">请选择分类</option>');
|
||||
|
||||
$.each(res.data, function(index, item){
|
||||
select.append(`<option value="${item.id}">${item.name}</option>`);
|
||||
locations_id.append(`<option value="${item.id}">${item.name}</option>`);
|
||||
final_locations_id.append(`<option value="${item.id}">${item.name}</option>`);
|
||||
let html = '<option value="">' + translations.location_placeholder + '</option>';
|
||||
res.data.forEach(function(item) {
|
||||
html += '<option value="' + item.id + '"' + (item.id == selectedId ? ' selected' : '') + '>' + item.name + '</option>';
|
||||
});
|
||||
|
||||
select.html(html);
|
||||
form.render('select');
|
||||
},
|
||||
error: function(xhr) {
|
||||
layer.msg('请求失败: ' + xhr.status);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
loadOptions();
|
||||
|
||||
// 加载所有位置下拉框
|
||||
loadLocations($('select[name="location_id"]'));
|
||||
loadLocations($('select[name="final_location_id"]'));
|
||||
loadLocations($('select[name="fbo_location_id"]'));
|
||||
|
||||
// 表单提交
|
||||
form.on('submit(save)', function(data) {
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: INSERT_API,
|
||||
data: data.field,
|
||||
dataType: 'json',
|
||||
type: 'post',
|
||||
success: function(res) {
|
||||
layer.close(loading);
|
||||
if (res.code) {
|
||||
return layui.popup.failure(res.msg);
|
||||
}
|
||||
layui.popup.success(translations.operation_success, function() {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));
|
||||
parent.layui.table.reload("data-table");
|
||||
});
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
// 图片上传
|
||||
layui.use(["upload", "layer"], function() {
|
||||
let input = layui.$("#img_url").prev();
|
||||
input.prev().attr("src", input.val());
|
||||
layui.upload.render({
|
||||
elem: "#img_url",
|
||||
url: "/app/admin/upload/uploadImage",
|
||||
acceptMime: "image/gif,image/jpeg,image/jpg,image/png",
|
||||
field: "__file__",
|
||||
done: function (res) {
|
||||
if (res.code > 0) return layui.layer.msg(res.msg);
|
||||
this.item.prev().val(res.data.path).prev().attr("src", res.data.image_url);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
// 相关接口
|
||||
const INSERT_API = "/app/admin/vehicle/insert";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user