单据重复上传

busUser
anthonywj 2 years ago
parent 2780e5dbb0
commit d63cae8dac

64
package-lock.json generated

@ -11,15 +11,17 @@
"axios": "^0.23.0",
"babel-polyfill": "^6.26.0",
"element-china-area-data": "^5.0.2",
"element-ui": "^2.15.7",
"element-ui": "^2.15.13",
"file-saver": "^2.0.5",
"js-cookie": "^2.2.0",
"js-md5": "^0.7.3",
"js-sha256": "^0.9.0",
"mockjs": "^1.0.1-beta3",
"node-sass": "^6.0.1",
"nprogress": "^0.2.0",
"pinyin": "^2.10.2",
"qrcodejs2": "^0.0.2",
"vue": "2.5.16",
"vue": "2.6.12",
"vue-router": "^3.0.1",
"vue2-verify": "^1.1.5",
"vuedraggable": "^2.17.0",
@ -35,7 +37,7 @@
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.0.1",
"sass-loader": "^7.0.1",
"vue-template-compiler": "2.5.16"
"vue-template-compiler": "2.6.12"
}
},
"node_modules/@babel/code-frame": {
@ -6758,9 +6760,9 @@
}
},
"node_modules/element-ui": {
"version": "2.15.7",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.7.tgz",
"integrity": "sha512-+J6rnXajxzLwV6w8Q6bf7Yqzk1FO1ewbIrCy/4B5alnd7tj8WEpfQoAvISirVaUGVGy77d9Ji3o2bF4f0AsJLQ==",
"version": "2.15.13",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz",
"integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==",
"dependencies": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
@ -11351,6 +11353,11 @@
"node": ">=0.10.0"
}
},
"node_modules/js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"node_modules/js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
@ -11372,6 +11379,11 @@
"node": ">=1.0.0"
}
},
"node_modules/js-sha256": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz",
"integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA=="
},
"node_modules/js-tokens": {
"version": "3.0.2",
"resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
@ -19317,9 +19329,9 @@
"dev": true
},
"node_modules/vue": {
"version": "2.5.16",
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.5.16.tgz",
"integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ=="
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
"integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg=="
},
"node_modules/vue-eslint-parser": {
"version": "2.0.3",
@ -19389,9 +19401,9 @@
}
},
"node_modules/vue-template-compiler": {
"version": "2.5.16",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.16.tgz",
"integrity": "sha512-ZbuhCcF/hTYmldoUOVcu2fcbeSAZnfzwDskGduOrnjBiIWHgELAd+R8nAtX80aZkceWDKGQ6N9/0/EUpt+l22A==",
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
"integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==",
"dev": true,
"dependencies": {
"de-indent": "^1.0.2",
@ -27130,9 +27142,9 @@
}
},
"element-ui": {
"version": "2.15.7",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.7.tgz",
"integrity": "sha512-+J6rnXajxzLwV6w8Q6bf7Yqzk1FO1ewbIrCy/4B5alnd7tj8WEpfQoAvISirVaUGVGy77d9Ji3o2bF4f0AsJLQ==",
"version": "2.15.13",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.15.13.tgz",
"integrity": "sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg==",
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
@ -30890,6 +30902,11 @@
"integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
"dev": true
},
"js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
@ -30905,6 +30922,11 @@
"easy-stack": "^1.0.1"
}
},
"js-sha256": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz",
"integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA=="
},
"js-tokens": {
"version": "3.0.2",
"resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
@ -37443,9 +37465,9 @@
"dev": true
},
"vue": {
"version": "2.5.16",
"resolved": "https://registry.npmmirror.com/vue/-/vue-2.5.16.tgz",
"integrity": "sha512-/ffmsiVuPC8PsWcFkZngdpas19ABm5mh2wA7iDqcltyCTwlgZjHGeJYOXkBMo422iPwIcviOtrTCUpSfXmToLQ=="
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
"integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg=="
},
"vue-eslint-parser": {
"version": "2.0.3",
@ -37497,9 +37519,9 @@
}
},
"vue-template-compiler": {
"version": "2.5.16",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.16.tgz",
"integrity": "sha512-ZbuhCcF/hTYmldoUOVcu2fcbeSAZnfzwDskGduOrnjBiIWHgELAd+R8nAtX80aZkceWDKGQ6N9/0/EUpt+l22A==",
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz",
"integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==",
"dev": true,
"requires": {
"de-indent": "^1.0.2",

@ -17,6 +17,7 @@
"file-saver": "^2.0.5",
"js-cookie": "^2.2.0",
"js-md5": "^0.7.3",
"js-sha256": "^0.9.0",
"mockjs": "^1.0.1-beta3",
"node-sass": "^6.0.1",
"nprogress": "^0.2.0",

@ -1,71 +1,63 @@
import axios from "../../utils/axios";
export function saveCode(query) {
return axios({
url: "/warehouse/inout/saveTempCode",
method: "post",
data: query
});
return axios({
url: "/warehouse/inout/saveTempCode",
method: "post",
data: query
});
}
export function tabCode(query) {
return axios({
url: "/warehouse/inout/saveTabCode",
method: "post",
data: query
});
}
export function getCodeLost(query) {
return axios({
url: "/warehouse/inout/getCodeLost",
method: "post",
data: query
});
return axios({
url: "/warehouse/inout/getCodeLost",
method: "post",
data: query
});
}
export function updateCodeLost(query) {
return axios({
url: "/warehouse/inout/updateCodeLost",
method: "post",
data: query
});
return axios({
url: "/warehouse/inout/updateCodeLost",
method: "post",
data: query
});
}
export function findByCode(query) {
return axios(
{
url: "/udiwms/basic/findByCode",
method: "get",
params: query
}
);
return axios(
{
url: "/udiwms/basic/findByCode",
method: "get",
params: query
}
);
}
export function getCodeList(params) {
return axios({
url: "/udiwms/inout/code/filterList",
method: "get",
params: params
});
return axios({
url: "/udiwms/inout/code/filterList",
method: "get",
params: params
});
}
export function findByOrderId(params) {
return axios({
url: "/udiwms/inout/code/findByOrderId",
method: "get",
params: params
});
}
export function getCodeListForEdit(params){
return axios({
url: "/udiwms/inout/code/getCodeListForEdit",
method: "get",
params: params
});
return axios({
url: "/udiwms/inout/code/findByOrderId",
method: "get",
params: params
});
}
export function getCodeListForEdit(params) {
return axios({
url: "/udiwms/inout/code/getCodeListForEdit",
method: "get",
params: params
});
}

@ -13,6 +13,7 @@ import {
import {Message} from "element-ui";
import {RECEIVE_ADMIN_EMPLOY_NAME} from "../mutation-types";
import md5 from 'js-md5';
import {sha256} from "js-sha256";
// initial state
const state = {
@ -49,7 +50,7 @@ const actions = {
// 用户名登录
loginName({commit}, userInfo) {
const userName = userInfo.userName ? userInfo.userName.trim() : "";
const pwd = md5(userInfo.pwd);
const pwd = sha256(userInfo.pwd);
return new Promise((resolve, reject) => {
loginName(userName, pwd)
.then(response => {

@ -223,6 +223,7 @@ export default {
null: "未提交",
"1": "已提交",
"0": "未提交",
"2": "提交失败",
},
distributionVisible: false,
detailFormRules: {
@ -557,7 +558,8 @@ export default {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success"
1: "success",
2: "danger"
};
return statusMap[status];
},

@ -127,13 +127,13 @@
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteDialog(scope.row.id)"-->
<!-- >删除-->
<!-- </el-button-->
<!-- >-->
</template>
</el-table-column>
</el-table>

@ -3,15 +3,15 @@
<el-card>
<el-form :inline="true" :model="filterQuery" size="mini">
<el-row style="width: 100%">
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.nameCode" placeholder="产品标识DI"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.productsName" placeholder="产品名称"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.batchNo" placeholder="批次号"></el-input>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.nameCode" placeholder="产品标识DI"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.productsName" placeholder="产品名称"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.batchNo" placeholder="批次号"></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item">
<el-select
v-model="filterQuery.supId"
@ -26,28 +26,16 @@
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item.erpId"
:key="item.companyName"
:label="item.companyName"
:value="item.customerId"
>
<span style="float: left">{{ item.name }}</span>
<span style="float: left">{{ item.companyName }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.orderIdFk" placeholder="所属单号"></el-input>
</el-form-item>
</el-row>
<el-row style="width: 100%">
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ggxh" placeholder="规格型号"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="批准文号"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产厂家"></el-input>
<el-input v-model="filterQuery.orderIdFk" placeholder="预验收单号"></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
@ -67,40 +55,47 @@
</el-button-group>
</el-form-item>
</el-row>
<el-row style="width: 100%">
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.ggxh" placeholder="规格型号"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.zczbhhzbapzbh" placeholder="批准文号"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input v-model="filterQuery.ylqxzcrbarmc" placeholder="生产厂家"></el-input>-->
<!-- </el-form-item>-->
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="产品标识" prop="nameCode" width="120"></el-table-column>
<el-table-column label="产品名称" prop="cpmctymc" width="180">
</el-table-column>
<el-table-column label="规格型号" prop="ggxh" width="180"></el-table-column>
<el-table-column label="批次号" prop="batchNo" width="120"></el-table-column>
<el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column>
<el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column>
<el-table-column label="入库数量" prop="inCount" width="120"></el-table-column>
<el-table-column label="出库数量" prop="outCount" width="120"></el-table-column>
<el-table-column label="结余数量" prop="reCount" width="120">
<template slot-scope="scope">
{{ (scope.row.inCount - scope.row.outCount) }}
</template>
</el-table-column>
<el-table-column label="生产厂家" prop="ylqxzcrbarmc" v-if="showSup" show-overflow-tooltip
width="180"></el-table-column>
<!-- <el-table-column label="产品标识" prop="nameCode" width="120"></el-table-column>-->
<!-- <el-table-column label="产品名称" prop="cpmctymc" width="180">-->
<!-- </el-table-column>-->
<!-- <el-table-column label="规格型号" prop="ggxh" width="180"></el-table-column>-->
<!-- <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column>-->
<!-- <el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column>-->
<!-- <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column>-->
<!-- <el-table-column label="数量" prop="inCount" width="120"></el-table-column>-->
<!-- <el-table-column label="生产厂家" prop="ylqxzcrbarmc" v-if="showSup" show-overflow-tooltip-->
<!-- width="180"></el-table-column>-->
<el-table-column label="预验收单号" prop="orderIdFk"
show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="供应商" prop="companyName" v-if="showSup" show-overflow-tooltip
<el-table-column label="单据时间" prop="createTime"
show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="审核时间" prop="auditTime"
show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="供应商" prop="companyName" show-overflow-tooltip
width="180"></el-table-column>
<el-table-column label="仓库" prop="invStorageName" v-if="showSup"
<el-table-column label="仓库" prop="invStorageName"
show-overflow-tooltip width="120"></el-table-column>
<el-table-column label="分库" prop="invSubStorageName" v-if="showSup"
<el-table-column label="分库" prop="invSubStorageName"
show-overflow-tooltip width="120"></el-table-column>
<el-table-column label="所属单号" prop="orderIdFk" v-if="showSup"
show-overflow-tooltip width="180"></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template slot-scope="scope">
<el-button
@ -126,10 +121,10 @@
<el-dialog
title="库存详情"
:visible.sync="codeDetailVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="codeDetailVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<codeDetail
:idQuery="idQuery"
@ -141,6 +136,7 @@
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
</div>
</template>
@ -212,6 +208,7 @@ export default {
},
onSubmit() {
this.loading = true;
this.filterQuery.page = 1;
this.getList();
},
handleSizeChange(val) {
@ -238,7 +235,6 @@ export default {
this.filterQuery.customerId = store.getters.customerId;
filterProducts(this.filterQuery)
.then((response) => {
console.log(response)
this.loading = false;
this.showSup = response.data.showSup;
this.list = response.data.list || [];
@ -320,20 +316,18 @@ export default {
let cQuery = {
key: query,
customerName: query,
};
getBasicUnitMaintains(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data.page.list || [];
this.fromOptions = response.data.list || [];
})
.catch(() => {
this.fromOptions = [];
this.loading = false;
});
},
intentDetail(row) {
this.idQuery = row;
this.idQuery.customerId = null;
this.codeDetailVisible = true;

Loading…
Cancel
Save