CTP 2 years ago
commit 2f2e80babe

@ -6,11 +6,19 @@ ENV = 'production'
# VUE_APP_BASE_API = 'http://116.204.71.86:9150/UDI_WMS_MC/'
#林纪裕
VUE_APP_BASE_API = 'http://101.43.77.55:9150/UDI_WMS_MC/'
#林纪裕cd
# VUE_APP_BASE_API = 'http://101.43.77.55:9150/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://116.204.106.103:9150/UDI_WMS_MC/'
VUE_APP_BASE_API = 'http://r.jiyuudims.cloud:5004/UDI_WMS_MC/'
# VUE_APP_BASE_API = 'http://192.168.0.66:9160/UDI_WMS_MC/'
# 测试服务器
# VUE_APP_BASE_API = 'http://192.168.0.66:9150/UDI_WMS_MC/'
# 吴总测试服务器
# VUE_APP_BASE_API = 'http://116.204.106.103:9150/UDI_WMS_MC/'
# 应用访问路径 例如使用前缀 /admin/
VUE_APP_CONTEXT_PATH = '/UDI_WMS_NEW/'

@ -35,3 +35,10 @@ export function getAcceptStatus(query) {
});
}
export function reviewSpms(query) {
return axios({
url: "/udiwms/order/reviewSpms",
method: "post",
data: query
});
}

@ -506,3 +506,6 @@ export function orderChange(query) {
}

@ -44,6 +44,7 @@ export function filterYearList(params) {
return axios({
url: "/udiwms/inv/excelExportOut",
method: "get",
responseType: 'blob',
params: params
});
}

@ -0,0 +1,507 @@
<template>
<div>
<el-card style="margin-top: -20px">
<el-form :model="formData" ref="dataForm" label-width="100px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px">
<el-button
type="primary"
@click.native="checkFinish()"
>完成审核
</el-button
>
<el-button
type="primary"
@click.native="renewAccept()"
>重新审核
</el-button
>
</el-button-group>
<el-row>
<el-col :span="18">
<el-form-item prop="fromCorp" label="单据编号:">
<el-input v-model="formData.billNo" auto-complete="off"
@keypress.enter.native="orderEnterKey($event)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-button-group style="margin-left: 15px">
<el-button
type="primary"
@click.native="searchOrder()"
>查询
</el-button
>
<el-button
type="primary"
@click.native="refreshOrder()"
>重置
</el-button
>
</el-button-group>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item prop="fromCorp" label="单据时间:">
<el-input v-model="formData.createTime" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="fromCorp" label="单据类型:">
<el-input v-model="formData.billTypeName" auto-complete="off"
disabled
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="11">
<el-form-item prop="fromCorp" label="收货仓库:">
<el-input v-model="formData.invName" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
<el-col :span="11">
<el-form-item prop="fromCorp" label="送货单位:">
<el-input v-model="formData.fromCorpName" auto-complete="off"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item prop="code" label="扫码校验:">
<el-input
id="inputer"
placeholder="请输入UDI码"
@focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)"
ref='inputRef'
style="ime-mode:disabled"
type="tel"
v-model="udiCode"
></el-input>
</el-form-item>
</el-col>
<el-col :span="2">
<el-button
type="primary"
size="small"
@click.native.stop="addCode()"
style="height: 31px; margin-left: 20px"
>添加
</el-button
>
</el-col>
</el-row>
</el-form>
</el-card>
<el-card>
<el-table v-loading="detailLoading"
:data="detailList"
border
:row-style="rowStyle"
:cell-style="{padding:6+'px'}"
style="width: 100%">
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="物资名称" width="160" prop="coName"></el-table-column>
<el-table-column label="规格型号" width="160" prop="spec"></el-table-column>
<el-table-column label="批次号" width="100" prop="batchNo"></el-table-column>
<el-table-column label="单据数量" width="100" prop="count"></el-table-column>
<el-table-column label="审核数量" width="100" prop="acceptCount"></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="price"></el-table-column>
<el-table-column width="100" label="计量单位" prop="measname">
</el-table-column>
<el-table-column label="注册/备案号" width="150" prop="certCode"></el-table-column>
<el-table-column label="销售清单号(第二票)" width="180" prop="secSalesListNo">
</el-table-column>
<el-table-column label="销售发票号(第一票)" width="180" prop="firstSalesInvNo">
</el-table-column>
<el-table-column label="销售发票号(第二票)" width="180" prop="secSalesInvNo">
</el-table-column>
<el-table-column label="发票日期" width="150" prop="invoiceDate">
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import A from "../../plugins/KeyScaner"
import {updateStatus, enterCodeWeb, thirdUpdateStatus} from "@/api/inout/order";
import {getAcceptOrder, acceptClear, acceptAddCode, getAcceptStatus, reviewSpms} from "@/api/inout/acceptOrder";
export default {
name: "acceptOrder",
props: {
closeDialog: {
type: Function,
required: true,
},
orderQuery: {
type: Object,
required: true,
},
reviewType: {
type: Object,
required: true,
}
},
data() {
return {
formData: {},
loading: false,
detailLoading: false,
udiCode: null,
sictomText: "",
originCode: "",
checkSuccess: false,
detailList: [],
query: {
code: "",
corpOrderId: "",
page: 1,
limit: 10,
},
}
},
components: {},
methods: {
rowStyle({row, rowIndex}) {
let rowBackground = {};
if (row.reCount != row.acceptCount) {
rowBackground.color = '#f60303';
}
return rowBackground;
},
handleCurrentChange(val) {
this.query.page = val;
this.getCodeList();
},
enterKey(event) {
this.checkSuccess = true;
let tQuery = {
originCode: this.originCode,
code: this.udiCode.trim(),
}
enterCodeWeb(tQuery).then((response) => {
if (response.code === 20000) {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
this.udiCode = response.data;
this.addCode();
} else {
if (response.code == 502) {
this.checkSuccess = false;
this.udiCode = response.data;
this.originCode = this.udiCode;
} else if (response.code == 501) {
this.checkSuccess = false;
this.$message.error(response.message);
} else if (response.code == 503) {
this.checkSuccess = false;
this.udiCode = response.data;
this.$confirm(response.message, "提示", {
type: "warning",
})
.then(() => {
this.udiCode = response.data;
this.addCode();
})
.catch(() => {
this.udiCode = this.originCode;
});
} else if (response.code == 508) {
this.originCode = "";
this.udiCode = "01" + response.data.nameCode;
this.originCode = this.udiCode;
} else {
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: 'warning',
closeOnClickModal: true,
callback: action => {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
}
});
}
}
this.loading = false;
});
},
searchOrder() {
let query = {
billNo: this.formData.billNo
};
reviewSpms(query)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
this.formData = response.data.orderEntity;
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
},
orderEnterKey() {
this.searchOrder();
},
refreshOrder() {
this.formData = {};
this.detailList = [];
},
addCode() {
if (this.$isBlank(this.udiCode)) {
this.$message.error("UDI码不能为空");
}
let postQuery = {
billNo: this.orderQuery.billNo,
orderDetailEntities: this.detailList,
code: this.udiCode,
}
acceptAddCode(postQuery)
.then((response) => {
if (response.code == 20000) {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
if (response.data.finishAccept) {
this.$confirm("审核结果正确,是否立即完成审核?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.postAccept();
})
.catch(() => {
});
} else {
this.$message.success("匹配成功!");
}
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.detailLoading = false;
});
},
getInputFocus(event) {
event.currentTarget.select();
},
checkFinish() {
let query = {
orderId: this.orderQuery.billNo,
};
getAcceptStatus(query)
.then((response) => {
if (response.code == 20000) {
let tip = "审核结果正确,是否立即完成审核?";
this.finishAccept(tip);
} else {
let tip = "审核未完成,是否强制完成审核此单据?";
this.finishAccept(tip);
}
})
.catch(() => {
});
},
finishAccept(tip) {
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.postAccept();
}).catch(() => {
// this.$message.info('退');
});
},
postAccept() {
let query = {
orderId: this.orderQuery.billNo,
};
if (this.reviewType != null && this.reviewType == 2) {
thirdUpdateStatus(query)
.then((response) => {
if (response.code == 20000) {
this.$message.success("核对成功!");
this.closeDialog();
this.$emit('childByValue', 1)
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
} else {
updateStatus(query)
.then((response) => {
if (response.code == 20000) {
this.$message.success("审核成功!");
this.closeDialog();
this.$emit('childByValue', 1)
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
}
},
renewAccept() {
let query = {
billNo: this.orderQuery.billNo,
}
acceptClear(query)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
this.formData = response.data.orderEntity;
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
},
getOrderDetail() {
this.detailLoading = true;
let query = {
billNo: this.orderQuery.billNo,
}
getAcceptOrder(query)
.then((response) => {
this.detailLoading = false;
this.detailList = response.data.orderDetailEntities || [];
if (response.data.exitAccept) {
this.$confirm("检测到上一次验收操作未完成, 是否继续上一次验收?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
})
.catch(() => {
this.renewAccept();
});
}
})
.catch(() => {
this.detailLoading = false;
this.detailList = [];
});
}
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
var that = this;
var inputer = document.getElementById("inputer");
window.sc = new A.KeyScaner(inputer);//DOM
sc.onInput = function (text) {
if (text.includes("delete")) {
that.vailQuery.code = "";
return;
}
if (that.sitcomScan) {
let tempTxt = text;
let str = tempTxt.replace(/[\r]/g, "");
that.sictomText = that.sictomText + str;
that.vailQuery.code = that.sictomText;
} else {
that.vailQuery.code = text;
}
};
inputer.focus();
},
created() {
// this.formData = this.orderQuery;
// this.getOrderDetail()
},
}
</script>
<style scoped>
#inputer {
width: 100%;
min-height: 30px;
background-color: white;
border: #d0d0d0;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
#inputer:focus {
width: 100%;
min-height: 30px;
background-color: white;
border: #0080FF;
border-style: solid;
border-width: 0.1px;
color: #4a4a4a;
}
</style>

@ -51,7 +51,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item class="query-form-item" label="创建时间:">
@ -84,6 +83,10 @@
>查询
</el-button
>
<el-button type="primary" icon="el-icon-search" @click="newReview"
>新增单据审核
</el-button
>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
@ -421,7 +424,7 @@
</el-tabs>
<el-dialog
title="单据验收"
title="单据审核"
:visible.sync="acceptOrderVisible"
width="80%"
:close-on-click-modal="false"
@ -435,6 +438,20 @@
></accept-order>
</el-dialog>
<el-dialog
title="新增单据审核"
:visible.sync="newAcceptOrderVisible"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="newAcceptOrderVisible"
>
<NewAcceptOrder
:closeDialog="closeAcceptDialog"
v-on:childByValue="parentByFn"
></NewAcceptOrder>
</el-dialog>
</div>
</template>
@ -451,6 +468,7 @@ import {getBizDetailList} from "@/api/inout/orderDetailBiz";
import {getCodeDetailList} from "@/api/inout/orderDetailCode";
import {getCodeList} from "@/api/inout/code";
import AcceptOrder from "@/views/inout/DialogReviewOrder";
import NewAcceptOrder from "@/views/inout/DialogNewReviewOrder";
import {inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile} from "@/api/itextpdf/orderPrint"
@ -585,9 +603,10 @@ export default {
resultDetailList: [],
acceptQuery: null,
acceptOrderVisible: false,
newAcceptOrderVisible: false,
};
},
components: {AcceptOrder},
components: {AcceptOrder, NewAcceptOrder},
methods: {
onReset() {
this.$router.push({
@ -907,6 +926,11 @@ export default {
this.acceptOrderVisible = true;
},
newReview() {
this.newAcceptOrderVisible = true;
},
parentByFn: function (childValue) {
this.getList();
},

@ -158,6 +158,7 @@
<script>
import {getStatOrderList, filterDayList, excelImport} from "@/api/inout/statData";
import {isBlank} from "@/utils/strUtil";
const formJson = {
site_id: "",
@ -283,8 +284,16 @@ export default {
},
excel(){
let params={billNo:this.currentRow.recordKey};
if(isBlank(this.currentRow.recordKey)){
return this.$message.error("请选择要导出的数据!");
}
let params={billNo:this.currentRow.recordKey,key:"day"};
excelImport(params ).then( res =>{
let blob = new Blob([res],{type: "application/vnd.ms-excel"});
let url = window.URL.createObjectURL(blob); // urlblob
let a = document.createElement("a");
a.href = url;
a.click();
this.$message("成功")
})

@ -100,6 +100,10 @@
icon="el-icon-search"
>查询
</el-button>
<el-button type="primary" @click="excel"
icon="el-icon-upload2"
>导出
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -149,7 +153,8 @@
</template>
<script>
import {getStatOrderList, filterMonthList} from "@/api/inout/statData";
import {getStatOrderList, filterMonthList, excelImport} from "@/api/inout/statData";
import {isBlank} from "@/utils/strUtil";
const formJson = {
site_id: "",
@ -256,6 +261,23 @@ export default {
this.filterQuery.page = 1;
this.getList();
},
excel(){
debugger
if(isBlank(this.currentRow.recordKey)){
return this.$message.error("请选择要导出的数据!");
}
let params={billNo:this.currentRow.recordKey,key:"month"};
excelImport(params ).then( res =>{
let blob = new Blob([res],{type: "application/vnd.ms-excel"});
let url = window.URL.createObjectURL(blob); // urlblob
let a = document.createElement("a");
a.href = url;
a.click();
this.$message("成功")
})
},
hideSearch() {
this.showSearch = !this.showSearch;
},

@ -100,6 +100,10 @@
icon="el-icon-search"
>查询
</el-button>
<el-button type="primary" @click="excel"
icon="el-icon-upload2"
>导出
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -149,7 +153,8 @@
</template>
<script>
import {getStatOrderList, filterQuarterList} from "@/api/inout/statData";
import {getStatOrderList, filterQuarterList, excelImport} from "@/api/inout/statData";
import {isBlank} from "@/utils/strUtil";
const formJson = {
site_id: "",
@ -277,6 +282,21 @@ export default {
this.detailList = [];
this.detailTotal = 0;
},
excel(){
if(isBlank(this.currentRow.recordKey)){
return this.$message.error("请选择要导出的数据!");
}
let params={billNo:this.currentRow.recordKey,key:"quarter"};
excelImport(params ).then( res =>{
let blob = new Blob([res],{type: "application/vnd.ms-excel"});
let url = window.URL.createObjectURL(blob); // urlblob
let a = document.createElement("a");
a.href = url;
a.click();
this.$message("成功")
})
},
//
getList() {
this.loading = true;

@ -100,6 +100,10 @@
icon="el-icon-search"
>查询
</el-button>
<el-button type="primary" @click="excel"
icon="el-icon-upload2"
>导出
</el-button>
</el-button-group>
</el-form-item>
</el-form>
@ -149,7 +153,8 @@
</template>
<script>
import {getStatOrderList, filterYearList} from "@/api/inout/statData";
import {getStatOrderList, filterYearList, excelImport} from "@/api/inout/statData";
import {isBlank} from "@/utils/strUtil";
const formJson = {
site_id: "",
@ -256,6 +261,21 @@ export default {
this.filterQuery.page = 1;
this.getList();
},
excel(){
if(isBlank(this.currentRow.recordKey)){
return this.$message.error("请选择要导出的数据!");
}
let params={billNo:this.currentRow.recordKey,key:"year"};
excelImport(params ).then( res =>{
let blob = new Blob([res],{type: "application/vnd.ms-excel"});
let url = window.URL.createObjectURL(blob); // urlblob
let a = document.createElement("a");
a.href = url;
a.click();
this.$message("成功")
})
},
hideSearch() {
this.showSearch = !this.showSearch;
},

@ -63,10 +63,7 @@
<el-col :span="10">
<el-form-item class="query-form-item" label="是否开启产品过期预警">
<el-select v-model="setData.expireDate">
<el-option :value="true" label="开启"></el-option>
<el-option :value="false" label="关闭"></el-option>
</el-select>
1
</el-form-item>
</el-col>
</el-row>

Loading…
Cancel
Save