This commit is contained in:
zhouz
2023-06-26 16:07:34 +08:00
78 changed files with 1827 additions and 252 deletions

View File

@@ -5,8 +5,6 @@ import Cookies from 'js-cookie'
import 'normalize.css/normalize.css'
import Element from 'element-ui'
// 列自适应宽度:https://github.com/legendJaden/AFTableColumn
import AFTableColumn from 'af-table-column'
import 'font-awesome/css/font-awesome.css'
@@ -44,8 +42,6 @@ import 'jquery'
import VueBus from 'vue-bus'
Vue.use(scroll)
Vue.use(AFTableColumn)
Vue.use(VueHighlightJS)
Vue.use(mavonEditor)
Vue.use(permission)

View File

@@ -144,20 +144,20 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column prop="workorder_code" label="工单编号" />
<el-table-column prop="seq_number" label="报工顺序" />
<el-table-column prop="seq_number" label="报工顺序" :min-width="flexWidth('seq_number',tableData,'报工顺序')"/>
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
</el-table-column>
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="device_code" label="设备编码" align="center" />
<el-table-column prop="device_code" label="设备编码" align="center" :min-width="flexWidth('device_code',tableData,'设备编码')"/>
<el-table-column prop="needproduct_qty" label="待生产数" />
<el-table-column prop="report_qty" label="报工数量" />
<el-table-column prop="nok_qty" label="报废数量" />
<el-table-column prop="repare_qty" label="报修数量" />
<el-table-column prop="person_finish_qty" label="人员期末数量" />
<el-table-column prop="operatetime_start" label="开工时间" />
<el-table-column prop="person_finish_qty" label="人员期末数量" :min-width="flexWidth('person_finish_qty',tableData,'人员期末数量')"/>
<el-table-column prop="operatetime_start" label="开工时间" :min-width="flexWidth('operatetime_start',tableData,'开工时间')"/>
<el-table-column prop="operatetime_end" label="完工时间" />
<el-table-column prop="report_status" label="报工状态" >
<template slot-scope="scope">
@@ -169,8 +169,7 @@
<el-table-column prop="confirm_time" label="审核时间" align="center" />
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="dialogVisible = false">确定</el-button>
<el-button type="primary" @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</template>
@@ -257,7 +256,7 @@ export default {
open() {
this.getworkprocedure()
this.getMaterialClass()
crudProduceshiftorder.reportQuery({ workorder_id: this.form.workorder_id }).then(res => {
crudProduceshiftorder.reportQuery3({ workorder_id: this.form.workorder_id }).then(res => {
this.tableData = res.content
})
},
@@ -276,7 +275,7 @@ export default {
'material_id': this.form.material_id
}
crudClassstandard.queryClassById(param).then(res => {
this.form.class_name = res.content[0].class_name
this.$set(this.form,'class_name',res.content[0].class_name)
})
},
getworkprocedure() {

View File

@@ -16,6 +16,7 @@
clearable
filterable
size="mini"
style="width: 200px;"
placeholder="区域类型"
class="filter-item"
@change="crud.toQuery()"
@@ -28,12 +29,12 @@
</el-select>
</el-form-item>
<!-- 搜索 -->
<el-form-item label="工单编号">
<el-form-item label="工单检索">
<el-input
v-model="query.workorder_code"
clearable
size="small"
placeholder="请输入工单编号"
size="mini"
placeholder="工单编码、工单标识"
style="width: 200px;"
class="filter-item"
/>
@@ -42,7 +43,7 @@
<el-input
v-model="query.material"
clearable
size="small"
size="mini"
placeholder="物料编码、名称或规格"
style="width: 200px;"
class="filter-item"
@@ -52,7 +53,7 @@
<el-input
v-model="query.device_code"
clearable
size="small"
size="mini"
placeholder="设备编号"
style="width: 200px;"
class="filter-item"
@@ -80,17 +81,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="生产日期">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00','23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="班次类型">
<el-select
v-model="query.shift_type_scode"
@@ -108,7 +98,18 @@
/>
</el-select>
</el-form-item>
<el-form-item label="物料系列" style="height: 20px;">
<el-form-item label="生产日期">
<el-date-picker
v-model="query.createTime"
type="daterange"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="['00:00:00','23:59:59']"
@change="crud.toQuery"
/>
</el-form-item>
<el-form-item label="物料系列" >
<treeselect
v-model="query.product_series"
:options="classes3"
@@ -118,12 +119,12 @@
placeholder="请选择"
/>
</el-form-item>
<el-form-item label="销售单标识">
<el-form-item label="订单检索">
<el-input
v-model="query.sale_id"
clearable
size="small"
placeholder="请输入销售单标识"
size="mini"
placeholder="订单编码、订单标识"
style="width: 200px;"
class="filter-item"
/>
@@ -138,7 +139,7 @@
@change="crud.toQuery"
/>
</el-form-item>
<rrOperation :crud="crud" />
<rrOperation :crud="crud"/>
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
@@ -226,7 +227,7 @@
:title="crud.status.title"
width="1200px"
>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="160px">
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="mini" label-width="160px" style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;">
<el-form-item label="生产车间" prop="product_area">
<el-select
v-model="form.product_area"
@@ -274,7 +275,7 @@
</el-select>
</el-form-item>
<el-form-item v-if="false" label="物料标识" prop="material_id">
<el-input v-model="form.material_id" style="width: 200px;" />
<el-input v-model="form.material_id" style="width: 200px;"/>
</el-form-item>
<el-form-item label="物料编码" prop="material_code">
<el-input
@@ -300,10 +301,10 @@
/>
</el-form-item>
<el-form-item label="物料单重" prop="material_weight">
<el-input v-model="form.material_weight" style="width: 200px;" />
<el-input v-model="form.material_weight" style="width: 200px;"/>
</el-form-item>
<el-form-item label="计划数量" prop="plan_qty">
<el-input v-model="form.plan_qty" style="width: 200px;" />
<el-input v-model="form.plan_qty" style="width: 200px;"/>
</el-form-item>
<el-form-item label="计划开始时间" prop="planproducestart_date">
<el-date-picker
@@ -322,7 +323,7 @@
/>
</el-form-item>
<el-form-item v-if="crud.status.edit" label="实际数量" prop="report_qty">
<el-input v-model="form.real_qty" style="width: 200px;" />
<el-input v-model="form.real_qty" style="width: 200px;"/>
</el-form-item>
<el-form-item label="班次类型" prop="shift_type_scode">
<el-select
@@ -342,7 +343,7 @@
</el-select>
</el-form-item>
<el-form-item label="销售单标识">
<el-input v-model="form.sale_id" style="width: 200px;" />
<el-input v-model="form.sale_id" style="width: 200px;"/>
</el-form-item>
<el-form-item label="是否搬运" prop="is_needmove">
<el-radio
@@ -387,9 +388,9 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="workorder_id" label="生产班次工单标识" />
<el-table-column prop="workorder_code" label="工单编号" width="140px">
<el-table-column type="selection" width="55"/>
<el-table-column v-if="false" prop="workorder_id" label="生产班次工单标识"/>
<el-table-column prop="workorder_code" label="工单编号" :min-width="flexWidth('workorder_code',crud.data,'工单编号')">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.workorder_code }}</el-link>
</template>
@@ -400,44 +401,51 @@
</template>
</el-table-column>
<!-- <el-table-column prop="workprocedure_code" label="工序编码" />-->
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="plan_qty" label="计划数量" />
<el-table-column prop="outupperlimit_qty" label="筐数量" />
<el-table-column prop="dq_real_qty" label="电气实时数" width="100" show-overflow-tooltip />
<el-table-column prop="real_qty" label="报工总数" />
<el-table-column prop="material_spec" label="物料规格" width="120" show-overflow-tooltip />
<el-table-column prop="device_code" label="当前设备编码" width="100" show-overflow-tooltip />
<el-table-column prop="workprocedure_name" label="工序名称" width="120" show-overflow-tooltip />
<el-table-column prop="material_weight" label="物料单重" width="100" :formatter="crud.formatQlNum4" />
<el-table-column prop="planproducestart_date" label="计划开始时间" width="100" show-overflow-tooltip />
<el-table-column prop="planproduceend_date" label="计划结束时间" width="100" show-overflow-tooltip />
<el-table-column prop="realproducestart_date" label="实际开始时间" width="100" show-overflow-tooltip />
<el-table-column prop="realproduceend_date" label="实际结束时间" width="100" show-overflow-tooltip />
<el-table-column prop="is_canupdate_update" label="允许修改报工数" :formatter="formatBoolean" width="200" show-overflow-tooltip />
<el-table-column prop="is_needmove" label="是否搬运" :formatter="formatBoolean" />
<el-table-column prop="product_area" label="生产车间"/>
<el-table-column prop="plan_qty" label="计划数量"/>
<el-table-column prop="outupperlimit_qty" label="筐数量"/>
<el-table-column prop="dq_real_qty" label="电气实时数" width="100" show-overflow-tooltip/>
<el-table-column prop="real_qty" label="报工总数"/>
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')"/>
<el-table-column prop="material_spec" label="物料规格" :min-width="flexWidth('material_spec',crud.data,'物料规格')"/>
<el-table-column prop="device_code" label="当前设备编码" :min-width="flexWidth('device_code',crud.data,'当前设备编码')"/>
<el-table-column prop="workprocedure_name" label="工序名称"
:min-width="flexWidth('workprocedure_name',crud.data,'工序名称')"/>
<el-table-column prop="material_weight" label="物料单重" width="100" :formatter="crud.formatQlNum4"/>
<el-table-column prop="planproducestart_date" label="计划开始时间"
:min-width="flexWidth('planproducestart_date',crud.data,'计划开始时间')"/>
<el-table-column prop="planproduceend_date" label="计划结束时间"
:min-width="flexWidth('planproduceend_date',crud.data,'计划结束时间')"/>
<el-table-column prop="realproducestart_date" label="实际开始时间"
:min-width="flexWidth('realproducestart_date',crud.data,'实际开始时间')"/>
<el-table-column prop="realproduceend_date" label="实际结束时间"
:min-width="flexWidth('realproduceend_date',crud.data,'实际结束时间')"/>
<el-table-column prop="is_canupdate_update" label="允许修改报工数" :formatter="formatBoolean" width="200"
show-overflow-tooltip/>
<el-table-column prop="is_needmove" label="是否搬运" :formatter="formatBoolean"/>
<el-table-column prop="shift_type_scode" label="班次类型">
<template slot-scope="scope">
{{ dict.label.PDM_BI_SHIFTTYPE[scope.row.shift_type_scode] }}
</template>
</el-table-column>
<el-table-column prop="create_type" label="创建类型" show-overflow-tooltip>
<el-table-column prop="create_type" label="创建类型" width="100">
<template slot-scope="scope">
{{ dict.label.WORKORDER_CREATE_TYPE[scope.row.create_type] }}
</template>
</el-table-column>
<el-table-column prop="is_error" :formatter="formatBoolean" label="是否异常" />
<el-table-column prop="error_info" label="异常信息" show-overflow-tooltip />
<el-table-column prop="remark" label="备注" />
<el-table-column prop="nok_qty" label="报废总数" />
<el-table-column prop="report_qty" label="报修总数" />
<el-table-column prop="person_real_qty" label="人员实际数量" width="100" show-overflow-tooltip />
<el-table-column prop="current_produce_person_name" label="操作工" show-overflow-tooltip />
<el-table-column prop="create_name" label="创建人" show-overflow-tooltip />
<el-table-column prop="create_time" label="创建时间" show-overflow-tooltip />
<el-table-column prop="down_name" label="下发人" show-overflow-tooltip />
<el-table-column prop="down_time" label="下发时间" show-overflow-tooltip />
<el-table-column prop="confirm_name" label="完工人" show-overflow-tooltip />
<el-table-column prop="confirm_time" label="完工时间" show-overflow-tooltip />
<el-table-column prop="is_error" :formatter="formatBoolean" label="是否异常"/>
<el-table-column prop="error_info" label="异常信息" show-overflow-tooltip/>
<el-table-column prop="remark" label="备注"/>
<el-table-column prop="nok_qty" label="报废总数"/>
<el-table-column prop="report_qty" label="报修总数"/>
<el-table-column prop="person_real_qty" label="人员实际数量" width="100" show-overflow-tooltip/>
<el-table-column prop="current_produce_person_name" label="操作工" show-overflow-tooltip/>
<el-table-column prop="create_name" label="创建人" :min-width="flexWidth('create_name',crud.data,'创建人')"/>
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')"/>
<el-table-column prop="down_name" label="下发人" :min-width="flexWidth('down_name',crud.data,'下发人')"/>
<el-table-column prop="down_time" label="下发时间" :min-width="flexWidth('down_time',crud.data,'下发时间')"/>
<el-table-column prop="confirm_name" label="完工人" :min-width="flexWidth('confirm_name',crud.data,'完工人')"/>
<el-table-column prop="confirm_time" label="完工时间" :min-width="flexWidth('confirm_time',crud.data,'完工时间')"/>
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
@@ -448,7 +456,7 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
<pagination/>
</div>
<MaterDtl
:dialog-show.sync="materialShow"
@@ -456,11 +464,11 @@
:mater-opt-code="materType"
@setMaterValue="setMaterValue"
/>
<ViewDialog ref="child3" />
<reportDialog ref="report" @AddChanged="querytable" />
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="tableChanged3" />
<AddDialog :dialog-show.sync="addShow" @AddChanged="querytable" />
<ReplaceDeviceDialog ref="child4" @AddChanged="querytable" />
<ViewDialog ref="child3"/>
<reportDialog ref="report" @AddChanged="querytable"/>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="tableChanged3"/>
<AddDialog :dialog-show.sync="addShow" @AddChanged="querytable"/>
<ReplaceDeviceDialog ref="child4" @AddChanged="querytable"/>
</div>
</template>
@@ -522,7 +530,19 @@ const defaultForm = {
}
export default {
name: 'Produceshiftorder',
components: { AddDialog, pagination, crudOperation, rrOperation, udOperation, MaterDtl, Treeselect, ViewDialog, reportDialog, UploadDialog, ReplaceDeviceDialog },
components: {
AddDialog,
pagination,
crudOperation,
rrOperation,
udOperation,
MaterDtl,
Treeselect,
ViewDialog,
reportDialog,
UploadDialog,
ReplaceDeviceDialog
},
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['PDM_BI_SHIFTTYPE', 'MPS_BD_ORDERSTATUS', 'WORKORDER_CREATE_TYPE', 'is_used', 'PDM_BI_ORDERTYPE', 'IS_OR_NOT', 'product_area'],
cruds() {
@@ -614,7 +634,10 @@ export default {
this.crud.toQuery()
},
getNotWorkDeviceByWorkproceduceId(workprocedure_id) { // 根据工序标识获取设备列表
crudProduceshiftorder.getNotWorkDeviceByWorkproceduceId({ workprocedure_id: workprocedure_id,product_area:this.form.product_area }).then(res => {
crudProduceshiftorder.getNotWorkDeviceByWorkproceduceId({
workprocedure_id: workprocedure_id,
product_area: this.form.product_area
}).then(res => {
this.deviceList = res.content
})
},

View File

@@ -104,6 +104,7 @@ export function getReportWork(data) {
}
export function reportQuery(data) {
console.log(data)
return request({
url: '/api/produceWorkorder/reportQuery2',
method: 'get',
@@ -111,6 +112,15 @@ export function reportQuery(data) {
})
}
export function reportQuery3(data) {
return request({
url: '/api/produceWorkorder/reportQuery3',
method: 'post',
data
})
}
export function excelImport(data) {
return request({
url: 'api/produceWorkorder/excelImport',
@@ -142,4 +152,4 @@ export function reportApprove(data) {
})
}
export default { add, addRows, edit, del, submits, reportApprove, unSubmits, getTable, openStart, saveReport, finish, getReportWork, forceFinish, reportQuery, excelImport, getNotWorkDeviceByWorkproceduceId, replaceDevice }
export default { add, addRows, edit, del, submits, reportApprove, unSubmits, getTable, openStart, saveReport, finish, getReportWork, forceFinish, reportQuery, reportQuery3, excelImport, getNotWorkDeviceByWorkproceduceId, replaceDevice }

View File

@@ -156,13 +156,13 @@
<el-table-column v-if="true" prop="task_id" label="任务标识" min-width="150" show-overflow-tooltip />
<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="task_name" label="任务类型" :min-width="flexWidth('task_name',crud.data,'任务类型')" />
<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" />
<el-table-column prop="point_code2" label="终点" min-width="100" show-overflow-tooltip />
<el-table-column prop="point_code3" label="返回点" min-width="100" show-overflow-tooltip />
<el-table-column prop="point_code1" label="起点" :min-width="flexWidth('point_code1',crud.data,'起点')" />
<el-table-column prop="point_code2" label="终点" :min-width="flexWidth('point_code2',crud.data,'终点')" />
<el-table-column prop="point_code3" label="返回点" :min-width="flexWidth('point_code3',crud.data,'返回点')" />
<el-table-column prop="product_area" label="生产车间" />
<el-table-column prop="point1_region_name" label="起点区域" width="120" />
<el-table-column prop="point2_region_name" label="终点区域" min-width="120" show-overflow-tooltip />

View File

@@ -44,7 +44,18 @@
</el-form-item>
</el-form>
</div>
<crudOperation v-show="false" :permission="permission" />
<crudOperation :permission="permission">
<el-button
slot="right"
class="filter-item"
type="success"
icon="el-icon-position"
size="mini"
@click="setEmpty(crud.selections)"
>
设置空位
</el-button>
</crudOperation>
</div>
<!--表格渲染-->
<el-dialog
@@ -214,6 +225,18 @@ export default {
}
},
methods: {
setEmpty(rows) {
var structIds = []
console.log(rows)
rows.forEach((item) => {
structIds.push(item.workorder_id)
})
alert(structIds)
// crudProduceshiftorder.submits(orders).then(res => {
// this.crud.notify('下发成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
// this.crud.toQuery()
// })
}, // 取消下发
setMaterValue(row) {
this.materialForm.material_id = row.material_id
this.materialForm.material_code = row.material_code

View File

@@ -27,7 +27,7 @@
v-model="query.bill_code"
clearable
size="mini"
placeholder="单据号"
placeholder="库区/货位"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"

View File

@@ -131,7 +131,7 @@
>
异常处理
</el-button>
<el-button
<!--<el-button
slot="right"
class="filter-item"
type="success"
@@ -141,7 +141,7 @@
@click="downdtl"
>
导出Excel
</el-button>
</el-button>-->
</crudOperation>
<!--表格渲染-->
<el-table

View File

@@ -0,0 +1,172 @@
<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-select
v-model="query.change_type_scode"
clearable
size="mini"
placeholder="变动类型"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.CHANGE_TYPE_SCODE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</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.bill_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 min-width="120" prop="stor_name" label="仓库名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip min-width="120" 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 min-width="120" prop="change_type_scode" label="变动类型" :formatter="formatType" />
<el-table-column show-overflow-tooltip min-width="120" prop="bill_code" label="单据号" />
<el-table-column show-overflow-tooltip min-width="120" prop="change_person_name" label="变动人" />
<el-table-column show-overflow-tooltip min-width="150" prop="change_time" label="变动时间" />
<el-table-column show-overflow-tooltip prop="change_qty" label="变动数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="result_qty" label="结存数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
</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 ProductivtFlow from '@/views/wms/storage_manage/product/productIvtFlow/productivtFlow'
export default {
name: 'ProductIn',
dicts: ['CHANGE_TYPE_SCODE'],
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
cruds() {
return CRUD({
title: '成品库存变动查询',
optShow: { add: false, reset: true },
idField: 'stockrecord_id',
url: '/api/stIvtStructivtflowCp',
crudMethod: { ...ProductivtFlow },
props: { size: 20 }
})
},
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: {
formatType(row) {
return this.dict.label.CHANGE_TYPE_SCODE[row.change_type_scode]
}
}
}
</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/stIvtStructivtflowCp',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: '/api/stIvtStructivtflowCp/delete',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: '/api/stIvtStructivtflowCp/update',
method: 'post',
data
})
}
export default {
add,
edit,
del
}

View File

@@ -149,12 +149,7 @@
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
>
<el-table-column type="index" label="序号" width="55" align="center"/>
<el-table-column prop="storagevehicle_code" label="载具号" align="center" min-width="200" show-overflow-tooltip>
<template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.storagevehicle_code" class="input-with-select"/>
<span v-show="scope.row.edit">{{ scope.row.storagevehicle_code }}</span>
</template>
</el-table-column>
<el-table-column prop="storagevehicle_code" label="载具号" align="center" min-width="200" show-overflow-tooltip/>
<el-table-column prop="bucketunique" label="箱号" align="center" min-width="200" show-overflow-tooltip>
<template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.bucketunique" class="input-with-select"/>
@@ -462,10 +457,6 @@ export default {
this.crud.notify('物料不可为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (!row.storagevehicle_code) {
this.crud.notify('载具号不可为空!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (this.form.mol_type === '0' && (parseFloat(row.ivt_qty) < parseFloat(row.mol_qty))) {
this.crud.notify('不允许损数量大于库存数量!', CRUD.NOTIFICATION_TYPE.INFO)
return false

View File

@@ -12,7 +12,7 @@
<el-row>
<el-col :span="6">
<el-cascader
v-model="query.sect"
v-model="defaultList"
placeholder="所属库区"
:options="sects"
:props="{ checkStrictly: true }"
@@ -101,6 +101,7 @@ export default {
return {
sects: [],
classes: [],
defaultList: ['1528627995269533696', '1528631043496742912'],
dialogVisible: false,
sect: {},
mol_type: '',
@@ -141,6 +142,8 @@ export default {
this.query.sect_id = this.sect[1]
}
}
this.query.stor_id = this.defaultList[0]
this.query.sect_id = this.defaultList[1]
this.query.is_used = '1'
this.query.is_delete = '0'
this.crud.toQuery()

View File

@@ -26,6 +26,7 @@
<el-form-item label="库区" prop="gender2">
<el-cascader
placeholder="请选择"
v-model="defaultList"
:options="sects"
:props="{ checkStrictly: true }"
clearable
@@ -268,6 +269,7 @@ export default {
tabledis: [],
currentRow: {},
currentDis: {},
defaultList: ['1528627995269533696', '1528631043496742912'],
form: {
gender2: ''
},
@@ -310,6 +312,8 @@ export default {
crudPoint.getPoint({ 'area_type': area_type }).then(res => {
this.pointList = res
})
this.mstrow.stor_id = this.defaultList[0]
this.mstrow.sect_id = this.defaultList[1]
},
close() {
this.$refs['form2'].resetFields()
@@ -417,7 +421,7 @@ export default {
}
this.loadingAlldiv = true
productOut.allDivIvt({ 'iostorinvdtl_id': this.currentRow.iostorinvdtl_id, 'sect_id': this.mstrow.sect_id, 'stor_id': this.mstrow.stor_id, 'type': false }).then(res => {
productOut.allDivIvt({ 'iostorinvdtl_id': this.currentRow.iostorinvdtl_id, 'iostorinv_id': this.currentRow.iostorinv_id, 'sect_id': this.mstrow.sect_id, 'stor_id': this.mstrow.stor_id, 'type': false }).then(res => {
this.crud.notify('分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.queryTableDtl()
this.loadingAlldiv = false

View File

@@ -0,0 +1,172 @@
<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-select
v-model="query.change_type_scode"
clearable
size="mini"
placeholder="变动类型"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.CHANGE_TYPE_SCODE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</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.bill_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 min-width="120" prop="stor_name" label="仓库名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip min-width="120" 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 min-width="120" prop="change_type_scode" label="变动类型" :formatter="formatType" />
<el-table-column show-overflow-tooltip min-width="120" prop="bill_code" label="单据号" />
<el-table-column show-overflow-tooltip min-width="120" prop="change_person_name" label="变动人" />
<el-table-column show-overflow-tooltip min-width="150" prop="change_time" label="变动时间" />
<el-table-column show-overflow-tooltip prop="change_qty" label="变动数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="result_qty" label="结存数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
</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 ProductivtFlow from '@/views/wms/storage_manage/rawproduct/rawproductIvtFlow/productivtFlow'
export default {
name: 'ProductIn',
dicts: ['CHANGE_TYPE_SCODE'],
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
cruds() {
return CRUD({
title: '原材料库存变动查询',
optShow: { add: false, reset: true },
idField: 'stockrecord_id',
url: '/api/stIvtStructivtflowYl',
crudMethod: { ...ProductivtFlow },
props: { size: 20 }
})
},
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': '3' }).then(res => {
this.storlist = res.content
})
},
methods: {
formatType(row) {
return this.dict.label.CHANGE_TYPE_SCODE[row.change_type_scode]
}
}
}
</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/stIvtStructivtflowYl',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: '/api/stIvtStructivtflowYl/delete',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: '/api/stIvtStructivtflowYl/update',
method: 'post',
data
})
}
export default {
add,
edit,
del
}

View File

@@ -27,7 +27,7 @@
v-model="query.bill_code"
clearable
size="mini"
placeholder="单据号"
placeholder="库区/货位"
style="width: 200px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"

View File

@@ -131,7 +131,7 @@
>
异常处理
</el-button>
<el-button
<!--<el-button
slot="right"
class="filter-item"
type="success"
@@ -141,7 +141,7 @@
@click="downdtl"
>
导出Excel
</el-button>
</el-button>-->
</crudOperation>
<!--表格渲染-->
<el-table

View File

@@ -133,7 +133,7 @@ export default {
}
},
created() {
crudStorattr.getStor({ 'stor_type': '4' }).then(res => {
crudStorattr.getStor({ 'stor_type': '2' }).then(res => {
this.storlist = res.content
})
},

View File

@@ -0,0 +1,172 @@
<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-select
v-model="query.change_type_scode"
clearable
size="mini"
placeholder="变动类型"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.CHANGE_TYPE_SCODE"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</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.bill_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 min-width="120" prop="stor_name" label="仓库名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="sect_name" label="库区名称" />
<el-table-column show-overflow-tooltip min-width="120" prop="struct_code" label="仓位编码" />
<el-table-column show-overflow-tooltip min-width="120" 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 min-width="120" prop="change_type_scode" label="变动类型" :formatter="formatType" />
<el-table-column show-overflow-tooltip min-width="120" prop="bill_code" label="单据号" />
<el-table-column show-overflow-tooltip min-width="120" prop="change_person_name" label="变动人" />
<el-table-column show-overflow-tooltip min-width="150" prop="change_time" label="变动时间" />
<el-table-column show-overflow-tooltip prop="change_qty" label="变动数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="result_qty" label="结存数" :formatter="crud.formatNum3" />
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
</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 ProductivtFlow from '@/views/wms/storage_manage/semiproduct/semiproductIvtFlow/productivtFlow'
export default {
name: 'ProductIn',
dicts: ['CHANGE_TYPE_SCODE'],
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker },
cruds() {
return CRUD({
title: '半成品库存变动查询',
optShow: { add: false, reset: true },
idField: 'stockrecord_id',
url: '/api/stIvtStructivtflowBcp',
crudMethod: { ...ProductivtFlow },
props: { size: 20 }
})
},
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': '2' }).then(res => {
this.storlist = res.content
})
},
methods: {
formatType(row) {
return this.dict.label.CHANGE_TYPE_SCODE[row.change_type_scode]
}
}
}
</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/stIvtStructivtflowBcp',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: '/api/stIvtStructivtflowBcp/delete',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: '/api/stIvtStructivtflowBcp/update',
method: 'post',
data
})
}
export default {
add,
edit,
del
}

View File

@@ -12,7 +12,7 @@
<el-row>
<el-col :span="6">
<el-cascader
v-model="query.sect"
v-model="defaultList"
placeholder="所属库区"
:options="sects"
:props="{ checkStrictly: true }"
@@ -101,6 +101,7 @@ export default {
return {
sects: [],
classes: [],
defaultList: ['15286279952695336962', '1528631044482404352'],
dialogVisible: false,
sect: {},
mol_type: '',
@@ -143,6 +144,8 @@ export default {
}
this.query.is_used = '1'
this.query.is_delete = '0'
this.query.stor_id = this.defaultList[0]
this.query.sect_id = this.defaultList[1]
this.crud.toQuery()
},
sectQueryChange(val) {

View File

@@ -254,7 +254,7 @@ export default {
})
},
[CRUD.HOOK.afterToView]() {
shutframe.getOutBillDtl2({ 'shutframeinv_id': this.form.shutframeinv_id }).then(res => {
shutframe.getOutBillDtl({ 'shutframeinv_id': this.form.shutframeinv_id }).then(res => {
this.form.tableData = res
})
},