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
8bf96bad
authored
Apr 26, 2022
by
杨树贤
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
调整新增表单页面
parent
b86faa69
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
128 additions
and
39 deletions
app/Http/Controllers/Api/SupplierApiController.php
app/Http/Controllers/Api/SupplierAttachmentApiController.php
app/Http/Services/SupplierAttachmentService.php
app/Http/Services/SupplierReceiptService.php
app/Http/Services/SupplierService.php
app/Http/function.php
resources/views/iframe.blade.php
resources/views/script/AddSupplierScript.blade.php
resources/views/script/supplier/SupplierAttachmentScript.blade.php
resources/views/script/supplier/SupplierContactScript.blade.php
resources/views/script/supplier/SupplierReceiptScript.blade.php
resources/views/web/AddSupplier.blade.php
resources/views/web/UpdateSupplier.blade.php
app/Http/Controllers/Api/SupplierApiController.php
View file @
8bf96bad
...
...
@@ -116,7 +116,6 @@ class SupplierApiController extends Controller
'can_check_uids'
]);
$channel
=
$request
->
only
(
$channelMap
);
dd
(
$channel
);
$service
=
new
SupplierService
();
$result
=
$service
->
saveSupplier
(
$channel
);
if
(
!
$result
)
{
...
...
app/Http/Controllers/Api/SupplierAttachmentApiController.php
View file @
8bf96bad
...
...
@@ -62,7 +62,7 @@ class SupplierAttachmentApiController extends Controller
$content
=
!
empty
(
$attachment
[
'attachment_id'
])
?
'修改附件信息'
:
'添加附件信息'
;
$remark
=
json_encode
(
$attachment
);
$logService
->
AddLog
(
$attachment
[
'supplier_id'
],
LogModel
::
UPDATE_OPERATE
,
'修改供应商基本资料'
,
$content
,
$remark
);
$this
->
response
();
$this
->
response
(
0
,
'保存成功'
);
}
}
...
...
app/Http/Services/SupplierAttachmentService.php
View file @
8bf96bad
...
...
@@ -53,8 +53,31 @@ class SupplierAttachmentService
}
}
public
function
batchInsertAttachment
(
$attachmentData
)
//新增附件来源于新增页面,数据要转换
public
static
function
addAttachmentFromAddPage
(
$supplierId
,
$attachmentData
)
{
return
SupplierAttachmentsModel
::
insert
(
$attachmentData
);
if
(
empty
(
$attachmentData
))
{
return
true
;
}
$attachments
=
[];
foreach
(
count
(
$attachmentData
[
'file_name'
])
as
$key
=>
$value
)
{
$attachment
=
[
'supplier_id'
=>
$supplierId
,
'file_name'
=>
$attachmentData
[
'file_name'
][
$key
],
'file_url'
=>
$attachmentData
[
'file_url'
][
$key
],
'field_name'
=>
$attachmentData
[
'field_name'
][
$key
],
'validity_type'
=>
$attachmentData
[
'validity_type'
][
$key
],
'create_uid'
=>
request
()
->
user
->
userId
,
'create_name'
=>
request
()
->
user
->
name
,
'type_name'
=>
array_get
(
config
(
'field.AttachmentFields'
),
$attachmentData
[
'field_name'
][
$key
]),
];
if
(
$attachmentData
[
'validity_period'
])
{
$validityPeriod
=
explode
(
'~'
,
$attachmentData
[
'validity_period'
]);
$attachment
[
'validity_start'
]
=
strtotime
(
trim
(
$validityPeriod
[
0
]));
$attachment
[
'validity_end'
]
=
strtotime
(
trim
(
$validityPeriod
[
1
]));
}
$attachments
[]
=
$attachment
;
}
return
SupplierAttachmentsModel
::
insert
(
$attachments
);
}
}
\ No newline at end of file
app/Http/Services/SupplierReceiptService.php
0 → 100644
View file @
8bf96bad
<?php
namespace
App\Http\Services
;
use
App\Model\LogModel
;
use
App\Model\SupplierAddressModel
;
use
App\Model\SupplierChannelModel
;
use
App\Model\SupplierContactModel
;
class
SupplierReceiptService
{
public
static
function
addReceiptFromAddPage
(
$supplierId
,
$receiptData
)
{
$receiptData
[
'supplier_id'
]
=
$supplierId
;
//判断银行信息是否有,没有的话不用新增
}
}
\ No newline at end of file
app/Http/Services/SupplierService.php
View file @
8bf96bad
...
...
@@ -11,6 +11,7 @@ use App\Model\SupplierAddressModel;
use
App\Model\SupplierAttachmentModel
;
use
App\Model\SupplierChannelModel
;
use
App\Model\SupplierContactModel
;
use
App\Model\SupplierReceiptModel
;
use
Illuminate\Support\Facades\DB
;
class
SupplierService
...
...
@@ -37,7 +38,7 @@ class SupplierService
$logService
=
new
LogService
();
$model
=
new
SupplierChannelModel
();
//获取未修改前的供应商,做数据比较存储
//获取未修改前的供应商,做
日志
数据比较存储
$oldSupplier
=
$newSupplier
=
[];
if
(
!
empty
(
$channel
[
'supplier_id'
]))
{
$oldSupplier
=
$model
->
where
(
'supplier_id'
,
$channel
[
'supplier_id'
])
->
first
();
...
...
@@ -47,7 +48,8 @@ class SupplierService
//走事务
$dataResult
=
DB
::
connection
(
'web'
)
->
transaction
(
function
()
use
(
$channel
,
$model
,
$oldSupplier
)
{
$tagService
=
new
SupplierTagService
();
//获取和非主表有关的数据
//获取附加税数据
$extraFax
=
[
'supplier_id'
=>
$channel
[
'supplier_id'
],
'supplier_code'
=>
$channel
[
'supplier_code'
],
...
...
@@ -91,7 +93,6 @@ class SupplierService
$attachmentData
=
array_only
(
$channel
,
$attachmentField
);
$channel
=
array_except
(
$channel
,
$attachmentField
);
//处理银行信息,新增的时候才会有附件信息过来
$receiptField
=
[
'receipt_type'
,
...
...
@@ -106,7 +107,6 @@ class SupplierService
$receiptData
=
array_only
(
$channel
,
$receiptField
);
$channel
=
array_except
(
$channel
,
$receiptField
);
//先去插入到channel表
$channel
[
'create_uid'
]
=
request
()
->
user
->
userId
;
$channel
[
'create_name'
]
=
request
()
->
user
->
name
;
...
...
@@ -142,19 +142,32 @@ class SupplierService
$contact
=
array_only
(
$channel
,
$contactField
);
$channel
=
array_except
(
$channel
,
$contactField
);
$channel
[
'channel_uid'
]
=
$contact
[
'can_check_uids'
];
//插入供应商返回供应商id
$supplierId
=
$this
->
newSupplierId
=
$model
->
insertGetId
(
$channel
);
//添加联系人
//要有数据才新增,麻烦得要死
if
(
!
checkArrayAllValueNull
(
$contact
))
{
$contact
[
'supplier_id'
]
=
$supplierId
;
$contact
[
'add_time'
]
=
time
();
$contact
[
'admin_id'
]
=
request
()
->
user
->
userId
;
$contactModel
=
new
SupplierContactModel
();
$contactModel
->
insert
(
$contact
);
SupplierContactModel
::
insert
(
$contact
);
}
//添加附件
SupplierAttachmentService
::
addAttachmentFromAddPage
(
$supplierId
,
$attachmentData
);
//添加银行信息,也是有填一个表单域也要新增,排除receipt_type字段,因为这个肯定有的
if
(
!
checkArrayAllValueNull
(
$receiptData
,
[
'receipt_type'
]))
{
$receiptData
[
'supplier_id'
]
=
$supplierId
;
SupplierReceiptModel
::
insert
(
$receiptData
);
}
//如果是临时供应商,要打上临时供应商的标签
if
(
$channel
[
'supplier_type'
]
==
SupplierChannelModel
::
SUPPLIER_TYPE_TEMPORARY
)
{
$tagService
->
saveTags
(
$supplierId
,
SupplierTagService
::
TAG_TYPE_SYSTEM
,
'临时供应商'
,
''
);
$tagService
->
saveTags
(
$supplierId
,
SupplierTagService
::
TAG_TYPE_SYSTEM
,
'临时供应商'
,
''
);
}
//保存生成的内部编码
...
...
app/Http/function.php
View file @
8bf96bad
...
...
@@ -188,3 +188,19 @@ function BatchTrim($data)
}
return
$data
;
}
//判断一个数组是否所有key都是空的
function
checkArrayAllValueNull
(
$array
,
$excludeField
=
[])
{
foreach
(
$array
as
$key
=>
$value
)
{
if
(
in_array
(
$key
,
$excludeField
))
{
continue
;
}
if
(
!
empty
(
$value
))
{
return
false
;
}
}
return
true
;
}
\ No newline at end of file
resources/views/iframe.blade.php
View file @
8bf96bad
...
...
@@ -37,8 +37,8 @@
.require
{
color
:
red
;
font-size
:
16
px
;
margin-right
:
5
px
;
font-size
:
20
px
;
margin-right
:
3
px
;
}
.layui-table-click
{
...
...
resources/views/script/AddSupplierScript.blade.php
View file @
8bf96bad
...
...
@@ -7,6 +7,14 @@
let
element
=
layui
.
element
;
let
xmSelect
=
layui
.
xmSelect
;
form
.
on
(
'radio(receipt_type)'
,
function
(
data
)
{
if
(
data
.
value
==
1
)
{
$
(
'#swift_code_div'
).
hide
();
}
else
{
$
(
'#swift_code_div'
).
show
();
}
});
//图片上传
upload
.
render
({
elem
:
'.upload-img'
...
...
resources/views/script/supplier/SupplierAttachmentScript.blade.php
View file @
8bf96bad
...
...
@@ -27,11 +27,11 @@
},
@
endif
{
field
:
'type_name'
,
title
:
'附件类型'
,
align
:
'center'
,
width
:
150
field
:
'type_name'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
附件类型', align: 'center', width: 15
0
},
{
field
:
'file_name'
,
title
:
'附件名称'
,
align
:
'center'
,
width
:
200
},
{
field
:
'file_name'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
附件名称', align: 'center', width: 200}
,
{
field
:
'description'
,
title
:
'附件说明'
,
align
:
'center'
,
width
:
250
},
{
field
:
'validity_period'
,
title
:
'有效期'
,
align
:
'center'
,
width
:
250
},
{
field
:
'validity_period'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
有效期', align: 'center', width: 250}
,
{
field
:
'create_name'
,
title
:
'上传人'
,
align
:
'center'
,
width
:
100
},
{
field
:
'create_time'
,
title
:
'上传时间'
,
align
:
'center'
,
width
:
150
},
]],
...
...
resources/views/script/supplier/SupplierContactScript.blade.php
View file @
8bf96bad
...
...
@@ -23,15 +23,15 @@
},
@
endif
{
field
:
'supplier_consignee'
,
title
:
'联系人'
,
align
:
'center'
,
width
:
150
field
:
'supplier_consignee'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
联系人', align: 'center',width:15
0
},
{
field
:
'supplier_position'
,
title
:
'职位'
,
align
:
'center'
,
width
:
100
},
{
field
:
'supplier_email'
,
title
:
'邮箱'
,
align
:
'center'
,
width
:
200
},
{
field
:
'supplier_mobile'
,
title
:
'手机号'
,
align
:
'center'
,
width
:
150
},
{
field
:
'supplier_position'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
职位', align: 'center',width: 100}
,
{
field
:
'supplier_email'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
邮箱', align: 'center',width: 200}
,
{
field
:
'supplier_mobile'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
手机号', align: 'center',width: 150}
,
{
field
:
'supplier_telephone'
,
title
:
'座机'
,
align
:
'center'
,
width
:
150
},
{
field
:
'supplier_qq'
,
title
:
'QQ'
,
align
:
'center'
,
width
:
120
},
{
field
:
'supplier_fax'
,
title
:
'传真'
,
align
:
'center'
,
width
:
140
},
{
field
:
'channel_name'
,
title
:
'采购员'
,
align
:
'center'
,
width
:
110
},
{
field
:
'channel_name'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
采购员', align: 'center',width: 110}
,
{
field
:
'working_status'
,
title
:
'采购员状态'
,
align
:
'center'
,
width
:
120
},
]],
id
:
'contactList'
,
...
...
resources/views/script/supplier/SupplierReceiptScript.blade.php
View file @
8bf96bad
...
...
@@ -29,13 +29,13 @@
{
field
:
'receipt_type'
,
title
:
'银行类型'
,
align
:
'center'
,
width
:
120
},
{
field
:
'bank_name'
,
title
:
'开户名称'
,
align
:
'center'
,
width
:
150
},
{
field
:
'bank_adderss'
,
title
:
'开户行'
,
align
:
'center'
,
width
:
150
},
{
field
:
'account_no'
,
title
:
'银行账号'
,
align
:
'center'
,
width
:
130
},
{
field
:
'bank_name'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
开户名称', align: 'center', width: 150}
,
{
field
:
'bank_adderss'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
开户行', align: 'center', width: 150}
,
{
field
:
'account_no'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
银行账号', align: 'center', width: 130}
,
{
field
:
'account_name'
,
title
:
'账户名称'
,
align
:
'center'
,
width
:
150
},
{
field
:
'swift_code'
,
title
:
'电汇号码'
,
align
:
'center'
,
width
:
130
},
{
field
:
'certificate'
,
title
:
'信息凭证'
,
width
:
200
,
align
:
'center'
,
templet
:
function
(
data
)
{
field
:
'certificate'
,
title
:
'
<
span
class
=
"require"
>*
<
/span>
信息凭证', width: 200, align: 'center', templet: function
(
data
)
{
return
"
<
a
href
=
'" + data.certificate + "'
target
=
'_blank'
>
" + data.certificate + "
<
/a>"
;
}
},
...
...
resources/views/web/AddSupplier.blade.php
View file @
8bf96bad
...
...
@@ -218,7 +218,7 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"bank_name"
id=
"bank_name"
placeholder=
"请输入开户名称,比如深圳市猎芯科技有限公司"
class=
"layui-input"
value=
"
{{$receipt['bank_name'] or ''}}
"
>
value=
""
>
</div>
</div>
<div
class=
"layui-col-md4"
>
...
...
@@ -226,7 +226,7 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"bank_adderss"
id=
"bank_adderss"
placeholder=
"请输入开户行,比如深圳建设银行"
class=
"layui-input"
value=
"
{{$receipt['bank_adderss'] or ''}}
"
>
value=
""
>
</div>
</div>
<div
class=
"layui-col-md4"
>
...
...
@@ -234,7 +234,7 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"account_no"
id=
"account_no"
placeholder=
"请输入银行账号"
class=
"layui-input"
value=
"
{{$receipt['account_no'] or ''}}
"
>
value=
""
>
</div>
</div>
<div
class=
"layui-col-md4"
>
...
...
@@ -242,7 +242,7 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"account_name"
id=
"account_name"
placeholder=
"请输入账户名称"
class=
"layui-input"
value=
"
{{$receipt['account_name'] or ''}}
"
>
value=
""
>
</div>
</div>
<div
class=
"layui-col-md4"
>
...
...
@@ -250,11 +250,8 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"account_adderss"
id=
"account_adderss"
placeholder=
"请输入银行具体地址,精确到街道"
class=
"layui-input"
value=
"{{$receipt['account_adderss'] or ''}}"
>
</div>
value=
""
>
</div>
<div
class=
"layui-col-md4"
>
</div>
<div
class=
"layui-col-md4"
>
<label
class=
"layui-form-label"
>
...
...
@@ -262,14 +259,24 @@
</label>
<div
class=
"layui-input-block"
>
<input
type=
"hidden"
name=
"certificate"
id=
"certificate"
value=
"
{{$receipt['certificate'] or ''}}
"
>
value=
""
>
<button
type=
"button"
class=
"layui-btn upload-img layui-btn-sm"
preview=
"preview"
data-obj=
"certificate"
>
<i
class=
"layui-icon"
>

</i>
上传文件
</button>
<a
target=
"_blank"
id=
"certificate_url"
href=
"{{$receipt['certificate'] or ''}}"
>
{{$receipt['certificate'] or ''}}
</a>
href=
""
></a>
</div>
</div>
<div
class=
"layui-col-md4"
>
<div
class=
"layui-form-item"
id=
"swift_code_div"
style=
"display: none"
>
<label
class=
"layui-form-label"
><span
class=
"require"
>
*
</span>
Swift Code :
</label>
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"swift_code"
id=
"Swift Code"
placeholder=
"请输入电汇号码"
class=
"layui-input"
value=
""
>
</div>
</div>
</div>
<div
class=
"layui-col-md4"
>
...
...
@@ -277,7 +284,7 @@
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
name=
"remark"
id=
"remark"
placeholder=
"请输入备注"
class=
"layui-input"
value=
"
{{$receipt['remark'] or ''}}
"
>
value=
""
>
</div>
</div>
</div>
...
...
resources/views/web/UpdateSupplier.blade.php
View file @
8bf96bad
...
...
@@ -154,11 +154,11 @@
</div>
</div>
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
财务信息
</b>
<b>
<span
class=
"require"
>
*
</span>
财务信息
</b>
</blockquote>
@include('web.supplier.SupplierReceipt')
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
附件管理
</b>
<b>
<span
class=
"require"
>
*
</span>
附件管理
</b>
</blockquote>
@include('web.supplier.SupplierAttachment')
<blockquote
class=
"layui-elem-quote layui-text"
>
...
...
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