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

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

@ -246,3 +246,12 @@ export function updateStockOrderDetail(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 stockOrderSearch from "../views/warehouse/stockOrderSearch";
//往来单位字典
import UnitManage from "@/views/product/UnitManage";
@ -384,6 +385,14 @@ export const asyncRouterMap = [
}
},
{
path: "stockOrderSearch",
component: stockOrderSearch,
name: "未验收单据",
meta: {
authRule: ["stock/stockOrderSearch"]
}
},
{
path: "stockOrderDelSearch",
component: stockOrderDelSearch,

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

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

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

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

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

Loading…
Cancel
Save