Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
Ozt
Project
Project
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
Graph
比较
统计图
议题
0
议题
0
列表
看板
标记
Milestones
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Ras
Ozt
Commits
e2c83a88
提交
e2c83a88
authored
1月 26, 2022
作者:
Ras
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加 供应商基本信息
上级
eb923eef
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
555 行增加
和
0 行删除
+555
-0
ImsBsSupList.vue
src/views/ozt/ImsBsSupList.vue
+208
-0
ImsBsSupForm.vue
src/views/ozt/modules/ImsBsSupForm.vue
+202
-0
ImsBsSupModal.vue
src/views/ozt/modules/ImsBsSupModal.vue
+61
-0
ImsBsSupModal__Style#Drawer.vue
src/views/ozt/modules/ImsBsSupModal__Style#Drawer.vue
+84
-0
没有找到文件。
src/views/ozt/ImsBsSupList.vue
0 → 100644
浏览文件 @
e2c83a88
<
template
>
<a-card
:bordered=
"false"
>
<!-- 查询区域 -->
<div
class=
"table-page-search-wrapper"
>
<a-form
layout=
"inline"
@
keyup
.
enter
.
native=
"searchQuery"
>
<a-row
:gutter=
"24"
>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div
class=
"table-operator"
>
<a-button
@
click=
"handleAdd"
type=
"primary"
icon=
"plus"
>
新增
</a-button>
<a-button
type=
"primary"
icon=
"download"
@
click=
"handleExportXls('1')"
>
导出
</a-button>
<a-upload
name=
"file"
:showUploadList=
"false"
:multiple=
"false"
:headers=
"tokenHeader"
:action=
"importExcelUrl"
@
change=
"handleImportExcel"
>
<a-button
type=
"primary"
icon=
"import"
>
导入
</a-button>
</a-upload>
<a-dropdown
v-if=
"selectedRowKeys.length > 0"
>
<a-menu
slot=
"overlay"
>
<a-menu-item
key=
"1"
@
click=
"batchDel"
><a-icon
type=
"delete"
/>
删除
</a-menu-item>
</a-menu>
<a-button
style=
"margin-left: 8px"
>
批量操作
<a-icon
type=
"down"
/></a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div
class=
"ant-alert ant-alert-info"
style=
"margin-bottom: 16px;"
>
<i
class=
"anticon anticon-info-circle ant-alert-icon"
></i>
已选择
<a
style=
"font-weight: 600"
>
{{
selectedRowKeys
.
length
}}
</a>
项
<a
style=
"margin-left: 24px"
@
click=
"onClearSelected"
>
清空
</a>
</div>
<a-table
ref=
"table"
size=
"middle"
:scroll=
"
{x:true}"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
class="j-table-force-nowrap"
@change="handleTableChange">
<template
slot=
"htmlSlot"
slot-scope=
"text"
>
<div
v-html=
"text"
></div>
</
template
>
<
template
slot=
"imgSlot"
slot-scope=
"text"
>
<span
v-if=
"!text"
style=
"font-size: 12px;font-style: italic;"
>
无图片
</span>
<img
v-else
:src=
"getImgView(text)"
height=
"25px"
alt=
""
style=
"max-width:80px;font-size: 12px;font-style: italic;"
/>
</
template
>
<
template
slot=
"fileSlot"
slot-scope=
"text"
>
<span
v-if=
"!text"
style=
"font-size: 12px;font-style: italic;"
>
无文件
</span>
<a-button
v-else
:ghost=
"true"
type=
"primary"
icon=
"download"
size=
"small"
@
click=
"downloadFile(text)"
>
下载
</a-button>
</
template
>
<span
slot=
"action"
slot-scope=
"text, record"
>
<a
@
click=
"handleEdit(record)"
>
编辑
</a>
<a-divider
type=
"vertical"
/>
<a-dropdown>
<a
class=
"ant-dropdown-link"
>
更多
<a-icon
type=
"down"
/></a>
<a-menu
slot=
"overlay"
>
<a-menu-item>
<a
@
click=
"handleDetail(record)"
>
详情
</a>
</a-menu-item>
<a-menu-item>
<a-popconfirm
title=
"确定删除吗?"
@
confirm=
"() => handleDelete(record.id)"
>
<a>
删除
</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</a-table>
</div>
<ims-bs-sup-modal
ref=
"modalForm"
@
ok=
"modalFormOk"
></ims-bs-sup-modal>
</a-card>
</template>
<
script
>
import
'@/assets/less/TableExpand.less'
import
{
mixinDevice
}
from
'@/utils/mixin'
import
{
JeecgListMixin
}
from
'@/mixins/JeecgListMixin'
import
ImsBsSupModal
from
'./modules/ImsBsSupModal'
export
default
{
name
:
'ImsBsSupList'
,
mixins
:[
JeecgListMixin
,
mixinDevice
],
components
:
{
ImsBsSupModal
},
data
()
{
return
{
description
:
'1管理页面'
,
// 表头
columns
:
[
{
title
:
'#'
,
dataIndex
:
''
,
key
:
'rowIndex'
,
width
:
60
,
align
:
"center"
,
customRender
:
function
(
t
,
r
,
index
)
{
return
parseInt
(
index
)
+
1
;
}
},
{
title
:
'供应商编码'
,
align
:
"center"
,
dataIndex
:
'supCode'
},
{
title
:
'供应商名称'
,
align
:
"center"
,
dataIndex
:
'supName'
},
{
title
:
'国家编码'
,
align
:
"center"
,
dataIndex
:
'countryCode'
},
{
title
:
'签标解析方案'
,
align
:
"center"
,
dataIndex
:
'qrcodeCode'
},
{
title
:
'联系人'
,
align
:
"center"
,
dataIndex
:
'contactsUser'
},
{
title
:
'联系电话'
,
align
:
"center"
,
dataIndex
:
'contactsPhone'
},
{
title
:
'供应商物料编码'
,
align
:
"center"
,
dataIndex
:
'supMtrlCode'
},
{
title
:
'物料编码'
,
align
:
"center"
,
dataIndex
:
'mtrlCode'
},
{
title
:
'备注'
,
align
:
"center"
,
dataIndex
:
'remark'
},
{
title
:
'主键ID'
,
align
:
"center"
,
dataIndex
:
'fid'
},
{
title
:
'操作'
,
dataIndex
:
'action'
,
align
:
"center"
,
fixed
:
"right"
,
width
:
147
,
scopedSlots
:
{
customRender
:
'action'
}
}
],
url
:
{
list
:
"/imsBsSup/list"
,
delete
:
"/imsBsSup/delete"
,
deleteBatch
:
"/imsBsSup/deleteBatch"
,
exportXlsUrl
:
"/imsBsSup/exportXls"
,
importExcelUrl
:
"/imsBsSup/importExcel"
,
},
dictOptions
:{},
}
},
created
()
{
},
computed
:
{
importExcelUrl
:
function
(){
return
`
${
window
.
_CONFIG
[
'domianURL'
]}
/
${
this
.
url
.
importExcelUrl
}
`
;
},
},
methods
:
{
initDictConfig
(){
}
}
}
</
script
>
<
style
scoped
>
@import
'~@assets/less/common.less'
;
</
style
>
\ No newline at end of file
src/views/ozt/modules/ImsBsSupForm.vue
0 → 100644
浏览文件 @
e2c83a88
<
template
>
<a-spin
:spinning=
"confirmLoading"
>
<j-form-container
:disabled=
"formDisabled"
>
<a-form
:form=
"form"
slot=
"detail"
>
<a-row>
<a-col
:span=
"24"
>
<a-form-item
label=
"供应商编码"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['supCode']"
placeholder=
"请输入供应商编码"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"供应商名称"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['supName']"
placeholder=
"请输入供应商名称"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"国家编码"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['countryCode']"
placeholder=
"请输入国家编码"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"签标解析方案"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['qrcodeCode']"
placeholder=
"请输入签标解析方案"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"联系人"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['contactsUser']"
placeholder=
"请输入联系人"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"联系电话"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['contactsPhone']"
placeholder=
"请输入联系电话"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"供应商物料编码"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['supMtrlCode']"
placeholder=
"请输入供应商物料编码"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"物料编码"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['mtrlCode']"
placeholder=
"请输入物料编码"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"备注"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['remark']"
placeholder=
"请输入备注"
></a-input>
</a-form-item>
</a-col>
<a-col
:span=
"24"
>
<a-form-item
label=
"主键ID"
:labelCol=
"labelCol"
:wrapperCol=
"wrapperCol"
>
<a-input
v-decorator=
"['fid']"
placeholder=
"请输入主键ID"
></a-input>
</a-form-item>
</a-col>
<a-col
v-if=
"showFlowSubmitButton"
:span=
"24"
style=
"text-align: center"
>
<a-button
@
click=
"submitForm"
>
提 交
</a-button>
</a-col>
</a-row>
</a-form>
</j-form-container>
</a-spin>
</
template
>
<
script
>
import
{
httpAction
,
getAction
}
from
'@/api/manage'
import
pick
from
'lodash.pick'
import
{
validateDuplicateValue
}
from
'@/utils/util'
import
JFormContainer
from
'@/components/jeecg/JFormContainer'
export
default
{
name
:
'ImsBsSupForm'
,
components
:
{
JFormContainer
,
},
props
:
{
//流程表单data
formData
:
{
type
:
Object
,
default
:
()
=>
{},
required
:
false
},
//表单模式:true流程表单 false普通表单
formBpm
:
{
type
:
Boolean
,
default
:
false
,
required
:
false
},
//表单禁用
disabled
:
{
type
:
Boolean
,
default
:
false
,
required
:
false
}
},
data
()
{
return
{
form
:
this
.
$form
.
createForm
(
this
),
model
:
{},
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
5
},
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
16
},
},
confirmLoading
:
false
,
validatorRules
:
{
},
url
:
{
add
:
"/imsBsSup/add"
,
edit
:
"/imsBsSup/edit"
,
queryById
:
"/imsBsSup/queryById"
}
}
},
computed
:
{
formDisabled
(){
if
(
this
.
formBpm
===
true
){
if
(
this
.
formData
.
disabled
===
false
){
return
false
}
return
true
}
return
this
.
disabled
},
showFlowSubmitButton
(){
if
(
this
.
formBpm
===
true
){
if
(
this
.
formData
.
disabled
===
false
){
return
true
}
}
return
false
}
},
created
()
{
//如果是流程中表单,则需要加载流程表单data
this
.
showFlowData
();
},
methods
:
{
add
()
{
this
.
edit
({});
},
edit
(
record
)
{
this
.
form
.
resetFields
();
this
.
model
=
Object
.
assign
({},
record
);
this
.
visible
=
true
;
this
.
$nextTick
(()
=>
{
this
.
form
.
setFieldsValue
(
pick
(
this
.
model
,
'supCode'
,
'supName'
,
'countryCode'
,
'qrcodeCode'
,
'contactsUser'
,
'contactsPhone'
,
'supMtrlCode'
,
'mtrlCode'
,
'remark'
,
'fid'
))
})
},
//渲染流程表单数据
showFlowData
(){
if
(
this
.
formBpm
===
true
){
let
params
=
{
id
:
this
.
formData
.
dataId
};
getAction
(
this
.
url
.
queryById
,
params
).
then
((
res
)
=>
{
if
(
res
.
success
){
this
.
edit
(
res
.
result
);
}
});
}
},
submitForm
()
{
const
that
=
this
;
// 触发表单验证
this
.
form
.
validateFields
((
err
,
values
)
=>
{
if
(
!
err
)
{
that
.
confirmLoading
=
true
;
let
httpurl
=
''
;
let
method
=
''
;
if
(
!
this
.
model
.
id
){
httpurl
+=
this
.
url
.
add
;
method
=
'post'
;
}
else
{
httpurl
+=
this
.
url
.
edit
;
method
=
'put'
;
}
let
formData
=
Object
.
assign
(
this
.
model
,
values
);
console
.
log
(
"表单提交数据"
,
formData
)
httpAction
(
httpurl
,
formData
,
method
).
then
((
res
)
=>
{
if
(
res
.
success
){
that
.
$message
.
success
(
res
.
message
);
that
.
$emit
(
'ok'
);
}
else
{
that
.
$message
.
warning
(
res
.
message
);
}
}).
finally
(()
=>
{
that
.
confirmLoading
=
false
;
})
}
})
},
popupCallback
(
row
){
this
.
form
.
setFieldsValue
(
pick
(
row
,
'supCode'
,
'supName'
,
'countryCode'
,
'qrcodeCode'
,
'contactsUser'
,
'contactsPhone'
,
'supMtrlCode'
,
'mtrlCode'
,
'remark'
,
'fid'
))
},
}
}
</
script
>
\ No newline at end of file
src/views/ozt/modules/ImsBsSupModal.vue
0 → 100644
浏览文件 @
e2c83a88
<
template
>
<j-modal
:title=
"title"
:width=
"width"
:visible=
"visible"
switchFullscreen
@
ok=
"handleOk"
:okButtonProps=
"
{ class:{'jee-hidden': disableSubmit} }"
@cancel="handleCancel"
cancelText="关闭">
<ims-bs-sup-form
ref=
"realForm"
@
ok=
"submitCallback"
:disabled=
"disableSubmit"
></ims-bs-sup-form>
</j-modal>
</
template
>
<
script
>
import
ImsBsSupForm
from
'./ImsBsSupForm'
export
default
{
name
:
'ImsBsSupModal'
,
components
:
{
ImsBsSupForm
},
data
()
{
return
{
title
:
''
,
width
:
800
,
visible
:
false
,
disableSubmit
:
false
}
},
methods
:
{
add
()
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
add
();
})
},
edit
(
record
)
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
edit
(
record
);
})
},
close
()
{
this
.
$emit
(
'close'
);
this
.
visible
=
false
;
},
handleOk
()
{
this
.
$refs
.
realForm
.
submitForm
();
},
submitCallback
(){
this
.
$emit
(
'ok'
);
this
.
visible
=
false
;
},
handleCancel
()
{
this
.
close
()
}
}
}
</
script
>
\ No newline at end of file
src/views/ozt/modules/ImsBsSupModal__Style#Drawer.vue
0 → 100644
浏览文件 @
e2c83a88
<
template
>
<a-drawer
:title=
"title"
:width=
"width"
placement=
"right"
:closable=
"false"
@
close=
"close"
:visible=
"visible"
>
<ims-bs-sup-form
ref=
"realForm"
@
ok=
"submitCallback"
:disabled=
"disableSubmit"
normal
></ims-bs-sup-form>
<div
class=
"drawer-footer"
>
<a-button
@
click=
"handleCancel"
style=
"margin-bottom: 0;"
>
关闭
</a-button>
<a-button
v-if=
"!disableSubmit"
@
click=
"handleOk"
type=
"primary"
style=
"margin-bottom: 0;"
>
提交
</a-button>
</div>
</a-drawer>
</
template
>
<
script
>
import
ImsBsSupForm
from
'./ImsBsSupForm'
export
default
{
name
:
'ImsBsSupModal'
,
components
:
{
ImsBsSupForm
},
data
()
{
return
{
title
:
"操作"
,
width
:
800
,
visible
:
false
,
disableSubmit
:
false
}
},
methods
:
{
add
()
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
add
();
})
},
edit
(
record
)
{
this
.
visible
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
realForm
.
edit
(
record
);
});
},
close
()
{
this
.
$emit
(
'close'
);
this
.
visible
=
false
;
},
submitCallback
(){
this
.
$emit
(
'ok'
);
this
.
visible
=
false
;
},
handleOk
()
{
this
.
$refs
.
realForm
.
submitForm
();
},
handleCancel
()
{
this
.
close
()
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
/** Button按钮间距 */
.ant-btn {
margin-left: 30px;
margin-bottom: 30px;
float: right;
}
.drawer-footer{
position: absolute;
bottom: -8px;
width: 100%;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论