Compare commits
5 Commits
acf22e0d90
...
5f4e40e712
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5f4e40e712 | ||
![]() |
7794316e1e | ||
![]() |
30a332a9a6 | ||
![]() |
1eecf2853c | ||
![]() |
c6defb8a01 |
Binary file not shown.
Before Width: | Height: | Size: 509 KiB After Width: | Height: | Size: 791 KiB |
|
@ -113,7 +113,7 @@
|
||||||
<boolean-tag :value="d.row.disabled" true-text="禁用" true-type="danger" false-text="启用" false-type="success" />
|
<boolean-tag :value="d.row.disabled" true-text="禁用" true-type="danger" false-text="启用" false-type="success" />
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'quantity'">
|
<template v-else-if="column.key === 'quantity'">
|
||||||
{{d.row.quantity | fix2 | dv}} 个
|
{{formatFraction(d.row.quantityNumerator, d.row.quantityDenominator)}} 个
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'price'">
|
<template v-else-if="column.key === 'price'">
|
||||||
{{d.row.price | dv}} 元
|
{{d.row.price | dv}} 元
|
||||||
|
@ -143,7 +143,7 @@ import Price from "@/views/yh/price/index.vue";
|
||||||
import DeptTreeSelect from "@/components/Business/Dept/DeptTreeSelect.vue";
|
import DeptTreeSelect from "@/components/Business/Dept/DeptTreeSelect.vue";
|
||||||
import {$showColumns} from "@/utils/mixins";
|
import {$showColumns} from "@/utils/mixins";
|
||||||
import {listPrice} from "@/api/yh/price";
|
import {listPrice} from "@/api/yh/price";
|
||||||
import {deepClone} from "@/utils";
|
import {deepClone, formatFraction} from "@/utils";
|
||||||
|
|
||||||
const defaultSort = {
|
const defaultSort = {
|
||||||
prop: "createTime",
|
prop: "createTime",
|
||||||
|
@ -227,6 +227,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatFraction,
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<el-dialog :title="title" :visible="show" width="90%" top="2vh" @close="close" :append-to-body="true">
|
<el-dialog :title="title" :visible="show" width="90%" top="2vh" @close="close" :append-to-body="true">
|
||||||
<el-scrollbar style="height: 50vh">
|
|
||||||
<price-check
|
<price-check
|
||||||
v-if="show"
|
v-if="show"
|
||||||
ref="check"
|
ref="check"
|
||||||
|
@ -11,7 +10,6 @@
|
||||||
:init-select="initSelect"
|
:init-select="initSelect"
|
||||||
v-on="$listeners"
|
v-on="$listeners"
|
||||||
/>
|
/>
|
||||||
</el-scrollbar>
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<el-button type="primary" @click="submit()">确定</el-button>
|
<el-button type="primary" @click="submit()">确定</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -39,6 +39,18 @@
|
||||||
</el-checkbox-button>
|
</el-checkbox-button>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="物料规格" prop="materialCategory">
|
||||||
|
<el-input v-model="queryParams.materialCategory" placeholder="请输入物料规格" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料大小" prop="materialSize">
|
||||||
|
<el-input v-model="queryParams.materialSize" placeholder="请输入物料大小" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="表面处理" prop="materialSurface">
|
||||||
|
<el-input v-model="queryParams.materialSurface" placeholder="请输入物料表面处理" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="盖子方式" prop="materialCover">
|
||||||
|
<el-input v-model="queryParams.materialCover" placeholder="请输入物料盖子方式" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
|
@ -42,7 +42,7 @@ export default {
|
||||||
.table-form-item {
|
.table-form-item {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.is-error {
|
.table-form-item.is-error {
|
||||||
margin-bottom: 18px;
|
margin-bottom: 18px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -499,3 +499,11 @@ export function getLastDateTimeStart(n) {
|
||||||
export function getLastDateTimeEnd(n) {
|
export function getLastDateTimeEnd(n) {
|
||||||
return new Date(getLastDateTimeEndStr(n));
|
return new Date(getLastDateTimeEndStr(n));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 展示分数
|
||||||
|
export function formatFraction(numerator, denominator) {
|
||||||
|
if (denominator === 1) {
|
||||||
|
return numerator;
|
||||||
|
}
|
||||||
|
return `${numerator}/${denominator}`;
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="login">
|
<div class="login">
|
||||||
|
<div class="bg-box"/>
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||||||
<h3 class="title-box">
|
<h3 class="title-box">
|
||||||
<img :src="logo" class="logo"/>
|
<img :src="logo" class="logo"/>
|
||||||
|
@ -79,8 +80,8 @@ export default {
|
||||||
logo: logoImg,
|
logo: logoImg,
|
||||||
codeUrl: "",
|
codeUrl: "",
|
||||||
loginForm: {
|
loginForm: {
|
||||||
username: "admin",
|
username: "",
|
||||||
password: "admin123",
|
password: "",
|
||||||
rememberMe: false,
|
rememberMe: false,
|
||||||
code: "",
|
code: "",
|
||||||
uuid: ""
|
uuid: ""
|
||||||
|
@ -165,11 +166,21 @@ export default {
|
||||||
<style rel="stylesheet/scss" lang="scss">
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
.login {
|
.login {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
display: -webkit-flex;
|
||||||
height: calc(100vh - env(safe-area-inset-bottom));
|
height: calc(100vh - env(safe-area-inset-bottom));
|
||||||
background-image: url("../assets/images/login-background.webp");
|
width: 100%;
|
||||||
-webkit-background-image: url("../assets/images/login-background.webp");
|
|
||||||
|
.bg-box {
|
||||||
|
flex: 1;
|
||||||
|
background-image: url("../assets/images/login-background.jpg");
|
||||||
|
-webkit-background-image: url("../assets/images/login-background.jpg");
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
-webkit-background-size: cover;
|
-webkit-background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
-webkit-background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-box {
|
.title-box {
|
||||||
|
@ -193,7 +204,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.login-form {
|
.login-form {
|
||||||
position: absolute;
|
position: relative;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
width: 480px;
|
width: 480px;
|
||||||
padding: 200px 64px 5px;
|
padding: 200px 64px 5px;
|
||||||
|
|
|
@ -84,10 +84,10 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
<el-descriptions :column="2">
|
<el-descriptions :column="2" size="small">
|
||||||
<el-descriptions-item v-for="column of columns" v-if="column.visible" :key="column.key" :label="column.label">
|
<el-descriptions-item v-for="column of columns" v-if="column.visible" :key="column.key" :label="column.label">
|
||||||
<template v-if="column.key === 'status'">
|
<template v-if="column.key === 'status'">
|
||||||
<dict-tag :options="dict.type.report_status" :value="report[column.key]" size="small"/>
|
<dict-tag :options="dict.type.report_status" :value="report[column.key]" size="mini"/>
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'totalAmount'">
|
<template v-else-if="column.key === 'totalAmount'">
|
||||||
{{report.totalAmount | dv}} 元
|
{{report.totalAmount | dv}} 元
|
||||||
|
|
|
@ -262,11 +262,17 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSync() {
|
handleSync() {
|
||||||
|
this.$confirm('确定同步物料吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
syncMaterial().then(res => {
|
syncMaterial().then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.$message.success("同步成功");
|
this.$message.success("同步成功");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
});
|
||||||
},
|
},
|
||||||
/** 当排序按钮被点击时触发 **/
|
/** 当排序按钮被点击时触发 **/
|
||||||
onSortChange(column) {
|
onSortChange(column) {
|
||||||
|
|
|
@ -19,7 +19,9 @@
|
||||||
<el-descriptions-item label="单价">{{detail.price | dv}} 元</el-descriptions-item>
|
<el-descriptions-item label="单价">{{detail.price | dv}} 元</el-descriptions-item>
|
||||||
<el-descriptions-item label="单位">{{detail.unit | dv}}</el-descriptions-item>
|
<el-descriptions-item label="单位">{{detail.unit | dv}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="分类">{{detail.classify | dv}}</el-descriptions-item>
|
<el-descriptions-item label="分类">{{detail.classify | dv}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="生产数量" span="2">{{detail.quantity | fix2 | dv}} 个</el-descriptions-item>
|
<el-descriptions-item label="生产倍数" span="2">
|
||||||
|
{{formatFraction(detail.quantityNumerator, detail.quantityDenominator)}} 个
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注" span="3">{{detail.remark | dv}}</el-descriptions-item>
|
<el-descriptions-item label="备注" span="3">{{detail.remark | dv}}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
|
@ -32,6 +34,7 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {getPrice, verifyPrice} from "@/api/yh/price";
|
import {getPrice, verifyPrice} from "@/api/yh/price";
|
||||||
|
import {formatFraction} from "../../../../utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "VerifyPriceDialog",
|
name: "VerifyPriceDialog",
|
||||||
|
@ -71,6 +74,7 @@ export default {
|
||||||
this.getDetail(this.priceId);
|
this.getDetail(this.priceId);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatFraction,
|
||||||
submitVerify(pass) {
|
submitVerify(pass) {
|
||||||
this.$confirm(`确定要${pass ? '通过' : '驳回'}吗?`, '提示', {
|
this.$confirm(`确定要${pass ? '通过' : '驳回'}吗?`, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|
|
@ -190,7 +190,7 @@
|
||||||
<boolean-tag :value="d.row.disabled" true-text="禁用" true-type="danger" false-text="启用" false-type="success" />
|
<boolean-tag :value="d.row.disabled" true-text="禁用" true-type="danger" false-text="启用" false-type="success" />
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'quantity'">
|
<template v-else-if="column.key === 'quantity'">
|
||||||
{{d.row.quantity | fix2 | dv}} 个
|
{{formatFraction(d.row.quantityNumerator, d.row.quantityDenominator)}} 个
|
||||||
</template>
|
</template>
|
||||||
<template v-else-if="column.key === 'price'">
|
<template v-else-if="column.key === 'price'">
|
||||||
{{d.row.price | dv}} 元
|
{{d.row.price | dv}} 元
|
||||||
|
@ -299,10 +299,11 @@
|
||||||
<form-col :span="span" label="分类" prop="classify">
|
<form-col :span="span" label="分类" prop="classify">
|
||||||
<el-input v-model="form.classify" placeholder="请输入分类" />
|
<el-input v-model="form.classify" placeholder="请输入分类" />
|
||||||
</form-col>
|
</form-col>
|
||||||
<form-col :span="span" label="生产数量" prop="quantity">
|
<form-col :span="span" label="生产倍数" prop="quantity">
|
||||||
<el-input v-model="form.quantity" placeholder="请输入生产数量" type="number" :min="0">
|
<el-input v-model="form.quantityNumerator" placeholder="分子" type="number" :min="0" style="width: calc(50% - 1.5em)"/>
|
||||||
<template #suffix>个</template>
|
/
|
||||||
</el-input>
|
<el-input v-model="form.quantityDenominator" placeholder="分母" type="number" :min="0" style="width: calc(50% - 1.5em)"/>
|
||||||
|
个
|
||||||
</form-col>
|
</form-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="备注" prop="remark">
|
||||||
|
@ -345,6 +346,7 @@ import {PriceStatus} from "@/utils/constants";
|
||||||
import VerifyPriceDialog from "@/views/yh/price/components/VerifyPriceDialog.vue";
|
import VerifyPriceDialog from "@/views/yh/price/components/VerifyPriceDialog.vue";
|
||||||
import FormCol from "@/components/FormCol/index.vue";
|
import FormCol from "@/components/FormCol/index.vue";
|
||||||
import ImportDialog from "@/components/ImportDialog/index.vue";
|
import ImportDialog from "@/components/ImportDialog/index.vue";
|
||||||
|
import {formatFraction} from "../../../utils";
|
||||||
|
|
||||||
// 默认排序字段
|
// 默认排序字段
|
||||||
const defaultSort = {
|
const defaultSort = {
|
||||||
|
@ -385,7 +387,7 @@ export default {
|
||||||
{key: 'price', visible: true, label: '单价', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
{key: 'price', visible: true, label: '单价', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||||
{key: 'unit', visible: true, label: '单位', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
{key: 'unit', visible: true, label: '单位', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||||
{key: 'classify', visible: true, label: '分类', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
{key: 'classify', visible: true, label: '分类', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||||
{key: 'quantity', visible: false, label: '生产数量', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
{key: 'quantity', visible: false, label: '生产倍数', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
||||||
{key: 'remark', 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: 'createBy', visible: false, label: '创建人', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
{key: 'createBy', visible: false, label: '创建人', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
||||||
{key: 'createTime', visible: false, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
{key: 'createTime', visible: false, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: "100"},
|
||||||
|
@ -469,6 +471,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatFraction,
|
||||||
/** 当排序按钮被点击时触发 **/
|
/** 当排序按钮被点击时触发 **/
|
||||||
onSortChange(column) {
|
onSortChange(column) {
|
||||||
if (column.order == null) {
|
if (column.order == null) {
|
||||||
|
@ -521,7 +524,8 @@ export default {
|
||||||
updateBy: null,
|
updateBy: null,
|
||||||
disabled: null,
|
disabled: null,
|
||||||
disabledTime: null,
|
disabledTime: null,
|
||||||
quantity: null
|
quantityNumerator: 1,
|
||||||
|
quantityDenominator : 1,
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
|
|
@ -39,6 +39,18 @@
|
||||||
</el-checkbox-button>
|
</el-checkbox-button>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="物料规格" prop="materialCategory">
|
||||||
|
<el-input v-model="queryParams.materialCategory" placeholder="请输入物料规格" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料大小" prop="materialSize">
|
||||||
|
<el-input v-model="queryParams.materialSize" placeholder="请输入物料大小" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="表面处理" prop="materialSurface">
|
||||||
|
<el-input v-model="queryParams.materialSurface" placeholder="请输入物料表面处理" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="盖子方式" prop="materialCover">
|
||||||
|
<el-input v-model="queryParams.materialCover" placeholder="请输入物料盖子方式" clearable @keyup.enter.native="handleQuery"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
@ -46,16 +58,16 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<!-- <el-col :span="1.5">-->
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
type="primary"
|
<!-- type="primary"-->
|
||||||
plain
|
<!-- plain-->
|
||||||
icon="el-icon-plus"
|
<!-- icon="el-icon-plus"-->
|
||||||
size="mini"
|
<!-- size="mini"-->
|
||||||
@click="handleAdd"
|
<!-- @click="handleAdd"-->
|
||||||
v-has-permi="['yh:prodOrder:add']"
|
<!-- v-has-permi="['yh:prodOrder:add']"-->
|
||||||
>新增</el-button>
|
<!-- >新增</el-button>-->
|
||||||
</el-col>
|
<!-- </el-col>-->
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
type="danger"
|
type="danger"
|
||||||
|
@ -351,11 +363,17 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
isEmpty,
|
isEmpty,
|
||||||
handleSync(query = {}) {
|
handleSync(query = {}) {
|
||||||
|
this.$confirm('确定同步生产订单吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
syncProdOrder(query).then(res => {
|
syncProdOrder(query).then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.$message.success("同步成功");
|
this.$message.success("同步成功");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
})
|
||||||
},
|
},
|
||||||
/** 当排序按钮被点击时触发 **/
|
/** 当排序按钮被点击时触发 **/
|
||||||
onSortChange(column) {
|
onSortChange(column) {
|
||||||
|
|
|
@ -289,7 +289,8 @@ export default {
|
||||||
pricePrice: price.price,
|
pricePrice: price.price,
|
||||||
priceUnit: price.unit,
|
priceUnit: price.unit,
|
||||||
priceClassify: price.classify,
|
priceClassify: price.classify,
|
||||||
priceQuantity: price.quantity
|
priceQuantityNumerator: price.quantityNumerator,
|
||||||
|
priceQuantityDenominator: price.quantityDenominator,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 工序修改后操作
|
// 工序修改后操作
|
||||||
|
@ -304,7 +305,8 @@ export default {
|
||||||
row.pricePrice = price.price;
|
row.pricePrice = price.price;
|
||||||
row.priceUnit = price.unit;
|
row.priceUnit = price.unit;
|
||||||
row.priceClassify = price.classify;
|
row.priceClassify = price.classify;
|
||||||
row.priceQuantity = price.quantity;
|
row.priceQuantityNumerator = price.quantityNumerator;
|
||||||
|
row.priceQuantityDenominator = price.quantityDenominator;
|
||||||
},
|
},
|
||||||
// 表格选择项发生变化后
|
// 表格选择项发生变化后
|
||||||
onSelectionChange(selection) {
|
onSelectionChange(selection) {
|
||||||
|
|
|
@ -102,6 +102,11 @@ export default {
|
||||||
priceUnit: {
|
priceUnit: {
|
||||||
type: String,
|
type: String,
|
||||||
default: null
|
default: null
|
||||||
|
},
|
||||||
|
// 报表产量
|
||||||
|
reportProd: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
@ -134,7 +139,8 @@ export default {
|
||||||
orderQuery() {
|
orderQuery() {
|
||||||
return {
|
return {
|
||||||
erpStatusList: [ProdOrderErpStatus.START_WORK],
|
erpStatusList: [ProdOrderErpStatus.START_WORK],
|
||||||
|
materialCategory: this.reportProd.priceCategory,
|
||||||
|
materialSize: this.reportProd.priceSize,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -49,9 +49,10 @@
|
||||||
<div class="edit-title">关联订单</div>
|
<div class="edit-title">关联订单</div>
|
||||||
<report-product-order-list-edit
|
<report-product-order-list-edit
|
||||||
v-model="form.orderProdList"
|
v-model="form.orderProdList"
|
||||||
:quantity="form.priceQuantity"
|
:quantity="form.priceQuantityNumerator / form.priceQuantityDenominator"
|
||||||
:price-unit="form.priceUnit"
|
:price-unit="form.priceUnit"
|
||||||
:rules="rules.orderProdList"
|
:rules="rules.orderProdList"
|
||||||
|
:report-prod="form"
|
||||||
/>
|
/>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -169,7 +170,8 @@ export default {
|
||||||
this.form.pricePrice = price.price;
|
this.form.pricePrice = price.price;
|
||||||
this.form.priceUnit = price.unit;
|
this.form.priceUnit = price.unit;
|
||||||
this.form.priceClassify = price.classify;
|
this.form.priceClassify = price.classify;
|
||||||
this.form.priceQuantity = price.quantity;
|
this.form.priceQuantityNumerator = price.quantityNumerator;
|
||||||
|
this.form.priceQuantityDenominator = price.quantityDenominator;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
containerClass: null,
|
containerClass: null,
|
||||||
showTableOpera: false,
|
showTableOpera: false,
|
||||||
showSearch: false,
|
showSearch: false,
|
||||||
showSelection: false,
|
showSelection: false
|
||||||
}"/>
|
}"/>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
|
@ -1,26 +1,10 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
<el-form-item label="报表关联订单ID" prop="id">
|
<el-form-item label="生产订单" prop="orderErpBillNo">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.id"
|
v-model="queryParams.orderErpBillNo"
|
||||||
placeholder="请输入报表关联订单ID"
|
placeholder="请输入生产订单编号"
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="报表产量ID" prop="reportProdId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.reportProdId"
|
|
||||||
placeholder="请输入报表产量ID"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="生产订单ID" prop="orderId">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.orderId"
|
|
||||||
placeholder="请输入生产订单ID"
|
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -3,14 +3,14 @@
|
||||||
<template v-for="(item, index) of data">
|
<template v-for="(item, index) of data">
|
||||||
<el-descriptions border :column="4" >
|
<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.num | fix2 | dv}} {{priceUnit}}</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-progress text-inside :stroke-width="16" :percentage="percentage(item)" :color="customColors" text-color="#fff" style="width: 80px"/>
|
||||||
</el-descriptions-item>
|
</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.orderErpBaseUnitQty | fix2 | 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.orderErpBaseNoStockInQty | fix2 | 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.verifyingBaseNum | fix2 | 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="订单已审核产量">{{item.verifiedBaseNum | fix2 | dv}} {{item.baseUnitName}}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<br/>
|
<br/>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -78,7 +78,7 @@
|
||||||
<el-descriptions-item label="图案">{{d.row.pricePattern | dv}}</el-descriptions-item>
|
<el-descriptions-item label="图案">{{d.row.pricePattern | dv}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="规格">{{d.row.priceSpec | dv}}</el-descriptions-item>
|
<el-descriptions-item label="规格">{{d.row.priceSpec | dv}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="分类">{{d.row.priceClassify | dv}}</el-descriptions-item>
|
<el-descriptions-item label="分类">{{d.row.priceClassify | dv}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="倍数">{{d.row.priceQuantity | dv}}</el-descriptions-item>
|
<el-descriptions-item label="倍数">{{formatFraction(d.row.priceQuantityNumerator, d.row.priceQuantityDenominator)}}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<template v-if="!isEmpty(d.row.userProdList)">
|
<template v-if="!isEmpty(d.row.userProdList)">
|
||||||
<div class="edit-title">员工产量</div>
|
<div class="edit-title">员工产量</div>
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
</template>
|
</template>
|
||||||
<template v-if="!isEmpty(d.row.orderProdList)">
|
<template v-if="!isEmpty(d.row.orderProdList)">
|
||||||
<div class="edit-title">订单产量</div>
|
<div class="edit-title">订单产量</div>
|
||||||
<report-order-prod-descriptions :data="d.row.orderProdList" :price-unit="d.row.priceUnit" :price-quantity="d.row.priceQuantity"/>
|
<report-order-prod-descriptions :data="d.row.orderProdList" :price-unit="d.row.priceUnit" :price-quantity="d.row.priceQuantityNumerator / d.row.priceQuantityDenominator"/>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -222,7 +222,7 @@ import SearchFormItem from "@/components/SearchFormItem/index.vue";
|
||||||
import ReportUserProd from "@/views/yh/reportUserProd/index.vue";
|
import ReportUserProd from "@/views/yh/reportUserProd/index.vue";
|
||||||
import {calcMulDecimal} from "@/utils/money";
|
import {calcMulDecimal} from "@/utils/money";
|
||||||
import ReportUserProdDescriptions from "@/views/yh/reportProd/components/ReportUserProdDescriptions.vue";
|
import ReportUserProdDescriptions from "@/views/yh/reportProd/components/ReportUserProdDescriptions.vue";
|
||||||
import {isEmpty} from "@/utils";
|
import {formatFraction, isEmpty} from "@/utils";
|
||||||
import ReportOrderProdDescriptions from "@/views/yh/reportProd/components/ReportOrderProdDescriptions.vue";
|
import ReportOrderProdDescriptions from "@/views/yh/reportProd/components/ReportOrderProdDescriptions.vue";
|
||||||
|
|
||||||
// 默认排序字段
|
// 默认排序字段
|
||||||
|
@ -373,6 +373,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
formatFraction,
|
||||||
isEmpty,
|
isEmpty,
|
||||||
calcMulDecimal,
|
calcMulDecimal,
|
||||||
// 展开行
|
// 展开行
|
||||||
|
|
|
@ -242,11 +242,17 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
handleSync() {
|
handleSync() {
|
||||||
|
this.$confirm('确定同步单位吗?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
syncUnit().then(res => {
|
syncUnit().then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
this.$message.success("同步成功");
|
this.$message.success("同步成功");
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
});
|
||||||
},
|
},
|
||||||
/** 当排序按钮被点击时触发 **/
|
/** 当排序按钮被点击时触发 **/
|
||||||
onSortChange(column) {
|
onSortChange(column) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user