feat: 生产管理

This commit is contained in:
Czw996 2022-04-09 23:49:22 +08:00
parent 3827210ed2
commit 22e811334f
4 changed files with 114 additions and 3 deletions

View file

@ -9,6 +9,11 @@ export default {
meta: { title: '生产计划' },
component: () => import('@/views/production/productionPlan/index'),
},
{
path: 'detial',
meta: { title: '生产计划详情' },
component: () => import('@/views/production/productionDetial/index'),
},
{
path: 'task',
meta: { title: '生产任务' },
@ -18,6 +23,6 @@ export default {
path: 'record',
meta: { title: '生产记录' },
component: () => import('@/views/production/productionRecord/index'),
}
},
],
}

View file

@ -0,0 +1,100 @@
<template>
<div>
<a-card title="生产计划详情">
<a-button slot="extra" type="primary" style="margin-right: 8px;" ghost v-print="'#printContent'">
<a-icon type="printer" />打印</a-button
>
<a-button
slot="extra"
type="primary"
ghost
@click="
() => {
this.$router.go(-1);
}
"
>
<a-icon type="left" />返回</a-button
>
<section id="printContent">
<a-spin :spinning="loading">
<img id="barcode" style="float: right" />
<a-descriptions bordered>
<a-descriptions-item label="生产计划单号">
{{ item.number }}
</a-descriptions-item>
<a-descriptions-item label="销售单号">
{{ item.sales_order_number }}
</a-descriptions-item>
<a-descriptions-item label="状态">
{{ item.status_display }}
</a-descriptions-item>
<a-descriptions-item label="产品编号">
{{ item.goods_number }}
</a-descriptions-item>
<a-descriptions-item label="产品名称">
{{ item.goods_name }}
</a-descriptions-item>
<a-descriptions-item label="计划数量">
{{ item.total_quantity }}
</a-descriptions-item>
<a-descriptions-item label="完成数量">
{{ item.quantity_produced }}
</a-descriptions-item>
<a-descriptions-item label="计划开始时间">
{{ item.start_time }}
</a-descriptions-item>
<a-descriptions-item label="计划结束时间">
{{ item.end_time }}
</a-descriptions-item>
<a-descriptions-item label="创建时间">
{{ item.create_time }}
</a-descriptions-item>
<a-descriptions-item label="创建人">
{{ item.creator_name }}
</a-descriptions-item>
</a-descriptions>
</a-spin>
</section>
</a-card>
</div>
</template>
<script>
import { productionOrderDetail } from "@/api/production";
import JsBarcode from "jsbarcode";
export default {
data() {
return {
loading: false,
item: {},
};
},
methods: {
getJsBarcode(number) {
JsBarcode("#barcode", number, {
lineColor: "#000",
width: 2,
height: 40,
displayValue: true,
});
},
initData() {
this.loading = true;
productionOrderDetail({ id: this.$route.query.id })
.then((data) => {
this.item = data;
this.getJsBarcode(data.number);
})
.finally(() => {
this.loading = false;
});
},
},
mounted() {
this.initData();
},
};
</script>
<style></style>

View file

@ -31,7 +31,7 @@
<div slot="action" slot-scope="value, item, index">
<a-button-group size="small">
<a-button v-if="item.status == 'in_plan'" @click="openCreateModal(item)">编辑</a-button>
<a-button>详情</a-button>
<a-button @click="detial(item)">详情</a-button>
<a-popconfirm v-if="item.status == 'in_plan'" title="确定发布吗?" @confirm="issue(item)">
<a-button type="primary">发布工单</a-button>
</a-popconfirm>
@ -172,6 +172,9 @@ export default {
this.items = this.$functions.replaceItem(this.items, data);
});
},
detial(item) {
this.$router.push({ path: "/production/detial", query: { id: item.id } });
},
search() {
this.searchForm.page = 1;
this.pagination.current = 1;

View file

@ -24,7 +24,7 @@
>
<div slot="action" slot-scope="value, item, index">
<a-button-group size="small">
<a-button>详情</a-button>
<a-button @click="detial()">详情</a-button>
<a-button type="primary" @click="openCreateModal(item)">生产</a-button>
</a-button-group>
</div>
@ -126,6 +126,9 @@ export default {
create() {
this.list();
},
detial(item) {
this.$router.push({ path: "/production/detial", query: { id: item.id } });
},
search() {
this.searchForm.page = 1;
this.pagination.current = 1;