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
6a223189
authored
Jul 31, 2025
by
杨树贤
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'ysx-账期改造-20250728' into ysx-供应商需求-20250723
parents
64304a05
061b9dde
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
140 additions
and
102 deletions
app/Http/Controllers/SupplierController.php
app/Http/Validators/SupplierValidator.php
config/field.php
config/validate.php
resources/views/script/supplier/SupplierPayTypeScript.blade.php
resources/views/web/SupplierDetail.blade.php
resources/views/web/supplier/SupplierPayType.blade.php
app/Http/Controllers/SupplierController.php
View file @
6a223189
...
@@ -203,7 +203,6 @@ class SupplierController extends Controller
...
@@ -203,7 +203,6 @@ class SupplierController extends Controller
}
else
{
}
else
{
$this
->
data
[
'title'
]
=
'添加供应商'
;
$this
->
data
[
'title'
]
=
'添加供应商'
;
}
}
return
$this
->
view
(
'新增供应商'
);
return
$this
->
view
(
'新增供应商'
);
}
}
...
@@ -248,7 +247,7 @@ class SupplierController extends Controller
...
@@ -248,7 +247,7 @@ class SupplierController extends Controller
$supplier
[
'customer_tags'
]
=
$customerTags
?
implode
(
','
,
$customerTags
[
'list'
])
:
''
;
$supplier
[
'customer_tags'
]
=
$customerTags
?
implode
(
','
,
$customerTags
[
'list'
])
:
''
;
$supplierModel
=
new
SupplierChannelModel
();
$supplierModel
=
new
SupplierChannelModel
();
$supplierModel
->
where
(
'supplier_id'
,
$supplierId
)
->
update
([
$supplierModel
->
where
(
'supplier_id'
,
$supplierId
)
->
update
([
'customer_tags'
=>
$supplier
[
'customer_tags'
]
?:
''
,
'customer_tags'
=>
$supplier
[
'customer_tags'
]
?:
''
,
]);
]);
$this
->
data
[
'supplier'
]
=
$supplier
;
$this
->
data
[
'supplier'
]
=
$supplier
;
$this
->
data
[
'address'
]
=
$supplierService
->
getAddress
(
$supplierId
);
$this
->
data
[
'address'
]
=
$supplierService
->
getAddress
(
$supplierId
);
...
...
app/Http/Validators/SupplierValidator.php
View file @
6a223189
...
@@ -295,7 +295,7 @@ class SupplierValidator
...
@@ -295,7 +295,7 @@ class SupplierValidator
//如果付款方式为账期,那么月结天数一定要选
//如果付款方式为账期,那么月结天数一定要选
if
(
$validateData
[
'pay_type'
]
==
1
)
{
if
(
$validateData
[
'pay_type'
]
==
1
)
{
if
(
!
array_get
(
$validateData
,
'pay_type_value'
))
{
if
(
!
array_get
(
$validateData
,
'pay_type_value'
))
{
$errorMessageList
[]
=
'付款方式选择账期,
月结天数必须设置
'
;
$errorMessageList
[]
=
'付款方式选择账期,
具体的付款周期值必填
'
;
}
}
}
}
...
...
config/field.php
View file @
6a223189
...
@@ -373,4 +373,10 @@ return [
...
@@ -373,4 +373,10 @@ return [
5
=>
'4年内'
,
5
=>
'4年内'
,
6
=>
'5年内'
,
6
=>
'5年内'
,
],
],
'SupplierPayTypeExtra'
=>
[
'天'
=>
'天'
,
'当月'
=>
'当月'
,
'当周'
=>
'当周'
,
]
];
];
config/validate.php
View file @
6a223189
...
@@ -60,5 +60,8 @@ return [
...
@@ -60,5 +60,8 @@ return [
'sign_com_id'
=>
'签约公司id'
,
'sign_com_id'
=>
'签约公司id'
,
'sign_com_name'
=>
'签约公司名称'
,
'sign_com_name'
=>
'签约公司名称'
,
'sku_optional_batch_text'
=>
'SKU可选批次'
,
'sku_optional_batch_text'
=>
'SKU可选批次'
,
'pay_type_name'
=>
'付款周期'
,
'pay_type_value'
=>
'付款周期值'
,
'pay_type_extra'
=>
'付款周期类型'
,
]
]
];
];
resources/views/script/supplier/SupplierPayTypeScript.blade.php
View file @
6a223189
...
@@ -2,6 +2,21 @@
...
@@ -2,6 +2,21 @@
layui
.
use
([
'table'
,
'form'
,
'element'
,
'layer'
,
'admin'
],
function
()
{
layui
.
use
([
'table'
,
'form'
,
'element'
,
'layer'
,
'admin'
],
function
()
{
let
admin
=
layui
.
admin
;
let
admin
=
layui
.
admin
;
let
form
=
layui
.
form
;
let
form
=
layui
.
form
;
// 页面加载时初始化,确保当周期类型为空时,对应的下拉框不显示
$
(
document
).
ready
(
function
()
{
// 检查所有周期类型选择框,如果值为空,则隐藏对应的子选项
$
(
'select[name="pay_type_extra"]'
).
each
(
function
()
{
const
payTypeExtra
=
$
(
this
).
val
();
const
parentDiv
=
$
(
this
).
parents
(
'.pay_type_div'
);
// 如果周期类型为空,隐藏所有子选项
if
(
!
payTypeExtra
)
{
parentDiv
.
find
(
'.pay_type_1_days_div, .pay_type_1_monthly_div, .pay_type_1_weekly_div'
).
hide
();
}
});
});
//要根据付款类型的不同选项,切换不同的显示
//要根据付款类型的不同选项,切换不同的显示
form
.
on
(
'select(pay_type)'
,
function
(
data
)
{
form
.
on
(
'select(pay_type)'
,
function
(
data
)
{
const
payType
=
data
.
value
;
const
payType
=
data
.
value
;
...
@@ -9,6 +24,7 @@
...
@@ -9,6 +24,7 @@
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
show
();
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
show
();
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
find
(
'.valueInput'
).
first
().
attr
(
'name'
,
'pay_type_value'
);
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
find
(
'.valueInput'
).
first
().
attr
(
'name'
,
'pay_type_value'
);
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
find
(
'.valueInput'
).
eq
(
1
).
attr
(
'name'
,
'pay_type_extra'
);
parentDiv
.
find
(
'.pay_type_'
+
payType
+
'_div'
).
find
(
'.valueInput'
).
eq
(
1
).
attr
(
'name'
,
'pay_type_extra'
);
$
(
'.pay_type_1_days_div, .pay_type_1_monthly_div, .pay_type_1_weekly_div'
).
hide
();
if
(
payType
===
'1'
)
{
if
(
payType
===
'1'
)
{
parentDiv
.
find
(
'.pay_type_2_div'
).
hide
();
parentDiv
.
find
(
'.pay_type_2_div'
).
hide
();
parentDiv
.
find
(
'.pay_type_2_div'
).
find
(
'.valueInput'
).
attr
(
'name'
,
''
);
parentDiv
.
find
(
'.pay_type_2_div'
).
find
(
'.valueInput'
).
attr
(
'name'
,
''
);
...
@@ -50,27 +66,50 @@
...
@@ -50,27 +66,50 @@
}
}
});
});
$
(
document
).
on
(
'click'
,
'.delete_pay_type'
,
function
()
{
// 处理周期类型选择变化
let
count
=
$
(
'.pay_type_div'
).
size
();
form
.
on
(
'select(pay_type_extra)'
,
function
(
data
)
{
if
(
count
<=
1
)
{
const
payTypeExtra
=
data
.
value
;
layer
.
msg
(
'至少要保留一个付款方式'
,
{
icon
:
5
});
// 隐藏所有子选项
return
;
$
(
'.pay_type_1_days_div, .pay_type_1_monthly_div, .pay_type_1_weekly_div'
).
hide
();
// 清空所有值
$
(
'#pay_type_value, #pay_type_value_monthly, #pay_type_value_weekly'
).
val
(
''
);
// 根据选择的类型显示对应的选项
if
(
payTypeExtra
===
'天'
)
{
$
(
'.pay_type_1_days_div'
).
show
();
}
else
if
(
payTypeExtra
===
'当月'
)
{
$
(
'.pay_type_1_monthly_div'
).
show
();
}
else
if
(
payTypeExtra
===
'当周'
)
{
$
(
'.pay_type_1_weekly_div'
).
show
();
}
else
{
// 当周期类型为空时,确保所有子选项都隐藏
$
(
'.pay_type_1_days_div, .pay_type_1_monthly_div, .pay_type_1_weekly_div'
).
hide
();
}
}
var
self
=
$
(
this
);
layer
.
confirm
(
'确定要删除付款方式吗?'
,
function
(
index
)
{
self
.
parents
(
'.pay_type_div'
).
remove
();
layer
.
closeAll
();
});
});
$
(
document
).
on
(
'click'
,
'.add_pay_type'
,
function
()
{
// 更新隐藏字段值
$
(
'#pay_type_div_list'
).
append
(
$
(
'#pay_type_template'
).
html
());
$
(
'[name="pay_type_extra"]'
).
val
(
payTypeExtra
);
//不知道为什么元素的name总会变来变去,所以手动固定死,确保提交的时候,顺序和名称都是对的
$
(
"input[name^='pay_type_value[']"
).
attr
(
'name'
,
'pay_type_value'
)
$
(
"input[name^='pay_type_extra[']"
).
attr
(
'name'
,
'pay_type_extra'
)
$
(
"select[name^='pay_type[']"
).
attr
(
'name'
,
'pay_type'
)
form
.
render
(
'select'
);
form
.
render
(
'select'
);
});
});
// 处理days
form
.
on
(
'select(pay_type_days)'
,
function
(
data
)
{
const
value
=
data
.
value
;
$
(
'[name="pay_type_value"]'
).
val
(
value
);
});
// 处理月结天数选择
form
.
on
(
'select(pay_type_monthly)'
,
function
(
data
)
{
const
value
=
data
.
value
;
$
(
'[name="pay_type_value"]'
).
val
(
value
);
});
// 处理当周结星期选择
form
.
on
(
'select(pay_type_weekly)'
,
function
(
data
)
{
const
value
=
data
.
value
;
$
(
'[name="pay_type_value"]'
).
val
(
value
);
});
});
});
</script>
</script>
\ No newline at end of file
resources/views/web/SupplierDetail.blade.php
View file @
6a223189
...
@@ -257,7 +257,7 @@
...
@@ -257,7 +257,7 @@
<div
class=
"layui-col-md3"
>
<div
class=
"layui-col-md3"
>
付款周期 :{{$supplier['pay_type_name'] }}
付款周期 :{{$supplier['pay_type_name'] }}
@if($supplier['pay_type'] == 1)
@if($supplier['pay_type'] == 1)
(
月结{{$supplier['pay_type_value'].$supplier['pay_type_extra
']}})
(
{{'按'.$supplier['pay_type_extra'].' '.$supplier['pay_type_value
']}})
@endif
@endif
</div>
</div>
</div>
</div>
...
...
resources/views/web/supplier/SupplierPayType.blade.php
View file @
6a223189
...
@@ -6,96 +6,88 @@
...
@@ -6,96 +6,88 @@
<div
class=
"layui-col-md3"
>
<div
class=
"layui-col-md3"
>
@inject('statusPresenter','App\Presenters\StatusPresenter')
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('settlement_type','结算方式 : ',
{!! $statusPresenter->render('settlement_type','结算方式 : ',
!empty($supplier)?$supplier['settlement_type']:'',config('field.SettlementType'),['required'=>true]) !!}
!empty($supplier)?$supplier['settlement_type']:'',config('field.SettlementType'),['required'=>true]) !!}
</div>
</div>
<div
class=
"layui-col-md
3
"
>
<div
class=
"layui-col-md
2
"
>
<div
class=
"layui-inline"
>
<div
class=
"layui-inline"
>
@inject('statusPresenter','App\Presenters\StatusPresenter')
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('pay_type','付款周期 : ',
{!! $statusPresenter->render('pay_type','付款周期 : ',
!empty($supplier)?$supplier['pay_type']:'',config('fixed.SupplierPayType'),['required'=>true
]) !!}
!empty($supplier)?$supplier['pay_type']:'',config('fixed.SupplierPayType'),['required'=>true,'width'=>'120px'
]) !!}
</div>
</div>
</div>
</div>
<div
class=
"layui-col-md6"
style=
"width:500px;margin-bottom: 3px;margin-left: -20px;"
>
<div
class=
"layui-col-md7"
style=
"width:500px;margin-bottom: 3px;margin-left: -30px;display: flex;align-items: center;"
>
<div
class=
"layui-row"
>
{{-- 周期类型选择 --}}
@if (!empty($supplier)
&&
$supplier['pay_type']==1)
<div
class=
"layui-inline pay_type_1_div pay_type_extra_div"
style=
"margin-left: -20px; @if(!empty($supplier)&&$supplier['pay_type_extra']!='')display: block;@else display: none;@endif"
>
<div
class=
"pay_type_1_div"
>
@inject('statusPresenter','App\Presenters\StatusPresenter')
<div
class=
"layui-row"
style=
""
>
{!! $statusPresenter->render('pay_type_extra','周期类型 : ',
<span
class=
"require"
>
*
</span>
月结 :
&
nbsp
!empty($supplier)?$supplier['pay_type_extra']:'',config('field.SupplierPayTypeExtra'),['required'=>true,'width'=>'80px']) !!}
<div
class=
"layui-input-inline"
style=
"width: 80px;"
>
</div>
<input
class=
"layui-input valueInput"
type=
"hidden"
name=
"pay_type_value"
value=
"{{$supplier['pay_type_value'] or ''}}"
>
{{-- 月结天数选择 --}}
<select
lay-filter=
"pay_type_month"
>
<div
class=
"pay_type_1_div pay_type_1_days_div"
style=
"@if(!empty($supplier)&&$supplier['pay_type']==1 && $supplier['pay_type_extra']=='天')display: block;@else display: none;@endif margin-bottom: 8px;"
>
<option
value=
""
>
请选择
</option>
<div
class=
"layui-row"
style=
""
>
<option
value=
"7"
<div
class=
"layui-input-inline"
style=
"width: 80px;"
>
@
if
($
supplier
['
pay_type_value
']==
7
)
<input
class=
"layui-input valueInput"
type=
"hidden"
id=
"pay_type_value"
value=
"{{$supplier['pay_type_value'] or ''}}"
>
selected=
'selected'
<select
lay-filter=
"pay_type_days"
>
@
endif
>
7
<option
value=
""
>
请选择
</option>
</option>
<option
value=
"7"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
7
'
)
selected=
'selected'
@
endif
>
7
</option>
<option
value=
"15"
<option
value=
"15"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
15
'
)
selected=
'selected'
@
endif
>
15
</option>
@
if
($
supplier
['
pay_type_value
']==
15
)
<option
value=
"30"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
30
'
)
selected=
'selected'
@
endif
>
30
</option>
selected=
'selected'
<option
value=
"45"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
45
'
)
selected=
'selected'
@
endif
>
45
</option>
@
endif
>
15
<option
value=
"60"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
60
'
)
selected=
'selected'
@
endif
>
60
</option>
</option>
<option
value=
"90"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
90
'
)
selected=
'selected'
@
endif
>
90
</option>
<option
value=
"30"
</select>
@
if
($
supplier
['
pay_type_value
']==
30
)
selected=
'selected'
@
endif
>
30
</option>
<option
value=
"45"
@
if
($
supplier
['
pay_type_value
']==
45
)
selected=
'selected'
@
endif
>
45
</option>
<option
value=
"60"
@
if
($
supplier
['
pay_type_value
']==
60
)
selected=
'selected'
@
endif
>
60
</option>
<option
value=
"90"
@
if
($
supplier
['
pay_type_value
']==
90
)
selected=
'selected'
@
endif
>
90
</option>
</select>
</div>
&
nbsp天
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_extra"
value=
"天"
>
</div>
</div>
@else
<div
class=
"pay_type_1_div"
style=
"display: none"
>
<div
class=
"layui-row"
>
<span
class=
"require"
>
*
</span>
月结 :
&
nbsp
<div
class=
"layui-input-inline"
style=
"width: 80px;"
>
<input
class=
"layui-input valueInput"
type=
"hidden"
name=
"pay_type_value"
>
<select
lay-filter=
"pay_type_month"
>
<option
value=
""
>
请选择
</option>
<option
value=
"7"
>
7
</option>
<option
value=
"15"
>
15
</option>
<option
value=
"30"
>
30
</option>
<option
value=
"45"
>
45
</option>
<option
value=
"60"
>
60
</option>
<option
value=
"90"
>
90
</option>
</select>
</div>
&
nbsp天
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_extra"
value=
"天"
>
</div>
</div>
</div>
@endif
&
nbsp天
</div>
</div>
@if (!empty($supplier)
&&
$supplier['pay_type']==2)
{{-- 当月结日期选择 --}}
<div
class=
"pay_type_2_div"
>
<div
class=
"pay_type_1_div pay_type_1_monthly_div"
style=
"@if(!empty($supplier)&&$supplier['pay_type']==1 && $supplier['pay_type_extra']=='当月')display: block;@else display: none;@endif margin-bottom: 8px;"
>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_value"
>
<div
class=
"layui-row"
style=
""
>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_extra"
value=
""
>
<div
class=
"layui-input-inline"
style=
"width: 80px;"
>
<input
class=
"layui-input valueInput"
type=
"hidden"
id=
"pay_type_value_monthly"
value=
"{{$supplier['pay_type_value'] or ''}}"
>
<select
lay-filter=
"pay_type_monthly"
>
<option
value=
""
>
请选择
</option>
@for($i = 1; $i
<
=
31
;
$
i
++)
<
option
value=
"{{$i.'号'}}"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')==$
i
)
selected=
'selected'
@
endif
>
{{$i}}
</option>
@endfor
</select>
</div>
</div>
@else
&
nbsp号
<div
class=
"pay_type_2_div"
style=
"display: none"
>
</div>
<input
type=
"hidden"
class=
"valueInput"
name=
""
>
</div>
<input
type=
"hidden"
class=
"valueInput"
name=
""
value=
""
>
{{-- 当周结星期选择 --}}
<div
class=
"pay_type_1_div pay_type_1_weekly_div"
style=
"@if(!empty($supplier)&&$supplier['pay_type']==1 && $supplier['pay_type_extra']=='当周')display: block;@else display: none;@endif margin-bottom: 8px;"
>
<div
class=
"layui-row"
style=
""
>
<div
class=
"layui-input-inline"
style=
"width: 80px;"
>
<input
class=
"layui-input valueInput"
type=
"hidden"
id=
"pay_type_value_weekly"
value=
"{{$supplier['pay_type_value'] or ''}}"
>
<select
lay-filter=
"pay_type_weekly"
>
<option
value=
""
>
请选择
</option>
<option
value=
"周一"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周一'
)
selected=
'selected'
@
endif
>
周一
</option>
<option
value=
"周二"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周二'
)
selected=
'selected'
@
endif
>
周二
</option>
<option
value=
"周三"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周三'
)
selected=
'selected'
@
endif
>
周三
</option>
<option
value=
"周四"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周四'
)
selected=
'selected'
@
endif
>
周四
</option>
<option
value=
"周五"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周五'
)
selected=
'selected'
@
endif
>
周五
</option>
<option
value=
"周六"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='周六'
)
selected=
'selected'
@
endif
>
周六
</option>
<option
value=
"周日"
@
if
(!
empty
($
supplier
)&&
array_get
($
supplier
,'
pay_type_value
')=='
7
'
)
selected=
'selected'
@
endif
>
周日
</option>
</select>
</div>
</div>
@endif
</div>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_value"
>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_extra"
value=
""
>
</div>
@if (!empty($supplier)
&&
array_get($supplier,'pay_type')==2)
<div
class=
"pay_type_2_div"
>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_value"
>
<input
type=
"hidden"
class=
"valueInput"
name=
"pay_type_extra"
value=
""
>
</div>
@else
<div
class=
"pay_type_2_div"
style=
"display: none"
>
<input
type=
"hidden"
class=
"valueInput"
name=
""
>
<input
type=
"hidden"
class=
"valueInput"
name=
""
value=
""
>
</div>
</div>
@endif
</div>
</div>
</div>
</div>
</div>
</div>
...
...
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