Commit 7d48d62f by mushishixian

Merge branch 'ysx-供应商二期-20210610'

parents 7f94c660 f9a434b3
Showing with 661 additions and 2142 deletions
......@@ -27,6 +27,13 @@ WMS_DB_DATABASE=liexin_wms
WMS_DB_USERNAME=liexin_wms
WMS_DB_PASSWORD=liexin_wms#zsyM
//主站3.0的数据库
LIEXIN_DB_HOST=192.168.1.252
LIEXIN_DB_PORT=3306
LIEXIN_DB_DATABASE=liexin
LIEXIN_DB_USERNAME=liexin
LIEXIN_DB_PASSWORD=liexin#zsyM
//自营基石数据库
DB_SELF_HOST=192.168.1.235
DB_SELF_DATABASE=liexin_data
......
......@@ -43,6 +43,9 @@ class SupplierApiController extends Controller
'pay_type',
'trading_method',
//省市
'province_city',
//收发货地址
'return_phone',
'return_address',
......@@ -82,7 +85,18 @@ class SupplierApiController extends Controller
if ($validateResult) {
$this->response(-1, $validateResult);
}
$channel = $request->only($this->channelMap);
$channelMap = $this->channelMap;
$channelMap = array_merge($channelMap, [
'supplier_consignee',
'supplier_position',
'supplier_email',
'supplier_mobile',
'supplier_telephone',
'supplier_qq',
'supplier_fax',
'can_check_uids'
]);
$channel = $request->only($channelMap);
$service = new SupplierService();
$result = $service->saveSupplier($channel);
if (!$result) {
......@@ -285,6 +299,50 @@ class SupplierApiController extends Controller
$this->response(0, '分配渠道开发员成功');
}
//批量修改渠道开发员
public function BatchAllocatePurchaseUser($request)
{
$purchaseUid = $request->get('purchase_uid');
$supplierIds = $request->get('supplier_ids');
$supplierIds = explode(',', $supplierIds);
$supplierService = new SupplierService();
if (empty($purchaseUid)) {
$this->response(-1, '请选择渠道开发员');
}
$supplierService->batchAllocatePurchaseUser($supplierIds, $purchaseUid);
$this->response(0, '批量分配渠道员成功');
}
//分配采购员(支持批量操作)
public function AllocateChannelUser($request)
{
$channelUid = $request->get('channel_uid');
$supplierId = $request->get('supplier_id');
if (empty($channelUid)) {
$this->response(-1, '采购员不能为空');
}
$adminService = new AdminUserService();
$check = $adminService->checkIsResignedByCodeId($channelUid);
if ($check) {
$this->response(-1, '该采购员已经离职,请选择其他人员');
}
$model = new SupplierChannelModel();
$supplier = $model->where('supplier_id', $supplierId)->first();
$supplier = $supplier ? $supplier->toArray() : [];
$preChannelUid = $supplier['channel_uid'];
$preChannelUid = explode(',', $preChannelUid);
//如果之前已经存在对应的采购,直接返回错误
if (in_array($channelUid, $preChannelUid)) {
$this->response(-1, '此采购员已经存在,请重新选择');
}
$service = new SupplierService();
$result = $service->allocateChannelUser($supplierId, $channelUid);
if (!$result) {
$this->response(-1, '添加采购员失败');
}
$this->response(0, '添加采购员成功');
}
//转正供应商
public function ChangeSupplierIsType($request)
{
......@@ -298,6 +356,7 @@ class SupplierApiController extends Controller
$this->response(0, '转正供应商成功');
}
//发送金蝶同步请求
public function SyncToErp($request)
{
$supplierId = $request->get('supplier_id');
......@@ -307,6 +366,7 @@ class SupplierApiController extends Controller
$this->response(0, '已发送同步请求');
}
//设置云芯账号
public function SetYunxinChannelUid($request)
{
$supplierId = $request->get('supplier_id');
......@@ -325,10 +385,23 @@ class SupplierApiController extends Controller
$adminService = new AdminUserService();
$user = $adminService->getAdminUserInfoByCodeId($channelUid);
$logService = new LogService();
$logService->AddLog($supplierId,LogModel::UPDATE_OPERATE,'设置云芯采购员','设置云芯采购员为 : '.$user['name']);
$logService->AddLog($supplierId, LogModel::UPDATE_OPERATE, '设置云芯采购员', '设置云芯采购员为 : ' . $user['name']);
$this->response(0, '设置云芯采购成功');
} else {
$this->response(-1, '设置云芯采购失败');
}
}
//检查能否审核(只有最后一次修改人和当前审核人是属于同部门的,才能审核)
public function CheckCanAuditSupplier($request)
{
$supplierId = $request->get('supplier_id');
$supplierAuditService = new SupplierAuditService();
$check = $supplierAuditService->CheckCanAuditSupplier($supplierId);
if ($check) {
$this->response(0, '可以审核');
} else {
$this->response(-1, '无法进行审核操作,因为该供应商最后(修改人/创建人)和您不属于同一个部门');
}
}
}
......@@ -133,17 +133,6 @@ class SupplierContactApiController extends Controller
$this->response(-1, '删除失败');
}
$supplierModel = new SupplierChannelModel();
$supplierStatus = $supplierModel->where('supplier_id', $contact['supplier_id'])->value('status');
//不等于-1的时候是第一次新增供应商,单独操作联系人,不需要修改状态
if ($supplierStatus != SupplierChannelModel::STATUS_PENDING) {
//修改为审核状态
$supplierModel = new SupplierChannelModel();
$supplierModel->where('supplier_id', $contact['supplier_id'])->update([
'update_time' => time(),
'status' => SupplierChannelModel::STATUS_IN_REVIEW,
]);
}
$logService = new LogService();
$content = '删除联系人';
$remark = json_encode(['old_contact' => $contact, 'new_contact' => []]);
......
......@@ -57,27 +57,34 @@ class SupplierReceiptApiController extends Controller
'remark',
]);
$receipt['account_adderss'] = empty($receipt['account_adderss']) ? ' ' : $receipt['account_adderss'];
if ($receipt['receipt_type'] == 1) {
$receipt['swift_code'] = '';
}
$receiptId = $request->get('receipt_id');
$supplierId = $request->get('supplier_id');
$model = new SupplierReceiptModel();
if (!empty($receiptId)) {
$oldReceipt = $model->where('receipt_id', $receiptId)->first()->toArray();
$result = $model->where('receipt_id', $receiptId)->update($receipt);
} else {
$oldReceipt = [];
$receipt['supplier_id'] = $supplierId;
$result = $model->insert($receipt);
$result = $model->insertGetId($receipt);
$receiptId = $result;
}
if ($result) {
$newReceipt = $model->where('receipt_id', $receiptId)->first()->toArray();
//如果修改的只是备注,则不需要转成审核
$needAudit = $this->checkNeedAudit($oldReceipt, $newReceipt);
if ($needAudit || empty($request->get('receipt_id'))) {
$supplierModel = new SupplierChannelModel();
$supplierStatus = $supplierModel->where('supplier_id',$supplierId)->value('status');
//不等于-1的时候是第一次新增供应商,单独银行信息,不需要修改状态
if ($supplierStatus != SupplierChannelModel::STATUS_PENDING) {
//供应商变成待审核
$supplierModel = new SupplierChannelModel();
//修改供应商为审核状态
$supplierModel->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => 1,
]);
}
$logService = new LogService();
$content = !empty($receipt['receipt_id']) ? '修改银行信息' : '添加银行信息';
$remark = json_encode($receipt);
......@@ -87,6 +94,24 @@ class SupplierReceiptApiController extends Controller
$this->response(-1, '操作失败');
}
//判断是否要进入待审核状态,因为部分字段修改是不需要走审核的
private function checkNeedAudit($oldReceipt, $newReceipt)
{
$notNeedAuditField = [
'remark',
];
$diff = array_diff($oldReceipt, $newReceipt);
unset($diff['update_time']);
$changeField = array_keys($diff);
foreach ($changeField as $filed) {
//只要有一个不存在于不需要审核的字段,就返回需要审核
if (!in_array($filed, $notNeedAuditField)) {
return true;
}
}
return false;
}
//删除
public function DeleteSupplierReceipt($request)
{
......@@ -94,18 +119,6 @@ class SupplierReceiptApiController extends Controller
$model = new SupplierReceiptModel();
$result = $model->where('receipt_id', $receiptId)->delete();
if ($result) {
//修改供应商为审核状态
$supplierId = $model->where('receipt_id', $receiptId)->value('supplier_id');
$supplierModel = new SupplierChannelModel();
$supplierStatus = $supplierModel->where('supplier_id',$supplierId)->value('status');
//不等于-1的时候是第一次新增供应商,单独银行信息,不需要修改状态
if ($supplierStatus != SupplierChannelModel::STATUS_PENDING) {
$supplierModel = new SupplierChannelModel();
$supplierModel->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => 1,
]);
}
$this->response(0, '操作成功');
}
$this->response(-1, '操作失败');
......
......@@ -87,7 +87,8 @@ class SupplierFilter
}
});
}
//默认过滤带有-1字符串的供应商名称的数据
$query->whereRaw('supplier_name NOT LIKE "%-1"');
return $query;
}
......@@ -152,11 +153,11 @@ class SupplierFilter
case "all":
break;
case "pending":
//待审核供应商(其实就是没有提交审核申请的,默认是草稿
//待复审供应商
$query->where('status', SupplierChannelModel::STATUS_PENDING);
break;
case "in_review":
//审核中
//待审核
$query->where('status', SupplierChannelModel::STATUS_IN_REVIEW);
break;
case "passed":
......
......@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Http\Services\AdminUserService;
use App\Http\Services\LogService;
use App\Http\Services\RegionService;
use App\Http\Services\RoleService;
use App\Http\Services\SupplierContactService;
use App\Http\Services\SupplierService;
......@@ -57,6 +58,7 @@ class SupplierController extends Controller
//供应商列表
public function SupplierList($request)
{
//判断权限
$intracodeModel = new IntracodeModel();
$this->data['userCodes'] = $intracodeModel->getChannelUsersEncode();
$this->data['users'] = $intracodeModel->getAdminUserAndCode();
......@@ -87,6 +89,12 @@ class SupplierController extends Controller
}
$this->data['operate'] = 'detail';
$this->data['supplier'] = $supplier;
$regionService = new RegionService();
$regionNames = $regionService->getRegionNameByIds([
$supplier['province_id'],
$supplier['city_id']
]);
$this->data['province_city'] = implode(' | ', $regionNames);
$this->data['address'] = $supplierService->getAddress($supplierId);
return $this->view('供应商详情');
}
......@@ -110,6 +118,9 @@ class SupplierController extends Controller
];
}
$this->data['operate'] = 'add';
//省市区数据放到script模板
$regionService = new RegionService();
$this->data['region_data'] = $regionService->getCityRegionData();
//编辑
if (!empty($supplierId)) {
$this->data['title'] = '编辑供应商';
......@@ -141,6 +152,9 @@ class SupplierController extends Controller
'value' => $userId,
];
}
//省市区数据放到script模板
$regionService = new RegionService();
$this->data['region_data'] = $regionService->getCityRegionData();
//编辑
$this->data['title'] = '编辑供应商';
$supplierId = $request->get('supplier_id');
......@@ -149,6 +163,8 @@ class SupplierController extends Controller
if (empty($supplier)) {
return '供应商不存在';
}
//省市id,给控件用
$this->data['province_city'] = [$supplier['province_id'], $supplier['city_id']];
$this->data['supplier'] = $supplier;
$this->data['address'] = $supplierService->getAddress($supplierId);
return $this->view('编辑供应商');
......@@ -163,10 +179,15 @@ class SupplierController extends Controller
//获取最后一条非分配渠道员的日志
$logModel = new LogModel();
$auditContent = $logModel->where('supplier_id', $supplierId)->where('action', '!=', '分配渠道开发员')
->where('action','!=','')
->where('type', '!=', 3)
->orderBy('id', 'desc')->first();
if (!empty($auditContent)) {
$logTransformer = new LogTransformer();
$auditContent = $logTransformer->transformInfo($auditContent);
} else {
$auditContent = [];
}
$this->data['auditContent'] = $auditContent;
$this->data['supplier'] = $supplier ? $supplier->toArray() : [];
return $this->view('审核供应商');
......@@ -191,6 +212,37 @@ class SupplierController extends Controller
return $this->view('审核供应商');
}
//批量分配渠道开发员
public function BatchAllocatePurchaseUser($request)
{
$supplierIds = $request->get('supplier_ids');
$this->data['supplierIds'] = $supplierIds;
$supplierIds = explode(',', $supplierIds);
$model = new SupplierChannelModel();
$suppliers = $model->whereIn('supplier_id', $supplierIds)->get()->toArray();
$transformer = new SupplierTransformer();
$suppliers = $transformer->transformList($suppliers);
$this->data['suppliers'] = $suppliers;
$intracodeModel = new IntracodeModel();
$this->data['userCodes'] = $intracodeModel->getChannelUsersEncode();
return $this->view('批量分配渠道开发员');
}
//添加采购员
public function AllocateChannelUser($request)
{
$supplierId = $request->get('supplier_id');
$model = new SupplierChannelModel();
$supplier = $model->where('supplier_id', $supplierId)->first();
$supplier = $supplier ? $supplier->toArray() : [];
$transformer = new SupplierTransformer();
$supplier = $transformer->transformInfo($supplier);
$this->data['supplier'] = $supplier;
$intracodeModel = new IntracodeModel();
$this->data['userCodes'] = $intracodeModel->getChannelUsersEncode();
return $this->view('添加采购员');
}
//操作日志列表
public function LogList($request, $data)
{
......@@ -212,7 +264,7 @@ class SupplierController extends Controller
$userCodes = $intracodeModel->getSampleEncode();
//去除非当前供应商所拥有的采购的人员,只能从当前供应商设置的采购里面选择云芯采购员
$channelUids = explode(',', $supplier['channel_uid']);
foreach ($userCodes as $codeId =>$value) {
foreach ($userCodes as $codeId => $value) {
if (!in_array($codeId, $channelUids)) {
unset($userCodes[$codeId]);
}
......
......@@ -5,6 +5,7 @@ namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\IntracodeModel;
use App\Model\UserDepartmentModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;
......@@ -19,12 +20,6 @@ class AdminUserService
return $userInfoModel->where('userId', $adminId)->first();
}
public function getCodeIdByUserId($userId)
{
$intracodeModel = new IntracodeModel();
return $intracodeModel->where('admin_id', $userId)->value('code_id');
}
public function getCodeIdsByUserIds($userIds)
{
$intracodeModel = new IntracodeModel();
......@@ -73,5 +68,4 @@ class AdminUserService
return $users;
}
}
\ No newline at end of file
......@@ -9,11 +9,6 @@ use DB;
class DepartmentService
{
public function getDepartmentId($departmentName)
{
return DB::table('user_department')->where('department_name', $departmentName)->value('department_id');
}
public function getSubordinateUserIds($adminId)
{
$departmentId = DB::table('user_info')->where('userId', $adminId)->value('department_id');
......
......@@ -150,7 +150,7 @@ class LogService
// $diffCols = array_diff($contact['old_contact'], $contact['new_contact']);
$oldContent = $this->contactDesc($contact['old_contact']);
$newContent = $this->contactDesc($contact['new_contact']);
return $oldContent . ' 修改为=> ' . $newContent;
return $oldContent . ' 修改为 ' . $newContent;
}
//新增
if (empty($contact['old_contact']) && !empty($contact['new_contact'])) {
......
<?php
namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\RedisModel;
use App\Model\RegionModel;
use Illuminate\Support\Facades\DB;
//用于判断是否已经查看的服务
class RegionService
{
public function getCityRegionData()
{
$regionModel = new RegionModel();
$data = $regionModel->whereIn('region_type', [1,2])->get()->toArray();
$topRegions = [];
foreach ($data as $region) {
if ($region['parent_id'] == 1) {
$topRegions[] = [
'id' => $region['region_id'],
'name' => $region['region_name'],
'children'=>[],
];
}
}
foreach ($topRegions as &$topRegion) {
foreach ($data as $region) {
if ($region['parent_id'] == 1) {
continue;
}
if ($region['parent_id'] == $topRegion['id']) {
$topRegion['children'][] = [
'id' => $region['region_id'],
'name' => $region['region_name'],
];
}
}
}
unset($topRegion);
$regionData = $topRegions;
return $regionData;
}
public function getRegionNameByIds($ids)
{
$ids = array_filter($ids, function ($id) {
return !empty($id);
});
if (empty($ids)) {
return [];
}
$model = new RegionModel();
return $model->whereIn('region_id', $ids)->pluck('region_name')->toArray();
}
}
\ No newline at end of file
......@@ -3,13 +3,10 @@
namespace App\Http\Services;
use App\Http\Transformers\SupplierTransformer;
use App\Model\LogModel;
use App\Model\RedisModel;
use App\Model\SupplierAddressModel;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use Illuminate\Support\Facades\DB;
class SupplierAuditService
{
......@@ -17,46 +14,129 @@ class SupplierAuditService
{
$model = new SupplierChannelModel();
//判断当前要审核的供应商是不是想要被禁用的
//因为想要禁用,需要审核后才能禁用的,不能直接修改成禁用
//要找个地方存起来是不是想要禁用
$redis = new RedisModel();
$disableExist = $redis->hget('audit_disable_supplier_list', $supplierId);
if ($disableExist) {
if ($status == 2) {
if ($status == SupplierChannelModel::STATUS_PASSED) {
$status = SupplierChannelModel::STATUS_DISABLE;
} else {
$status = 2;
//因为只有通过状态的供应商才能发起禁用审核,所以拒绝禁用申请,自然会变回启用状态
$status = SupplierChannelModel::STATUS_PASSED;
}
}
//先找出原来供应商的状态
$supplierModel = new SupplierChannelModel();
$supplier = $supplierModel->where('supplier_id', $supplierId)->first()->toArray();
//如果需要复审并且审核状态为待审核,则代表这次审核为第一次审核
if ($supplier['status'] == SupplierChannelModel::STATUS_IN_REVIEW && $supplier['need_review'] == 1) {
//第一次审核,通过是将审核状态置为待复审
//通过
if ($status == SupplierChannelModel::STATUS_PASSED) {
$dbStatus = SupplierChannelModel::STATUS_PENDING;
} else {
//不通过
$dbStatus = $status;
}
$update = [
'update_time' => time(),
'status' => $dbStatus,
'reject_reason' => $rejectReason,
];
$result = $model->where('supplier_id', $supplierId)->update($update);
//如果是待复审状态,通过的话还要将是否需要复审状态置为0
} elseif ($supplier['status'] === SupplierChannelModel::STATUS_PENDING) {
if ($status == SupplierChannelModel::STATUS_PASSED) {
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => $status,
'reject_reason' => $rejectReason,
'need_review' => 0,
]);
$supplier['need_review'] = 0;
} else {
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => $status,
'reject_reason' => $rejectReason,
]);
}
//剩下的就是普通的审核
} else {
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => $status,
'reject_reason' => $rejectReason,
]);
}
if ($disableExist) {
$redis->hdel('audit_disable_supplier_list', $supplierId);
}
$action = '审核供应商';
if ($result) {
//记录日志
if ($disableExist) {
$auditStatus = $status == -2 ? '审核通过,禁用供应商' : '审核不通过,原因是 : ' . $rejectReason;
if ($status == -2) {
//发送队列消息同步到金蝶
$service = new SyncSupplierService();
$service->syncSupplierToErp($supplierId);
}
$auditStatus = $status == SupplierChannelModel::STATUS_DISABLE ? '审核通过,禁用供应商' : '审核不通过,原因是 : ' . $rejectReason;
} else {
$auditStatus = $status == 2 ? '审核通过' : '审核不通过,原因是 : ' . $rejectReason;
//如果状态是复审
if ($supplier['status'] == SupplierChannelModel::STATUS_PENDING) {
$auditStatus = $status == SupplierChannelModel::STATUS_PASSED ? '复审通过' : '复审不通过,原因是 : ' . $rejectReason;
$action = '复审供应商';
} else {
$auditStatus = $status == SupplierChannelModel::STATUS_PASSED ? '审核通过' : '审核不通过,原因是 : ' . $rejectReason;
}
}
$logService = new LogService();
$content = $auditStatus;
$logService->AddLog($supplierId, LogModel::UPDATE_OPERATE, '审核供应商', $content);
$logService->AddLog($supplierId, LogModel::UPDATE_OPERATE, $action, $content);
}
//复审通过状态的供应商才会同步到金蝶
if ($supplier['need_review'] == 0) {
//发送队列消息同步到金蝶
$service = new SyncSupplierService();
$service->syncSupplierToErp($supplierId);
}
return $result;
}
//判断是否是可以由当前用户审核
//要判断审核供应商的最后修改人,是不是属于当前审批人的部门或者部下,是才能让他审核
public function CheckCanAuditSupplier($supplierId)
{
//忽略上面所说的限制(权限)
if (checkPerm('IgnoreAuditCheck')) {
return true;
}
$supplierModel = new SupplierChannelModel();
$supplier = $supplierModel->where('supplier_id', $supplierId)->first()->toArray();
$auditUserId = request()->user->userId;
$logModel = new LogModel();
$log = $logModel->where('supplier_id', $supplierId)
->where('type', LogModel::UPDATE_OPERATE)->orderBy('id', 'desc')->first();
$log = $log ? $log->toArray() : [];
//判断供应商,如果是第一次新增的供应商,要去判断创建人是否属于审核人相关的部门
//别问我为啥不加多一个状态,这个审核流程是突然改成这样子的,没法加...
if (empty($log)) {
$lastUpdateUserId = $supplier['create_uid'];
} else {
$lastUpdateUserId = $log['admin_id'];
}
//审批人只能审批自己的部下修改的供应商
$departmentService = new DepartmentService();
$subordinateUserIds = $departmentService->getSubordinateUserIds($auditUserId);
if (in_array($lastUpdateUserId, $subordinateUserIds)) {
return true;
}
return false;
}
//判断是否为待跟进供应商
public function checkIsNeedToFollowUpSupplier($supplierId)
{
......@@ -68,7 +148,7 @@ class SupplierAuditService
//如果全部必填字段都有了,就返回false(不需要跟进)
if ($this->checkHasAllRequireField($supplier)) {
return false;
}else{
} else {
return true;
}
}
......@@ -84,7 +164,7 @@ class SupplierAuditService
public function checkHasAllRequireField($supplier)
{
//先检查基础字段
if (empty($supplier['supplier_name']) || empty($supplier['register_company_name'] || empty($supplier['region']) || empty($supplier['legal_representative']))) {
if (empty($supplier['supplier_name']) || empty($supplier['region']) || empty($supplier['legal_representative'])) {
return false;
}
if (empty($supplier['stockup_type']) || empty($supplier['supplier_group']) || empty($supplier['qualification_photos'])) {
......@@ -108,4 +188,41 @@ class SupplierAuditService
}
return true;
}
//判断是否要进入待审核状态,因为部分字段修改是不需要走审核的
public function checkNeedAudit($supplierId, $channel)
{
$notNeedAuditField = [
'register_company_name',
'supplier_name_en',
'province_id',
'city_id',
'established_time',
'credit_investigation'
];
//先找出目前数据库里面的数据
$selectField = array_keys($channel);
$model = new SupplierChannelModel;
$status = $model->where('supplier_id', $supplierId)->value('status');
//只要是未通过的,都要进入审核
if ($status == SupplierChannelModel::STATUS_REJECT) {
return true;
}
$supplier = $model->select($selectField)->where('supplier_id', $supplierId)->first()->toArray();
$changeField = [];
foreach ($supplier as $key => $value) {
if ($value != $channel[$key]) {
$changeField[] = $key;
}
}
foreach ($changeField as $filed) {
//只要有一个不存在于不需要审核的字段,就返回需要审核
if (!in_array($filed, $notNeedAuditField)) {
return true;
}
}
return false;
}
}
\ No newline at end of file
......@@ -46,16 +46,11 @@ class SupplierContactService
//还要将采购的数据整理重新写入
$supplierId = $contact['supplier_id'];
$supplierModel = new SupplierChannelModel();
$channelUid = $supplierModel->where('supplier_Id', $supplierId)->value('channel_uid');
$channelUid = explode(',', $channelUid);
$channelUid = array_filter($channelUid, function ($value) {
return !empty($value);
});
if (!empty($contact['contact_id'])) {
$contact['update_time'] = time();
$contactId = $contact['contact_id'];
$result = $model->where('contact_id', $contact['contact_id'])->update($contact);
$oldContact = $model->where('contact_id', $contact['contact_id'])->first()->toArray();
$result = $model->where('contact_id', $contact['contact_id'])->update($contact);
} else {
$oldContact = [];
$contact['add_time'] = time();
......@@ -68,33 +63,27 @@ class SupplierContactService
if (!empty($canCheckUids)) {
$canCheckUids = array_unique($canCheckUids->toArray());
$canCheckUids = implode(',', $canCheckUids);
}else{
} else {
$canCheckUids = '';
}
//不存在则写入
// if (!in_array($contact['can_check_uids'], $channelUid)) {
// $channelUid[] = $contact['can_check_uids'];
// }
$supplierModel->where('supplier_id', $supplierId)->update([
'channel_uid' => $canCheckUids,
'update_time' => time(),
]);
$newContact = $model->where('contact_id', $contactId)->first()->toArray();
if ($result) {
//如果修改的只是qq和传真,则不需要转成审核
$needAudit = $this->checkNeedAudit($oldContact, $newContact);
if ($needAudit || empty($contact['contact_id'])) {
//修改供应商为审核状态
$supplierModel = new SupplierChannelModel();
$supplierStatus = $supplierModel->where('supplier_id', $contact['supplier_id'])->value('status');
//不等于-1的时候是第一次新增供应商,单独操作联系人,不需要修改状态
if ($supplierStatus != SupplierChannelModel::STATUS_PENDING) {
$supplierModel->where('supplier_id', $contact['supplier_id'])->update([
'update_time' => time(),
'status' => 1,
]);
}
//待审核(没有完善过联系人的,不需要记录日志,让其继续保持一条日志,就叫新增供应商)
if ($supplierStatus != SupplierChannelModel::STATUS_PENDING) {
$logService = new LogService();
$content = !empty($contact['contact_id']) ? '修改联系人' : '添加联系人';
$remark = json_encode([
......@@ -103,8 +92,26 @@ class SupplierContactService
]);
$logService->AddLog($contact['supplier_id'], LogModel::UPDATE_OPERATE, '修改供应商基本资料', $content, $remark);
}
}
return $result;
}
//判断是否要进入待审核状态,因为部分字段修改是不需要走审核的
private function checkNeedAudit($oldContact, $newContact)
{
$notNeedAuditField = [
'supplier_qq',
'supplier_fax',
];
$diff = array_merge(array_diff($oldContact, $newContact), array_diff($newContact, $oldContact));
unset($diff['update_time']);
$changeField = array_keys($diff);
foreach ($changeField as $filed) {
//只要有一个不存在于不需要审核的字段,就返回需要审核
if (!in_array($filed, $notNeedAuditField)) {
return true;
}
}
return false;
}
}
\ No newline at end of file
......@@ -72,6 +72,19 @@ class SupplierService
$channel['qualification_photos'] = $this->getPhotosData($channel['upload_file']);
unset($channel['upload_file']);
$channel['established_time'] = strtotime($channel['established_time']);
//省市选择的处理
if (!empty($channel['province_city'])) {
$regionData = explode(',', $channel['province_city']);
$channel['province_id'] = !empty($regionData[0]) ? $regionData[0] : 0;
$channel['city_id'] = !empty($regionData[1]) ? $regionData[1] : 0;
}
//判断所在区域,如果不是中国,则要把省市去掉
if ($channel['region'] != 2) {
$channel['province_id'] = $channel['city_id'] = 0;
}
unset($channel['province_city']);
$skuUploadRulerService = new SupplierSkuUploadRulerService();
$channel['sku_upload_ruler'] = $skuUploadRulerService->getSkuUploadRulerForDB($channel['sku_upload_ruler']);
$logService = new LogService();
......@@ -101,6 +114,8 @@ class SupplierService
$channel['return_consignee'], $channel['shipping_address'], $channel['cn_delivery_time_period'], $channel['us_delivery_time_period']);
$skuAuditRulerService = new SupplierSkuAuditRulerService();
$channel['sku_audit_ruler'] = $skuAuditRulerService->getSkuAuditRulerForDB($channel['sku_audit_ruler']);
//新增供应商操作
if (empty($channel['supplier_id'])) {
//先去插入到channel表
$channel['create_uid'] = request()->user->userId;
......@@ -113,12 +128,39 @@ class SupplierService
}
return $value;
}, $channel);
$channel['status'] = SupplierChannelModel::STATUS_PENDING;
$channel['status'] = SupplierChannelModel::STATUS_IN_REVIEW;
//第一次新增的供应商,都需要进行复审
$channel['need_review'] = 1;
$contactField = [
'supplier_consignee',
'supplier_position',
'supplier_email',
'supplier_mobile',
'supplier_telephone',
'supplier_qq',
'supplier_fax',
'can_check_uids',
];
$contact = array_only($channel, $contactField);
$channel = array_except($channel, $contactField);
$channel['channel_uid'] = $contact['can_check_uids'];
$supplierId = $this->newSupplierId = $model->insertGetId($channel);
$this->saveSupplierCode($supplierId);
//同时添加联系人
$contact['supplier_id'] = $supplierId;
$contact['add_time'] = time();
$contact['admin_id'] = request()->user->userId;
$contactModel = new SupplierContactModel();
$contactModel->insert($contact);
} else {
$supplierId = $this->newSupplierId = $channel['supplier_id'];
//要做进一步判断,部分字段修改不需要审核
$auditService = new SupplierAuditService();
$needAudit = $auditService->checkNeedAudit($supplierId, $channel);
if ($needAudit) {
$channel['status'] = SupplierChannelModel::STATUS_IN_REVIEW;
}
$channel['update_time'] = time();
$model->where('supplier_id', $supplierId)->update($channel);
$this->saveSupplierCode($supplierId);
......@@ -148,7 +190,7 @@ class SupplierService
$logType = !empty($channel['supplier_id']) ? LogModel::UPDATE_OPERATE : LogModel::ADD_OPERATE;
$logAction = !empty($channel['supplier_id']) ? "修改供应商基本资料" : "新增供应商";
$logContent = !empty($channel['supplier_id']) ? '修改供应商' : '新增供应商基础信息';
//判断是不是申请入驻
//判断是不是申请重新入驻
if (!empty($oldSupplier['status']) && $oldSupplier['status'] == -2) {
$logAction = "申请重新入驻";
}
......@@ -157,6 +199,18 @@ class SupplierService
$logAction = '新增供应商';
$logContent = '确认新增供应商';
}
//过滤掉没有修改的操作,不需要记录日志
if (!empty($oldSupplier) && !empty($newSupplier)) {
$oldSupplier = $oldSupplier->toArray();
$newSupplier = $newSupplier->toArray();
unset($oldSupplier['update_time']);
unset($newSupplier['update_time']);
if ($oldSupplier == $newSupplier) {
return $dataResult;
}
}
$logService->AddLog($this->newSupplierId, $logType, $logAction, $logContent, json_encode([
'old_supplier' => $oldSupplier,
'new_supplier' => $newSupplier
......@@ -187,21 +241,6 @@ class SupplierService
return $data;
}
public function getSkuRulerData($skuUploadRuler)
{
$defaultRuler = config('fixed.SkuUploadRuler');
$rule = [];
foreach ($defaultRuler as $ruleName => $value) {
if (isset($skuUploadRuler[$ruleName])) {
$rule[$ruleName] = 1;
} else {
$rule[$ruleName] = 0;
}
}
$rule = json_encode($rule);
return $rule;
}
//报错供应商编码,包括系统生成的和自定义规则生成的
private function saveSupplierCode($supplierId)
{
......@@ -296,6 +335,51 @@ class SupplierService
return $result;
}
//分配开发员
public function batchAllocatePurchaseUser($supplierIds, $purchaseUid)
{
foreach ($supplierIds as $supplierId) {
$this->allocatePurchaseUser($supplierId, $purchaseUid);
}
return true;
}
//分配采购员
public function allocateChannelUser($supplierId, $channelUid)
{
$model = new SupplierChannelModel();
$supplier = $model->where('supplier_id', $supplierId)->first();
$supplier = $supplier ? $supplier->toArray() : [];
$preChannelUid = $supplier['channel_uid'];
$preChannelUid = explode(',', $preChannelUid);
$preChannelUid[] = $channelUid;
$preChannelUid = implode(',', $preChannelUid);
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'channel_uid' => $preChannelUid,
]);
$contactResult = false;
if ($result) {
$contactModel = new SupplierContactModel();
$contact = [
'supplier_id' => $supplierId,
'can_check_uids' => $channelUid,
];
$contactResult = $contactModel->insert($contact);
}
if ($contactResult) {
//记录日志
$adminUserService = new AdminUserService();
$channelUser = $adminUserService->getAdminUserInfoByCodeId($channelUid);
$channelUserName = array_get($channelUser, 'name', ' ');
$logService = new LogService();
$content = "添加采购员 : " . $channelUserName;
$logService->AddLog($supplierId, LogModel::UPDATE_OPERATE, '添加采购员', $content);
}
return $contactResult;
}
//判断并且修改待跟进
private function updateIsFollowUp($supplierId)
{
......@@ -320,7 +404,7 @@ class SupplierService
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'is_type' => $isType,
'status' => -1,
'status' => 1,
]);
if ($result) {
$logService = new LogService();
......
......@@ -14,9 +14,9 @@ class SupplierStatisticsService
{
$total = $this->getStatisticsCount('all');
//待审核,就是以前的草稿
//待复审
$pending = $this->getStatisticsCount('pending');
//审核中
//待审核
$inReview = $this->getStatisticsCount('in_review');
//通过
$passed = $this->getStatisticsCount('passed');
......
......@@ -18,10 +18,13 @@ class ReceiptValidator
"bank_name" => "required",
"bank_adderss" => "required",
"account_no" => "required",
"swift_code" => "required",
"receipt_type" => 'required',
// "account_name" => "required",
"certificate" => "required",
];
if ($receipt['receipt_type'] == 2) {
$rules["swift_code"] = 'required';
}
$messages = $this->messages();
$validator = Validator::make($receipt, $rules, $messages);
......@@ -34,13 +37,13 @@ class ReceiptValidator
private function messages()
{
return [
'bank_name.required' => '开户名称不能为空',
'receipt_type.required' => '开户名称不能为空',
'bank_name.required' => '类型不能为空',
'bank_adderss.required' => '开户行不能为空',
'swift_code.required' => '电汇号码 Swift Code 不能为空',
'account_no.required' => '银行账号不能为空',
'account_name.required' => '账户名称不能为空',
'certificate.required' => '银行信息凭证不能为空',
];
}
}
\ No newline at end of file
......@@ -4,6 +4,7 @@
namespace App\Http\Validators;
use App\Model\SupplierChannelModel;
use App\Model\SupplierContactModel;
use Validator;
class SupplierContactValidator
......@@ -14,8 +15,9 @@ class SupplierContactValidator
$data = $request->all();
$rules = [
"supplier_consignee" => "required",
"supplier_email" => "required",
"supplier_email" => "required|email",
"supplier_mobile" => "required",
"supplier_telephone" => "required",
"supplier_position" => "required",
"can_check_uids" => "required",
];
......@@ -26,6 +28,29 @@ class SupplierContactValidator
if ($validator->fails()) {
return $validator->errors()->first();
}
$contactModel = new SupplierContactModel();
//如果是原厂或者代理商性质的供应商,联系人不能重复
$supplierModel = new SupplierChannelModel();
$supplier = $supplierModel->where('supplier_id', $data['supplier_id'])->first()->toArray();
if ($supplier['supplier_group'] == 1 || $supplier['supplier_group'] == 4) {
$query = $contactModel->where('supplier_id', $data['supplier_id'])
->where(function ($q) use ($data) {
$q->where('supplier_email', $data['supplier_email'])
->orWhere('supplier_mobile', $data['supplier_mobile']);
});
//新增
if (empty($data['contact_id'])) {
$count = $query->count();
} else {
//修改
$count = $query->where('contact_id', '!=', $data['contact_id'])->count();
}
if ($count) {
return '原厂或者代理商性质的供应商不允许重复的联系人,<br>该供应商已经存在手机号或者邮箱一样的联系人,请联系管理人员查看具体详情';
}
}
}
private function messages()
......@@ -33,7 +58,9 @@ class SupplierContactValidator
return [
'supplier_consignee.required' => '联系人不能为空',
'supplier_email.required' => '联系人邮箱不能为空',
'supplier_email.email' => '邮箱格式不对',
'supplier_mobile.required' => '联系人电话不能为空',
'supplier_telephone.required' => '联系人座机不能为空',
'supplier_position.required' => '联系人职位不能为空',
'can_check_uids.required' => '采购员不能为空',
];
......
......@@ -19,9 +19,8 @@ class SupplierValidator
$rules = [
'supplier_name' => 'required',
'legal_representative' => 'required',
'register_company_name' => 'required',
'stockup_type' => 'required',
// 'supplier_group' => 'required',
'supplier_address' => 'required',
'region' => 'required',
'cn_delivery_time' => 'regex:/^\d+\-\d$/',
'us_delivery_time' => 'regex:/^\d+\-\d$/',
......@@ -32,12 +31,19 @@ class SupplierValidator
'upload_file.business_license' => 'required',
'cn_ratio' => 'min:1',
'us_ratio' => 'min:1',
'contact.supplier_consignee.*' => 'required|max:50',
'contact.supplier_mobile.*' => 'required|max:30',
'contact.supplier_telephone.*' => 'max:30',
'contact.supplier_email.*' => 'required|email',
'contact.supplier_position.*' => 'required|max:30',
];
$contactRuler = [
'supplier_consignee' => 'required|max:50',
'supplier_mobile' => 'required|max:30',
'supplier_telephone' => 'required|max:30',
'supplier_email' => 'required|email',
'supplier_position' => 'required|max:30',
'can_check_uids' => 'required',
];
//第一次新增的时候,是要校验联系人的
if (empty($requestData['supplier_id'])) {
$rules = array_merge($rules, $contactRuler);
}
//币种为人民币的话需要验证税号
if ($requestData['currency'] == 1) {
......@@ -49,7 +55,6 @@ class SupplierValidator
$rules['purchase_uid'] = 'required';
}
//营业执照是不能为空的
$messages = $this->messages();
$validator = Validator::make($requestData, $rules, $messages);
if ($validator->fails()) {
......@@ -62,7 +67,7 @@ class SupplierValidator
if (empty($request->get('supplier_id'))) {
$count = $supplierModel->where('supplier_name', $request->get('supplier_name'))->count();
$companyNameCount = $supplierModel->where('register_company_name',
$request->get('register_company_name'))->count();
$request->get('register_company_name'))->where('register_company_name','!=','')->count();
} else {
$count = $supplierModel->where('supplier_name', $request->get('supplier_name'))
->where('supplier_id', '!=', $request->get('supplier_id'))->count();
......@@ -89,6 +94,7 @@ class SupplierValidator
'stockup_type.required' => '合作类型不能为空',
'register_company_name.required' => '注册公司名不能为空',
'supplier_group.required' => '公司性质不能为空',
'supplier_address.required' => '注册地址不能为空',
'region.required' => '所在区域不能为空',
'purchase_uid.required' => '渠道开发员不能为空',
'cn_ratio.min' => '人民币系数必须是大于1的浮点数',
......@@ -97,14 +103,16 @@ class SupplierValidator
'us_delivery_time.regex' => '香港货期格式不正确',
'cn_delivery_time.regex' => '大陆货期格式不正确',
'tax_number.required' => '如果选择币种为人民币,则公司税号不能为空',
'contact.supplier_consignee.*.required' => '联系方式的联系人不能为空',
'contact.supplier_consignee.*.max' => '联系方式的联系人不能超过50个字符',
'contact.supplier_position.*.required' => '联系方式的职称不能为空',
'contact.supplier_position.*.max' => '联系方式的职称不能超过30个字符',
'contact.supplier_mobile.*.required' => '联系方式的手机号不能为空',
'contact.supplier_mobile.*.max' => '联系方式的手机号不能超过30个字符',
'contact.supplier_email.*.required' => '联系方式的邮箱不能为空',
'contact.supplier_email.*.email' => '联系方式的邮箱格式不对',
'supplier_consignee.required' => '联系方式的联系人不能为空',
'supplier_consignee.max' => '联系方式的联系人不能超过50个字符',
'supplier_position.required' => '联系方式的职称不能为空',
'supplier_position.max' => '联系方式的职称不能超过30个字符',
'supplier_telephone.required' => '联系方式的座机号不能为空',
'supplier_mobile.required' => '联系方式的手机号不能为空',
'supplier_mobile.max' => '联系方式的手机号不能超过30个字符',
'supplier_email.required' => '联系方式的邮箱不能为空',
'supplier_email.email' => '联系方式的邮箱格式不对',
'can_check_uids.required' => '联系方式对应的采购员不能为空',
'shipping_address.max' => '发货地址不能超过100个字符',
'return_address.max' => '退货地址不能超过100个字符',
'return_consignee.max' => '退货收货人不能超过50个字符',
......
......@@ -40,9 +40,46 @@ Route::group(['middleware' => ['web'], 'namespace' => 'Api'], function () {
Route::match(['get', 'post'], '/api/supplier_account/{key}', 'SupplierAccountApiController@Entrance');
});
Route::match(['get', 'post'], '/test', function () {
$a = [
"contact_id" => 1717,
"supplier_id" => 12253,
"supplier_consignee" => "",
"supplier_telephone" => "",
"supplier_fax" => "",
"supplier_qq" => "",
"supplier_mobile" => "",
"supplier_email" => "",
"supplier_position" => "",
"can_check_uids" => "10105",
"add_time" => 0,
"update_time" => 0,
"admin_id" => 0,
];
$b = [
"contact_id" => 1717,
"supplier_id" => 12253,
"supplier_consignee" => "延寿观呼吸",
"supplier_telephone" => "1221",
"supplier_fax" => "",
"supplier_qq" => "",
"supplier_mobile" => "18825159814",
"supplier_email" => "123@qq.com",
"supplier_position" => "测试员",
"can_check_uids" => "10105",
"add_time" => 0,
"update_time" => 1623998098,
"admin_id" => 0,
];
$diff = array_diff($b, $a);
$diff2 = array_diff($a, $b);
dd($diff,$diff2);
// set_time_limit(0);
// sleep(30);
// echo 123;
$model = new \App\Model\RegionModel();
$r = $model->limit(10)->get();
dd($r);
$service = new \App\Http\Services\DataService();
// $service->checkSupplierChannelUser();
// $service->removeEmptyContactChannelUser();
......
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class RegionModel extends Model
{
protected $connection = 'liexin';
protected $table='region';
public $timestamps = false;
}
......@@ -10,9 +10,9 @@ class SupplierChannelModel extends Model
protected $table = 'supplier_channel';
public $timestamps = false;
//待审核(没有补充所有必填信息)
//待复审(第一次新增)
const STATUS_PENDING = -1;
//审核中
//待审核
const STATUS_IN_REVIEW = 1;
//通过
const STATUS_PASSED = 2;
......
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class UserDepartmentModel extends Model
{
protected $table='user_department';
protected $primaryKey = 'department_id';
public $timestamps = false;
}
......@@ -15,29 +15,25 @@ class RegionSelectorPresenter
$text
</label>
<div class="layui-input-inline" style="width: 400px">
<input type="text" autocomplete="on" class="layui-input" id="city-picker" name="city-picker" readonly="readonly"
data-toggle="city-picker" placeholder="请选择">
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
</div>
<script src="/js/web/layui/exts/city-picker/city-picker.data.js"></script>
<link href="/js/web/layui/exts/city-picker/city-picker.css" rel="stylesheet" />
<script>
layui.config({
base: '/js/web/layui/exts' //静态资源所在路径
}).extend({
citypicker: 'city-picker/city-picker'
}).use(['jquery', 'index', 'table', 'citypicker'], function () {
var $ = layui.$
, table = layui.table
, form = layui.form
, cityPicker = layui.citypicker;
layui.use(['form'], function () {
let $ = layui.$;
let form = layui.form;
var currentPicker = new cityPicker("#city-picker", {
provincename:"provinceId",
cityname:"cityId",
districtname: "districtId",
level: 'districtId',// 级别
});
currentPicker.setValue("河南省/信阳市/新县");
});
</script>
EOF;
......
......@@ -67,7 +67,7 @@ return [
'engine' => null,
],
'sys'=>[
'sys' => [
'driver' => 'mysql',
'host' => env('ZT_DB_HOST', 'localhost'),
'port' => env('ZT_DB_PORT', '3306'),
......@@ -93,6 +93,20 @@ return [
'schema' => 'public',
],
'liexin' => [
'driver' => 'mysql',
'host' => env('LIEXIN_DB_HOST', 'localhost'),
'port' => env('LIEXIN_DB_PORT', '3306'),
'database' => env('LIEXIN_DB_DATABASE', 'forge'),
'username' => env('LIEXIN_DB_USERNAME', 'forge'),
'password' => env('LIEXIN_DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => 'lie_',
'strict' => false,
'engine' => null,
],
'web' => [
'driver' => 'mysql',
'host' => env('WEB_DB_HOST', 'localhost'),
......@@ -134,7 +148,7 @@ return [
'strict' => false,
'engine' => null,
],
'self'=>[
'self' => [
'driver' => 'mysql',
'host' => env('DB_SELF_HOST', ''),
'database' => env('DB_SELF_DATABASE', ''),
......@@ -146,7 +160,7 @@ return [
'prefix' => 'lie_',
'strict' => false,
],
'sku'=>[
'sku' => [
'driver' => 'mysql',
'host' => env('DB_SKU_HOST', ''),
'database' => env('DB_SKU_DATABASE', ''),
......@@ -158,7 +172,7 @@ return [
'prefix' => 'lie_',
'strict' => false,
],
'spu'=>[
'spu' => [
'driver' => 'mysql',
'host' => env('DB_SPU_HOST', ''),
'database' => env('DB_SPU_DATABASE', ''),
......@@ -170,7 +184,7 @@ return [
'prefix' => 'lie_',
'strict' => false,
],
'yunxin'=>[
'yunxin' => [
'driver' => 'mysql',
'host' => env('DB_HOST_YUNXIN', ''),
'database' => env('DB_DATABASE_YUNXIN', ''),
......@@ -193,7 +207,6 @@ return [
],
],
/*
......@@ -224,13 +237,13 @@ return [
'cluster' => false,
// 'options'=>['cluster'=>'redis'],
'default' => [
'host' => env('REDIS_HOST',''),
'host' => env('REDIS_HOST', ''),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
'read_write_timeout' => 0,//new
],
'read' =>[
'read' => [
'host' => env('REDIS_READ_HOST', ''),
'password' => env('REDIS_READ_PASSWORD', null),
'port' => env('REDIS_READ_PORT', 6379),
......
......@@ -87,12 +87,11 @@ return [
'SupplierStatus' => [
-3 => '已拉黑',
-2 => '禁止交易',
-1 => '待审核',
1 => '审核中',
-1 => '待复审',
1 => '待审核',
3 => '未通过',
2 => '已通过',
3 => '未通过'
-2 => '禁止交易',
],
'Currency' => [
......@@ -205,8 +204,8 @@ return [
//罗盘菜单对应id
'CompassMenuMap' => [
'total' => '全部',
'pending' => '待审核',
'in_review' => '审核中',
'pending' => '待复审',
'in_review' => '待审核',
'passed' => '已通过',
'rejected' => '未通过',
'disable' => '禁止交易',
......
......@@ -11,7 +11,7 @@ return [
'notAuth' => [
'SwitchWarehouse',
'SkuList',
'BatchOffShelf'
'BatchOffShelf',
]//不用验证权限的方法
],
];
/** EasyWeb iframe v3.1.7 date:2020-03-11 License By http://easyweb.vip */
// 以下代码是配置layui扩展模块的目录,每个页面都需要引入
layui.config({
version: '317',
base: getProjectUrl() + 'assets/module/'
}).extend({
steps: 'steps/steps',
notice: 'notice/notice',
cascader: 'cascader/cascader',
dropdown: 'dropdown/dropdown',
fileChoose: 'fileChoose/fileChoose',
treeTable: 'treeTable/treeTable',
Split: 'Split/Split',
Cropper: 'Cropper/Cropper',
tagsInput: 'tagsInput/tagsInput',
citypicker: 'city-picker/city-picker',
introJs: 'introJs/introJs',
zTree: 'zTree/zTree'
}).use(['layer', 'admin'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var admin = layui.admin;
// 移除loading动画
setTimeout(function () {
admin.removeLoading();
}, window === top ? 300 : 0);
});
// 获取当前项目的根路径,通过获取layui.js全路径截取assets之前的地址
function getProjectUrl() {
var layuiDir = layui.cache.dir;
if (!layuiDir) {
var js = document.scripts, last = js.length - 1, src;
for (var i = last; i > 0; i--) {
if (js[i].readyState === 'interactive') {
src = js[i].src;
break;
}
}
var jsPath = src || js[last].src;
layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
}
return layuiDir.substring(0, layuiDir.indexOf('assets'));
}
This diff could not be displayed because it is too large.
var myEchartsTheme = {
color: ["#009688", "#1E9FFF", "#5FB878", "#FFB980", "#D87A80", "#8d98b3", "#e5cf0d", "#97b552", "#95706d", "#dc69aa", "#07a2a4", "#9a7fd1", "#588dd5", "#f5994e", "#c05050", "#59678c", "#c9ab00", "#7eb00a", "#6f5553", "#c14089"],
title: {textStyle: {fontWeight: "normal", color: "#666"}},
dataRange: {itemWidth: 15, color: ["#009688", "#e0ffff"]},
toolbox: {color: ["#1e90ff", "#1e90ff", "#1e90ff", "#1e90ff"], effectiveColor: "#ff4500"},
tooltip: {
backgroundColor: "rgba(50,50,50,0.5)",
axisPointer: {
type: "line",
lineStyle: {color: "#009688"},
crossStyle: {color: "#008acd"},
shadowStyle: {color: "rgba(200,200,200,0.2)"}
}
},
dataZoom: {dataBackgroundColor: "#efefff", fillerColor: "rgba(182,162,222,0.2)", handleColor: "#008acd"},
grid: {borderColor: "#eee"},
categoryAxis: {
axisLine: {lineStyle: {color: "#009688"}},
axisTick: {show: !1},
splitLine: {lineStyle: {color: ["#eee"]}}
},
valueAxis: {
axisLine: {lineStyle: {color: "#009688"}},
splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.1)", "rgba(200,200,200,0.1)"]}},
splitLine: {lineStyle: {color: ["#eee"]}}
},
polar: {
axisLine: {lineStyle: {color: "#ddd"}},
splitArea: {show: !0, areaStyle: {color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]}},
splitLine: {lineStyle: {color: "#ddd"}}
},
timeline: {
lineStyle: {color: "#009688"},
controlStyle: {normal: {color: "#009688"}, emphasis: {color: "#009688"}},
symbol: "emptyCircle",
symbolSize: 3
},
bar: {itemStyle: {normal: {barBorderRadius: 2}, emphasis: {barBorderRadius: 2}}},
line: {smooth: !0, symbol: "emptyCircle", symbolSize: 3},
k: {
itemStyle: {
normal: {
color: "#d87a80",
color0: "#2ec7c9",
lineStyle: {color: "#d87a80", color0: "#2ec7c9"}
}
}
},
scatter: {symbol: "circle", symbolSize: 4},
radar: {symbol: "emptyCircle", symbolSize: 3},
map: {
itemStyle: {
normal: {areaStyle: {color: "#ddd"}, label: {textStyle: {color: "#d87a80"}}},
emphasis: {areaStyle: {color: "#fe994e"}}
}
},
force: {itemStyle: {normal: {linkStyle: {color: "#1e90ff"}}}},
chord: {
itemStyle: {
normal: {
borderWidth: 1,
borderColor: "rgba(128, 128, 128, 0.5)",
chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
},
emphasis: {
borderWidth: 1,
borderColor: "rgba(128, 128, 128, 0.5)",
chordStyle: {lineStyle: {color: "rgba(128, 128, 128, 0.5)"}}
}
}
},
gauge: {
axisLine: {lineStyle: {color: [[.2, "#2ec7c9"], [.8, "#5ab1ef"], [1, "#d87a80"]], width: 10}},
axisTick: {splitNumber: 10, length: 15, lineStyle: {color: "auto"}},
splitLine: {length: 22, lineStyle: {color: "auto"}},
pointer: {width: 5}
},
textStyle: {fontFamily: "微软雅黑, Arial, Verdana, sans-serif"}
};
\ No newline at end of file
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.af = factory()));
}(this, function () { 'use strict';
var af = {
code: "af",
week: {
dow: 1,
doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
},
buttonText: {
prev: "Vorige",
next: "Volgende",
today: "Vandag",
year: "Jaar",
month: "Maand",
week: "Week",
day: "Dag",
list: "Agenda"
},
allDayHtml: "Heeldag",
eventLimitText: "Addisionele",
noEventsMessage: "Daar is geen gebeurtenisse nie"
};
return af;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-dz'] = factory()));
}(this, function () { 'use strict';
var arDz = {
code: "ar-dz",
week: {
dow: 0,
doy: 4 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arDz;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-kw'] = factory()));
}(this, function () { 'use strict';
var arKw = {
code: "ar-kw",
week: {
dow: 0,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arKw;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ly'] = factory()));
}(this, function () { 'use strict';
var arLy = {
code: "ar-ly",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arLy;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ma'] = factory()));
}(this, function () { 'use strict';
var arMa = {
code: "ar-ma",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arMa;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-sa'] = factory()));
}(this, function () { 'use strict';
var arSa = {
code: "ar-sa",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arSa;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-tn'] = factory()));
}(this, function () { 'use strict';
var arTn = {
code: "ar-tn",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arTn;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ar = factory()));
}(this, function () { 'use strict';
var ar = {
code: "ar",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return ar;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bg = factory()));
}(this, function () { 'use strict';
var bg = {
code: "bg",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "назад",
next: "напред",
today: "днес",
month: "Месец",
week: "Седмица",
day: "Ден",
list: "График"
},
allDayText: "Цял ден",
eventLimitText: function (n) {
return "+още " + n;
},
noEventsMessage: "Няма събития за показване"
};
return bg;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bs = factory()));
}(this, function () { 'use strict';
var bs = {
code: "bs",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prošli",
next: "Sljedeći",
today: "Danas",
month: "Mjesec",
week: "Sedmica",
day: "Dan",
list: "Raspored"
},
weekLabel: "Sed",
allDayText: "Cijeli dan",
eventLimitText: function (n) {
return "+ još " + n;
},
noEventsMessage: "Nema događaja za prikazivanje"
};
return bs;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ca = factory()));
}(this, function () { 'use strict';
var ca = {
code: "ca",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Anterior",
next: "Següent",
today: "Avui",
month: "Mes",
week: "Setmana",
day: "Dia",
list: "Agenda"
},
weekLabel: "Set",
allDayText: "Tot el dia",
eventLimitText: "més",
noEventsMessage: "No hi ha esdeveniments per mostrar"
};
return ca;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.cs = factory()));
}(this, function () { 'use strict';
var cs = {
code: "cs",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Dříve",
next: "Později",
today: "Nyní",
month: "Měsíc",
week: "Týden",
day: "Den",
list: "Agenda"
},
weekLabel: "Týd",
allDayText: "Celý den",
eventLimitText: function (n) {
return "+další: " + n;
},
noEventsMessage: "Žádné akce k zobrazení"
};
return cs;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.da = factory()));
}(this, function () { 'use strict';
var da = {
code: "da",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Forrige",
next: "Næste",
today: "I dag",
month: "Måned",
week: "Uge",
day: "Dag",
list: "Agenda"
},
weekLabel: "Uge",
allDayText: "Hele dagen",
eventLimitText: "flere",
noEventsMessage: "Ingen arrangementer at vise"
};
return da;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.de = factory()));
}(this, function () { 'use strict';
var de = {
code: "de",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Zurück",
next: "Vor",
today: "Heute",
year: "Jahr",
month: "Monat",
week: "Woche",
day: "Tag",
list: "Terminübersicht"
},
weekLabel: "KW",
allDayText: "Ganztägig",
eventLimitText: function (n) {
return "+ weitere " + n;
},
noEventsMessage: "Keine Ereignisse anzuzeigen"
};
return de;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.el = factory()));
}(this, function () { 'use strict';
var el = {
code: "el",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4st is the first week of the year.
},
buttonText: {
prev: "Προηγούμενος",
next: "Επόμενος",
today: "Σήμερα",
month: "Μήνας",
week: "Εβδομάδα",
day: "Ημέρα",
list: "Ατζέντα"
},
weekLabel: "Εβδ",
allDayText: "Ολοήμερο",
eventLimitText: "περισσότερα",
noEventsMessage: "Δεν υπάρχουν γεγονότα για να εμφανιστεί"
};
return el;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-au'] = factory()));
}(this, function () { 'use strict';
var enAu = {
code: "en-au",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enAu;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-gb'] = factory()));
}(this, function () { 'use strict';
var enGb = {
code: "en-gb",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enGb;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-nz'] = factory()));
}(this, function () { 'use strict';
var enNz = {
code: "en-nz",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enNz;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['es-us'] = factory()));
}(this, function () { 'use strict';
var esUs = {
code: "es",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "Día",
list: "Agenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>el día",
eventLimitText: "más",
noEventsMessage: "No hay eventos para mostrar"
};
return esUs;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.es = factory()));
}(this, function () { 'use strict';
var es = {
code: "es",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "Día",
list: "Agenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>el día",
eventLimitText: "más",
noEventsMessage: "No hay eventos para mostrar"
};
return es;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.et = factory()));
}(this, function () { 'use strict';
var et = {
code: "et",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Eelnev",
next: "Järgnev",
today: "Täna",
month: "Kuu",
week: "Nädal",
day: "Päev",
list: "Päevakord"
},
weekLabel: "näd",
allDayText: "Kogu päev",
eventLimitText: function (n) {
return "+ veel " + n;
},
noEventsMessage: "Kuvamiseks puuduvad sündmused"
};
return et;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.eu = factory()));
}(this, function () { 'use strict';
var eu = {
code: "eu",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Aur",
next: "Hur",
today: "Gaur",
month: "Hilabetea",
week: "Astea",
day: "Eguna",
list: "Agenda"
},
weekLabel: "As",
allDayHtml: "Egun<br/>osoa",
eventLimitText: "gehiago",
noEventsMessage: "Ez dago ekitaldirik erakusteko"
};
return eu;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fa = factory()));
}(this, function () { 'use strict';
var fa = {
code: "fa",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "قبلی",
next: "بعدی",
today: "امروز",
month: "ماه",
week: "هفته",
day: "روز",
list: "برنامه"
},
weekLabel: "هف",
allDayText: "تمام روز",
eventLimitText: function (n) {
return "بیش از " + n;
},
noEventsMessage: "هیچ رویدادی به نمایش"
};
return fa;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fi = factory()));
}(this, function () { 'use strict';
var fi = {
code: "fi",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Edellinen",
next: "Seuraava",
today: "Tänään",
month: "Kuukausi",
week: "Viikko",
day: "Päivä",
list: "Tapahtumat"
},
weekLabel: "Vk",
allDayText: "Koko päivä",
eventLimitText: "lisää",
noEventsMessage: "Ei näytettäviä tapahtumia"
};
return fi;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ca'] = factory()));
}(this, function () { 'use strict';
var frCa = {
code: "fr",
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Aujourd'hui",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return frCa;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ch'] = factory()));
}(this, function () { 'use strict';
var frCh = {
code: "fr-ch",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Courant",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sm",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return frCh;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fr = factory()));
}(this, function () { 'use strict';
var fr = {
code: "fr",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Aujourd'hui",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return fr;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.gl = factory()));
}(this, function () { 'use strict';
var gl = {
code: "gl",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Seg",
today: "Hoxe",
month: "Mes",
week: "Semana",
day: "Día",
list: "Axenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>o día",
eventLimitText: "máis",
noEventsMessage: "Non hai eventos para amosar"
};
return gl;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.he = factory()));
}(this, function () { 'use strict';
var he = {
code: "he",
dir: 'rtl',
buttonText: {
prev: "הקודם",
next: "הבא",
today: "היום",
month: "חודש",
week: "שבוע",
day: "יום",
list: "סדר יום"
},
allDayText: "כל היום",
eventLimitText: "אחר",
noEventsMessage: "אין אירועים להצגה",
weekLabel: "שבוע"
};
return he;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hi = factory()));
}(this, function () { 'use strict';
var hi = {
code: "hi",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "पिछला",
next: "अगला",
today: "आज",
month: "महीना",
week: "सप्ताह",
day: "दिन",
list: "कार्यसूची"
},
weekLabel: "हफ्ता",
allDayText: "सभी दिन",
eventLimitText: function (n) {
return "+अधिक " + n;
},
noEventsMessage: "कोई घटनाओं को प्रदर्शित करने के लिए"
};
return hi;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hr = factory()));
}(this, function () { 'use strict';
var hr = {
code: "hr",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prijašnji",
next: "Sljedeći",
today: "Danas",
month: "Mjesec",
week: "Tjedan",
day: "Dan",
list: "Raspored"
},
weekLabel: "Tje",
allDayText: "Cijeli dan",
eventLimitText: function (n) {
return "+ još " + n;
},
noEventsMessage: "Nema događaja za prikaz"
};
return hr;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hu = factory()));
}(this, function () { 'use strict';
var hu = {
code: "hu",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "vissza",
next: "előre",
today: "ma",
month: "Hónap",
week: "Hét",
day: "Nap",
list: "Napló"
},
weekLabel: "Hét",
allDayText: "Egész nap",
eventLimitText: "további",
noEventsMessage: "Nincs megjeleníthető esemény"
};
return hu;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.id = factory()));
}(this, function () { 'use strict';
var id = {
code: "id",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "mundur",
next: "maju",
today: "hari ini",
month: "Bulan",
week: "Minggu",
day: "Hari",
list: "Agenda"
},
weekLabel: "Mg",
allDayHtml: "Sehari<br/>penuh",
eventLimitText: "lebih",
noEventsMessage: "Tidak ada acara untuk ditampilkan"
};
return id;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.is = factory()));
}(this, function () { 'use strict';
var is = {
code: "is",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Fyrri",
next: "Næsti",
today: "Í dag",
month: "Mánuður",
week: "Vika",
day: "Dagur",
list: "Dagskrá"
},
weekLabel: "Vika",
allDayHtml: "Allan<br/>daginn",
eventLimitText: "meira",
noEventsMessage: "Engir viðburðir til að sýna"
};
return is;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.it = factory()));
}(this, function () { 'use strict';
var it = {
code: "it",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Prec",
next: "Succ",
today: "Oggi",
month: "Mese",
week: "Settimana",
day: "Giorno",
list: "Agenda"
},
weekLabel: "Sm",
allDayHtml: "Tutto il<br/>giorno",
eventLimitText: function (n) {
return "+altri " + n;
},
noEventsMessage: "Non ci sono eventi da visualizzare"
};
return it;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ja = factory()));
}(this, function () { 'use strict';
var ja = {
code: "ja",
buttonText: {
prev: "前",
next: "次",
today: "今日",
month: "月",
week: "週",
day: "日",
list: "予定リスト"
},
weekLabel: "週",
allDayText: "終日",
eventLimitText: function (n) {
return "他 " + n + " 件";
},
noEventsMessage: "表示する予定はありません"
};
return ja;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ka = factory()));
}(this, function () { 'use strict';
var ka = {
code: "ka",
week: {
dow: 1,
doy: 7
},
buttonText: {
prev: "წინა",
next: "შემდეგი",
today: "დღეს",
month: "თვე",
week: "კვირა",
day: "დღე",
list: "დღის წესრიგი"
},
weekLabel: "კვ",
allDayText: "მთელი დღე",
eventLimitText: function (n) {
return "+ კიდევ " + n;
},
noEventsMessage: "ღონისძიებები არ არის"
};
return ka;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.kk = factory()));
}(this, function () { 'use strict';
var kk = {
code: "kk",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Алдыңғы",
next: "Келесі",
today: "Бүгін",
month: "Ай",
week: "Апта",
day: "Күн",
list: "Күн тәртібі"
},
weekLabel: "Не",
allDayText: "Күні бойы",
eventLimitText: function (n) {
return "+ тағы " + n;
},
noEventsMessage: "Көрсету үшін оқиғалар жоқ"
};
return kk;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ko = factory()));
}(this, function () { 'use strict';
var ko = {
code: "ko",
buttonText: {
prev: "이전달",
next: "다음달",
today: "오늘",
month: "월",
week: "주",
day: "일",
list: "일정목록"
},
weekLabel: "주",
allDayText: "종일",
eventLimitText: "개",
noEventsMessage: "일정이 없습니다"
};
return ko;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lb = factory()));
}(this, function () { 'use strict';
var lb = {
code: "lb",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Zréck",
next: "Weider",
today: "Haut",
month: "Mount",
week: "Woch",
day: "Dag",
list: "Terminiwwersiicht"
},
weekLabel: "W",
allDayText: "Ganzen Dag",
eventLimitText: "méi",
noEventsMessage: "Nee Evenementer ze affichéieren"
};
return lb;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lt = factory()));
}(this, function () { 'use strict';
var lt = {
code: "lt",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Atgal",
next: "Pirmyn",
today: "Šiandien",
month: "Mėnuo",
week: "Savaitė",
day: "Diena",
list: "Darbotvarkė"
},
weekLabel: "SAV",
allDayText: "Visą dieną",
eventLimitText: "daugiau",
noEventsMessage: "Nėra įvykių rodyti"
};
return lt;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lv = factory()));
}(this, function () { 'use strict';
var lv = {
code: "lv",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Iepr.",
next: "Nāk.",
today: "Šodien",
month: "Mēnesis",
week: "Nedēļa",
day: "Diena",
list: "Dienas kārtība"
},
weekLabel: "Ned.",
allDayText: "Visu dienu",
eventLimitText: function (n) {
return "+vēl " + n;
},
noEventsMessage: "Nav notikumu"
};
return lv;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.mk = factory()));
}(this, function () { 'use strict';
var mk = {
code: "mk",
buttonText: {
prev: "претходно",
next: "следно",
today: "Денес",
month: "Месец",
week: "Недела",
day: "Ден",
list: "График"
},
weekLabel: "Сед",
allDayText: "Цел ден",
eventLimitText: function (n) {
return "+повеќе " + n;
},
noEventsMessage: "Нема настани за прикажување"
};
return mk;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ms = factory()));
}(this, function () { 'use strict';
var ms = {
code: "ms",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Sebelum",
next: "Selepas",
today: "hari ini",
month: "Bulan",
week: "Minggu",
day: "Hari",
list: "Agenda"
},
weekLabel: "Mg",
allDayText: "Sepanjang hari",
eventLimitText: function (n) {
return "masih ada " + n + " acara";
},
noEventsMessage: "Tiada peristiwa untuk dipaparkan"
};
return ms;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nb = factory()));
}(this, function () { 'use strict';
var nb = {
code: "nb",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Forrige",
next: "Neste",
today: "I dag",
month: "Måned",
week: "Uke",
day: "Dag",
list: "Agenda"
},
weekLabel: "Uke",
allDayText: "Hele dagen",
eventLimitText: "til",
noEventsMessage: "Ingen hendelser å vise"
};
return nb;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nl = factory()));
}(this, function () { 'use strict';
var nl = {
code: "nl",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Voorgaand",
next: "Volgende",
today: "Vandaag",
year: "Jaar",
month: "Maand",
week: "Week",
day: "Dag",
list: "Agenda"
},
allDayText: "Hele dag",
eventLimitText: "extra",
noEventsMessage: "Geen evenementen om te laten zien"
};
return nl;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nn = factory()));
}(this, function () { 'use strict';
var nn = {
code: "nn",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Førre",
next: "Neste",
today: "I dag",
month: "Månad",
week: "Veke",
day: "Dag",
list: "Agenda"
},
weekLabel: "Veke",
allDayText: "Heile dagen",
eventLimitText: "til",
noEventsMessage: "Ingen hendelser å vise"
};
return nn;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.pl = factory()));
}(this, function () { 'use strict';
var pl = {
code: "pl",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Poprzedni",
next: "Następny",
today: "Dziś",
month: "Miesiąc",
week: "Tydzień",
day: "Dzień",
list: "Plan dnia"
},
weekLabel: "Tydz",
allDayText: "Cały dzień",
eventLimitText: "więcej",
noEventsMessage: "Brak wydarzeń do wyświetlenia"
};
return pl;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['pt-br'] = factory()));
}(this, function () { 'use strict';
var ptBr = {
code: "pt-br",
buttonText: {
prev: "Anterior",
next: "Próximo",
today: "Hoje",
month: "Mês",
week: "Semana",
day: "Dia",
list: "Compromissos"
},
weekLabel: "Sm",
allDayText: "dia inteiro",
eventLimitText: function (n) {
return "mais +" + n;
},
noEventsMessage: "Não há eventos para mostrar"
};
return ptBr;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.pt = factory()));
}(this, function () { 'use strict';
var pt = {
code: "pt",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Anterior",
next: "Seguinte",
today: "Hoje",
month: "Mês",
week: "Semana",
day: "Dia",
list: "Agenda"
},
weekLabel: "Sem",
allDayText: "Todo o dia",
eventLimitText: "mais",
noEventsMessage: "Não há eventos para mostrar"
};
return pt;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ro = factory()));
}(this, function () { 'use strict';
var ro = {
code: "ro",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "precedentă",
next: "următoare",
today: "Azi",
month: "Lună",
week: "Săptămână",
day: "Zi",
list: "Agendă"
},
weekLabel: "Săpt",
allDayText: "Toată ziua",
eventLimitText: function (n) {
return "+alte " + n;
},
noEventsMessage: "Nu există evenimente de afișat"
};
return ro;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ru = factory()));
}(this, function () { 'use strict';
var ru = {
code: "ru",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Пред",
next: "След",
today: "Сегодня",
month: "Месяц",
week: "Неделя",
day: "День",
list: "Повестка дня"
},
weekLabel: "Нед",
allDayText: "Весь день",
eventLimitText: function (n) {
return "+ ещё " + n;
},
noEventsMessage: "Нет событий для отображения"
};
return ru;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sk = factory()));
}(this, function () { 'use strict';
var sk = {
code: "sk",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Predchádzajúci",
next: "Nasledujúci",
today: "Dnes",
month: "Mesiac",
week: "Týždeň",
day: "Deň",
list: "Rozvrh"
},
weekLabel: "Ty",
allDayText: "Celý deň",
eventLimitText: function (n) {
return "+ďalšie: " + n;
},
noEventsMessage: "Žiadne akcie na zobrazenie"
};
return sk;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sl = factory()));
}(this, function () { 'use strict';
var sl = {
code: "sl",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prejšnji",
next: "Naslednji",
today: "Trenutni",
month: "Mesec",
week: "Teden",
day: "Dan",
list: "Dnevni red"
},
weekLabel: "Teden",
allDayText: "Ves dan",
eventLimitText: "več",
noEventsMessage: "Ni dogodkov za prikaz"
};
return sl;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sq = factory()));
}(this, function () { 'use strict';
var sq = {
code: "sq",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "mbrapa",
next: "Përpara",
today: "sot",
month: "Muaj",
week: "Javë",
day: "Ditë",
list: "Listë"
},
weekLabel: "Ja",
allDayHtml: "Gjithë<br/>ditën",
eventLimitText: function (n) {
return "+më tepër " + n;
},
noEventsMessage: "Nuk ka evente për të shfaqur"
};
return sq;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['sr-cyrl'] = factory()));
}(this, function () { 'use strict';
var srCyrl = {
code: "sr-cyrl",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Претходна",
next: "следећи",
today: "Данас",
month: "Месец",
week: "Недеља",
day: "Дан",
list: "Планер"
},
weekLabel: "Сед",
allDayText: "Цео дан",
eventLimitText: function (n) {
return "+ још " + n;
},
noEventsMessage: "Нема догађаја за приказ"
};
return srCyrl;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sr = factory()));
}(this, function () { 'use strict';
var sr = {
code: "sr",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prethodna",
next: "Sledeći",
today: "Danas",
month: "Mеsеc",
week: "Nеdеlja",
day: "Dan",
list: "Planеr"
},
weekLabel: "Sed",
allDayText: "Cеo dan",
eventLimitText: function (n) {
return "+ još " + n;
},
noEventsMessage: "Nеma događaja za prikaz"
};
return sr;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sv = factory()));
}(this, function () { 'use strict';
var sv = {
code: "sv",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Förra",
next: "Nästa",
today: "Idag",
month: "Månad",
week: "Vecka",
day: "Dag",
list: "Program"
},
weekLabel: "v.",
allDayText: "Heldag",
eventLimitText: "till",
noEventsMessage: "Inga händelser att visa"
};
return sv;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.th = factory()));
}(this, function () { 'use strict';
var th = {
code: "th",
buttonText: {
prev: "ย้อน",
next: "ถัดไป",
today: "วันนี้",
month: "เดือน",
week: "สัปดาห์",
day: "วัน",
list: "แผนงาน"
},
allDayText: "ตลอดวัน",
eventLimitText: "เพิ่มเติม",
noEventsMessage: "ไม่มีกิจกรรมที่จะแสดง"
};
return th;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.tr = factory()));
}(this, function () { 'use strict';
var tr = {
code: "tr",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "geri",
next: "ileri",
today: "bugün",
month: "Ay",
week: "Hafta",
day: "Gün",
list: "Ajanda"
},
weekLabel: "Hf",
allDayText: "Tüm gün",
eventLimitText: "daha fazla",
noEventsMessage: "Gösterilecek etkinlik yok"
};
return tr;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.uk = factory()));
}(this, function () { 'use strict';
var uk = {
code: "uk",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Попередній",
next: "далі",
today: "Сьогодні",
month: "Місяць",
week: "Тиждень",
day: "День",
list: "Порядок денний"
},
weekLabel: "Тиж",
allDayText: "Увесь день",
eventLimitText: function (n) {
return "+ще " + n + "...";
},
noEventsMessage: "Немає подій для відображення"
};
return uk;
}));
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.vi = factory()));
}(this, function () { 'use strict';
var vi = {
code: "vi",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Trước",
next: "Tiếp",
today: "Hôm nay",
month: "Tháng",
week: "Tuần",
day: "Ngày",
list: "Lịch biểu"
},
weekLabel: "Tu",
allDayText: "Cả ngày",
eventLimitText: function (n) {
return "+ thêm " + n;
},
noEventsMessage: "Không có sự kiện để hiển thị"
};
return vi;
}));
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment