<template>
|
<win-md :title="setting.title" @close="close" :width="'1200px'">
|
<el-form v-loading="loading" class="form" ref="ruleForm" :model="formData" :rules="rules">
|
<el-row :gutter="20" style="margin-bottom: 20px" type="flex" align="middle">
|
<el-col :span="6">盘点单号:{{ formData.businessFormCode }}</el-col>
|
<el-col :span="6">盘点任务:{{ formData.businessFormName }}</el-col>
|
<el-col :span="6">盘点仓库:{{ formData.warehouseName }}</el-col>
|
<el-col :span="3" :offset="3">
|
<my-button name="导出盘点单" site="form" size="medium" type="primary" />
|
</el-col>
|
</el-row>
|
<el-table
|
:data="formData.formInventoryGoodsList"
|
:rules="rules"
|
height="500"
|
:stripe="true"
|
class="the-table"
|
>
|
<el-table-column prop="goodsTemplateName" label="物品名称"> </el-table-column>
|
<el-table-column prop="baseGoodsModelsName" label="型号" align="center"> </el-table-column>
|
<el-table-column prop="baseGoodsModelsId" label="型号id" v-show="false" align="center"> </el-table-column>
|
<el-table-column prop="type" label="类别"> </el-table-column>
|
<el-table-column prop="unit" label="单位" align="center"> </el-table-column>
|
<el-table-column prop="inventoryCount" label="应有库存" align="center"> </el-table-column>
|
<el-table-column prop="realNum" label="实盘数量" align="center">
|
<template slot-scope="scope">
|
<el-form-item
|
style="margin-bottom: 0"
|
label-width="0"
|
:prop="`formInventoryGoodsList[${scope.$index}].realNum`"
|
:rules="rules.realNum"
|
>
|
<el-input v-model.number="scope.row.realNum" maxlength="8"></el-input>
|
</el-form-item>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-form>
|
|
<div slot="footer" align="center" class="dialog-footer">
|
<my-button name="暂存" site="form" type="primary" @click="staging" />
|
<my-button name="完成盘点" site="form" type="success" @click="save" />
|
</div>
|
</win-md>
|
</template>
|
|
<script>
|
import winMd from '@/components/win/win-md';
|
import myButton from '@/components/myButton/myButton';
|
import {inventoryDetail, inventoryFinish, inventoryQuery, inventoryTemporaryStorage} from '@/api/stock/inventory';
|
|
export default {
|
components: { winMd, myButton },
|
props: {
|
setting: {
|
type: Object,
|
default: () => {},
|
},
|
},
|
data() {
|
return {
|
loading: true,
|
btnLoading: false,
|
formData: {
|
businessFormCode: '',
|
businessFormName: '',
|
warehouseName: '',
|
formInventoryGoodsList: [],
|
},
|
rules: {
|
realNum: [
|
{ required: true, message: '请输入', trigger: 'blur' },
|
{ type: 'number', message: '请输入数字值' },
|
],
|
},
|
};
|
},
|
created() {
|
const info = JSON.parse(this.setting.info);
|
if (info.states == 1) {
|
// 继续盘点
|
inventoryDetail({ id: this.setting.id }).then((res) => {
|
this.loading = false
|
this.formData = res;
|
this.formData.id = this.setting.id;
|
}).catch(()=>{
|
this.loading = false
|
});
|
} else {
|
inventoryQuery({ id: this.setting.id }).then((res) => {
|
this.loading = false
|
this.formData = res;
|
this.formData.id = this.setting.id;
|
}).catch(()=>{
|
this.loading = false
|
});
|
}
|
},
|
methods: {
|
close() {
|
this.$emit('close');
|
},
|
staging() {
|
const params = {
|
id: this.formData.id,
|
inventoryGoodsList: this.formData.formInventoryGoodsList,
|
};
|
this.loading = true
|
inventoryTemporaryStorage(params).then(() => {
|
this.loading = false
|
this.$message.success('暂存成功!');
|
this.close();
|
this.$emit('search');
|
}).catch(()=>{
|
this.loading = false
|
});
|
},
|
save() {
|
this.$refs['ruleForm'].validate((valid) => {
|
if (valid) {
|
const params = {
|
...this.formData,
|
inventoryGoodsList: this.formData.formInventoryGoodsList,
|
};
|
this.loading = true
|
inventoryFinish(params).then(() => {
|
this.$message.success('暂存成功!');
|
this.close();
|
this.$emit('search');
|
}).catch(()=>{
|
this.loading = false
|
});
|
}
|
});
|
},
|
},
|
};
|
</script>
|
|
<style></style>
|