入出库
This commit is contained in:
parent
6cea75b993
commit
c61a000f4b
|
|
@ -15,7 +15,7 @@
|
|||
</a-col>
|
||||
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||
<!-- 工具条 -->
|
||||
<mk-toolbar :buttons="options.toolbarButtons" :isShowAdd="options.disabledAdd !== true"
|
||||
<mk-toolbar :buttons="options.toolbarButtons" :isShowAdd="options.disabledAdd !== true" :isShowDelete="options.disabledDelete !== true"
|
||||
@toolbarClick="toolbarClick"></mk-toolbar>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
|
|
|||
|
|
@ -89,8 +89,7 @@ export default {
|
|||
isEdit: false,
|
||||
// 表单数据
|
||||
formOptions: {
|
||||
data: {
|
||||
// =============================== 表单数据 自动生成 Start ===============================
|
||||
data: {
|
||||
|
||||
id: 0,
|
||||
code: "",
|
||||
|
|
@ -100,8 +99,7 @@ export default {
|
|||
create_uid: 0,
|
||||
update_uid: 0,
|
||||
create_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
// =============================== 表单数据 自动生成 End ===============================
|
||||
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 180,
|
||||
|
|
@ -110,37 +108,99 @@ export default {
|
|||
|
||||
// 表单校验规则
|
||||
rules: {
|
||||
// =============================== 表单校验 自动生成 Start ===============================
|
||||
|
||||
code: [
|
||||
{ required: true, message: '请输入初始化入库单编码' }
|
||||
],
|
||||
product_id: [
|
||||
|
||||
product_detail: [
|
||||
{ required: true, message: '请选择产品' }
|
||||
],
|
||||
stock: [
|
||||
{ required: true, message: '请输入库存数量' }
|
||||
],
|
||||
warehouse_id: [
|
||||
warehouse_detail: [
|
||||
{ required: true, message: '请选择仓库' }
|
||||
],
|
||||
warehouse_pos_id: [
|
||||
warehouse_pos_detail: [
|
||||
{ required: true, message: '请选择仓位' }
|
||||
],
|
||||
|
||||
// =============================== 表单校验 自动生成 End ===============================
|
||||
},
|
||||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{ field: 'warehouse_id', title: '仓库', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'warehouse_pos_id', title: '仓位', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'product_id', title: '料品', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'code', title: '初始化入库单编码', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'stock', title: '库存数量', span: 12, itemRender: { name: '$input' } },
|
||||
|
||||
{
|
||||
title: '仓库', span: 12,
|
||||
field: 'warehouse_detail',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "warehouse_id"
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "object",
|
||||
valueField: "id",
|
||||
textField: "warehouse_title",
|
||||
columns: [
|
||||
{ field: 'warehouse_title', title: '名称' },
|
||||
{ field: 'code', title: '编码' }
|
||||
],
|
||||
listdataFieldName: 'MesWarehouse',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/MesWarehouse/v1/mes/warehouse/list`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
title: '仓位', span: 12,
|
||||
field: 'warehouse_pos_detail',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "warehouse_pos_id"
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "object",
|
||||
valueField: "id",
|
||||
textField: "warehouse_location_name",
|
||||
columns: [
|
||||
{ field: 'warehouse_location_name', title: '名称' },
|
||||
{ field: 'code', title: '编码' }
|
||||
],
|
||||
listdataFieldName: 'WarehouseLocation',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/MesWarehouse/v1/warehouse/location/list`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
title: '料品', span: 12,
|
||||
field: 'product_detail',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "product_id" // 如果表单项存储的是对象,将从fromField中取得值保存到saveField
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "object",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'MesMaterials',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/MesMaterials/v1/mes/materials/list`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
{ field: 'stock', dataRule:{type:"number"}, title: '库存数量', span: 12, itemRender: { name: '$input',props:{type:'number'} } },
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
|
|
@ -179,12 +239,12 @@ export default {
|
|||
|
||||
let detailDataFieldName = this.pageOptions.detailDataFieldName;
|
||||
|
||||
if (a.data[detailDataFieldName].create_time) {
|
||||
a.data[detailDataFieldName].create_time = new Date(a.data[detailDataFieldName].create_time * 1000);
|
||||
}
|
||||
if (a.data[detailDataFieldName].update_time) {
|
||||
a.data[detailDataFieldName].update_time = new Date(a.data[detailDataFieldName].update_time * 1000);
|
||||
}
|
||||
let rules = [
|
||||
{field:"create_time",dataRule:"timestamp"},
|
||||
{field:"update_time",dataRule:"timestamp"},
|
||||
];
|
||||
rules = []; //上面几个字段如果不需要在表单显示,可以不转换(不转换的话,表单拿到的是什么数据,提交的时候就是什么数据)
|
||||
this.$mk.formatInitFormData({data: a.data[detailDataFieldName] , rules:[...this.pageOptions.formOptions.items,...rules] }); //建议固定格式化写法
|
||||
|
||||
this.pageOptions.formOptions.data = a.data[detailDataFieldName];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
<template>
|
||||
|
||||
|
||||
<basic-page-list :desc="desc" :options="pageOptions">
|
||||
<template v-slot:column1="{ row }">
|
||||
<a-button class="in" type="primary" @click="stockIn(row.id)">入库</a-button>
|
||||
|
|
@ -45,6 +47,8 @@ export default {
|
|||
keyName: 'id', // 主键字段名
|
||||
listFieldName: 'MesStock',
|
||||
|
||||
disabledDelete:true,
|
||||
|
||||
addPageUrl: "/MesStock/MesStockAdd",
|
||||
editPageUrl: "/MesStock/MesStockUpdate/",
|
||||
|
||||
|
|
@ -108,12 +112,8 @@ export default {
|
|||
columns: [
|
||||
{ type: 'checkbox', width: '40' }, // 多选框
|
||||
{ type: 'seq', width: '40' }, // 序号
|
||||
|
||||
|
||||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
{ title: '操作', slots: { default: 'op' }, width: 120 },
|
||||
// { field: 'code', sortable: true, title: '库存编码', width: 100 }, // 编码
|
||||
|
||||
|
||||
{ field: 'product_detail.mes_materials_sort.name', sortable: true, title: '料品分类', width: 100 }, // 产品详情
|
||||
{ field: 'product_detail.name', sortable: true, title: '料品名称', width: 250 }, // 产品详情
|
||||
{ field: 'product_detail.code', sortable: true, title: '料品编码', width: 120 }, // 产品详情
|
||||
|
|
@ -125,8 +125,7 @@ export default {
|
|||
{ field: 'update_time', formatter: 'formatDate', width: 100, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
||||
|
||||
{ field: 'id' ,slots:{default:'column1'}, sortable: true, title: '出入库操作', width: 160,fixed:"right" }, // 出入库操作
|
||||
|
||||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,325 @@
|
|||
<template>
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||
</vxe-form>
|
||||
|
||||
<div class="footerbar">
|
||||
<a-button type="primary" @click="ok">确定</a-button>
|
||||
<a-button @click="cancel">取消</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/mes/api.js';
|
||||
|
||||
export default {
|
||||
|
||||
components: {},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
},
|
||||
dataId: {
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
//let _this = this;
|
||||
// 页面数据变量
|
||||
var pageData = {
|
||||
// 当前项目名称
|
||||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
uploadDefaultImg: null,
|
||||
detailDataFieldName: "product_stock_log",
|
||||
|
||||
actions: {
|
||||
get: `${BASE_URL.BASE_URL}/MesStock/v1/mes/stock/detail`,
|
||||
save: `${BASE_URL.BASE_URL}/MesStock/v1/product/stock/in`
|
||||
},
|
||||
|
||||
keyName: 'id',
|
||||
// 是否编辑模式
|
||||
isEdit: false,
|
||||
// 表单数据
|
||||
formOptions: {
|
||||
data: {
|
||||
material_id: 0,
|
||||
warehouse_id: 0,
|
||||
version: '',
|
||||
is_default: 0
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 100,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
// 表单校验规则
|
||||
rules: {
|
||||
|
||||
in_stock: [
|
||||
{ required: true, message: '请输入入库数量' }
|
||||
]
|
||||
|
||||
},
|
||||
// 表单项
|
||||
items: [
|
||||
|
||||
|
||||
{ field: 'in_stock', dataRule: { type: 'number' }, title: '入库数量', span: 12, itemRender: { name: '$input' , props: { type: "number" }} },
|
||||
{ field: 'in_time', dataRule: { type: 'timestamp' }, title: '入库时间', span: 12, itemRender: { name: '$input' , props: { type: "date" }} },
|
||||
|
||||
{
|
||||
title: '业务员', span: 12,
|
||||
field: 'salesman_name',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "salesman_uid"
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'MesStaff',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`,
|
||||
onDataChanged: ({ data }) => {
|
||||
console.log(data)
|
||||
this.pageOptions.formOptions.data.warehouse_mobile = data.phone;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
{ field: 'check_time', dataRule: { type: 'timestamp' }, title: '验货时间', span: 12, itemRender: { name: '$input', props: { type: "date" } } },
|
||||
|
||||
{ field: 'delivery_no', title: '发货单号', span: 12, itemRender: { name: '$input' } },
|
||||
|
||||
{ field: 'contact', title: '联系人', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'phone', title: '联系电话', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'remark', title: '备注', span: 12, itemRender: { name: '$input' } },
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
addModeItems: [
|
||||
|
||||
],
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
// 合并表单数据及配置
|
||||
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||
|
||||
return pageData;
|
||||
},
|
||||
|
||||
computed: {
|
||||
desc() {
|
||||
return this.$t('editPageDesc')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
created() {
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
|
||||
// 如果有id参数,说明是编辑模式
|
||||
if (dataId) {
|
||||
this.$mk.post({
|
||||
url: this.actions.get,
|
||||
loading: "加载中...",
|
||||
data: { id: this.$mk.toBigInt(dataId) },
|
||||
useBigInt: true
|
||||
}).then(a => {
|
||||
|
||||
|
||||
console.log(a) //库存的详情,根据需求显示到页面
|
||||
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
||||
this.isEdit = true;
|
||||
|
||||
|
||||
} else {
|
||||
// 如果没有id参数,说明是新增模式
|
||||
this.addModeItems.forEach(item => {
|
||||
this.formOptions.items.push(item);
|
||||
})
|
||||
|
||||
this.detailsDataInit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
getDataId() {
|
||||
let dataId = this.dataId;
|
||||
if (this.$route.params.id) {
|
||||
dataId = this.$route.params.id;
|
||||
}
|
||||
if (!dataId) {
|
||||
dataId = 0;
|
||||
}
|
||||
return dataId;
|
||||
},
|
||||
getDataId_BigInt() {
|
||||
let dataId = this.getDataId();
|
||||
return this.$mk.toBigInt(dataId);
|
||||
},
|
||||
|
||||
|
||||
// 返回
|
||||
back() {
|
||||
|
||||
this.$closePage({
|
||||
closeRoute: "/MesStock/MesStockIn"
|
||||
});
|
||||
// 打开列表页面
|
||||
this.$openPage('/MesStock/MesStockList')
|
||||
},
|
||||
|
||||
|
||||
|
||||
// 保存
|
||||
ok() {
|
||||
|
||||
|
||||
|
||||
|
||||
let save = () => {
|
||||
|
||||
|
||||
let postdata = Object.assign({}, this.formOptions.data);
|
||||
|
||||
// 格式化提交的数据
|
||||
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||
|
||||
|
||||
postdata.stock_pos_id = this.getDataId_BigInt();
|
||||
|
||||
|
||||
|
||||
// 提交数据
|
||||
this.$mk.post({
|
||||
url: this.actions.save,
|
||||
loading: "保存中...",
|
||||
data: postdata,
|
||||
useBigInt: true,
|
||||
}).then((a) => { // 成功回调
|
||||
if (a.code == "200") {
|
||||
|
||||
this.$mk.success("保存成功");
|
||||
|
||||
setTimeout(() => {
|
||||
this.back();
|
||||
}, 500);
|
||||
|
||||
} else {
|
||||
this.$mk.error(a.msg || a.message);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 验证表单
|
||||
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||
|
||||
save(); // 提交保存
|
||||
|
||||
}).catch(count => { // 验证失败
|
||||
this.$mk.error(`存在${count}项错误,请检查`);
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
// 取消 返回
|
||||
cancel() {
|
||||
this.back();
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
// 监听属性
|
||||
watch: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.page-body {
|
||||
padding: 30px;
|
||||
background: @base-bg-color;
|
||||
}
|
||||
|
||||
.formtabs .ant-tabs-tabpane {
|
||||
/* background: white; */
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.gridPanel {
|
||||
height: calc(100vh - 600px);
|
||||
}
|
||||
|
||||
.footerbar {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.imagePanel {
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
width: 100px;
|
||||
|
||||
img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.oplinks2 svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.oplinks2 i {
|
||||
margin-left: 5px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,325 @@
|
|||
<template>
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||
</vxe-form>
|
||||
|
||||
<div class="footerbar">
|
||||
<a-button type="primary" @click="ok">确定</a-button>
|
||||
<a-button @click="cancel">取消</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/mes/api.js';
|
||||
|
||||
export default {
|
||||
|
||||
components: {},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
},
|
||||
dataId: {
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
//let _this = this;
|
||||
// 页面数据变量
|
||||
var pageData = {
|
||||
// 当前项目名称
|
||||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
uploadDefaultImg: null,
|
||||
detailDataFieldName: "product_stock_log",
|
||||
|
||||
actions: {
|
||||
get: `${BASE_URL.BASE_URL}/MesStock/v1/mes/stock/detail`,
|
||||
save: `${BASE_URL.BASE_URL}/MesStock/v1/product/stock/out`
|
||||
},
|
||||
|
||||
keyName: 'id',
|
||||
// 是否编辑模式
|
||||
isEdit: false,
|
||||
// 表单数据
|
||||
formOptions: {
|
||||
data: {
|
||||
material_id: 0,
|
||||
warehouse_id: 0,
|
||||
version: '',
|
||||
is_default: 0
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 100,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
// 表单校验规则
|
||||
rules: {
|
||||
|
||||
out_stock: [
|
||||
{ required: true, message: '请输入出库数量' }
|
||||
]
|
||||
|
||||
},
|
||||
// 表单项
|
||||
items: [
|
||||
|
||||
|
||||
{ field: 'out_stock', dataRule: { type: 'number' }, title: '出库数量', span: 12, itemRender: { name: '$input' , props: { type: "number" }} },
|
||||
{ field: 'out_time', dataRule: { type: 'timestamp' }, title: '出库时间', span: 12, itemRender: { name: '$input' , props: { type: "date" }} },
|
||||
|
||||
{
|
||||
title: '业务员', span: 12,
|
||||
field: 'salesman_name',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "salesman_uid"
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'MesStaff',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`,
|
||||
onDataChanged: ({ data }) => {
|
||||
console.log(data)
|
||||
this.pageOptions.formOptions.data.warehouse_mobile = data.phone;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
{ field: 'check_time', dataRule: { type: 'timestamp' }, title: '验货时间', span: 12, itemRender: { name: '$input', props: { type: "date" } } },
|
||||
|
||||
{ field: 'delivery_no', title: '发货单号', span: 12, itemRender: { name: '$input' } },
|
||||
|
||||
{ field: 'contact', title: '联系人', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'phone', title: '联系电话', span: 12, itemRender: { name: '$input' } },
|
||||
{ field: 'remark', title: '备注', span: 12, itemRender: { name: '$input' } },
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
addModeItems: [
|
||||
|
||||
],
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
// 合并表单数据及配置
|
||||
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||
|
||||
return pageData;
|
||||
},
|
||||
|
||||
computed: {
|
||||
desc() {
|
||||
return this.$t('editPageDesc')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
created() {
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
|
||||
// 如果有id参数,说明是编辑模式
|
||||
if (dataId) {
|
||||
this.$mk.post({
|
||||
url: this.actions.get,
|
||||
loading: "加载中...",
|
||||
data: { id: this.$mk.toBigInt(dataId) },
|
||||
useBigInt: true
|
||||
}).then(a => {
|
||||
|
||||
|
||||
console.log(a) //库存的详情,根据需求显示到页面
|
||||
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
||||
this.isEdit = true;
|
||||
|
||||
|
||||
} else {
|
||||
// 如果没有id参数,说明是新增模式
|
||||
this.addModeItems.forEach(item => {
|
||||
this.formOptions.items.push(item);
|
||||
})
|
||||
|
||||
this.detailsDataInit();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
getDataId() {
|
||||
let dataId = this.dataId;
|
||||
if (this.$route.params.id) {
|
||||
dataId = this.$route.params.id;
|
||||
}
|
||||
if (!dataId) {
|
||||
dataId = 0;
|
||||
}
|
||||
return dataId;
|
||||
},
|
||||
getDataId_BigInt() {
|
||||
let dataId = this.getDataId();
|
||||
return this.$mk.toBigInt(dataId);
|
||||
},
|
||||
|
||||
|
||||
// 返回
|
||||
back() {
|
||||
|
||||
this.$closePage({
|
||||
closeRoute: "/MesStock/MesStockOut"
|
||||
});
|
||||
// 打开列表页面
|
||||
this.$openPage('/MesStock/MesStockList')
|
||||
},
|
||||
|
||||
|
||||
|
||||
// 保存
|
||||
ok() {
|
||||
|
||||
|
||||
|
||||
|
||||
let save = () => {
|
||||
|
||||
|
||||
let postdata = Object.assign({}, this.formOptions.data);
|
||||
|
||||
// 格式化提交的数据
|
||||
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||
|
||||
|
||||
postdata.stock_pos_id = this.getDataId_BigInt();
|
||||
|
||||
|
||||
|
||||
// 提交数据
|
||||
this.$mk.post({
|
||||
url: this.actions.save,
|
||||
loading: "保存中...",
|
||||
data: postdata,
|
||||
useBigInt: true,
|
||||
}).then((a) => { // 成功回调
|
||||
if (a.code == "200") {
|
||||
|
||||
this.$mk.success("保存成功");
|
||||
|
||||
setTimeout(() => {
|
||||
this.back();
|
||||
}, 500);
|
||||
|
||||
} else {
|
||||
this.$mk.error(a.msg || a.message);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 验证表单
|
||||
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||
|
||||
save(); // 提交保存
|
||||
|
||||
}).catch(count => { // 验证失败
|
||||
this.$mk.error(`存在${count}项错误,请检查`);
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
// 取消 返回
|
||||
cancel() {
|
||||
this.back();
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
// 监听属性
|
||||
watch: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.page-body {
|
||||
padding: 30px;
|
||||
background: @base-bg-color;
|
||||
}
|
||||
|
||||
.formtabs .ant-tabs-tabpane {
|
||||
/* background: white; */
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.gridPanel {
|
||||
height: calc(100vh - 600px);
|
||||
}
|
||||
|
||||
.footerbar {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.imagePanel {
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
width: 100px;
|
||||
|
||||
img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
.oplinks2 svg {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
.oplinks2 i {
|
||||
margin-left: 5px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -159,7 +159,7 @@ routerMap[FunName + 'Out']= {
|
|||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
path: `/${FunName}/${FunName}Out/:id`,
|
||||
component: () => import(`@/pages/Middle/Mes/MesStock/MesStock/OutIn/LogEdit`),
|
||||
component: () => import(`@/pages/Middle/Mes/MesStock/MesStock/OutIn/OutEdit`),
|
||||
meta:{
|
||||
invisible: true,
|
||||
page:{ cacheAble:false}
|
||||
|
|
@ -172,7 +172,7 @@ routerMap[FunName + 'In']= {
|
|||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
path: `/${FunName}/${FunName}In/:id`,
|
||||
component: () => import(`@/pages/Middle/Mes/MesStock/MesStock/OutIn/LogEdit`),
|
||||
component: () => import(`@/pages/Middle/Mes/MesStock/MesStock/OutIn/InEdit`),
|
||||
meta:{
|
||||
invisible: true,
|
||||
page:{ cacheAble:false}
|
||||
|
|
|
|||
Loading…
Reference in New Issue