This commit is contained in:
zhouz
2023-06-20 08:40:15 +08:00
83 changed files with 1931 additions and 543 deletions

View File

@@ -138,7 +138,7 @@
clearable
style="width: 60px"
/>
<el-button type="primary" @click="taskScheduler()">任务调度</el-button>
<el-button type="primary" @click="taskScheduler()">任务调度</el-button>
</span>
<crudOperation :permission="permission" />
@@ -157,7 +157,7 @@
<el-table-column v-if="true" prop="material_id" label="物料标识" min-width="150" show-overflow-tooltip />
<el-table-column v-if="true" prop="material_spec" label="物料标识" min-width="150" show-overflow-tooltip />
<el-table-column prop="task_name" label="任务类型" min-width="120" show-overflow-tooltip />
<el-table-column prop = "acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip :formatter = "acsTypeName"></el-table-column>
<el-table-column prop="acs_task_type" label="acs任务类型" min-width="120" show-overflow-tooltip :formatter="acsTypeName" />
<el-table-column v-if="false" prop="task_status" label="任务状态" />
<el-table-column prop="task_status_name" label="任务状态" width="120px" :formatter="formatTaskStatusName" />
<el-table-column prop="point_code1" label="起点" width="100" />
@@ -180,8 +180,16 @@
{{ dict.label.task_finished_type[scope.row.finished_type] }}
</template>
</el-table-column>
<el-table-column prop="create_time" label="创建时间" width="135" />
<el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column prop="create_time" label="创建时间" width="135">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.create_time) }}</span>
</template>
</el-table-column>
<el-table-column prop="update_time" label="修改时间" width="135">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.update_time) }}</span>
</template>
</el-table-column>
<el-table-column
v-permission="['admin','instruction:edit','instruction:del']"
fixed="right"

View File

@@ -73,17 +73,17 @@
<span class="crud-opts-right2">
<!--左侧插槽-->
<slot name="left" />
<el-button
slot="left"
class="filter-item"
type="primary"
icon="el-icon-plus"
size="mini"
:disabled="add_flag"
@click="sendTask"
>
下发任务
</el-button>
<!-- <el-button-->
<!-- slot="left"-->
<!-- class="filter-item"-->
<!-- type="primary"-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- :disabled="add_flag"-->
<!-- @click="sendTask"-->
<!-- >-->
<!-- 下发任务-->
<!-- </el-button>-->
<el-button
slot="left"
class="filter-item"

View File

@@ -146,6 +146,7 @@
<span v-show="scope.row.edit">{{ scope.row.material_code }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip prop="plan_qty" label="入库数量">
<template slot-scope="scope">
@@ -168,8 +169,33 @@
<el-input v-model="form.tableData[scope.$index].remark" size="small" />
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" />
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" />
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" />
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号">
<template slot-scope="scope">
<el-input
v-show="!scope.row.edit"
v-model="form.tableData[scope.$index].base_bill_code"
clearable
:controls="false"
controls-position="right"
size="small"
/>
<span v-show="scope.row.edit">{{ scope.row.base_bill_code }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号">
<template slot-scope="scope">
<el-input
v-show="!scope.row.edit"
v-model="form.tableData[scope.$index].base_bill_table"
clearable
:controls="false"
controls-position="right"
size="small"
/>
<span v-show="scope.row.edit">{{ scope.row.base_bill_table }}</span>
</template>
</el-table-column>
<el-table-column v-if="crud.status.cu > 0" align="center" label="操作" width="170" fixed="right">
<template scope="scope">
@@ -225,7 +251,7 @@ export default {
name: 'AddDialog',
components: { MaterDtl, AddDtl },
mixins: [crud(), form(defaultForm)],
dicts: ['IO_BILL_STATUS', 'ST_INV_IN_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
dicts: ['IO_BILL_STATUS', 'ST_INV_IN_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area', 'PCS_SAL_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -308,6 +334,14 @@ export default {
this.crud.notify('数量不能为空', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (!row.base_bill_code) {
this.crud.notify('销售单号不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (!row.base_bill_table) {
this.crud.notify('销售单号行不能为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
}
},
deleteRow(index, rows) {
@@ -329,6 +363,7 @@ export default {
this.nowrow.material_id = row.material_id
this.nowrow.material_code = row.material_code
this.nowrow.material_name = row.material_name
this.nowrow.material_spec = row.material_spec
this.nowrow.plan_qty = '0'
this.nowrow.qty_unit_name = row.unit_name
this.nowrow.qty_unit_id = row.base_unit_id
@@ -336,7 +371,7 @@ export default {
tableChanged2(row) {
let same_mater = true
this.form.tableData.forEach((item) => {
if (item.source_bill_code === row.sale_code) {
if (item.base_bill_code === row.sale_code && item.base_bill_table === row.seq_no) {
same_mater = false
}
})
@@ -345,12 +380,14 @@ export default {
data.material_id = row.material_id
data.material_code = row.material_code
data.material_name = row.material_name
data.plan_qty = row.product_qty
data.material_spec = row.material_spec
data.plan_qty = row.sale_qty
data.qty_unit_name = row.qty_unit_name
data.qty_unit_id = row.qty_unit_id
data.source_billdtl_id = row.sale_id
data.source_bill_type = row.sale_type
data.source_bill_code = row.sale_code
data.base_billdtl_id = row.sale_id
data.base_bill_type = row.sale_type
data.base_bill_code = row.sale_code
data.base_bill_table = row.seq_no
data.edit = true
this.form.tableData.splice(-1, 0, data)
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
@@ -377,6 +414,9 @@ export default {
this.form.tableData.forEach((item) => {
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(item.plan_qty)
})
},
formatBaseType(row) {
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
}
}
}

View File

@@ -70,6 +70,7 @@
</template>
</el-table-column>
<el-table-column show-overflow-tooltip width="150" prop="sale_code" label="销售单号" />
<el-table-column show-overflow-tooltip width="150" prop="seq_no" label="行号" />
<el-table-column show-overflow-tooltip width="150" prop="sale_type" label="销售单类型" :formatter="formterType" />
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" :formatter="formterStatus" />
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />

View File

@@ -53,27 +53,24 @@
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="数量" align="center" />
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
</el-table>
</el-card>
<el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
<el-form ref="form2" :inline="true" :model="form" :rules="rules" size="mini">
<el-form-item label="载具号:" prop="vehicle_code">
<el-input
v-model="form.vehicle_code"
style="width: 200px"
size="mini"
clearable
placeholder="载具号"
@blur="vehicleCheck(form.vehicle_code)"
/>
<el-input v-model="form.vehicle_code" style="width: 200px" size="mini" disabled clearable placeholder="载具号">
<el-button slot="append" @click="vehicleCheck" >生成</el-button>
</el-input>
</el-form-item>
<el-form-item label="箱号:" prop="pageBox_code">
@@ -91,6 +88,7 @@
:controls="false"
precision="3"
:min="0"
@change="changeQty"
placeholder="数量"
/>
</el-form-item>
@@ -113,6 +111,23 @@
</el-select>
</el-form-item>
<el-form-item label="载具超限类型:" prop="vehicle_overstruct_type">
<el-select
v-model="form.vehicle_overstruct_type"
size="mini"
placeholder="请选择"
class="filter-item"
style="width: 200px;"
>
<el-option
v-for="item in dict.VEHICLE_OVER_TYPE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
</el-card>
<div class="crud-opts2">
@@ -123,6 +138,7 @@
<el-cascader
placeholder="请选择"
:options="sects"
v-model="defaultList"
:props="{ checkStrictly: true }"
clearable
@change="sectQueryChange"
@@ -212,6 +228,7 @@
>
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
<el-table-column show-overflow-tooltip prop="bucketunique" label="箱号" align="center" />
@@ -252,7 +269,7 @@ export default {
name: 'DivDialog',
components: { StructDiv, AddBox },
mixins: [crud()],
dicts: ['IO_BILL_STATUS', 'MD_OVERSTRUCT_TYPE'],
dicts: ['IO_BILL_STATUS', 'VEHICLE_OVER_TYPE', 'PCS_SAL_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -272,8 +289,8 @@ export default {
data() {
return {
dialogVisible: false,
stor_id: '',
sect_id: '',
stor_id: '1528627995269533696',
sect_id: '1528631043496742912',
sectProp: null,
structShow: false,
bucketObj: null,
@@ -282,6 +299,7 @@ export default {
addBoxShow: false,
bucketuniqueObj: null,
sects: [],
defaultList: ['1528627995269533696', '1528631043496742912'],
dis_row: null,
form: {
dtl_row: null,
@@ -292,6 +310,7 @@ export default {
vehicle_code: '',
bucketunique: '',
checked: true,
vehicle_overstruct_type: '00',
tableMater: []
},
storlist: [],
@@ -309,7 +328,6 @@ export default {
},
methods: {
disabledIos(row) {
debugger
if (row.iostorinvdis_id === undefined) {
return false
} else {
@@ -340,22 +358,34 @@ export default {
},
clcikRow(row, column, event) {
this.form.dtl_row = row
this.form.storage_qty = this.form.dtl_row.plan_qty
crudProductIn.getIosInvDis({ 'iostorinv_id': row.iostorinv_id, 'iostorinvdtl_id': row.iostorinvdtl_id }).then(res => {
this.form.tableMater = res
debugger
if (res.length !== 0) {
this.form.tableMater = res
}
})
},
clcikRowDis(row, column, event) {
this.dis_row = row
},
vehicleCheck(vehicle_code) {
this.form.bucketunique = ''
// 校验载具号是否存在&&是否已被组盘
crudProductIn.vehicleCheck({ 'storagevehicle_code': vehicle_code }).then(res => {
this.crud.notify('查询成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
vehicleCheck() {
// 生成托盘
crudProductIn.vehicleCheck().then(res => {
this.form.tableMater = []
this.form.vehicle_code = res.vehicle_code
this.crud.notify('生成成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
this.form.vehicle_code = ''
})
},
changeQty(val) {
debugger
if (parseFloat(this.form.dtl_row.plan_qty) < parseFloat(val)) {
this.crud.notify('放入数量不能大于明细数量!', CRUD.NOTIFICATION_TYPE.INFO)
this.$set(this.form, 'storage_qty', parseFloat(this.form.dtl_row.plan_qty))
}
},
queryBox() {
// 校验载具是否为空
if (!this.form.vehicle_code) {
@@ -393,6 +423,7 @@ export default {
})
if (fla) {
this.bucketuniqueObj.iostorinvdtl_id = this.form.dtl_row.iostorinvdtl_id
this.form.tableMater.splice(-1, 0, this.bucketuniqueObj)
this.form.bucketunique = ''
}
@@ -404,12 +435,24 @@ export default {
}
const item = {
'storagevehicle_code': this.form.vehicle_code,
'iostorinvdtl_id': this.form.dtl_row.iostorinvdtl_id,
'material_id': this.form.dtl_row.material_id,
'material_code': this.form.dtl_row.material_code,
'material_spec': this.form.dtl_row.material_spec,
'material_name': this.form.dtl_row.material_name,
'qty': this.form.storage_qty
}
this.form.tableMater.splice(-1, 0, item)
let fla2 = true
this.form.tableMater.forEach(res => {
if (res.iostorinvdtl_id === item.iostorinvdtl_id && res.storagevehicle_code === item.storagevehicle_code) {
fla2 = false
}
})
if (fla2) {
this.form.tableMater.splice(-1, 0, item)
}
}
},
deleteRow(index, rows) {
@@ -486,11 +529,11 @@ export default {
})
},
cancelConfirmvehicle() {
if (!this.form.dtl_row) {
this.crud.notify('请选择一条明细', CRUD.NOTIFICATION_TYPE.INFO)
if (!this.dis_row) {
this.crud.notify('请选择一条分配明细', CRUD.NOTIFICATION_TYPE.INFO)
return
}
crudProductIn.cancelConfirmvehicle(this.form.dtl_row).then(res => {
crudProductIn.cancelConfirmvehicle(this.dis_row).then(res => {
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.form.dtl_row.iostorinv_id }).then(res => {
this.form.vehicle_code = ''
this.form.bucketunique = ''
@@ -554,6 +597,7 @@ export default {
this.dis_row.stor_id = this.stor_id.toString()
this.dis_row.sect_id = this.sect_id.toString()
this.dis_row.vehicle_overstruct_type = this.form.vehicle_overstruct_type
crudProductIn.divStruct(this.dis_row).then(res => {
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
this.openParam = res
@@ -579,6 +623,7 @@ export default {
return
}
this.dis_row.vehicle_overstruct_type = this.form.vehicle_overstruct_type
crudProductIn.unDivStruct(this.dis_row).then(res => {
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
this.openParam = res
@@ -606,6 +651,9 @@ export default {
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
})
})
},
formatBaseType(row) {
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
}
}
}

View File

@@ -42,6 +42,9 @@
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
</el-table>
</el-card>
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
@@ -109,6 +112,8 @@
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip width="170" prop="pcsn" label="批次" align="center" />
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
<el-table-column show-overflow-tooltip prop="bucketunique" label="箱号" align="center" />
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
<el-table-column show-overflow-tooltip prop="task_code" label="任务号" align="center" />
@@ -128,7 +133,7 @@ export default {
name: 'TaskDialog',
components: {},
mixins: [crud()],
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_SAL_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -249,6 +254,9 @@ export default {
this.dis_del = true
this.dis_send = true
this.dis_confirm = true
},
formatBaseType(row) {
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
}
}
}

View File

@@ -111,9 +111,12 @@
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="订单号" width="150" align="center" />
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="qty_unit_name" label="单位" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" align="center" />
</el-table>
</el-card>
@@ -136,13 +139,14 @@
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="订单号" align="center" width="150" />
<el-table-column prop="pcsn" label="批次" align="center" width="150" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
<el-table-column show-overflow-tooltip prop="bucketunique" label="箱号" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="point_code1" label="起始位置" align="center" />
<el-table-column prop="point_code2" label="目的位置" align="center" />
<el-table-column prop="task_code" label="任务号" align="center" />
<el-table-column prop="task_status" label="任务状态" align="center" :formatter="formatStatus"/>
<el-table-column prop="task_type" label="任务类型" align="center" width="150px" :formatter="formatType"/>
</el-table>
</el-card>
</el-dialog>
@@ -157,7 +161,7 @@ export default {
name: 'ViewDialog',
components: { },
mixins: [crud()],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status', 'SCH_TASK_TYPE_DTL'],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status', 'SCH_TASK_TYPE_DTL', 'PCS_SAL_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -252,8 +256,8 @@ export default {
formatStatus(row) {
return this.dict.label.task_status[row.task_status]
},
formatType(row) {
return this.dict.label.SCH_TASK_TYPE_DTL[row.task_type]
formatBaseType(row) {
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
}
}
}

View File

@@ -16,7 +16,7 @@
v-model="query.stor_id"
clearable
size="mini"
placeholder="单据状态"
placeholder="所属仓库"
class="filter-item"
@change="crud.toQuery"
>
@@ -48,7 +48,7 @@
</el-select>
</el-form-item>
<el-form-item label="生成方式">
<!--<el-form-item label="生成方式">
<el-select
v-model="query.bill_type"
clearable
@@ -65,7 +65,7 @@
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form-item>-->
<el-form-item label="单据日期">
<el-date-picker
@@ -109,7 +109,7 @@
<el-form-item label="生产车间">
<el-select
v-model="query.product_code"
v-model="query.product_area"
clearable
size="mini"
placeholder="全部"
@@ -186,7 +186,7 @@
</el-table-column>
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
<!-- <el-table-column prop="" label="生产车间" width="130" show-overflow-tooltip />-->
<el-table-column prop="product_area" label="生产车间" width="130" show-overflow-tooltip />
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
<el-table-column label="总重量" align="center" prop="total_qty">
<template slot-scope="scope">

View File

@@ -40,11 +40,10 @@ export function getIosInvDis(data) {
})
}
export function vehicleCheck(data) {
export function vehicleCheck() {
return request({
url: '/api/productIn/vehicleCheck',
method: 'post',
data
method: 'post'
})
}

View File

@@ -16,7 +16,7 @@
v-model="query.stor_id"
clearable
size="mini"
placeholder="单据状态"
placeholder="所属仓库"
class="filter-item"
@change="crud.toQuery"
>
@@ -41,22 +41,42 @@
/>
</el-form-item>
<el-form-item label="仓位">
<el-form-item label="仓位编码">
<el-input
v-model="query.struct_code"
size="mini"
clearable
placeholder="仓位"
placeholder="仓位编码、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料">
<el-form-item label="物料编码">
<el-input
v-model="query.material_code"
size="mini"
clearable
placeholder="仓位"
placeholder="物料编码、名称、规格"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="销售订单">
<el-input
v-model="query.sale_code"
size="mini"
clearable
placeholder="销售订单"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="销售行号">
<el-input
v-model="query.seq_no"
size="mini"
clearable
placeholder="销售订行号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
@@ -80,9 +100,12 @@
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
<el-table-column show-overflow-tooltip prop="sale_code" label="销售单号" />
<el-table-column show-overflow-tooltip min-width="110" prop="seq_no" label="销售单行号" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="frozen_qty" label="冻结数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="ivt_qty" label="库存数量" :formatter="crud.formatNum3" />

View File

@@ -121,9 +121,9 @@
type="primary"
icon="el-icon-plus"
size="mini"
@click="insertdtl()"
@click="insertIvt"
>
新增一行
添加库存物料
</el-button>
</span>
@@ -146,6 +146,7 @@
<span v-show="scope.row.edit">{{ scope.row.material_code }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库数量">
<template slot-scope="scope">
@@ -196,6 +197,11 @@
@tableChanged="tableChanged2"
/>
<AddIvt
:dialog-show.sync="ivtShow"
@tableChanged="tableChanged3"
/>
</el-dialog>
</template>
@@ -204,6 +210,7 @@ import CRUD, { crud, form } from '@crud/crud'
import crudProductIn from '@/views/wms/storage_manage/product/productIn/productin'
import MaterDtl from '@/views/wms/pub/MaterDialog'
import AddDtl from '@/views/wms/storage_manage/product/productOut/AddDtl'
import AddIvt from '@/views/wms/storage_manage/product/productOut/AddIvt'
import crudStorattr, { getStor } from '@/views/wms/storage_manage/basedata/basedata'
const defaultForm = {
@@ -223,7 +230,7 @@ const defaultForm = {
export default {
name: 'AddDialog',
components: { MaterDtl, AddDtl },
components: { MaterDtl, AddDtl, AddIvt },
mixins: [crud(), form(defaultForm)],
dicts: ['IO_BILL_STATUS', 'ST_INV_OUT_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
props: {
@@ -240,6 +247,7 @@ export default {
dialogVisible: false,
materShow: false,
dtlShow: false,
ivtShow: false,
opendtlParam: null,
materType: '03', // 关键成品
storlist: [],
@@ -345,12 +353,41 @@ export default {
data.material_id = row.material_id
data.material_code = row.material_code
data.material_name = row.material_name
data.material_spec = row.material_spec
data.plan_qty = row.delivery_qty
data.qty_unit_name = row.qty_unit_name
data.qty_unit_id = row.qty_unit_id
data.source_billdtl_id = row.sale_id
data.source_bill_type = row.sale_type
data.source_bill_code = row.sale_code
data.source_billdtl_id = row.deliver_id
data.source_bill_type = row.deliver_type
data.source_bill_code = row.deliver_code
data.base_billdtl_id = row.sale_id
data.base_bill_code = row.sale_code
data.base_bill_table = row.sale_seq_no
data.edit = true
this.form.tableData.splice(-1, 0, data)
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
this.form.detail_count = this.form.tableData.length
}
},
tableChanged3(row) {
let same_mater = true
this.form.tableData.forEach((item) => {
if (item.sale_id === row.sale_id) {
same_mater = false
}
})
if (same_mater) {
const data = {}
data.material_id = row.material_id
data.material_code = row.material_code
data.material_name = row.material_name
data.material_spec = row.material_spec
data.plan_qty = row.canuse_qty
data.qty_unit_name = row.unit_name
data.qty_unit_id = row.measure_unit_id
data.base_billdtl_id = row.sale_id
data.base_bill_code = row.sale_code
data.base_bill_table = row.seq_no
data.edit = true
this.form.tableData.splice(-1, 0, data)
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
@@ -360,6 +397,9 @@ export default {
insertEvent(row) {
this.dtlShow = true
},
insertIvt() {
this.ivtShow = true
},
queryMater(index, row) {
this.nowindex = index
this.nowrow = row

View File

@@ -78,9 +78,13 @@
</template>
</el-table-column>
<el-table-column show-overflow-tooltip width="150" prop="deliver_code" label="单据号" />
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" />
<el-table-column show-overflow-tooltip width="150" prop="deliver_type" label="单据类型" :formatter="formatSourceType" />
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" :formatter="formatStatus" />
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip width="150" prop="sale_code" label="销售单号" />
<el-table-column show-overflow-tooltip width="150" prop="sale_seq_no" label="销售单行号" />
<el-table-column show-overflow-tooltip width="150" prop="cust_code" label="客户编码" />
<el-table-column show-overflow-tooltip width="150" prop="cust_name" label="客户名称" />
<el-table-column show-overflow-tooltip width="150" prop="delivery_qty" label="数量" />
@@ -105,6 +109,7 @@ import pagination from '@crud/Pagination'
export default {
name: 'AddDtl',
dicts: ['PCS_DELIVER_TYPE', 'PCS_DELI_STATUS'],
components: { rrOperation, pagination, crudOperation },
cruds() {
return CRUD({
@@ -175,6 +180,12 @@ export default {
this.$emit('update:dialogShow', false)
this.rows = this.$refs.multipleTable.selection
this.$emit('tableChanged', this.tableRadio)
},
formatStatus(row, column) {
return this.dict.label.PCS_DELI_STATUS[row.status]
},
formatSourceType(row, column) {
return this.dict.label.PCS_DELIVER_TYPE[row.deliver_type]
}
}
}

View File

@@ -0,0 +1,198 @@
<template>
<el-dialog
title="库存选择"
append-to-body
:visible.sync="dialogVisible"
destroy-on-close
:show-close="false"
width="1200px"
@close="close"
@open="open"
>
<div class="head-container">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="入库日期">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="仓位编码">
<el-input
v-model="query.struct_code"
size="mini"
clearable
placeholder="仓位编码、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料编码">
<el-input
v-model="query.material_code"
size="mini"
clearable
placeholder="物料编码、名称、规格"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="销售订单">
<el-input
v-model="query.sale_code"
size="mini"
clearable
placeholder="销售订单"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="销售行号">
<el-input
v-model="query.seq_no"
size="mini"
clearable
placeholder="销售订行号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
<!--表格渲染-->
<el-table
ref="multipleTable"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
border
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
@current-change="clickChange"
>
<el-table-column label="选择" width="55">
<template slot-scope="scope">
<el-radio v-model="tableRadio" :label="scope.row"><i /></el-radio>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库名称" />
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
<el-table-column show-overflow-tooltip prop="sale_code" label="销售单号" />
<el-table-column show-overflow-tooltip min-width="110" prop="seq_no" label="销售单行号" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="frozen_qty" label="冻结数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="ivt_qty" label="库存数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="warehousing_qty" label="待入数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
<el-table-column show-overflow-tooltip prop="instorage_time" label="入库时间" min-width="150" />
</el-table>
<!--分页组件-->
<pagination />
</div>
<span slot="footer" class="dialog-footer">
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
<el-button slot="left" type="primary" @click="submit">保存</el-button>
</span>
</el-dialog>
</template>
<script>
import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination'
export default {
name: 'AddDtl',
components: { rrOperation, pagination, crudOperation },
cruds() {
return CRUD({
title: '用户', url: 'api/stIvtStructivtCp',
optShow: {
add: false,
edit: false,
del: false,
reset: true,
download: false
},
query: {
}
})
},
mixins: [presenter(), header()],
props: {
dialogShow: {
type: Boolean,
default: false
},
openParam: {
type: String
},
storId: {
type: String
}
},
data() {
return {
dialogVisible: false,
opendtlParam: '',
rows: [],
tableRadio: null,
openShow: true
}
},
watch: {
dialogShow: {
handler(newValue, oldValue) {
this.dialogVisible = newValue
}
},
openParam: {
handler(newValue, oldValue) {
this.opendtlParam = newValue
}
}
},
methods: {
[CRUD.HOOK.beforeRefresh]() {
return true
},
close() {
this.crud.resetQuery(false)
// 清空grid数据
this.crud.data = undefined
this.$emit('update:dialogShow', false)
},
open() {
this.crud.query.lock_type = '0'
},
clickChange(item) {
this.tableRadio = item
},
submit() {
this.$emit('update:dialogShow', false)
this.rows = this.$refs.multipleTable.selection
this.$emit('tableChanged', this.tableRadio)
}
}
}
</script>

View File

@@ -112,7 +112,7 @@
<el-table-column show-overflow-tooltip prop="assign_qty" label="已分配重量" :formatter="crud.formatNum3" align="center" />
<el-table-column show-overflow-tooltip prop="unassign_qty" label="未分配重量" :formatter="crud.formatNum3" align="center" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" :formatter="formatSourceType"/>
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
</el-table>
</el-card>
@@ -204,10 +204,10 @@
<el-table-column prop="material_code" label="物料编码" width="150px" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
<el-table-column prop="material_name" label="物料名称" width="250px" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
<el-table-column prop="material_spec" label="物料规格" width="150px" :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
<el-table-column prop="pcsn" label="订单号" width="150px" :min-width="flexWidth('pcsn',crud.data,'订单号')" />
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" align="center" />
<el-table-column show-overflow-tooltip prop="struct_code" width="150px" label="点位编码" align="center" />
<el-table-column show-overflow-tooltip prop="struct_name" width="150px" label="点位名称" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" width="150px" label="载具号" align="center" />
<el-table-column show-overflow-tooltip prop="struct_code" width="150px" label="仓位编码" align="center" />
<el-table-column show-overflow-tooltip prop="struct_name" width="150px" label="仓位名称" align="center" />
<el-table-column show-overflow-tooltip prop="task_code" width="150px" label="任务号" align="center" />
<el-table-column show-overflow-tooltip prop="point_code" width="150px" label="出库点" align="center" />
</el-table>
@@ -227,7 +227,7 @@ export default {
name: 'DivDialog',
components: { StructIvt },
mixins: [crud()],
dicts: ['IO_BILL_STATUS', 'work_status'],
dicts: ['IO_BILL_STATUS', 'work_status', 'PCS_DELIVER_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -315,6 +315,9 @@ export default {
bill_statusFormat(row, column) {
return this.dict.label.IO_BILL_STATUS[row.bill_status]
},
formatSourceType(row, column) {
return this.dict.label.PCS_DELIVER_TYPE[row.source_bill_type]
},
quality_scodeFormat(row, column) {
return this.dict.label.ST_QUALITY_SCODE[row.quality_scode]
},

View File

@@ -79,8 +79,9 @@
<el-table-column show-overflow-tooltip prop="sect_name" label="库区" align="center" />
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" width="160" align="center">
<template scope="scope">

View File

@@ -36,12 +36,14 @@
>
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次" align="center" />
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" :formatter="formatSourceType"/>
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
</el-table>
</el-card>
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
@@ -106,8 +108,9 @@
>
<el-table-column width="60" prop="seq_no" label="序号" align="center" />
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" align="center" />
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" align="center" />
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip width="170" prop="pcsn" label="批次" align="center" />
<el-table-column show-overflow-tooltip width="170" prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
@@ -128,7 +131,7 @@ export default {
name: 'TaskDialog',
components: {},
mixins: [crud()],
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_DELIVER_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -249,6 +252,9 @@ export default {
this.dis_del = true
this.dis_send = true
this.dis_confirm = true
},
formatSourceType(row, column) {
return this.dict.label.PCS_DELIVER_TYPE[row.source_bill_type]
}
}
}

View File

@@ -111,9 +111,11 @@
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="订单号" width="150" align="center" />
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="qty_unit_name" label="单位" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" align="center" />
</el-table>
</el-card>
@@ -136,13 +138,13 @@
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="订单号" align="center" width="150" />
<el-table-column prop="pcsn" label="批次" align="center" width="150" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="point_code1" label="起始位置" align="center" />
<el-table-column prop="point_code2" label="目的位置" align="center" />
<el-table-column prop="task_code" label="任务号" align="center" />
<el-table-column prop="task_status" label="任务状态" align="center" :formatter="formatStatus"/>
<el-table-column prop="task_type" label="任务类型" align="center" width="150px" :formatter="formatType"/>
</el-table>
</el-card>
</el-dialog>
@@ -157,7 +159,7 @@ export default {
name: 'ViewDialog',
components: { },
mixins: [crud()],
dicts: ['ST_INV_OUT_TYPE', 'product_area', 'IO_BILL_STATUS','task_status', 'SCH_TASK_TYPE_DTL'],
dicts: ['ST_INV_OUT_TYPE', 'product_area', 'IO_BILL_STATUS','task_status', 'SCH_TASK_TYPE_DTL', 'PCS_DELIVER_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -252,8 +254,8 @@ export default {
formatStatus(row) {
return this.dict.label.task_status[row.task_status]
},
formatType(row) {
return this.dict.label.SCH_TASK_TYPE_DTL[row.task_type]
formatBaseType(row) {
return this.dict.label.PCS_DELIVER_TYPE[row.source_bill_type]
}
}
}

View File

@@ -11,7 +11,24 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="模糊查询">
<el-form-item label="所属仓库">
<el-select
v-model="query.stor_id"
clearable
size="mini"
placeholder="所属仓库"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in storlist"
:key="item.stor_id"
:label="item.stor_name"
:value="item.stor_id"
/>
</el-select>
</el-form-item>
<el-form-item label="出库单号">
<el-input
v-model="query.bill_code"
size="mini"
@@ -22,7 +39,7 @@
</el-form-item>
<el-form-item label="生产车间">
<el-select
v-model="query.product_code"
v-model="query.product_area"
clearable
size="mini"
placeholder="全部"
@@ -147,7 +164,7 @@
</el-table-column>
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
<!-- <el-table-column prop="" label="生产车间" width="130" show-overflow-tooltip />-->
<el-table-column prop="product_area" label="生产车间" width="130" show-overflow-tooltip />
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
<el-table-column label="总重量" align="center" prop="total_qty">
<template slot-scope="scope">

View File

@@ -57,7 +57,7 @@
<el-option
v-for="item in pointList"
:key="item.point_code"
:label="item.point_code"
:label="item.point_name"
:value="item.point_code"
/>
</el-select>
@@ -101,7 +101,7 @@
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px"/>
</el-form-item>
<el-form-item label="总重量" prop="total_qty">
<label slot="label">总&nbsp;&nbsp;&nbsp;量:</label>
<label slot="label">总&nbsp;&nbsp;&nbsp;量:</label>
<el-input-number
v-model="form.total_qty"
:controls="false"
@@ -152,7 +152,7 @@
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码"/>
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称"/>
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格"/>
<el-table-column show-overflow-tooltip prop="base_bill_code" label="订单号">
<!-- <el-table-column show-overflow-tooltip prop="base_bill_code" label="订单号">
<template slot-scope="scope">
<el-input
v-model="form.tableData[scope.$index].base_bill_code"
@@ -162,7 +162,7 @@
size="small"
/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column show-overflow-tooltip prop="plan_qty" label="数量">
<template slot-scope="scope">
<el-input-number
@@ -227,6 +227,7 @@ import CRUD, {crud, form} from '@crud/crud'
import crudsemiproductIn from '@/views/wms/storage_manage/semiproduct/semiproductIn/semiproductIn'
import MaterDtl from '@/views/wms/pub/MaterDialog'
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
import crudPoint from '@/views/wms/scheduler_manage/point/point'
const defaultForm = {
bill_code: '',
@@ -266,7 +267,7 @@ export default {
opendtlParam: null,
materType: '03', // 关键成品
storlist: [],
pointList: [{ 'point_code': 'RK01' }],
pointList: [],
billtypelist: [],
rules: {
product_code: [
@@ -293,6 +294,10 @@ export default {
crudStorattr.getStor({'stor_type': '2'}).then(res => {
this.storlist = res.content
})
const area_type = 'A1_BCPRK01'
crudPoint.getPoint({ 'area_type': area_type }).then(res => {
this.pointList = res
})
},
close() {
this.$emit('AddChanged')
@@ -328,10 +333,10 @@ export default {
for (let i = 0; i < this.form.tableData.length; i++) {
const row = this.form.tableData[i]
if (!row.base_bill_code) {
this.crud.notify('订单号', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
// if (!row.base_bill_code) {
// this.crud.notify('订单号', CRUD.NOTIFICATION_TYPE.INFO)
// return false
// }
if (!row.plan_qty) {
this.crud.notify('数量不能为空', CRUD.NOTIFICATION_TYPE.INFO)
return false
@@ -380,6 +385,7 @@ export default {
})
if (same_mater) {
item.quality_scode = '01'
item.unit_weight = item.net_weight
item.ivt_level = '01'
item.is_active = '1'
item.plan_qty = '1'

View File

@@ -23,7 +23,7 @@
</el-form-item>
<el-form-item label="生产车间">
<el-select
v-model="form.product_area"
v-model="form.workshop_id"
clearable
size="mini"
placeholder="全部"
@@ -76,13 +76,13 @@
</el-select>
</el-form-item>
<el-form-item label="明细数" prop="detail_count">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px" />
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input v-model="form.plan_qty" size="mini" disabled style="width: 210px" />
</el-form-item>
<el-form-item label="总重量" prop="total_qty">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input-number
v-model="form.total_qty"
v-model="form.weight_qty"
:controls="false"
:precision="3"
:min="0"
@@ -113,18 +113,19 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="base_bill_code" label="订单号" width="150" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="数量" align="center" />
<el-table-column prop="base_unit_name" label="单位" align="center" />
<el-table-column prop="qty_unit_name" label="单位" align="center" />
<el-table-column prop="unit_weight" label="单重" align="center" />
<el-table-column prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column prop="struct_code" label="分配货位" align="center" />
<el-table-column prop="task_id" label="任务号" align="center" />
<el-table-column prop="work_status" label="任务状态" align="center" />
<el-table-column prop="point_code" label="起始位置" align="center" />
<el-table-column prop="struct_code" label="目的位置" align="center" />
<el-table-column prop="task_code" label="任务" align="center" />
<el-table-column prop="task_status" label="任务状态" align="center" :formatter="formatStatus"/>
</el-table>
</el-card>
</el-dialog>
@@ -139,7 +140,7 @@ export default {
name: 'ViewDialog',
components: { },
mixins: [crud()],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS'],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status'],
props: {
dialogShow: {
type: Boolean,
@@ -220,6 +221,9 @@ export default {
crudsemiproductIn.getIODtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {
this.tableDtl = res
})
},
formatStatus(row) {
return this.dict.label.task_status[row.task_status]
}
}
}

View File

@@ -157,9 +157,10 @@
<el-table-column prop="workshop_id" label="生产车间" width="130" show-overflow-tooltip />
<el-table-column prop="stor_name" label="仓库" width="130" show-overflow-tooltip />
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="业务类型" :formatter="bill_typeFormat" />
<el-table-column show-overflow-tooltip prop="base_bill_code" min-width="120" label="关联单据号" />
<!-- <el-table-column show-overflow-tooltip prop="base_bill_code" min-width="120" label="关联单据号" />-->
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="unit_weight" label="单重" />
<el-table-column show-overflow-tooltip min-width="120" prop="storagevehicle_code" label="载具号" />
@@ -315,6 +316,7 @@ export default {
}
crudsemiproductIn.confirm(this.currentRow).then(res => {
this.crud.notify('单据确认成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
confirmTask() {
@@ -324,6 +326,7 @@ export default {
}
crudsemiproductIn.confirmTask(this.currentRow).then(res => {
this.crud.notify('单据下发任务成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.toQuery()
})
},
stateFormat(row, column) {

View File

@@ -0,0 +1,148 @@
<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="所属仓库">
<el-select
v-model="query.stor_id"
clearable
size="mini"
placeholder="所属仓库"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in storlist"
:key="item.stor_id"
:label="item.stor_name"
:value="item.stor_id"
/>
</el-select>
</el-form-item>
<el-form-item label="入库日期">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00', '23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="仓位编码">
<el-input
v-model="query.struct_code"
size="mini"
clearable
placeholder="仓位编码、名称"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料编码">
<el-input
v-model="query.material_code"
size="mini"
clearable
placeholder="物料编码、名称、规格"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
size="mini"
:data="crud.data"
highlight-current-row
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库名称" />
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
<el-table-column show-overflow-tooltip prop="instorage_time" label="入库时间" min-width="150" />
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import CRUD, { crud, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker/index'
import crudStorattr, { getStor } from '@/views/wms/storage_manage/basedata/basedata'
import semiproductivt from '@/views/wms/storage_manage/semiproduct/semiproductIvt/semiproductivt'
export default {
name: 'ProductIn',
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
cruds() {
return CRUD({
title: '半成品库存',
optShow: { add: false, reset: true },
idField: 'struct_id',
url: '/api/bcp',
crudMethod: { ...semiproductivt }
})
},
mixins: [presenter(), header(), crud()],
// 数据字典
data() {
return {
height: document.documentElement.clientHeight - 180 + 'px;',
permission: {},
storlist: [],
storId: null
}
},
mounted: function() {
const that = this
window.onresize = function temp() {
that.height = document.documentElement.clientHeight - 180 + 'px;'
}
},
created() {
crudStorattr.getStor({ 'stor_type': '4' }).then(res => {
this.storlist = res.content
})
},
methods: {
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
::v-deep .el-dialog__body {
padding-top: 10px;
}
</style>

View File

@@ -0,0 +1,31 @@
import request from '@/utils/request'
export function add(data) {
return request({
url: '/api/bcp',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: '/api/bcp/delete',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: '/api/bcp/update',
method: 'post',
data
})
}
export default {
add,
edit,
del
}

View File

@@ -80,7 +80,7 @@
<el-option
v-for="item in pointList"
:key="item.point_code"
:label="item.point_code"
:label="item.point_name"
:value="item.point_code"
/>
</el-select>
@@ -124,7 +124,7 @@
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px" />
</el-form-item>
<el-form-item label="总重量" prop="total_qty">
<label slot="label">总&nbsp;&nbsp;&nbsp;量:</label>
<label slot="label">总&nbsp;&nbsp;&nbsp;量:</label>
<el-input-number
v-model="form.total_qty"
:controls="false"
@@ -207,6 +207,7 @@ import CRUD, { crud, form } from '@crud/crud'
import crudsemiproductOut from '@/views/wms/storage_manage/semiproduct/semiproductout/semiproductout'
import MaterDtl from '@/views/wms/storage_manage/semiproduct/semiproductout/StructIvt'
import crudStorattr from '@/views/wms/storage_manage/basedata/basedata'
import crudPoint from '@/views/wms/scheduler_manage/point/point'
const defaultForm = {
bill_code: '',
@@ -247,7 +248,7 @@ export default {
materType: '03', // 关键成品
storlist: [],
billtypelist: [],
pointList: [{ 'point_code': 'CK01' }],
pointList: [],
rules: {
product_code: [
{ required: true, message: '生产车间不能为空', trigger: 'blur' }
@@ -279,6 +280,10 @@ export default {
crudStorattr.getStor({ 'stor_type': '2' }).then(res => {
this.storlist = res.content
})
const area_type = 'A1_BCPCK01'
crudPoint.getPoint({ 'area_type': area_type }).then(res => {
this.pointList = res
})
},
close() {
this.$emit('AddChanged')

View File

@@ -19,12 +19,12 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="库区/货位">
<el-form-item label="货位">
<el-input
v-model="query.bill_code"
v-model="query.struct_search"
clearable
size="mini"
placeholder="库区/货位"
placeholder="货位编码"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
@@ -35,7 +35,7 @@
v-model="query.material_search"
clearable
size="mini"
placeholder="物料"
placeholder="物料、编码、规格"
style="width: 230px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
@@ -56,9 +56,11 @@
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column show-overflow-tooltip width="100" prop="sect_code" label="库区" />
<el-table-column show-overflow-tooltip width="150" prop="struct_name" label="货位" />
<el-table-column show-overflow-tooltip width="100" prop="sect_code" label="库区编码" />
<el-table-column show-overflow-tooltip width="150" prop="struct_code" label="货位编码" />
<el-table-column show-overflow-tooltip width="150" prop="struct_name" label="货位名称" />
<el-table-column show-overflow-tooltip prop="material_code" width="100" label="物料编号" />
<el-table-column show-overflow-tooltip prop="material_spec" width="100" label="物料规格" />
<el-table-column show-overflow-tooltip width="300" prop="material_name" label="物料名称" />
<el-table-column show-overflow-tooltip width="150" prop="canuse_qty" label="数量(个)" />
<el-table-column show-overflow-tooltip width="100" prop="unit_weight" label="单重" />

View File

@@ -23,7 +23,7 @@
</el-form-item>
<el-form-item label="生产车间">
<el-select
v-model="form.product_area"
v-model="form.workshop_id"
clearable
size="mini"
placeholder="全部"
@@ -75,14 +75,14 @@
/>
</el-select>
</el-form-item>
<el-form-item label="明细数" prop="detail_count">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input v-model="form.detail_count" size="mini" disabled style="width: 210px" />
</el-form-item>
<el-form-item label="总重量" prop="total_qty">
<el-form-item label="总重量" prop="detail_count">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input v-model="form.weight_qty" size="mini" disabled style="width: 210px" />
</el-form-item>
<el-form-item label="总数量" prop="total_qty">
<label slot="label">&nbsp;&nbsp;&nbsp;:</label>
<el-input-number
v-model="form.total_qty"
v-model="form.plan_qty"
:controls="false"
:precision="3"
:min="0"
@@ -113,18 +113,18 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column prop="base_bill_code" label="订单号" width="150" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="数量" align="center" />
<el-table-column prop="base_unit_name" label="单位" align="center" />
<el-table-column prop="qty_unit_name" label="单位" align="center" />
<el-table-column prop="unit_weight" label="单重" align="center" />
<el-table-column prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column prop="struct_code" label="分配货位" align="center" />
<el-table-column prop="task_id" label="任务号" align="center" />
<el-table-column prop="work_status" label="任务状态" align="center" />
<el-table-column prop="point_code" label="起始位置" align="center" />
<el-table-column prop="struct_code" label="目的位置" align="center" />
<el-table-column prop="task_code" label="任务" align="center" />
<el-table-column prop="task_status" label="任务状态" align="center" :formatter="formatStatus"/>
</el-table>
</el-card>
</el-dialog>
@@ -139,7 +139,7 @@ export default {
name: 'ViewDialog',
components: { },
mixins: [crud()],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS'],
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status'],
props: {
dialogShow: {
type: Boolean,
@@ -220,6 +220,9 @@ export default {
crudsemiproductOut.getIODtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {
this.tableDtl = res
})
},
formatStatus(row) {
return this.dict.label.task_status[row.task_status]
}
}
}

View File

@@ -159,6 +159,7 @@
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="业务类型" :formatter="bill_typeFormat" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
<el-table-column show-overflow-tooltip min-width="120" prop="weight_qty" label="总重量" />
<el-table-column show-overflow-tooltip min-width="120" prop="plan_qty" label="总数量" />
<el-table-column show-overflow-tooltip min-width="120" prop="qty_unit_name" label="单位" />
<el-table-column show-overflow-tooltip min-width="120" prop="point_code" label="出库点" />
@@ -313,7 +314,7 @@ export default {
}
crudsemiproductout.confirm(this.currentRow).then(res => {
this.crud.notify('单据确认成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.refresh()
this.crud.toQuery()
})
},
confirmTask() {
@@ -323,7 +324,7 @@ export default {
}
crudsemiproductout.confirmTask(this.currentRow).then(res => {
this.crud.notify('单据下发任务成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.refresh()
this.crud.toQuery()
})
},
stateFormat(row, column) {