This commit is contained in:
磷叶 2024-12-27 18:02:55 +08:00
parent 4e1cc94bb1
commit 1d8c56d345
8 changed files with 197 additions and 75 deletions

View File

@ -19,14 +19,6 @@
/>
</el-select>
</el-form-item>
<el-form-item label="负责工序" prop="process">
<el-input
v-model="queryParams.process"
placeholder="请输入负责工序名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -128,11 +120,10 @@ export default {
total: 0,
selected: [],
columns: [
{key: 'deptId', visible: false, label: '部门ID', minWidth: null, sortable: false, overflow: false, align: 'left', width: null},
{key: 'deptName', visible: true, label: '部门名称', minWidth: null, sortable: false, overflow: false, align: 'left', width: null},
{key: 'deptId', visible: false, label: '车间ID', minWidth: null, sortable: false, overflow: false, align: 'left', width: null},
{key: 'deptName', visible: true, label: '车间工序名称', minWidth: null, sortable: false, overflow: false, align: 'left', width: null},
{key: 'status', visible: true, label: '状态', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'leaderName', visible: true, label: '负责人', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'process', visible: true, label: '负责工序', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
],
}

View File

@ -30,9 +30,15 @@
<!-- 上传提示 -->
<div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
<template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
<template v-if="fileSize">大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b></template>
<template v-if="fileType">格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b></template>
的文件
<br/>
支持
<b style="color: #f56c6c">拖动上传</b>
和鼠标移入后
<b style="color: #f56c6c">Ctrl+V</b>
粘贴上传
</div>
<el-dialog

View File

@ -18,15 +18,19 @@
<div @click="handleOrderClick(order)">
<el-descriptions :column="2" size="small">
<el-descriptions-item label="订单" :span="2">{{ order.orderNo | dv}}</el-descriptions-item>
<el-descriptions-item label="订单日期" :span="2">{{ order.orderDate | dv}}</el-descriptions-item>
<el-descriptions-item label="客户" :span="2">{{ order.customer | dv}}</el-descriptions-item>
<el-descriptions-item label="特殊要求" :span="2">{{ order.remark | dv}}</el-descriptions-item>
<el-descriptions-item label="数量">{{ order.num | dv}}</el-descriptions-item>
<el-descriptions-item label="装量">{{ order.storeNum | dv}}</el-descriptions-item>
</el-descriptions>
</div>
</div>
<div class="progress-container">
<el-progress :percentage="order.progress" :color="ProgressColors" :format="ProgressFormat" style="width: 100%;" :stroke-width="10"/>
<el-descriptions :column="3" size="small">
<el-descriptions-item label="数量">{{ order.num | dv}}</el-descriptions-item>
<el-descriptions-item label="已上报">{{ order.reportNum | dv}}</el-descriptions-item>
<el-descriptions-item label="已入库">{{ order.storeNum | dv}}</el-descriptions-item>
</el-descriptions>
</div>
<!-- 子产品列表 -->
@ -219,7 +223,7 @@ export default {
}
.progress-container {
margin-bottom: 16px;
margin-bottom: 8px;
}
.order-main-image {

View File

@ -10,31 +10,45 @@
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="6em">
<div class="edit-title">基础信息</div>
<el-row>
<form-col :span="span" label="主图" prop="picture">
<form-col :span="5" label="主图" prop="picture">
<image-upload v-model="form.picture" :limit="1" />
</form-col>
<form-col :span="span" label="订单编号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单编号"/>
</form-col>
<form-col :span="span" label="订单日期" prop="orderDate">
<el-date-picker v-model="form.orderDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" :clearable="false" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="交货日期" prop="deliveryDate">
<el-date-picker v-model="form.deliveryDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" :clearable="false" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="客户" prop="customer">
<el-input v-model="form.customer" placeholder="请输入客户"/>
</form-col>
<form-col :span="span" label="数量" prop="num">
<el-input-number v-model="form.num" :min="0" controls-position="right" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="用料" prop="material">
<el-input v-model="form.material" placeholder="请输入用料"/>
</form-col>
<form-col :span="span * 3" label="特殊要求" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入特殊要求" :maxlength="1000" show-word-limit :autosize="{minRows: 3, maxRows: 10}"/>
</form-col>
<el-col :span="19">
<el-row>
<form-col :span="span" label="订单编号" prop="orderNo">
<el-input v-model="form.orderNo" placeholder="请输入订单编号"/>
</form-col>
<form-col :span="span" label="订单日期" prop="orderDate">
<el-date-picker v-model="form.orderDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" :clearable="false" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="交货日期" prop="deliveryDate">
<el-date-picker v-model="form.deliveryDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" :clearable="false" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="客户" prop="customer">
<el-input v-model="form.customer" placeholder="请输入客户"/>
</form-col>
<form-col :span="span" label="产品名称" prop="name">
<el-input v-model="form.name" placeholder="请输入产品名称"/>
</form-col>
<form-col :span="span" label="数量" prop="num">
<el-input-number v-model="form.num" :min="0" controls-position="right" style="width: 100%;"/>
</form-col>
<form-col :span="span" label="用料" prop="material">
<el-input v-model="form.material" placeholder="请输入用料"/>
</form-col>
<form-col :span="span" label="装量" prop="contentNum">
<el-input-number v-model="form.contentNum" :min="0" controls-position="right" style="width: 100%;" placeholder="请输入装量"/>
</form-col>
<form-col :span="span" label="包装尺寸" prop="packageSize">
<el-input v-model="form.packageSize" placeholder="请输入包装尺寸"/>
</form-col>
<form-col :span="24" label="特殊要求" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入特殊要求" :maxlength="1000" show-word-limit :autosize="{minRows: 3, maxRows: 10}"/>
</form-col>
</el-row>
</el-col>
</el-row>
<div class="edit-title">产品信息</div>
<order-prod-list
@ -130,6 +144,7 @@ export default {
createBy: null,
createTime: null,
deleted: null,
contentNum: null,
orderDate: parseTime(new Date(), '{y}-{m}-{d}'),
prodList: []
};

View File

@ -27,6 +27,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入产品名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用料" prop="material">
<el-input
v-model="queryParams.material"
@ -35,6 +43,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="包装大小" prop="packageSize">
<el-input
v-model="queryParams.packageSize"
placeholder="请输入包装大小"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="特殊要求" prop="remark">
<el-input
v-model="queryParams.remark"
@ -138,7 +154,7 @@
</template>
</el-table-column>
</template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120">
<template slot-scope="scope">
<el-button
size="mini"
@ -212,19 +228,22 @@ export default {
//
columns: [
{key: 'id', visible: true, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "80"},
{key: 'orderNo', visible: true, label: '单号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'status', visible: true, label: '订单状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderNo', visible: true, label: '单号', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'status', visible: true, label: '状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'picture', visible: true, label: '主图', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'customer', visible: true, label: '客户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderDate', visible: true, label: '订单日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'deliveryDate', visible: true, label: '交货日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'material', visible: true, label: '用料', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'remark', visible: true, label: '特殊要求', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'customer', visible: true, label: '客户', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'orderDate', visible: true, label: '订单日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'deliveryDate', visible: true, label: '交货日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'name', visible: true, label: '名称', minWidth: null, sortable: false, overflow: true, align: 'center', width: null},
{key: 'material', visible: true, label: '用料', minWidth: null, sortable: false, overflow: true, align: 'center', width: null},
{key: 'contentNum', visible: true, label: '装量', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
{key: 'packageSize', visible: true, label: '包装', minWidth: null, sortable: false, overflow: true, align: 'center', width: null},
{key: 'remark', visible: true, label: '要求', minWidth: null, sortable: false, overflow: true, align: 'center', width: null},
{key: 'num', visible: true, label: '数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportNum', visible: true, label: '已上报', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'storeNum', visible: true, label: '已清点', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'progress', visible: true, label: '进度', minWidth: null, sortable: false, overflow: false, align: 'center', width: "160"},
{key: 'createBy', visible: true, label: '创建人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'createBy', visible: true, label: '创建人', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
],
//

View File

@ -1,29 +1,61 @@
<template>
<div class="app-container" v-loading="loading">
<el-card class="card-box">
<div class="detail-box">
<image-preview :src="detail.picture" :width="100" :height="100" style="margin-right: 16px"/>
<el-descriptions style="flex: 1" title="基础信息" :column="4">
<el-descriptions-item label="订单编号">{{ detail.orderNo | dv}}</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :options="dict.type.order_status" :value="detail.status" size="mini"/>
</el-descriptions-item>
<el-descriptions-item label="客户">{{ detail.customer | dv}}</el-descriptions-item>
<el-descriptions-item label="订单日期">{{ detail.orderDate | dv}}</el-descriptions-item>
<el-descriptions-item label="交货日期">{{ detail.deliveryDate | dv}}</el-descriptions-item>
<el-descriptions-item label="用料">{{ detail.material | dv}}</el-descriptions-item>
<el-descriptions-item label="特殊要求" :span="2">{{ detail.remark | dv}}</el-descriptions-item>
<el-descriptions-item label="创建人">{{ detail.createBy | dv}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ detail.createTime | dv}}</el-descriptions-item>
<el-descriptions-item label="数量">{{ detail.num | dv}}</el-descriptions-item>
<el-descriptions-item label="已上报">{{ detail.reportNum | dv}}</el-descriptions-item>
<el-descriptions-item label="已清点">{{ detail.storeNum | dv}}</el-descriptions-item>
<el-descriptions-item label="进度">
<el-progress style="width: 200px" :percentage="detail.progress" :color="ProgressColors" :format="ProgressFormat"/>
</el-descriptions-item>
</el-descriptions>
</div>
</el-card>
<el-row :gutter="16">
<el-col :span="18">
<el-card class="card-box" header="基础信息">
<div class="detail-box">
<image-preview :src="detail.picture" :width="100" :height="100" style="margin-right: 16px"/>
<el-descriptions style="flex: 1" :column="3">
<el-descriptions-item label="订单编号">{{ detail.orderNo | dv}}</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :options="dict.type.order_status" :value="detail.status" size="mini"/>
</el-descriptions-item>
<el-descriptions-item label="客户">{{ detail.customer | dv}}</el-descriptions-item>
<el-descriptions-item label="订单日期">{{ detail.orderDate | dv}}</el-descriptions-item>
<el-descriptions-item label="交货日期">{{ detail.deliveryDate | dv}}</el-descriptions-item>
<el-descriptions-item label="创建人">{{ detail.createBy | dv}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ detail.createTime | dv}}</el-descriptions-item>
<el-descriptions-item label="产品名称">{{ detail.name | dv}}</el-descriptions-item>
<el-descriptions-item label="用料">{{ detail.material | dv}}</el-descriptions-item>
<el-descriptions-item label="装量">{{ detail.contentNum | dv}}</el-descriptions-item>
<el-descriptions-item label="包装尺寸">{{ detail.packageSize | dv}}</el-descriptions-item>
<el-descriptions-item label="特殊要求" :span="2">{{ detail.remark | dv}}</el-descriptions-item>
</el-descriptions>
</div>
</el-card>
</el-col>
<el-col :span="6">
<el-card class="card-box progress-card" header="生产进度">
<div class="progress-content">
<div class="progress-circle">
<el-progress
type="circle"
:percentage="detail.progress || 0"
:color="ProgressColors"
:format="ProgressFormat"
:stroke-width="10"
:width="120"
/>
</div>
<div class="progress-stats">
<div class="stat-item">
<div class="stat-label">总数量</div>
<div class="stat-value">{{ detail.num || 0 }}</div>
</div>
<div class="stat-item">
<div class="stat-label">已上报</div>
<div class="stat-value">{{ detail.reportNum || 0 }}</div>
</div>
<div class="stat-item">
<div class="stat-label">已清点</div>
<div class="stat-value">{{ detail.storeNum || 0 }}</div>
</div>
</div>
</div>
</el-card>
</el-col>
</el-row>
<el-card class="card-box">
<el-tabs>
@ -71,7 +103,7 @@ export default {
this.loading = false;
})
}
}
},
}
</script>
@ -80,4 +112,57 @@ export default {
display: flex;
justify-content: space-between;
}
.progress-card {
.progress-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
.title {
font-size: 16px;
font-weight: 500;
color: #303133;
}
}
.progress-content {
display: flex;
align-items: center;
padding: 0 16px;
}
.progress-circle {
flex-shrink: 0;
}
.progress-stats {
flex: 1;
margin-left: 24px;
.stat-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0;
border-bottom: 1px solid #EBEEF5;
&:last-child {
border-bottom: none;
}
.stat-label {
font-size: 14px;
color: #606266;
}
.stat-value {
font-size: 16px;
font-weight: 600;
color: #6699ff;
}
}
}
}
</style>

View File

@ -50,6 +50,8 @@
<el-descriptions-item label="订单日期">{{ detail.orderDate | dv}}</el-descriptions-item>
<el-descriptions-item label="交货日期">{{ detail.orderDeliveryDate | dv}}</el-descriptions-item>
<el-descriptions-item label="用料">{{ detail.orderMaterial | dv}}</el-descriptions-item>
<el-descriptions-item label="装量">{{ detail.orderContentNum | dv}}</el-descriptions-item>
<el-descriptions-item label="包装">{{ detail.orderPackageSize | dv}}</el-descriptions-item>
<el-descriptions-item label="特殊要求">{{ detail.orderRemark | dv}}</el-descriptions-item>
<el-descriptions-item label="创建人">{{ detail.orderCreateBy | dv}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ detail.orderCreateTime | dv}}</el-descriptions-item>

View File

@ -1,10 +1,10 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="车间名称" prop="deptName">
<el-form-item label="名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入车间名称"
placeholder="请输入名称"
clearable
@keyup.enter.native="handleQuery"
/>
@ -56,7 +56,7 @@
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="车间名称"/>
<el-table-column prop="deptName" label="车间工序名称"/>
<el-table-column prop="orderNum" label="排序" width="100" align="center"/>
<el-table-column prop="status" label="状态" width="100" align="center">
<template slot-scope="scope">