修复业务单据,扫码单据根据账号分类,预验收,中继服务同步

master
anthonyywj2 3 years ago
parent ed6471bb48
commit 783cf5ebe7

@ -17,11 +17,20 @@ export function updateBussinessType(query) {
export function insertBussinessType(query) { export function insertBussinessType(query) {
return axios({ return axios({
url: "/udiwms/originBusType/insert", url: "/udiwms/originBusType/add",
method: "post", method: "post",
data: query data: query
}); });
} }
export function delBussinessType(query) {
return axios({
url: "/udiwms/originBusType/delete",
method: "post",
data: query
});
}
export function downloadBussinessType(query) { export function downloadBussinessType(query) {
return axios({ return axios({

@ -11,7 +11,7 @@ export function getErpMainOrder(query) {
export function getCloudErp(query) { export function getCloudErp(query) {
return axios({ return axios({
url: "/udiwms/erpOrder/filter", url: "/spms/erpOrder/filter",
method: "get", method: "get",
params: query params: query
}); });

@ -0,0 +1,36 @@
import axios from "../../utils/axios";
export function filterProducts(query) {
return axios({
url: "/spms/prein/inv/products/filter",
method: "get",
params: query
});
}
export function filterDetailProducts(query) {
return axios({
url: "/spms/prein/inv/products/filterDetail",
method: "get",
params: query
});
}
export function deleteProducts(query) {
return axios(
{
url: "/spms/prein/inv/products/delete",
method: "post",
data: query
}
)
}
export function statDetailProducts(query) {
return axios({
url: "/spms/prein/inv/products/stat",
method: "get",
params: query
});
}

@ -71,6 +71,7 @@ import stockOrderDelSearch from "../views/business/stockOrderDelSearch";
//库存 //库存
import invProducts from "../views/inventory/InvProducts.vue"; import invProducts from "../views/inventory/InvProducts.vue";
import invPreProducts from "../views/inventory/invPreProducts" import invPreProducts from "../views/inventory/invPreProducts"
import invPreInProducts from "../views/inventory/invPreInProducts"
import udiTrace from "../views/inventory/UdiCodeTrace.vue"; import udiTrace from "../views/inventory/UdiCodeTrace.vue";
import invUdiTraceOrder from "@/views/inventory/invUdiTraceOrder"; import invUdiTraceOrder from "@/views/inventory/invUdiTraceOrder";
import invStatistics from "@/views/inventory/InvStatistics"; import invStatistics from "@/views/inventory/InvStatistics";
@ -328,15 +329,6 @@ export const asyncRouterMap = [
}, },
children: [ children: [
// {
// path: "ioErrorOrder",
// component: ioErrorOrder,
// name: "异常单据管理",
//
// meta: {
// authRule: ["inout/ioErrorOrder"]
// }
// },
{ {
path: "/receiveOrder", path: "/receiveOrder",
component: Empty, component: Empty,
@ -1048,7 +1040,15 @@ export const asyncRouterMap = [
} }
}, },
{
path: "invPreInProducts",
component: invPreInProducts,
name: "预验收库存查询",
icon: "",
meta: {
authRule: ["inv/invPreInProducts"]
}
},
// { // {
// path: "stockCheck", // path: "stockCheck",

@ -34,28 +34,21 @@
<el-table-column label="业务单据类型名称" prop="name" fixed></el-table-column> <el-table-column label="业务单据类型名称" prop="name" fixed></el-table-column>
<el-table-column label="业务单据类型代码" prop="action" fixed></el-table-column> <el-table-column label="业务单据类型代码" prop="action" fixed></el-table-column>
<el-table-column label="第三方单据类型" prop="originAction" fixed></el-table-column> <el-table-column label="第三方单据类型" prop="originAction" fixed></el-table-column>
<!-- <el-table-column label="单据是否启用" prop="enable" fixed>-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ enableMap[scope.row.enable] }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="是否寄售" prop="advanceType" fixed> <el-table-column label="是否寄售" prop="advanceType" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ enableMap[scope.row.advanceType] }}</span> <span>{{ enableMap[scope.row.advanceType] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="预验收" prop="preIn" fixed>
<template slot-scope="scope">
<span>{{ enableMap[scope.row.preIn] }}</span>
</template>
</el-table-column>
<el-table-column label="缺量自动补单" prop="advanceType" fixed> <el-table-column label="缺量自动补单" prop="advanceType" fixed>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ enableMap[scope.row.changeEnable] }}</span> <span>{{ enableMap[scope.row.changeEnable] }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="允许供应商使用" prop="spUse" fixed>-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ enableMap[scope.row.spUse] }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" fixed="right"> <el-table-column label="操作" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -153,6 +146,7 @@ export default {
changeEnable: null, changeEnable: null,
spUse: null, spUse: null,
prefix: null, prefix: null,
preIn:null,
}, },
enableMap: { enableMap: {
true: "是", true: "是",
@ -244,6 +238,7 @@ export default {
changeEnable: row.changeEnable, changeEnable: row.changeEnable,
spUse: row.spUse, spUse: row.spUse,
prefix: row.prefix, prefix: row.prefix,
preIn:row.preIn,
}; };
}, },
@ -261,6 +256,7 @@ export default {
localAction: null, localAction: null,
changeEnable: null, changeEnable: null,
prefix:null, prefix:null,
preIn:null,
}; };
}, },

@ -85,11 +85,6 @@
</el-row> </el-row>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.enable"></el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<el-col :span="4" class="el-col"> <el-col :span="4" class="el-col">
<div class="text item"> <div class="text item">
<el-checkbox v-model="inputQuery.advanceType"></el-checkbox> <el-checkbox v-model="inputQuery.advanceType"></el-checkbox>
@ -98,12 +93,19 @@
<el-col :span="4" class="el-col"> <el-col :span="4" class="el-col">
<div class="text item"> <div class="text item">
<el-checkbox v-model="inputQuery.changeEnable" @change="isChangeOrder" <el-checkbox v-model="inputQuery.changeEnable" @change="isChangeOrder"
:disabled="!changeEnable || inputQuery.mainAction=='WareHouseIn' || inputQuery.id == null || inputQuery.mainAction==null"> :disabled="!changeEnable || inputQuery.mainAction=='WareHouseIn' || inputQuery.id == null || inputQuery.mainAction==null ||inputQuery.preIn">
缺量自动补单 缺量自动补单
</el-checkbox> </el-checkbox>
</div> </div>
</el-col> </el-col>
<!-- <el-col :span="4" class="el-col"> <el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.preIn" @change="preInChange"
:disabled="inputQuery.mainAction=='WareHouseOut' || inputQuery.mainAction==null">预验收</el-checkbox>
</div>
</el-col>
<!-- <el-col :span="4" class="el-col">
<div class="text item"> <div class="text item">
<el-checkbox v-model="inputQuery.spUse">使</el-checkbox> <el-checkbox v-model="inputQuery.spUse">使</el-checkbox>
</div> </div>
@ -306,7 +308,12 @@ export default {
}); });
this.getBusTypes(); this.getBusTypes();
}, },
preInChange() {
if (this.inputQuery.preIn) {
this.inputQuery.changeEnable = false;
this.inputQuery.advanceType = false;
}
},
getBusTypes() { getBusTypes() {
let query = { let query = {
enabled: true, enabled: true,

@ -11,13 +11,6 @@
style="width: 400px" style="width: 400px"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-select v-model="filterQuery.enable" placeholder="启用状态" clearable>-->
<!-- <el-option label="全部" value=""></el-option>-->
<!-- <el-option label="已启用" value="1"></el-option>-->
<!-- <el-option label="未启用" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item"> <el-form-item class="query-form-item">
<el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange"> <el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange">
@ -35,21 +28,13 @@
<el-button-group style="margin-left: 10px;display:flex;"> <el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button> <el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
>新增
</el-button
>
<el-button type="primary" icon="search" @click="updateDownload"></el-button> <el-button type="primary" icon="search" @click="updateDownload"></el-button>
<!-- <el-upload-->
<!-- :action="uploadFileUrl"-->
<!-- multiple-->
<!-- :limit="3"-->
<!-- :show-file-list="false"-->
<!-- :on-success="handleChange"-->
<!-- :file-list="fileList"-->
<!-- >-->
<!-- <el-button size="mini" type="primary">导入单据类型</el-button>-->
<!-- </el-upload>-->
</el-button-group> </el-button-group>
<!-- <el-button type="primary" icon="search" @click="handleAddClick"
>新增</el-button
> -->
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -58,11 +43,6 @@
<el-table-column label="单据类型名称" prop="name"></el-table-column> <el-table-column label="单据类型名称" prop="name"></el-table-column>
<el-table-column label="单据类型代码" prop="action"></el-table-column> <el-table-column label="单据类型代码" prop="action"></el-table-column>
<!-- <el-table-column label="是否启用" prop="enable" fixed>-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ enableMap[scope.row.enable] }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="第三方系统" prop="thirdSys"></el-table-column> <el-table-column label="第三方系统" prop="thirdSys"></el-table-column>
<el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" width="100" fixed="right"> <el-table-column label="操作" width="100" fixed="right">
@ -74,12 +54,19 @@
>编辑 >编辑
</el-button </el-button
> >
<el-button
type="text"
size="small"
@click.native.stop="handleDeleteClick(scope.row)"
>删除
</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog <el-dialog
title="新增扫码单据类型关联" title="新增第三方单据类型"
:visible.sync="addDialogVisible" :visible.sync="addDialogVisible"
width="70%" width="70%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -100,7 +87,7 @@
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="编辑扫码单据类型关联" title="编辑第三方单据类型"
:visible.sync="modifyDialogVisible" :visible.sync="modifyDialogVisible"
width="70%" width="70%"
:close-on-click-modal="false" :close-on-click-modal="false"
@ -131,7 +118,7 @@
<script> <script>
import { import {
getOriginBusType, getOriginBusType,
updateBussinessType, updateBussinessType, delBussinessType,
insertBussinessType, downloadBussinessType insertBussinessType, downloadBussinessType
} from "../../api/basic/busOriginType"; } from "../../api/basic/busOriginType";
@ -237,6 +224,8 @@ export default {
}, },
onAddSubmit() { onAddSubmit() {
insertBussinessType(this.inputQuery) insertBussinessType(this.inputQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
@ -263,7 +252,7 @@ export default {
}, },
handleModifyClick(row) { handleModifyClick(row) {
this.modifyDialogVisible = true;
this.inputQuery = { this.inputQuery = {
id: row.id, id: row.id,
remark: row.remark, remark: row.remark,
@ -273,16 +262,44 @@ export default {
thirdSys: row.thirdSys, thirdSys: row.thirdSys,
thirdSysName: row.thirdSysName thirdSysName: row.thirdSysName
}; };
this.modifyDialogVisible = true;
},
handleDeleteClick(row) {
this.deleteDialog(row.id)
},
handleAddClick() {
this.inputQuery = {
action: "",
name: "",
enable: "",
remark: "",
thirdSys: null,
thirdSysName: null
};
this.addDialogVisible = true;
}, },
deleteDialog(rowId) { deleteDialog(rowId) {
this.$confirm("此操作将永久删除该业务类型信息, 是否继续?", "提示", { this.$confirm("此操作将永久删除该单据类型信息, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
this.deleteOrders(rowId); let query = {
id: rowId,
}
delBussinessType(query)
.then((response) => {
this.getList();
})
.catch(() => {
});
}) })
.catch(() => { .catch(() => {
}); });

@ -10,7 +10,7 @@
style="width: 200px" style="width: 200px"
size="small" size="small"
splaceholder="请输入内容" splaceholder="请输入内容"
:disabled="true" :disabled="!isAdd"
v-model="inputQuery.name" v-model="inputQuery.name"
></el-input> ></el-input>
</div> </div>
@ -22,7 +22,7 @@
</div> </div>
<el-input <el-input
style="width: 200px" style="width: 200px"
:disabled="true" :disabled="!isAdd"
size="small" size="small"
splaceholder="请输入内容" splaceholder="请输入内容"
v-model="inputQuery.action" v-model="inputQuery.action"
@ -95,7 +95,7 @@ export default {
}, },
thirdSys: [], thirdSys: [],
localTypes: [], localTypes: [],
isAdd: false,
value: "", value: "",
} }
}, },
@ -122,6 +122,9 @@ export default {
}, },
created() { created() {
if (this.inputQuery.action == "") {
this.isAdd = true;
}
this.getList(); this.getList();
}, },
}; };

@ -0,0 +1,437 @@
<template>
<div>
<el-table :data="sysList" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="第三方系统名称"
prop="sysName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="第三方产品名称"
prop="thirdName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="第三方产品ID"
prop="thirdId"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-table
v-loading="loading"
:data="detailList"
style="width: 100%; margin-top: 20px"
border
@current-change="handleDetail"
>
<el-table-column
label="产品标识"
prop="nameCode"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="产品通用名"
prop="cpmctymc"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装级别"
prop="packLevel"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="包装层级"
prop="bzcj"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-form
:model="editQuery"
ref="editQuery"
label-width="100px"
style="margin-top: 20px"
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.cpmctymc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.nameCode"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ggxh"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>器械类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.qxlb"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品类别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.cplb"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>分类编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.flbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>商品条码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sptm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医保编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ybbm"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>医疗器械注册人:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="editQuery.ylqxzcrbarmc"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册人英文名称:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.ylqxzcrbarywmc"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>统一社会信用号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.tyshxydm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证/备案号:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zczbhhzbapzbh"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>上级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="editQuery.sjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.packLevel"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位/包装级别:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
v-model="editQuery.bzcj"
:disabled="true"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="editQuery.bhxjsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含下级产品编码:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhxjcpbm"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>包含最小销售包装数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
size="small"
:disabled="true"
splaceholder="请输入内容"
v-model="editQuery.bhzxxsbzsl"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>最小包装单元内包含使用单元数量:&nbsp;</span>
</div>
<el-input
style="width: 65%"
:disabled="!checked"
size="small"
splaceholder="请输入内容"
v-model="editQuery.zxxsbzbhsydysl"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag"
disabled
>以使用单元数量入库
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {thirdSysDetail} from "@/api/basic/udiRelevance";
import {filterByUuid} from "@/api/basic/udiInfo";
export default {
name: "UdiRlDetail",
props: {
editQuery: {
type: Object,
required: true,
},
},
data() {
return {
sysList: [],
checked:false,
detailList:[],
loading:false,
}
},
methods: {
getThirdSysDetail() {
let query = {
id: this.editQuery.id,
};
thirdSysDetail(query)
.then((response) => {
this.loading = false;
this.sysList = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.sysList = [];
});
},
getDetailList(detailQuery) {
this.loading = true;
filterByUuid(detailQuery)
.then((response) => {
this.loading = false;
this.detailList = response.data || [];
})
.catch(() => {
this.loading = false;
this.detailList = [];
});
},
},
created() {
let ttquery = {
uuid: this.editQuery.uuid,
page: 1,
limit: 10,
};
this.getDetailList(ttquery);
this.getThirdSysDetail();
},
}
</script>
<style scoped>
</style>

@ -562,7 +562,7 @@
</el-col> </el-col>
<el-col :span="12" class="el-col"> <el-col :span="12" class="el-col">
<el-form-item prop="name"> <el-form-item prop="name">
<el-checkbox v-model="checked" class="text item itemTag" <el-checkbox v-model="checked" class="text item itemTag" disabled
>以使用单元数量入库 >以使用单元数量入库
</el-checkbox> </el-checkbox>
</el-form-item> </el-form-item>

@ -483,11 +483,11 @@ export default {
}, },
onSubmit() { onSubmit() {
if (this.actDateRange !== null) { if (this.actDateRange !== null) {
this.filterQuery.startTime = this.actDateRange[0]; this.query.startTime = this.actDateRange[0];
this.filterQuery.endTime = this.actDateRange[1]; this.query.endTime = this.actDateRange[1];
} else { } else {
this.filterQuery.startTime = null; this.query.startTime = null;
this.filterQuery.endTime = null; this.query.endTime = null;
} }
this.getList(); this.getList();

@ -95,6 +95,17 @@
prop="qxlb" prop="qxlb"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></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-table>
<el-pagination <el-pagination
:page-size="listQuery.limit" :page-size="listQuery.limit"
@ -104,7 +115,17 @@
></el-pagination> ></el-pagination>
</div> </div>
</el-card> </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>
</div> </div>
</template> </template>
@ -114,7 +135,7 @@ import {
stockOrderDetailFilterProduct stockOrderDetailFilterProduct
} from "../../api/inout/stockOrder"; } from "../../api/inout/stockOrder";
import store from "../../store"; import store from "../../store";
import udiRlDetailDialog from "./../basic/UdiRlDetailDialog";
export default { export default {
name: "closeDialog", name: "closeDialog",
props: { props: {
@ -146,6 +167,7 @@ export default {
total: 1, total: 1,
currentRow: null, currentRow: null,
loading: false, loading: false,
udiRlDetailVisible:false,
multipleUdiSelection: [], multipleUdiSelection: [],
thirdSys: [], thirdSys: [],
thirdSysFk: null, thirdSysFk: null,
@ -222,6 +244,11 @@ export default {
console.log(val); console.log(val);
this.currentRow = val; this.currentRow = val;
}, },
handleDetailClick(row) {
this.currentRow = row;
this.udiRlDetailVisible = true;
},
handleErpPageChange(val) { handleErpPageChange(val) {
this.listQuery.page = val; this.listQuery.page = val;
this.getList(); this.getList();
@ -256,10 +283,7 @@ export default {
intentBack() { intentBack() {
this.closeDialog(); this.closeDialog();
}, },
combine() {//012693548470801311200226172302271020022632100025 combine() {
// if (this.$isBlank(this.currentRow.id)) {
// return;
// }
let selection = this.$refs.multipleTable.selection; let selection = this.$refs.multipleTable.selection;
if (selection.length < 1) { if (selection.length < 1) {
this.$message.error('未选择产品'); this.$message.error('未选择产品');
@ -290,44 +314,17 @@ export default {
this.loading = false; this.loading = false;
}); });
// let tQuery = {
// id: this.currentRow.id
// };
// if (this.orderEditor) {
// tQuery.orderId = this.orderId;
// console.log(tQuery)
// addStockOrderDetailFromCodeById(tQuery).then((response) => {
// this.loading = false;
// if (response.code === 20000) {
// this.closeDialog(response);
// } else {
// this.$message.error(response.message);
// }
// }).catch(() => {
// this.loading = false;
// });
// } else {
// getStockOrderDetailInstrumentById(tQuery).then((response) => {
// this.loading = false;
// if (response.code === 20000) {
// this.closeDialog(response.data);
// } else {
// this.$message.error(response.message);
// }
// }).catch(() => {
// this.loading = false;
// });
// }
}, },
handleSelectionUdiChange(val) { handleSelectionUdiChange(val) {
console.log("----" + val);
this.multipleUdiSelection = val; this.multipleUdiSelection = val;
}, },
}, },
created() { created() {
if (this.$isNotBlank(this.data)) { if (this.$isNotBlank(this.data)) {
console.log(this.data.stockOrderLists);
this.listQuery.nameCode = this.data.udi; 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; this.listQuery.billType = this.data.formData.billType;
this.listQuery.corpId = this.data.formData.corpId; this.listQuery.corpId = this.data.formData.corpId;
this.orderEditor = this.data.orderEditor; this.orderEditor = this.data.orderEditor;
@ -335,6 +332,7 @@ export default {
this.getList(); this.getList();
} }
}, },
components: {udiRlDetailDialog},
}; };
</script> </script>

@ -456,11 +456,11 @@ export default {
onSubmit() { onSubmit() {
if (this.actDateRange !== null) { if (this.actDateRange !== null) {
this.filterQuery.startTime = this.actDateRange[0]; this.query.startTime = this.actDateRange[0];
this.filterQuery.endTime = this.actDateRange[1]; this.query.endTime = this.actDateRange[1];
} else { } else {
this.filterQuery.startTime = null; this.query.startTime = null;
this.filterQuery.endTime = null; this.query.endTime = null;
} }
this.getList(); this.getList();

@ -3,14 +3,14 @@
<el-form :model="formData" :rules="formRules" ref="dataForm"> <el-form :model="formData" :rules="formRules" ref="dataForm">
<el-button-group style="display: flex"> <el-button-group style="display: flex">
<!-- <el-button--> <el-button
<!-- type="primary"--> type="primary"
<!-- @click.native="submit('0')"--> @click.native="printStockOrderDetailPDF()"
<!-- style="margin: -50px 60px 10px auto; height: 35px"--> style="margin: -50px 60px 10px auto; height: 35px"
<!-- :loading="loading"--> :loading="loading"
<!-- >导出--> >打印全部
<!-- </el-button--> </el-button
<!-- >--> >
</el-button-group> </el-button-group>
<el-row :gutter="20"> <el-row :gutter="20">
@ -70,6 +70,7 @@
<el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350" <el-table v-loading="loading" :data="codeArray" style="width: 100%;" max-height="350" height="350"
highlight-current-row
ref="multipleTable"> ref="multipleTable">
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- type="selection"--> <!-- type="selection"-->
@ -94,9 +95,9 @@
<span>{{ scope.row.updateTime }}</span> <span>{{ scope.row.updateTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量"> <el-table-column label="标签数量">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input size="small" v-model="scope.row.reCount" placeholder="请输入数量" style="width: 50%" <el-input size="small" v-model="scope.row.count" placeholder="请输入打印标签数量" style="width: 50%"
oninput="value=value.replace(/[^\d]/g,'')"></el-input> oninput="value=value.replace(/[^\d]/g,'')"></el-input>
<!-- <span>{{ scope.row.reCount }}</span>--> <!-- <span>{{ scope.row.reCount }}</span>-->
</template> </template>
@ -107,7 +108,7 @@
type="text" type="text"
size="small" size="small"
@click.native="printStockOrderDetailPDF(scope.row)" @click.native="printStockOrderDetailPDF(scope.row)"
>打印 >标签打印
</el-button </el-button
> >
</template> </template>
@ -124,28 +125,87 @@
</el-pagination> </el-pagination>
</div> </div>
</el-form> </el-form>
<el-dialog
title="标签打印文件列表"
:visible.sync="labelPrintVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="labelPrintVisible"
>
<el-button-group style="display: flex">
<el-button
type="primary"
@click.native="refeshLabel()"
style="margin: -50px 60px 10px auto; height: 35px"
>刷新
</el-button
>
</el-button-group>
<el-table :data="lableFileLsit" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="文件名称"
prop="fileName"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="生成状态"
prop="status"
show-overflow-tooltip
>
<template slot-scope="scope">
<span>{{ printMap[scope.row.status] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click="printLabel(scope.row)"
>标签打印
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="refreshQuery.limit"
@current-change="handleLableChange"
layout="prev, pager, next"
:total="labltotal"
>
</el-pagination>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { import {
stockOrderDetail, stockOrderDetail,
submitStockOrder, submitStockOrder,
submitStockOrderError, submitStockOrderError,
uploadStockOrderDetailCount uploadStockOrderDetailCount,
} from "../../api/inout/stockOrder"; } from "../../api/inout/stockOrder";
import {stockQRCodeText, filterPrint} from "../../api/inout/stockQRCode"; import {stockQRCodeText, filterPrint} from "../../api/inout/stockQRCode";
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import {saveAs} from "file-saver"; import {saveAs} from "file-saver";
import {parseTime} from "../../filtres"; import {parseTime} from "../../filtres/index";
import store from "../../store"; import store from "../../store";
import { import {
inspectionOrderDetailPDFFromTemplateFile, inspectionOrderDetailPDFFromTemplateFile, filterTemp,
inspectionStockQRCodeTextPDFFromTemplateFile, inspectionStockQRCodeTextPDFFromTemplateFile,
orderDetailPDFFromTemplateFile, stockQRCodeTextPDFFromTemplateFile orderDetailPDFFromTemplateFile, stockQRCodeTextPDFFromTemplateFile, stockQRCodeTextPDFFromTemplateFileMax
} from "../../api/itextpdf/itextpdf"; } from "../../api/itextpdf/itextpdf";
import {getLocalJoinBusType} from "../../api/basic/busLocalType"; import {getLocalJoinBusType} from "../../api/basic/busLocalType";
export default { import {BASE_URL} from "@/config/app";
export default {
name: "idQuery", name: "idQuery",
props: { props: {
closeDialog: { closeDialog: {
@ -166,10 +226,12 @@
page: 1, page: 1,
limit: 10, limit: 10,
}, },
labelPrintVisible: false,
busTypes: [], busTypes: [],
formData: {}, formData: {},
codeArray: [], codeArray: [],
total: 0, total: 0,
lableFileLsit: [],
loading: false, loading: false,
index: null, index: null,
formLoading: false, formLoading: false,
@ -179,7 +241,19 @@
statusMap: { statusMap: {
0: "未打印", 0: "未打印",
1: "已打印", 1: "已打印",
} },
refreshQuery: {
page: 1,
limit: 10,
printCodeIdFk: null,
stockOrderFk: null,
},
labltotal: null,
printMap: {
0: "正在生成",
1: "已生成",
},
pdffileUrl: null,
}; };
}, },
components: { components: {
@ -214,6 +288,27 @@
this.loading = false; this.loading = false;
}); });
}, },
refeshLabel() {
filterTemp(this.refreshQuery).then((response) => {
if (response.code == 20000) {
this.lableFileLsit = response.data.list;
this.labelPrintVisible = true;
this.labltotal = response.data.total || 0;
// this.$message.warning("");
}
}).catch(() => {
this.loading = false;
});
},
printLabel(row) {
window.open(this.pdffileUrl + row.fileName, '_blank');
},
// //
resetForm() { resetForm() {
if (this.$refs["dataForm"]) { if (this.$refs["dataForm"]) {
@ -241,6 +336,15 @@
// this.getStockOrderDetailList(); // this.getStockOrderDetailList();
this.getStockQRCodeTextList(); this.getStockQRCodeTextList();
}, },
handleLableChange(val) {
this.refreshQuery.page = val;
this.refeshLabel();
},
getStockOrderDetailList() { getStockOrderDetailList() {
this.loading = true; this.loading = true;
filterPrint(this.query) // filterPrint(this.query) //
@ -283,19 +387,69 @@
}); });
}, },
printStockOrderDetailPDF(row) { printStockOrderDetailPDF(row) {
let tQuery = {
queryId: null,
orderId: null,
countList: [],
};
if (row == null) {
tQuery.orderId = this.query.sOrderId;
} else {
if (row.reCount <= 0) { if (row.reCount <= 0) {
return this.$message.error('数量错误'); return this.$message.error('数量错误');
} }
let tQuery = {queryId: row.id,} tQuery.queryId = row.id;
}
this.loading = true; this.loading = true;
inspectionStockQRCodeTextPDFFromTemplateFile(tQuery).then((response) => { inspectionStockQRCodeTextPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) { if (response.code === 20000) {
tQuery = { if (row != null) {
id: row.id, tQuery.id = row.id;
rowCount: row.reCount, tQuery.rowCount = row.reCount;
text: row.text let data = {
queryId: row.id,
rowCount: row.count
} }
tQuery.countList.push(data);
} else {
for (let i = 0; i < this.codeArray.length; i++) {
let data = {
queryId: this.codeArray[i].id,
rowCount: this.codeArray[i].count
}
tQuery.countList.push(data);
}
}
let count = 0;
for (let i = 0; i < tQuery.countList.length; i++) {
count = count + tQuery.countList[i].rowCount;
console.log(count);
}
console.log(count);
if (count > 100) {
stockQRCodeTextPDFFromTemplateFileMax(tQuery).then((response) => {
if (response.code == 20000) {
this.lableFileLsit = response.data.list;
this.labltotal = response.data.total || 0;
this.labelPrintVisible = true;
this.refreshQuery = {
page: 1,
limit: 10,
printCodeIdFk: tQuery.queryId,
stockOrderFk: tQuery.orderId,
}
this.loading = false;
this.$message.warning("打印文件正在生成中,请点击刷新按钮查看进度,请勿关闭按钮重复打印!");
}
}).catch(() => {
this.loading = false;
});
} else
stockQRCodeTextPDFFromTemplateFile(tQuery).then((response) => { stockQRCodeTextPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl //pdfurl
const binaryData = []; const binaryData = [];
binaryData.push(response); binaryData.push(response);
@ -319,6 +473,9 @@
intentBack() { intentBack() {
this.$router.go(-1); this.$router.go(-1);
}, },
getPrintList(tQuery) {
}
}, },
filters: {}, filters: {},
mounted() { mounted() {
@ -331,27 +488,30 @@
this.getBusType(); this.getBusType();
this.formData = {}; this.formData = {};
this.codeArray = []; this.codeArray = [];
this.pdffileUrl = BASE_URL + "/spms/donwload/pdf?fileName=";
if (this.$isNotBlank(this.idQuery.id)) { if (this.$isNotBlank(this.idQuery.id)) {
this.formData = this.idQuery.formData; this.formData = this.idQuery.formData;
// this.query.orderIdFk = this.idQuery.id; // this.query.orderIdFk = this.idQuery.id;
// this.getStockOrderDetailList(); // this.getStockOrderDetailList();
this.query.orderId = this.idQuery.id; this.query.orderId = this.idQuery.id;
this.query.sOrderId = this.idQuery.id; this.query.sOrderId = this.idQuery.id;
console.log(this.query.sOrderId);
this.getStockQRCodeTextList(); this.getStockQRCodeTextList();
} }
}, },
}; };
</script> </script>
<style> <style>
.ao-text { .ao-text {
width: 100%; width: 100%;
font-size: 13px; font-size: 13px;
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
float: right; float: right;
text-align: right; text-align: right;
margin-top: 10px; margin-top: 10px;
} }
</style> </style>

@ -175,6 +175,10 @@
<el-checkbox v-model="formData.outChangeEnable" <el-checkbox v-model="formData.outChangeEnable"
:disabled="!curAction.changeEnable">允许出库自动缺量补单 :disabled="!curAction.changeEnable">允许出库自动缺量补单
</el-checkbox> </el-checkbox>
<el-checkbox v-model="formData.preCheck"
:disabled="!curAction.changeEnable ||corpOrderIdDisabled"
>是否预验收产品
</el-checkbox>
</div> </div>
</el-col> </el-col>
@ -384,6 +388,7 @@ export default {
action: null, action: null,
locStorageCode: null, locStorageCode: null,
outChangeEnable: false, outChangeEnable: false,
preCheck: false,
}, },
curId: null, curId: null,
storageList: [], storageList: [],
@ -436,6 +441,7 @@ export default {
fromCorp: this.formData.fromCorp, fromCorp: this.formData.fromCorp,
fromCorpId: this.formData.fromCorpId, fromCorpId: this.formData.fromCorpId,
outChangeEnable: this.formData.outChangeEnable, outChangeEnable: this.formData.outChangeEnable,
preCheck: this.formData.preCheck,
} }
submitOrderWeb(tQuery) submitOrderWeb(tQuery)
.then((response) => { .then((response) => {
@ -528,14 +534,6 @@ export default {
addCodeSubmit(tQuery) { addCodeSubmit(tQuery) {
addOrderWeb(tQuery).then((response) => { addOrderWeb(tQuery).then((response) => {
// let teQuery = {code: this.formData.code};
// expireTimeCheck(teQuery).then((response) => {
// if (response.code === 20000) {
// } else {
// this.$message.warning(response.message);
// }
// this.loading = false;
// });
if (response.code === 20000) { if (response.code === 20000) {
this.idQuery.id = response.data.orderId; this.idQuery.id = response.data.orderId;
@ -558,28 +556,12 @@ export default {
this.getCodeList(); this.getCodeList();
this.selectRlTitle = response.message; this.selectRlTitle = response.message;
this.bindRl(response.data); this.bindRl(response.data);
// this.$alert(response.message, '', {
// confirmButtonText: '',
// type: 'warning',
// closeOnClickModal: true,
// callback: action => {
// this.bindRl(response.data);
// }
// });
} else if (response.code == 503) { } else if (response.code == 503) {
this.curRow = response.data; this.curRow = response.data;
this.idQuery.id = this.curRow.orderId; this.idQuery.id = this.curRow.orderId;
this.getCodeList(); this.getCodeList();
this.selectUnitTitle = response.message; this.selectUnitTitle = response.message;
this.handleUnitClick(response.data); this.handleUnitClick(response.data);
// this.$alert(response.message, '', {
// confirmButtonText: '',
// type: 'warning',
// closeOnClickModal: true,
// callback: action => {
// this.handleUnitClick(response.data);
// }
// });
} else if (response.code == 504) { } else if (response.code == 504) {
this.$confirm(response.message, "提示", { this.$confirm(response.message, "提示", {
@ -627,10 +609,8 @@ export default {
this.isScan = !this.isScan; this.isScan = !this.isScan;
if (this.isScan) { if (this.isScan) {
this.scanText = "扫码录入:"; this.scanText = "扫码录入:";
// document.getElementById("inputer").focus();
} else { } else {
this.scanText = "手动录入:"; this.scanText = "手动录入:";
// this.$refs.inputRef.focus();
} }
}, },
@ -955,25 +935,21 @@ export default {
this.formData.fromCorpId = this.idQuery.fromCorpId; this.formData.fromCorpId = this.idQuery.fromCorpId;
this.formData.locStorageCode = this.idQuery.locStorageCode; this.formData.locStorageCode = this.idQuery.locStorageCode;
this.formData.outChangeEnable = this.idQuery.outChangeEnable; this.formData.outChangeEnable = this.idQuery.outChangeEnable;
this.formData.preCheck = this.idQuery.preCheck;
this.actionEnable = true; this.actionEnable = true;
this.getCodeList(); this.getCodeList();
} else { } else {
this.corpOrderIdDisabled = false; this.corpOrderIdDisabled = false;
if (JSON.stringify(this.$route.query) === '{}') { if (JSON.stringify(this.$route.query) === '{}') {
// this.formData.corpOrderId = new Date().getTime() + (Math.ceil(Math.random() * 10 + 10) + '');
let date = new Date(); let date = new Date();
this.formData.corpOrderId = parseTime(date, '{y}{m}{d}{h}{i}{s}') + Math.ceil(Math.random() * 89 + 10); this.formData.corpOrderId = parseTime(date, '{y}{m}{d}{h}{i}{s}') + Math.ceil(Math.random() * 89 + 10);
} else { } else {
// //
let query = this.$route.query; let query = this.$route.query;
this.orderNo = query.id; this.orderNo = query.id;
this.query = Object.assign(this.query, query); this.query = Object.assign(this.query, query);
this.query.limit = parseInt(this.query.limit); this.query.limit = parseInt(this.query.limit);
this.query.corpOrderId = query.id; this.query.corpOrderId = query.id;
//
// this.getCodeList();
} }
} }

@ -481,11 +481,13 @@ export default {
this.idQuery.corpOrderId = row.corpOrderId; this.idQuery.corpOrderId = row.corpOrderId;
this.idQuery.billType = row.action; this.idQuery.billType = row.action;
this.idQuery.locStorageCode = row.locStorageCode; this.idQuery.locStorageCode = row.locStorageCode;
this.idQuery.preCheck = row.preCheck;
} }
this.addOrderVisible = true; this.addOrderVisible = true;
this.idQuery.action = row.action; this.idQuery.action = row.action;
this.idQuery.fromCorp = row.fromCorp; this.idQuery.fromCorp = row.fromCorp;
this.idQuery.fromCorpId = row.fromCorpId; this.idQuery.fromCorpId = row.fromCorpId;
this.idQuery.preCheck = row.preCheck;
}, },
errOrders() { errOrders() {
this.errOrderVisible = true; this.errOrderVisible = true;

@ -0,0 +1,259 @@
<template>
<div>
<el-descriptions class="margin-top" title="产品信息" :column="3" :size="size" border>
<el-descriptions-item>
<template slot="label">
产品名称
</template>
{{ idQuery.cpmctymc }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
产品标识
</template>
{{ idQuery.nameCode }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
批次号
</template>
{{ idQuery.batchNo }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
规格型号
</template>
{{ idQuery.ggxh }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
生产日期
</template>
{{ idQuery.productionDate }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
失效日期
</template>
{{ idQuery.expireDate }}
</el-descriptions-item>
</el-descriptions>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input v-model="query.code" placeholder="条码查询"></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button type="primary" icon="search" @click="getCodeList"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="codeArry" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="条码"
prop="originCode"
show-overflow-tooltip
></el-table-column>
<el-table-column label="单据类型" prop="action" width="150">
<template slot-scope="scope">
<span>{{ getActionName(scope.row.action) }}</span>
</template>
</el-table-column>
<el-table-column
label="出入库类型"
prop="mainActionStr"
width="150"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="入库数量"
prop="inCount"
width="150"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="出库数量"
prop="outCount"
width="150"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="订单日期"
prop="updateTime"
width="150"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="所属订单"
prop="orderIdFk"
width="200"
show-overflow-tooltip
></el-table-column>
</el-table>
<el-pagination
:page-size="query.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next,total"
:total="total"
>
</el-pagination>
</div>
</template>
<script>
import {
filterDetailProducts, statDetailProducts
} from "../../api/inventory/InvPreInProducts";
import store from "../../store";
import draggable from "vuedraggable";
import {getBussinessType} from "../../api/basic/bussinessType";
export default {
name: "idQuery",
props: {
idQuery: {
type: Object,
required: true,
},
},
data() {
return {
query: {
batchNo: null,
productIdFk: null,
customerId: null,
page: 1,
limit: 20,
},
codeArry: [],
total: 0,
loading: true,
index: null,
formLoading: false,
formVisible: false,
deleteLoading: false,
orderNo: null,
busTypes: [],
statData: {},
};
},
components: {
draggable,
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.query = {
productIdFk: null,
customerId: null,
page: 1,
limit: 20,
};
this.getCodeList();
},
onSubmit() {
this.$router.push({
path: "",
query: this.query,
});
this.getCodeList();
},
handleSizeChange(val) {
this.query.limit = val;
this.getCodeList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getCodeList();
},
getCodeList() {
this.loading = true;
this.query.productIdFk = this.idQuery.relIdFk;
this.query.batchNo = this.idQuery.batchNo;
this.query.supId = this.idQuery.supId;
this.query.invStorageCode = this.idQuery.invStorageCode;
filterDetailProducts(this.query) //
.then((response) => {
this.loading = false;
this.codeArry = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
getStat() {
this.query.productIdFk = this.idQuery.relIdFk;
this.query.batchNo = this.idQuery.batchNo;
this.query.customerId = store.getters.customerId;
this.query.invStorageCode = this.idQuery.invStorageCode;
statDetailProducts(this.query) //
.then((response) => {
this.loading = false;
this.statData = response.data;
})
.catch(() => {
this.loading = false;
});
},
intentBack() {
// this.$router.push({path:'../readme/detail',query:{id:row.corpOrderId}});
this.$router.go(-1);
},
getActionName(action) {
for (let i = 0; i < this.busTypes.length; i++) {
if (this.busTypes[i].action === action) {
return this.busTypes[i].name;
}
}
},
getBusType() {
let query = {
enabled: true,
};
getBussinessType(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.billAction = this.busTypes[0].action;
// this.getList();
})
.catch(() => {
});
},
},
filters: {},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
this.getBusType();
this.getCodeList();
this.getStat();
},
};
</script>

@ -80,7 +80,11 @@
<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" show-overflow-tooltip>
<template slot-scope="scope">
<pre style="white-space: pre-wrap;" >{{scope.row.ggxh}}</pre>
</template>
</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>

@ -8,7 +8,7 @@
<el-input v-model="filterQuery.nameCode" placeholder="产品标识DI" clearable></el-input> <el-input v-model="filterQuery.nameCode" placeholder="产品标识DI" clearable></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="产品名称" clearable></el-input> <el-input v-model="filterQuery.cpmctymc" placeholder="产品名称" clearable></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="批次号" clearable></el-input> <el-input v-model="filterQuery.batchNo" placeholder="批次号" clearable></el-input>
@ -84,7 +84,11 @@
<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" show-overflow-tooltip>
<template slot-scope="scope">
<pre style="white-space: pre-wrap;" >{{scope.row.ggxh}}</pre>
</template>
</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>

@ -0,0 +1,347 @@
<template>
<div>
<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-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入供应商名称"
:remote-method="findMethod"
size="mini"
:loading="loading"
>
<el-option
v-for="item in fromOptions"
:key="item.companyName"
:label="item.companyName"
:value="item.customerId"
>
<span style="float: left">{{ item.companyName }}</span>
</el-option>
</el-select>
</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-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询
</el-button
>
</el-button-group>
</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="120"></el-table-column>
<el-table-column label="供应商" prop="companyName" v-if="showSup" show-overflow-tooltip
width="120"></el-table-column>
<el-table-column label="仓库" prop="invStorageName" v-if="showSup"
show-overflow-tooltip width="120"></el-table-column>
<el-table-column label="操作" width="120" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="intentDetail(scope.row)"
>详情
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
</el-card>
<el-dialog
title="库存详情"
:visible.sync="codeDetailVisible"
width="85%"
v-if="codeDetailVisible"
>
<codeDetail
:idQuery="idQuery"
v-on:closeDetailDialog="closeDetailDialog"
></codeDetail>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</div>
</template>
<script>
import {
filterProducts,
deleteProducts,
} from "../../api/inventory/InvPreInProducts";
import draggable from "vuedraggable";
import codeDetail from "./InvPreInProductsDetail";
import store from "../../store";
import {getBussinessType} from "../../api/basic/bussinessType";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
export default {
data() {
return {
filterQuery: {
cpmctymc: null,
nameCode: null,
relIdFk: null,
batchNo: null,
page: 1,
limit: 20,
customerId: null,
unitFk: null,
},
detailQuery: {
code: null,
productIdFk: null,
page: 1,
limit: 20,
},
list: [],
fromOptions: [],
codeDetailVisible: false,
total: 0,
loading: true,
index: null,
dialogTableVisible: false,
formLoading: false,
dialogVisible: false,
deleteLoading: false,
busTypes: [],
idQuery: null,
showSup: false,
};
},
components: {
draggable,
codeDetail,
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
cpmctymc: null,
nameCode: null,
relIdFk: null,
batchNo: null,
customerId: null,
page: 1, unitFk: null,
limit: 20,
};
this.getList();
},
onSubmit() {
this.loading = true;
this.getList();
},
handleSizeChange(val) {
this.filterQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
handleUnitClick(row) {
this.curIndex = row.id;
this.dialogTableVisible = true;
},
closeDetailDialog(val) {
this.codeDetailVisible = false;
},
closeDialog() {
this.getList();
},
getList() {
this.loading = true;
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 || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
deleteOrders(data) {
this.loading = true;
let query = {
id: data,
}
deleteProducts(query)
.then((response) => {
if (response.code == 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
},
findMethod(query) {
console.log(query);
this.fromOptions = [];
let cQuery = {
key: query,
customerName: query,
};
getBasicUnitMaintains(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data.page.list || [];
})
.catch(() => {
this.loading = false;
});
},
intentDetail(row) {
this.idQuery = row;
// this.idQuery.supId = null;
this.idQuery.customerId = null;
this.codeDetailVisible = true;
},
getBusType() {
let query = {
enabled: true,
};
getBussinessType(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.billAction = this.busTypes[0].action;
// this.getList();
})
.catch(() => {
});
},
getActionName(action) {
for (let i = 0; i < this.busTypes.length; i++) {
if (this.busTypes[i].action === action) {
return this.busTypes[i].name;
}
}
},
},
filters: {
statusFilterType(status) {
const statusMap = {
false: "success",
true: "danger",
};
return statusMap[status];
},
},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
this.findMethod();
this.getBusType();
let query = this.$route.query;
this.filterQuery = Object.assign(this.filterQuery, query);
this.filterQuery.limit = parseInt(this.filterQuery.limit);
//
this.getList();
},
};
</script>
<style type="text/scss" lang="scss">
</style>

@ -11,9 +11,9 @@
</template> </template>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="4" class="el-col" style="margin-top: 6px"> <el-col :span="4" class="el-col" style="margin-top: 6px">
<el-checkbox v-model="configQuery.downstreamEnable"></el-checkbox> <el-checkbox v-model="configQuery.downstreamEnable"></el-checkbox>
</el-col> </el-col>
<el-col :span="20" class="el-col" > <el-col :span="20" class="el-col">
<div> <div>
<span>数据同步轮询时间(单位:分钟):&nbsp;</span> <span>数据同步轮询时间(单位:分钟):&nbsp;</span>
<el-input <el-input
@ -51,17 +51,40 @@
<el-checkbox v-model="configQuery.basicThirdBusOrder"></el-checkbox> <el-checkbox v-model="configQuery.basicThirdBusOrder"></el-checkbox>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> <template slot="label">
国家库DI数
</template> </template>
<el-checkbox v-model="configQuery.orderScanFinish"></el-checkbox> <el-checkbox v-model="configQuery.dbDiProducts">DI</el-checkbox>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-descriptions class="margin-top" title="" :column="1" :size="100" style="margin-top: 30px" border>
<el-descriptions-item label="单据(单据类型)" label-style="width: 150px">
<el-checkbox-group v-model="checkedBusTypes" @change="handleCheckedChange" >
<el-checkbox
style="padding-top: 10px"
v-for="busType in busTypes" :label="busType" :key="busType.action"
:value="busType.action">{{ busType.name }}
</el-checkbox>
</el-checkbox-group>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
单据(单据状态)
</template>
<el-checkbox v-model="configQuery.orderUnCheck"></el-checkbox>
<el-checkbox v-model="configQuery.orderUnReceive"></el-checkbox>
<el-checkbox v-model="configQuery.orderScanFinish"></el-checkbox>
</el-descriptions-item>
</el-descriptions>
</el-card> </el-card>
</template> </template>
@ -69,6 +92,7 @@
<script> <script>
import {findConfig, updateConfig} from "@/api/thrsys/spsSyncStatus"; import {findConfig, updateConfig} from "@/api/thrsys/spsSyncStatus";
import store from "@/store"; import store from "@/store";
import {getBussinessType} from "@/api/basic/bussinessType";
export default { export default {
name: "SysUdimsConfig", name: "SysUdimsConfig",
@ -88,17 +112,37 @@ export default {
basicThirdBusOrder: null, basicThirdBusOrder: null,
orderScanFinish: null, orderScanFinish: null,
dbDiProducts: null, dbDiProducts: null,
downstreamEnable:null, downstreamEnable: null,
syncTime:null, syncTime: null,
orderUnCheck: null,
orderUnReceive: null,
busTypes: [],
}, },
checkedBusTypes: [],
busTypes: [],
} }
}, },
methods:{ methods: {
getConfig() { getConfig() {
findConfig() findConfig()
.then((response) => { .then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
// debugger
this.configQuery = response.data; this.configQuery = response.data;
if (this.configQuery.busTypes != null) {
for (let i = 0; i < this.configQuery.busTypes.length; i++) {
for (let k = 0; k < this.busTypes.length; k++) {
if (this.busTypes[k].action == this.configQuery.busTypes[i]) {
this.checkedBusTypes.push(this.busTypes[k]);
}
}
}
}
console.log(this.checkedBusTypes);
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
} }
@ -110,6 +154,14 @@ export default {
}); });
}, },
saveConfig() { saveConfig() {
if (this.checkedBusTypes != null) {
this.configQuery.busTypes = [];
for (let i = 0; i < this.checkedBusTypes.length; i++) {
this.configQuery.busTypes.push(this.checkedBusTypes[i].action);
}
}
updateConfig(this.configQuery) updateConfig(this.configQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
@ -123,13 +175,31 @@ export default {
}); });
}, },
handleCheckedChange() {
},
getBusType() {
let query = {
enabled: true,
};
getBussinessType(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.getConfig();
})
.catch(() => {
});
},
}, },
created() { created() {
this.headers = { this.headers = {
ADMIN_ID: store.getters.adminId, ADMIN_ID: store.getters.adminId,
ADMIN_TOKEN: store.getters.token, ADMIN_TOKEN: store.getters.token,
}; };
this.getConfig();
this.getBusType();
}, },
} }
</script> </script>

@ -1,8 +1,6 @@
<template> <template>
<div> <div>
<el-card class="el-card"> <el-card class="el-card">
<el-form :inline="true" :model="filterQuery" <el-form :inline="true" :model="filterQuery"
class="query-form" size="mini"> class="query-form" size="mini">
<el-row> <el-row>
@ -74,7 +72,7 @@
<el-table-column label="往来单位ID" prop="corpId"></el-table-column> <el-table-column label="往来单位ID" prop="corpId"></el-table-column>
<el-table-column label="往来单位" prop="corpName" <el-table-column label="往来单位" prop="corpName"
show-overflow-tooltip="true"></el-table-column> show-overflow-tooltip="true"></el-table-column>
<!-- <el-table-column label="单据状态" prop="billFlag"></el-table-column>--> <!-- <el-table-column label="单据状态" prop="billFlag"></el-table-column>-->
<el-table-column label="单据日期" prop="billdate"></el-table-column> <el-table-column label="单据日期" prop="billdate"></el-table-column>
<el-table-column label="操作" fixed="right"> <el-table-column label="操作" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
@ -107,7 +105,6 @@
<el-table-column label="批次号" prop="batchNo"></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="productDate"></el-table-column>
<el-table-column label="失效日期" prop="expireDate"></el-table-column> <el-table-column label="失效日期" prop="expireDate"></el-table-column>
<!-- <el-table-column label="单据数量" prop="reCount"></el-table-column>-->
<el-table-column label="单据数量" prop="count"></el-table-column> <el-table-column label="单据数量" prop="count"></el-table-column>
</el-table> </el-table>
</el-card> </el-card>

@ -970,7 +970,7 @@ export default {
let tQuery = { let tQuery = {
action: this.formData.billType action: this.formData.billType
} }
this.loading = true; // this.loading = true;
generateBillNoInt(tQuery) generateBillNoInt(tQuery)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;

Loading…
Cancel
Save