拷贝海亮缓存线平板

This commit is contained in:
2024-02-20 16:29:38 +08:00
commit e33e54da16
109 changed files with 12594 additions and 0 deletions

70
utils/getData1.js Normal file
View File

@@ -0,0 +1,70 @@
import request from './request.js'
// 初始化
// 1.1缓存线下拉框
export const getCacheLine = (area) => request({
url:'api/cacheLineHand/getCacheLine',
data: {
product_area: area
}
})
// 1.4缓存线指令状态下拉框查询:
export const instStatusQuery = (searchbar) => request({
url:'/api/cacheLineHand/instStatusQuery',
data: {
search_bar: searchbar
}
})
/** 缓存线异常处理 */
// 1.1缓存线异常处理:
export const cacheLineExcepOpt = (wcode, opttype) => request({
url:'/api/cacheLineHand/cacheLineExcepOpt',
data: {
wcsdevice_code: wcode,
opt_type: opttype
}
})
/** 缓存线出箱异常 */
// 1.1缓存线出箱异常-查询:
export const cacheLineOutBoxExceptionQuery = (wcode, pcode) => request({
url:'/api/cacheLineHand/cacheLineOutBoxExceptionQuery',
data: {
wcsdevice_code: wcode,
position_code: pcode
}
})
// 1.2缓存线出箱异常-确认:
export const cacheLineOutBoxExceptionConfirm = (wcode, uuid, itype, vcode, parea, pcode) => request({
url:'/api/cacheLineHand/cacheLineOutBoxExceptionConfirm',
data: {
wcsdevice_code: wcode,
instruct_uuid: uuid,
inOut_type: itype,
vehicle_code: vcode,
product_area: parea,
position_code: pcode
}
})
/** 指令操作 */
// 1.1指令分页查询:
export const instPageQuery = (data) => request({
url:'/api/cacheLineHand/instPageQuery',
data: data
})
// 1.2指令操作:
export const instOperation = (uuid, otype) => request({
url:'/api/cacheLineHand/instOperation',
data: {
instruct_uuid: uuid,
opt_type: otype
}
})
// 1.3获取任务类型:
export const taskType = () => request({
url:'/api/task/taskType'
})

188
utils/getData2.js Normal file
View File

@@ -0,0 +1,188 @@
import request from './request.js'
// 登录
export const handLogin = (user, password) => request({
url:'mobile/auth/login',
data: {
username: user,
password: password
}
})
// 版本更新测试
export const pdaUpdate = () => request({
url:'api/cacheLineHand/appUpdate'
})
// export const pdaUpdate = () => {
// let res = {
// versionName: '1.0.0',
// androidUrl: 'https://mp-e979e0eb-882b-42b3-a4a1-923ad08ea194.cdn.bspapp.com/cloudstorage/f72ec59f-7b25-487d-a034-fead1b6654c6.apk'
// }
// return res
// }
// 菜单
export const authority = () => {
let res = {
sonTree: [
{menu_id: '1', path: 'RF01', name: '缓存线', sonTree: [
{menu_id: '1', name: '扫码异常', path: '/pages/management/inscanerror'},
{menu_id: '2', name: '缓存线盘点', path: '/pages/management/hcxcheck'},
{menu_id: '3', name: '缓存线出箱异常', path: '/pages/management/HcxOutError'},
{menu_id: '4', name: '缓存线异常处理', path: '/pages/management/HcxErrorHandle'}
]
},
{menu_id: '2', path: 'RF02', name: '生产管理', sonTree: [
{menu_id: '1', name: '任务管理', path: '/pages/management/TaskOperate'},
]
},
{menu_id: '3', path: 'RF03', name: '出入库管理', sonTree: [
{menu_id: '1', name: '半成品入库', path: '/pages/management/HalfFinishedInStore'},
{menu_id: '2', name: '成品入库', path: '/pages/management/FinishedInStore'},
{menu_id: '3', name: '发货确认', path: '/pages/management/DeliveryConfirm'},
{menu_id: '4', name: '半成品入库', path: '/pages/management/SemifinishedInStore'},
{menu_id: '5', name: '半成品出库', path: '/pages/management/SemifinishedOutStore'},
{menu_id: '6', name: '半成品盘点', path: '/pages/management/semifinishedcheck'},
{menu_id: '7', name: '半成品拼盘', path: '/pages/management/semifinishedcompose'}
]
}
]
}
return res
}
/** 扫码异常 */
// 1.1缓存线下拉框
export const getCacheLine = (area) => request({
url:'api/cacheLineHand/getCacheLine',
data: {
product_area: area
}
})
// 1.2指令查询
export const inOutExceptionInstQuery = (wcode) => request({
url:'api/cacheLineHand/inOutExceptionInstQuery',
data: {
wcsdevice_code: wcode
}
})
// 1.3确认
export const inOutExceptionInstConfirm = (wcode, vcode, type) => request({
url:'api/cacheLineHand/inOutExceptionInstConfirm',
data: {
wcsdevice_code: wcode,
vehicle_code: vcode,
type: type
}
})
/** 缓存线盘点 */
// 1.1工序下拉框查询
export const workprocedureQuery = () => request({
url:'api/cacheLineHand/getWorkprocedure',
data: {}
})
// 1.2缓存线盘点-缓存线物料信息盘点
export const getCacheLineMaterialInfo = (area, code) => request({
url:'api/cacheLineHand/getCacheLineMaterialInfo',
data: {
product_area: area,
wcsdevice_code: code
}
})
// export const getCacheLineMaterialInfo = (area, code) => {
// let res = [{"position_code":"HCX01_31","layer_num":3,"position_name":"三层条码10","seat_order_num":1,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_32","layer_num":3,"position_name":"三层条码9","seat_order_num":2,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_33","layer_num":3,"position_name":"三层条码8","seat_order_num":3,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_34","layer_num":3,"position_name":"三层条码7","seat_order_num":4,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_35","layer_num":3,"position_name":"三层条码6","seat_order_num":5,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_36","layer_num":3,"position_name":"三层条码5","seat_order_num":6,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_37","layer_num":3,"position_name":"三层条码4","seat_order_num":7,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_38","layer_num":3,"position_name":"三层条码3","seat_order_num":8,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_39","layer_num":3,"position_name":"三层条码2","seat_order_num":9,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_310","layer_num":3,"position_name":"三层条码1","seat_order_num":10,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_21","layer_num":2,"position_name":"二层条码1","seat_order_num":1,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10049"},{"position_code":"HCX01_22","layer_num":2,"position_name":"二层条码2","seat_order_num":2,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10047"},{"position_code":"HCX01_23","layer_num":2,"position_name":"二层条码3","seat_order_num":3,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10046"},{"position_code":"HCX01_24","layer_num":2,"position_name":"二层条码4","seat_order_num":4,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10045"},{"position_code":"HCX01_25","layer_num":2,"position_name":"二层条码5","seat_order_num":5,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_26","layer_num":2,"position_name":"二层条码6","seat_order_num":6,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_27","layer_num":2,"position_name":"二层条码7","seat_order_num":7,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_28","layer_num":2,"position_name":"二层条码8","seat_order_num":8,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_29","layer_num":2,"position_name":"二层条码9","seat_order_num":9,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_210","layer_num":2,"position_name":"二层条码10","seat_order_num":10,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_11","layer_num":1,"position_name":"一层条码1","seat_order_num":1,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10041"},{"position_code":"HCX01_12","layer_num":1,"position_name":"一层条码2","seat_order_num":2,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_13","layer_num":1,"position_name":"一层条码3","seat_order_num":3,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_14","layer_num":1,"position_name":"一层条码4","seat_order_num":4,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_15","layer_num":1,"position_name":"一层条码5","seat_order_num":5,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_16","layer_num":1,"position_name":"一层条码6","seat_order_num":6,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_17","layer_num":1,"position_name":"一层条码7","seat_order_num":7,"vehicle_status":"1","cacheline_code":"A1_HCX_01","vehicle_code":""},{"position_code":"HCX01_18","layer_num":1,"position_name":"一层条码8","seat_order_num":8,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"11224"},{"position_code":"HCX01_19","layer_num":1,"position_name":"一层条码9","seat_order_num":9,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"11224"},{"position_code":"HCX01_110","layer_num":1,"position_name":"一层条码10","seat_order_num":10,"vehicle_status":"4","cacheline_code":"A1_HCX_01","vehicle_code":"10043"}]
// return res
// }
// 1.3物料查询
export const materialQuery = (bar) => request({
url:'api/cacheLineHand/materialQuery',
data: {
search_bar: bar
}
})
// 1.4缓存线盘点-设置满箱
export const setfullBox = (obj) => request({
url:'api/cacheLineHand/setfullBox',
data: obj
})
// 1.5缓存线盘点-设置空箱
export const setEmptyBox = (obj) => request({
url:'api/cacheLineHand/setEmptyBox',
data: obj
})
// 1.6缓存线盘点-删除空箱
export const deleteBox = (obj) => request({
url:'api/cacheLineHand/deleteBox',
data: obj
})
// 1.7缓存线盘点-盘点开始
export const cacheLineHandCheck = (option, code) => request({
url:'api/cacheLineHand/check',
data: {
check_option: option,
device_code: code
}
})
// 1.8缓存线盘点-盘点结束
export const cacheLineHandCheckEnd = (option, code) => request({
url:'api/cacheLineHand/checkEnd',
data: {
check_option: option,
device_code: code
}
})
/** 物料列表 */
// 根据订单获取订单信息
export const orderSearch = (page, size, order) => request({
url:'api/pda/finishproduct/order',
data: {
order: order,
page: page,
size: size
}
})
/** 成品入库 */
// 入库
export const InstoreOrder = (point, code, arr) => request({
url:'api/pda/finishproduct/in',
data: {
point: point,
vehicle_code: code,
arr: arr
}
})
/** 发货确认 */
// 解绑
export const releasepoint = (point, code, option) => request({
url:'api/pda/finishproduct/releasepoint',
data: {
point: point,
vehicle_code: code,
option: option
}
})
/** 半成品入库 */
export const semiProductInFromPda = (id, mid, qty, code) => request({
url:'api/in/semiProductIn/semiProductInFromPda',
data: {
iostorinv_id: id,
material_id: mid,
plan_qty: qty,
storagevehicle_code: code
}
})
// 入库点/放货点获取
export const finishproductPoint = (type) => request({
url:'api/pda/finishproduct/point',
data: {
type: type
}
})

12
utils/jsencrypt.js Normal file
View File

@@ -0,0 +1,12 @@
import JSEncrypt from '../node_modules/jsencrypt/bin/jsencrypt.js'
let publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' +
'2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==';
function RSAencrypt(pas){
//实例化jsEncrypt对象
let jse = new JSEncrypt();
//设置公钥
jse.setPublicKey(publicKey);
return jse.encrypt(pas);
}
export {RSAencrypt}

245
utils/permission.js Normal file
View File

@@ -0,0 +1,245 @@
/// null = 未请求1 = 已允许0 = 拒绝|受限, 2 = 系统未开启
var isIOS
function album() {
var result = 0;
var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
var authStatus = PHPhotoLibrary.authorizationStatus();
if (authStatus === 0) {
result = null;
} else if (authStatus == 3) {
result = 1;
} else {
result = 0;
}
plus.ios.deleteObject(PHPhotoLibrary);
return result;
}
function camera() {
var result = 0;
var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
if (authStatus === 0) {
result = null;
} else if (authStatus == 3) {
result = 1;
} else {
result = 0;
}
plus.ios.deleteObject(AVCaptureDevice);
return result;
}
function location() {
var result = 0;
var cllocationManger = plus.ios.import("CLLocationManager");
var enable = cllocationManger.locationServicesEnabled();
var status = cllocationManger.authorizationStatus();
if (!enable) {
result = 2;
} else if (status === 0) {
result = null;
} else if (status === 3 || status === 4) {
result = 1;
} else {
result = 0;
}
plus.ios.deleteObject(cllocationManger);
return result;
}
function push() {
var result = 0;
var UIApplication = plus.ios.import("UIApplication");
var app = UIApplication.sharedApplication();
var enabledTypes = 0;
if (app.currentUserNotificationSettings) {
var settings = app.currentUserNotificationSettings();
enabledTypes = settings.plusGetAttribute("types");
if (enabledTypes == 0) {
result = 0;
console.log("推送权限没有开启");
} else {
result = 1;
console.log("已经开启推送功能!")
}
plus.ios.deleteObject(settings);
} else {
enabledTypes = app.enabledRemoteNotificationTypes();
if (enabledTypes == 0) {
result = 3;
console.log("推送权限没有开启!");
} else {
result = 4;
console.log("已经开启推送功能!")
}
}
plus.ios.deleteObject(app);
plus.ios.deleteObject(UIApplication);
return result;
}
function contact() {
var result = 0;
var CNContactStore = plus.ios.import("CNContactStore");
var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
if (cnAuthStatus === 0) {
result = null;
} else if (cnAuthStatus == 3) {
result = 1;
} else {
result = 0;
}
plus.ios.deleteObject(CNContactStore);
return result;
}
function record() {
var result = null;
var avaudiosession = plus.ios.import("AVAudioSession");
var avaudio = avaudiosession.sharedInstance();
var status = avaudio.recordPermission();
console.log("permissionStatus:" + status);
if (status === 1970168948) {
result = null;
} else if (status === 1735552628) {
result = 1;
} else {
result = 0;
}
plus.ios.deleteObject(avaudiosession);
return result;
}
function calendar() {
var result = null;
var EKEventStore = plus.ios.import("EKEventStore");
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
if (ekAuthStatus == 3) {
result = 1;
console.log("日历权限已经开启");
} else {
console.log("日历权限没有开启");
}
plus.ios.deleteObject(EKEventStore);
return result;
}
function memo() {
var result = null;
var EKEventStore = plus.ios.import("EKEventStore");
var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
if (ekAuthStatus == 3) {
result = 1;
console.log("备忘录权限已经开启");
} else {
console.log("备忘录权限没有开启");
}
plus.ios.deleteObject(EKEventStore);
return result;
}
function requestIOS(permissionID) {
return new Promise((resolve, reject) => {
switch (permissionID) {
case "push":
resolve(push());
break;
case "location":
resolve(location());
break;
case "record":
resolve(record());
break;
case "camera":
resolve(camera());
break;
case "album":
resolve(album());
break;
case "contact":
resolve(contact());
break;
case "calendar":
resolve(calendar());
break;
case "memo":
resolve(memo());
break;
default:
resolve(0);
break;
}
});
}
function requestAndroid(permissionID) {
return new Promise((resolve, reject) => {
plus.android.requestPermissions(
[permissionID],
function(resultObj) {
var result = 0;
for (var i = 0; i < resultObj.granted.length; i++) {
var grantedPermission = resultObj.granted[i];
console.log('已获取的权限:' + grantedPermission);
result = 1
}
for (var i = 0; i < resultObj.deniedPresent.length; i++) {
var deniedPresentPermission = resultObj.deniedPresent[i];
console.log('拒绝本次申请的权限:' + deniedPresentPermission);
result = 0
}
for (var i = 0; i < resultObj.deniedAlways.length; i++) {
var deniedAlwaysPermission = resultObj.deniedAlways[i];
console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
result = -1
}
resolve(result);
},
function(error) {
console.log('result error: ' + error.message)
resolve({
code: error.code,
message: error.message
});
}
);
});
}
function gotoAppPermissionSetting() {
if (permission.isIOS) {
var UIApplication = plus.ios.import("UIApplication");
var application2 = UIApplication.sharedApplication();
var NSURL2 = plus.ios.import("NSURL");
var setting2 = NSURL2.URLWithString("app-settings:");
application2.openURL(setting2);
plus.ios.deleteObject(setting2);
plus.ios.deleteObject(NSURL2);
plus.ios.deleteObject(application2);
} else {
var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings");
var Uri = plus.android.importClass("android.net.Uri");
var mainActivity = plus.android.runtimeMainActivity();
var intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri);
mainActivity.startActivity(intent);
}
}
const permission = {
get isIOS(){
return typeof isIOS === 'boolean' ? isIOS : (isIOS = uni.getSystemInfoSync().platform === 'ios')
},
requestIOS: requestIOS,
requestAndroid: requestAndroid,
gotoAppSetting: gotoAppPermissionSetting
}
export default permission

127
utils/request.js Normal file
View File

@@ -0,0 +1,127 @@
// import qs from 'qs' // 处理data
import store from '@/vuex/store'
const request = (params) => {
let _self = this;
let url = params.url;
let method = params.method || 'POST';
let data = params.data || {};
// data.token = "default-access_token"
// if (!params.token) {
// let token = uni.getStorageSync('token');
// if (!token) {
// uni.navigateTo({
// url: '/pages/login/login'
// });
// } else {
// data.token = '179509245-9c91827e0224bdc18d0b118b8be1b5af';
// }
// }
let token = ''
if (store.getters.saveToken !== '') {
token = store.getters.saveToken
}
let defaultOpot = {
// 'Content-Type': 'application/x-www-form-urlencoded',
'Terminal-Type': 'innerH5',
'Content-Type': 'application/json;charset=UTF-8',
}
let header = {}
method = method.toUpperCase()
if (method == 'POST') {
header = {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': token
}
// data = qs.stringify(data)
}
const requestUrl = `${store.getters.baseUrl}/` + url;
uni.showLoading({
title: '加载中...'
});
return new Promise((resolve, reject) => {
uni.request({
url: requestUrl,
method: method,
header: Object.assign({}, defaultOpot, header),
data: data,
dataType: 'json',
})
.then(res => { // 成功
if (res.length === 1) {
uni.showModal({
content: 'request:fail',
showCancel: false
})
reject('request:fail')
} else if (res[1] && res[1].statusCode === 400) {
uni.showModal({
content: `${res[1].data.message}`,
showCancel: false
})
reject(res[1].data.message)
} else if (res[1] && res[1].statusCode === 401) {
uni.showModal({
content: `${res[1].data.message}`,
showCancel: false
})
store.dispatch('delUserInfo')
uni.redirectTo({
url: '/pages/login/login'
})
} else if (res[1] && res[1].statusCode === 200) {
let {
data: dataType
} = res[1]
resolve(dataType)
// switch (dataType.code * 1) { // 拦截返回参数
// case 0:
// resolve(dataType)
// break;
// case 1003:
// uni.showModal({
// title: '登录已过期',
// content: '很抱歉,登录已过期,请重新登录',
// confirmText: '重新登录',
// success: function(res) {
// if (res.confirm) {
// uni.navigateTo({
// // 切记这儿需要哈pages.json保持一致不能有.vue后缀
// url: '/pages/login/login'
// });
// } else if (res.cancel) {
// console.log('用户点击取消');
// }
// }
// })
// break;
// case -1:
// uni.showModal({
// title: '请求数据失败',
// content: '获取数据失败!',
// confirmText: '确定',
// showCancel: false,
// success: function(res) {
// if (res.confirm) {} else if (res.cancel) {
// console.log('用户点击取消');
// }
// }
// })
// break
// }
}else {
uni.showModal({
content: `${res[1].data.message}`,
showCancel: false
})
reject(res[1].data.message)
}
})
.catch(err => { // 错误
reject(err)
})
.finally(() => {
uni.hideLoading();
})
})
}
export default request

39
utils/utils.js Normal file
View File

@@ -0,0 +1,39 @@
/**
* yy-mm-dd
*/
export const dateFtt = date => {
if (date == null) {
return ''
}
let year = date.getFullYear()
let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
return `${year}-${month}-${day}`
}
/**
* yy-mm-dd hh:mm:ss
*/
export const dateTimeFtt = date => {
if (date == null) {
return ''
}
let year = date.getFullYear()
let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
let hh = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
let mm = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
let ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return `${year}-${month}-${day} ${hh}:${mm}:${ss}`
}
/**
* 将字符串形式的日期转换成日期对象
*/
export const dateNew = date => {
if (date === undefined || date === 'undefined') {
return new Date()
}
return new Date(Date.parse(date))
}