Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
ypt_mgw_local
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
苏星豪
ypt_mgw_local
Commits
808d2a7f
提交
808d2a7f
authored
8月 22, 2024
作者:
李思鑫
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
包材管理 add
上级
5efa619c
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
480 行增加
和
13 行删除
+480
-13
urls.py
datacenter/urls.py
+4
-0
views.py
listobj/views.py
+50
-5
forms.py
mes/forms.py
+35
-1
models.py
mes/models.py
+22
-1
views.py
mes/views.py
+3
-3
edit_vendor.html
templates/mes/edit_vendor.html
+10
-2
edit_packaging.html
templates/obj/edit_packaging.html
+9
-1
packaging_supplier_manage.html
templates/obj/packaging_supplier_manage.html
+347
-0
没有找到文件。
datacenter/urls.py
浏览文件 @
808d2a7f
...
@@ -107,6 +107,10 @@ urlpatterns = [
...
@@ -107,6 +107,10 @@ urlpatterns = [
url
(
r'^obj/list/(?P<obj>\w+)/$'
,
list_views
.
list_obj
),
url
(
r'^obj/list/(?P<obj>\w+)/$'
,
list_views
.
list_obj
),
url
(
r'^obj/edit/(?P<obj_name>\w+)/$'
,
list_views
.
edit_obj
),
url
(
r'^obj/edit/(?P<obj_name>\w+)/$'
,
list_views
.
edit_obj
),
url
(
r'^obj/edit/(?P<obj_name>\w+)/(?P<id>\d+)/$'
,
list_views
.
edit_obj
),
url
(
r'^obj/edit/(?P<obj_name>\w+)/(?P<id>\d+)/$'
,
list_views
.
edit_obj
),
#lisin 2024-08-19 包装物料供应商 管理
url
(
r'^packaging/supplier/manage/(?P<id>\d+)/$'
,
list_views
.
packaging_supplier_manage
),
#2020-05-20
#2020-05-20
url
(
r'^obj/agent/label/$'
,
list_views
.
agent_lbl_info
),
url
(
r'^obj/agent/label/$'
,
list_views
.
agent_lbl_info
),
url
(
r'^obj/agent/label/(?P<user_id>\d+)/$'
,
list_views
.
agent_lbl_info
),
url
(
r'^obj/agent/label/(?P<user_id>\d+)/$'
,
list_views
.
agent_lbl_info
),
...
...
listobj/views.py
浏览文件 @
808d2a7f
...
@@ -948,12 +948,12 @@ def edit_obj(request,obj_name,id=None):
...
@@ -948,12 +948,12 @@ def edit_obj(request,obj_name,id=None):
units_pkg
.
append
(
uu
.
unit
)
units_pkg
.
append
(
uu
.
unit
)
if
request
.
method
==
'GET'
:
if
request
.
method
==
'GET'
:
if
not
id
:
if
not
id
:
obj
.
company_id
=
cid
obj
.
company_id
=
cid
form
=
BOMForm
(
instance
=
obj
)
form
=
BOMForm
(
instance
=
obj
)
formset_m
=
BOMmaterialsFormset
(
instance
=
obj
)
formset_m
=
BOMmaterialsFormset
(
instance
=
obj
)
formset_s
=
BOMsemifinishedgoodsFormset
(
instance
=
obj
)
formset_s
=
BOMsemifinishedgoodsFormset
(
instance
=
obj
)
formset_p
=
BOMpackagingFormset
(
instance
=
obj
)
formset_p
=
BOMpackagingFormset
(
instance
=
obj
)
elif
request
.
method
==
"POST"
:
elif
request
.
method
==
"POST"
:
form
=
BOMForm
(
request
.
POST
,
instance
=
obj
)
form
=
BOMForm
(
request
.
POST
,
instance
=
obj
)
formset_m
=
BOMmaterialsFormset
(
request
.
POST
,
instance
=
obj
)
formset_m
=
BOMmaterialsFormset
(
request
.
POST
,
instance
=
obj
)
formset_s
=
BOMsemifinishedgoodsFormset
(
request
.
POST
,
instance
=
obj
)
formset_s
=
BOMsemifinishedgoodsFormset
(
request
.
POST
,
instance
=
obj
)
...
@@ -3981,7 +3981,7 @@ def list_obj(request, obj):
...
@@ -3981,7 +3981,7 @@ def list_obj(request, obj):
a
=
r
[
1
]
a
=
r
[
1
]
data
[
'data'
]
.
append
([
a
,
r
[
2
],
r
[
4
],
r
[
3
]
])
data
[
'data'
]
.
append
([
a
,
r
[
2
],
r
[
4
],
r
[
3
]
])
elif
obj
==
'packaging'
:
elif
obj
==
'packaging'
:
data
[
'clmns'
]
=
[
"包装物料名称"
,
"编码"
,
"计量类别"
,
"
备注说明"
]
data
[
'clmns'
]
=
[
"包装物料名称"
,
"编码"
,
"计量类别"
,
"
规格"
,
"基础单位"
,
"备注说明"
,
'添加供应商'
]
s
=
"select id,name,coalesce(code,''),coalesce(remark,''),"
+
\
s
=
"select id,name,coalesce(code,''),coalesce(remark,''),"
+
\
"coalesce((select name from mes_measure where id=measure_id),'') "
+
\
"coalesce((select name from mes_measure where id=measure_id),'') "
+
\
"from mes_packaging where company_id="
+
str
(
u
.
ancestor_id
)
+
" and is_delete=false"
"from mes_packaging where company_id="
+
str
(
u
.
ancestor_id
)
+
" and is_delete=false"
...
@@ -3990,9 +3990,11 @@ def list_obj(request, obj):
...
@@ -3990,9 +3990,11 @@ def list_obj(request, obj):
for
r
in
cur
.
fetchall
():
for
r
in
cur
.
fetchall
():
if
show_add
:
if
show_add
:
a
=
'<a href="/obj/edit/packaging/'
+
str
(
r
[
0
])
+
'/">'
+
r
[
1
]
+
'</a>'
a
=
'<a href="/obj/edit/packaging/'
+
str
(
r
[
0
])
+
'/">'
+
r
[
1
]
+
'</a>'
end
=
'<a href="/packaging/supplier/manage/'
+
str
(
r
[
0
])
+
'/">'
+
str
(
'添加供应商'
)
+
'</a>'
else
:
else
:
a
=
r
[
1
]
a
=
r
[
1
]
data
[
'data'
]
.
append
([
a
,
r
[
2
],
r
[
4
],
r
[
3
]
])
end
=
str
(
'无权限'
)
data
[
'data'
]
.
append
([
a
,
r
[
2
],
r
[
4
],
'/'
,
'/'
,
r
[
3
],
end
])
elif
obj
==
'bom'
:
elif
obj
==
'bom'
:
data
[
'clmns'
]
=
[
"物料单编码"
,
"产成品名称"
,
"原材料配比"
,
"半成品配比"
,
"包装物料耗用"
]
data
[
'clmns'
]
=
[
"物料单编码"
,
"产成品名称"
,
"原材料配比"
,
"半成品配比"
,
"包装物料耗用"
]
s
=
"select id,name,coalesce(code,''), "
+
\
s
=
"select id,name,coalesce(code,''), "
+
\
...
@@ -4690,7 +4692,50 @@ def list_obj(request, obj):
...
@@ -4690,7 +4692,50 @@ def list_obj(request, obj):
data
[
'show_add'
]
=
show_add
data
[
'show_add'
]
=
show_add
data
[
'can_edit'
]
=
can_edit
data
[
'can_edit'
]
=
can_edit
return
render
(
request
,
'obj/list_obj.html'
,
data
)
return
render
(
request
,
'obj/list_obj.html'
,
data
)
# lisin 2024-08-19 包装物料供应商管理
def
packaging_supplier_manage
(
request
,
id
=
None
):
is_saved
=
False
u
=
request
.
user
c
=
u
.
company
if
id
:
obj
=
Packaging
.
objects
.
get
(
id
=
int
(
id
))
else
:
obj
=
Packaging
(
company_id
=
c
.
id
)
obj
.
company
=
request
.
user
.
company
obj
.
company_id
=
request
.
user
.
company
.
id
units_pkg
=
[]
#3;"PKG";"包装材料"
# for uu in CompanyUnit.objects.filter(company_id=cid,invtype=3):
# units_pkg.append(uu.unit)
if
request
.
method
==
'GET'
:
form
=
PackagingForm
(
instance
=
obj
)
formset_v
=
PackagingVendorFormset
(
instance
=
obj
)
print
(
'id---11'
,
id
,
obj
.
company_id
,
obj
.
company
)
elif
request
.
method
==
"POST"
:
form
=
PackagingForm
(
request
.
POST
,
instance
=
obj
)
print
(
'id---'
,
request
.
POST
,
obj
)
formset_v
=
PackagingVendorFormset
(
request
.
POST
,
instance
=
obj
)
# if form.is_valid():
# form.save()
# print('formset_v',formset_v.is_valid(),formset_v)
is_saved
=
True
if
formset_v
.
is_valid
():
formset_v
.
save
()
else
:
for
form
in
formset_v
.
forms
:
if
not
form
.
is_valid
():
print
(
'form---'
,
form
.
errors
)
return
render
(
request
,
'obj/packaging_supplier_manage.html'
,
{
'form'
:
form
,
'is_saved'
:
is_saved
,
'company'
:
c
.
id
,
'formset_v'
:
formset_v
}
)
def
get_product_props
(
company_id
,
product_id
):
def
get_product_props
(
company_id
,
product_id
):
props
=
[]
props
=
[]
...
...
mes/forms.py
浏览文件 @
808d2a7f
...
@@ -181,4 +181,37 @@ class CustomerForm(ModelForm):
...
@@ -181,4 +181,37 @@ class CustomerForm(ModelForm):
widgets
=
{
widgets
=
{
'company'
:
forms
.
HiddenInput
(),
'company'
:
forms
.
HiddenInput
(),
}
}
# lisin
class
PackagingForm
(
ModelForm
):
class
Meta
:
model
=
Packaging
fields
=
'__all__'
widgets
=
{
'code'
:
forms
.
TextInput
(
attrs
=
{
'readonly'
:
'readonly'
}),
}
class
CompanyForm
(
ModelForm
):
class
Meta
:
model
=
Company
fields
=
'__all__'
widgets
=
{
'company'
:
forms
.
HiddenInput
(),
}
# lisin
class
PackagingVendorForm
(
ModelForm
):
class
Meta
:
model
=
PackagingVendor
fields
=
'__all__'
widgets
=
{
'company'
:
forms
.
HiddenInput
(),
'packaging'
:
forms
.
HiddenInput
(),
'vendor'
:
forms
.
HiddenInput
(),
}
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
(
PackagingVendorForm
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
self
.
fields
[
'vendor'
]
.
widget
.
attrs
[
'class'
]
=
"vid"
PackagingVendorFormset
=
forms
.
inlineformset_factory
(
Packaging
,
PackagingVendor
,
form
=
PackagingVendorForm
,
extra
=
0
,
can_delete
=
True
)
\ No newline at end of file
mes/models.py
浏览文件 @
808d2a7f
...
@@ -15,8 +15,9 @@ class Vendor(models.Model):
...
@@ -15,8 +15,9 @@ class Vendor(models.Model):
name
=
models
.
CharField
(
_
(
'供应商名称'
),
max_length
=
100
)
name
=
models
.
CharField
(
_
(
'供应商名称'
),
max_length
=
100
)
address
=
models
.
CharField
(
_
(
'详细地址'
),
max_length
=
100
,
blank
=
True
,
null
=
True
)
address
=
models
.
CharField
(
_
(
'详细地址'
),
max_length
=
100
,
blank
=
True
,
null
=
True
)
cellphone
=
models
.
CharField
(
_
(
'联系电话'
),
max_length
=
20
,
blank
=
True
,
null
=
True
)
cellphone
=
models
.
CharField
(
_
(
'联系电话'
),
max_length
=
20
,
blank
=
True
,
null
=
True
)
# contacts=models.CharField(_('联系人'),max_length=50,blank=True,null=True)
remark
=
models
.
CharField
(
_
(
'备注说明'
),
max_length
=
100
,
blank
=
True
,
null
=
True
)
remark
=
models
.
CharField
(
_
(
'备注说明'
),
max_length
=
100
,
blank
=
True
,
null
=
True
)
external_code
=
models
.
CharField
(
_
(
'外部编码'
),
max_length
=
50
,
blank
=
True
,
null
=
True
)
external_code
=
models
.
CharField
(
_
(
'外部编码'
),
max_length
=
50
,
blank
=
True
,
null
=
True
,
unique
=
True
)
contents
=
models
.
TextField
(
_
(
'介绍'
),
blank
=
True
,
null
=
True
)
contents
=
models
.
TextField
(
_
(
'介绍'
),
blank
=
True
,
null
=
True
)
is_delete
=
models
.
BooleanField
(
_
(
'是否已删除'
),
default
=
False
)
is_delete
=
models
.
BooleanField
(
_
(
'是否已删除'
),
default
=
False
)
...
@@ -130,6 +131,8 @@ class Materials(models.Model):
...
@@ -130,6 +131,8 @@ class Materials(models.Model):
code
=
models
.
CharField
(
_
(
'材料编码'
),
unique
=
True
,
max_length
=
20
,
blank
=
True
,
null
=
True
)
code
=
models
.
CharField
(
_
(
'材料编码'
),
unique
=
True
,
max_length
=
20
,
blank
=
True
,
null
=
True
)
units
=
models
.
JSONField
(
_
(
'计量单位'
),
default
=
list
,
blank
=
True
,
null
=
True
)
units
=
models
.
JSONField
(
_
(
'计量单位'
),
default
=
list
,
blank
=
True
,
null
=
True
)
safety_qty
=
models
.
IntegerField
(
_
(
'基准单位安全库存量'
),
blank
=
True
,
null
=
True
)
safety_qty
=
models
.
IntegerField
(
_
(
'基准单位安全库存量'
),
blank
=
True
,
null
=
True
)
# specification=models.CharField(_('规格'),max_length=50,blank=True,null=True)
# base_unit=models.CharField(_('基础单位'),max_length=50,blank=True,null=True)
remark
=
models
.
CharField
(
_
(
'备注说明'
),
max_length
=
50
,
blank
=
True
,
null
=
True
)
remark
=
models
.
CharField
(
_
(
'备注说明'
),
max_length
=
50
,
blank
=
True
,
null
=
True
)
dt
=
models
.
DateField
(
_
(
'日期'
),
default
=
now
,
db_index
=
True
,
blank
=
True
,
null
=
True
)
dt
=
models
.
DateField
(
_
(
'日期'
),
default
=
now
,
db_index
=
True
,
blank
=
True
,
null
=
True
)
tm
=
models
.
DateTimeField
(
_
(
'时间'
),
default
=
now
,
blank
=
True
,
null
=
True
)
tm
=
models
.
DateTimeField
(
_
(
'时间'
),
default
=
now
,
blank
=
True
,
null
=
True
)
...
@@ -187,6 +190,24 @@ class Packaging(models.Model):
...
@@ -187,6 +190,24 @@ class Packaging(models.Model):
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
name
return
self
.
name
#包材供应商 lisin 2024-08-20
class
PackagingVendor
(
models
.
Model
):
company
=
models
.
ForeignKey
(
'company.Company'
,
verbose_name
=
_
(
'所属企业'
),
on_delete
=
models
.
CASCADE
)
packaging
=
models
.
ForeignKey
(
Packaging
,
verbose_name
=
_
(
'包装材料'
),
on_delete
=
models
.
CASCADE
)
vendor
=
models
.
ForeignKey
(
Vendor
,
verbose_name
=
_
(
'供应商'
),
on_delete
=
models
.
CASCADE
)
unit_price
=
models
.
DecimalField
(
_
(
'单价'
),
max_digits
=
8
,
decimal_places
=
2
)
dt
=
models
.
DateField
(
_
(
'日期'
),
default
=
now
,
db_index
=
True
,
blank
=
True
,
null
=
True
)
tm
=
models
.
DateTimeField
(
_
(
'时间'
),
default
=
now
,
blank
=
True
,
null
=
True
)
remark
=
models
.
CharField
(
_
(
'备注说明'
),
max_length
=
50
,
blank
=
True
,
null
=
True
)
class
Meta
:
verbose_name
=
_
(
'包装供应商'
)
verbose_name_plural
=
_
(
'包装供应商'
)
unique_together
=
(
"company"
,
"packaging"
,
"vendor"
)
def
__str__
(
self
):
return
self
.
name
#物料单
#物料单
...
...
mes/views.py
浏览文件 @
808d2a7f
...
@@ -312,9 +312,9 @@ def list_obj(request,what):
...
@@ -312,9 +312,9 @@ def list_obj(request,what):
return
render
(
request
,
'mes/list_order.html'
,
data
)
return
render
(
request
,
'mes/list_order.html'
,
data
)
elif
what
==
'vendor'
:
elif
what
==
'vendor'
:
data
[
'subtt'
]
=
[
_
(
'供应商与客户'
),
_
(
'供应商'
)]
data
[
'subtt'
]
=
[
_
(
'供应商与客户'
),
_
(
'供应商'
)]
data
[
'clmns'
]
=
[
_
(
'供应商名称'
),
_
(
'
详细地址
'
),
_
(
'联系电话'
),
_
(
'备注说明'
),
_
(
'操作'
)]
data
[
'clmns'
]
=
[
_
(
'供应商名称'
),
_
(
'
供应商外部编码'
),
_
(
'详细地址'
),
_
(
'联系人
'
),
_
(
'联系电话'
),
_
(
'备注说明'
),
_
(
'操作'
)]
d
=
[]
d
=
[]
s
=
"SELECT id,name,coalesce(
address,'
'),coalesce(cellphone,''),coalesce(remark,'') "
+
\
s
=
"SELECT id,name,coalesce(
external_code,'/'),coalesce(address,''),coalesce(contents,'/
'),coalesce(cellphone,''),coalesce(remark,'') "
+
\
"FROM mes_vendor where company_id="
+
str
(
c
.
id
)
+
" and is_delete is false"
"FROM mes_vendor where company_id="
+
str
(
c
.
id
)
+
" and is_delete is false"
cur
.
execute
(
s
)
cur
.
execute
(
s
)
for
r
in
cur
.
fetchall
():
for
r
in
cur
.
fetchall
():
...
@@ -322,7 +322,7 @@ def list_obj(request,what):
...
@@ -322,7 +322,7 @@ def list_obj(request,what):
if
data
[
'show_add'
]:
if
data
[
'show_add'
]:
a
=
'<a class="edt" href="/mes/edit/vendor/'
+
str
(
r
[
0
])
+
'/">'
+
r
[
1
]
+
'</a>'
a
=
'<a class="edt" href="/mes/edit/vendor/'
+
str
(
r
[
0
])
+
'/">'
+
r
[
1
]
+
'</a>'
btn
=
'<a class="btn btn-sm btn-default" href="/mes/edit/vendorPhotos/'
+
str
(
r
[
0
])
+
'">资质图片管理</a>'
btn
=
'<a class="btn btn-sm btn-default" href="/mes/edit/vendorPhotos/'
+
str
(
r
[
0
])
+
'">资质图片管理</a>'
d
.
append
([
a
,
r
[
2
],
r
[
3
],
r
[
4
],
btn
])
d
.
append
([
a
,
r
[
2
],
r
[
3
],
r
[
4
],
r
[
5
],
r
[
6
],
btn
])
data
[
'data'
]
=
d
data
[
'data'
]
=
d
elif
what
==
'customer'
:
elif
what
==
'customer'
:
data
[
'subtt'
]
=
[
_
(
'供应商与客户'
),
_
(
'代工客户'
)]
data
[
'subtt'
]
=
[
_
(
'供应商与客户'
),
_
(
'代工客户'
)]
...
...
templates/mes/edit_vendor.html
浏览文件 @
808d2a7f
...
@@ -52,11 +52,19 @@
...
@@ -52,11 +52,19 @@
<div
class=
"form-group "
>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '供应商名称:' %}
</label>
<label
class=
"col-sm-2 control-label "
>
{% trans '供应商名称:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.name }}
</div>
<div
class=
"col-sm-10"
>
{{ form.name }}
</div>
</div>
</div>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '供应商外部编码:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.external_code }}
</div>
</div>
<div
class=
"form-group "
>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '详细地址:' %}
</label>
<label
class=
"col-sm-2 control-label "
>
{% trans '详细地址:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.address }}
</div>
<div
class=
"col-sm-10"
>
{{ form.address }}
</div>
</div>
</div>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '联系人:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.contacts }}
</div>
</div>
<div
class=
"form-group "
>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '联系电话:' %}
</label>
<label
class=
"col-sm-2 control-label "
>
{% trans '联系电话:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.cellphone }}
</div>
<div
class=
"col-sm-10"
>
{{ form.cellphone }}
</div>
...
...
templates/obj/edit_packaging.html
浏览文件 @
808d2a7f
...
@@ -42,7 +42,15 @@
...
@@ -42,7 +42,15 @@
<div
class=
"form-group "
>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '计量类别:' %}
</label>
<label
class=
"col-sm-2 control-label "
>
{% trans '计量类别:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.measure }}
</div>
<div
class=
"col-sm-10"
>
{{ form.measure }}
</div>
</div>
</div>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '规格(例如:1*4*6):' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.specification }}
</div>
</div>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '基础单位:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.base_unit }}
</div>
</div>
<div
class=
"form-group "
>
<div
class=
"form-group "
>
<label
class=
"col-sm-2 control-label "
>
{% trans '备注说明:' %}
</label>
<label
class=
"col-sm-2 control-label "
>
{% trans '备注说明:' %}
</label>
<div
class=
"col-sm-10"
>
{{ form.remark }}
</div>
<div
class=
"col-sm-10"
>
{{ form.remark }}
</div>
...
...
templates/obj/packaging_supplier_manage.html
0 → 100644
浏览文件 @
808d2a7f
{% extends 'obj_form.html' %}
{% load i18n %}
{% load tj_filters %}
{% block js %}
{{ block.super }}
{% if not perms.company.sys_admin %}
$('#data-content input,#data-content .btn,#data-content select').attr("disabled",true);
{% endif %}
{% ifnotequal request.user.company.level_id 1 %}
$('#data-content input,#data-content .btn,#data-content select').attr("disabled",true);
{% endifnotequal %}
$.datetimepicker.setLocale('zh');
$('#vendor_label').autocomplete({
source: function(request, response) {
$.ajax({
url: '/obj/ajax/autocomplete/mes_vendor/',
dataType: "json",
data: {
term: $("#vendor_label").val() ,//搜索栏里的内容
company_id: $('#id_company').val() ,//额外参数
},
success: function(data) {
response(data);
}
});
},
select: function (event, ui) {
$("#vendor_id").val(ui.item.value);
$("#vendor_label").val(ui.item.label);
return false;
}
});
$('.add-vendor').click(function(){
var b=false;
var id=$('#vendor_id').val();
var name=$('#vendor_label').val();
<!-- var unit=$('#product_unit').val(); -->
var unit_price=$('#vendor_base_unit').val();
$('#packaging-vendor tbody tr').each(function(idx,val){
if($(this).find('.pid').val()==$('#vendor_id').val()){
b=true;
return;
}
});
if($.isEmpty(id) || $.isEmpty(name) || $.isEmpty(unit_price)){
toastr.error("供应商/单价不能为空!", "操作错误:",
{timeOut: 800, positionClass: "toast-center-center"}
);
}else{
if (b){
toastr.error("已在列表中!", "操作错误:",
{timeOut: 800, positionClass: "toast-center-center"}
);
}else{
var prefix='#id_packagingvendor_set-';
$(prefix+'__prefix__').find('.vendor').text(name);
var count = $('#packaging-vendor tbody tr').length;
var tmplMarkup = '
<tr
class=
"p"
>
'+$(prefix+'__prefix__').html()+'
</tr>
';
var compiledTmpl = tmplMarkup.replace(/__prefix__/g, count);
$('#packaging-vendor tbody').append(compiledTmpl);
$(prefix+count+'-vendor').val(id);
$(prefix+count+'-unit_price').val(unit_price);
$(prefix+'TOTAL_FORMS').attr('value', (count+1));
console.log('www---',id,prefix+count);
}
}
});
$('#id_means').change(function(){
if($(this).val()==1){
$('#id_tm_app_latest').val('').attr("disabled",true);
}else{
$('#id_tm_app_latest').attr("disabled",false);
}
});
$('.btn-save').click(function(){
a=[];
$("#sel-div option").each(function (){
a.push($(this).val());
});
if(a.length>0){
$('#id_div_ids').val(a.join(','));
};
a=[];
$("#sel-subdiv option").each(function (){
a.push($(this).val());
});
if(a.length>0){
$('#id_subdiv_ids').val(a.join(','));
};
$.SubmitForm('#obj_form form','{{request.path}}');
});
$('#obj_form .select2_multiple').on('dblclick','option',function(){
$(this).remove();
});
{% endblock %}
{% block subtitle-1 %}
{% trans "物料信息" %}
{% endblock %}
{% block subtitle-2 %}
{% trans "包装物料" %}
{% endblock %}
<span
style=
"margin-left:10px; color:green; "
>
{% block subtitle-3 %}
{% if form.instance.id %}
{% trans "修改" %}
{% else %}
{% trans "新建" %}
{% endif %}
{% endblock %}
</span>
{% block form_content %}
{{ block.super }}
<input
type=
"hidden"
name=
"company"
value=
"{{company}}"
id=
"id_company"
class=
"form-control"
>
<div
class=
"form-group "
>
<label
class=
"col-sm-1 control-label "
>
{% trans '物料编号' %}
</label>
<div
class=
"col-sm-5"
>
{{ form.code }}
</div>
<label
class=
"col-sm-1 control-label "
>
{% trans '物料名称' %}
</label>
<div
class=
"col-sm-5"
>
{{ form.name }}
</div>
</div>
<div
class=
"form-group "
>
<label
class=
"col-sm-1 control-label "
>
{% trans '计量类别' %}
</label>
<div
class=
"col-sm-2"
>
{{ form.measure }}
</div>
<label
class=
"col-sm-1 control-label "
>
{% trans '所属企业' %}
</label>
<div
class=
"col-sm-2"
>
{{ company }}
</div>
</div>
<!-- <div class="form-group " style="margin-bottom:0px;padding-bottom:0px;">
<label class="col-sm-1 control-label ">{% trans '指定战区' %} </label>
<div class="col-sm-5">
<div class="input-group">
<select id='div_id'>
<option value=''>所有战区</option>
{% for o in saldivs %}
<option value='{{o.0}}'>{{o.1}}</option>
{% endfor %}
</select>
<span class="input-group-btn"><button type="button" class="btn btn-success add-div">
<span class='glyphicon glyphicon-arrow-down'></span></button></span>
</div>
</div>
<label class="col-sm-1 control-label ">{% trans '指定分区' %} </label>
<div class="col-sm-5">
<div class="input-group">
<select id="subdiv_id"><option>所有分区</option></select>
<span class="input-group-btn"><button type="button" class="btn btn-success add-subdiv">
<span class='glyphicon glyphicon-arrow-down'></span></button></span>
</div>
</div>
</div>
<div class="form-group" style='padding-top:0px;margin-top:0px;'>
<div class='col-sm-5 col-md-offset-1'>
<select class="select2_multiple form-control" id="sel-div" multiple="multiple">
{% for o in div_ids %}
<option value='{{o.0}}'>{{o.1}}</option>
{% endfor %}
</select>
</div>
<div class='col-sm-5 col-md-offset-1'>
<select class="select2_multiple form-control" id="sel-subdiv" multiple="multiple">
{% for o in subdiv_ids %}
<option value='{{o.0}}'>{{o.1}}</option>
{% endfor %}
</select>
</div>
</div> -->
{% endblock %}
{% block fmset %}
<table
style=
"display:none;"
>
<tr
id=
"id_packagingvendor_set-__prefix__"
>
<td>
{{formset_v.empty_form.DELETE}}{{formset_v.empty_form.id}}{{formset_v.empty_form.status}}
</td>
<td>
{{formset_v.empty_form.vendor}}
<span
class=
'vendor'
></span></td>
<td>
{{formset_v.empty_form.unit_price}}
</td>
<!-- <td>{{formset_v.empty_form.package_id}}</td> -->
<td>
{{formset_v.empty_form.remark}}
</td>
</tr>
</table>
{{ formset_v.management_form }}
<!-- <table style="display:none;">
<tr id="id_schemematerials_set-__prefix__" >
<td>{{mset.empty_form.DELETE }}{{mset.empty_form.id}}{{mset.empty_form.status}}</td>
<td>{{mset.empty_form.material}}<span class='material'></span></td>
<td>{{mset.empty_form.unit_price}}</td>
<td>{{mset.empty_form.remark}}</td>
</tr>
</table>
{{ mset.management_form }} -->
<div
class=
"x_panel"
id=
'packaging-vendor'
>
<div
class=
"x_title"
>
<h2
style=
'font-size:15px;'
><i
class=
"fa fa-gift"
></i>
供应商
</h2>
<ul
class=
"nav navbar-right panel_toolbox"
>
<li><a
class=
"collapse-link"
><i
class=
"fa fa-chevron-up"
></i></a>
</li>
<li
class=
"dropdown"
>
<a
href=
"#"
class=
"dropdown-toggle"
data-toggle=
"dropdown"
role=
"button"
aria-expanded=
"false"
><i
class=
"fa fa-wrench"
></i></a>
<ul
class=
"dropdown-menu"
role=
"menu"
>
<li><a
href=
"#"
>
Settings 1
</a>
</li>
<li><a
href=
"#"
>
Settings 2
</a>
</li>
</ul>
</li>
<li><a
class=
"close-link"
><i
class=
"fa fa-close"
></i></a>
</li>
</ul>
<div
class=
"clearfix"
></div>
</div>
<div
class=
"x_content"
>
<div
class=
"form-group "
>
<div
class=
'col-sm-6'
><input
id=
'vendor_label'
placeholder=
'供应商名称'
><input
type=
'hidden'
id=
'vendor_id'
></div>
<div
class=
'col-sm-1'
><input
id=
'vendor_base_unit'
placeholder=
'单价'
></div>
<!-- <div class='col-sm-1'><select id='product_unit'>
<option value='3'>箱</option>
<option value='1'>瓶</option>
</select></div> -->
<span
class=
"input-group-btn"
><button
type=
"button"
class=
"btn btn-success add-vendor"
>
<span
class=
'glyphicon glyphicon-arrow-down'
></span></button></span>
</div>
<div
class=
'table-responsive'
style=
'padding:10px;'
>
<table
class=
"table table-condensed table-bordered table-hover"
>
<thead>
<th
style=
'width:5%;'
>
删除
</th>
<th
style=
'width:35%;'
>
供应商名称
</th>
<th
style=
'width:10%;'
>
单价
</th>
<!-- <th style='width:10%;'>单位</th> -->
<th
style=
'width:45%;'
>
备注
</th>
</thead>
<tbody>
{% for f in formset_v %}
<tr>
<td>
{{f.DELETE}}{{f.id}}{{f.status}}
</td>
<td>
{{f.vendor}}
<span
class=
'vendor'
>
{{f.instance.vendor.name}}
</span></td>
<td>
{{f.unit_price}}
</td>
<!-- <td>{{f.package_id}}</td> -->
<td>
{{f.remark}}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<!-- <div class="x_panel" id='scheme-material'>
<div class="x_title">
<h2 style='font-size:15px;'><i class="fa fa-gift"></i> 促销物料 </h2>
<ul class="nav navbar-right panel_toolbox">
<li><a class="collapse-link"><i class="fa fa-chevron-up"></i></a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><i class="fa fa-wrench"></i></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Settings 1</a>
</li>
<li><a href="#">Settings 2</a>
</li>
</ul>
</li>
<li><a class="close-link"><i class="fa fa-close"></i></a>
</li>
</ul>
<div class="clearfix"></div>
</div>
<div class="x_content">
<div class="form-group ">
<div class='col-sm-6'><input id='material_label' placeholder='物料名称'><input type='hidden' id='material_id'></div>
<div class='col-sm-2'><input id='material_unit_price' placeholder='数量'></div>
<span class="input-group-btn"><button type="button" class="btn btn-success add-material">
<span class='glyphicon glyphicon-arrow-down'></span></button></span>
</div>
<div class='table-responsive' style='padding:10px;'>
<table class="table table-condensed table-bordered table-hover">
<thead>
<th style='width:5%;'>删除</th>
<th style='width:45%;'>物料名称</th>
<th style='width:10%;'>数量</th>
<th style='width:45%;'>备注</th>
</thead>
<tbody>
{% for f in mset %}
<tr>
<td>{{f.DELETE}}{{f.id}}{{f.status}}</td>
<td>{{f.material}}<span class='material'>{{f.instance.material.name}}</span></td>
<td>{{f.unit_price}}</td>
<td>{{f.remark}}</td>
</tr>
{% endfor %}
</tbody>
</table></div>
</div>
</div> -->
<div>
<a
class=
"btn btn-primary btn-save"
type=
"submit"
style=
"float:right;"
>
{% trans '保存' %}
</a></div>
{% endblock %}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论