This commit is contained in:
磷叶 2024-11-20 22:09:25 +08:00
parent ce6898816f
commit acf22e0d90
6 changed files with 108 additions and 69 deletions

View File

@ -55,10 +55,11 @@ export function delProdOrder(id) {
}
// 同步生产订单
export function syncProdOrder() {
export function syncProdOrder(query) {
return request({
url: '/yh/prodOrder/sync',
method: 'put'
method: 'put',
data: query
})
}

View File

@ -1,10 +1,10 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @change="handleQuery">
<el-form-item label="日志类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择日志类型" clearable @change="handleQuery">
<el-option
v-for="dict in dict.type.log_import_status"
v-for="dict in dict.type.log_import_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@ -21,6 +21,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable @change="handleQuery">
<el-option
v-for="dict in dict.type.log_import_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="createBy">
<el-input
v-model="queryParams.createBy"
@ -94,6 +104,9 @@
<template v-else-if="column.key === 'bizType'">
<dict-tag :options="dict.type.log_import_biz_type" :value="d.row[column.key]"/>
</template>
<template v-else-if="column.key === 'type'">
<dict-tag :options="dict.type.log_import_type" :value="d.row[column.key]"/>
</template>
<template v-else-if="column.key === 'seconds'">
{{calcSecond(d.row.createTime, d.row.finishedTime)}}
</template>
@ -216,7 +229,7 @@ const defaultSort = {
export default {
name: "LogImport",
mixins: [$showColumns],
dicts: ['log_import_status', 'log_import_biz_type'],
dicts: ['log_import_status', 'log_import_biz_type', 'log_import_type'],
components: {LogImportView, LogImportDetail, FormCol},
data() {
return {
@ -226,6 +239,7 @@ export default {
//
columns: [
{key: 'logId', visible: true, label: '日志ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'type', visible: true, label: '日志类型', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'bizType', 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: 'createBy', visible: true, label: '创建人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},

View File

@ -1,13 +1,16 @@
<template>
<div class="app-container" v-loading="loading">
<el-descriptions title="导入详情">
<el-descriptions title="导入详情" :column="4">
<el-descriptions-item label="日志ID">{{detail.logId | dv}}</el-descriptions-item>
<el-descriptions-item label="状态">
<dict-tag :options="dict.type.log_import_status" :value="detail.status" size="small"/>
<el-descriptions-item label="日志类型">
<dict-tag :options="dict.type.log_import_type" :value="detail.type" size="small"/>
</el-descriptions-item>
<el-descriptions-item label="业务类型">
<dict-tag :options="dict.type.log_import_biz_type" :value="detail.bizType" size="small"/>
</el-descriptions-item>
<el-descriptions-item label="状态">
<dict-tag :options="dict.type.log_import_status" :value="detail.status" size="small"/>
</el-descriptions-item>
<el-descriptions-item label="创建人">
{{detail.createBy | dv}}
</el-descriptions-item>
@ -51,7 +54,7 @@ import {calcSecond} from "@/utils/date";
export default {
name: "LogImportView",
components: {LogImportDetail},
dicts: ['log_import_status', 'log_import_biz_type'],
dicts: ['log_import_status', 'log_import_biz_type', 'log_import_type'],
props: {
logId: {
type: String,

View File

@ -132,13 +132,13 @@
</template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-has-permi="['yh:prodOrder:edit']"
>修改</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-has-permi="['yh:prodOrder:edit']"-->
<!-- >修改</el-button>-->
<el-button
size="mini"
type="text"
@ -146,6 +146,13 @@
@click="handleDelete(scope.row)"
v-has-permi="['yh:prodOrder:remove']"
>删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-refresh"
@click="handleSync({id: scope.row.erpId})"
v-has-permi="['yh:prodOrder:sync']"
>同步</el-button>
</template>
</el-table-column>
</el-table>
@ -280,6 +287,7 @@ export default {
{key: 'erpNoStockInQty', visible: true, label: '未入库', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'erpBaseNoStockInQty', visible: false, label: '基本未入库', minWidth: null, sortable: true, overflow: false, align: 'center', width: "130"},
{key: 'baseUnitName', visible: false, label: '基本单位', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'syncTime', visible: true, label: '同步时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
],
//
orderSorts: ['ascending', 'descending', null],
@ -342,8 +350,8 @@ export default {
},
methods: {
isEmpty,
handleSync() {
syncProdOrder().then(res => {
handleSync(query = {}) {
syncProdOrder(query).then(res => {
if (res.code === 200) {
this.$message.success("同步成功");
}

View File

@ -32,27 +32,27 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-has-permi="['yh:reportOrderProd:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-has-permi="['yh:reportOrderProd:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- @click="handleAdd"-->
<!-- v-has-permi="['yh:reportOrderProd:add']"-->
<!-- >新增</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-has-permi="['yh:reportOrderProd:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
@ -84,30 +84,39 @@
<template v-if="column.key === 'id'">
{{d.row[column.key]}}
</template>
<template v-else-if="column.key === 'num'">
{{d.row[column.key] | dv}} {{d.row.priceUnit}}
</template>
<template v-else-if="column.key === 'pricePrice'">
{{d.row[column.key] | dv}} / {{d.row.priceUnit}}
</template>
<template v-else-if="column.key === 'reportStatus'">
<dict-tag :value="d.row.reportStatus" :options="dict.type.report_status"/>
</template>
<template v-else>
{{d.row[column.key]}}
</template>
</template>
</el-table-column>
</template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-has-permi="['yh:reportOrderProd:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-has-permi="['yh:reportOrderProd:remove']"
>删除</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-has-permi="['yh:reportOrderProd:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-has-permi="['yh:reportOrderProd:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
@ -148,22 +157,27 @@ import FormCol from "@/components/FormCol/index.vue";
//
const defaultSort = {
prop: "createTime",
prop: "id",
order: "descending"
}
export default {
name: "ReportOrderProd",
mixins: [$showColumns],
dicts: ['report_status'],
components: {FormCol},
data() {
return {
span: 24,
//
columns: [
{key: 'id', visible: true, label: '报表关联订单ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportProdId', visible: true, label: '报表产量ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderId', visible: true, label: '生产订单ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'id', visible: false, label: 'ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'reportId', visible: false, label: '报表编号', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
{key: 'reportDate', visible: true, label: '报表日期', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'reportStatus', visible: true, label: '报表状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'orderErpBillNo', visible: true, label: '生产订单', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'priceName', visible: true, label: '工序', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'pricePrice', visible: true, label: '单价', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
{key: 'num', visible: true, label: '生产数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
],
//

View File

@ -2,15 +2,15 @@
<div>
<template v-for="(item, index) of data">
<el-descriptions border :column="4" >
<el-descriptions-item :key="item.id" label="订单" :span="2">{{item.orderErpBillNo | dv}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="生产订单" :span="2">{{item.orderErpBillNo | dv}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="本次提交产量">{{item.num | dv}} {{priceUnit}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单需求数量">{{item.orderErpBaseUnitQty | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单未入库数量">{{item.orderErpBaseNoStockInQty | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="审核中产量">{{item.verifyingBaseNum | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="已审核产量">{{item.verifiedBaseNum | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="进度">
<el-descriptions-item :key="item.id" label="订单进度">
<el-progress text-inside :stroke-width="16" :percentage="percentage(item)" :color="customColors" text-color="#fff" style="width: 80px"/>
</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单需求数量">{{item.orderErpBaseUnitQty | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单未入库数量">{{item.orderErpBaseNoStockInQty | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单审核中产量">{{item.verifyingBaseNum | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单已审核产量">{{item.verifiedBaseNum | dv}} {{item.baseUnitName}}</el-descriptions-item>
</el-descriptions>
<br/>
</template>
@ -20,7 +20,6 @@
<script>
import {notNullDecimal} from "@/utils";
import {calcMulDecimal} from "@/utils/money";
import Decimal from "decimal.js";
export default {