Commit 1a27eaf7 authored by 李苏's avatar 李苏 💬

add new function and pages about Inventory

parent beeccdc3
<template>
<RelDialog bigTitle detailTable='DBCKQD' @getFormDetail='getFormDetail' width="70%" :type='type' :editApp='editApp'
:app='app' :buttonApp='buttonApp'>
<el-form slot="form" ref="form" :model="form" label-width="100px" :rules="rules">
<Kc @save='kcSave' v-if="showDialog" :app='this' />
<el-row :gutter="20" :app="this" class="editRow">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig' :rule="item.rule" />
<!-- 额外数据 -->
</el-row>
<div class="editTab">
<editTableForEdit :AuxButton='false' code='WMSWLXX' :indexApp='app' :type='type' @save='save' ref="editTableForEdit"
:editTableTitle='editTableTitle' v-if="editTableForEdit" :computedRow='computedRow'
:editTableData="formDetail">
<template #toolbar="ctx">
<el-button @click="xzkc(ctx.basePage)" size='mini' type="primary">选择库存</el-button>
<!-- <AuxButton :queryParams="{
ckid:form.ckid
}" rename='选择库存' code='WLKC' @save="savekc" /> -->
</template>
</editTableForEdit>
</div>
<el-row :gutter="20" :app="this" class="editRow bottomInfo">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList2 " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig'
:rule="item.rule" />
<!-- 额外数据 -->
</el-row>
</el-form>
<!-- editTab数据 -->
</RelDialog>
</template>
<script>
import Kc from './kc.vue'
import {
toFixed,
doRkdChange
} from 'common/src/utils/blur.js'
import {
editMixin,
editMixin_expand
} from 'common'
export default {
mixins: [editMixin, editMixin_expand],
methods: {
kcSave(obj){
debugger
let {list}=obj
this.form.ckid=list[0].ckid
this.form.hzid=list[0].hzid
this.form.hzName=list[0].hzName
// this.form.ywrq=row.ywrq
let length = this.formDetail.length
this.formDetail.splice(0, length)
list.forEach(item => {
item.bcsl=item.kcsl
item.lydjid = item.id
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
},
xzkc(){
this.showDialog=true
},
/* 需要整体row时的回调 */
computedRow(row) {
// this.$refs.editTableForEdit.$forceUpdate()
},
/* 选择list时的回调 */
save(list) {
list.forEach(item => {
// 转换并且push
item.wlid = item.id
item.wlxxName = item.name
item.wlxxCode = item.code
item.wlxxGg = item.gg
item.xqsl = 0
item.xqrq = new Date().getTime()
delete item.id
this.formDetail.push(_.cloneDeep(item))
})
}
},
components:{
Kc
},
data() {
return {
DialogWidth: '70vw',
DialogName: '',
DialogTitle: '选择库存',
showDialog:false,
/* 常规edit数据 */
editColItemList: [{
label: '入库单号',
prop: 'djid',
span: 8,
type: 'input',
},
{
label: '入库日期',
prop: 'ywrq',
span: 8,
type: 'date',
value: new Date().getTime(),
"required": true,
},
{
"label": "拨出仓库",
"prop": "ckid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
}
}
},
{
"label": "拨入仓库",
"prop": "dfckid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
}
}
},
{
"label": "事务类型",
"prop": "swlxid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "wms/ckgl/dbck/init/swlx",
"match": {
"value": "id",
"label": "name"
}
}
},
{
"label": "部门",
"prop": "bmid",
"span": 8,
"type": "RelSelect",
"value": "",
"required": true,
"typeConfig": {
"src": "jcsj/common/bm/query",
"match": {
"value": "id",
"label": "bmmc"
}
}
},
{
label: '货主',
prop: 'hzid',
span: 8,
required: true,
type: 'AuxInput',
typeConfig: {
isRequest: true,
code: 'HZID',
label: 'hzName',
transform: {
value: 'id',
label: 'name'
}
}
},
{
label: '备注',
prop: 'bz',
span: 16,
type: 'input',
},
],
/* 从表编辑数据 */
editTableTitle: [{
title: "序号",
field: "xh",
width: 50,
align: "center"
},
{
title: "物料编码",
field: "wlxxCode",
width: 240,
},
{
title: "物料名称",
field: "wlxxName",
width: 160
},
{
title: "规格",
field: "wlxxGg",
width: 140
},
{
title: "计量单位",
field: "jldwname",
width: 100,
allowEdit: false
},
{
title: "制令号",
field: "zlh",
type: 'inputText',
width: 180,
allowEdit: false
},
{
title: "调拨数量",
field: "bcsl",
allowEdit: false,
type: 'inputNumber',
width: 200,
blur: toFixed(null),
},
/* 不可编辑*/
// {
// title: "出库数量",
// field: "cksl",
// width: 200,
// },
{
title: "物料批号",
field: "wlph",
type: 'inputText',
width: 180,
},
{
title: "库位",
field: "kwName",
width: 240,
},
{
title: "容器",
field: "rqCode",
width: 160,
},
{
title: "唯一码",
field: "packid",
width: 160,
},
// {
// title: "备注",
// field: "bz",
// width: 200,
// type: 'inputText',
// allowEdit: true
// }
]
}
}
}
</script>
<style lang="scss" scoped>
@import url("~common/src/assets/styles/editDetail.scss");
</style>
......@@ -2,9 +2,11 @@
<BasePage @getRow='getRow' class="min_full" style="height: 100%;" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
<Akck :type="'add'" v-if="ctx.basePage.showAdd" :app='ctx.basePage' :buttonApp='ctx.basePage' />
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<el-button @click="akck(ctx.basePage)" size='mini' type="primary">按库存开</el-button>
</template>
</BasePage>
......@@ -12,9 +14,11 @@
<script>
import Edit from './edit.vue'
import Akck from './akck.vue'
export default {
data() {
return {
showAdd:false,
power: {
add: false,
copy: false,
......@@ -190,13 +194,17 @@
},
methods: {
akck(ctx){
ctx.showAdd=true
},
/* 示例*/
getRow(val){
this.$emit('getRow',val)
}
},
components: {
Edit
Edit,
Akck
}
}
......
<template>
<DefaultDialog :app='app'>
<div slot="form" style="display: flex;height: 70vh;">
<BasePage ref="basePage" :power='power' class="min_full" style="height: 100%;" :config="config"> ref="basePage" :power='power' class="min_full" :config="config">
<template #dialog="ctx">
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</template>
<template #toolbar="ctx">
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!-- <el-button @click="demo(ctx.basePage)" size='mini' type="primary">示例按钮</el-button> -->
</template>
</BasePage>
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button @click="app.showDialog=false">取 消</el-button>
<el-button type="primary" @click="save()">保 存</el-button>
</span>
</div>
</DefaultDialog>
</template>
<script>
export default {
props: {
app: {
type: Object,
default: ()=>{
return {}
}
}
},
async mounted() {
},
data() {
return {
power: {
add: false,
copy: false,
delButton: false,
editButton: false,
operateButtons: false,
workFlow: false,
/* 表格 */
showSelection: true,
saveSelected: true
},
config: {
/* 基本配置*/
url: 'wms/ckgl/dbck/query/kc',
queryUrl:'wms/ckgl/dbck/query/kc',
tableTitle: [{
title: "库位",
field: "kwcode",
width: 100,
hidden: !JSON.parse(localStorage.getItem('iskwgl'))
},
{
title: "库位名称",
field: "wlxxName",
width: 120,
hidden: !JSON.parse(localStorage.getItem('isKwgl'))
},
{
title: "物料编码",
field: "wlxxCode",
width: 140
},
{
title: "物料名称",
field: "wlxxName",
width: 160
},
{
title: "物料批号",
field: "wlph",
width: 140,
},
{
title: "规格",
field: "wlxxGg",
width: 140
},
{
title: "货主",
field: "hzName",
width: 180,
},
{
title: "制令号",
field: "zlh",
width: 180,
},
{
title: "库存数量",
field: "kcsl",
width: 180,
},
{
title: "库位",
field: "kwName",
width: 240,
},
{
title: "容器",
field: "rqCode",
width: 160,
},
{
title: "唯一码",
field: "packid",
width: 160,
},
],
queryParams: [
[{
label: '物料信息',
prop: 'wlinfo',
span: 6,
type: 'input',
value: ''
},
{
"label": "仓库",
"prop": "ckid",
"span": 6,
"type": "RelSelect",
"value": "",
"typeConfig": {
"src": "jcsj/common/ck/queryCkid",
"match": {
"value": "id",
"label": "name"
}
}
}
]
],
/* 默认启停用 */
showqt: false,
}
}
},
methods: {
save(){
let list=this.$refs.basePage.$refs.TablePager.selectedList||[]
if(list.length==0){
this.$warning('请至少勾选一条数据')
}else{
let obj={
list:list
}
/* 判定list wlid是否重复*/
let hzid=list.map(item=>item.hzid)
hzid=[...new Set(hzid)]
if(hzid.length>1){
this.$warning('所选项货主不唯一,请选择相同货主的数据。')
}else{
this.$emit('save',obj)
this.app.showDialog=false
}
}
}
}
}
</script>
<style scoped>
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment