1.单据管理菜单增加未验收单据

2.修改未验收单据页面及接口
3.单据管理接口查询增加二次验收参数
4.单据类型新增、编辑页面添加是否二次验收选项
master
x_z 3 years ago
parent d819f20584
commit 169a2c9cb0

@ -246,3 +246,12 @@ export function updateStockOrderDetail(query) {
params: query params: query
}) })
} }
//完成验收状态
export function updateReceiveStatus(params) {
return axios({
url: "/spms/inout/order/check/updateStatus",
method: "post",
data: params
})
}

@ -24,6 +24,7 @@ import userAccountManage from "@/views/userManage/userAccountManage";
//单据 //单据
import stockOrderDelSearch from "../views/warehouse/stockOrderDelSearch"; import stockOrderDelSearch from "../views/warehouse/stockOrderDelSearch";
import stockOrderSearch from "../views/warehouse/stockOrderSearch";
//往来单位字典 //往来单位字典
import UnitManage from "@/views/product/UnitManage"; import UnitManage from "@/views/product/UnitManage";
@ -384,6 +385,14 @@ export const asyncRouterMap = [
} }
}, },
{
path: "stockOrderSearch",
component: stockOrderSearch,
name: "未验收单据",
meta: {
authRule: ["stock/stockOrderSearch"]
}
},
{ {
path: "stockOrderDelSearch", path: "stockOrderDelSearch",
component: stockOrderDelSearch, component: stockOrderDelSearch,

@ -121,6 +121,7 @@
<el-checkbox v-model="inputQuery.enable"></el-checkbox> <el-checkbox v-model="inputQuery.enable"></el-checkbox>
<el-checkbox v-model="inputQuery.genUnit" :disabled="inputQuery.corpType !=2"> <el-checkbox v-model="inputQuery.genUnit" :disabled="inputQuery.corpType !=2">
</el-checkbox> </el-checkbox>
<el-checkbox v-model="inputQuery.secCheckEnable"></el-checkbox>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -130,14 +131,10 @@
<script> <script>
import {
getBasicThirdSys
} from "../../api/basic/basicThirdSys";
import { import {
getLocalJoinNoUse getLocalJoinNoUse
} from "../../api/basic/busLocalType"; } from "../../api/basic/busLocalType";
import { filterAll, filterAllByUser } from "@/api/basic/invWarehouse"; import { filterAll } from "@/api/basic/invWarehouse";
import { getCandidateBussinessType } from "../../api/receipts/bussinessType"; import { getCandidateBussinessType } from "../../api/receipts/bussinessType";
export default { export default {

@ -228,6 +228,7 @@ export default {
mainAction: null, mainAction: null,
action: null, action: null,
status: 9, status: 9,
receiveStatus: 0,
page: 1, page: 1,
limit: 20 limit: 20
}, },

@ -221,6 +221,7 @@ export default {
id: "", id: "",
mainAction: null, mainAction: null,
status: 1, status: 1,
receiveStatus: 0,
action: null, action: null,
page: 1, page: 1,
limit: 20 limit: 20

@ -316,6 +316,7 @@
startTime: "", startTime: "",
endTime: "", endTime: "",
orderId: "", orderId: "",
receiveStatus: null,//
status: 3, status: 3,
page: 1, page: 1,
limit: 10 limit: 10
@ -541,6 +542,7 @@
getList() { getList() {
this.loading = true; this.loading = true;
this.query.corpId = store.getters.customerId; this.query.corpId = store.getters.customerId;
stockOrderList(this.query) stockOrderList(this.query)
.then(response => { .then(response => {
this.loading = false; this.loading = false;

@ -12,15 +12,6 @@
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-input v-model="query.billNo" placeholder="单据号"></el-input> <el-input v-model="query.billNo" placeholder="单据号"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-select v-model="query.status" placeholder="单据状态">-->
<!-- <el-option label="全部" value=""></el-option>-->
<!-- <el-option label="草稿" value="1"></el-option>-->
<!-- <el-option label="未配货" value="2"></el-option>-->
<!-- <el-option label="待校验" value="3"></el-option>-->
<!-- <el-option label="已校验" value="4"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-select v-model="query.billType" placeholder="请选择业务类型" clearable="true" size="mini"> <el-select v-model="query.billType" placeholder="请选择业务类型" clearable="true" size="mini">
<el-option <el-option
@ -79,22 +70,18 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="单据号" prop="billNo" show-overflow-tooltip></el-table-column> <el-table-column label="单据号" prop="orderId" show-overflow-tooltip></el-table-column>
<el-table-column label="往来单位" prop="corpName" show-overflow-tooltip></el-table-column> <el-table-column label="往来单位" prop="fromCorp" show-overflow-tooltip></el-table-column>
<el-table-column label="单据来源" prop="sourceType" width="150" show-overflow-tooltip> <el-table-column label="单据来源" prop="fromType" width="150" show-overflow-tooltip></el-table-column>
<template slot-scope="scope"> <el-table-column label="单据日期" prop="actDate" show-overflow-tooltip></el-table-column>
<span>{{ sourceMap[scope.row.sourceType] }}</span>
</template>
</el-table-column>
<el-table-column label="单据日期" prop="billdate" show-overflow-tooltip></el-table-column>
<el-table-column label="单据状态" show-overflow-tooltip> <el-table-column label="单据状态" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.status | statusFilterName }} {{ scope.row.status | statusFilterName }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="业务类型" prop="billType" show-overflow-tooltip> <el-table-column label="业务类型" prop="action" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ getActionName(scope.row.billType) }}</span> <span>{{ getActionName(scope.row.action) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="当前仓库" prop="locStorageCode" width="150"> <el-table-column label="当前仓库" prop="locStorageCode" width="150">
@ -102,33 +89,34 @@
<span>{{ getStorageName(scope.row.locStorageCode) }}</span> <span>{{ getStorageName(scope.row.locStorageCode) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="采购类型" show-overflow-tooltip>-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.type | typeFilterName }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" fixed="right" width="200"> <el-table-column label="操作" fixed="right" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- <el-button--> <el-button
<!-- type="text"--> type="text"
<!-- size="small"--> size="small"
<!-- @click.native="qrcodeDetail(scope.row)"--> @click.native.stop="intentDetail(scope.row)"
<!-- >详情--> >详情
<!-- </el-button--> </el-button
<!-- >--> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click.native="printOrder(scope.row)" @click.native="printOrder(scope.row)"
>打印
>单据打印
</el-button </el-button
> >
<el-button <el-button
type="text" type="text"
size="small" size="small"
@click.native="handleDetailForm(scope.$index, scope.row)" @click.native="handleDetailForm(scope.$index, scope.row)"
>编辑 >发票
</el-button
>
<el-button
type="text"
size="small"
@click.native="updateReceiveStatus(scope.$index, scope.row)"
>完成验收
</el-button </el-button
> >
</template> </template>
@ -145,12 +133,6 @@
</el-card> </el-card>
<el-card class="el-card"> <el-card class="el-card">
<!-- <el-row style="margin-bottom: 20px;">-->
<!-- <el-button type="primary" @click="batchSetParams(null,'salesListNo')"></el-button>-->
<!-- <el-button type="primary" @click="batchSetParams(null, 'firstSalesInvNo')">批量设置销售发票第一票</el-button>-->
<!-- <el-button type="primary" @click="batchSetParams(null, 'secSalesInvNo')">批量设置销售发票第二票</el-button>-->
<!-- </el-row>-->
<el-table v-loading="detailLoading" <el-table v-loading="detailLoading"
:data="detailList" :data="detailList"
@selection-change="changeFun" @selection-change="changeFun"
@ -162,15 +144,20 @@
</el-table-column> </el-table-column>
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="产品通用名" width="200" prop="productName"></el-table-column> <el-table-column label="产品通用名" width="200" prop="coName"></el-table-column>
<el-table-column label="包装规格" width="200" prop="spec"></el-table-column> <el-table-column label="规格型号" width="200" prop="packSpec"></el-table-column>
<el-table-column label="批次号" width="100" prop="batchNo"></el-table-column> <el-table-column label="批次号" width="100" prop="lotno"></el-table-column>
<el-table-column label="生产日期" width="120" prop="produceDate"></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate"></el-table-column>
<el-table-column label="失效日期" width="120" prop="expireDate"></el-table-column> <el-table-column label="失效日期" width="120" prop="expireDate"></el-table-column>
<el-table-column label="单据数量" width="100" prop="count"></el-table-column> <el-table-column label="数量" width="100" prop="count"></el-table-column>
<el-table-column label="实际数量" width="100" prop="reCount"></el-table-column> <el-table-column label="单价" width="120" prop="price">
<el-table-column label="价格" width="120" prop="price"></el-table-column> <template slot-scope="scope">
<el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.price"
placeholder="请输入"></el-input>
</template>
</el-table-column>
<el-table-column label="注册/备案凭证号" width="150" prop="authCode"></el-table-column>
<el-table-column label="生产厂家" width="150" prop="productCompany"></el-table-column>
<el-table-column label="销售清单号(第二票)" width="180" prop="secSalesListNo"> <el-table-column label="销售清单号(第二票)" width="180" prop="secSalesListNo">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.secSalesListNo" <el-input :disabled="scope.$index !== currentCheckIndex" v-model="scope.row.secSalesListNo"
@ -427,30 +414,17 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="码详情" title="单号详情"
:visible.sync="qrcodeDetailVisible" :visible.sync="codeDetailVisible"
width="70%" width="80%"
v-if="qrcodeDetailVisible" v-if="codeDetailVisible"
@close='closeQRCodeDetailDialog'
> >
<stockOrderQRCodeDetail <codeDetail
:closeDialog="closeQRCodeDetailDialog"
:idQuery="idQuery" :idQuery="idQuery"
></stockOrderQRCodeDetail> v-on:closeDetailDialog="closeDetailDialog"
></codeDetail>
</el-dialog> </el-dialog>
<el-dialog
title="码管理"
:visible.sync="qrcodeExportVisible"
width="60%"
v-if="qrcodeExportVisible"
@close='closeQRCodeExportDialog'
>
<stockQRCodeExport
:closeDialog="closeQRCodeExportDialog"
:idQuery="idQuery"
></stockQRCodeExport>
</el-dialog>
</div> </div>
</template> </template>
@ -458,9 +432,8 @@
import { import {
stockOrderList, stockOrderDetail, stockOrderList, stockOrderDetail,
deleteStockOrderById, deleteStockOrderDetailById, deleteStockOrderById, deleteStockOrderDetailById,
copyStockOrderDetail, submitStockOrder, copyStockOrderDetail, uploadStockOrderDetail,
uploadStockOrderDetail, uploadStockOrderDetailCount, updateStockOrderDetail, updateReceiveStatus
generateStockOrderQRCodeText, updateStockOrderDetail
} from "../../api/warehouse/stockOrder"; } from "../../api/warehouse/stockOrder";
import stockOrderDistribution from "./stockOrderDistribution"; import stockOrderDistribution from "./stockOrderDistribution";
import stockOrderQRCodeDetail from "./stockOrderQRCodeDetail"; import stockOrderQRCodeDetail from "./stockOrderQRCodeDetail";
@ -469,9 +442,10 @@ import stockQRCodeExport from "./stockQRCodeExport";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "../../api/itextpdf/itextpdf"; import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "../../api/itextpdf/itextpdf";
import store from "../../store"; import store from "../../store";
import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType"; import {filterAllByUser} from "@/api/basic/invWarehouse";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse"; import {getBusTypeByUser} from "../../api/warehouse/BusRole"
import StockOrderEdit from "@/views/warehouse/stockOrderEdit"; import StockOrderEdit from "@/views/warehouse/stockOrderEdit";
import codeDetail from "./code";
export default { export default {
name: "stockOrderSearch", name: "stockOrderSearch",
@ -484,7 +458,7 @@ export default {
startTime: "", startTime: "",
endTime: "", endTime: "",
billNo: "", billNo: "",
status: 4, status: 3,
page: 1, page: 1,
limit: 10 limit: 10
}, },
@ -507,6 +481,7 @@ export default {
salesListNoFormVisible: false, salesListNoFormVisible: false,
firstSalesInvNoFormVisible: false, firstSalesInvNoFormVisible: false,
secSalesInvNoFormVisible: false, secSalesInvNoFormVisible: false,
codeDetailVisible: false,
formLabelWidth: '150px', formLabelWidth: '150px',
storageList: [], storageList: [],
total: 0, total: 0,
@ -712,6 +687,7 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
this.query.corpId = store.getters.customerId; this.query.corpId = store.getters.customerId;
this.query.receiveStatus = 0;
stockOrderList(this.query) stockOrderList(this.query)
.then(response => { .then(response => {
this.loading = false; this.loading = false;
@ -752,14 +728,14 @@ export default {
printOrder(row) { printOrder(row) {
let tQuery = { let tQuery = {
queryId: row.id, queryId: row.id,
moduleId: 4
} };
this.loading = true; this.loading = true;
inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => { inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) { if (response.code === 20000) {
tQuery = { tQuery = {
id: row.id, orderId: row.orderId,
orderName: "送货单", moduleId: 4
} }
stockOrderPDFFromTemplateFile(tQuery).then((response) => { stockOrderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl //pdfurl
@ -800,14 +776,14 @@ export default {
}, },
getStockOrderDetailList(row) { getStockOrderDetailList(row) {
if (this.$isNotBlank(row)) { if (this.$isNotBlank(row)) {
this.detailQuery.orderIdFk = row.id; this.detailQuery.orderIdFk = row.orderId;
} }
this.detailLoading = true; this.detailLoading = true;
stockOrderDetail(this.detailQuery) stockOrderDetail(this.detailQuery)
.then((response) => { .then((response) => {
console.log(response) console.log(response)
this.detailLoading = false; this.detailLoading = false;
this.detailList = response.data.list || []; this.detailList = response.data || [];
}) })
.catch(() => { .catch(() => {
this.detailLoading = false; this.detailLoading = false;
@ -888,14 +864,7 @@ export default {
}, },
// //
handleDetailForm(index, row) { handleDetailForm(index, row) {
// this.detailFormVisible = true;
// this.detailFormData = {};
// if (row !== null) {
// this.detailFormData = Object.assign({}, row);
this.stockOrderEditVisible = true; this.stockOrderEditVisible = true;
}, },
hideDetailForm() { hideDetailForm() {
// //
@ -904,22 +873,18 @@ export default {
}, },
getActionName(action) { getActionName(action) {
for (let i = 0; i < this.busTypes.length; i++) { for (let i = 0; i < this.busTypes.length; i++) {
if (this.busTypes[i].localAction === action) { if (this.busTypes[i].action === action) {
return this.busTypes[i].localName; return this.busTypes[i].name;
} }
} }
}, },
getBusType() { getBusType() {
let query = { let query = {};
enabled: true, getBusTypeByUser(query).then((res) => {
}; this.busTypes = res.data.list || [];
getLocalJoinByUser(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.billAction = this.busTypes[0].action; this.filterQuery.billAction = this.busTypes[0].action;
// this.getList(); console.log(this.busTypes)
}) }).catch((error) => {
.catch(() => {
}); });
}, },
getStorageName(code) { getStorageName(code) {
@ -962,10 +927,28 @@ export default {
}); });
} }
}); });
},
//
updateReceiveStatus(index, row){
let params = {
orderId: row.orderId
};
updateReceiveStatus(params).then((res) => {
this.$message.success("验收成功");
this.getList();
}).error((error) => {
this.$message.error("验收失败");
console.log(error);
})
},
intentDetail(row) {
this.codeDetailVisible = true;
this.idQuery.id = row.orderId;
} }
} }
, ,
components: { components: {
codeDetail,
StockOrderEdit, StockOrderEdit,
draggable, draggable,
stockOrderDistribution, stockOrderDistribution,

Loading…
Cancel
Save