单据重复上传

busUser
anthonywj 2 years ago
parent 2780e5dbb0
commit d63cae8dac

64
package-lock.json generated

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

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

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

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

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

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

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

Loading…
Cancel
Save