Commit dca65964 by liangjianmin

js

parent ffeadea4
...@@ -11,6 +11,10 @@ ...@@ -11,6 +11,10 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-shanchu:before {
content: "\e8b6";
}
.icon-riqi:before { .icon-riqi:before {
content: "\e770"; content: "\e770";
} }
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
background-size: cover; background-size: cover;
} }
.pp { .pp {
position: relative;
width: 144rpx; width: 144rpx;
height: 144rpx; height: 144rpx;
margin-right: 24rpx; margin-right: 24rpx;
...@@ -55,6 +56,20 @@ ...@@ -55,6 +56,20 @@
&:nth-of-type(4n) { &:nth-of-type(4n) {
margin-right: 0; margin-right: 0;
} }
.delete {
position: absolute;
right: -7rpx;
top: -9rpx;
width: 48rpx;
height: 48rpx;
border-radius: 50%;
background-color: #f00;
z-index: 9999;
}
.iconfont {
font-size: 24rpx;
color: #ffffff;
}
} }
} }
.remark { .remark {
......
let w_md5 = {}
function hex_md5(string,bit) {
function md5_RotateLeft(lValue, iShiftBits) {
return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
}
function md5_AddUnsigned(lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function md5_F(x, y, z) {
return (x & y) | ((~x) & z);
}
function md5_G(x, y, z) {
return (x & z) | (y & (~z));
}
function md5_H(x, y, z) {
return (x ^ y ^ z);
}
function md5_I(x, y, z) {
return (y ^ (x | (~z)));
}
function md5_FF(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_GG(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_HH(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_II(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1 = lMessageLength + 8;
var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
var lWordArray = Array(lNumberOfWords - 1);
var lBytePosition = 0;
var lByteCount = 0;
while (lByteCount < lMessageLength) {
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
return lWordArray;
};
function md5_WordToHex(lValue) {
var WordToHexValue = "", WordToHexValue_temp = "", lByte, lCount;
for (lCount = 0; lCount <= 3; lCount++) {
lByte = (lValue >>> (lCount * 8)) & 255;
WordToHexValue_temp = "0" + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
}
return WordToHexValue;
};
function md5_Utf8Encode(string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
};
var x = Array();
var k, AA, BB, CC, DD, a, b, c, d;
var S11 = 7, S12 = 12, S13 = 17, S14 = 22;
var S21 = 5, S22 = 9, S23 = 14, S24 = 20;
var S31 = 4, S32 = 11, S33 = 16, S34 = 23;
var S41 = 6, S42 = 10, S43 = 15, S44 = 21;
string = md5_Utf8Encode(string);
x = md5_ConvertToWordArray(string);
a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;
for (k = 0; k < x.length; k += 16) {
AA = a; BB = b; CC = c; DD = d;
a = md5_FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
d = md5_FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
c = md5_FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
b = md5_FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
a = md5_FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
d = md5_FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
c = md5_FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
b = md5_FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
a = md5_FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
d = md5_FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
c = md5_FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
b = md5_FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
a = md5_FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
d = md5_FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
c = md5_FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
b = md5_FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
a = md5_GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
d = md5_GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
c = md5_GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
b = md5_GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
a = md5_GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
d = md5_GG(d, a, b, c, x[k + 10], S22, 0x2441453);
c = md5_GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
b = md5_GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
a = md5_GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
d = md5_GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
c = md5_GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
b = md5_GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
a = md5_GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
d = md5_GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
c = md5_GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
b = md5_GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
a = md5_HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
d = md5_HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
c = md5_HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
b = md5_HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
a = md5_HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
d = md5_HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
c = md5_HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
b = md5_HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
a = md5_HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
d = md5_HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
c = md5_HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
b = md5_HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
a = md5_HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
d = md5_HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
c = md5_HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
b = md5_HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
a = md5_II(a, b, c, d, x[k + 0], S41, 0xF4292244);
d = md5_II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
c = md5_II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
b = md5_II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
a = md5_II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
d = md5_II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
c = md5_II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
b = md5_II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
a = md5_II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
d = md5_II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
c = md5_II(c, d, a, b, x[k + 6], S43, 0xA3014314);
b = md5_II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
a = md5_II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
d = md5_II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
c = md5_II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
b = md5_II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
a = md5_AddUnsigned(a, AA);
b = md5_AddUnsigned(b, BB);
c = md5_AddUnsigned(c, CC);
d = md5_AddUnsigned(d, DD);
}
if(bit==32){
return (md5_WordToHex(a) + md5_WordToHex(b) + md5_WordToHex(c) + md5_WordToHex(d)).toLowerCase();
}
return (md5_WordToHex(b) + md5_WordToHex(c)).toLowerCase();
}
//16位小写
w_md5.hex_md5_16 = function (string) {
return hex_md5(string,16);
}
//16位大写
w_md5.hex_md5_16Upper = function (string) {
return hex_md5(string,16).toUpperCase();
}
//32位小写
w_md5.hex_md5_32 = function (string) {
return hex_md5(string,32);
}
//32位大写
w_md5.hex_md5_32Upper = function (string) {
return hex_md5(string,32).toUpperCase();
}
export default w_md5
\ No newline at end of file
{ {
"name" : "wms", "name" : "wms",
"appid" : "__UNI__81E2D4D", "appid" : "__UNI__81E2D4D",
"description" : "供应链小程序", "description" : "供应链面单系统",
"versionName" : "1.0.0", "versionName" : "1.0.0",
"versionCode" : 1, "versionCode" : 1,
"transformPx" : false, "transformPx" : false,
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
<view class="row verCenter"> <view class="row verCenter">
<text class="iconfont icon-juxing"></text> <text class="iconfont icon-juxing"></text>
<view class="column"> <view class="column">
<text class="t1">{{userInfo.name}}</text> <text class="t1">{{ userInfo.name }}</text>
<text class="t2">{{userInfo.email}}</text> <text class="t2">{{ userInfo.email }}</text>
</view> </view>
</view> </view>
</view> </view>
...@@ -22,21 +22,21 @@ ...@@ -22,21 +22,21 @@
<view class="fast-entry"> <view class="fast-entry">
<view class="tit">快捷操作入口</view> <view class="tit">快捷操作入口</view>
<view class="row avarage bar"> <view class="row avarage bar">
<view class="box column verCenter"> <view class="box column verCenter" @click="scanChange()">
<text class="iconfont icon-a-juxing1"></text> <text class="iconfont icon-a-juxing1"></text>
<text class="text">快递回单上传</text> <text class="text">快递回单上传</text>
</view> </view>
<view class="box column verCenter"> <view class="box column verCenter" @click="scanChange()">
<text class="iconfont icon-a-juxing1"></text> <text class="iconfont icon-a-juxing1"></text>
<text class="text">司机回单上传</text> <text class="text">司机回单上传</text>
</view> </view>
<view class="box column verCenter"> <view class="box column verCenter" @click="scanChange()">
<text class="iconfont icon-a-juxing1"></text> <text class="iconfont icon-a-juxing1"></text>
<text class="text">自提回单上传</text> <text class="text">自提回单上传</text>
</view> </view>
</view> </view>
</view> </view>
<view class="scan row rowCenter verCenter"> <view class="scan row rowCenter verCenter" @click="scanChange()">
<text class="iconfont icon-juxing2"></text> <text class="iconfont icon-juxing2"></text>
<text class="tt">扫描</text> <text class="tt">扫描</text>
</view> </view>
...@@ -50,13 +50,33 @@ export default { ...@@ -50,13 +50,33 @@ export default {
data() { data() {
return { return {
is_login: false, is_login: false,
userInfo: {} userInfo: {},
rawData: ''
}; };
}, },
onShow() { onShow() {
this.getData(); this.getData();
}, },
methods: { methods: {
scanChange() {
uni.scanCode({
success: function(res) {
console.log(res);
if (res.errMsg == 'scanCode:ok') {
uni.navigateTo({
url: '../scan/confirm?number=' + res.result
});
}
},
fail: function(res) {
console.log(res);
uni.showToast({
title: '上传失败',
icon: 'none'
});
}
});
},
getData() { getData() {
this.request(API.userInfo, 'POST', {}, false).then(res => { this.request(API.userInfo, 'POST', {}, false).then(res => {
if (res.err_code === 0) { if (res.err_code === 0) {
......
...@@ -8,29 +8,22 @@ ...@@ -8,29 +8,22 @@
</view> </view>
<view class="box row bothSide verCenter"> <view class="box row bothSide verCenter">
<text class="left-text">发货单号</text> <text class="left-text">发货单号</text>
<text class="right-text">SFH1000000003</text> <text class="right-text">{{ number }}</text>
</view>
<view class="box row bothSide verCenter bor">
<text class="left-text">发货类型</text>
<text class="right-text">快递物流</text>
</view> </view>
<view class="box row bothSide verCenter"> <view class="box row bothSide verCenter">
<text class="left-text">签单图片上传</text> <text class="left-text">签单图片上传</text>
<text class="right-text">1/4</text> <text class="right-text">{{ attachAddress.length }}/4</text>
</view> </view>
<view class="pic-list row"> <view class="pic-list row">
<view class="pp"> <template v-if="attachAddress.length > 0">
<image src="http://img.ichunt.com/images/ichunt/minProgram/scm/1c264737141e2c941732cac71bc6a5ca.jpg" mode="aspectFill" lazy-load="true"></image> <view class="pp" v-for="(v, index) in attachAddress" :key="index">
</view> <image :src="v" mode="aspectFill" lazy-load="true" @click="previewChange(attachAddress, index)"></image>
<view class="pp"> <view class="delete row rowCenter verCenter" @click="deletePic(index)"><text class="iconfont icon-shanchu"></text></view>
<image src="http://img.ichunt.com/images/ichunt/minProgram/scm/1c264737141e2c941732cac71bc6a5ca.jpg" mode="aspectFill" lazy-load="true"></image> </view>
</view> </template>
<view class="pp"> <view class="default" @click="chooseImageChange()" v-if="attachAddress.length < 4"></view>
<image src="http://img.ichunt.com/images/ichunt/minProgram/scm/1c264737141e2c941732cac71bc6a5ca.jpg" mode="aspectFill" lazy-load="true"></image>
</view>
<view class="default"></view>
</view> </view>
<textarea class="remark row" placeholder="请输入签单备注"></textarea> <textarea class="remark row" placeholder="请输入签单备注" v-model="remark"></textarea>
</view> </view>
</view> </view>
<view class="btn row rowCenter verCenter" @click="submit()">提交确认</view> <view class="btn row rowCenter verCenter" @click="submit()">提交确认</view>
...@@ -39,19 +32,102 @@ ...@@ -39,19 +32,102 @@
<script> <script>
import { API } from '@/util/api.js'; import { API } from '@/util/api.js';
import w_md5 from '../../js_sdk/zww-md5/w_md5.js';
export default { export default {
data() { data() {
return {}; return {
number: '',
attachAddress: [],
remark: ''
};
}, },
onLoad() {}, onLoad(options) {
onShow() { this.number = options.number;
this.getData();
}, },
onShow() {},
methods: { methods: {
getData() {}, previewChange(img, index) {
uni.previewImage({
current: index,
urls: img
});
},
deletePic(index) {
this.attachAddress.splice(index, 1);
},
chooseImageChange() {
var self = this;
var time = parseInt(new Date().getTime() / 1000);
uni.chooseImage({
count: 4,
success: chooseImageRes => {
const tempFilePaths = chooseImageRes.tempFilePaths;
let maxNum = tempFilePaths.length * 1 + self.attachAddress.length * 1;
if (maxNum > 4) {
uni.showToast({
title: '图片不超过4张'
});
return false;
}
for (let i = 0; i < tempFilePaths.length; i++) {
uni.uploadFile({
url: 'https://api.ichunt.com/oss/upload',
filePath: tempFilePaths[i],
name: 'upload',
formData: {
source: '1',
pf: 20,
k1: time,
k2: w_md5.hex_md5_32(w_md5.hex_md5_32(String(time)) + 'fh6y5t4rr351d2c3bryi')
},
success: uploadFileRes => {
var data = JSON.parse(uploadFileRes.data);
if (data.code === 200) {
self.attachAddress.push(data.data[0]);
} else {
uni.showToast({
title: data.message
});
}
},
fail: error => {
console.log(error);
}
});
}
}
});
},
submit() { submit() {
this.request(
API.uploadSignForInfo,
'POST',
{
number: this.number,
attachAddress: this.attachAddress.join(','),
remark: this.remark
},
true
).then(res => {
if (res.err_code === 0) {
uni.showToast({
title: '提交成功'
});
setTimeout(() => {
uni.switchTab({
url: '/pages/home/index'
});
}, 2000);
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
} }
} }
}; };
......
No preview for this file type
...@@ -13,6 +13,11 @@ const API = { ...@@ -13,6 +13,11 @@ const API = {
* 小程序登录 * 小程序登录
* */ * */
login: API_BASE + '/supplywechatsignfor/login', login: API_BASE + '/supplywechatsignfor/login',
/**
* 上传文件
* */
upload: API_BASE + '/oss/upload',
} }
......
...@@ -38,25 +38,6 @@ const request = (url = '', type = 'GET', param = {}, Loading) => { ...@@ -38,25 +38,6 @@ const request = (url = '', type = 'GET', param = {}, Loading) => {
}); });
} }
/**
* 平台判断
*/
const getPlatform = () => {
let platform = undefined;
// #ifdef APP-PLUS
platform = 'APP';
// #endif
// #ifdef MP-WEIXIN
platform = 'MP-WEIXIN';
// #endif
return platform;
}
module.exports = { module.exports = {
request, request
getPlatform
} }
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