Merge remote-tracking branch 'origin/orderChange' into zhairh

zhairh
x_z 3 years ago
commit 1cd0c8c374

@ -17,7 +17,13 @@ export function filterSubByInv(query) {
});
}
export function filterSub(query) {
return axios({
url: "/spms/sub/inv/warehouse/filterSub",
method: "get",
params: query
});
}
// 保存
export function saveSubWarehouse(data, formName, method = "post") {

@ -22,3 +22,12 @@ export function formatDate (date, fmt) {
function padLeftZero (str) {
return ('00' + str).substr(str.length);
};
export function convertDate(date) {
if(date!=null && date!=undefined && date.length>5){
var time="20"+date.substring(0,2)+"-"+date.substring(2,4)+"-"+date.substring(4,6);
return time;
}else{
return date;
}
};

@ -204,25 +204,18 @@ export default {
this.$message.error("单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.curInv)) {
this.$message.error("请输入委托仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入接受委托仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustUser)) {
this.$message.error("请输入接受委托人!");
return;
}
if (this.$isBlank(this.inputQuery.invWarehouseCode)) {
this.$message.error("当前库不能为空!");
this.$message.error("当前仓库不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.entrustSubInv)) {
this.$message.error("请输入接受委托库!");
this.$message.error("请输入接受委托库!");
return;
}
//

@ -1,36 +1,15 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.curInv" placeholder="当前仓库" @change="invChange" clearable>
<el-option
v-for="item in storageList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>当前分库:&nbsp;</span>
<span>当前仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.invWarehouseCode" placeholder="当前分库"
@change="subInvChange"
<el-select v-model="inputQuery.invWarehouseCode" placeholder="当前仓库"
@change="entrustInvChange"
filterable
clearable>
<el-option
v-for="item in subInvList"
@ -38,6 +17,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
@ -78,29 +58,9 @@
<div class="itemTag">
<span>接受委托仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustInv" placeholder="接受委托仓库" @change="entrustInvChange"
clearable>
<el-option
v-for="item in entrustStorageList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>接受委托分库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustSubInv" placeholder="接受委托分库"
@change="entrustSubInvChange"
filterable
clearable>
<el-option
v-for="item in entrustSubInvList"
@ -108,6 +68,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
@ -173,7 +134,7 @@ import {
import {filterAll, filterNext, warehouseBussinessTypeList, warehouseUserList} from "@/api/basic/invWarehouse";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {filterNoUseBusType} from "@/api/basic/EntrustRece";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {filterSubByInv,filterSub} from "@/api/basic/invSubWarehouse";
export default {
@ -206,9 +167,7 @@ export default {
action: [
{required: true, message: "请输入扫码单据类型", trigger: "blur"}
],
curInv: [
{required: true, message: "请输入委托仓库", trigger: "blur"}
],
entrustInv: [
{required: true, message: "请输入委托验收人仓库", trigger: "blur"}
],
@ -240,22 +199,12 @@ export default {
this.localTypes = [];
});
},
getStorage() {
this.storageList = [];
filterAll()
.then((response) => {
this.storageList = response.data || [];
this.findSubInvByInv();
this.getEntrustStorage();
})
.catch(() => {
});
},
findSubInvByInv() {
this.subInvList = [];
let query = {
pcode: this.inputQuery.curInv
filter:3
};
filterSubByInv(query)
.then((response) => {
@ -270,10 +219,10 @@ export default {
findEntrustSubInvByInv() {
this.entrustSubInvList = [];
let query = {
pcode: this.inputQuery.entrustInv,
code: this.inputQuery.invWarehouseCode,
filter: 2,
};
filterSubByInv(query)
filterSub(query)
.then((response) => {
this.entrustSubInvList = response.data || [];
this.entrustSubInvChange();
@ -320,6 +269,7 @@ export default {
entrustInvChange() {
this.inputQuery.entrustSubInv = null;
this.findEntrustSubInvByInv();
this.getOrderType();
this.$forceUpdate();
},
@ -357,7 +307,8 @@ export default {
created() {
this.getList();
this.getStorage();
this.findSubInvByInv();
this.getEntrustStorage();
// if (this.$isNotBlank(this.inputQuery.entrustInv)) {
// this.entrustInvChange(this.inputQuery.entrustInv);

@ -222,6 +222,8 @@ export default {
getFromInv() {
let subQuery = {
code:this.inputQuery.locSubInv,
filter:2
}
filterSubByInv(subQuery).then((res) => {
if (res.code == 20000) {

@ -452,6 +452,7 @@ export default {
this.editQuery = JSON.parse(JSON.stringify(row));
this.editChangeTypeVisible = true;
this.getBusTypes();
this.findDefaultSubInv();
}
,
hideForm() {
@ -540,8 +541,7 @@ export default {
});
},
invChange() {
if (this.$isNotBlank(this.inputQuery.defaultSubInv))
this.inputQuery.defaultSubInv = null;
this.editQuery.defaultSubInv = null;
this.findDefaultSubInv();
},
},

@ -421,6 +421,9 @@ export default {
},
created() {
if(this.editQuery.isUseDy==1){
this.checked=true
}
let ttquery = {
uuid: this.editQuery.uuid,
page: 1,

@ -66,25 +66,26 @@
<el-col :span="3">
<div class="ao-text">
<span>当前</span>
<span>当前</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locCHange">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息" @change="findSubStorageMethod"
>
<el-option
v-for="item in storageList"
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
@ -120,28 +121,9 @@
</el-form-item>
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==1">
<el-select
v-model="formData.fromCorp"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading"
@change="storageChange"
>
<el-option
v-for="item in fromStorageOptions"
:key="item.value"
:label="item.code"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
<el-select v-model="formData.fromSubInvCode" placeholder="请选择分库" clearable="true"
<el-select v-model="formData.fromSubInvCode" placeholder="请选择分库" clearable="true" @change="getFormStorageCode"
>
<el-option
v-for="item in fromSubStorageOptions"
@ -149,7 +131,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
</el-option>
</el-select>
@ -164,26 +146,7 @@
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>当前分库</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息"
>
<el-option
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
@ -195,8 +158,16 @@
<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="120" prop="expireDate"></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" width="120" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</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>
@ -225,6 +196,7 @@ import {parseTime} from "@/filtres";
import {getLocalJoinByUser} from "@/api/basic/busLocalType";
import {stockOrderChange, stockOrderDetail} from "@/api/inout/stockOrder";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {convertDate} from "@/utils/date"
export default {
name: "DialogcChangeNewOrder",
@ -240,6 +212,7 @@ export default {
},
data() {
return {
convertDateFun:convertDate,
formData: {
corpOrderId: "",
code: "",
@ -277,14 +250,6 @@ export default {
this.$message.warning("请选择单据类型!");
return;
}
if (this.$isBlank(this.formData.locStorageCode)) {
this.$message.error('当前仓库不能为空');
return;
}
if (this.$isBlank(this.formData.fromCorp)) {
this.$message.error('当前往来单位不能为空');
return;
}
if (this.$isBlank(this.formData.invWarehouseCode)) {
this.$message.error("当前分库不能为空");
return;
@ -297,6 +262,12 @@ export default {
this.$message.error("产品列表不能为空");
return;
}
if (this.formData.locStorageCode === this.formData.fromCorp || this.formData.invWarehouseCode === this.formData.fromSubInvCode) {
this.$message.error("当前仓库和往来仓库不能相同!");
return;
}
let products = [];
this.detailList.forEach(item => {
let product = {
@ -334,7 +305,9 @@ export default {
this.loading = false;
});
},
getFormStorageCode(){
// this.formData.locStorageCode= this.subInvList.find(item => item.code == this.formData.invWarehouseCode).parentId
},
locCHange() {
@ -349,7 +322,8 @@ export default {
findSubInvByInv(invCode) {
this.subInvList = [];
let query = {
pcode: invCode
pcode: invCode,
filter:3
};
filterSubByInv(query)
.then((response) => {
@ -374,8 +348,9 @@ export default {
});
},
findSubStorageMethod() {
this.formData.locStorageCode= this.subInvList.find(item => item.code == this.formData.invWarehouseCode).parentId
let cQuery = {
pcode: this.formData.fromCorpId,
code: this.formData.invWarehouseCode,
filter: 2,
};
filterSubByInv(cQuery)
@ -425,8 +400,12 @@ export default {
storageChange(row) {
this.formData.fromCorpId = row.code;
this.formData.fromCorp = row.name;
this.formData.fromSubInvCode = null;
this.findSubStorageMethod();
if (isBlank(this.formData.fromCorp)) {
this.fromSubStorageOptions = [];
this.formData.fromSubInvCode = null;
} else {
this.findSubStorageMethod();
}
},
unitChange(row) {
@ -435,11 +414,8 @@ export default {
},
actionChange(item) {
this.curAction = this.getActionItem(item);
// this.formData.locStorageCode = this.curAction.storageCode;
//
this.formData.locStorageCode = null;
this.formData.invWarehouseCode = null;
this.formData.fromCorp = null;
this.formData.fromSubInvCode = null;
this.findMethod();
},
getActionItem(action) {
@ -499,6 +475,7 @@ export default {
this.formData.corpOrderId = parseTime(date, '{y}{m}{d}{h}{i}{s}') + Math.ceil(Math.random() * 89 + 10);
}
this.getBusType();
this.findSubInvByInv(this.formData.locStorageCode);
this.getStorage();
this.getStockOrderDetailList(this.curRow.id);
}

@ -167,8 +167,16 @@
<el-table-column label="产品通用名" width="150" prop="productName"></el-table-column>
<el-table-column label="规格型号" width="150" prop="spec"></el-table-column>
<el-table-column label="批次号" width="150" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" width="150" prop="productDate"></el-table-column>
<el-table-column label="失效日期" width="150" prop="expireDate"></el-table-column>
<el-table-column label="生产日期" width="150" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" width="150" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column label="实际数量" width="150" prop="reCount"></el-table-column>
<el-table-column label="单据数量" width="150" prop="count"></el-table-column>
<el-table-column label="价格" width="150" prop="price"></el-table-column>
@ -370,11 +378,13 @@ import store from "../../store";
import {getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {convertDate} from "@/utils/date"
export default {
name: "stockOrder",
data() {
return {
convertDateFun:convertDate,
query: {
billType: null,
corpName: null,

@ -154,8 +154,16 @@
<el-table-column label="产品通用名" width="150" prop="productName"></el-table-column>
<el-table-column label="规格型号" width="150" prop="spec"></el-table-column>
<el-table-column label="批次号" width="150" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" width="150" prop="productDate"></el-table-column>
<el-table-column label="失效日期" width="150" prop="expireDate"></el-table-column>
<el-table-column label="生产日期" width="120" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" width="120" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column label="实际数量" width="150" prop="reCount"></el-table-column>
<el-table-column label="单据数量" width="150" prop="count"></el-table-column>
<el-table-column label="价格" width="150" prop="price"></el-table-column>
@ -489,11 +497,13 @@ import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile}
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {convertDate} from "@/utils/date"
export default {
name: "stockOrderEditor",
data() {
return {
convertDateFun:convertDate,
query: {
billType: null,
corpName: null,

@ -95,33 +95,10 @@
</div>
</el-col>
<el-col :span="7">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息"
@change="invChange"
disabled>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>当前分库</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" disabled
placeholder="当前库信息"
placeholder="当前仓库信息"
clearable>
<el-option
v-for="item in subInvList"
@ -129,6 +106,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>

@ -602,6 +602,8 @@ export default {
this.query.startTime = null;
this.query.endTime = null;
}
//
this.query.page=1
this.getList();
if (this.query.status === "502") {
this.haveNewDistributionVisible = true;
@ -698,6 +700,7 @@ export default {
getStockOrderDetailList(row) {
if (this.$isNotBlank(row)) {
this.detailQuery.orderIdFk = row.id;
this.detailQuery.page=1
this.formData = row;
}
this.detailLoading = true;

@ -116,30 +116,8 @@
</el-form-item>
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==1">
<el-select
v-model="formData.corpName"
filterable
remote
clearable="true" :disabled="codeArray.length>0"
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading"
@change="storageChange"
>
<el-option
v-for="item in fromStorageOptions"
:key="item.value"
:label="item.code"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
item.code
}}</span>
</el-option>
</el-select>
<el-select v-model="formData.fromSubInvCode" placeholder="请选择分库" clearable="true"
<el-select v-model="formData.fromSubInvCode" @change="getFormSubInv" placeholder="请选择仓库" clearable="true"
:disabled="codeArray.length>0"
>
<el-option
@ -148,7 +126,7 @@
:label="item.name" :disabled="codeArray.length>0"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
</el-option>
</el-select>
@ -171,32 +149,9 @@
</div>
</el-col>
<el-col :span="7">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locInChange"
:disabled="codeArray.length>0"
clearable>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>当前分库</span>
</div>
</el-col>
<el-col :span="7">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" placeholder="当前库信息"
<el-select v-model="formData.invWarehouseCode" placeholder="当前仓库信息"
:disabled="codeArray.length>0"
@change="subStorageChange"
clearable>
@ -206,14 +161,12 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="ao-text">
<span>所属科室</span>
@ -244,8 +197,8 @@
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-row>
<el-row :gutter="20" style="margin-top: -5px;">
<el-col :span="3">
@ -463,6 +416,7 @@ import {filterAll, filterAllByLoc, filterAllByUser} from "@/api/basic/invWarehou
import dialogInvProduct from "../inventory/DialogInvProduct"
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {isBlank} from "@/utils/strUtil";
import {filterDepts} from "@/api/auth/authDept"
export default {
name: "idQuery",
@ -525,7 +479,7 @@ export default {
},
codeArray: [],
fromOptions: [],
fromStorageOptions: [],
fromSubStorageOptions: [],
total: 0,
loading: false,
@ -674,16 +628,7 @@ export default {
this.findSubStorageMethod();
},
getStorage(event) {
this.storageList = [];
filterAllByUser()
.then((response) => {
this.storageList = response.data || [];
this.findSubInvs();
})
.catch(() => {
});
},
getActionName(action) {
for (let i = 0; i < this.busTypes.length; i++) {
@ -692,30 +637,11 @@ export default {
}
}
},
findStorageMethod(query) {
if (this.formData.locStorageCode == null)
return;
this.fromStorageOptions = [];
let cQuery = {
locInvCode: this.formData.locStorageCode,
};
filterAllByLoc(cQuery)
.then((response) => {
let temp = response.data || [];
for (let i = 0; i < temp.length; i++) {
if (temp[i].code != this.formData.locStorageCode) {
this.fromStorageOptions.push(temp[i]);
}
}
})
.catch(() => {
});
},
findSubStorageMethod() {
let cQuery = {
pcode: this.formData.corpId,
code: this.formData.invWarehouseCode,
filter: 2,
};
filterSubByInv(cQuery)
@ -726,22 +652,6 @@ export default {
});
},
findSubInvByInv(invCode) {
this.subInvList = [];
let query = {
pcode: invCode
};
filterSubByInv(query)
.then((response) => {
this.subInvList = response.data || [];
if (this.subInvList != null && this.subInvList.length == 1) {
this.formData.invWarehouseCode = this.subInvList[0].code;
this.getBusType();
}
})
.catch(() => {
});
},
submitFunction(status) {
@ -756,8 +666,6 @@ export default {
obj.reCount = obj.count;
});
}
insertStockOrderWeb(tQuery)
.then(response => {
this.loading = false;
@ -773,6 +681,11 @@ export default {
this.loading = false;
})
},
getFormSubInv(){
//id
this.formData.corpName= this.fromSubStorageOptions.find(item => item.code == this.formData.fromSubInvCode).name
this.formData.corpId= this.fromSubStorageOptions.find(item => item.code == this.formData.fromSubInvCode).code
},
submit(formName) {
if (this.total < 1) {
this.$message.warning('未添加产品');
@ -1215,9 +1128,9 @@ export default {
// },
getBusType() {
if( this.formData.id==null){
this.formData.billType=null;
}
if(this.$isBlank(this.idQuery.id)){
this.formData.billType=null;
}
let query = {
code: this.formData.invWarehouseCode,
enabled: true,
@ -1303,6 +1216,8 @@ export default {
},
subStorageChange() {
this.formData.locStorageCode= this.subInvList.find(item => item.code == this.formData.invWarehouseCode).parentId
this.findSubStorageMethod();
this.getBusType();
},
invChange() {
@ -1314,7 +1229,7 @@ export default {
findSubInvs() {
this.subInvList = [];
let query = {
pcode: this.formData.locStorageCode
filter: 3,
};
filterSubByInv(query)
.then((response) => {
@ -1383,9 +1298,10 @@ export default {
if(this.formData.invWarehouseCode!=null){
this.getBusType();
}
this.getStorage();
this.findSubInvByInv();
this.findSubInvs();
this.findSubStorageMethod();
this.findDeptMethod();
this.codeArray = [];
this.closeConfirmFunction(false);
},

@ -307,6 +307,9 @@ export default {
getList() {
this.loading = true;
this.listQuery.customerId = store.getters.customerId;
if( this.data.companyName!=undefined && this.data.companyName!=null ){
this.listQuery.companyName = this.data.companyName;
}
if (this.filterType != null && this.filterType === 2) {
filterAllProduct(this.listQuery)

@ -1069,6 +1069,7 @@ export default {
rollbackOrder(param).then((res) => {
if (res.code === 20000) {
this.$message.success("回退成功");
this.getList();
}
})
}).catch(() => {

@ -190,7 +190,7 @@
<el-dialog
title="请选择当前仓库和分仓"
title="请选择当前仓库"
:visible.sync="selInvVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
@ -205,47 +205,25 @@
<span>当前仓库</span>
</div>
</el-col>
<el-col :span="16">
<el-form-item prop="locStorageCode">
<el-select v-model="userInfo.locInvCode" placeholder="当前仓库信息" clearable
@change="locCHange"
>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<div class="ao-text">
<span>当前分库</span>
</div>
</el-col>
<el-col :span="16">
<el-form-item prop="locInvCode">
<el-select v-model="userInfo.locSubInvCode" placeholder="当前分库信息" clearable
<el-select v-model="userInfo.locSubInvCode" filterable placeholder="分库信息" clearable
>
<el-option
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div style="margin-top: 8px ; color: #F71616;">
<span>提示进入系统请先选择您当前所在仓库与分库&nbsp;</span>
</div>
@ -430,16 +408,12 @@ export default {
findSubInvByInv() {
this.subInvList = [];
let query = {
pcode: this.userInfo.locInvCode
};
filterSubByInv(query)
filterSubByInv({filter:3})
.then((response) => {
this.subInvList = response.data || [];
if (this.subInvList != null && this.subInvList.length > 1) {
this.userInfo.locSubInvCode = this.subInvList[0].code;
if (this.subInvList != null && this.subInvList.length == 1) {
this.userInfo.locSubInvCode = this.subInvList[subInvList.length].code;
}
})
.catch(() => {
});
@ -483,13 +457,10 @@ export default {
},
submitInv() {
if (this.$isBlank(this.userInfo.locInvCode)) {
this.$message.error("当前仓库不能为空!");
return;
}
if (this.userInfo.customerId == 110) {
if (this.$isBlank(this.userInfo.locSubInvCode)) {
this.$message.error("当前库不能为空!");
this.$message.error("当前仓库库不能为空!");
return;
}
}
@ -557,9 +528,10 @@ export default {
console.log("监听变化。,,,,,,,,,,,,,,,,,,,,,,,,,,,");
this.getBreadcrumb();
this.getCompanyData();
this.getStorage();
this.findSubInvByInv();
// this.getStorage();
// this.findSubInvByInv();
this.getUserInfo();
this.locCHange();
socket.init(this)
axios.get("./config.json").then(res => {

@ -73,26 +73,28 @@
<el-col :span="2">
<div class="ao-text">
<span>当前</span>
<span>当前</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locCHange"
:disabled="corpOrderIdDisabled">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息"
:disabled="corpOrderIdDisabled" @change="findSubStorageMethod" filterable>
<el-option
v-for="item in storageList"
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
@ -132,37 +134,17 @@
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==1"
>
<el-select
v-model="formData.fromCorp"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading" :disabled="corpOrderIdDisabled"
@change="storageChange"
>
<el-option
v-for="item in fromStorageOptions"
:key="item.value"
:label="item.code"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
<el-select v-model="formData.fromSubInvCode" placeholder="请选择分库" clearable="true"
:disabled="corpOrderIdDisabled">
<el-select v-model="formData.fromSubInvCode" placeholder="请选择仓库" clearable="true"
:disabled="corpOrderIdDisabled" filterable
>
<el-option
v-for="item in fromSubStorageOptions"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
</el-option>
</el-select>
@ -177,27 +159,6 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="2">
<div class="ao-text">
<span>当前分库</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="invWarehouseCode">
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息"
:disabled="corpOrderIdDisabled" @change="subStorageChange">
<el-option
v-for="item in subInvList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="enableDept">
@ -603,10 +564,7 @@ export default {
this.$message.error('未选择扫码单据类型');
return
}
if (this.formData.locStorageCode == null || this.formData.locStorageCode == '') {
this.$message.error('当前仓库不能为空');
return;
}
if (this.formData.invWarehouseCode == null || this.formData.invWarehouseCode == '') {
this.$message.error('当前分库不能为空');
return;
@ -717,20 +675,16 @@ export default {
this.$message.warning("请选择单据类型!");
return;
}
if (this.$isBlank(this.formData.locStorageCode)) {
this.$message.error('当前仓库不能为空');
return;
}
if (this.formData.invWarehouseCode == null || this.formData.invWarehouseCode == '') {
this.$message.error('当前分库不能为空');
return;
}
if (this.$isBlank(this.formData.fromCorp)) {
this.$message.error('当前往来单位不能为空');
return;
}
// if (this.$isBlank(this.formData.fromCorp)) {
// this.$message.error('');
// return;
// }
if (this.curAction.corpType == 1) {
if (this.$isBlank(this.formData.fromSubInvCode)) {
@ -832,14 +786,10 @@ export default {
customClass: 'messageIndex'
});
} else {
this.$alert(response.message, '提示', {
confirmButtonText: '确定',
type: 'warning',
closeOnClickModal: true,
callback: action => {
this.$refs.inputRef.focus();
this.$refs.inputRef.select();
}
this.$message({
type: 'error',
message: "提交失败!" + this.editTitle,
customClass: 'messageIndex'
});
}
}
@ -992,7 +942,6 @@ export default {
getBasicUnitMaintains(cQuery)
.then((response) => {
debugger
this.loading = false;
this.fromOptions = response.data.page.list || [];
if (this.curAction.corpType == 3) {
@ -1026,8 +975,9 @@ export default {
,
findSubStorageMethod() {
this.getBusType();
let cQuery = {
pcode: this.formData.fromCorpId,
code: this.formData.invWarehouseCode,
filter: 2,
};
filterSubByInv(cQuery)
@ -1043,7 +993,7 @@ export default {
findSubInvByInv(invCode) {
this.subInvList = [];
let query = {
pcode: invCode
filter:3
};
filterSubByInv(query)
.then((response) => {
@ -1072,8 +1022,6 @@ export default {
this.fromDeptOptions = [];
});
},
getStorage(event) {
this.storageList = [];
filterAllByUser()
@ -1272,6 +1220,7 @@ export default {
}
}
this.findSubInvByInv(this.formData.locStorageCode);
this.findSubStorageMethod();
if(this.formData.invWarehouseCode!=null){
this.getBusType();
}

@ -289,13 +289,21 @@
prop="productDate"
width="100"
:show-overflow-tooltip="true"
></el-table-column>
>
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="失效日期"
prop="expireDate"
width="100"
:show-overflow-tooltip="true"
></el-table-column>
>
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="单据数量"
prop="reCount"
@ -487,6 +495,7 @@ import {filterAllByUser} from "@/api/basic/invWarehouse";
import {getLocalJoinByUser} from "@/api/basic/busLocalType";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import {convertDate} from "@/utils/date"
const formJson = {
@ -505,6 +514,7 @@ export default {
data() {
return {
convertDateFun:convertDate,
query: {
page: 1,
limit: 20,

@ -200,12 +200,17 @@
label="生产日期"
prop="productDate"
:show-overflow-tooltip="true"
></el-table-column>
><template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="失效日期"
prop="expireDate"
:show-overflow-tooltip="true"
></el-table-column>
> <template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template></el-table-column>
<el-table-column
label="单据数量"
prop="erpCount"
@ -343,6 +348,7 @@ import {filterAllByUser} from "@/api/basic/invWarehouse";
import {getLocalJoinByUser} from "@/api/basic/busLocalType";
import {filterSubByInv} from "@/api/basic/invSubWarehouse";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {convertDate} from "@/utils/date"
const formJson = {
site_id: "",
@ -360,6 +366,7 @@ export default {
data() {
return {
convertDateFun:convertDate,
query: {
page: 1,
limit: 10,

@ -25,20 +25,7 @@
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.locStorageCode" placeholder="请选择当前仓库" clearable="true"
@change="invChange"
size="mini">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.invWarehouseCode" placeholder="请选择当前分库" clearable="true"
<el-select v-model="filterQuery.invWarehouseCode" placeholder="请选择当前仓库" clearable="true"
size="mini">
<el-option
v-for="item in subInvList"
@ -46,6 +33,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>

@ -114,12 +114,20 @@
label="生产日期"
prop="productDate"
:show-overflow-tooltip="true"
></el-table-column>
>
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="失效日期"
prop="expireDate"
:show-overflow-tooltip="true"
></el-table-column>
>
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column
label="单据数量"
prop="erpCount"
@ -223,11 +231,13 @@ import {getBussinessType} from "../../api/basic/bussinessType";
import {filterAllByUser} from "@/api/basic/invWarehouse";
import codeReplace from "../business/codeReplace";
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
import {convertDate} from "@/utils/date"
export default {
name: "stockOrderDelete",
data() {
return {
convertDateFun:convertDate,
query: {
billNo: "",
page: 1,

@ -185,12 +185,11 @@ export default {
getCodeList() {
this.loading = true;
this.query.orderIdFk = this.idQuery.orderIdFk;
debugger
let query = {
orderIdFk: this.idQuery.orderIdFk,
code:this.query.code
}
filterDetailProducts(query) //
// let query = {
// orderIdFk: this.idQuery.orderIdFk,
// code:this.query.code
// }
filterDetailProducts(this.query) //
.then((response) => {
this.loading = false;
this.codeArry = response.data.list || [];

@ -34,7 +34,9 @@
</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%">

@ -62,18 +62,7 @@
<el-col :span="7">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locInChange"
style="width: 50%"
clearable>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息" style="width: 50%"
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息" @change="setWarehouseName" style="width: 100%"
clearable>
<el-option
v-for="item in subInvList"
@ -81,6 +70,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
@ -362,6 +352,9 @@ export default {
this.loading = false;
})
},
setWarehouseName(obj){
this.formData.locStorageCode= this.subInvList.find(item => item.code == obj).parentId;
},
selectProductFunction() {
this.selectProductVisible = true;
this.thisData.stockOrderLists = this.codeArray;
@ -458,24 +451,11 @@ export default {
},
getStorage() {
this.storageList = [];
filterAllByUser()
.then((response) => {
this.storageList = response.data || [];
if (this.storageList != null && this.storageList.length == 1) {
this.formData.locStorageCode = this.storageList[0].code;
}
this.findSubInvs();
})
.catch(() => {
});
},
findSubInvs() {
this.subInvList = [];
let query = {
pcode: this.formData.locStorageCode
filter:3
};
filterSubByInv(query)
.then((response) => {
@ -487,13 +467,7 @@ export default {
.catch(() => {
});
},
locInChange(item) {
if (this.formData.invWarehouseCode != null) {
this.formData.invWarehouseCode = "";
}
this.formData.locStorageCode = item;
this.findSubInvs();
},
},
filters: {},
mounted() {
@ -523,7 +497,7 @@ export default {
};
this.orderEditor = false;
}
this.getStorage();
this.findSubInvs();
this.codeArray = [];
},
};

@ -83,18 +83,7 @@
<el-col :span="7">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" placeholder="采购仓库信息" @change="locInChange"
style="width: 50%"
clearable>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
<el-select v-model="formData.invWarehouseCode" placeholder="采购分库信息" style="width: 50%"
<el-select v-model="formData.invWarehouseCode" @change="setWarehouseName" placeholder="采购仓库信息" style="width: 100%"
clearable>
<el-option
v-for="item in subInvList"
@ -102,6 +91,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
@ -403,6 +393,9 @@ export default {
this.thisData.stockOrderLists = this.codeArray;
this.selectProductVisible = true;
},
setWarehouseName(obj){
this.formData.locStorageCode= this.subInvList.find(item => item.code == obj).parentId;
},
closeDialogC2(rData) {
this.selectProductVisible = false;
this.thisData = {};
@ -513,7 +506,7 @@ export default {
findSubInvs() {
this.subInvList = [];
let query = {
pcode: this.formData.locStorageCode
filter:3
};
filterSubByInv(query)
.then((response) => {
@ -573,7 +566,7 @@ export default {
};
this.orderEditor = false;
}
this.getStorage();
this.findSubInvs();
this.getBusType();
this.codeArray = [];
},

@ -0,0 +1,447 @@
<template>
<div>
<el-card class="el-card">
<div>
<el-form :inline="true" :model="listQuery" size="mini">
<el-row style="margin-top: 15px;width: 1000px">
<el-form-item class="query-form-item">
<el-input v-model="listQuery.udiCode"
style="width: 600px"
placeholder="请扫描或输入UDI码"
clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="listQuery.unionCode" placeholder="DI/医保编码/商品条码"
clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="listQuery.cpmctymc" placeholder="产品通用名" clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="listQuery.ggxh" placeholder="规格型号" clearable="true"></el-input>
</el-form-item>
</el-row>
<el-row>
<el-form-item class="query-form-item">
<el-input v-model="listQuery.ylqxzcrbarmc" placeholder="生产企业/注册备案人"
clearable="true"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-input v-model="listQuery.thrPiId" placeholder="第三方产品编码" clearable="true"></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="search"></el-button>
<el-button type="primary" icon="search" @click="confirmSelect"></el-button>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
:data="dataList"
style="width: 100%"
highlight-current-row="false"
v-loading="loading"
:row-class-name="tableRowClassName"
@current-change="handleChange"
ref="multipleTable"
>
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="55">-->
<!-- </el-table-column>-->
<el-table-column label width="45">
<template slot-scope="scope">
<el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>
</template>
</el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="最小销售产品标识"
prop="nameCode"
width="140"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品编码"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="医疗器械注册人"
prop="ylqxzcrbarmc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品通用名"
prop="cpmctymc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="注册/备案凭证"
prop="zczbhhzbapzbh"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="器械类别"
prop="qxlb"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="配送企业"
prop="companyName"
show-overflow-tooltip
></el-table-column>
<el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleDetailClick(scope.row)"
>详情
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="listQuery.limit"
@current-change="handleErpPageChange"
layout="prev, pager, next"
:total="pageTotal"
:current-page="listQuery.page"
></el-pagination>
</div>
</el-card>
<el-dialog
title="耗材字典详情"
:visible.sync="udiRlDetailVisible"
width="85%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="udiRlDetailVisible"
>
<udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog>
</el-dialog>
<el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%">
<el-form :model="form">
<el-form-item label="" prop="isGive">
<el-radio-group v-model="currentCert">
<el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="selectCert"> </el-button>
<el-button @click="dialogFormVisible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
getStockOrderDetailInstrumentById,
stockOrderDetailFilterProduct
} from "../../api/warehouse/stockOrder";
import store from "../../store";
import udiRlDetailDialog from "./../basic/UdiRlDetailDialog";
export default {
name: "stockOrderNewSelectProduct",
props: {
data: {
type: Object,
required: true,
},
closeDialog: {
type: Function,
required: true,
},
purType: {
type: Object,
required: true,
},
},
data() {
return {
listQuery: {
udiCode: "",
unionCode: "",
cpmctymc: "",
ggxh: "",
ylqxzcrbarmc: "",
thrPiId: "",
page: 1,
limit: 10,
},
combineQuery: {
thirdId: "",
relId: "",
erpName: "",
keys: [],
},
ids: [],
radioCheck: null,
dataList: [],
pageTotal: 1,
total: 1,
currentRow: null,
loading: false,
udiRlDetailVisible: false,
thirdSys: [],
thirdSysFk: null,
busTypes: [],
actDateRange: [],
pickerOptions: {
shortcuts: [
{
text: "最近一周",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit("pick", [start, end]);
},
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit("pick", [start, end]);
},
},
],
},
orderEditor: false,
orderId: "",
currentCert: null,
certList: [],
dialogFormVisible: false,
multipleSelection: null,
};
},
methods: {
onReset() {
// this.$router.push({
// path: "",
// });
this.listQuery = {
udiCode: "",
unionCode: "",
cpmctymc: "",
ggxh: "",
ylqxzcrbarmc: "",
thrPiId: "",
page: 1,
limit: 10,
},
this.getList();
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
checkSelectable(row) {
return !row.check;
},
handleCurrentChange(val) {
this.unionQuery.page = val;
this.getList();
},
handleChange(val) {
this.radioCheck = val.id;
this.currentRow = val;
this.multipleSelection = val
},
handleDetailClick(row) {
this.currentRow = row;
this.udiRlDetailVisible = true;
},
handleErpPageChange(val) {
this.listQuery.page = val;
this.getList();
},
keyup_submit(event) {
this.listQuery.page = 1;
this.getList();
event.target.select();
},
search() {
this.listQuery.page = 1;
this.getList();
},
getList() {
this.loading = true;
this.listQuery.customerId = store.getters.customerId;
if(this.listQuery.customerId==110 && this.data.formData!=null && this.data.formData!=undefined){
this.listQuery.companyName=this.data.formData.corpName
}
if(this.listQuery.customerId!=110 && this.data!=null && this.data!=undefined){
this.listQuery.companyName=this.data.corpName
}
stockOrderDetailFilterProduct(this.listQuery)
.then((response) => {
this.loading = false;
if (response.code === 20000) {
this.dataList = response.data.list || [];
this.pageTotal = response.data.total || 0;
} else {
this.$message.error(response.message);
this.dataList = [];
this.pageTotal = 0;
}
})
.catch(() => {
this.loading = false;
this.dataList = [];
this.pageTotal = 0;
});
},
intentBack() {
this.closeDialog();
},
confirmSelect() {
if (this.multipleSelection == null) {
this.$message.error('未选择产品');
return;
}
if (this.ids.length > 0) {
for (var i = 0; i < this.ids.length; i++) {
if (this.ids[i] == this.multipleSelection.rlId) {
this.$message.error("该产品已录入!");
return
}
}
}
let str = this.multipleSelection.zczbhhzbapzbh;
if (str.search(",") != -1) {
this.currentCert = null;
this.certList = str.split(',');
this.dialogFormVisible = true;
} else {
this.combine();
}
},
combine() {
let ids = [];
let data = {
relId: this.multipleSelection.rlId,
supId: this.multipleSelection.customerId,
zczbhhzbapzbh: this.multipleSelection.zczbhhzbapzbh,
}
ids.push(data);
this.loading = true;
let tQuery = {
datas: ids,
stockOrderLists: this.data.stockOrderLists,
purType: this.purType
};
getStockOrderDetailInstrumentById(tQuery).then((response) => {
this.loading = false;
if (response.code === 20000) {
this.closeDialog(response.data);
} else {
if (response.code == 601) {
this.$alert(response.message, "提示", {
confirmButtonText: "确定",
});
} else
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
});
},
selectCert() {
if (this.currentCert == null) {
this.$message.error("请先选择对应的注册证!");
} else {
this.multipleSelection.zczbhhzbapzbh = this.currentCert;
this.combine();
}
},
},
components: {udiRlDetailDialog},
created() {
if (this.$isNotBlank(this.data)) {
// this.listQuery.nameCode = this.data.udi;
// if (this.data.billType != null) {
// this.listQuery.billType = this.data.billType;
// } else
// this.listQuery.billType = this.data.formData.billType;
// if (this.data.formData != null) {
// this.listQuery.corpId = this.data.formData.corpId;
// }
// this.orderEditor = this.data.orderEditor;
// this.orderId = this.data.orderId;
this.ids = [];
if (this.data.stockOrderLists.length > 0) {
for (var i = 0; i < this.data.stockOrderLists.length; i++) {
this.ids.push(this.data.stockOrderLists[i].productId);
}
}
}
this.getList();
},
};
</script>
<style scoped>
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
div /deep/ .el-table .warning-row {
background: #bebebe;
}
div /deep/ .el-table .success-row {
background: #ffffff;
}
</style>

@ -370,9 +370,7 @@ export default {
thirdSysFk: [
{required: true, message: "请选择第三方系统", trigger: "blur"}
],
advanceType: [
{required: true, message: "请选择仓库类型", trigger: "blur"}
]
},
pidData: {},
deleteLoading: false,

@ -104,8 +104,16 @@
<el-table-column label="产品通用名" prop="productName" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" prop="productDate"></el-table-column>
<el-table-column label="失效日期" prop="expireDate"></el-table-column>
<el-table-column label="生产日期" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column label="单据数量" prop="count"></el-table-column>
</el-table>
</el-card>
@ -142,10 +150,12 @@ import {
} from "../../api/inout/erpOrder";
import thrOrderNew from "./thrOrderNew";
import {getReceiveOrder} from "@/api/inout/receiveOrder";
import {convertDate} from "@/utils/date"
export default {
data() {
return {
convertDateFun:convertDate,
filterQuery: {
billAction: null,
billNo: "",

@ -88,8 +88,16 @@
<el-table-column label="产品通用名" prop="productName" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="批次号" prop="batchNo"></el-table-column>
<el-table-column label="生产日期" prop="productDate"></el-table-column>
<el-table-column label="失效日期" prop="expireDate"></el-table-column>
<el-table-column label="生产日期" prop="productDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.productDate) }}</span>
</template>
</el-table-column>
<el-table-column label="失效日期" prop="expireDate">
<template slot-scope="scope">
<span>{{ convertDateFun(scope.row.expireDate) }}</span>
</template>
</el-table-column>
<el-table-column label="单据数量" prop="reCount"></el-table-column>
<el-table-column label="实际数量" prop="count"></el-table-column>
</el-table>
@ -109,10 +117,12 @@ import {
getCloudErp,
} from "../../api/inout/erpOrder";
import {getReceiveOrder} from "@/api/inout/receiveOrder";
import {convertDate} from "@/utils/date"
export default {
data() {
return {
convertDateFun:convertDate,
filterQuery: {
billAction: null,
billNo: "",

@ -62,19 +62,7 @@
<el-col :span="7">
<el-form-item prop="locStorageCode">
<el-select v-model="formData.locStorageCode" style="width: 50%;" placeholder="当前仓库信息"
@change="locInChange"
clearable>
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
<el-select v-model="formData.invWarehouseCode" placeholder="当前分库信息" style="width: 50%;"
<el-select v-model="formData.invWarehouseCode" filterable @change="subStorageChange" placeholder="当前仓库信息" style="width: 100%;"
clearable>
<el-option
v-for="item in subInvList"
@ -83,6 +71,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
</el-form-item>
@ -95,32 +84,9 @@
</div>
</el-col>
<el-col :span="7">
<el-form-item class="query-form-item" prop="fromCorp">
<el-select
v-model="formData.corpName"
filterable
remote
style="width: 50%"
clearable="true"
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading"
@change="storageChange"
>
<el-option
v-for="item in fromStorageOptions"
:key="item.value"
:label="item.code"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
item.code
}}</span>
</el-option>
</el-select>
<el-select v-model="formData.fromSubInvCode" placeholder="请选择分库" clearable="true"
style="width: 50%"
<el-form-item>
<el-select v-model="formData.fromSubInvCode" @change="getFromSubStorageCode" filterable placeholder="请选择仓库" clearable="true"
style="width: 100%"
>
<el-option
v-for="item in fromSubStorageOptions"
@ -128,7 +94,7 @@
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.warehouseName }}</span>
</el-option>
</el-select>
@ -512,24 +478,21 @@ export default {
this.formData.corpName = row.name;
this.findSubStorageMethod();
},
subStorageChange(item) {
//
getStorage() {
this.storageList = [];
filterAllByUser()
.then((response) => {
this.storageList = response.data || [];
this.findSubInvs();
})
.catch(() => {
});
this.formData.locStorageCode= this.subInvList.find(item => item.code == this.formData.invWarehouseCode).parentId
this.formData.corpId=this.subInvList.find(item => item.code == this.formData.invWarehouseCode).code
this.formData.corpName=this.subInvList.find(item => item.code == this.formData.invWarehouseCode).warehouseName
this.findSubStorageMethod();
this.getBusType();
},
//
findSubInvs() {
this.subInvList = [];
let query = {
pcode: this.formData.locStorageCode
filter: 3,
};
filterSubByInv(query)
.then((response) => {
@ -550,32 +513,11 @@ export default {
}
},
//
findStorageMethod() {
if (this.formData.locStorageCode == null)
return;
this.fromStorageOptions = [];
let cQuery = {
locInvCode: this.formData.locStorageCode,
};
filterAllByLoc(cQuery)
.then((response) => {
let temp = response.data || [];
for (let i = 0; i < temp.length; i++) {
if (temp[i].code != this.formData.locStorageCode) {
this.fromStorageOptions.push(temp[i]);
}
}
})
.catch(() => {
});
},
//
findSubStorageMethod() {
let cQuery = {
pcode: this.formData.corpId,
code: this.formData.invWarehouseCode,
filter: 2,
};
filterSubByInv(cQuery)
@ -688,7 +630,8 @@ export default {
this.focusNext('iCount');
},
iCountChange() {
getFromSubStorageCode(){
// this.formData.locStorageCode= this.fromSubStorageOptions.find(item => item.code == this.formData.fromSubInvCode).parentId
},
iCountEnterFunction() {
if (this.$isNotBlank(this.currentRow)) {
@ -935,15 +878,6 @@ export default {
}
}
},
locInChange(item) {
if (this.formData.invWarehouseCode != null) {
this.formData.invWarehouseCode = "";
}
this.formData.locStorageCode = item;
this.$forceUpdate();
this.findStorageMethod();
this.findSubInvs();
},
},
@ -982,9 +916,7 @@ export default {
}
this.getBusType();
this.getStorage();
this.findSubInvs();
this.findStorageMethod();
this.findSubStorageMethod();
// this.findSubInvByInv();
this.codeArray = [];

Loading…
Cancel
Save