Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
朱继来
/
后台订单管理
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
01230040
authored
Mar 31, 2020
by
朱继来
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'lt_订单添加dgk'
parents
bf702ea8
6871523e
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
262 additions
and
17 deletions
app/Http/Controllers/AddOrderController.php
config/params.php
public/css/detail.css
public/js/add_order.js
public/js/goods.js
resources/views/addOrder/content.blade.php
resources/views/detail/addGoodsNoSkuid.blade.php
resources/views/detail/content.blade.php
app/Http/Controllers/AddOrderController.php
View file @
01230040
...
...
@@ -72,6 +72,12 @@ Class AddOrderController extends Controller
$info
[
'crm_account'
]
=
$user_info
[
'mobile'
]
?
$user_info
[
'mobile'
]
:
$user_info
[
'email'
];
}
$data
[
'k1'
]
=
time
();
$data
[
'k2'
]
=
md5
(
md5
(
$data
[
'k1'
])
.
'fh6y5t4rr351d2c3bryi'
);
$url
=
Config
(
'website.api_domain'
)
.
'cart/getDJKConfg'
;
$info
[
'api_dgk_url'
]
=
(
$url
.
'?k1='
.
$data
[
'k1'
]
.
"&"
.
'k2='
.
$data
[
'k2'
]);
return
view
(
'addOrder'
,
$info
);
}
...
...
@@ -538,6 +544,14 @@ Class AddOrderController extends Controller
$data
[
'tax_id'
]
=
$request
->
input
(
'tax_id'
);
$data
[
'user_coupon_id'
]
=
$request
->
input
(
'user_coupon_id'
);
if
(
$data
[
'type'
]
==
1
)
{
// 联营
$data
[
'customer_cn'
]
=
$request
->
input
(
'customer_cn'
,
''
);
$data
[
'customer_en'
]
=
$request
->
input
(
'customer_en'
,
''
);
$data
[
'customer_type'
]
=
$request
->
input
(
'customer_type'
,
''
);
$data
[
'product_use_classone_sn'
]
=
$request
->
input
(
'product_use_classone_sn'
,
''
);
$data
[
'product_use_classtwo_sn'
]
=
$request
->
input
(
'product_use_classtwo_sn'
,
''
);
}
if
(
$data
[
'type'
]
==
4
)
{
$data
[
'business_type'
]
=
$request
->
input
(
'business_type'
);
}
...
...
@@ -722,7 +736,7 @@ Class AddOrderController extends Controller
$excel
=
$this
->
handleData
(
$excel
,
$map
);
// 处理数据
// 验证excel内容
$valid
=
$this
->
excelValid
(
$excel
);
$valid
=
$this
->
excelValid
(
$excel
,
$type
);
if
(
$valid
[
'errcode'
]
!=
0
)
{
errorLog
(
Error
::
E_IMPORT_VALID_FAILED
,
$valid
[
'errmsg'
]);
...
...
@@ -753,7 +767,7 @@ Class AddOrderController extends Controller
}
// 验证导入excel
public
function
excelValid
(
$excel
)
public
function
excelValid
(
$excel
,
$type
=
1
)
{
$count
=
count
(
$excel
);
...
...
@@ -766,22 +780,52 @@ Class AddOrderController extends Controller
$required_keys
=
array_keys
(
$required
);
// 必填项keys
$err
=
[
'errcode'
=>
0
,
'errmsg'
=>
'验证成功'
];
// 提示信息
array_walk
(
$excel
,
function
(
$val
,
$key
)
use
(
$required
,
$required_keys
,
&
$err
)
{
$err
=
[];
// 提示信息
array_walk
(
$excel
,
function
(
$val
,
$key
)
use
(
$required
,
$required_keys
,
&
$err
,
$type
)
{
// 跳过第一条
if
(
$key
!=
0
)
{
if
(
$type
==
1
&&
strtolower
(
$val
[
'supplier_name'
])
==
'digikey'
)
{
// 联营
if
(
empty
(
$val
[
'id'
]))
{
$err
[]
=
'第'
.
$key
.
'行,供应商为digikey,SKUID不能为空'
;
return
;
}
$url
=
Config
(
'website.search-skuid'
);
$data
[
'id'
]
=
$val
[
'id'
];
$data
[
'k1'
]
=
time
();
$data
[
'k2'
]
=
md5
(
md5
(
$data
[
'k1'
])
.
'fh6y5t4rr351d2c3bryi'
);
$response
=
json_decode
(
curlApi
(
$url
,
$data
,
'POST'
),
true
);
if
(
empty
(
$response
[
'data'
])
||
empty
(
$response
[
'data'
][
'goods_id'
]))
{
$err
[]
=
'第'
.
$key
.
'行,供应商为digikey,未找SKU信息'
;
return
;
}
if
(
$response
[
'data'
][
'goods_name'
]
!=
$val
[
'goods_name'
])
{
$err
[]
=
'第'
.
$key
.
'行,供应商为digikey,商品名称不匹配'
;
return
;
}
if
(
$response
[
'data'
][
'brand_name'
]
!=
$val
[
'brand_name'
])
{
$err
[]
=
'第'
.
$key
.
'行,供应商为digikey,制造商不匹配'
;
return
;
}
}
foreach
(
$val
as
$k
=>
$v
)
{
if
(
in_array
(
$k
,
$required_keys
))
{
if
(
empty
(
$v
))
{
// 若必填项值为空,返回提示信息
$err
=
[
'errcode'
=>
1
,
'errmsg'
=>
$required
[
$k
]
.
'列,第'
.
$key
.
'行不能为空'
]
;
$err
[]
=
$required
[
$k
]
.
'列,第'
.
$key
.
'行不能为空'
;
break
;
}
}
// 自营ID、采购数量和单价为数字类型
if
(
$k
==
'id'
||
$k
==
'num'
||
$k
==
'goods_price'
)
{
if
(
(
$type
==
2
&&
$k
==
'id'
)
||
$k
==
'num'
||
$k
==
'goods_price'
)
{
if
(
!
preg_match
(
'/\d/'
,
$v
))
{
$err
=
[
'errcode'
=>
2
,
'errmsg'
=>
$required
[
$k
]
.
'列,第'
.
$key
.
'行格式错误'
]
;
$err
[]
=
$required
[
$k
]
.
'列,第'
.
$key
.
'行格式错误'
;
break
;
}
}
...
...
@@ -789,7 +833,11 @@ Class AddOrderController extends Controller
}
});
return
$err
;
if
(
!
empty
(
$err
))
{
return
[
'errcode'
=>
1
,
'errmsg'
=>
implode
(
'; '
,
$err
)];
}
return
[
'errcode'
=>
0
,
'errmsg'
=>
'验证成功'
];
}
// 处理导入内容---赋上字段
...
...
@@ -816,6 +864,7 @@ Class AddOrderController extends Controller
$data
[
'add_goods_name'
]
=
$request
->
input
(
'add_goods_name'
,
''
);
$data
[
'add_brand_name'
]
=
$request
->
input
(
'add_brand_name'
,
''
);
$data
[
'add_supplier_name'
]
=
$request
->
input
(
'add_supplier_name'
,
''
);
$data
[
'add_goods_id'
]
=
$request
->
input
(
'add_goods_id'
,
0
);
$data
[
'add_goods_number'
]
=
$request
->
input
(
'add_goods_number'
,
0
);
$data
[
'add_goods_price'
]
=
$request
->
input
(
'add_goods_price'
,
0
);
$data
[
'add_delivery_time'
]
=
$request
->
input
(
'add_delivery_time'
,
''
);
...
...
config/params.php
View file @
01230040
...
...
@@ -57,9 +57,10 @@
3
=>
'goods_price'
,
4
=>
'delivery_time'
,
5
=>
'supplier_name'
,
6
=>
'buyer_id'
,
7
=>
'remarks'
,
8
=>
'batch'
,
6
=>
'id'
,
7
=>
'buyer_id'
,
8
=>
'remarks'
,
9
=>
'batch'
,
],
'self_map'
=>
[
...
...
public/css/detail.css
View file @
01230040
...
...
@@ -119,7 +119,7 @@ li {
}
/* 后台新增订单 start */
.user-info
,
.address-content
,
.invoice-content
,
.order-info
{
.user-info
,
.address-content
,
.invoice-content
,
.order-info
,
.client-info
{
display
:
none
;
}
...
...
public/js/add_order.js
View file @
01230040
...
...
@@ -270,6 +270,7 @@
dataType
:
'json'
,
success
:
function
(
resp
)
{
console
.
log
(
resp
)
if
(
resp
.
errcode
!=
0
)
{
console
.
log
(
resp
.
data
)
layer
.
msg
(
resp
.
errmsg
);
return
false
;
}
...
...
@@ -663,9 +664,18 @@
user_id
=
$
(
'.user_id'
).
val
();
}
var
is_dgk
=
false
;
$
(
'.shop-table tbody tr'
).
each
(
function
()
{
var
cid
=
$
(
this
).
data
(
'cid'
);
cart_ids
.
push
(
cid
);
var
supplier_id
=
$
(
this
).
data
(
'sup_id'
);
var
supplier_name
=
$
(
this
).
data
(
'sup_name'
);
if
(
supplier_id
==
'7'
||
supplier_name
.
toLowerCase
()
==
'digikey'
)
{
is_dgk
=
true
;
}
})
if
(
cart_ids
.
length
>
0
)
{
...
...
@@ -703,6 +713,52 @@
}
}
if
(
type
==
1
&&
is_dgk
)
{
// 联营包含digikey商品,则填写终端资料
var
customer_cn
=
$
(
'.customer_cn'
).
val
();
var
customer_en
=
$
(
'.customer_en'
).
val
();
var
customer_type
=
$
(
'.customer_type'
).
val
();
var
product_use_classone_sn
=
$
(
'.product_use_classone_sn'
).
val
();
var
product_use_classtwo_sn
=
$
(
'.product_use_classtwo_sn'
).
val
();
if
(
!
customer_cn
)
{
layer
.
msg
(
'请填写终端中文名称'
);
return
false
;
}
// var cn_reg = /^[\u4e00-\u9fa5]+$/;
// if(!cn_reg.test(customer_cn)){
// layer.msg('请填写全中文名称');
// return false;
// }
if
(
!
customer_en
)
{
layer
.
msg
(
'请填写终端英文名称'
);
return
false
;
}
var
en_reg
=
/^
[
a-zA-Z0-9
\.\s\,]
+$/
;
if
(
!
en_reg
.
test
(
customer_en
)){
layer
.
msg
(
'请填写全英文名称'
);
return
false
;
}
if
(
customer_type
==
''
)
{
layer
.
msg
(
'请选择客户类型'
);
return
false
;
}
if
(
product_use_classone_sn
==
''
)
{
layer
.
msg
(
'请选择产品用途一级分类'
);
return
false
;
}
datax
.
customer_cn
=
customer_cn
;
datax
.
customer_en
=
customer_en
;
datax
.
customer_type
=
customer_type
;
datax
.
product_use_classone_sn
=
product_use_classone_sn
;
datax
.
product_use_classtwo_sn
=
product_use_classtwo_sn
;
}
datax
.
tax_id
=
tax_id
;
datax
.
user_coupon_id
=
user_coupon_id
;
}
...
...
@@ -770,13 +826,20 @@
}
else
if
(
resp
.
errcode
==
21024
)
{
layer
.
alert
(
'该用户已进入公司黑名单,具体请联系吴承义,同时订单无法提交'
);
return
false
;
}
else
if
(
resp
.
errcode
==
21030
)
{
layer
.
alert
(
resp
.
errmsg
);
var
delivery_place
=
$
(
'.delivery_place'
).
val
();
loading
.
lists
(
user_id
,
goods_type
,
is_online
,
delivery_place
);
// 加载购物车列表
loading
.
confirm
(
user_id
,
address_id
,
cart_ids
,
user_coupon_id
,
goods_type
,
is_online
);
// 确认订单信息
return
false
;
}
layer
.
alert
(
resp
.
errmsg
);
},
})
layer
.
msg
(
'订单生成中...'
,
{
icon
:
16
,
time
:
0
,
shade
:
0.3
});
//
layer.msg('订单生成中...', {icon: 16, time: 0, shade: 0.3});
}
}
else
{
layer
.
msg
(
'请先添加商品'
);
...
...
@@ -808,7 +871,7 @@
// 购物车列表
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
html
+=
'<tr data-cid="'
+
list
[
i
].
cart_id
+
'" data-type="'
+
list
[
i
].
type
+
'" min_buy="'
+
list
[
i
].
min_buy
+
'">'
+
html
+=
'<tr data-cid="'
+
list
[
i
].
cart_id
+
'" data-type="'
+
list
[
i
].
type
+
'" min_buy="'
+
list
[
i
].
min_buy
+
'"
data-sup_name="'
+
list
[
i
].
supplier_name
+
'" data-sup_id="'
+
list
[
i
].
supplier_id
+
'"
>'
+
'<td>'
+
(
i
+
1
)
+
'</td>'
+
'<td class="goods_id">'
+
list
[
i
].
goods_id
+
'</td>'
+
'<td>'
+
list
[
i
].
goods_name
+
'</td>'
+
...
...
@@ -969,6 +1032,23 @@
}
}
if
(
goods_type
==
1
)
{
var
list
=
resp
.
data
.
list
;
var
is_dgk
=
false
;
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
supplier_id
==
'7'
||
list
[
i
].
supplier_name
.
toLowerCase
()
==
'digikey'
)
{
is_dgk
=
true
;
}
}
if
(
is_dgk
)
{
$
(
'.client-info'
).
css
(
'display'
,
'block'
);
}
else
{
$
(
'.client-info'
).
css
(
'display'
,
'none'
);
}
}
if
(
data
.
extend_fee
)
{
$
(
'.extend_fee'
).
show
();
$
(
'.extend_fee_val'
).
empty
().
text
(
data
.
extend_fee_format
);
// 附加费
...
...
@@ -983,6 +1063,8 @@
}
return
false
;
}
else
{
$
(
'.client-info'
).
css
(
'display'
,
'none'
);
// 隐藏终端信息
}
layer
.
msg
(
resp
.
errmsg
||
'网络异常'
);
...
...
public/js/goods.js
View file @
01230040
...
...
@@ -80,6 +80,19 @@
})
})
// 无SKUID --- 供应商
$
(
'#addGoodsNoSkuid'
).
delegate
(
'.add_supplier_name'
,
'keyup'
,
function
()
{
var
val
=
$
(
this
).
val
();
if
(
val
.
toLowerCase
()
==
'digikey'
)
{
$
(
'.skuid-info'
).
css
(
'display'
,
'block'
);
$
(
'.layui-layer-iframe .layui-layer-btn, .layui-layer-page .layui-layer-btn'
).
css
(
'padding-top'
,
'50px'
);
}
else
{
$
(
'.skuid-info'
).
css
(
'display'
,
'none'
);
$
(
'.layui-layer-iframe .layui-layer-btn, .layui-layer-page .layui-layer-btn'
).
css
(
'padding-top'
,
'0px'
);
}
})
$
(
'.order-change-main'
).
on
(
'click'
,
'.add_goods_no_skuid'
,
function
()
{
layer
.
open
({
area
:
[
'600px'
],
...
...
@@ -92,6 +105,7 @@
var
add_goods_name
=
$
(
'input[name=add_goods_name]'
).
val
();
var
add_brand_name
=
$
(
'input[name=add_brand_name]'
).
val
();
var
add_supplier_name
=
$
(
'input[name=add_supplier_name]'
).
val
();
var
add_goods_id
=
$
(
'input[name=add_goods_id]'
).
val
();
var
add_goods_number
=
$
(
'input[name=add_goods_number]'
).
val
();
var
add_goods_price
=
$
(
'input[name=add_goods_price]'
).
val
();
var
add_delivery_time
=
$
(
'input[name=add_delivery_time]'
).
val
();
...
...
@@ -115,6 +129,18 @@
return
false
;
}
if
(
add_supplier_name
.
toLowerCase
()
==
'digikey'
)
{
if
(
!
add_goods_id
)
{
layer
.
msg
(
'供应商为digikey,请输入SKUID'
);
return
false
;
}
if
(
!
reg
.
test
(
add_goods_id
))
{
layer
.
msg
(
'格式错误,请输入正确的SKUID'
);
return
false
;
}
}
if
(
!
add_goods_number
)
{
layer
.
msg
(
'请输入采购数量'
);
return
false
;
...
...
@@ -146,6 +172,7 @@
add_goods_name
:
add_goods_name
,
add_brand_name
:
add_brand_name
,
add_supplier_name
:
add_supplier_name
,
add_goods_id
:
add_goods_id
,
add_goods_number
:
add_goods_number
,
add_goods_price
:
add_goods_price
,
add_delivery_time
:
add_delivery_time
,
...
...
resources/views/addOrder/content.blade.php
View file @
01230040
...
...
@@ -227,6 +227,53 @@
</div>
</div>
</div>
<div
class=
"client-info"
>
<h4>
终端客户信息
<span
class=
"title-tips"
><i
class=
"fa fa-info-circle"
></i>
digikey渠道商品必填,其他渠道可不填写
</span></h4>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<span><i
class=
"text-danger"
>
*
</i>
终端中文名称:
</span>
<input
type=
"text"
class=
"customer_cn"
name=
"customer_cn"
value=
""
>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<span><i
class=
"text-danger"
>
*
</i>
客户类型:
</span>
<select
class=
"layui-select customer_type"
name=
"customer_type"
>
<option
value=
""
>
请选择
</option>
<option
value=
"1"
>
终端
</option>
<option
value=
"2"
>
贸易商
</option>
<option
value=
"3"
>
大学
</option>
<option
value=
"4"
>
个人
</option>
</select>
</div>
</div>
</div>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<span><i
class=
"text-danger"
>
*
</i>
终端英文名称:
</span>
<input
type=
"text"
class=
"customer_en"
name=
"customer_en"
value=
""
>
<a
href=
"https://translate.google.cn/"
target=
"_blank"
>
谷歌翻译
</a>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<span><i
class=
"text-danger"
>
*
</i>
产品用途:
</span>
<select
class=
"layui-select product_use_classone_sn"
name=
"product_use_classone_sn"
>
<option
value=
""
>
请选择
</option>
</select>
<select
class=
"layui-select product_use_classtwo_sn"
name=
"product_use_classtwo_sn"
></select>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
@@ -247,7 +294,7 @@
<div
class=
"batch-btn"
>
<a
class=
"btn btn-success goods_import"
data-type=
"1"
>
批量导入物料
</a>
<a
class=
"btn btn-info"
href=
"http://img.ichunt.com/doc/excel/template/%E8%81%94%E8%90%A5%E
8%AE%A2%E5%8D%95%E
6%89%B9%E9%87%8F%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.csv"
>
联营物料模板下载
</a>
<a
class=
"btn btn-info"
href=
"http://img.ichunt.com/doc/excel/template/%E8%81%94%E8%90%A5%E6%89%B9%E9%87%8F%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.csv"
>
联营物料模板下载
</a>
</div>
</div>
</div>
...
...
@@ -406,6 +453,36 @@
var
sale_id
=
"{{$sale_id}}"
;
var
URL_api
=
"{{Config('website.api_domain')}}"
;
var
role
=
"{{ $role }}"
;
window
.
api_dgk_url_text
=
"
<?php
echo
$api_dgk_url
;
?>
"
setTimeout
(
function
(){
$
.
get
(
window
.
api_dgk_url_text
,
function
(
data
){
window
.
data
=
data
.
data
.
data
console
.
log
(
window
.
data
)
var
product
=
Object
.
keys
(
window
.
data
);
// 获取一级分类
var
product_len
=
Object
.
keys
(
window
.
data
).
length
for
(
var
i
=
0
;
i
<
product_len
;
i
++
){
$
(
'.product_use_classone_sn'
).
append
(
'
<
option
value
=
"'+i+'"
>
'+product[i]+'
<
/option>'
)
}
},
'json'
)
},
10
)
$
(
document
).
on
(
'change'
,
'.product_use_classone_sn'
,
function
(
data
){
var
select_key
=
$
(
'.product_use_classone_sn option:selected'
).
text
();
$
(
'.product_use_classtwo_sn'
).
html
(
''
);
for
(
let
key
in
window
.
data
){
if
(
key
==
select_key
){
// console.log(window.data[key])
for
(
var
i
=
0
;
i
<
window
.
data
[
key
].
length
;
i
++
){
$
(
'.product_use_classtwo_sn'
).
append
(
'
<
option
value
=
"'+i+'"
>
'+window.data[key][i]+'
<
/option>'
)
}
}
}
})
$
.
lie
.
add_order
.
lyorder
();
</script>
\ No newline at end of file
resources/views/detail/addGoodsNoSkuid.blade.php
View file @
01230040
<style>
#addGoodsNoSkuid
{
display
:
none
;
}
#addGoodsNoSkuid
,
#addGoodsNoSkuid
.skuid-info
{
display
:
none
;
}
#addGoodsNoSkuid
input
{
width
:
280px
;
height
:
35px
;
}
#addGoodsNoSkuid
textarea
{
width
:
280px
;
}
</style>
...
...
@@ -21,7 +21,13 @@
<div
class=
"form-group"
>
<label
for=
"inputEmail3"
class=
"col-sm-4 control-label"
><i
class=
"error"
>
*
</i>
供应商
</label>
<div
class=
"col-sm-8"
>
<input
class=
"form-control"
type=
"text"
name=
"add_supplier_name"
value=
""
placeholder=
"请输入供应商"
>
<input
class=
"form-control add_supplier_name"
type=
"text"
name=
"add_supplier_name"
value=
""
placeholder=
"请输入供应商"
>
</div>
</div>
<div
class=
"form-group skuid-info"
>
<label
for=
"inputEmail3"
class=
"col-sm-4 control-label"
><i
class=
"error"
>
*
</i>
SKUID
</label>
<div
class=
"col-sm-8"
>
<input
class=
"form-control"
type=
"text"
name=
"add_goods_id"
value=
""
placeholder=
"请输入商品SKUID"
>
</div>
</div>
<div
class=
"form-group"
>
...
...
resources/views/detail/content.blade.php
View file @
01230040
...
...
@@ -463,6 +463,7 @@
<th>
商品名
</th>
<th>
型号
</th>
@else
<th>
商品ID
</th>
<th>
商品名
</th>
@endif
...
...
@@ -529,6 +530,7 @@
<td><a
href=
"{{Config('website.main_url').'item/'.$v['goods_id'].'.html?ptag=order'}}"
target=
"_blank"
>
{{$v['goods_name']}}
</a></td>
<td>
{{ App\Http\Controllers\getGoodsName($v['goods_id']) }}
</td>
@else
<td>
{{$v['goods_id']}}
</td>
<td><a
href=
"{{Config('website.main_url').'goods_'.$v['goods_id'].'.html?ptag=order'}}"
target=
"_blank"
>
{{$v['goods_name']}}
</a></td>
@endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment