预验收按货位出库,库存查询新增货位,同步相关修改

prod
anthonywj 2 years ago
parent 9ddcd677ab
commit f0d3d119ab

@ -696,9 +696,10 @@ export default {
}, },
// //
findPreInInvList() { findPreInInvList(val) {
let query = { let query = {
advanceType: 2, advanceType: 2,
code: this.orderFormData.checkPreInInvCode,
} }
filterSubAll(query) filterSubAll(query)
.then((response) => { .then((response) => {
@ -713,6 +714,7 @@ export default {
let query = { let query = {
invStorageCode: val, invStorageCode: val,
status: 1, status: 1,
code: this.orderFormData.checkPreInSpaceCode,
} }
getInvSpaceList(query).then((res) => { getInvSpaceList(query).then((res) => {
this.curPreInSpaceOptions = res.data.list || []; this.curPreInSpaceOptions = res.data.list || [];

@ -58,7 +58,7 @@
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%"> <el-table v-loading="loading" :data="list" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="UDI码" label="UDI码"
@ -83,6 +83,12 @@
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column <el-table-column
label="入库数量" label="入库数量"
prop="inCount" prop="inCount"

@ -62,6 +62,7 @@
<el-form-item class="query-form-item" label="所属仓库:"> <el-form-item class="query-form-item" label="所属仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true" <el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true"
style="width: 90%" style="width: 90%"
@change="invChange"
> >
<el-option <el-option
v-for="item in invList" v-for="item in invList"
@ -73,8 +74,37 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="所属货位:">
<el-select
v-model="filterQuery.invSpaceCode"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择所属货位"
:remote-method="getSpaceList"
size="mini"
:loading="corpLoading"
style="width: 90%"
>
<el-option
v-for="item in spaceList"
: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.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" > </el-row>
<el-row>
<el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:"> <el-form-item class="query-form-item" label="供应商名称:">
<el-select <el-select
v-model="filterQuery.supId" v-model="filterQuery.supId"
@ -151,13 +181,13 @@
>详情 >详情
</el-button </el-button
> >
<!-- <el-button--> <!-- <el-button-->
<!-- type="text"--> <!-- type="text"-->
<!-- size="small"--> <!-- size="small"-->
<!-- @click.native.stop="deleteDialog(scope.row.id)"--> <!-- @click.native.stop="deleteDialog(scope.row.id)"-->
<!-- >删除--> <!-- >删除-->
<!-- </el-button--> <!-- </el-button-->
<!-- >--> <!-- >-->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -193,6 +223,7 @@ import {getInvPreProduct, deleteInvPreProduct} from "@/api/inventory/invPreProdu
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import invPreProductsDetail from "@/views/inventory/InvPreProductsDetail.vue"; import invPreProductsDetail from "@/views/inventory/InvPreProductsDetail.vue";
import {getInvSpaceList} from "@/api/inventory/invSpace";
export default { export default {
name: "InvPreProducts", name: "InvPreProducts",
@ -208,12 +239,15 @@ export default {
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: null, invCode: null,
invSpaceCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
}, },
list: [], list: [],
total: 0, total: 0,
invList: [], invList: [],
invId: null,
spaceList: [],
loading: false, loading: false,
deleteData: { deleteData: {
id: "", id: "",
@ -306,6 +340,7 @@ export default {
.then((response) => { .then((response) => {
this.invList = response.data || []; this.invList = response.data || [];
this.getList(); this.getList();
this.getSpaceList();
}) })
.catch(() => { .catch(() => {
}); });
@ -371,7 +406,35 @@ export default {
}).catch((error) => { }).catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
} },
getSpaceList() {
if (isBlank(this.filterQuery.invCode)) {
return;
}
let params = {
invWarehouseCode: this.filterQuery.invCode,
status: 1
};
getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || [];
})
},
querySearchAsync(queryString, cb) {
let restaurants = this.spaceList;
restaurants.forEach((item) => {
item.value = item.name;
})
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
if (!isBlank(queryString)) {
this.spaceSearchResult = results;
}
cb(results);
},
invChange() {
this.getSpaceList();
},
}, },
components: { components: {
invPreProductsDetail invPreProductsDetail

@ -58,7 +58,7 @@
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%"> <el-table v-loading="loading" :data="list" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column <el-table-column
label="UDI码" label="UDI码"
@ -83,6 +83,12 @@
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column <el-table-column
label="入库数量" label="入库数量"
prop="inCount" prop="inCount"

@ -62,6 +62,7 @@
<el-form-item class="query-form-item" label="所属仓库:"> <el-form-item class="query-form-item" label="所属仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true" <el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true"
style="width: 90%" style="width: 90%"
@change="invChange"
> >
<el-option <el-option
v-for="item in invList" v-for="item in invList"
@ -73,6 +74,35 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="所属货位:">
<el-select
v-model="filterQuery.invSpaceCode"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择所属货位"
:remote-method="getSpaceList"
size="mini"
:loading="corpLoading"
style="width: 90%"
>
<el-option
v-for="item in spaceList"
: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.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:"> <el-form-item class="query-form-item" label="供应商名称:">
<el-select <el-select
@ -100,7 +130,6 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="top-right-btn"> <div class="top-right-btn">
@ -208,6 +237,7 @@ import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import invProductsDetail from "@/views/inventory/InvProductsDetail.vue"; import invProductsDetail from "@/views/inventory/InvProductsDetail.vue";
import addInvRemindSetDialog from "@/views/inventory/addInvRemindSetDialog.vue"; import addInvRemindSetDialog from "@/views/inventory/addInvRemindSetDialog.vue";
import {getInvSpaceList} from "@/api/inventory/invSpace";
export default { export default {
name: "InvProducts", name: "InvProducts",
@ -223,6 +253,7 @@ export default {
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: null, invCode: null,
invSpaceCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
udiCode: null, udiCode: null,
@ -252,7 +283,8 @@ export default {
invCode: null invCode: null
}, },
addInvRemindSetDialogVisible: false, addInvRemindSetDialogVisible: false,
invId: null invId: null,
spaceList: [],
}; };
}, },
methods: { methods: {
@ -324,6 +356,7 @@ export default {
.then((response) => { .then((response) => {
this.invList = response.data || []; this.invList = response.data || [];
this.getList(); this.getList();
this.getSpaceList();
}) })
.catch(() => { .catch(() => {
}); });
@ -398,6 +431,34 @@ export default {
this.invId = null; this.invId = null;
this.addInvRemindSetDialogVisible = false; this.addInvRemindSetDialogVisible = false;
}, },
getSpaceList() {
if (isBlank(this.filterQuery.invCode)) {
return;
}
let params = {
invWarehouseCode: this.filterQuery.invCode,
status: 1
};
getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || [];
})
},
querySearchAsync(queryString, cb) {
let restaurants = this.spaceList;
restaurants.forEach((item) => {
item.value = item.name;
})
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
if (!isBlank(queryString)) {
this.spaceSearchResult = results;
}
cb(results);
},
invChange() {
this.getSpaceList();
},
}, },
components: { components: {
invProductsDetail, invProductsDetail,

@ -81,6 +81,12 @@
width="120" width="120"
show-overflow-tooltip show-overflow-tooltip
></el-table-column> ></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="120"
show-overflow-tooltip
></el-table-column>
<el-table-column <el-table-column
label="入库数量" label="入库数量"
prop="inCount" prop="inCount"

@ -62,6 +62,7 @@
<el-form-item class="query-form-item" label="所属仓库:"> <el-form-item class="query-form-item" label="所属仓库:">
<el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true" <el-select v-model="filterQuery.invCode" placeholder="请选择所属仓库" clearable="true"
style="width: 90%" style="width: 90%"
@change="invChange"
> >
<el-option <el-option
v-for="item in invList" v-for="item in invList"
@ -73,7 +74,35 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item class="query-form-item" label="所属货位:">
<el-select
v-model="filterQuery.invSpaceCode"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请选择所属货位"
:remote-method="getSpaceList"
size="mini"
:loading="corpLoading"
style="width: 90%"
>
<el-option
v-for="item in spaceList"
: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.code }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item class="query-form-item" label="供应商名称:"> <el-form-item class="query-form-item" label="供应商名称:">
<el-select <el-select
@ -187,6 +216,7 @@ import {getInvPreInProduct, deleteInvPreInProduct} from "@/api/inventory/invPreI
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"; import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {isBlank} from "@/utils/strUtil"; import {isBlank} from "@/utils/strUtil";
import invPreProductsDetail from "@/views/inventory/InvPreInProductsDetail.vue"; import invPreProductsDetail from "@/views/inventory/InvPreInProductsDetail.vue";
import {getInvSpaceList} from "@/api/inventory/invSpace";
export default { export default {
name: "InvPreProducts", name: "InvPreProducts",
@ -202,12 +232,14 @@ export default {
zczbhhzbapzbh: null, zczbhhzbapzbh: null,
ylqxzcrbarmc: null, ylqxzcrbarmc: null,
invCode: null, invCode: null,
invSpaceCode: null,
page: 1, page: 1,
limit: 10, limit: 10,
}, },
list: [], list: [],
total: 0, total: 0,
invList: [], invList: [],
spaceList: [],
loading: false, loading: false,
deleteData: { deleteData: {
id: "", id: "",
@ -300,6 +332,7 @@ export default {
.then((response) => { .then((response) => {
this.invList = response.data || []; this.invList = response.data || [];
this.getList(); this.getList();
this.getSpaceList();
}) })
.catch(() => { .catch(() => {
}); });
@ -365,7 +398,35 @@ export default {
}).catch((error) => { }).catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
} },
getSpaceList() {
if (isBlank(this.filterQuery.invCode)) {
return;
}
let params = {
invWarehouseCode: this.filterQuery.invCode,
status: 1
};
getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || [];
})
},
querySearchAsync(queryString, cb) {
let restaurants = this.spaceList;
restaurants.forEach((item) => {
item.value = item.name;
})
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;
if (!isBlank(queryString)) {
this.spaceSearchResult = results;
}
cb(results);
},
invChange() {
this.getSpaceList();
},
}, },
components: { components: {
invPreProductsDetail invPreProductsDetail

@ -6,11 +6,12 @@
<el-descriptions class="margin-top" :column="1" :size="100" border> <el-descriptions class="margin-top" :column="1" :size="100" border>
<template slot="extra"> <template slot="extra">
<el-button type="primary" size="small" @click="saveConfig()" <el-button type="primary" size="small" @click="saveConfig()"
>保存</el-button >保存
</el-button
> >
</template> </template>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 同步服务 </template> <template slot="label"> 同步服务</template>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="6" class="el-col"> <el-col :span="6" class="el-col">
<el-switch <el-switch
@ -22,7 +23,7 @@
<el-col :span="14" class="el-col"> <el-col :span="14" class="el-col">
<div> <div>
<span style="color: red" <span style="color: red"
>说明:&nbsp;修改同步参数时,请关闭数据同步服务 >说明:&nbsp;修改同步参数时,请关闭数据同步服务
</span> </span>
</div> </div>
</el-col> </el-col>
@ -30,7 +31,7 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 地址设置 </template> <template slot="label"> 地址设置</template>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col"> <el-col :span="20" class="el-col">
@ -50,7 +51,7 @@
style="margin-left: 20px" style="margin-left: 20px"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
:loading="testLoading" :loading="testLoading"
>连通性测试 >连通性测试
</el-button> </el-button>
</div> </div>
</el-col> </el-col>
@ -59,11 +60,11 @@
</el-descriptions> </el-descriptions>
</el-collapse-item> </el-collapse-item>
<!-- 上传值UDI自助平台基础数据 --> <!-- 上传值UDI自助平台基础数据 -->
<el-collapse-item title="上传至UDI自助平台基础数据" name="2"> <el-collapse-item title="基础数据同步" name="2">
<el-descriptions class="margin-top" :column="1" :size="100" border> <el-descriptions class="margin-top" :column="1" :size="100" border>
<!-- 参数设置 --> <!-- 参数设置 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 参数设置 </template> <template slot="label"> 参数设置</template>
<el-form <el-form
label-positiom="right" label-positiom="right"
label-width="200px" label-width="200px"
@ -101,7 +102,7 @@
</el-descriptions-item> </el-descriptions-item>
<!-- 系统设置信息 --> <!-- 系统设置信息 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 系统设置信息 </template> <template slot="label"> 系统设置信息</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="系统运行参数"> <el-form-item label="系统运行参数">
<el-select v-model="configQuery.systemConfig"> <el-select v-model="configQuery.systemConfig">
@ -147,7 +148,7 @@
</el-descriptions-item> </el-descriptions-item>
<!-- 单据类型 --> <!-- 单据类型 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 单据类型 </template> <template slot="label"> 单据类型</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="业务单据类型"> <el-form-item label="业务单据类型">
<el-select v-model="configQuery.typeBus"> <el-select v-model="configQuery.typeBus">
@ -174,7 +175,7 @@
</el-descriptions-item> </el-descriptions-item>
<!-- 用户信息 --> <!-- 用户信息 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 用户信息 </template> <template slot="label"> 用户信息</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="部门信息"> <el-form-item label="部门信息">
<el-select v-model="configQuery.basicDept"> <el-select v-model="configQuery.basicDept">
@ -201,7 +202,7 @@
</el-descriptions-item> </el-descriptions-item>
<!-- 基础数据 --> <!-- 基础数据 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 基础数据 </template> <template slot="label"> 基础数据</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="耗材字典"> <el-form-item label="耗材字典">
<el-select v-model="configQuery.basicProducts"> <el-select v-model="configQuery.basicProducts">
@ -226,9 +227,30 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 其他数据</template>
<el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="UDI码补齐数据">
<el-select v-model="configQuery.udiCodeLost">
<el-option :value="0" label="不同步"></el-option>
<el-option :value="1" label="由内向外"></el-option>
<el-option :value="2" label="由外向内"></el-option>
</el-select>
</el-form-item>
<el-form-item label="UDI关联关系">
<el-select v-model="configQuery.udiCodeRel">
<el-option :value="0" label="不同步"></el-option>
<el-option :value="1" label="由内向外"></el-option>
<el-option :value="2" label="由外向内"></el-option>
</el-select>
</el-form-item>
</el-form>
</el-descriptions-item>
<!-- 第三方基础信息 --> <!-- 第三方基础信息 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 第三方基础信息 </template> <template slot="label"> 第三方基础信息</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="第三方产品信息"> <el-form-item label="第三方产品信息">
<el-select v-model="configQuery.basicThirdProducts"> <el-select v-model="configQuery.basicThirdProducts">
@ -264,7 +286,7 @@
</el-descriptions-item> </el-descriptions-item>
<!-- 国家库DI数据 --> <!-- 国家库DI数据 -->
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 国家库DI数据 </template> <template slot="label"> 国家库DI数据</template>
<el-form label-positiom="right" label-width="200px" :inline="true"> <el-form label-positiom="right" label-width="200px" :inline="true">
<el-form-item label="DI产品信息"> <el-form-item label="DI产品信息">
<el-select v-model="configQuery.dbDiProducts"> <el-select v-model="configQuery.dbDiProducts">
@ -299,7 +321,7 @@
border border
> >
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 参数设置 </template> <template slot="label"> 参数设置</template>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col"> <el-col :span="20" class="el-col">
@ -328,7 +350,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click="addToInBusTypeDialog()" @click="addToInBusTypeDialog()"
>添加扫码单据类型 >添加扫码单据类型
</el-button> </el-button>
</div> </div>
<el-table :data="checkedToInBusTypes" border style="width: 100%"> <el-table :data="checkedToInBusTypes" border style="width: 100%">
@ -363,7 +385,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click.native="removeToInBus(scope.$index, scope.row)" @click.native="removeToInBus(scope.$index, scope.row)"
>移除 >移除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -381,7 +403,7 @@
border border
> >
<el-descriptions-item> <el-descriptions-item>
<template slot="label"> 参数设置 </template> <template slot="label"> 参数设置</template>
<el-row :gutter="20" class="el-row" type="flex"> <el-row :gutter="20" class="el-row" type="flex">
<el-col :span="20" class="el-col"> <el-col :span="20" class="el-col">
@ -397,7 +419,7 @@
></el-input> ></el-input>
<span style="margin-left: 30px" <span style="margin-left: 30px"
>单据下载时间间隔(单位:分钟):&nbsp;</span >单据下载时间间隔(单位:分钟):&nbsp;</span
> >
<el-input <el-input
style="width: 100px" style="width: 100px"
@ -422,7 +444,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click="addBusTypeDialog()" @click="addBusTypeDialog()"
>添加扫码单据类型 >添加扫码单据类型
</el-button> </el-button>
</div> </div>
<el-table :data="checkedBusTypes" border style="width: 100%"> <el-table :data="checkedBusTypes" border style="width: 100%">
@ -457,7 +479,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click.native="remveBus(scope.$index, scope.row)" @click.native="remveBus(scope.$index, scope.row)"
>移除 >移除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -484,7 +506,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click="addChangeBusTypeDialog()" @click="addChangeBusTypeDialog()"
>添加业务单据类型 >添加业务单据类型
</el-button> </el-button>
</div> </div>
<el-table :data="checkedChangeBusTypes" border style="width: 100%"> <el-table :data="checkedChangeBusTypes" border style="width: 100%">
@ -505,9 +527,9 @@
v-model="scope.row.orderStatus" v-model="scope.row.orderStatus"
placeholder="请选择单据状态" placeholder="请选择单据状态"
> >
<el-option label="待校验" :value="1">草稿</el-option> <el-option label="草稿" :value="1">草稿</el-option>
<el-option label="待核对" :value="2">未审核</el-option> <el-option label="未审核" :value="2">未审核</el-option>
<el-option label="审核" :value="3">已审核</el-option> <el-option label="审核" :value="3">已审核</el-option>
</el-select> </el-select>
</template> </template>
</el-table-column> </el-table-column>
@ -518,7 +540,7 @@
size="small" size="small"
:disabled="configQuery.downstreamEnable" :disabled="configQuery.downstreamEnable"
@click.native="removeChangeBus(scope.$index, scope.row)" @click.native="removeChangeBus(scope.$index, scope.row)"
>移除 >移除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -536,7 +558,8 @@
> >
<div style="float: right; margin-bottom: 10px; margin-right: 25px"> <div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addToInBusType()" <el-button type="primary" size="small" @click="addToInBusType()"
>选入</el-button >选入
</el-button
> >
</div> </div>
<el-table <el-table
@ -581,7 +604,8 @@
> >
<div style="float: right; margin-bottom: 10px; margin-right: 25px"> <div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addBusType()" <el-button type="primary" size="small" @click="addBusType()"
>选入</el-button >选入
</el-button
> >
</div> </div>
<el-table <el-table
@ -627,7 +651,8 @@
> >
<div style="float: right; margin-bottom: 10px; margin-right: 25px"> <div style="float: right; margin-bottom: 10px; margin-right: 25px">
<el-button type="primary" size="small" @click="addChangeBusType()" <el-button type="primary" size="small" @click="addChangeBusType()"
>选入</el-button >选入
</el-button
> >
</div> </div>
<el-table <el-table
@ -673,8 +698,8 @@ import {
updateConfig, updateConfig,
} from "@/api/sync/spsSyncStatus"; } from "@/api/sync/spsSyncStatus";
import store from "@/store"; import store from "@/store";
import { getBussinessType } from "@/api/basic/bussinessType"; import {getBussinessType} from "@/api/basic/bussinessType";
import { getBusTypeChangeList } from "@/api/basic/busTypeChange"; import {getBusTypeChangeList} from "@/api/basic/busTypeChange";
export default { export default {
name: "SysUdimsConfig", name: "SysUdimsConfig",
@ -720,6 +745,8 @@ export default {
printConfig: null, printConfig: null,
scanChangeConfig: null, scanChangeConfig: null,
busChangeConfig: null, busChangeConfig: null,
udiCodeLost: null,
udiCodeRel: null,
}, },
checkedBusTypes: [], checkedBusTypes: [],
checkedToInBusTypes: [], checkedToInBusTypes: [],
@ -789,7 +816,8 @@ export default {
this.loading = false; this.loading = false;
}); });
}) })
.catch(() => {}); .catch(() => {
});
}, },
testConnect() { testConnect() {
@ -822,7 +850,8 @@ export default {
this.busTypes = response.data.list || []; this.busTypes = response.data.list || [];
this.total = response.data.total || 0; this.total = response.data.total || 0;
}) })
.catch(() => {}); .catch(() => {
});
}, },
addBusTypeDialog() { addBusTypeDialog() {
@ -887,9 +916,9 @@ export default {
let selectData = this.changeBusTypeSelection; let selectData = this.changeBusTypeSelection;
selectData.forEach((obj) => { selectData.forEach((obj) => {
obj.outChange = false; obj.outChange = false;
obj.orderStatus = 7; obj.orderStatus = 3;
let isPut = true; let isPut = true;
for (let i = 0; i < this.checkedBusTypes.length; i++) { for (let i = 0; i < this.checkedChangeBusTypes.length; i++) {
if (this.checkedChangeBusTypes[i].action == obj.action) { if (this.checkedChangeBusTypes[i].action == obj.action) {
isPut = false; isPut = false;
} }
@ -948,6 +977,7 @@ export default {
/deep/ .el-select { /deep/ .el-select {
width: 100px; width: 100px;
} }
/deep/ .el-collapse-item__header { /deep/ .el-collapse-item__header {
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;

@ -41,7 +41,7 @@
</el-row> </el-row>
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%"> <el-table v-loading="loading" :data="list" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="任务ID" prop="id" width="140" show-overflow-tooltip></el-table-column> <el-table-column label="任务ID" prop="id" width="140" show-overflow-tooltip></el-table-column>
@ -58,9 +58,8 @@
</el-table-column> </el-table-column>
<el-table-column label="开始时间" width="180" prop="startTime" show-overflow-tooltip></el-table-column> <el-table-column label="开始时间" width="180" prop="startTime" show-overflow-tooltip></el-table-column>
<el-table-column label="结束时间" width="180" prop="endTime" show-overflow-tooltip></el-table-column> <el-table-column label="结束时间" width="180" prop="endTime" show-overflow-tooltip></el-table-column>
<el-table-column label="同步文件" prop="cacheFilePath" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="同步信息" prop="remark" width="180" show-overflow-tooltip></el-table-column> <el-table-column label="同步信息" prop="remark" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="同步文件" prop="cacheFilePath" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">

@ -33,13 +33,13 @@
</el-row> </el-row>
</el-form> </el-form>
<el-table v-loading="loading" :data="list" style="width: 100%"> <el-table v-loading="loading" :data="list" style="width: 100%" border>
<el-table-column label="序号" type="index"></el-table-column> <el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="任务ID" prop="taskId" width="140" show-overflow-tooltip></el-table-column> <el-table-column label="任务ID" prop="taskId" width="140" show-overflow-tooltip></el-table-column>
<el-table-column label="任务类型" prop="type" width="140" show-overflow-tooltip> <el-table-column label="任务类型" prop="type" width="140" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.type }}</span> <span>{{ scope.row.type }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" prop="status" width="140" show-overflow-tooltip> <el-table-column label="状态" prop="status" width="140" show-overflow-tooltip>
@ -50,19 +50,20 @@
</el-table-column> </el-table-column>
<el-table-column label="开始时间" width="180" prop="startTime" show-overflow-tooltip></el-table-column> <el-table-column label="开始时间" width="180" prop="startTime" show-overflow-tooltip></el-table-column>
<el-table-column label="结束时间" width="180" prop="endTime" show-overflow-tooltip></el-table-column> <el-table-column label="结束时间" width="180" prop="endTime" show-overflow-tooltip></el-table-column>
<el-table-column label="同步信息" prop="remark" show-overflow-tooltip></el-table-column> <el-table-column label="同步信息" prop="remark" show-overflow-tooltip></el-table-column>
<el-table-column label="同步文件" prop="cacheFilePath" width="180" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" fixed="right" width="160"> <el-table-column label="操作" fixed="right" width="160">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popconfirm @confirm="downFile(scope.row)" confirm-button-text='' cancel-button-text='' class="mr10" <el-popconfirm @confirm="downFile(scope.row)" confirm-button-text='' cancel-button-text='' class="mr10"
icon="el-icon-info" icon-color="blck" title="是否确认要下载文件?" v-if="scope.row.cacheFilePath"> icon="el-icon-info" icon-color="blck" title="是否确认要下载文件?" v-if="scope.row.cacheFilePath">
<el-button type="text" size="small" slot="reference">下载 <el-button type="text" size="small" slot="reference">下载
</el-button> </el-button>
</el-popconfirm> </el-popconfirm>
<el-popconfirm @confirm="deleteData(scope.row.id)" confirm-button-text='' cancel-button-text='' <el-popconfirm @confirm="deleteData(scope.row.id)" confirm-button-text='' cancel-button-text=''
icon="el-icon-info" icon-color="red" title="是否确认要删除这条数据?"> icon="el-icon-info" icon-color="red" title="是否确认要删除这条数据?">
<el-button type="text" size="small" slot="reference">删除 <el-button type="text" size="small" slot="reference">删除
</el-button> </el-button>
</el-popconfirm> </el-popconfirm>
@ -70,12 +71,12 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination :page-size="filterQuery.limit" @current-change="handleCurrentChange" layout="prev, pager, next" <el-pagination :page-size="filterQuery.limit" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total" :current-page="filterQuery.page"></el-pagination> :total="total" :current-page="filterQuery.page"></el-pagination>
</el-card> </el-card>
<el-dialog title="同步信息" width="25%" :close-on-click-modal="false" :close-on-press-escape="false" <el-dialog title="同步信息" width="25%" :close-on-click-modal="false" :close-on-press-escape="false"
:visible.sync="syncVisible"> :visible.sync="syncVisible">
<span v-text="syncInfo" style="white-space:pre-line;" class="syncInfo"></span> <span v-text="syncInfo" style="white-space:pre-line;" class="syncInfo"></span>
</el-dialog> </el-dialog>
@ -83,223 +84,225 @@
</template> </template>
<script> <script>
import { import {
filterLog, filterLog,
deleteLog, deleteLog,
findConfig, findConfig,
downloadFile downloadFile
} from "@/api/sync/spsSyncDownload"; } from "@/api/sync/spsSyncDownload";
import store from "@/store"; import store from "@/store";
import ShowText from "../sync/showText"; import ShowText from "../sync/showText";
import { import {
downloadNow downloadNow
} from "@/api/sync/spsSyncDownload"; } from "@/api/sync/spsSyncDownload";
import {infoByStatus} from "@/api/sync/spsSyncStatus";
export default { export default {
data() { data() {
return { return {
filterQuery: { filterQuery: {
taskId: null, taskId: null,
status: "1", status: null,
page: 1, page: 1,
limit: 10, limit: 10,
syncTime: null, syncTime: null,
}, },
list: [], list: [],
headers: {}, headers: {},
detailList: [], detailList: [],
thirdSys: [], thirdSys: [],
thirdSysDetail: null, thirdSysDetail: null,
total: 0, total: 0,
currentRow: null, currentRow: null,
editQuery: null, editQuery: null,
status: { status: {
1: "处理异常", 1: "处理异常",
2: "处理完成", 2: "处理完成",
}, },
configQuery: { configQuery: {
id: null, id: null,
typeBus: null, typeBus: null,
typeScan: null, typeScan: null,
typeThird: null, typeThird: null,
basicProducts: null, basicProducts: null,
basicCorp: null, basicCorp: null,
basicInv: null, basicInv: null,
basicThirdProducts: null, basicThirdProducts: null,
basicThirdCorp: null, basicThirdCorp: null,
basicThirdInv: null, basicThirdInv: null,
basicThirdBusOrder: null, basicThirdBusOrder: null,
orderScanFinish: null, orderScanFinish: null,
dbDiProducts: null, dbDiProducts: null,
downstreamEnable: null, downstreamEnable: null,
syncTime: null,
},
uploadFileUrl: null,
uploadData: {
thirdSys: "thirdId",
},
templateDlUrl: null,
checked: false,
syncTime: null, syncTime: null,
syncInfo: null, },
syncVisible: false uploadFileUrl: null,
uploadData: {
thirdSys: "thirdId",
},
templateDlUrl: null,
checked: false,
syncTime: null,
syncInfo: null,
syncVisible: false
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
taskId: null,
status: "",
page: 1,
limit: 20,
}; };
this.getList();
}, },
getList() {
methods: { this.loading = true;
onReset() { filterLog(this.filterQuery)
this.$router.push({ .then((response) => {
path: "", this.loading = false;
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
}); });
this.filterQuery = { },
taskId: null,
status: "",
page: 1,
limit: 20,
};
this.getList();
},
getList() {
this.loading = true;
filterLog(this.filterQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
getConfig() { getConfig() {
findConfig() findConfig()
.then((response) => { .then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
this.configQuery = response.data; this.configQuery = response.data;
} else { } else {
this.$message.error(response.message); this.$message.error(response.message);
} }
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
this.list = []; this.list = [];
this.total = 0; this.total = 0;
}); });
}, },
cancelDialog(val) { cancelDialog(val) {
this.udiImportDetailVisible = false; this.udiImportDetailVisible = false;
this.thrCorpSelectVisible = false; this.thrCorpSelectVisible = false;
if (val) { if (val) {
this.getList();
}
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList(); this.getList();
}, }
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
createSchedule(type) { createSchedule(type) {
let query = { let query = {
createType: type, createType: type,
syncTime: this.syncTime, syncTime: this.syncTime,
} }
createSchedule(query) createSchedule(query)
.then((response) => { .then((response) => {
this.loading = false; this.loading = false;
if (response.code == 20000) { if (response.code == 20000) {
this.$message.success("创建成功!"); this.$message.success("创建成功!");
} else if (response.code == 501) { } else if (response.code == 501) {
this.$message.warning(response.message); this.$message.warning(response.message);
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {
this.loading = false;
});
},
deleteDialog(rowId) {
this.$confirm("此操作将删除该任务信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: rowId,
};
deleteLog(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {});
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.$message.error(response.message);
this.getList();
} else {
// console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]);
this.$message.success(response.data);
this.getList();
}
},
statusFilterType(status) {
const statusMap = {
2: "success",
1: "danger",
};
return statusMap[status];
},
detailDialog(id) {
this.syncVisible = true;
this.list.forEach(item => {
if (id === item.id) {
this.syncInfo = item.remark;
}
})
},
downloadNow(type) {
//
let params = {
type: type
};
downloadNow(params).then((res) => {
if (res.code === 20000) {
this.$message.success("同步任务创建成功,稍后请刷新查看下载日志!");
} else { } else {
this.$message.error(res.message); this.$message.error(response.message);
} }
}).catch((error) => { this.getList();
this.$message.error(error.message);
}) })
}, .catch(() => {
this.loading = false;
});
},
deleteDialog(rowId) {
this.$confirm("此操作将删除该任务信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: rowId,
};
deleteLog(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {
});
},
handleChange(response, files, fileList) {
console.log(response);
if (response.code != 20000) {
this.$message.error(response.message);
this.getList();
} else {
// console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]);
this.$message.success(response.data);
this.getList();
}
},
statusFilterType(status) {
const statusMap = {
2: "success",
1: "danger",
};
return statusMap[status];
},
detailDialog(id) {
this.syncVisible = true;
this.list.forEach(item => {
if (id === item.id) {
this.syncInfo = item.remark;
}
})
},
downloadNow(type) {
//
let params = {
type: type
};
downloadNow(params).then((res) => {
if (res.code === 20000) {
this.$message.success("同步任务创建成功,稍后请刷新查看下载日志!");
} else {
this.$message.error(res.message);
}
}).catch((error) => {
this.$message.error(error.message);
})
},
downFile(rows) { downFile(rows) {
downloadFile({ infoByStatus({
'id': rows.id 'id': rows.id
}).then(res => { }).then(res => {
let blob = new Blob([res]) let blob = new Blob([res])
@ -314,49 +317,50 @@
document.body.removeChild(link) document.body.removeChild(link)
}) })
}, },
}, },
mounted() {}, mounted() {
components: { },
ShowText components: {
}, ShowText
created() { },
this.headers = { created() {
ADMIN_ID: store.getters.adminId, this.headers = {
ADMIN_TOKEN: store.getters.token, ADMIN_ID: store.getters.adminId,
}; ADMIN_TOKEN: store.getters.token,
this.getList(); };
this.getConfig(); this.getList();
}, this.getConfig();
}; },
};
</script> </script>
<style scoped> <style scoped>
.itemTag { .itemTag {
float: left; float: left;
text-align: left; text-align: left;
margin-top: 10px; margin-top: 10px;
width: 100px; width: 100px;
} }
.text { .text {
font-size: 13px; font-size: 13px;
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
} }
.el-row { .el-row {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.el-col { .el-col {
border-radius: 4px; border-radius: 4px;
flex-wrap: wrap; flex-wrap: wrap;
} }
.syncInfo { .syncInfo {
font-size: medium; font-size: medium;
font-family: "Microsoft YaHei"; font-family: "Microsoft YaHei";
line-height: 25px; line-height: 25px;
} }
</style> </style>

Loading…
Cancel
Save