Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
杨树贤
/
liexin_supplier
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
cfdd2850
authored
Jul 29, 2021
by
mushishixian
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
解决bug
parent
e93195ff
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
112 additions
and
40 deletions
app/Http/Controllers/Api/SupplierApiController.php
app/Http/Controllers/Api/SupplierShareApplyApiController.php
app/Http/Controllers/Filter/SupplierFilter.php
app/Http/Services/DataService.php
app/Http/Services/SupplierAddressService.php
app/Http/Services/SupplierService.php
app/Http/Services/SupplierShareApplyService.php
app/Http/Services/SupplierStatisticsService.php
app/Http/routes.php
resources/views/iframe.blade.php
resources/views/script/AuditSupplierShareApplyScript.blade.php
resources/views/script/SupplierListScript.blade.php
resources/views/script/supplier/SupplierBaseScript.blade.php
resources/views/web/BlockSupplier.blade.php
resources/views/web/SupplierDetail.blade.php
resources/views/web/supplier/SupplierBase.blade.php
app/Http/Controllers/Api/SupplierApiController.php
View file @
cfdd2850
...
...
@@ -418,6 +418,9 @@ class SupplierApiController extends Controller
if
(
empty
(
$blockReason
))
{
$this
->
response
(
-
1
,
'必须填写拉黑原因'
);
}
if
(
mb_strlen
(
$blockReason
)
>
200
)
{
$this
->
response
(
-
1
,
'拉黑原因不能超过200字'
);
}
$channelModel
=
new
SupplierChannelModel
();
$result
=
$channelModel
->
where
(
'supplier_id'
,
$supplierId
)
->
update
([
'block_reason'
=>
$request
->
get
(
'block_reason'
),
...
...
app/Http/Controllers/Api/SupplierShareApplyApiController.php
View file @
cfdd2850
...
...
@@ -3,6 +3,7 @@
namespace
App\Http\Controllers\Api
;
use
App\Http\Controllers\Controller
;
use
App\Http\Services\DepartmentService
;
use
App\Http\Services\SupplierShareApplyService
;
use
App\Model\SupplierChannelModel
;
use
Illuminate\Http\Request
;
...
...
@@ -33,10 +34,16 @@ class SupplierShareApplyApiController extends Controller
$supplierModel
=
new
SupplierChannelModel
();
$supplier
=
$supplierModel
->
where
(
'supplier_name'
,
$supplierName
)
->
first
();
if
(
empty
(
$supplier
))
{
$this
->
response
(
-
1
,
'
没有匹配到存在的供应商
'
);
$this
->
response
(
-
1
,
'
该供应商名称不存在,请输入正确供应商名称
'
);
}
$applyService
=
new
SupplierShareApplyService
();
$departments
=
$applyService
->
getApplyCanUseDepartments
(
$supplier
);
//获取当前人的部门id,如果部门列表里面包含自己的部门,则提示该供应商属于自己部门,请找主管分配
$departmentService
=
new
DepartmentService
();
$department
=
$departmentService
->
getTopDepartmentByUserId
(
$request
->
user
->
userId
);
if
(
in_array
(
$department
,
$departments
))
{
$this
->
response
(
-
1
,
'该供应商属于自己部门,请找主管分配'
);
}
if
(
empty
(
$departments
))
{
$this
->
response
(
-
1
,
'该供应商不存在相关联的部门'
);
}
...
...
app/Http/Controllers/Filter/SupplierFilter.php
View file @
cfdd2850
...
...
@@ -19,7 +19,7 @@ class SupplierFilter
$query
=
$this
->
defaultFilter
(
$query
,
$map
[
'source_type'
]);
//判断筛选参数
if
(
!
empty
(
$map
[
'supplier_id'
]))
{
$query
->
where
(
'supplier_id'
,
$map
[
'supplier_id'
]);
$query
->
where
(
'supplier_
channel.supplier_
id'
,
$map
[
'supplier_id'
]);
}
if
(
!
empty
(
$map
[
'supplier_name'
]))
{
$query
->
where
(
'supplier_name'
,
'like'
,
"%
{
$map
[
'supplier_name'
]
}
%"
);
...
...
@@ -136,9 +136,11 @@ class SupplierFilter
$inUserIdSql
=
"("
.
$inUserIdSql
.
")"
;
if
(
$subordinateCodeIds
)
{
if
(
$canViewFakeSupplier
)
{
$query
->
whereRaw
(
DB
::
raw
(
"(create_uid in
$inUserIdSql
or purchase_uid in
$inCodeIdSql
or channel_uid REGEXP '
$likeSqlRaw
' or is_type = 1) "
));
$query
->
whereRaw
(
DB
::
raw
(
"(create_uid in
$inUserIdSql
or purchase_uid in
$inCodeIdSql
or channel_uid REGEXP '
$likeSqlRaw
' or is_type = 1) "
));
}
else
{
$query
->
whereRaw
(
DB
::
raw
(
"(create_uid in
$inUserIdSql
or purchase_uid in
$inCodeIdSql
or channel_uid REGEXP '
$likeSqlRaw
') "
));
$query
->
whereRaw
(
DB
::
raw
(
"(create_uid in
$inUserIdSql
or purchase_uid in
$inCodeIdSql
or channel_uid REGEXP '
$likeSqlRaw
') "
));
}
}
else
{
if
(
$canViewFakeSupplier
)
{
...
...
@@ -234,21 +236,21 @@ class SupplierFilter
});
break
;
//附件里面缺少品质协议的
// case "no_quality_assurance_agreement":
// $query->leftjoin('supplier_attachment', 'supplier_channel.supplier_id', '=',
// 'supplier_attachment.supplier_id')
// ->selectRaw('lie_supplier_channel.*,
// lie_supplier_attachment.quality_assurance_agreement,lie_supplier_attachment.supplier_id')
// ->where(function ($q) {
// $q->where('supplier_attachment.quality_assurance_agreement', '')
// ->orWhereNull('supplier_attachment.supplier_id');
// });
// break;
case
"no_quality_assurance_agreement"
:
$query
->
whereHas
(
'attachment'
,
function
(
$q
)
{
$q
->
where
(
'quality_assurance_agreement'
,
''
)
->
orWhereNull
(
'supplier_id'
);
$query
->
leftjoin
(
'supplier_attachment'
,
'supplier_channel.supplier_id'
,
'='
,
'supplier_attachment.supplier_id'
)
->
selectRaw
(
'lie_supplier_channel.*,
lie_supplier_attachment.quality_assurance_agreement,lie_supplier_attachment.supplier_id'
)
->
where
(
function
(
$q
)
{
$q
->
where
(
'supplier_attachment.quality_assurance_agreement'
,
''
)
->
orWhereNull
(
'supplier_attachment.supplier_id'
);
});
break
;
// case "no_quality_assurance_agreement":
// $query->whereHas('attachment', function ($q) {
// $q->where('quality_assurance_agreement1', '')->orWhereNull('supplier_id');
// });
// break;
//联系人待完善
case
"contact_no_complete"
:
$query
->
whereHas
(
'contact'
,
function
(
$q
)
{
...
...
app/Http/Services/DataService.php
View file @
cfdd2850
...
...
@@ -40,18 +40,29 @@ class DataService
}
}
unset
(
$file
);
$business_license
=
array_get
(
$files
,
'business_license'
);
$billing_information
=
array_get
(
$files
,
'billing_information'
);
$registration_certificate
=
array_get
(
$files
,
'registration_certificate'
);
$incorporation_certificate
=
array_get
(
$files
,
'incorporation_certificate'
);
$certification_notice
=
array_get
(
$files
,
'certification_notice'
);
$supplier_survey
=
array_get
(
$files
,
'supplier_survey'
);
$proxy_certificate
=
array_get
(
$files
,
'proxy_certificate'
);
$quality_assurance_agreement
=
array_get
(
$files
,
'quality_assurance_agreement'
);
$confidentiality_agreement
=
array_get
(
$files
,
'confidentiality_agreement'
);
$cooperation_agreement
=
array_get
(
$files
,
'cooperation_agreement'
);
$other_attachment
=
array_get
(
$files
,
'other_attachment'
);
$attachment
=
[
'business_license'
=>
array_get
(
$files
,
'business_license'
)
,
'billing_information'
=>
array_get
(
$files
,
'billing_information'
)
,
'registration_certificate'
=>
array_get
(
$files
,
'registration_certificate'
)
,
'incorporation_certificate'
=>
array_get
(
$files
,
'incorporation_certificate'
)
,
'certification_notice'
=>
array_get
(
$files
,
'certification_notice'
)
,
'supplier_survey'
=>
array_get
(
$files
,
'supplier_survey'
)
,
'proxy_certificate'
=>
array_get
(
$files
,
'proxy_certificate'
)
,
'quality_assurance_agreement'
=>
array_get
(
$files
,
'quality_assurance_agreement'
)
,
'confidentiality_agreement'
=>
array_get
(
$files
,
'confidentiality_agreement'
)
,
'cooperation_agreement'
=>
array_get
(
$files
,
'cooperation_agreement'
)
,
'other_attachment'
=>
array_get
(
$files
,
'other_attachment'
)
,
'business_license'
=>
$business_license
?
[
$business_license
]
:
''
,
'billing_information'
=>
$billing_information
?
[
$billing_information
]
:
''
,
'registration_certificate'
=>
$registration_certificate
?
[
$registration_certificate
]
:
''
,
'incorporation_certificate'
=>
$incorporation_certificate
?
[
$incorporation_certificate
]
:
''
,
'certification_notice'
=>
$certification_notice
?
[
$certification_notice
]
:
''
,
'supplier_survey'
=>
$supplier_survey
?
[
$supplier_survey
]
:
''
,
'proxy_certificate'
=>
$proxy_certificate
?
[
$proxy_certificate
]
:
''
,
'quality_assurance_agreement'
=>
$quality_assurance_agreement
?
[
$quality_assurance_agreement
]
:
''
,
'confidentiality_agreement'
=>
$confidentiality_agreement
?
[
$confidentiality_agreement
]
:
''
,
'cooperation_agreement'
=>
$cooperation_agreement
?
[
$cooperation_agreement
]
:
''
,
'other_attachment'
=>
$other_attachment
?
[
$other_attachment
]
:
''
,
'create_time'
=>
time
(),
'update_time'
=>
time
(),
'supplier_id'
=>
$supplierId
,
...
...
app/Http/Services/SupplierAddressService.php
View file @
cfdd2850
...
...
@@ -50,4 +50,20 @@ class SupplierAddressService
return
$result
;
}
//保存发货地址
public
function
saveShippingAddress
(
$supplierId
,
$address
)
{
$supplierModel
=
new
SupplierChannelModel
();
$supplierCode
=
$supplierModel
->
where
(
'supplier_id'
,
$supplierId
)
->
value
(
'supplier_code'
);
//组装成两条数据(鬼知道以前为啥存两条)
$shippingData
=
[
'supplier_id'
=>
$supplierId
,
'supplier_code'
=>
$supplierCode
,
'address'
=>
$address
,
'address_type'
=>
1
,
];
$addressModel
=
new
SupplierAddressModel
();
$addressModel
->
insert
(
$shippingData
);
}
}
\ No newline at end of file
app/Http/Services/SupplierService.php
View file @
cfdd2850
...
...
@@ -73,7 +73,7 @@ class SupplierService
];
$address
=
array_only
(
$channel
,
[
'supplier_id'
,
'shipping_address'
,
'return_address'
,
'return_consignee'
,
'return_phone'
]);
$shippingAddress
=
array_get
(
$channel
,
'shipping_address'
);
$attachment
=
$channel
[
'attachment'
];
unset
(
$channel
[
'hk'
],
$channel
[
'cn'
],
$channel
[
'return_phone'
],
$channel
[
'return_address'
],
$channel
[
'return_consignee'
],
$channel
[
'shipping_address'
],
$channel
[
'cn_delivery_time_period'
],
...
...
@@ -119,11 +119,16 @@ class SupplierService
$contact
[
'admin_id'
]
=
request
()
->
user
->
userId
;
$contactModel
=
new
SupplierContactModel
();
$contactModel
->
insert
(
$contact
);
//保存生成的内部编码
$this
->
saveSupplierCode
(
$supplierId
);
//新增的时候也要去添加地址了
$supplierAddressService
=
new
SupplierAddressService
();
$supplierAddressService
->
saveShippingAddress
(
$supplierId
,
$shippingAddress
);
}
else
{
$supplierId
=
$this
->
newSupplierId
=
$channel
[
'supplier_id'
];
//要做进一步判断,部分字段修改不需要审核
$auditService
=
new
SupplierAuditService
();
$needAudit
=
$auditService
->
checkNeedAudit
(
$supplierId
,
$channel
,
$attachment
);
$needAudit
=
$auditService
->
checkNeedAudit
(
$supplierId
,
$channel
,
$attachment
);
if
(
$needAudit
)
{
$channel
[
'status'
]
=
SupplierChannelModel
::
STATUS_IN_REVIEW
;
}
...
...
@@ -151,8 +156,6 @@ class SupplierService
//保存附件
$attachmentService
=
new
SupplierAttachmentService
();
$attachmentService
->
saveAttachment
(
$supplierId
,
$attachment
);
//保存生成的内部编码
$this
->
saveSupplierCode
(
$supplierId
);
//重新生成外部显示的编码
$this
->
generateSupplierSn
(
$supplierId
,
$channel
[
'supplier_group'
]);
return
true
;
...
...
app/Http/Services/SupplierShareApplyService.php
View file @
cfdd2850
...
...
@@ -105,7 +105,7 @@ class SupplierShareApplyService
//当要判断申请者申请的部门的时候,要复审人为空,因为复审这一步是被申请部门的人审核的
$q
->
where
(
'apply_department_id'
,
$departmentId
)
->
where
(
'review_uid'
,
0
)
->
where
(
'audit_uid'
,
'!='
,
0
);
})
->
orderBy
(
'id'
,
'desc'
);
$limit
=
request
()
->
get
(
'limit'
,
1
0
);
$limit
=
request
()
->
get
(
'limit'
,
2
0
);
$list
=
$query
->
paginate
(
$limit
)
->
toArray
();
$transformer
=
new
SupplierShareApplyTransformer
();
$list
[
'data'
]
=
$transformer
->
transformList
(
$list
[
'data'
]);
...
...
app/Http/Services/SupplierStatisticsService.php
View file @
cfdd2850
...
...
@@ -87,7 +87,7 @@ class SupplierStatisticsService
$model
=
new
SupplierChannelModel
();
//显示默认的数据(有权限逻辑)
$filter
=
new
SupplierFilter
();
$model
=
$model
->
where
(
'supplier_
id'
,
'>'
,
0
);
$model
=
$model
->
where
(
'supplier_
code'
,
'!='
,
''
);
return
$filter
->
defaultFilter
(
$model
,
$type
)
->
count
();
}
}
\ No newline at end of file
app/Http/routes.php
View file @
cfdd2850
...
...
@@ -45,5 +45,5 @@ Route::group(['middleware' => ['web'], 'namespace' => 'Api'], function () {
Route
::
match
([
'get'
,
'post'
],
'/test'
,
function
()
{
$service
=
new
\App\Http\Services\DataService
();
// $service->initSystemTag();
$service
->
replaceStandardBrandId
();
$service
->
transferFileData
();
});
resources/views/iframe.blade.php
View file @
cfdd2850
...
...
@@ -41,6 +41,14 @@
.layui-table-click
{
background-color
:
#ddf2e9
!important
;
}
.list-href
{
color
:
dodgerblue
;
}
.list-href
:hover
{
color
:
#1417F4
;
}
</style>
<body>
<!-- 正文开始 -->
...
...
resources/views/script/AuditSupplierShareApplyScript.blade.php
View file @
cfdd2850
...
...
@@ -6,7 +6,7 @@
,
url
:
'/api/supplier_share_apply/GetAuditSupplierShareApplyList'
,
method
:
'post'
,
size
:
'sm'
,
limit
:
1
0
,
limit
:
2
0
,
cellMinWidth
:
80
//全局定义常规单元格的最小宽度
,
where
:
{}
,
loading
:
true
...
...
resources/views/script/SupplierListScript.blade.php
View file @
cfdd2850
This diff is collapsed.
Click to expand it.
resources/views/script/supplier/SupplierBaseScript.blade.php
View file @
cfdd2850
...
...
@@ -168,6 +168,7 @@
parent
.
layer
.
msg
(
res
.
err_msg
,
{
icon
:
6
});
}
else
{
parent
.
layer
.
msg
(
res
.
err_msg
,
{
icon
:
5
});
//todo
}
}
return
false
;
...
...
resources/views/web/BlockSupplier.blade.php
View file @
cfdd2850
...
...
@@ -7,8 +7,11 @@
<div
class=
"layui-card-body"
>
<form
class=
"layui-form"
action=
""
>
<input
type=
"hidden"
name=
"supplier_id"
value=
"{{$supplier['supplier_id']}}"
>
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
基本信息
</b>
</blockquote>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
基本信息
:
</label>
<label
class=
"layui-form-label"
>
供应商名称
:
</label>
<div
class=
"layui-input-block block-42"
style=
"padding-top: 7px"
>
{{$supplier['supplier_name']}}
<a
style=
"color: dodgerblue;margin-left: 20px"
...
...
@@ -17,8 +20,13 @@
>
{{$supplier['supplier_code']}}
</a>
</div>
</div>
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
注意
</b>
<br>
对应供应商设为黑名单后,猎芯将无法与其进行交易,如要再次启用,则须再次走审核流程。
</blockquote>
<div
class=
"layui-form-item layui-form-text"
>
<label
class=
"layui-form-label"
>
原因说明 :
</label>
<label
class=
"layui-form-label"
>
<span
class=
"require"
>
*
</span>
原因说明 :
</label>
<div
class=
"layui-input-block"
>
<textarea
name=
"block_reason"
required
placeholder=
"请填写拉黑原因"
class=
"layui-textarea"
></textarea>
</div>
...
...
resources/views/web/SupplierDetail.blade.php
View file @
cfdd2850
...
...
@@ -10,6 +10,7 @@
width
:
100%
;
z-index
:
10
;
}
.required_field
{
color
:
red
;
margin-right
:
5px
;
...
...
@@ -182,8 +183,8 @@
@endif
{{array_get(config('fixed.FileNameMapping'),$key)}} :
@foreach($item as $k=>$v)
<a
href=
"{{
$v['url']
}}"
style=
"color: dodgerblue"
target=
"_blank"
>
{{
$v['file_name']
}}
</a>
|
<a
href=
"{{
array_get($v,'url')
}}"
style=
"color: dodgerblue"
target=
"_blank"
>
{{
array_get($v,'file_name')
}}
</a>
|
@endforeach
</div>
@endif
...
...
resources/views/web/supplier/SupplierBase.blade.php
View file @
cfdd2850
...
...
@@ -66,6 +66,16 @@
value=
"{{$supplier['supplier_address'] or ''}}"
>
</div>
</div>
@if($operate=='add')
<div
class=
"layui-col-md12"
>
<label
class=
"layui-form-label"
>
发货地址 :
</label>
<div
class=
"layui-input-block"
>
<input
type=
"text"
name=
"shipping_address"
id=
"shipping_address"
placeholder=
"请输入发货地址"
class=
"layui-input"
value=
"{{$address['shipping_address'] or ''}}"
>
</div>
</div>
@endif
</div>
</div>
<div
class=
"layui-form-item"
>
...
...
@@ -80,7 +90,7 @@
</div>
</div>
<div
class=
"layui-col-md8"
>
<label
class=
"layui-form-label"
style=
"width: 80px"
>
成立时间 :
<label
class=
"layui-form-label"
style=
"width: 80px"
>
<span
class=
"require"
>
*
</span>
成立时间 :
</label>
<div
class=
"layui-input-block"
style=
"width: 150px"
>
<input
type=
"text"
id=
"established_time"
name=
"established_time"
...
...
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