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
20d7ccda
authored
Jun 27, 2023
by
杨树贤
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
运费规则
parent
87b52648
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
502 additions
and
17 deletions
app/Http/Controllers/Api/ShippingCostRulerApiController.php
app/Http/Controllers/ShippingCostRulerController.php
app/Http/Services/ShippingCostRulerService.php
app/Http/Transformers/ShippingCostRulerTransformer.php
app/Model/ShippingCostRulerModel.php
app/Presenters/StandardBrandNameListPresenter.php
config/field.php
resources/views/script/SaveShippingCostRulerScript.blade.php
resources/views/script/supplier/SupplierRulerScript.blade.php
resources/views/web/SaveShippingCostRuler.blade.php
resources/views/web/supplier/SupplierRuler.blade.php
app/Http/Controllers/Api/ShippingCostRulerApiController.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Http\Controllers\Api
;
use
App\Http\Controllers\Controller
;
use
App\Http\Services\LogService
;
use
App\Http\Services\ShippingCostRulerService
;
use
App\Http\Transformers\ShippingCostRulerTransformer
;
use
App\Model\LogModel
;
use
App\Model\ShippingCostRulerModel
;
use
Illuminate\Http\Request
;
class
ShippingCostRulerApiController
extends
Controller
{
public
function
Entrance
(
Request
$request
,
$id
)
{
$this
->
$id
(
$request
,
$id
);
}
public
function
GetShippingCostRulerList
(
$request
)
{
$supplierId
=
$request
->
get
(
'supplier_id'
);
$limit
=
$request
->
get
(
'limit'
,
10
);
$model
=
new
ShippingCostRulerModel
();
$model
->
where
(
'supplier_id'
,
$supplierId
)
->
paginate
();
$list
=
$model
->
where
(
'supplier_id'
,
$supplierId
)
->
orderBy
(
'id'
,
'desc'
)
->
paginate
(
$limit
)
->
toArray
();
$transformer
=
new
ShippingCostRulerTransformer
();
$list
[
'data'
]
=
$transformer
->
transformList
(
$list
[
'data'
]);
$this
->
response
(
0
,
'ok'
,
$list
[
'data'
],
$list
[
'total'
]);
}
public
function
SaveShippingCostRuler
(
$request
)
{
$id
=
$request
->
input
(
'id'
);
$currency
=
$request
->
input
(
'currency'
);
$orderAmount
=
$request
->
input
(
'order_amount'
);
$shippingCost
=
$request
->
input
(
'shipping_cost'
);
$supplierId
=
$request
->
input
(
'supplier_id'
);
$rulerText
=
$request
->
input
(
'ruler_text'
);
if
(
!
$supplierId
)
{
$this
->
response
(
-
1
,
'供应商id不能为空'
);
}
if
(
!
$currency
)
{
$this
->
response
(
-
1
,
'订单币种不能为空'
);
}
if
(
!
$orderAmount
)
{
$this
->
response
(
-
1
,
'单笔订单金额不能为空'
);
}
$ruler
=
$request
->
only
([
'id'
,
'supplier_id'
,
'order_amount'
,
'shipping_cost'
,
'currency'
,
'ruler_text'
,
]);
$rulerService
=
new
ShippingCostRulerService
();
$result
=
$rulerService
->
saveShippingCostRuler
(
$id
,
$ruler
);
if
(
!
$result
)
{
$this
->
response
(
-
1
,
'操作失败'
);
}
else
{
$logService
=
new
LogService
();
$content
=
!
empty
(
$ruler
[
'id'
])
?
'修改运费规则'
:
'添加运费规则'
;
$supplierId
=
$ruler
[
'supplier_id'
];
$ruler
=
json_encode
(
$ruler
);
$logService
->
AddLog
(
$supplierId
,
LogModel
::
UPDATE_OPERATE
,
$content
,
$content
,
$ruler
);
$this
->
response
(
0
,
'保存成功'
);
}
}
public
function
DeleteShippingCostRuler
(
$request
)
{
$id
=
$request
->
get
(
'id'
);
$model
=
new
ShippingCostRulerModel
();
$ruler
=
$model
->
where
(
'id'
,
$id
)
->
first
()
->
toArray
();
$result
=
$model
->
where
(
'id'
,
$id
)
->
delete
();
if
(
$result
)
{
$logService
=
new
LogService
();
$content
=
"删除运费规则"
;
$logService
->
AddLog
(
$ruler
[
'supplier_id'
],
LogModel
::
UPDATE_OPERATE
,
'删除运费规则'
,
$content
);
$this
->
response
(
0
,
'操作成功'
);
}
$this
->
response
(
-
1
,
'操作失败'
);
}
}
app/Http/Controllers/ShippingCostRulerController.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Http\Controllers
;
use
App\Model\ShippingCostRulerModel
;
use
Illuminate\Http\Request
;
class
ShippingCostRulerController
extends
Controller
{
public
function
info
(
Request
$request
,
$id
=
''
)
{
{
if
(
$request
->
path
()
==
'/'
)
{
$path
=
'web/index'
;
}
else
{
$path
=
$request
->
path
();
}
$this
->
data
=
[
'menus'
=>
$request
->
menus
,
'header'
=>
$request
->
user
->
header
,
'username'
=>
$request
->
user
->
email
,
'user_email'
=>
$request
->
user
->
email
,
'uri'
=>
'/'
.
$path
,
'id'
=>
$id
,
];
return
$this
->
$id
(
$request
);
}
}
public
function
__call
(
$name
,
$arr
)
{
$data
[
'errinfo'
]
=
'访问路径错误'
;
return
view
(
'errors.error'
,
$data
);
}
//保存采购备注
public
function
SaveShippingCostRuler
(
$request
)
{
$id
=
$request
->
get
(
'id'
);
if
(
!
empty
(
$id
))
{
$model
=
new
ShippingCostRulerModel
();
$ruler
=
$model
->
where
(
'id'
,
$id
)
->
first
()
->
toArray
();
$this
->
data
[
'ruler'
]
=
$ruler
;
}
$this
->
data
[
'title'
]
=
'保存采购备注'
;
$this
->
data
[
'view'
]
=
'SaveShippingCostRuler'
;
return
$this
->
view
(
'保存采购备注'
);
}
}
\ No newline at end of file
app/Http/Services/ShippingCostRulerService.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Http\Services
;
use
App\Model\ShippingCostRulerModel
;
//采购备注服务
class
ShippingCostRulerService
{
public
function
saveShippingCostRuler
(
$remarkId
,
$remark
)
{
$remarkModel
=
new
ShippingCostRulerModel
();
if
(
empty
(
$remarkId
))
{
$remark
[
'create_uid'
]
=
request
()
->
user
->
userId
;
$remark
[
'create_name'
]
=
request
()
->
user
->
name
;
$remark
[
'create_time'
]
=
time
();
return
$remarkModel
->
insertGetId
(
$remark
);
}
else
{
$remark
[
'update_time'
]
=
time
();
return
$remarkModel
->
where
(
'id'
,
$remarkId
)
->
update
(
$remark
)
?
$remarkId
:
0
;
}
}
}
\ No newline at end of file
app/Http/Transformers/ShippingCostRulerTransformer.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Http\Transformers
;
class
ShippingCostRulerTransformer
{
public
function
transformList
(
$list
)
{
if
(
empty
(
$list
))
{
return
[];
}
foreach
(
$list
as
&
$remark
)
{
if
(
!
$remark
)
{
continue
;
}
$remark
[
'create_time'
]
=
$remark
[
'create_time'
]
?
date
(
'Y-m-d H:i:s'
,
$remark
[
'create_time'
])
:
''
;
$remark
[
'update_time'
]
=
$remark
[
'update_time'
]
?
date
(
'Y-m-d H:i:s'
,
$remark
[
'update_time'
])
:
''
;
}
unset
(
$remark
);
return
$list
;
}
}
\ No newline at end of file
app/Model/ShippingCostRulerModel.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Model
;
use
Illuminate\Database\Eloquent\Model
;
class
ShippingCostRulerModel
extends
Model
{
protected
$connection
=
'web'
;
protected
$table
=
'shipping_cost_ruler'
;
protected
$primaryKey
=
'id'
;
public
$timestamps
=
false
;
}
app/Presenters/StandardBrandNameListPresenter.php
0 → 100644
View file @
20d7ccda
<?php
namespace
App\Presenters
;
use
App\Http\Services\StandardBrandService
;
class
StandardBrandNameListPresenter
{
public
function
render
(
$name
,
$fieldText
,
$value
=
null
,
$option
=
[])
{
//因为这个组件是专门给标准品牌用的,所以可以直接去获取标准列表展示出来
$standardBrandNameList
=
''
;
if
(
$value
)
{
$standardBrandNameList
=
(
new
StandardBrandService
())
->
getStandardBrandNameListByBrandIds
(
$value
);
}
$isRequired
=
\Arr
::
get
(
$option
,
'required'
,
false
);
$requiredHtml
=
$isRequired
?
'<span style="color: red;margin-right: 3px">*</span>'
:
''
;
$html
=
<<<EOF
<label class="layui-form-label">
$requiredHtml $fieldText</label>
<div class="layui-input-block" style="width: 80%">
<input type="hidden" name="$name" value="$value" id="$name">
<div class="layui-col-md7">
<textarea rows="7" placeholder="标准品牌名称,多个用英文逗号隔开" class="layui-textarea" id="${name}_name_list">$standardBrandNameList</textarea>
<blockquote class="layui-elem-quote" id="valid_${name}_name_list">$standardBrandNameList</blockquote>
<span style="color: red" id="invalid_${name}_name_list"></span>
</div>
<div class="layui-col-md5">
<button type="button" class="layui-btn-sm layui-btn" id="check_and_add_${name}_name_list" style="margin-left: 10px;">验证并加入</button>
<p style="margin-top: 130px;margin-left: 10px"></p>
</div>
</div>
<script>
$(document).on('click','#check_and_add_${name}_name_list',function () {
let standardBrandNameList = $('#${name}_name_list').val();
let url = '/api/commonData/checkStandardBrandNameList';
layer.load();
var self = $(this);
$.ajax({
url: url,
type: 'POST',
async: true,
data: {
standard_brand_name_list: standardBrandNameList
},
dataType: 'json',
timeout: 20000,
success: function (res) {
let brandCount = 0;
layer.closeAll();
if (res.code === 0) {
//得到结果后还要操作div
let data = res.data;
let invalidBrandNameList = data.invalid_brand_name_list;
let validBrandIds = data.valid_brand_ids;
let validBrandNameList = data.valid_brand_name_list;
let standardBrandIds = $('#${name}').val();
standardBrandIds = standardBrandIds.split(',');
standardBrandIds = validBrandIds;
standardBrandIds = array_unique(array_remove_empty(standardBrandIds));
$('#${name}').val(standardBrandIds.join(','));
// let validStandardBrandNameList = $('#valid_${name}_name_list').text();
// validStandardBrandNameList = validStandardBrandNameList.split(',');
let validStandardBrandNameList = validBrandNameList;
validStandardBrandNameList = array_unique(array_remove_empty(validStandardBrandNameList));
brandCount = validStandardBrandNameList.length;
$('#valid_${name}_name_list').text(validStandardBrandNameList.join(','));
// $('#${name}_name_list').val(validStandardBrandNameList.join(','));
// let invalidStandardBrandNameList = $('#invalid_${name}_name_list').val();
// let invalidStandardBrandNameList = '';
// invalidStandardBrandNameList = invalidStandardBrandNameList.split(',');
// invalidStandardBrandNameList = $.merge(invalidStandardBrandNameList, invalidBrandNameList);
$('#invalid_${name}_name_list').text('');
let invalidStandardBrandNameList = invalidBrandNameList;
invalidStandardBrandNameList = array_unique(array_remove_empty(invalidStandardBrandNameList));
if (invalidStandardBrandNameList.length > 0){
let text = '品牌名称 : ' + invalidStandardBrandNameList.join('、') + ' 未匹配到标准品牌';
$('#invalid_${name}_name_list').text(text);
$('#invalid_${name}_name_list').val(invalidStandardBrandNameList.join('、'));
}
self.next().text(brandCount+'个');
} else {
layer.msg(res.msg, {icon: 5});
}
},
error: function () {
layer.closeAll();
layer.msg('网络错误', {icon: 5});
}
});
});
</script>
EOF;
return
$html
;
}
}
\ No newline at end of file
config/field.php
View file @
20d7ccda
...
...
@@ -256,4 +256,15 @@ return [
2
=>
'型号'
,
3
=>
'品牌'
,
],
//运费规则币种
'ShippingCostRulerCurrency'
=>
[
1
=>
'人民币(RMB)'
,
2
=>
'美金(USD)'
],
//运费规则条件
'ShippingCostRulerCondition'
=>
[
1
=>
'小于'
,
2
=>
'大于等于'
],
];
\ No newline at end of file
resources/views/script/SaveShippingCostRulerScript.blade.php
0 → 100644
View file @
20d7ccda
<script>
layui
.
use
([
'table'
,
'form'
,
'element'
,
'table'
,
'layer'
,
'admin'
,
'xmSelect'
,
'laydate'
],
function
()
{
let
admin
=
layui
.
admin
;
let
form
=
layui
.
form
;
let
element
=
layui
.
element
;
let
laydate
=
layui
.
laydate
;
let
xmSelect
=
layui
.
xmSelect
;
laydate
.
render
({
elem
:
'#start_time'
,
format
:
'yyyy-MM-dd'
});
laydate
.
render
({
elem
:
'#end_time'
,
format
:
'yyyy-MM-dd'
});
function
setConditionCurrencyName
(
currency
)
{
if
(
currency
==
1
)
{
$
(
'#ruler_condition_center_text'
).
text
(
'元(RMB),收取运费'
);
$
(
'#ruler_condition_end_text'
).
text
(
'元(RMB)'
);
}
else
{
$
(
'#ruler_condition_center_text'
).
text
(
'美元(USD),收取运费'
);
$
(
'#ruler_condition_end_text'
).
text
(
'美元(USD)'
);
}
}
let
currency
=
$
(
'#currency'
).
val
();
setConditionCurrencyName
(
currency
);
form
.
on
(
'radio(currency)'
,
function
(
data
)
{
currency
=
data
.
value
;
setConditionCurrencyName
(
data
.
value
);
setRulerText
();
});
function
setRulerText
(){
let
condition
=
$
(
'#condition'
).
val
();
let
conditionName
=
condition
==
1
?
'小于'
:
'大于等于'
;
//订单金额小于¥100.00,收取运费¥5.00;
let
rulerText
=
''
;
let
orderAmountFormat
;
let
shippingCostFormat
;
let
orderAmount
=
$
(
'#order_amount'
).
val
();
if
(
orderAmount
)
{
orderAmountFormat
=
currency
==
1
?
'¥'
+
orderAmount
:
'$'
+
orderAmount
;
}
let
shippingCost
=
$
(
'#shipping_cost'
).
val
();
if
(
shippingCost
)
{
shippingCost
=
parseInt
(
shippingCost
);
shippingCostFormat
=
currency
==
1
?
'¥'
+
shippingCost
.
toFixed
(
2
)
:
'$'
+
shippingCost
.
toFixed
(
2
);
}
if
(
orderAmount
)
{
if
(
shippingCost
==
0
)
{
rulerText
=
"订单金额"
+
conditionName
+
orderAmountFormat
+
",包邮;"
;
}
else
{
rulerText
=
"订单金额"
+
conditionName
+
orderAmountFormat
+
",收取运费"
+
shippingCostFormat
+
";"
;
}
}
console
.
log
(
rulerText
);
$
(
'#ruler_text'
).
val
(
rulerText
);
}
$
(
'#order_amount,#shipping_cost'
).
on
(
'input'
,
function
()
{
setRulerText
();
});
form
.
on
(
'submit(saveShippingCostRuler)'
,
function
(
data
)
{
let
url
=
'/api/shipping_cost_ruler/SaveShippingCostRuler'
;
data
.
field
.
supplier_id
=
getQueryVariable
(
'supplier_id'
);
let
res
=
ajax
(
url
,
data
.
field
);
if
(
!
res
)
{
layer
.
msg
(
'网络错误,请重试'
,
{
icon
:
6
});
}
else
{
if
(
res
.
err_code
===
0
)
{
admin
.
closeThisDialog
();
parent
.
layer
.
msg
(
res
.
err_msg
,
{
icon
:
6
});
}
else
{
parent
.
layer
.
msg
(
res
.
err_msg
,
{
icon
:
5
});
}
}
return
false
;
});
form
.
on
(
'submit(cancel)'
,
function
(
data
)
{
admin
.
closeThisDialog
();
});
});
</script>
\ No newline at end of file
resources/views/script/supplier/SupplierRulerScript.blade.php
View file @
20d7ccda
...
...
@@ -32,14 +32,14 @@
last
:
false
,
//不显示尾页
cols
:
[[
{
field
:
'operate'
,
title
:
'操作'
,
fixed
:
'left'
,
width
:
130
,
templet
:
'#operate'
},
{
field
:
'participate_type_name'
,
title
:
'参与类型'
,
align
:
'center'
,
width
:
140
},
{
field
:
'status'
,
title
:
'状态'
,
align
:
'center'
,
width
:
80
,
templet
:
function
(
data
)
{
field
:
'status'
,
title
:
'状态'
,
width
:
80
,
templet
:
function
(
data
)
{
return
data
.
status
==
1
?
"
<
span
style
=
'color: red'
>
停用
<
/span>" : '启用'
;
}
},
{
field
:
'duration'
,
title
:
'开始时间 - 截至时间'
,
align
:
'center'
,
width
:
250
},
{
field
:
'remark'
,
title
:
'备注内容'
,
align
:
'center'
},
{
field
:
'participate_type_name'
,
title
:
'参与类型'
,
width
:
140
},
{
field
:
'duration'
,
title
:
'开始时间 - 截至时间'
,
width
:
250
},
{
field
:
'remark'
,
title
:
'备注内容'
,},
]],
id
:
'purchaseRemarkList'
,
page
:
{},
...
...
@@ -105,14 +105,8 @@
last
:
false
,
//不显示尾页
cols
:
[[
{
field
:
'operate'
,
title
:
'操作'
,
fixed
:
'left'
,
width
:
130
,
templet
:
'#operate'
},
{
field
:
'participate_type_name'
,
title
:
'参与类型'
,
align
:
'center'
,
width
:
140
},
{
field
:
'status'
,
title
:
'状态'
,
align
:
'center'
,
width
:
80
,
templet
:
function
(
data
)
{
return
data
.
status
==
1
?
"
<
span
style
=
'color: red'
>
停用
<
/span>" : '启用'
;
}
},
{
field
:
'duration'
,
title
:
'开始时间 - 截至时间'
,
align
:
'center'
,
width
:
250
},
{
field
:
'remark'
,
title
:
'备注内容'
,
align
:
'center'
},
{
field
:
'id'
,
title
:
'规则'
,
width
:
80
},
{
field
:
'ruler_text'
,
title
:
'内容'
,},
]],
id
:
'shippingCostRulerList'
,
page
:
{},
...
...
@@ -124,8 +118,8 @@
layer
.
open
({
type
:
2
,
content
:
'/shipping_cost_ruler/SaveShippingCostRuler?view=iframe&supplier_id='
+
supplierId
,
area
:
[
'800px'
,
'
7
25px'
],
title
:
'
新增采购备注
'
,
area
:
[
'800px'
,
'
4
25px'
],
title
:
'
添加运费规则
'
,
end
:
function
()
{
// 监听弹窗关闭
table
.
reload
(
'shippingCostRulerList'
);
}
...
...
@@ -139,7 +133,7 @@
if
(
layEvent
===
'edit'
)
{
layer
.
open
({
type
:
2
,
area
:
[
'800px'
,
'
7
25px'
],
area
:
[
'800px'
,
'
4
25px'
],
fixed
:
false
,
offset
:
'50px'
,
//不固定
...
...
resources/views/web/SaveShippingCostRuler.blade.php
0 → 100644
View file @
20d7ccda
<style>
.layui-form-item
{
margin-bottom
:
5px
;
}
</style>
<div
class=
"layui-card"
>
<div
class=
"layui-card-body"
>
<form
class=
"layui-form"
action=
""
>
<div
class=
"layui-form-item"
>
@inject('singleSelectPresenter','App\Presenters\SingleSelectPresenter')
{!! $singleSelectPresenter->render('currency','订单币种 :',!empty($ruler)?$ruler['currency']:1,config('field.ShippingCostRulerCurrency'),['required'=>true]) !!}
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
><span
style=
"color: red"
>
*
</span>
单笔订单金额
</label>
<div
class=
"layui-input-block"
style=
"max-height: 30px"
>
<div
class=
"layui-col-xs2"
>
<select
name=
"condition"
value=
"{{$ruler['condition'] or 1}}"
>
@foreach(config('field.ShippingCostRulerCondition') as $key => $name)
<option
value=
"{{$key}}"
@
if
(!
empty
($
ruler
)&&$
ruler
['
condition
']==$
key
)
checked
@
endif
>
{{$name}}
</option>
@endforeach
</select>
</div>
<div
class=
"layui-col-xs2"
>
<input
class=
"layui-input"
name=
"order_amount"
id=
"order_amount"
value=
"{{$ruler['order_amount'] or 0}}"
>
</div>
<div
class=
"layui-col-xs3"
style=
"padding-left: 10px"
>
<span
id=
"ruler_condition_center_text"
>
元(RMB),收取运费
</span>
</div>
<div
class=
"layui-col-xs2"
>
<input
class=
"layui-input"
name=
"shipping_cost"
id=
"shipping_cost"
value=
"{{$ruler['shipping_cost'] or 0}}"
>
</div>
<div
class=
"layui-col-xs3"
style=
"padding-left: 10px"
>
<span
id=
"ruler_condition_end_text"
>
元(RMB)
</span>
</div>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
规则预览 :
</label>
<div
class=
"layui-input-block"
>
<textarea
rows=
"1"
name=
"ruler_text"
placeholder=
""
class=
"layui-textarea layui-disabled"
disabled
id=
"ruler_text"
>
{{$ruler['ruler_text'] or ''}}
</textarea>
</div>
</div>
<div
class=
"layui-form-item"
>
<div
align=
"right"
style=
"margin-top: 20px"
>
<button
type=
"button"
class=
"layui-btn layui-btn-sm layui-btn-info submit-loading"
lay-submit
lay-filter=
"saveShippingCostRuler"
>
确认
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-sm layui-btn-primary"
lay-submit
lay-filter=
"cancel"
>
关闭
</button>
</div>
</div>
</form>
</div>
</div>
\ No newline at end of file
resources/views/web/supplier/SupplierRuler.blade.php
View file @
20d7ccda
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
采购备注
<span
style=
"color: orange;margin-left: 10px"
>
PS:设置后的备注信息,将会应用在【询报价系统】供销售看到(仅做为提示)
</span></b>
<b>
运费设置-国际运费
<span
style=
"color: orange;margin-left: 10px"
>
PS:设置后的运费规则,将会应用在【询报价系统】供销售看到(仅做为提示)
</span></b>
</blockquote>
{{--运费规则--}}
...
...
@@ -9,6 +8,12 @@
<table
class=
"layui-table"
lay-filter=
"shippingCostRulerList"
id=
"shippingCostRulerList"
></table>
</div>
<blockquote
class=
"layui-elem-quote layui-text"
>
<b>
采购备注
<span
style=
"color: orange;margin-left: 10px"
>
PS:设置后的备注信息,将会应用在【询报价系统】供销售看到(仅做为提示)
</span></b>
</blockquote>
{{--采购备注--}}
<div
class=
"layui-form-item"
>
<button
class=
"layui-btn layui-btn-sm"
type=
"button"
id=
"savePurchaserRemark"
>
添加备注
</button>
...
...
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